diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/_options.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/_options.js index d4216156..940222c0 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/_options.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/_options.js @@ -15,6 +15,7 @@ const stateOptions = [ { value: 3, label: "财务已审核" }, { value: 4, label: "客户已收票" }, { value: 5, label: "已扣减" }, + { value: 6, label: "已提交扣减" }, ]; const state = { title: "状态", type: "string", input: "select", options: stateOptions }; const state2 = Object.assign(Object.assign({}, state), { options: stateOptions.filter((a) => parseInt(a.value) > 0) }); diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/PendingDeductionService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/PendingDeductionService.cs index 07b71e79..b55db613 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/PendingDeductionService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/PendingDeductionService.cs @@ -137,10 +137,6 @@ public class PendingDeductionService : ApplicationService, ITransientDependency, } Sync(bjlist, EnumDeliverBjBmpBillType.北汽4S备件, isout == "out" ? true : false); } - - - - } } else if (type == "JisHBPO" || type == "ZhiGongJianHBPO" || type == "MaiDanJianHBPO") @@ -177,24 +173,26 @@ public class PendingDeductionService : ApplicationService, ITransientDependency, return id.ToString(); } - public List GetPagedData(List dataList, int pageNumber, int pageSize) - { - int startIndex = (pageNumber - 1) * pageSize; + //public List GetPagedData(List dataList, int pageNumber, int pageSize) + //{ + // int startIndex = (pageNumber - 1) * pageSize; - return dataList.Skip(startIndex).Take(pageSize).ToList(); - } - public int CalculatePageCount(int totalCount, int pageSize) - { - int pageCount = totalCount / pageSize; - if (totalCount % pageSize != 0) - { - pageCount += 1; - } - return pageCount; - } + // return dataList.Skip(startIndex).Take(pageSize).ToList(); + //} + //public int CalculatePageCount(int totalCount, int pageSize) + //{ + // int pageCount = totalCount / pageSize; + // if (totalCount % pageSize != 0) + // { + // pageCount += 1; + // } + // return pageCount; + //} public void Sync(List p_ls, EnumDeliverBjBmpBillType bussinessType, bool flag=true) where T : PD_BASE,new() { + + var query = from itm in p_ls select new VmiLog() { @@ -218,8 +216,6 @@ public class PendingDeductionService : ApplicationService, ITransientDependency, ErpToLoc = itm.Extend2, //寄售库 }; var ls = query.ToList(); - - foreach (var itm in ls) { itm.SetId(GuidGenerator.Create()); @@ -232,11 +228,7 @@ public class PendingDeductionService : ApplicationService, ITransientDependency, // 执行批量数据操作 if (ls != null && ls.Count > 0) { - - var messagelist = new List(); - - foreach (var item in ls) { var message = new VmiMessage @@ -245,41 +237,122 @@ public class PendingDeductionService : ApplicationService, ITransientDependency, }; messagelist.Add(message); } + _dbcontext.BulkInsert(messagelist); + _dbcontext.BulkInsert(ls, new BulkConfig() { }); + var billList = p_ls.Select(p => p.BillNum).Distinct().ToList(); + var pdList = _dbcontext.Set().Where(p => billList.Contains(p.BillNum)).ToList(); + if (pdList.Count > 0) + { + foreach (var item in pdList) + { + if (flag == true) + { + item.State = SettleBillState.已扣减; + } + else + { + item.State = SettleBillState.客户已收票; + } - _dbcontext.BulkInsert(messagelist); - _dbcontext.BulkInsert(ls,new BulkConfig() { }); - - - - //var count = CalculatePageCount(ls.Count, 2000); - //for (int pagenumber = 0; pagenumber < count; pagenumber++) - //{ - // var lst = GetPagedData(ls, pagenumber++, 2000); - // var messagelist= new List(); - // foreach (var item in lst) - // { - // var message = new VmiMessage - // { - // Message = System.Text.Json.JsonSerializer.Serialize(item), - // }; - // messagelist.Add(message); - // } - // _dbcontext.BulkInsert(messagelist); - // _dbcontext.BulkInsert(lst,new BulkConfig() { }); - // Task.Delay(500); - //} + } + _dbcontext.BulkUpdate(pdList); + } + var bbacList = _dbcontext.Set().Where(p => billList.Contains(p.BillNum)).ToList(); + if (bbacList.Count > 0) + { + foreach (var item in bbacList) + { + if (flag == true) + { + item.State = SettleBillState.已扣减; + } + else + { + item.State = SettleBillState.客户已收票; + } + } + _dbcontext.BulkUpdate(bbacList); + } + var hbpoList = _dbcontext.Set().Where(p => billList.Contains(p.BillNum)).ToList(); + if (hbpoList.Count > 0) + { + foreach (var item in hbpoList) + { + if (flag == true) + { + item.State = SettleBillState.已扣减; + } + else + { + item.State = SettleBillState.客户已收票; + } + } + _dbcontext.BulkUpdate(hbpoList); + } } // 提交事务 transaction.Commit(); } catch (Exception) { + var billList = p_ls.Select(p => p.BillNum).Distinct().ToList(); + var pdList = _dbcontext.Set().Where(p => billList.Contains(p.BillNum)).ToList(); + if (pdList.Count > 0) + { + foreach (var item in pdList) + { + if (flag == true) + { + item.State = SettleBillState.客户已收票; + } + else + { + item.State = SettleBillState.已扣减; + + } + + } + _dbcontext.BulkUpdate(pdList); + } + var bbacList = _dbcontext.Set().Where(p => billList.Contains(p.BillNum)).ToList(); + if (bbacList.Count > 0) + { + foreach (var item in bbacList) + { + if (flag == true) + { + item.State = SettleBillState.客户已收票; + } + else + { + item.State = SettleBillState.已扣减; + + } + } + _dbcontext.BulkUpdate(bbacList); + } + var hbpoList = _dbcontext.Set().Where(p => billList.Contains(p.BillNum)).ToList(); + if (hbpoList.Count > 0) + { + foreach (var item in hbpoList) + { + if (flag == true) + { + item.State = SettleBillState.客户已收票; + } + else + { + item.State = SettleBillState.已扣减; + + } + } + _dbcontext.BulkUpdate(hbpoList); + } // 回滚事务 transaction.Rollback(); throw; } - } - + } }