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)
{