From 2840590e163fbaff5a883770c0945a34057fb861 Mon Sep 17 00:00:00 2001
From: tongfei <244188119@qq.com>
Date: Thu, 23 Nov 2023 17:52:02 +0800
Subject: [PATCH] =?UTF-8?q?=E7=AE=B1=E5=BA=93=E5=AD=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Services/BackRecordService.cs | 37 ++++++++-------
src/WMS.Web.Domain/Services/InStockService.cs | 45 ++++---------------
2 files changed, 26 insertions(+), 56 deletions(-)
diff --git a/src/WMS.Web.Domain/Services/BackRecordService.cs b/src/WMS.Web.Domain/Services/BackRecordService.cs
index 87d970a8..7ed11d0c 100644
--- a/src/WMS.Web.Domain/Services/BackRecordService.cs
+++ b/src/WMS.Web.Domain/Services/BackRecordService.cs
@@ -20,7 +20,7 @@ namespace WMS.Web.Domain.Services
///
/// 出入库回退上下架:服务接口
///
- public class BackRecordService: IBackRecordService
+ public class BackRecordService : IBackRecordService
{
private readonly IMapper _mapper;
private readonly ILoginService _loginService;
@@ -60,29 +60,28 @@ namespace WMS.Web.Domain.Services
entity.Create(loginInfo.UserInfo.StaffId);
entity = await _backRecordRepositories.Add(entity, isTransaction);
+
+
+ if (entity == null)
+ return Result.ReFailure(ResultCodes.DateWriteError);
+ //保存成功后:序列号跟踪流程添加
+ var serialNumber_result = await _serialNumberService.BackRecord(entity, loginInfo, isTransaction);
+ if (!serialNumber_result.IsSuccess)
+ return serialNumber_result;
+
+ //保存成功后:变更库存
+ var entitys = new List();
+ entitys.Add(entity);
+ var boxInventoryResult = await _boxInventoryService.GenerateBackBox(entitys, isTransaction);
+ if (!boxInventoryResult.IsSuccess)
+ return boxInventoryResult;
+
//提交事务
var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);
+ return Result.ReSuccess();
- if (entity != null)
- {
- //保存成功后:序列号跟踪流程添加
- var serialNumber_result = await _serialNumberService.BackRecord(entity, loginInfo, isTransaction);
- if (!serialNumber_result.IsSuccess)
- return serialNumber_result;
-
- //保存成功后:变更库存
- var entitys = new List();
- entitys.Add(entity);
- var boxInventoryResult= await _boxInventoryService.GenerateBackBox(entitys, isTransaction);
- if (!boxInventoryResult.IsSuccess)
- return boxInventoryResult;
-
- return Result.ReSuccess();
- }
- else
- return Result.ReFailure(ResultCodes.DateWriteError);
}
}
}
diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs
index c984f3eb..88be71ab 100644
--- a/src/WMS.Web.Domain/Services/InStockService.cs
+++ b/src/WMS.Web.Domain/Services/InStockService.cs
@@ -229,29 +229,10 @@ namespace WMS.Web.Domain.Services
if (!serialNumber_result.IsSuccess)
return serialNumber_result;
- //保存成功后:变更箱库存
- var boxInventoryGenerateDto = dto.Details.GroupBy(x => new { x.BoxId, x.StockCode, x.SubStockId }).Select(x => new BoxInventoryGenerateDto()
- {
- InventoryInOutMethod = (int)InventoryInOutMethod.Box,
- InventoryInOutType = (int)InventoryInOutType.In,
- BoxId = x.Key.BoxId,
- StockCode = x.Key.StockCode,
- SubStockId = x.Key.SubStockId
- }).ToList();
-
- foreach (var item in dto.Details)
- {
- var current = boxInventoryGenerateDto.Where(x => x.BoxId == item.BoxId).FirstOrDefault();
- if (current != null)
- {
- var detail = new BoxInventoryGenerateDetailsDto();
- detail.MaterialId = item.MaterialId;
- detail.Qty = item.Qty;
- detail.SerialNumbers = item.SerialNumbers;
- current.Details.Add(detail);
- }
- }
- var boxInventoryResult = await _boxInventoryService.HandlBoxInventory(boxInventoryGenerateDto, isTransaction);
+ //箱库存变动
+ var dtoDatas = new List();
+ dtoDatas.Add(entity);
+ var boxInventoryResult = await _boxInventoryService.GenerateInStockBox(dtoDatas, isTransaction);
if (!boxInventoryResult.IsSuccess)
return boxInventoryResult;
@@ -335,20 +316,10 @@ namespace WMS.Web.Domain.Services
if (!serialNumber_result.IsSuccess)
return serialNumber_result;
- //7.箱库存的变更
- //7.1组装头部和明细
- var boxInventoryGenerateDto = dto.Boxs.Select(item => new BoxInventoryGenerateDto()
- {
- InventoryInOutMethod = dto.ShelfMethod == (int)ShelfMethod.Product ? (int)InventoryInOutMethod.Box : (int)InventoryInOutMethod.Product,
- InventoryInOutType = (int)InventoryInOutType.In,
- BoxId = item.BoxId,
- StockCode = dto.StockCode,
- SubStockId = dto.SubStockId,
- Details = _mapper.Map>(item.Details)
- }).ToList();
-
- //7.2执行处理箱库存
- var boxInventoryResult = await _boxInventoryService.HandlBoxInventory(boxInventoryGenerateDto, isTransaction);
+ //箱库存变动
+ var dtoDatas = new List();
+ dtoDatas.Add(entity);
+ var boxInventoryResult = await _boxInventoryService.GenerateInStockBox(dtoDatas, isTransaction);
if (!boxInventoryResult.IsSuccess)
return boxInventoryResult;