From 252e7926ac7d400c4b1ff4e27df0ffaa52bad8f4 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Wed, 6 Mar 2024 11:31:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Domain/Services/OutStockTaskService.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/WMS.Web.Domain/Services/OutStockTaskService.cs b/src/WMS.Web.Domain/Services/OutStockTaskService.cs index 692d3058..8a6dd5a7 100644 --- a/src/WMS.Web.Domain/Services/OutStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/OutStockTaskService.cs @@ -108,6 +108,8 @@ namespace WMS.Web.Domain.Services var sourcNos = outStockTask.Details.SelectMany(s => s.ErpDetails).Select(s => s.SourceBillNo).ToList(); //仓库不同 拆分成不同的任务单 var erps = erp_list.Where(w => sourcNos.Contains(w.SourceBillNo) && w.StockCode.Equals(outStockTask.StockCode)).ToList(); + //比对数据 + SsynDateComparison(outStockTask, erps); foreach (var erp in erps) { //仓库不同 拆分成不同的 @@ -186,6 +188,15 @@ namespace WMS.Web.Domain.Services return Result.ReSuccess(); } + /// + /// 金蝶数据同步时比对数据 + /// 金蝶单据明细行删除后wms明细数量调整为0 + /// + /// + public Result SsynDateComparison(OutStockTask outStockTask, List erp_list) + { + return Result.ReSuccess(); + } /// /// 发货通知单同步数据 From 4221de3d7552745395db12071f0ae915a0e160c3 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Wed, 6 Mar 2024 11:53:39 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=87=91=E8=9D=B6=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 7 +++++++ .../Services/OutStockTaskService.cs | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 82d3785d..533c1b85 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -4664,6 +4664,13 @@ + + + 金蝶数据同步时比对数据 + 金蝶单据明细行删除后wms明细数量调整为0 + + + 发货通知单同步数据 diff --git a/src/WMS.Web.Domain/Services/OutStockTaskService.cs b/src/WMS.Web.Domain/Services/OutStockTaskService.cs index 8a6dd5a7..b94c624c 100644 --- a/src/WMS.Web.Domain/Services/OutStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/OutStockTaskService.cs @@ -8,6 +8,7 @@ using System.Threading.Tasks; using WMS.Web.Core.Dto; using WMS.Web.Core.Dto.Erp.OutStock; using WMS.Web.Core.Dto.Login; +using WMS.Web.Core.Help; using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Entitys; using WMS.Web.Domain.Infrastructure; @@ -195,6 +196,24 @@ namespace WMS.Web.Domain.Services /// public Result SsynDateComparison(OutStockTask outStockTask, List erp_list) { + var erpDetails = outStockTask.Details.SelectMany(s => s.ErpDetails).ToList().Clone(); + foreach (var d in outStockTask.Details) + { + foreach (var ed in d.ErpDetails) + { + //没有找到这条出库任务单里的来源单信息,则跳过这条数据(有些合并的单据,当前没有找到金蝶对应的单据(时间超出范围了等情况)) + var erp_o = erp_list.Where(w => w.SourceBillNo == ed.SourceBillNo).ToList(); + if (erp_o.Count() == 0) continue; + + var erp_d = erp_list.Where(w => w.MaterialId == d.MaterialId && ed.Erp_DetailId == w.Erp_DetailId).ToList(); + if (erp_d.Count() == 0) + { + //金蝶删除明细数据后 wms对应数据修改为0 + ed.AccruedQty = 0; + d.AccruedQty = d.ErpDetails.Sum(s => s.AccruedQty); + } + } + } return Result.ReSuccess(); }