diff --git a/src/WMS.Web.Domain/Services/InStockTaskService.cs b/src/WMS.Web.Domain/Services/InStockTaskService.cs index dd07f3db..0504134d 100644 --- a/src/WMS.Web.Domain/Services/InStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/InStockTaskService.cs @@ -492,7 +492,7 @@ namespace WMS.Web.Domain.Services var erp_data = erp_list.Where(x => x.ErpDetailId == det.ErpDetailId).FirstOrDefault(); if (erp_data != null) { - + //2.1.2物料相同的,就改变数值 if (det.MaterialId == erp_data.MaterialId) { @@ -506,11 +506,13 @@ namespace WMS.Web.Domain.Services else { //老物料,应收数量修改为0 - det.AccruedQty = 0; + det.AccruedQty = 0; } //操作完后剔除 erp_removeList.Add(erp_data); } + + }); //2.1.1当物料相同,仓库不同或者物料不同,就新增一条明细 @@ -535,6 +537,8 @@ namespace WMS.Web.Domain.Services } }); + + //2.3遍历任务单:改变任务单的状态 data_list.ForEach(order => { @@ -547,6 +551,21 @@ namespace WMS.Web.Domain.Services else if(AccruedQtyTotal<= RealityQtyTotal) order.Status = InstockStatus.Already; }); + + //2.4金蝶删除的明细,要把任务单里的明细应入库数量改为0 + data_list.SelectMany(s => s.Details).ToList().ForEach(det => + { + + var order = data_list.Where(order => order.Id == det.Fid).FirstOrDefault(); + if (order != null) + { + var erp_list_details = erp_list.Where(erpData => erpData.BillNo == order.SourceBillNo).ToList(); + var ishaveNodetails = erp_list_details.Where(epd => epd.ErpDetailId != det.ErpDetailId).Any(); + if (ishaveNodetails) + det.AccruedQty = 0; + } + }); + } //2.3.提交任务单的修改