改箱修改参数

This commit is contained in:
18942506660
2023-11-22 15:57:45 +08:00
parent c33f2282e7
commit 7b26518dfe
2 changed files with 12 additions and 23 deletions

View File

@@ -20,24 +20,10 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord
[Required(ErrorMessage = "目标箱子不能为空")] [Required(ErrorMessage = "目标箱子不能为空")]
public int DestBoxId { get; set; } public int DestBoxId { get; set; }
/// <summary> /// <summary>
/// 目标箱的仓库或重新上架选择仓位对应的仓库
/// </summary>
[Required(ErrorMessage = "仓库不能为空")]
public string StockCode { get; set; }
/// <summary>
/// 目标箱仓位或重新上架选择仓位 /// 目标箱仓位或重新上架选择仓位
///</summary> ///</summary>
[Required(ErrorMessage = "仓位不能为空")] [Required(ErrorMessage = "仓位不能为空")]
public string SubStockId { get; set; } public int SubStockId { get; set; }
/// <summary>
/// 原箱组织编码
/// </summary>
public string SrcBoxOrgCode { get; set; }
/// <summary>
/// 目标箱组织编码
/// </summary>
[Required(ErrorMessage = "目标箱组织不能为空")]
public string DestBoxOrgCode { get; set; }
/// <summary> /// <summary>
/// 明细 /// 明细
/// </summary> /// </summary>

View File

@@ -24,20 +24,20 @@ namespace WMS.Web.Domain.Services
private readonly IMapper _mapper; private readonly IMapper _mapper;
private readonly ILoginService _loginService; private readonly ILoginService _loginService;
private readonly IChangeBoxRecordRepositories _changeBoxRecordRepositories; private readonly IChangeBoxRecordRepositories _changeBoxRecordRepositories;
public readonly IBasicsRepositories _transactionRepositories; public readonly IBasicsRepositories _basbicsRepositories;
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; private readonly IBoxInventoryService _boxInventoryService;
public ChangeMoveBoxService(IMapper mapper, ILoginService loginService, public ChangeMoveBoxService(IMapper mapper, ILoginService loginService,
IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories transactionRepositories, IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories basbicsRepositories,
IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories, IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories,
ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService) ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService)
{ {
_mapper = mapper; _mapper = mapper;
_loginService = loginService; _loginService = loginService;
_changeBoxRecordRepositories = changeBoxRecordRepositories; _changeBoxRecordRepositories = changeBoxRecordRepositories;
_transactionRepositories = transactionRepositories; _basbicsRepositories = basbicsRepositories;
_moveBoxRecordRepositories = moveBoxRecordRepositories; _moveBoxRecordRepositories = moveBoxRecordRepositories;
_boxRepositories = boxRepositories; _boxRepositories = boxRepositories;
_serialNumberService = serialNumberService; _serialNumberService = serialNumberService;
@@ -76,13 +76,16 @@ namespace WMS.Web.Domain.Services
boxList.Add(destBox); boxList.Add(destBox);
//2.修改库存时需要区别 有原箱和没有原箱的情况 //2.修改库存时需要区别 有原箱和没有原箱的情况
var subStock= await _basbicsRepositories.GetSubUcStockAsync(dto.SubStockId, loginInfo.UserInfo.CompanyId);
//var entity = _mapper.Map<ChangeBoxRecord>(dto);\ //var entity = _mapper.Map<ChangeBoxRecord>(dto);\
List<ChangeBoxRecord> list = new List<ChangeBoxRecord>(); List<ChangeBoxRecord> list = new List<ChangeBoxRecord>();
foreach (var d in dto.Details) foreach (var d in dto.Details)
{ {
ChangeBoxRecord entity = new ChangeBoxRecord(); ChangeBoxRecord entity = new ChangeBoxRecord();
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);
entity.DestSubStockId = dto.SubStockId;
entity.DestBoxOrgCode = subStock.ErpOrgCode;
entity.DestStockCode = subStock.StockCode;
list.Add(entity); list.Add(entity);
} }
var inventoryList = new List<BoxInventoryChangeGenerateDto>(); var inventoryList = new List<BoxInventoryChangeGenerateDto>();
@@ -92,7 +95,7 @@ namespace WMS.Web.Domain.Services
//需要修改库存 //需要修改库存
IDbContextTransaction _transaction = null; IDbContextTransaction _transaction = null;
if (isTransaction) if (isTransaction)
_transaction = _transactionRepositories.GetTransaction(); _transaction = _basbicsRepositories.GetTransaction();
Result res_Rollback = Result.ReSuccess(); Result res_Rollback = Result.ReSuccess();
bool isSuccess = true; bool isSuccess = true;
var res_Inventory = await _boxInventoryService.GenerateChangeBox(inventoryList, false); var res_Inventory = await _boxInventoryService.GenerateChangeBox(inventoryList, false);
@@ -115,7 +118,7 @@ namespace WMS.Web.Domain.Services
//提交事务 //提交事务
if (isTransaction) if (isTransaction)
{ {
isSuccess = _transactionRepositories.CommitTransaction(res_Rollback.IsSuccess ? false : true, _transaction); isSuccess = _basbicsRepositories.CommitTransaction(res_Rollback.IsSuccess ? false : true, _transaction);
if (!res_Rollback.IsSuccess) return res_Rollback; if (!res_Rollback.IsSuccess) return res_Rollback;
if (!isSuccess) if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError); return Result.ReFailure(ResultCodes.DateWriteError);
@@ -142,7 +145,7 @@ namespace WMS.Web.Domain.Services
var inventoryList = _mapper.Map<List<BoxInventoryMoveGenerateDto>>(dto); var inventoryList = _mapper.Map<List<BoxInventoryMoveGenerateDto>>(dto);
inventoryList.ForEach(f => f.InventoryInOutType = IsUp == true ? 1 : 2); inventoryList.ForEach(f => f.InventoryInOutType = IsUp == true ? 1 : 2);
IDbContextTransaction _transaction = _transactionRepositories.GetTransaction(); IDbContextTransaction _transaction = _basbicsRepositories.GetTransaction();
bool isSuccess = true; bool isSuccess = true;
Result res_Rollback = Result.ReSuccess(); Result res_Rollback = Result.ReSuccess();
var res_Inventory = await _boxInventoryService.GenerateMoveBox(inventoryList, false); var res_Inventory = await _boxInventoryService.GenerateMoveBox(inventoryList, false);
@@ -159,7 +162,7 @@ namespace WMS.Web.Domain.Services
if (!res_change.IsSuccess) res_Rollback = res_change; if (!res_change.IsSuccess) res_Rollback = res_change;
} }
//提交事务 //提交事务
isSuccess = _transactionRepositories.CommitTransaction(res_Rollback.IsSuccess ? false : true, _transaction); isSuccess = _basbicsRepositories.CommitTransaction(res_Rollback.IsSuccess ? false : true, _transaction);
if (!res_Rollback.IsSuccess) return res_Rollback; if (!res_Rollback.IsSuccess) return res_Rollback;
if (!isSuccess) if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError); return Result.ReFailure(ResultCodes.DateWriteError);