调整移箱改箱

This commit is contained in:
18942506660
2023-11-09 14:01:20 +08:00
parent 8ac80270cd
commit 15f786ff46
3 changed files with 24 additions and 15 deletions

View File

@@ -13,7 +13,6 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord
/// <summary> /// <summary>
/// 原箱子ID /// 原箱子ID
/// </summary> /// </summary>
[Required(ErrorMessage = "原箱子不能为空")]
public int SrcBoxId { get; set; } public int SrcBoxId { get; set; }
/// <summary> /// <summary>
/// 目标箱子ID /// 目标箱子ID

View File

@@ -17,7 +17,7 @@ namespace WMS.Web.Domain.IService
public interface IChangeMoveBoxService public interface IChangeMoveBoxService
{ {
//改箱保存 //改箱保存
Task<Result> ChangeBoxSave(SaveChangeBoxRecordRequest dto, LoginInDto loginInfo); Task<Result> ChangeBoxSave(SaveChangeBoxRecordRequest dto, LoginInDto loginInfo, bool isTransaction=true);
//移箱保存 //移箱保存
Task<Result> MoveBoxSave(SaveMoveBoxRecordRequest dto, LoginInDto loginInfo); Task<Result> MoveBoxSave(SaveMoveBoxRecordRequest dto, LoginInDto loginInfo);

View File

@@ -43,22 +43,28 @@ namespace WMS.Web.Domain.Services
/// <param name="dto"></param> /// <param name="dto"></param>
/// <param name="loginInfo"></param> /// <param name="loginInfo"></param>
/// <returns></returns> /// <returns></returns>
public async Task<Result> ChangeBoxSave(SaveChangeBoxRecordRequest dto, LoginInDto loginInfo) public async Task<Result> ChangeBoxSave(SaveChangeBoxRecordRequest dto, LoginInDto loginInfo, bool isTransaction = false)
{ {
List<Box> boxList = new List<Box>(); List<Box> boxList = new List<Box>();
//原箱有可能没有
var srcBox = await _boxRepositories.Get(dto.SrcBoxId); var srcBox = await _boxRepositories.Get(dto.SrcBoxId);
var destBox = await _boxRepositories.Get(dto.DestBoxId); var destBox = await _boxRepositories.Get(dto.DestBoxId);
if (srcBox == null) return Result.ReFailure(ResultCodes.BoxNoData); //if (srcBox == null) return Result.ReFailure(ResultCodes.BoxNoData);
if (destBox == null) return Result.ReFailure(ResultCodes.BoxNoData); if (destBox == null) return Result.ReFailure(ResultCodes.BoxNoData);
var l = dto.Details.Select(s => (s.MaterialId, s.Qty, s.SerialNumbers)).ToList(); var l = dto.Details.Select(s => (s.MaterialId, s.Qty, s.SerialNumbers)).ToList();
//原箱移出 //原箱移出
var res = srcBox.Out(l); Result res;
if (srcBox != null)
{
res = srcBox.Out(l);
if (!res.IsSuccess) return res; if (!res.IsSuccess) return res;
}
//目标箱移入 //目标箱移入
res = destBox.In(l); res = destBox.In(l);
if (!res.IsSuccess) return res; if (!res.IsSuccess) return res;
if (srcBox != null)
boxList.Add(srcBox); boxList.Add(srcBox);
if (destBox != null)
boxList.Add(destBox); boxList.Add(destBox);
//var entity = _mapper.Map<ChangeBoxRecord>(dto);\ //var entity = _mapper.Map<ChangeBoxRecord>(dto);\
@@ -72,8 +78,9 @@ namespace WMS.Web.Domain.Services
//需要填写序列号 //需要填写序列号
//需要修改库存 //需要修改库存
IDbContextTransaction _transaction = null;
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction(); if (isTransaction)
_transaction = _transactionRepositories.GetTransaction();
bool isRollback = false; bool isRollback = false;
bool isSuccess = true; bool isSuccess = true;
isSuccess = await _changeBoxRecordRepositories.AddRange(list, false); isSuccess = await _changeBoxRecordRepositories.AddRange(list, false);
@@ -84,9 +91,12 @@ namespace WMS.Web.Domain.Services
//提交事务 //提交事务
if (isTransaction)
{
isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction); isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess) if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError); return Result.ReFailure(ResultCodes.DateWriteError);
}
return Result.ReSuccess(); return Result.ReSuccess();
} }