From ca82a36a9511ef5a50bd339e87ec467385f325f6 Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Tue, 12 Mar 2024 15:11:48 +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 | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/WMS.Web.Domain/Services/InStockTaskService.cs b/src/WMS.Web.Domain/Services/InStockTaskService.cs index df4d0f74..e7ea5113 100644 --- a/src/WMS.Web.Domain/Services/InStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/InStockTaskService.cs @@ -492,28 +492,37 @@ namespace WMS.Web.Domain.Services var erp_data = erp_list.Where(x => x.ErpDetailId == det.ErpDetailId).FirstOrDefault(); if (erp_data != null) { - //2.1.1当物料相同,仓库不同或者物料不同,就新增一条明细 + //2.1.2物料相同的,就改变数值 - if (det.MaterialId != erp_data.MaterialId || (det.MaterialId == erp_data.MaterialId && det.StockCode != erp_data.StockCode)) - { - //老物料,应收数量修改为0 - det.AccruedQty = 0; - //当物料相同,仓库不同或者物料不同,就新增一条明细 - erp_addDetailsList.Add(erp_data); - } - else if (det.MaterialId == erp_data.MaterialId) + 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) + { + // if (det.MaterialId != erp_data.MaterialId || (det.MaterialId == erp_data.MaterialId && det.StockCode != erp_data.StockCode)) + var IsHaveNewMaterial = data_list.SelectMany(s => s.Details).Where(x => x.ErpDetailId == erp_data.ErpDetailId && erp_data.MaterialId==x.MaterialId).Any(); + if(!IsHaveNewMaterial) + //当物料相同,仓库不同或者物料不同,就新增一条明细 + erp_addDetailsList.Add(erp_data); + } + //2.2遍历任务单:添加新的明细 data_list.ForEach(order => {