From e4c79c0801486a488c219662c0098e23c4f68a34 Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Thu, 14 Mar 2024 11:44:33 +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 | 47 ++++++++++++++----- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/src/WMS.Web.Domain/Services/InStockTaskService.cs b/src/WMS.Web.Domain/Services/InStockTaskService.cs index 0504134d..346d4969 100644 --- a/src/WMS.Web.Domain/Services/InStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/InStockTaskService.cs @@ -485,14 +485,11 @@ namespace WMS.Web.Domain.Services //2.遍历已有的任务单 if (data_list.Count != 0) { - //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) - { + foreach (var erp_data in erp_list) + { + data_list.SelectMany(s => s.Details).Where(x => x.ErpDetailId == erp_data.ErpDetailId).ToList().ForEach(det => + { //2.1.2物料相同的,就改变数值 if (det.MaterialId == erp_data.MaterialId) { @@ -510,10 +507,38 @@ namespace WMS.Web.Domain.Services } //操作完后剔除 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) @@ -573,8 +598,8 @@ namespace WMS.Web.Domain.Services if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); - //2.4剔除:已修改的单据 - foreach (var item in erp_removeList) + //2.4剔除:已修改的单据 + foreach (var item in erp_removeList.Distinct().ToList()) erp_list.Remove(item); //3.wms任务单的来源单据编号不存在于erp中,那么就新增