修正快速報名

This commit is contained in:
2026-09-09 16:51:48 +08:00
parent 52a10420ae
commit fa0ab417e1
6 changed files with 723 additions and 244 deletions
+68 -10
View File
@@ -1,4 +1,5 @@
using DocumentFormat.OpenXml.Drawing.Charts;
using DocumentFormat.OpenXml.Spreadsheet;
using Model;
using MyWeb;
using Newtonsoft.Json;
@@ -227,6 +228,8 @@ public class orderController : ApiController
var hasList = _db.pro_order.AsNoTracking().Where(x => x.activity_num == po.activity_num).AsNoTracking().ToList();
var actItemList=_db.activity_relating.AsNoTracking().Where(x=>x.activity_num==po.activity_num).AsNoTracking().ToList();
List<int> rp=new List<int>();
string print_id=string.Empty;
var items = _db.actItems.AsQueryable();
//要檢查是否已經報名
foreach (var item in list)
{
@@ -254,8 +257,10 @@ public class orderController : ApiController
item.up_time= DateTime.Now;
item.order_no= createOrderNumber();
item.activity_num= po.activity_num;
item.activity = act;
print_id=string.Empty;
_db.pro_order.Add(item);
_db.SaveChanges();
orders.Add(item);
foreach (var detail in item.pro_order_detail)
{
@@ -286,17 +291,41 @@ public class orderController : ApiController
detail.start_date= act.startDate_solar;
detail.due_date= act.endDate_solar;
detail.printed_files = "";
detail.print_id= GenerateSequentialId(detail, item);
detail.actItem_num = actItem.num;
//if (string.IsNullOrEmpty(print_id))
//{
// print_id = GenerateSequentialId(detail, item);
//}
//else
//{
// string last_three = print_id.Substring(print_id.Length - 3);
// if (int.TryParse(last_three, out int result))
// {
// print_id = print_id.Substring(0, print_id.Length - 3) + string.Format("{0:D3}", result + 1);
// }
// else
// {
// string last_two = print_id.Substring(print_id.Length - 2);
// if (int.TryParse(last_two, out int result1))
// {
// print_id = print_id.Substring(0, print_id.Length - 2) + string.Format("{0:D2}", result1 + 1);
// }
// }
//}
var defaultStyle=items.Where(i => i.num == detail.actItem_num).Select(i=>i.defaultStyle).FirstOrDefault();
detail.style = defaultStyle==null?"":defaultStyle;
detail.print_id = GenerateSequentialId(detail, item);
_db.pro_order_detail.Add(detail);
_db.SaveChanges();
}
}
//_db.pro_order.AddRange(orders);
//_db.SaveChanges();
//_db.pro_order_detail.AddRange(order_details);
_db.SaveChanges();
return Ok(new {result="Y",message="完成",data=rp});
}
catch (Exception ex)
@@ -979,7 +1008,7 @@ public class orderController : ApiController
var last_order = _db.pro_order.Where(x => x.order_no == last_order_no).FirstOrDefault();
if (last_order != null)
{
var activity = _db.activities.Where(z => z.num == item.activity_num).FirstOrDefault();
new_pro_order.up_time = DateTime.Now;
new_pro_order.reg_time = DateTime.Now;
new_pro_order.phone = last_order.phone;
@@ -991,13 +1020,17 @@ public class orderController : ApiController
new_pro_order.customize_data = last_order.customize_data;
new_pro_order.send_receipt = last_order.send_receipt;
new_pro_order.receipt_title = last_order.receipt_title;
new_pro_order.activity = activity;
_db.pro_order.Add(new_pro_order);
var items = _db.actItems.AsQueryable();
string print_id = "";
//判斷如果details只有一個,要檢查是否為功德主,是的話撈出牌位,做成功德主底下的
foreach (var item1 in details)
{//如果item1 change_item_num 有值且不為0,表示要複製過來
var last_detail = _db.pro_order_detail.Where(x => x.num == item1.num).FirstOrDefault();
var detail = new pro_order_detail();
detail.order_no = new_pro_order.order_no;
detail.actItem_num = (item1.change_item_num!=null&&item1.change_item_num!=0)?item1.change_item_num: last_detail.actItem_num;
detail.f_num_tablet = last_detail.f_num_tablet;
@@ -1005,14 +1038,39 @@ public class orderController : ApiController
detail.price = (item1.change_item_num != null && item1.change_item_num != 0) ? item1.price : last_detail.price;
detail.qty = (item1.change_item_num != null && item1.change_item_num != 0) ? item1.qty : last_detail.qty;
detail.printed_files = "";//(item1.change_item_num != null && item1.change_item_num != 0) ? item1.printed_files : last_detail.printed_files;
detail.style = (item1.change_item_num != null && item1.change_item_num != 0) ? item1.style : last_detail.style;
//要改抓回牌位的預設版型
var defaultStyle = items.Where(i => i.num == detail.actItem_num).Select(i => i.defaultStyle).FirstOrDefault();
detail.style = defaultStyle == null ? "" : defaultStyle;
//detail.style = (item1.change_item_num != null && item1.change_item_num != 0) ? item1.style : last_detail.style;
detail.UpdateTime = DateTime.Now;
detail.start_date = DateTime.Now;//這兩個要用活動的
detail.due_date = DateTime.Now;//
detail.print_id= GenerateSequentialId(detail, new_pro_order);
// //因為還沒進資料庫,所以會跑出一樣的號碼
//if (string.IsNullOrEmpty(print_id))
//{
// print_id = GenerateSequentialId(detail, new_pro_order);
//}
//else
//{
// string last_three = print_id.Substring(print_id.Length - 3);
// if (int.TryParse(last_three, out int result))
// {
// print_id = print_id.Substring(0,print_id.Length - 3)+string.Format("{0:D3}",result+1);
// }
// else
// {
// string last_two = print_id.Substring(print_id.Length - 2);
// if (int.TryParse(last_two, out int result1))
// {
// print_id = print_id.Substring(0, print_id.Length - 2) + string.Format("{0:D2}", result1 + 1);
// }
// }
//}
detail.print_id =GenerateSequentialId(detail, new_pro_order);
_db.pro_order_detail.Add(detail);
_db.SaveChanges();
}
_db.SaveChanges();
return Ok(new
{
result = "Y",