This commit is contained in:
tongfei
2023-11-17 09:39:01 +08:00
3 changed files with 38 additions and 3 deletions

View File

@@ -3086,6 +3086,11 @@
箱号ID 箱号ID
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest.StockCode">
<summary>
仓库
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest.SubStockId"> <member name="P:WMS.Web.Core.Dto.MoveBoxRecord.SaveMoveBoxRecordRequest.SubStockId">
<summary> <summary>
仓位ID 仓位ID

View File

@@ -16,6 +16,11 @@ namespace WMS.Web.Core.Dto.MoveBoxRecord
[Required(ErrorMessage = "箱号不能为空")] [Required(ErrorMessage = "箱号不能为空")]
public int BoxId { get; set; } public int BoxId { get; set; }
/// <summary> /// <summary>
/// 仓库
///</summary>
[Required(ErrorMessage = "仓库不能为空")]
public string StockCode { get; set; }
/// <summary>
/// 仓位ID /// 仓位ID
/// </summary> /// </summary>
[Required(ErrorMessage = "仓位不能为空")] [Required(ErrorMessage = "仓位不能为空")]

View File

@@ -6,6 +6,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using WMS.Web.Core.Dto.ChangeBoxRecord; using WMS.Web.Core.Dto.ChangeBoxRecord;
using WMS.Web.Core.Dto.Inventory;
using WMS.Web.Core.Dto.Login; using WMS.Web.Core.Dto.Login;
using WMS.Web.Core.Dto.MoveBoxRecord; using WMS.Web.Core.Dto.MoveBoxRecord;
using WMS.Web.Core.Internal.Results; using WMS.Web.Core.Internal.Results;
@@ -27,10 +28,11 @@ namespace WMS.Web.Domain.Services
private readonly IMoveBoxRecordRepositories _moveBoxRecordRepositories; private readonly IMoveBoxRecordRepositories _moveBoxRecordRepositories;
private readonly IBoxRepositories _boxRepositories; private readonly IBoxRepositories _boxRepositories;
private readonly ISerialNumberService _serialNumberService; private readonly ISerialNumberService _serialNumberService;
private readonly IBoxInventoryService _boxInventoryService;
public ChangeMoveBoxService(IMapper mapper, ILoginService loginService, public ChangeMoveBoxService(IMapper mapper, ILoginService loginService,
IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories transactionRepositories, IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories transactionRepositories,
IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories, IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories,
ISerialNumberService serialNumberService) ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService)
{ {
_mapper = mapper; _mapper = mapper;
_loginService = loginService; _loginService = loginService;
@@ -39,6 +41,7 @@ namespace WMS.Web.Domain.Services
_moveBoxRecordRepositories = moveBoxRecordRepositories; _moveBoxRecordRepositories = moveBoxRecordRepositories;
_boxRepositories = boxRepositories; _boxRepositories = boxRepositories;
_serialNumberService = serialNumberService; _serialNumberService = serialNumberService;
_boxInventoryService = boxInventoryService;
} }
/// <summary> /// <summary>
/// 改箱保存 /// 改箱保存
@@ -82,6 +85,19 @@ namespace WMS.Web.Domain.Services
entity.Create(loginInfo.UserInfo.StaffId, d.Qty, d.MaterialId, d.SerialNumbers, dto.SrcBoxId, dto.DestBoxId); entity.Create(loginInfo.UserInfo.StaffId, d.Qty, d.MaterialId, d.SerialNumbers, dto.SrcBoxId, dto.DestBoxId);
list.Add(entity); list.Add(entity);
} }
var inventoryList = new List<BoxInventoryChangeGenerateDto>();
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(); _transaction = _transactionRepositories.GetTransaction();
bool isRollback = false; bool isRollback = false;
bool isSuccess = true; bool isSuccess = true;
var res_Inventory = await _boxInventoryService.GenerateChangeBox(inventoryList, false);
if (!res_Inventory.IsSuccess) isRollback = true;
isSuccess = await _changeBoxRecordRepositories.AddRange(list, false); isSuccess = await _changeBoxRecordRepositories.AddRange(list, false);
if (!isSuccess) isRollback = true; if (!isSuccess) isRollback = true;
var res_change = await _serialNumberService.ChangeBox(list, loginInfo, false); 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); entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, d.SubStockId, loginInfo.UserInfo.StaffId);
entityList.Add(entity); entityList.Add(entity);
} }
var inventoryList = dto.Select(s => new BoxInventoryMoveGenerateDto()
//2.需要修改库存 {
BoxId = s.BoxId,
SubStockId = s.SubStockId,
InventoryInOutType = IsUp == true ? 1 : 2,
StockCode=s.StockCode
}).ToList();
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction(); IDbContextTransaction _transaction = _transactionRepositories.GetTransaction();
bool isRollback = false; bool isRollback = false;
bool isSuccess = true; bool isSuccess = true;
var res_Inventory = await _boxInventoryService.GenerateMoveBox(inventoryList, false);
if (!res_Inventory.IsSuccess) isRollback = true;
isSuccess = await _moveBoxRecordRepositories.AddRange(entityList, true); isSuccess = await _moveBoxRecordRepositories.AddRange(entityList, true);
if (!isSuccess) isRollback = true; if (!isSuccess) isRollback = true;
var res_change = await _serialNumberService.MoveBox(entityList, loginInfo, false); var res_change = await _serialNumberService.MoveBox(entityList, loginInfo, false);