From 998848570317121487d6d1fa72d0fb735d7d8314 Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Fri, 15 Dec 2023 14:40:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=963?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Domain/Services/InStockService.cs | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index 59e906d6..545e4a9f 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -120,11 +120,18 @@ namespace WMS.Web.Domain.Services //1.添加入库单:(同步金蝶在save方法里面进行) var save_result = await this.ShelfSave(instock, InstockType.Purchase, loginInfo, isTransaction); if (!save_result.IsSuccess) isRollback = true; + + //实体 + var entity = save_result.Data; + //提交事务 var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction); if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); + //同步金蝶 + if (entity.Type == InstockType.Purchase) + await this.PurchaseInStock(entity, loginInfo); return Result.ReSuccess(); } @@ -227,7 +234,7 @@ namespace WMS.Web.Domain.Services /// /// /// - private async Task ShelfSave(PurchaseShelfRequest dto, InstockType type, LoginInDto loginInfo, bool isTransaction = true) + private async Task> ShelfSave(PurchaseShelfRequest dto, InstockType type, LoginInDto loginInfo, bool isTransaction = true) { // 组织集合 var orgs = new List(); @@ -272,7 +279,7 @@ namespace WMS.Web.Domain.Services entity = await _inStockRepositories.Add(entity, isTransaction); if (entity == null) - return Result.ReFailure(ResultCodes.DateWriteError); + return Result.ReFailure(ResultCodes.DateWriteError); //处理添加入库汇总明细 var totalDetails = dto.Details.GroupBy(x => new { x.TaskId, x.SourceBillNo, x.SupplierId, x.MaterialId }) @@ -289,7 +296,7 @@ namespace WMS.Web.Domain.Services var isSuccess = await _inStockRepositories.AddRangeTotalDetails(totalDetails, isTransaction); if (!isSuccess) - return Result.ReFailure(ResultCodes.DateWriteError); + return Result.ReFailure(ResultCodes.DateWriteError); //反写任务单的已交数量 var taskIds = dto.Details.GroupBy(x => x.TaskId).Select(x => x.Key).ToList(); var tasks = await _inStockTaskRepositories.GetList(taskIds); @@ -312,24 +319,20 @@ namespace WMS.Web.Domain.Services isSuccess = await _inStockTaskRepositories.UpdateRange(tasks, isTransaction); if (!isSuccess) - return Result.ReFailure(ResultCodes.DateWriteError); + return Result.ReFailure(ResultCodes.DateWriteError); } //保存成功后:序列号跟踪流程添加 var serialNumber_result = await _serialNumberService.InStock(entity, loginInfo, isTransaction); if (!serialNumber_result.IsSuccess) - return serialNumber_result; + return Result.ReFailure(serialNumber_result); //箱库存变动 var boxInventoryResult = await _boxInventoryService.GenerateInStockBox(entity, isTransaction); if (!boxInventoryResult.IsSuccess) - return boxInventoryResult; + return Result.ReFailure(boxInventoryResult); - //同步金蝶 - if (entity.Type == InstockType.Purchase) - await this.PurchaseInStock(entity, loginInfo); - - return Result.ReSuccess(); + return Result.ReSuccess(entity); }