批次報名 統計報表修正

This commit is contained in:
2026-06-03 16:36:52 +08:00
parent 8affaaf344
commit 08d8e27bc9
10 changed files with 449 additions and 56 deletions
+92
View File
@@ -9,11 +9,13 @@ using System;
using System.Activities.Expressions;
using System.Collections;
using System.Collections.Generic;
using System.Data.Entity;
using System.Diagnostics;
using System.IdentityModel.Metadata;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Web.Helpers;
using System.Web.Http;
using static TreeView;
@@ -206,6 +208,90 @@ public class orderController : ApiController
return count;
}
[HttpPost]
[Route("api/order/BatchSave")]
public IHttpActionResult BatchSave([FromBody] Model.ViewModel.pro_order po)
{
try
{
var query = _db.pro_order.AsNoTracking().Where(x => x.activity_num == po.old_activity_num).AsQueryable();
query = query.Include(x => x.pro_order_detail).AsNoTracking();
query = query.Where(x => po.orders.Contains(x.order_no));
var list = query.ToList();
List<Model.pro_order> orders = new List<Model.pro_order>();
List<Model.pro_order_detail> order_details = new List<pro_order_detail>();
var act=_db.activities.Where(x=>x.num==po.activity_num).FirstOrDefault();
var hasList = _db.pro_order.AsNoTracking().Where(x => x.activity_num == po.activity_num).AsNoTracking().ToList();
List<int> rp=new List<int>();
//要檢查是否已經報名
foreach (var item in list)
{
var already=hasList.Where(x => x.f_num == item.f_num).FirstOrDefault();
if (already != null&&!string.IsNullOrEmpty(already.order_no))
{
rp.Add((int)already.f_num);
continue;
}
//Model.pro_order order = new Model.pro_order();
//order.phone = item.phone;
//order.follower1 = item.follower1;
//order.address = item.address;
//order.activity_num = po.activity_num;
//order.up_time = DateTime.Now;
//order.reg_time = DateTime.Now;
////order.follower = item.follower;//加了會去寫followers
//order.f_num = item.f_num;
//order.keyin1 = item.keyin1;
//order.introducer = item.introducer;
//order.send_receipt = item.send_receipt;
//order.receipt_title = item.receipt_title;
//order.order_no = createOrderNumber();
item.reg_time= DateTime.Now;
item.up_time= DateTime.Now;
item.order_no= createOrderNumber();
item.activity_num= po.activity_num;
_db.pro_order.Add(item);
orders.Add(item);
foreach (var detail in item.pro_order_detail)
{
//Model.pro_order_detail order_detail = new Model.pro_order_detail();
//order_detail.order_no = order.order_no;
//order_detail.actItem_num = detail.actItem_num;
//order_detail.parent_num = detail.parent_num;
//order_detail.print_id = detail.print_id;
//order_detail.f_num = detail.f_num;
//order_detail.f_num_tablet = detail.f_num_tablet;
//order_detail.from_id = detail.from_id;
//order_detail.from_id_tablet = detail.from_id_tablet;
//order_detail.price = detail.price;
//order_detail.qty = detail.qty;
//order_detail.printed_files = detail.printed_files;
//order_detail.style = detail.style;
//order_detail.UpdateTime=DateTime.Now;
//order_details.Add(order_detail);
detail.order_no=item.order_no;
detail.UpdateTime= DateTime.Now;
detail.start_date= act.startDate_solar;
detail.due_date= act.endDate_solar;
_db.pro_order_detail.Add(detail);
}
}
//_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)
{
return Ok(new { result = "Y",message=ex.Message+ex.StackTrace });
}
}
[HttpPost]
[Route("api/order/AddOrderWithDetail")]
public IHttpActionResult AddOrderWithDetail([FromBody] Model.ViewModel.pro_order q)
@@ -461,6 +547,12 @@ public class orderController : ApiController
qry = qry.OrderByDescending(o => o.reg_time);
var count = qry.Count(); //pageSize = count;//一次取回??
if (pageSize==-1)
{
pageSize = count;
}
if(pageSize==0)
pageSize = 10;
var ret = new
{
list = qry.ToPagedList(page, pageSize).Select(x => new