diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index ce054268..bacbb8c0 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -822,7 +822,7 @@ namespace WMS.Web.Domain.Services _logger.LogInformation($"入库单->审核失败 单号:{billNo} erp明细Id:{erpDetail.ErpDetailId} 错误:{resSubmit.Message}"); return (resSubmit, SyncStatus.CheckFail, o_dto.Numbers.First()); } - _logger.LogInformation($"同步金蝶成功"); + _logger.LogInformation($"入库单->同步金蝶成功->单号:{billNo} erp明细Id:{erpDetail.ErpDetailId}"); return (Result.ReSuccess(), SyncStatus.Success, o_dto.Numbers.First()); } diff --git a/src/WMS.Web.Domain/Services/InStockTaskService.cs b/src/WMS.Web.Domain/Services/InStockTaskService.cs index 4c184b5d..d2766189 100644 --- a/src/WMS.Web.Domain/Services/InStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/InStockTaskService.cs @@ -308,37 +308,37 @@ namespace WMS.Web.Domain.Services } } - //// - //var noMartDetails = new List(); - //var data_list_details_new = data_list.SelectMany(x => x.Details).ToList(); - //data_list_details_new.ForEach(x => - //{ - // //2.1.1对比erp的物料信息 - // var erp_data = erp_list.Where(t => t.ErpDetailId == x.ErpDetailId).FirstOrDefault(); - // if (erp_data != null) - // { - // if (erp_data.MaterialId != x.MaterialId) - // { - // //明细的物料改变了:新的物料重新添加一条明细 - // var Add_task_no_materials = _mapper.Map(erp_data); - // noMartDetails.Add(Add_task_no_materials); - // //给老的物料应收数量改为0 - // x.AccruedQty = 0; - // } - // } - // else - // { - // x.AccruedQty = 0; - // } - //}); - ////明细的物料改变了:新的物料重新添加一条明细 - //if (noMartDetails.Count != 0) - //{ - // foreach (var item in noMartDetails) - // { - // data_list_details_new.Add(item); - // } - //} + //金蝶修改了物料:老物料,应收数量修改为0,新物料新增一条 + var noMartDetails = new List(); + var data_list_details_new = data_list.SelectMany(x => x.Details).ToList(); + data_list_details_new.ForEach(x => + { + //2.1.1对比erp的物料信息 + var erp_data = erp_list.Where(t => t.ErpDetailId == x.ErpDetailId).FirstOrDefault(); + if (erp_data != null) + { + if (erp_data.MaterialId != x.MaterialId) + { + //明细的物料改变了:新的物料重新添加一条明细 + var Add_task_no_materials = _mapper.Map(erp_data); + noMartDetails.Add(Add_task_no_materials); + //给老的物料应收数量改为0 + x.AccruedQty = 0; + } + } + else + { + x.AccruedQty = 0; + } + }); + //明细的物料改变了:新的物料重新添加一条明细 + if (noMartDetails.Count != 0) + { + foreach (var item in noMartDetails) + { + data_list_details_new.Add(item); + } + } //2.2.提交修改 var isSuccess = await _inStockTaskRepositories.UpdateRange(data_list, isTransaction);