From bb9332b930d85f1515fccc9d5efde7a6db02961e Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Mon, 20 Nov 2023 16:40:37 +0800 Subject: [PATCH] =?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.Api/Controllers/TestController.cs | 2 +- .../Services/OutStockTaskService.cs | 73 +++++++++---------- 2 files changed, 37 insertions(+), 38 deletions(-) diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index a1db9efb..445f1069 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -46,7 +46,7 @@ namespace WMS.Web.Api.Controllers [Route("hj")] public async Task TestHJ() { - var result = await this._erpService.BillQueryForDeliveryNoticeOutStock(null,DateTime.Now.AddHours(-2)); + var result = await this._outStockTaskService.Sync(null); //var t=await _outStockTaskRepositories.Get(1); // t.Details[0].Remark = "sdf"; // t.Details[0].ErpDetails[0].SaleBillNo = "sdfsfsbbbb"; diff --git a/src/WMS.Web.Domain/Services/OutStockTaskService.cs b/src/WMS.Web.Domain/Services/OutStockTaskService.cs index 57eb2c08..08abcd2c 100644 --- a/src/WMS.Web.Domain/Services/OutStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/OutStockTaskService.cs @@ -139,44 +139,43 @@ namespace WMS.Web.Domain.Services } } - //2.2.提交修改 - var isSuccess = await _outStockTaskRepositories.EditEntityList(data_list, isTransaction); + } + //2.2.提交修改 + var isSuccess = await _outStockTaskRepositories.EditEntityList(data_list, isTransaction); + if (!isSuccess) + return Result.ReFailure(ResultCodes.DateWriteError); + + //2.3剔除:已修改的单据 + foreach (var item in erp_removeList) + erp_list.Remove(item); + + //3.wms任务单的来源单据编号不存在于erp中,那么就新增 + if (erp_list.Count != 0) + { + var add_entitys = new List(); + var billNos = erp_list.GroupBy(x => x.SourceBillNo).Select(x => x.Key).ToList(); + foreach (var item in billNos) + { + var e = erp_list.FirstOrDefault(f => f.SourceBillNo == item); + var entity = new OutStockTask(); + entity.Create((OutStockType)e.Type, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime); + + //找到当前对应来源单据编号的集合数据 + var current_erp_details = erp_list.Where(x => x.SourceBillNo == item).ToList(); + //给到dto的实体明细中 + foreach (var erp in current_erp_details) + { + var detail = _mapper.Map(erp); + var erpDetail = _mapper.Map(erp); + detail.ErpDetails.Add(erpDetail); + entity.Details.Add(detail); + } + add_entitys.Add(entity); + } + //3.1提交新增 + isSuccess = await _outStockTaskRepositories.AddRange(add_entitys, isTransaction); if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); - - //2.3剔除:已修改的单据 - foreach (var item in erp_removeList) - erp_list.Remove(item); - - //3.wms任务单的来源单据编号不存在于erp中,那么就新增 - if (erp_list.Count != 0) - { - var add_entitys = new List(); - var billNos = erp_list.GroupBy(x => x.SourceBillNo).Select(x => x.Key).ToList(); - foreach (var item in billNos) - { - var e = erp_list.FirstOrDefault(f => f.SourceBillNo == item); - var entity = new OutStockTask(); - entity.Create((OutStockType)e.Type, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime); - - //找到当前对应来源单据编号的集合数据 - var current_erp_details = erp_list.Where(x => x.SourceBillNo == item).ToList(); - //给到dto的实体明细中 - foreach (var erp in current_erp_details) - { - var detail = _mapper.Map(erp); - var erpDetail = _mapper.Map(erp); - detail.ErpDetails.Add(erpDetail); - entity.Details.Add(detail); - } - add_entitys.Add(entity); - } - //3.1提交新增 - isSuccess = await _outStockTaskRepositories.AddRange(add_entitys, isTransaction); - if (!isSuccess) - return Result.ReFailure(ResultCodes.DateWriteError); - } - } return Result.ReSuccess(); @@ -310,7 +309,7 @@ namespace WMS.Web.Domain.Services foreach (var entity in taskList) { if (entity.Type == OutStockType.Sal) - DeliveryNotice_Nos.AddRange(entity.Details.SelectMany(s => s.ErpDetails).Select(s=>s.SourceBillNo)); + DeliveryNotice_Nos.AddRange(entity.Details.SelectMany(s => s.ErpDetails).Select(s => s.SourceBillNo)); else if (entity.Type == OutStockType.Stkdirecttransfers) TransferDirect_Nos.AddRange(entity.Details.SelectMany(s => s.ErpDetails).Select(s => s.SourceBillNo)); else if (entity.Type == OutStockType.StktransferInst)