From de6998c6b9e1c3733287706cdeca29ee51e0fa3a Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Sat, 25 Nov 2023 11:52:18 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E4=B8=8A=E6=9E=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 5 ++++ .../InStockTask/ContrastMaterialsResponse.cs | 5 ++++ .../Services/BoxInventoryService.cs | 2 +- src/WMS.Web.Domain/Services/InStockService.cs | 30 ++++++++++++------- 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index bb2783c4..9798bd35 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -1295,6 +1295,11 @@ 数量 + + + 序列号 + + 模糊查询来源单据-请求对象 diff --git a/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs b/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs index 83413739..b9d21d7d 100644 --- a/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs +++ b/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs @@ -55,5 +55,10 @@ namespace WMS.Web.Core.Dto.InStockTask /// 数量 /// public decimal Qty { get; set; } + + /// + /// 序列号 + /// + public List SerialNumbers { get; set; } = new List(); } } diff --git a/src/WMS.Web.Domain/Services/BoxInventoryService.cs b/src/WMS.Web.Domain/Services/BoxInventoryService.cs index 71f6b454..59660a0c 100644 --- a/src/WMS.Web.Domain/Services/BoxInventoryService.cs +++ b/src/WMS.Web.Domain/Services/BoxInventoryService.cs @@ -475,7 +475,7 @@ namespace WMS.Web.Domain.Services #region 按产品 //3.组装-按产品入库 - var dtoDatas_details_Method_Product = dtoDatas.Where(x => x.Method == InventoryInOutMethod.Box).SelectMany(x => x.Details).ToList(); + var dtoDatas_details_Method_Product = dtoDatas.Where(x => x.Method == InventoryInOutMethod.Product).SelectMany(x => x.Details).ToList(); var generateDtoList_Metod_Product = dtoDatas_details_Method_Product.GroupBy(x => new { x.BoxId, x.OrgCode, x.StockCode, x.SubStockId }) .Select(x => new BoxInventoryGenerateDto() { diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index 3704dd36..307ef6c8 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -31,6 +31,7 @@ namespace WMS.Web.Domain.Services private readonly IErpService _erpService; private readonly ILoginService _loginService; private readonly ISerialNumberService _serialNumberService; + private readonly ISerialNumbersRepositories _serialNumbersRepositories; private readonly IChangeMoveBoxService _changeMoveBoxService; private readonly IBoxRepositories _boxRepositories; private readonly IBoxInventoryService _boxInventoryService; @@ -38,7 +39,7 @@ namespace WMS.Web.Domain.Services private readonly IInStockRepositories _inStockRepositories; private readonly IInStockTaskRepositories _inStockTaskRepositories; private readonly IErpBasicDataExtendService _erpBasicDataExtendService; - public InStockService(IMapper mapper, IErpService erpService, IBoxInventoryService boxInventoryService, ISerialNumberService serialNumberService, ILoginService loginService, IBoxRepositories boxRepositories, + public InStockService(IMapper mapper, ISerialNumbersRepositories serialNumbersRepositories, IErpService erpService, IBoxInventoryService boxInventoryService, ISerialNumberService serialNumberService, ILoginService loginService, IBoxRepositories boxRepositories, IBasicsRepositories basicsRepositories, IErpBasicDataExtendService erpBasicDataExtendService, IChangeMoveBoxService changeMoveBoxService, IInStockRepositories inStockRepositories, IInStockTaskRepositories inStockTaskRepositories) { @@ -53,6 +54,7 @@ namespace WMS.Web.Domain.Services _inStockRepositories = inStockRepositories; _inStockTaskRepositories = inStockTaskRepositories; _erpBasicDataExtendService = erpBasicDataExtendService; + _serialNumbersRepositories = serialNumbersRepositories; } /// @@ -101,13 +103,6 @@ namespace WMS.Web.Domain.Services //1.添加入库单:(同步金蝶在save方法里面进行) var save_result = await this.ShelfSave(instock, InstockType.Purchase, loginInfo, isTransaction); if (!save_result.IsSuccess) isRollback = true; - { - //2.修改入库任务单 - var ids = instock.Details.GroupBy(x => x.TaskId).Select(x => x.Key).ToList(); - var result = await this.UpdateRange(ids, loginInfo.UserInfo.StaffId, false, isTransaction); - if (!result.IsSuccess) isRollback = true; - } - //提交事务 var isSuccess = _basicsRepositories.CommitTransaction(isRollback, _transaction); if (!isSuccess) @@ -200,6 +195,20 @@ namespace WMS.Web.Domain.Services entity.Details = _mapper.Map>(dto.Details); entity.Create(loginInfo.UserInfo.StaffId); + + //序列号集:箱里面的 + var serialNumbers = await _serialNumbersRepositories.GetEntityListByBoxIds(dto.Details.GroupBy(x=>x.BoxId).Select(x => x.Key).ToList()); + + //赋值序列号 + entity.Details.ForEach(x => + { + var current_box_serNums = serialNumbers.Where(t => t.BoxId == x.BoxId).ToList(); + if (current_box_serNums != null) + { + var current_box_mat_serNums = current_box_serNums.Where(t => t.MaterialId == x.MaterialId).Select(t => t.SerialNumber).ToList(); + x.SerialNumbers.AddRange(current_box_mat_serNums); + } + }); //需要填写序列号 //需要修改库存 //需要同步金蝶 @@ -219,7 +228,8 @@ namespace WMS.Web.Domain.Services if (current_dto_det != null) x.DeliveredQty = current_dto_det.Qty; }); - task=await _inStockTaskRepositories.Update(task,isTransaction); + task.Shelf(loginInfo.UserInfo.StaffId); + task =await _inStockTaskRepositories.Update(task,isTransaction); if(task==null) return Result.ReFailure(ResultCodes.DateWriteError); } @@ -439,7 +449,7 @@ namespace WMS.Web.Domain.Services r_box.BoxBillNo = box.BoxBillNo; r_box.BoxId = box.Id; r_box.TotalCount = box.Details.Sum(x => x.Qty); - r_box.Details = _mapper.Map>(box.Details); + r_box.Details = _mapper.Map>(box.Details); response.Boxs.Add(r_box); } return Result.ReSuccess(response);