From 6c7dfa8ef9c80a560a901ee3fbb3f002cd9ea322 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Fri, 29 Dec 2023 09:35:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/ChangeMoveBoxService.cs | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs index 33b647cc..41317f72 100644 --- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs +++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs @@ -65,8 +65,10 @@ namespace WMS.Web.Domain.Services public async Task ChangeBoxSave(List dto, LoginInDto loginInfo, bool isTransaction = false, bool IsInventory = true, bool IsPDA = false) { _logger.LogInformation($"改箱:{JsonConvert.SerializeObject(dto)} 操作人:{loginInfo.UserInfo.StaffId}"); + bool isAddBox = false; if (IsPDA) { + //处理目标箱不在系统的情况,需要先增加箱信息 var d = dto.First(); if (d.DestBoxId == 0) { @@ -75,6 +77,7 @@ namespace WMS.Web.Domain.Services if (!res.IsSuccess) return res; dBox = await _boxRepositories.GetByNo(d.DestBoxBillNo); dto.First().DestBoxId = dBox.Id; + isAddBox = true; } } //1.有原箱时 需要判断 物料对应的序列号是否存在 @@ -136,13 +139,16 @@ namespace WMS.Web.Domain.Services res = srcBox.Out(l); if (!res.IsSuccess) return res; } - //目标箱移入 - res = destBox.In(l); - if (!res.IsSuccess) return res; if (srcBox != null) boxList.Add(srcBox); - if (destBox != null) - boxList.Add(destBox); + //目标箱移入 + if (!isAddBox) + { + res = destBox.In(l); + if (!res.IsSuccess) return res; + if (destBox != null) + boxList.Add(destBox); + } } List list = new List(); @@ -213,6 +219,20 @@ namespace WMS.Web.Domain.Services //增加一个空箱子 List list = new List(); OpsBoxResponse response = new OpsBoxResponse() { BoxBillNo = dto.DestBoxBillNo }; + foreach (var d in dto.Details) + { + List s = new List(); + foreach (var sd in d.SerialNumbers) + { + s.Add(new OpsSerialNumbersResponse() { SerialNumber = sd }); + } + OpsBoxDetailsResponse dr = new OpsBoxDetailsResponse() + { + MaterialId = d.MaterialId, + Qty = d.Qty, + SerialNumbers = s + }; + } list.Add(response); return await _boxService.Sync(list); }