From 04696c9e44a8089a9fddf14974a7506bba135243 Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Thu, 14 Mar 2024 13:01:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/InStockTaskService.cs | 87 +++++-------------- 1 file changed, 22 insertions(+), 65 deletions(-) diff --git a/src/WMS.Web.Domain/Services/InStockTaskService.cs b/src/WMS.Web.Domain/Services/InStockTaskService.cs index dba52070..21e973b8 100644 --- a/src/WMS.Web.Domain/Services/InStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/InStockTaskService.cs @@ -485,61 +485,34 @@ namespace WMS.Web.Domain.Services //2.遍历已有的任务单 if (data_list.Count != 0) { - - foreach (var erp_data in erp_list) + //2.1遍历任务单明细:改变已有的值和要添加的明细 + foreach (var data_item in data_list) { - data_list.SelectMany(s => s.Details).Where(x => x.ErpDetailId == erp_data.ErpDetailId).ToList().ForEach(det => + foreach (var det in data_item.Details) { - //2.1.2物料相同的,就改变数值 - if (det.MaterialId == erp_data.MaterialId) + var erp_data = erp_list.FirstOrDefault(a => a.ErpDetailId == det.ErpDetailId && a.BillNo==data_item.SourceBillNo); + if (erp_data != null) { - //物料相同的,就改变数值 - det.Remark = erp_data.Remark; - det.AccruedQty = erp_data.Qty; - det.FactoryPrice = erp_data.FactoryPrice; - det.DeliveredQty = erp_data.DeliveredQty; + if (erp_data.MaterialId == det.MaterialId) + { + //物料相同的,就改变数值 + det.Remark = erp_data.Remark; + det.AccruedQty = erp_data.Qty; + det.FactoryPrice = erp_data.FactoryPrice; + det.DeliveredQty = erp_data.DeliveredQty; + } + else + { + //老物料,应收数量修改为0 + det.AccruedQty = 0; + } + //操作完后剔除 + erp_removeList.Add(erp_data); + } - } - else - { - //老物料,应收数量修改为0 - det.AccruedQty = 0; - } - //操作完后剔除 - erp_removeList.Add(erp_data); - }); + } } - ////2.1遍历任务单明细:改变已有的值和要添加的明细 - //data_list.SelectMany(s => s.Details).ToList().ForEach(det => - //{ - // //2.1去当前erp的明细 - // 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) - // { - // //物料相同的,就改变数值 - // det.Remark = erp_data.Remark; - // det.AccruedQty = erp_data.Qty; - // det.FactoryPrice = erp_data.FactoryPrice; - // det.DeliveredQty = erp_data.DeliveredQty; - - // } - // else - // { - // //老物料,应收数量修改为0 - // det.AccruedQty = 0; - // } - // //操作完后剔除 - // erp_removeList.Add(erp_data); - // } - - - //}); - //2.1.1当物料相同,仓库不同或者物料不同,就新增一条明细 foreach (var erp_data in erp_list) { @@ -562,8 +535,6 @@ namespace WMS.Web.Domain.Services } }); - - //2.3遍历任务单:改变任务单的状态 data_list.ForEach(order => { @@ -581,20 +552,6 @@ namespace WMS.Web.Domain.Services //2.4金蝶删除的明细,要把任务单里的明细应入库数量改为0 data_list.SelectMany(x => x.Details).Where(c => !erp_list.Any(a => a.ErpDetailId == c.ErpDetailId)).ToList().ForEach(x => { x.AccruedQty = 0; }); - ////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.提交任务单的修改