From f083dc810c2b8dec1b6c2860e1c5c2b4be558dfb Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Thu, 14 Dec 2023 14:16:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 | Bin 232149 -> 232149 bytes .../SaveChangeBoxRecordRequest.cs | 19 +++++ .../IService/IChangeMoveBoxService.cs | 7 +- .../Services/ChangeMoveBoxService.cs | 80 ++++++++++++++++++ 4 files changed, 105 insertions(+), 1 deletion(-) diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index d681219ab45e27a7ce876e47e0cddf1f4576d31a..5ad8fcf9f166110da6975fd8dec0f7060a5240b0 100644 GIT binary patch delta 22635 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 G*7!d=?-|?x delta 23086 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 public class SaveChangeBoxRecordRequest { + public SaveChangeBoxRecordRequest() { } + public SaveChangeBoxRecordRequest(int srcBoxId, int destBoxId) + { + this.SrcBoxId = srcBoxId; + this.DestBoxId = destBoxId; + } /// /// 原箱子ID /// @@ -34,6 +40,19 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord /// public class SaveChangeBoxRecordDetailsRequest { + public SaveChangeBoxRecordDetailsRequest() { } + public SaveChangeBoxRecordDetailsRequest(int materialId, decimal qty, List serialNumbers) + { + this.MaterialId = materialId; + this.Qty = qty; + this.SerialNumbers = serialNumbers; + } + public SaveChangeBoxRecordDetailsRequest(int materialId, decimal qty, string serialNumber) + { + this.MaterialId = materialId; + this.Qty = qty; + this.SerialNumbers.Add(serialNumber); + } /// /// 物料ID /// diff --git a/src/WMS.Web.Domain/IService/IChangeMoveBoxService.cs b/src/WMS.Web.Domain/IService/IChangeMoveBoxService.cs index c4183075..ca438771 100644 --- a/src/WMS.Web.Domain/IService/IChangeMoveBoxService.cs +++ b/src/WMS.Web.Domain/IService/IChangeMoveBoxService.cs @@ -7,6 +7,7 @@ using WMS.Web.Core.Dto.ChangeBoxRecord; using WMS.Web.Core.Dto.Login; using WMS.Web.Core.Dto.MoveBoxRecord; using WMS.Web.Core.Internal.Results; +using WMS.Web.Domain.Entitys; using WMS.Web.Domain.Services; namespace WMS.Web.Domain.IService @@ -20,6 +21,10 @@ namespace WMS.Web.Domain.IService Task ChangeBoxSave(List dto, LoginInDto loginInfo, bool isTransaction=true,bool IsInventory=true); //移箱保存 Task MoveBoxSave(List dto, bool IsUp, LoginInDto loginInfo); - + //出库回退 + Task ChangeBox_BackRecord(BackRecord BackRecord, LoginInDto loginInfo, bool isTransaction = true); + //出库回退 + Task ChangeBox_InStock(InStock InStocks, LoginInDto loginInfo, bool isTransaction = true); + } } diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs index f4982290..72257fba 100644 --- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs +++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs @@ -11,6 +11,7 @@ using WMS.Web.Core.Dto.ChangeBoxRecord; using WMS.Web.Core.Dto.Inventory; using WMS.Web.Core.Dto.Login; using WMS.Web.Core.Dto.MoveBoxRecord; +using WMS.Web.Core.Help; using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Entitys; using WMS.Web.Domain.Infrastructure; @@ -232,5 +233,84 @@ namespace WMS.Web.Domain.Services return Result.ReSuccess(); } + /// + /// 出入库回退改箱 + /// + /// + /// + /// + /// + public async Task ChangeBox_BackRecord(BackRecord backRecord, LoginInDto loginInfo, bool isTransaction = true) + { + List dtoList = new List(); + //目标箱 + var destIds = backRecord.Details.GroupBy(g => g.BoxId); + var serialNumbers = backRecord.Details.SelectMany(s => s.SerialNumbers).ToList(); + var serialNumberList = await _serialNumbersRepositories.GetEntityList(serialNumbers); + foreach (var detail in backRecord.Details) + { + if (detail.Qty == 0) continue; + var detailClone = detail.Clone(); + //处理序列号 + var sList = serialNumberList.Where(w => detailClone.SerialNumbers.Contains(w.SerialNumber)).ToList(); + foreach (var s in sList) + { + //原箱和目标箱一样不处理 + if (s.BoxId == detailClone.BoxId) + { + detailClone.Qty = detailClone.Qty - 1; + detailClone.SerialNumbers.Remove(s.SerialNumber); + continue; + } + + var d = dtoList.FirstOrDefault(f => f.DestBoxId == detailClone.BoxId && f.SrcBoxId == s.BoxId); + if (d == null) + { + d = new SaveChangeBoxRecordRequest(0, detail.BoxId); + d.Details.Add(new SaveChangeBoxRecordDetailsRequest(detail.MaterialId, 1, s.SerialNumber)); + } + else + { + var dtoDetail = d.Details.FirstOrDefault(f => f.MaterialId == detail.MaterialId); + if (dtoDetail == null) + d.Details.Add(new SaveChangeBoxRecordDetailsRequest(detail.MaterialId, 1, s.SerialNumber)); + else + { + dtoDetail.Qty += 1; + dtoDetail.SerialNumbers.Add(s.SerialNumber); + } + } + detailClone.Qty = detailClone.Qty - 1; + detailClone.SerialNumbers.Remove(s.SerialNumber); + } + + //处理非序列号的数据 + if (detailClone.Qty <= 0) continue; + var dto = dtoList.FirstOrDefault(f => f.DestBoxId == detail.BoxId && f.SrcBoxId == 0); + if (dto == null) + { + dto = new SaveChangeBoxRecordRequest(0, detailClone.BoxId); + dto.Details.Add(new SaveChangeBoxRecordDetailsRequest(detailClone.MaterialId, detailClone.Qty, detailClone.SerialNumbers)); + } + else + { + var dtoDetail = dto.Details.FirstOrDefault(f => f.MaterialId == detailClone.MaterialId); + if (dtoDetail == null) + dto.Details.Add(new SaveChangeBoxRecordDetailsRequest(detailClone.MaterialId, detailClone.Qty, detailClone.SerialNumbers)); + else + { + dtoDetail.Qty += detailClone.Qty; + dtoDetail.SerialNumbers.AddRange(detailClone.SerialNumbers); + } + } + } + + return await ChangeBoxSave(dtoList, loginInfo, isTransaction, false); + } + + public Task ChangeBox_InStock(InStock inStock, LoginInDto loginInfo, bool isTransaction = true) + { + throw new NotImplementedException(); + } } }