From 833726863aed6f17a49beb3bd315e90e6e388b78 Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Thu, 16 Nov 2023 17:53:56 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E7=AE=B1=E5=A2=9E=E5=8A=A0=E4=BB=93?=
=?UTF-8?q?=E5=BA=93?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 5 +++
.../MoveBoxRecord/SaveMoveBoxRecordRequest.cs | 5 +++
.../Services/ChangeMoveBoxService.cs | 31 +++++++++++++++++--
3 files changed, 38 insertions(+), 3 deletions(-)
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index 344b5f84..34292e14 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -3091,6 +3091,11 @@
箱号ID
+
+
+ 仓库
+
+
仓位ID
diff --git a/src/WMS.Web.Core/Dto/MoveBoxRecord/SaveMoveBoxRecordRequest.cs b/src/WMS.Web.Core/Dto/MoveBoxRecord/SaveMoveBoxRecordRequest.cs
index 674bfb59..27c44d62 100644
--- a/src/WMS.Web.Core/Dto/MoveBoxRecord/SaveMoveBoxRecordRequest.cs
+++ b/src/WMS.Web.Core/Dto/MoveBoxRecord/SaveMoveBoxRecordRequest.cs
@@ -16,6 +16,11 @@ namespace WMS.Web.Core.Dto.MoveBoxRecord
[Required(ErrorMessage = "箱号不能为空")]
public int BoxId { get; set; }
///
+ /// 仓库
+ ///
+ [Required(ErrorMessage = "仓库不能为空")]
+ public string StockCode { get; set; }
+ ///
/// 仓位ID
///
[Required(ErrorMessage = "仓位不能为空")]
diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs
index dc898bf0..5a233f55 100644
--- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs
+++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs
@@ -6,6 +6,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WMS.Web.Core.Dto.ChangeBoxRecord;
+using WMS.Web.Core.Dto.Inventory;
using WMS.Web.Core.Dto.Login;
using WMS.Web.Core.Dto.MoveBoxRecord;
using WMS.Web.Core.Internal.Results;
@@ -27,10 +28,11 @@ namespace WMS.Web.Domain.Services
private readonly IMoveBoxRecordRepositories _moveBoxRecordRepositories;
private readonly IBoxRepositories _boxRepositories;
private readonly ISerialNumberService _serialNumberService;
+ private readonly IBoxInventoryService _boxInventoryService;
public ChangeMoveBoxService(IMapper mapper, ILoginService loginService,
IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories transactionRepositories,
IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories,
- ISerialNumberService serialNumberService)
+ ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService)
{
_mapper = mapper;
_loginService = loginService;
@@ -39,6 +41,7 @@ namespace WMS.Web.Domain.Services
_moveBoxRecordRepositories = moveBoxRecordRepositories;
_boxRepositories = boxRepositories;
_serialNumberService = serialNumberService;
+ _boxInventoryService = boxInventoryService;
}
///
/// 改箱保存
@@ -82,6 +85,19 @@ namespace WMS.Web.Domain.Services
entity.Create(loginInfo.UserInfo.StaffId, d.Qty, d.MaterialId, d.SerialNumbers, dto.SrcBoxId, dto.DestBoxId);
list.Add(entity);
}
+ var inventoryList = new List();
+ var inventoryDetails = dto.Details.Select(s => new BoxInventoryDetailsChangeGenerateDto()
+ {
+ MaterialId = s.MaterialId,
+ Qty = s.Qty,
+ SerialNumbers = s.SerialNumbers
+ }).ToList();
+ BoxInventoryChangeGenerateDto inventory = new BoxInventoryChangeGenerateDto()
+ {
+ BoxId = dto.SrcBoxId,
+ TargetBoxId = dto.DestBoxId,
+ Details = inventoryDetails
+ };
//需要填写序列号
//需要修改库存
@@ -90,6 +106,8 @@ namespace WMS.Web.Domain.Services
_transaction = _transactionRepositories.GetTransaction();
bool isRollback = false;
bool isSuccess = true;
+ var res_Inventory = await _boxInventoryService.GenerateChangeBox(inventoryList, false);
+ if (!res_Inventory.IsSuccess) isRollback = true;
isSuccess = await _changeBoxRecordRepositories.AddRange(list, false);
if (!isSuccess) isRollback = true;
var res_change = await _serialNumberService.ChangeBox(list, loginInfo, false);
@@ -124,12 +142,19 @@ namespace WMS.Web.Domain.Services
entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, d.SubStockId, loginInfo.UserInfo.StaffId);
entityList.Add(entity);
}
-
- //2.需要修改库存
+ var inventoryList = dto.Select(s => new BoxInventoryMoveGenerateDto()
+ {
+ BoxId = s.BoxId,
+ SubStockId = s.SubStockId,
+ InventoryInOutType = IsUp == true ? 1 : 2,
+ StockCode=s.StockCode
+ }).ToList();
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
bool isRollback = false;
bool isSuccess = true;
+ var res_Inventory = await _boxInventoryService.GenerateMoveBox(inventoryList, false);
+ if (!res_Inventory.IsSuccess) isRollback = true;
isSuccess = await _moveBoxRecordRepositories.AddRange(entityList, true);
if (!isSuccess) isRollback = true;
var res_change = await _serialNumberService.MoveBox(entityList, loginInfo, false);