diff --git a/src/WMS.Web.Domain/Services/InStockTaskService.cs b/src/WMS.Web.Domain/Services/InStockTaskService.cs index dfa6c1f7..3b77095a 100644 --- a/src/WMS.Web.Domain/Services/InStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/InStockTaskService.cs @@ -542,7 +542,8 @@ namespace WMS.Web.Domain.Services { _logger.LogInformation("拉取金蝶数据:SysnDataNew3->" + JsonConvert.SerializeObject(erp_data)); //老物料,应收数量修改为0 - det.AccruedQty = 0; + det.AccruedQty = 0; + } //操作完后剔除 erp_removeList.Add(erp_data); @@ -556,25 +557,19 @@ namespace WMS.Web.Domain.Services 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.Where(x=>x.SourceBillNo==erp_data.BillNo).SelectMany(s => s.Details).Where(x =>x.ErpDetailId == erp_data.ErpDetailId && erp_data.MaterialId == x.MaterialId).Any(); - var IsHaveNewErpDetId = data_list.Where(x => x.SourceBillNo == erp_data.BillNo).SelectMany(s => s.Details).Where(x => x.ErpDetailId != erp_data.ErpDetailId).Any(); + var IsHaveNewMaterial = data_list.Where(x => x.SourceBillNo == erp_data.BillNo).SelectMany(s => s.Details).Where(x => x.ErpDetailId == erp_data.ErpDetailId && erp_data.MaterialId == x.MaterialId).Any(); + if (!IsHaveNewMaterial) { //当物料相同,仓库不同或者物料不同,就新增一条明细 - erp_addDetailsList.Add(erp_data); - } - if (IsHaveNewErpDetId) - { - //当物料相同,明细不同新增一条明细 erp_addDetailsList.Add(erp_data); - //操作完后剔除 - erp_removeList.Add(erp_data); } - + } + //去重 - var erp_addDetailsList_group= erp_addDetailsList.Distinct().ToList(); + var erp_addDetailsList_group = erp_addDetailsList.Distinct().ToList(); //2.2遍历任务单:添加新的明细 data_list.ForEach(order =>