From 359c09cab485273cb29aad00baf556e4bfeda191 Mon Sep 17 00:00:00 2001 From: 18923810322 <1666941798@qq.com> Date: Sat, 10 May 2025 10:11:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=BF=AB=E8=A3=85=E7=AE=B1=E9=80=9F?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wwwroot/BarCode.Web.Core.xml | 5 + .../Dto/Box/SaveBoxDetailsRequest.cs | 5 + src/BarCode.Web.Domain/Services/BoxService.cs | 135 ++++++++++++------ 3 files changed, 100 insertions(+), 45 deletions(-) diff --git a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml index 3623e09..ea489ad 100644 --- a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml +++ b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml @@ -621,6 +621,11 @@ 序列号 + + + 第二件装 + + 保存箱信息(装箱保存,完成装箱) diff --git a/src/BarCode.Web.Core/Dto/Box/SaveBoxDetailsRequest.cs b/src/BarCode.Web.Core/Dto/Box/SaveBoxDetailsRequest.cs index a970df1..ad2f317 100644 --- a/src/BarCode.Web.Core/Dto/Box/SaveBoxDetailsRequest.cs +++ b/src/BarCode.Web.Core/Dto/Box/SaveBoxDetailsRequest.cs @@ -22,5 +22,10 @@ namespace BarCode.Web.Core.Dto.Box /// [Required(ErrorMessage = "序列号不能为空")] public string SerialNumber { get; set; } = string.Empty; + /// + /// 第二件装 + /// + public string TwoSerialNumber { get; set; } = string.Empty; + } } diff --git a/src/BarCode.Web.Domain/Services/BoxService.cs b/src/BarCode.Web.Domain/Services/BoxService.cs index ceaaf24..a2fd74f 100644 --- a/src/BarCode.Web.Domain/Services/BoxService.cs +++ b/src/BarCode.Web.Domain/Services/BoxService.cs @@ -105,7 +105,15 @@ namespace BarCode.Web.Domain.Services dto.Details = dto.Details.Distinct().ToList(); var sAll = dto.Details.Select(s => s.SerialNumber).ToList(); var serialNumberList = await _serialNumbersRepositories.GetEntityListContainNumber(sAll); - List serialList; + // List serialList; + + //两件装 + var sAllTwo = dto.Details.Select(s => s.TwoSerialNumber).ToList(); + sAllTwo.RemoveAll(string.IsNullOrEmpty); + var serialNumberListTwo = await _serialNumbersRepositories.GetEntityListContainNumber(sAllTwo); + // List serialListTwo; + + if (serialNumberList.Count() != sAll.Count()) return Result.ReFailure(ResultCodes.SerialNumberNoDateError); if (serialNumberList.Where(w => w.BoxId != 0 || w.IsUse == true).Any()) @@ -127,32 +135,53 @@ namespace BarCode.Web.Domain.Services s.Clear(); var detail = box.Details.FirstOrDefault(f => f.MaterialNumber.Equals(m)); var serialNumbers = dto.Details.Where(w => w.MaterialNumber.Equals(m)).Select(s => s.SerialNumber).ToList(); - for(int i=0;i w.MaterialNumber.Equals(m)).Select(s => s.TwoSerialNumber).ToList(); + var intCount = serialNumbers.Count(); + s = serialNumbers; + serialNumbersTwo.RemoveAll(string.IsNullOrEmpty); + if (serialNumbersTwo != null) { - //跟据serialNumbers 取得对应的serialNumber - var serialList2 = await _serialNumbersRepositories.GetEntityListBySuitNumber(serialNumbers[i]); - for (int j = 0; j < serialList2.Count; j++) + for(int i = 0; i < serialNumbersTwo.Count; i++) { - s.Add( serialList2[j].SerialNumber); + s.Add(serialNumbersTwo[i]); } - } + s.OrderDescending(); + + + + //for(int i=0;i s.SerialNumber).Reverse()) { - ////原来的 - //var serial = serialNumberList.FirstOrDefault(f => f.SerialNumber.Equals(d) - //|| f.NumberCode.Equals(d)); - //if (serial == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError); - //serial.CompleteBox(box.Id, d); - ////原来的到此 - - - serialList = await _serialNumbersRepositories.GetEntityListBySuitNumber(d); + //原来的 + var serial = serialNumberList.FirstOrDefault(f => f.SerialNumber.Equals(d) + || f.NumberCode.Equals(d)); + if (serial == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError); + serial.CompleteBox(box.Id, d,"0"); + //原来的到此 - if (serialList == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError); - if (serialList.Count == 0) return Result.ReFailure(ResultCodes.SerialNumberNoDateError); + //serialList = await _serialNumbersRepositories.GetEntityListBySuitNumber(d); + + + //if (serialList == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError); + //if (serialList.Count == 0) return Result.ReFailure(ResultCodes.SerialNumberNoDateError); - for (int i = 0; i < serialList.Count; i++) - { - if(serialList[i].SerialNumber.ToString() == d) - { - serialList[i].CompleteBox(box.Id, d,"0"); - } - else - { - serialList[i].CompleteBox(box.Id, d,"1"); - } + //for (int i = 0; i < serialList.Count; i++) + //{ + // if (serialList[i].SerialNumber.ToString() == d) + // { + // serialList[i].CompleteBox(box.Id, d, "0"); + // } + // else + // { + // serialList[i].CompleteBox(box.Id, d, "1"); + // } - } - if (!res_Rollback) - { - isSuccess = await _serialNumbersRepositories.EditEntityList(serialList, false); - if (!isSuccess) res_Rollback = true; - } + //} + //if (!res_Rollback) + //{ + // isSuccess = await _serialNumbersRepositories.EditEntityList(serialNumberList, false); + // if (!isSuccess) res_Rollback = true; + //} } + //装箱 + foreach (var d in dto.Details.Select(s => s.TwoSerialNumber).Reverse()) + { - + + //原来的 + if (d==null) continue; + if (d == "") continue; + var serial = serialNumberListTwo.FirstOrDefault(f => f.SerialNumber.Equals(d) + || f.NumberCode.Equals(d)); + + if (serial == null) return Result.ReFailure(ResultCodes.SerialNumberNoDateError); + serial.CompleteBox(box.Id, d, "1"); + } var res = await _boxRepositories.Edit(box, false); if (res == null) res_Rollback = true; - //if (!res_Rollback) - //{ - // isSuccess = await _serialNumbersRepositories.EditEntityList(serialNumberList, false); - // if (!isSuccess) res_Rollback = true; - //} - + if (!res_Rollback) + { + isSuccess = await _serialNumbersRepositories.EditEntityList(serialNumberList, false); + if (!isSuccess) res_Rollback = true; + } + if (!res_Rollback) + { + isSuccess = await _serialNumbersRepositories.EditEntityList(serialNumberListTwo, false); + if (!isSuccess) res_Rollback = true; + } if (!res_Rollback) {