调整移箱改箱

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>
/// 原箱子ID
/// </summary>
[Required(ErrorMessage = "原箱子不能为空")]
public int SrcBoxId { get; set; }
/// <summary>
/// 目标箱子ID

View File

@@ -17,7 +17,7 @@ namespace WMS.Web.Domain.IService
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);

View File

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