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); }