diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 1ed35a82..46b4538d 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -465,6 +465,11 @@ 单据类型 + + + 非采购上架方式 + + 客户 @@ -1570,6 +1575,36 @@ 同步成功或者失败 + + + 非采购单上架请求对象-按箱 + + + + + 单据ID(等同-入库任务单ID) + + + + + 上架方式 + + + + + 箱集合 + + + + + 入库任务单明细 + + + + + 入库单明细 + + 采购上架-请求对象 @@ -1625,6 +1660,11 @@ 入库数量 + + + 序列号集 + + 保存入库单-请求对象 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index ee88f33b..a975a6ec 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -459,6 +459,12 @@ + + + 非采购上架 + + + erp入库任务单的对应box箱信息表 @@ -1530,6 +1536,14 @@ + + + 上架-非采购订单 + + + + + 获取任务单:根据箱号信息 @@ -1537,7 +1551,7 @@ - + 修改-入库任务信息 @@ -2299,7 +2313,7 @@ 改箱 移箱服务 - + 改箱保存 @@ -2343,6 +2357,14 @@ + + + 非采购单上架-按箱 + + + + + 获取任务单:根据箱号信息 @@ -2350,7 +2372,7 @@ - + 采购上架-保存 @@ -2359,7 +2381,16 @@ - + + + 非采购上架-按箱-保存 + + + + + + + 修改-入库任务信息 @@ -3387,6 +3418,21 @@ 序列号操作类型 + + + 非采购上架方式 + + + + + 按箱上架 + + + + + 按产品上架 + + 对接单点的接口方法-枚举 diff --git a/src/WMS.Web.Core/Dto/InStock/SaveInStockDetailsRequest.cs b/src/WMS.Web.Core/Dto/InStock/SaveInStockDetailsRequest.cs index c5ede866..deee7715 100644 --- a/src/WMS.Web.Core/Dto/InStock/SaveInStockDetailsRequest.cs +++ b/src/WMS.Web.Core/Dto/InStock/SaveInStockDetailsRequest.cs @@ -55,5 +55,10 @@ namespace WMS.Web.Core.Dto.InStock /// [Required(ErrorMessage = "入库数量不能为空")] public decimal Qty { get; set; } + + /// + /// 序列号集 + /// + public List SerialNumbers { get; set; } = new List(); } } diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index f316cc27..3669bb08 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -127,7 +127,7 @@ namespace WMS.Web.Domain.Services bool isRollback = false; bool isTransaction = false; //保存非采购上架的数据 - var shelfSave_result = await this.ShelfNoPurchaseSave(dto,loginInDto.UserInfo.StaffId, isTransaction); + var shelfSave_result = await this.ShelfNoPurchaseSave(dto, loginInDto, isTransaction); if(!shelfSave_result.IsSuccess) isRollback = true; //提交事务 var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction); @@ -209,7 +209,7 @@ namespace WMS.Web.Domain.Services /// /// /// - private async Task ShelfNoPurchaseSave(NoPurchaseShelfRequest dto,int staffId, bool isTransaction = true) + private async Task ShelfNoPurchaseSave(NoPurchaseShelfRequest dto, LoginInDto loginInfo, bool isTransaction = true) { //1.修改-入库任务单的信息 @@ -218,7 +218,7 @@ namespace WMS.Web.Domain.Services updateInStockTaskRequest.Boxs = dto.Boxs; updateInStockTaskRequest.Details = dto.TaskDetails; //2.修改后返回当前实体 - var update_result = await this.Update(updateInStockTaskRequest, staffId, null, isTransaction, true); + var update_result = await this.Update(updateInStockTaskRequest, loginInfo.UserInfo.StaffId, null, isTransaction, true); if (!update_result.IsSuccess) return update_result; @@ -226,23 +226,35 @@ namespace WMS.Web.Domain.Services var entity = new InStock(); entity.Type = update_result.Data.Type; entity.Details = _mapper.Map>(dto.Details); - entity.Create(staffId); + entity.Create(loginInfo.UserInfo.StaffId); //需要填写序列号 //需要修改库存 //需要同步金蝶 + //添加入库单信息 entity = await _inStockRepositories.Add(entity, isTransaction); - - if (entity != null) - return Result.ReSuccess(); - else + if(entity==null) return Result.ReFailure(ResultCodes.DateWriteError); - //当按产品上架:就要调用该箱的操作; - var changeBox = new SaveChangeBoxRecordRequest(); - - //await _changeMoveBoxService.ChangeBoxSave() + //当按产品上架:就要调用改箱的操作; + if (dto.ShelfMethod == (int)ShelfMethod.Product) + { + var changeBox = new SaveChangeBoxRecordRequest(); + changeBox.DestBoxId = dto.Boxs.FirstOrDefault().BoxId; + foreach (var item in dto.Details) + { + var changeBoxRD = new SaveChangeBoxRecordDetailsRequest(); + changeBoxRD.MaterialId = item.MaterialId; + changeBoxRD.Qty = item.Qty; + changeBoxRD.SerialNumbers = item.SerialNumbers; + } + //改箱保存操作 + var changeBoxSave_Result = await _changeMoveBoxService.ChangeBoxSave(changeBox, loginInfo, isTransaction); + if (!changeBoxSave_Result.IsSuccess) + return changeBoxSave_Result; + } + return Result.ReSuccess(); } ///