From 9bce3f42a8cd229b74a3d0c9b85a7acb9e46791e Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Wed, 22 Nov 2023 16:15:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/Controllers/TestController.cs | 8 +++++ src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 25 --------------- src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 6 ++-- .../SaveChangeBoxRecordRequest.cs | 2 +- .../MoveBoxRecord/SaveMoveBoxRecordRequest.cs | 5 --- .../Dto/TakeStock/SaveTakeStockRequest.cs | 5 --- src/WMS.Web.Domain/Entitys/MoveBoxRecord.cs | 7 +++-- .../Mappers/ChangeBoxRecordMapper.cs | 4 +-- .../Services/ChangeMoveBoxService.cs | 31 ++++++++++--------- .../Services/TakeStockService.cs | 5 +++ 10 files changed, 39 insertions(+), 59 deletions(-) diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index f6124e8f..7348913d 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -66,6 +66,14 @@ namespace WMS.Web.Api.Controllers return ""; } + [HttpGet] + [Route("Refresh")] + public async Task Refresh() + { + var result = await this._outStockTaskService.Sync(null); + return ""; + } + [HttpGet] [Route("tf")] public async Task TestTF() diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 5a1f52bb..7c34f5df 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -435,26 +435,11 @@ 目标箱子ID - - - 目标箱的仓库或重新上架选择仓位对应的仓库 - - 目标箱仓位或重新上架选择仓位 - - - 原箱组织编码 - - - - - 目标箱组织编码 - - 明细 @@ -3351,11 +3336,6 @@ 箱号ID - - - 仓库 - - 仓位ID @@ -4121,11 +4101,6 @@ 物料ID - - - 仓库ID - - 仓位ID diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 0b0a07af..ddff6762 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -945,12 +945,12 @@ - 原仓位编码 + 原仓位Id - 目标仓位编码 + 目标仓位Id @@ -973,7 +973,7 @@ 操作时间 - + 创建 diff --git a/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs b/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs index e5e8a63a..e7e1184a 100644 --- a/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs +++ b/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs @@ -23,7 +23,7 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord /// 目标箱仓位或重新上架选择仓位 /// [Required(ErrorMessage = "仓位不能为空")] - public int SubStockId { get; set; } + public int SubStockId { get; set; } = 0; /// /// 明细 /// diff --git a/src/WMS.Web.Core/Dto/MoveBoxRecord/SaveMoveBoxRecordRequest.cs b/src/WMS.Web.Core/Dto/MoveBoxRecord/SaveMoveBoxRecordRequest.cs index 27c44d62..674bfb59 100644 --- a/src/WMS.Web.Core/Dto/MoveBoxRecord/SaveMoveBoxRecordRequest.cs +++ b/src/WMS.Web.Core/Dto/MoveBoxRecord/SaveMoveBoxRecordRequest.cs @@ -16,11 +16,6 @@ namespace WMS.Web.Core.Dto.MoveBoxRecord [Required(ErrorMessage = "箱号不能为空")] public int BoxId { get; set; } /// - /// 仓库 - /// - [Required(ErrorMessage = "仓库不能为空")] - public string StockCode { get; set; } - /// /// 仓位ID /// [Required(ErrorMessage = "仓位不能为空")] diff --git a/src/WMS.Web.Core/Dto/TakeStock/SaveTakeStockRequest.cs b/src/WMS.Web.Core/Dto/TakeStock/SaveTakeStockRequest.cs index 8ae1cd76..13fabec4 100644 --- a/src/WMS.Web.Core/Dto/TakeStock/SaveTakeStockRequest.cs +++ b/src/WMS.Web.Core/Dto/TakeStock/SaveTakeStockRequest.cs @@ -21,11 +21,6 @@ namespace WMS.Web.Core.Dto.TakeStock [Required(ErrorMessage = "物料不能为空")] public int MaterialId { get; set; } /// - /// 仓库ID - /// - [Required(ErrorMessage = "仓库不能为空")] - public string StockCode { get; set; } - /// /// 仓位ID /// [Required(ErrorMessage = "仓位不能为空")] diff --git a/src/WMS.Web.Domain/Entitys/MoveBoxRecord.cs b/src/WMS.Web.Domain/Entitys/MoveBoxRecord.cs index 1ce60a7c..f455f0e9 100644 --- a/src/WMS.Web.Domain/Entitys/MoveBoxRecord.cs +++ b/src/WMS.Web.Domain/Entitys/MoveBoxRecord.cs @@ -41,12 +41,12 @@ namespace WMS.Web.Domain.Entitys [Column("StockCode")] public string StockCode { get; set; } /// - /// 原仓位编码 + /// 原仓位Id /// [Column("SrcSubStockId")] public int SrcSubStockId { get; set; } /// - /// 目标仓位编码 + /// 目标仓位Id /// [Column("DestSubStockId")] public int DestSubStockId { get; set; } @@ -75,10 +75,11 @@ namespace WMS.Web.Domain.Entitys /// 创建 /// /// - public void Create(MoveBoxType type, int boxId, string stockCode, int subStockId, int creatorId) + public void Create(MoveBoxType type, int boxId,string orgCode, string stockCode, int subStockId, int creatorId) { this.BoxId = boxId; this.Type = type; + this.OrgCode = orgCode; this.StockCode = stockCode; SrcSubStockId = type == MoveBoxType.Up ? 0 : subStockId;//上架 原仓位是0 目标仓位有值 DestSubStockId = type == MoveBoxType.Up ? subStockId : 0; //下架 原仓位有值 目标仓位是0 diff --git a/src/WMS.Web.Domain/Mappers/ChangeBoxRecordMapper.cs b/src/WMS.Web.Domain/Mappers/ChangeBoxRecordMapper.cs index 8bc41ee3..9887286c 100644 --- a/src/WMS.Web.Domain/Mappers/ChangeBoxRecordMapper.cs +++ b/src/WMS.Web.Domain/Mappers/ChangeBoxRecordMapper.cs @@ -19,9 +19,7 @@ namespace WMS.Web.Domain.Mappers CreateMap() .ForMember(x => x.BoxId, ops => ops.MapFrom(x => x.SrcBoxId)) - .ForMember(x => x.TargetBoxId, ops => ops.MapFrom(x => x.DestBoxId)) - .ForMember(x => x.BoxOrgCode, ops => ops.MapFrom(x => x.SrcBoxOrgCode)) - .ForMember(x => x.TargetBoxOrgCode, ops => ops.MapFrom(x => x.DestBoxOrgCode)); + .ForMember(x => x.TargetBoxId, ops => ops.MapFrom(x => x.DestBoxId)); CreateMap(); } } diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs index b335895f..2dd937f3 100644 --- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs +++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs @@ -75,31 +75,29 @@ namespace WMS.Web.Domain.Services if (destBox != null) 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); + entity.SrcSubStockId = 0;//原乡仓位需要去拉一下库存获取 + if (subStock != null) + { + entity.DestSubStockId = dto.SubStockId; + entity.DestBoxOrgCode = subStock.ErpOrgCode; + entity.DestStockCode = subStock.StockCode; + } + list.Add(entity); } - var inventoryList = new List(); - inventoryList.Add(_mapper.Map(dto)); - //需要填写序列号 - //需要修改库存 IDbContextTransaction _transaction = null; if (isTransaction) _transaction = _basbicsRepositories.GetTransaction(); Result res_Rollback = Result.ReSuccess(); bool isSuccess = true; - var res_Inventory = await _boxInventoryService.GenerateChangeBox(inventoryList, false); - if (!res_Inventory.IsSuccess) res_Rollback = res_Inventory; + if (res_Rollback.IsSuccess) { isSuccess = await _changeBoxRecordRepositories.AddRange(list, false); @@ -115,6 +113,11 @@ namespace WMS.Web.Domain.Services isSuccess = await _boxRepositories.EditEntityList(boxList, false); if (!isSuccess) res_Rollback= Result.ReFailure(ResultCodes.DateWriteError); } + if(res_Rollback.IsSuccess) + { + var res_Inventory = await _boxInventoryService.GenerateChangeBox(list, false); + if (!res_Inventory.IsSuccess) res_Rollback = res_Inventory; + } //提交事务 if (isTransaction) { @@ -134,12 +137,12 @@ namespace WMS.Web.Domain.Services public async Task MoveBoxSave(List dto, bool IsUp, LoginInDto loginInfo) { //1.下架时 需要验证箱是否在库存里 - List entityList = new List(); foreach (var d in dto) { + var subStock = await _basbicsRepositories.GetSubUcStockAsync(d.SubStockId, loginInfo.UserInfo.CompanyId); var entity = new MoveBoxRecord(); - entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, d.StockCode, d.SubStockId, loginInfo.UserInfo.StaffId); + entity.Create(IsUp == true ? MoveBoxType.Up : MoveBoxType.Down, d.BoxId, subStock ?.ErpOrgCode, subStock?.StockCode, d.SubStockId, loginInfo.UserInfo.StaffId); entityList.Add(entity); } var inventoryList = _mapper.Map>(dto); diff --git a/src/WMS.Web.Domain/Services/TakeStockService.cs b/src/WMS.Web.Domain/Services/TakeStockService.cs index e271a6b6..5d59015b 100644 --- a/src/WMS.Web.Domain/Services/TakeStockService.cs +++ b/src/WMS.Web.Domain/Services/TakeStockService.cs @@ -64,7 +64,12 @@ namespace WMS.Web.Domain.Services { List list = _mapper.Map>(dto); foreach (var entity in list) + { + var subStock = await _transactionRepositories.GetSubUcStockAsync(entity.SubStockId, loginInfo.UserInfo.CompanyId); entity.Create(loginInfo.UserInfo.StaffId); + entity.OrgCode = subStock?.ErpOrgCode; + entity.StockCode = subStock?.StockCode; + } #region 组装库存dto List inventoryList = new List();