From 904c659d53e0a20b6c2135255bc693d5cce5243d Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Thu, 30 Nov 2023 12:05:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E5=90=8C=E6=AD=A5=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/InStockTaskController.cs | 5 ++++- src/WMS.Web.Domain/Services/InStockTaskService.cs | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/WMS.Web.Api/Controllers/InStockTaskController.cs b/src/WMS.Web.Api/Controllers/InStockTaskController.cs index 49a10ff2..50641b09 100644 --- a/src/WMS.Web.Api/Controllers/InStockTaskController.cs +++ b/src/WMS.Web.Api/Controllers/InStockTaskController.cs @@ -110,8 +110,11 @@ namespace WMS.Web.Api.Controllers [Route("Refresh")] public async Task Refresh([FromBody] OperateRequest dto) { + //去重 + var ids = dto.Ids.GroupBy(x => x).Select(x=>x.Key).ToList(); + //1.先找到任务单-并找到来源单集 - var tasks= await _inStockTaskRepositories.GetList(dto.Ids); + var tasks= await _inStockTaskRepositories.GetList(ids); var sourcesBillNos = tasks.Select(x => x.SourceBillNo).ToList(); //2.同步金蝶 diff --git a/src/WMS.Web.Domain/Services/InStockTaskService.cs b/src/WMS.Web.Domain/Services/InStockTaskService.cs index 3d6f6d88..603cbbda 100644 --- a/src/WMS.Web.Domain/Services/InStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/InStockTaskService.cs @@ -266,11 +266,25 @@ namespace WMS.Web.Domain.Services var data_list = await _inStockTaskRepositories.GetListBy(SourceBillNo_list); if (data_list.Count != 0) { + data_list.ForEach(x => + { + var erp_list_dets= erp_list.Where(t => t.BillNo == x.SourceBillNo).ToList(); + if (erp_list_dets != null && erp_list_dets.Count != 0 && erp_list_dets.Count > x.Details.Count) + { + var xd_mids=x.Details.Select(xd => xd.MaterialId).ToList(); + var task_no_materials= erp_list_dets.Where(ed => !xd_mids.Contains(ed.MaterialId)).ToList(); + var Add_task_no_materials= _mapper.Map>(task_no_materials); + x.Details.AddRange(Add_task_no_materials); + } + }); + //2.1提取出wms任务单明细信息 var data_list_details = data_list.SelectMany(x => x.Details).ToList(); foreach (var item in data_list_details) { var data = data_list.Where(x => x.Id == item.Fid).FirstOrDefault(); + if (data == null) + continue; //2.1.1对比erp的物料信息 var erp_data = erp_list.Where(x => x.BillNo == data.SourceBillNo && x.MaterialId == item.MaterialId).FirstOrDefault(); @@ -278,6 +292,7 @@ namespace WMS.Web.Domain.Services { //2.1.2修改数量 item.AccruedQty = erp_data.Qty; + item.FactoryPrice = erp_data.FactoryPrice; item.DeliveredQty = erp_data.DeliveredQty> item.DeliveredQty? erp_data.DeliveredQty: item.DeliveredQty; erp_remove_billNo.Add(data.SourceBillNo); }