调整移箱改箱
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user