From b6042ae2ba4f182306729cf3f1e314d6f3e9c5c9 Mon Sep 17 00:00:00 2001
From: 18923810322 <1666941798@qq.com>
Date: Wed, 23 Jul 2025 09:21:23 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=87=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../wwwroot/BarCode.Web.Core.xml | 5 +
.../SerialNumbers/SerialNumberInfoResponse.cs | 6 +-
.../SerialNumbersRepositories.cs | 97 ++++++++++++++++++-
3 files changed, 104 insertions(+), 4 deletions(-)
diff --git a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml
index e00a6a9..b36fa60 100644
--- a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml
+++ b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml
@@ -3154,6 +3154,11 @@
第二个序列号
+
+
+ 套装号
+
+
序列号列表搜索请求参数
diff --git a/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumberInfoResponse.cs b/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumberInfoResponse.cs
index d1b92d0..db258d4 100644
--- a/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumberInfoResponse.cs
+++ b/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumberInfoResponse.cs
@@ -251,7 +251,11 @@ namespace BarCode.Web.Core.Dto.SerialNumbers
///
[Ignore]
public string TwoSerialNumber { get; set; } = string.Empty;
-
+ ///
+ /// 套装号
+ ///
+ [Ignore]
+ public string SuitNumber { get; set; } = string.Empty;
}
diff --git a/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs b/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs
index d652365..0300101 100644
--- a/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs
+++ b/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs
@@ -395,7 +395,7 @@ namespace BarCode.Web.Repositories
.GroupJoin(_context.SerialNumberGenerateRecord, s => s.serial.GenerateRecordId, sg => sg.Id, (serial, sg) => new { serial.serial, serial.box, sg })
.SelectMany(x => x.sg.DefaultIfEmpty(), (p, sg) => new { p.serial, p.box, sg })
.OrderByDescending(o => o.serial.Id)
- .Where(f => dto.GenerateRecordId == f.serial.GenerateRecordId && f.serial.SuitNumber==f.serial.SerialNumber);
+ .Where(f => dto.GenerateRecordId == f.serial.GenerateRecordId );
if (loginInfo.UserInfo.IsAdmin != true && !string.IsNullOrEmpty(dto.OrgCode))
{
var rec_type = dto.OrgCode.Substring(0, 1);
@@ -479,6 +479,8 @@ namespace BarCode.Web.Repositories
int total = await query.CountAsync();
+
+
var list = await query.Select(s => new SerialNumberInfoResponse2()
{
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber),
@@ -505,9 +507,98 @@ namespace BarCode.Web.Repositories
DownLoadTime = s.serial.DownLoadTime.DateToStringSeconds(),
PrintTime = s.serial.PrintTime.DateToStringSeconds(),
IsTwo = s.serial.IsTwo,
+ SuitNumber=s.serial.SuitNumber,
TwoSerialNumber = s.serial.TwoSerialNumber.Replace(s.serial.SerialNumber, "").Replace(",", "")
- }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
- return (list, total);
+ }).ToListAsync();
+ List returnList= new List();
+ SerialNumberInfoResponse2 list2 = new SerialNumberInfoResponse2();
+ for (int i = 0; i < list.Count; i++)
+ {
+ if(list[i] != null)
+ {
+ if (list[i].SuitNumber == list[i].SerialNumber)
+ {
+
+ List sn = new List();
+ sn.Add(list[i].TwoSerialNumber.Replace(list[i].SuitNumber,"").Replace(",",""));
+ var serialNumbers = await GetEntityList(sn);
+ //说明是两件装,且是两件装的主号
+ list2.Specifications = list[i].Specifications;
+ list2.Old_Specifications = list[i].Old_Specifications;
+ list2.MaterialNumber = list[i].MaterialNumber;
+ list2.MaterialName = list[i].MaterialName;
+ list2.BarCode = list[i].BarCode;
+ list2.SerialNumber = list[i].SerialNumber;
+ list2.SerialNumber2 = serialNumbers[0].SerialNumber;
+ list2.NumberCode = list[i].NumberCode;
+ list2.NumberCode2 = serialNumbers[0].NumberCode;
+ list2.Number = list[i].Number;
+ list2.Id = list[i].Id;
+ list2.Id2 = serialNumbers[0].Id;
+ list2.IsUse = list[i].IsUse;
+ list2.IsUseStr = list[i].IsUseStr;
+ list2.IsEnablePrint = list[i].IsEnablePrint;
+ list2.Box = list[i].Box;
+ list2.Creator = list[i].Creator;
+ list2.CreateTime = list[i].CreateTime;
+ list2.PrintNumber = list[i].PrintNumber;
+ list2.DownLoadNumber = list[i].DownLoadNumber;
+ list2.PrintTime = list[i].PrintTime;
+ list2.IsTwo = list[i].IsTwo;
+ list2.TwoSerialNumber = list[i].TwoSerialNumber;
+ returnList.Add(list2);
+ }
+ else
+ {
+ List sn = new List();
+ sn.Add(list[i].SerialNumber);
+ var serialNumbers = await GetEntityList(sn);
+ //判断号码有没有在要返回的list中,如果有的话,那就不加了。
+
+ if(dto.SerialNumbers!=null)
+ {
+ bool exist = dto.SerialNumbers.Contains(serialNumbers[0].SuitNumber);
+ if (exist == false)
+ {
+ List sn2 = new List();
+ sn2.Add(list[i].TwoSerialNumber.Replace(list[i].SerialNumber, "").Replace(",", "")) ;
+ serialNumbers = await GetEntityList(sn2);
+ //说明是两件装,且是两件装的主号
+ list2.Specifications = list[i].Specifications;
+ list2.Old_Specifications = list[i].Old_Specifications;
+ list2.MaterialNumber = list[i].MaterialNumber;
+ list2.MaterialName = list[i].MaterialName;
+ list2.BarCode = list[i].BarCode;
+ list2.SerialNumber = list[i].SerialNumber;
+ list2.SerialNumber2 = serialNumbers[0].SerialNumber;
+ list2.NumberCode = list[i].NumberCode;
+ list2.NumberCode2 = serialNumbers[0].NumberCode;
+ list2.Number = list[i].Number;
+ list2.Id = list[i].Id;
+ list2.Id2 = serialNumbers[0].Id;
+ list2.IsUse = list[i].IsUse;
+ list2.IsUseStr = list[i].IsUseStr;
+ list2.IsEnablePrint = list[i].IsEnablePrint;
+ list2.Box = list[i].Box;
+ list2.Creator = list[i].Creator;
+ list2.CreateTime = list[i].CreateTime;
+ list2.PrintNumber = list[i].PrintNumber;
+ list2.DownLoadNumber = list[i].DownLoadNumber;
+ list2.PrintTime = list[i].PrintTime;
+ list2.IsTwo = list[i].IsTwo;
+ list2.TwoSerialNumber = list[i].TwoSerialNumber;
+ returnList.Add(list2);
+ }
+
+ }
+
+
+ }
+ }
+ }
+
+
+ return (returnList, total);
}