diff --git a/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs b/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs index 2c7ff7f8..e5e8a63a 100644 --- a/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs +++ b/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs @@ -20,24 +20,10 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord [Required(ErrorMessage = "目标箱子不能为空")] public int DestBoxId { get; set; } /// - /// 目标箱的仓库或重新上架选择仓位对应的仓库 - /// - [Required(ErrorMessage = "仓库不能为空")] - public string StockCode { get; set; } - /// /// 目标箱仓位或重新上架选择仓位 /// [Required(ErrorMessage = "仓位不能为空")] - public string SubStockId { get; set; } - /// - /// 原箱组织编码 - /// - public string SrcBoxOrgCode { get; set; } - /// - /// 目标箱组织编码 - /// - [Required(ErrorMessage = "目标箱组织不能为空")] - public string DestBoxOrgCode { get; set; } + public int SubStockId { get; set; } /// /// 明细 /// diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs index ebaed2bd..b335895f 100644 --- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs +++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs @@ -24,20 +24,20 @@ namespace WMS.Web.Domain.Services private readonly IMapper _mapper; private readonly ILoginService _loginService; private readonly IChangeBoxRecordRepositories _changeBoxRecordRepositories; - public readonly IBasicsRepositories _transactionRepositories; + public readonly IBasicsRepositories _basbicsRepositories; private readonly IMoveBoxRecordRepositories _moveBoxRecordRepositories; private readonly IBoxRepositories _boxRepositories; private readonly ISerialNumberService _serialNumberService; private readonly IBoxInventoryService _boxInventoryService; public ChangeMoveBoxService(IMapper mapper, ILoginService loginService, - IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories transactionRepositories, + IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories basbicsRepositories, IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories, ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService) { _mapper = mapper; _loginService = loginService; _changeBoxRecordRepositories = changeBoxRecordRepositories; - _transactionRepositories = transactionRepositories; + _basbicsRepositories = basbicsRepositories; _moveBoxRecordRepositories = moveBoxRecordRepositories; _boxRepositories = boxRepositories; _serialNumberService = serialNumberService; @@ -76,13 +76,16 @@ namespace WMS.Web.Domain.Services boxList.Add(destBox); //2.修改库存时需要区别 有原箱和没有原箱的情况 - + var subStock= await _basbicsRepositories.GetSubUcStockAsync(dto.SubStockId, loginInfo.UserInfo.CompanyId); //var entity = _mapper.Map(dto);\ List list = new List(); foreach (var d in dto.Details) { ChangeBoxRecord entity = new ChangeBoxRecord(); 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); } var inventoryList = new List(); @@ -92,7 +95,7 @@ namespace WMS.Web.Domain.Services //需要修改库存 IDbContextTransaction _transaction = null; if (isTransaction) - _transaction = _transactionRepositories.GetTransaction(); + _transaction = _basbicsRepositories.GetTransaction(); Result res_Rollback = Result.ReSuccess(); bool isSuccess = true; var res_Inventory = await _boxInventoryService.GenerateChangeBox(inventoryList, false); @@ -115,7 +118,7 @@ namespace WMS.Web.Domain.Services //提交事务 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 (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); @@ -142,7 +145,7 @@ namespace WMS.Web.Domain.Services var inventoryList = _mapper.Map>(dto); inventoryList.ForEach(f => f.InventoryInOutType = IsUp == true ? 1 : 2); - IDbContextTransaction _transaction = _transactionRepositories.GetTransaction(); + IDbContextTransaction _transaction = _basbicsRepositories.GetTransaction(); bool isSuccess = true; Result res_Rollback = Result.ReSuccess(); 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; } //提交事务 - 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 (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);