调整移箱改箱
This commit is contained in:
@@ -13,7 +13,6 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord
|
||||
/// <summary>
|
||||
/// 原箱子ID
|
||||
/// </summary>
|
||||
[Required(ErrorMessage = "原箱子不能为空")]
|
||||
public int SrcBoxId { get; set; }
|
||||
/// <summary>
|
||||
/// 目标箱子ID
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user