From 8876659c193cc68aa1fb5bc98a0aa005c4d4eb36 Mon Sep 17 00:00:00 2001 From: 18923810322 <1666941798@qq.com> Date: Tue, 3 Mar 2026 15:57:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=8F=96=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=90=8D=E5=AD=97=E6=9D=A1=E7=A0=81=EF=BC=8C=E8=A7=84?= =?UTF-8?q?=E6=A0=BC=E5=9E=8B=E5=8F=B7=E7=9A=84=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/Public/ErpService.cs | 9 +- .../SerialNumbersRepositories.cs | 145 ++++++++++-------- 2 files changed, 85 insertions(+), 69 deletions(-) diff --git a/src/BarCode.Web.Domain/Services/Public/ErpService.cs b/src/BarCode.Web.Domain/Services/Public/ErpService.cs index a196ff7..555d141 100644 --- a/src/BarCode.Web.Domain/Services/Public/ErpService.cs +++ b/src/BarCode.Web.Domain/Services/Public/ErpService.cs @@ -424,7 +424,14 @@ namespace BarCode.Web.Domain.Services.Public lis.FModifyDate = Convert.ToDateTime(item[12]); lis.FCreateDate = Convert.ToDateTime(item[13]); lis.FDocumentStatus = item[17]; - lis.isDis = "1"; + if(item[17] == "D") + { + lis.isDis = "0"; + } + else + { + lis.isDis = "1"; + } //lis.FProductLines1FName = item[14]; //lis.FProductCATs1FName = item[15]; //lis.FMaterialGroupFName = item[16]; diff --git a/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs b/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs index 91d9967..d6e4679 100644 --- a/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs +++ b/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs @@ -496,11 +496,11 @@ namespace BarCode.Web.Repositories var list = await query.Select(s => new SerialNumberInfoResponse2() { - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber), + Specifications = s.sg.Specifications,//_erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber), Old_Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.Old_MaterialNumber == null ? "" : s.serial.Old_MaterialNumber), MaterialNumber = s.serial.MaterialNumber, - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.serial.MaterialNumber), - BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.serial.MaterialNumber), + MaterialName = s.sg.MaterialName,// _erpBasicDataExtendService.GetMaterialName(materials, s.serial.MaterialNumber), + BarCode = s.sg.BarCode,//_erpBasicDataExtendService.GetMaterialBarCode(materials, s.serial.MaterialNumber), SerialNumber = s.serial.SerialNumber, SerialNumber2 = s.serial.SerialNumber, NumberCode = s.serial.NumberCode, @@ -668,10 +668,10 @@ namespace BarCode.Web.Repositories PurchaseBillNo = s.sg == null ? "" : s.sg.PurchaseBillNo, SuitNumber=s.serial.SuitNumber, TwoSerialNumber=s.serial.TwoSerialNumber, - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber), + Specifications =s.sg.Specifications, //_erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber), MaterialNumber = s.serial.MaterialNumber, - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.serial.MaterialNumber), - BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.serial.MaterialNumber), + MaterialName = s.sg.MaterialName,//_erpBasicDataExtendService.GetMaterialName(materials, s.serial.MaterialNumber), + BarCode = s.sg.BarCode,//_erpBasicDataExtendService.GetMaterialBarCode(materials, s.serial.MaterialNumber), SerialNumber = s.serial.SerialNumber, NumberCode = s.serial.NumberCode, Number = s.sg == null ? 0 : s.sg.Number, @@ -711,10 +711,10 @@ namespace BarCode.Web.Repositories var list = await query.Select(s => new SerialNumbersExportReponse() { PurchaseBillNo= s.sg == null ? "" : s.sg.PurchaseBillNo, - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber), + Specifications =s.sg.Specifications,// _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber), MaterialNumber = s.serial.MaterialNumber, - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.serial.MaterialNumber), - BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.serial.MaterialNumber), + MaterialName =s.sg.MaterialName,// _erpBasicDataExtendService.GetMaterialName(materials, s.serial.MaterialNumber), + BarCode =s.sg.BarCode ,//_erpBasicDataExtendService.GetMaterialBarCode(materials, s.serial.MaterialNumber), SerialNumber = s.serial.SerialNumber, NumberCode = s.serial.NumberCode, Number = s.sg == null ? 0 : s.sg.Number, @@ -741,23 +741,25 @@ namespace BarCode.Web.Repositories materials = materials_result.Data.ToList(); var query = _context.SerialNumbers.AsNoTracking() - .OrderByDescending(o => o.CompleteCartonTime)//以装箱时间先后排序 - .Where(f => f.BoxId == dto.BoxId && f.IsNotCount!="1"); + .GroupJoin(_context.SerialNumberGenerateRecord, serial => serial.GenerateRecordId, sg => sg.Id, (serial, sg) => new { serial, sg }) + .SelectMany(x => x.sg.DefaultIfEmpty(), (p, sg) => new { p.serial, sg }) + .OrderByDescending(o => o.serial.CompleteCartonTime)//以装箱时间先后排序 + .Where(f => f.serial.BoxId == dto.BoxId && f.serial.IsNotCount!="1"); int total = await query.CountAsync(); var list = await query.Select(s => new SerialNumbersResponse() { - BoxId = s.BoxId, - IsCarton = (s.BoxId > 0 || s.IsUse == true) ? true : false, + BoxId = s.serial.BoxId, + IsCarton = (s.serial.BoxId > 0 || s.serial.IsUse == true) ? true : false, IsOldData = true,//扫箱号获取 默认就是老数据 - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber), - MaterialNumber = s.MaterialNumber, - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialNumber), - BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.MaterialNumber), - SerialNumber = s.SerialNumber, - IsUseNumber = s.IsUseNumber, - NumberCode = s.NumberCode, - TwoSerialNumber= (s.IsUseNumber==true)? s.TwoNumberCode.Replace(s.NumberCode,"").Replace(",",""): s.TwoSerialNumber.Replace(s.SerialNumber,"").Replace(",","") + Specifications = s.sg.Specifications,//_erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber), + MaterialNumber = s.serial.MaterialNumber, + MaterialName = s.sg.MaterialName,//_erpBasicDataExtendService.GetMaterialName(materials, s.MaterialNumber), + BarCode = s.sg.BarCode,//_erpBasicDataExtendService.GetMaterialBarCode(materials, s.MaterialNumber), + SerialNumber = s.serial.SerialNumber, + IsUseNumber = s.serial.IsUseNumber, + NumberCode = s.serial.NumberCode, + TwoSerialNumber= (s.serial.IsUseNumber==true)? s.serial.TwoNumberCode.Replace(s.serial.NumberCode,"").Replace(",",""): s.serial.TwoSerialNumber.Replace(s.serial.SerialNumber,"").Replace(",","") }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); return (list, total); } @@ -769,7 +771,10 @@ namespace BarCode.Web.Repositories if (materials_result.IsSuccess) materials = materials_result.Data.ToList(); - var query = _context.SerialNumbers.AsNoTracking().Where(w => 1 == 1); + var query = _context.SerialNumbers.AsNoTracking() + .GroupJoin(_context.SerialNumberGenerateRecord, serial => serial.GenerateRecordId, sg => sg.Id, (serial, sg) => new { serial, sg }) + .SelectMany(x => x.sg.DefaultIfEmpty(), (p, sg) => new { p.serial, sg }) + .Where(w => 1 == 1); //if (loginInfo.UserInfo.IsAdmin != true && !string.IsNullOrEmpty(orgCode)) //{ @@ -783,29 +788,29 @@ namespace BarCode.Web.Repositories //} - query = query.Where(f => f.SerialNumber.Equals(serialNumber) - || f.NumberCode.Equals(serialNumber)); + query = query.Where(f => f.serial.SerialNumber.Equals(serialNumber) + || f.serial.NumberCode.Equals(serialNumber)); var entity = await query.FirstOrDefaultAsync(); if (entity == null) return null; ////如果为单套产品,那就直接取就行了。 - if (entity.IsTwo < 2) + if (entity.serial.IsTwo < 2) { List list = new List(); SerialNumbersResponse s=new SerialNumbersResponse(); - s.BoxId = entity.BoxId; - s.IsCarton = (entity.BoxId > 0 || entity.IsUse == true) ? true : false; + s.BoxId = entity.serial.BoxId; + s.IsCarton = (entity.serial.BoxId > 0 || entity.serial.IsUse == true) ? true : false; s.IsOldData = false;//根据序列号获取 默认是false - s.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, entity.MaterialNumber); - s.MaterialNumber = entity.MaterialNumber; - s.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, entity.MaterialNumber); - s.BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, entity.MaterialNumber); - s.SerialNumber = entity.SerialNumber; - s.IsUseNumber = entity.IsUseNumber; - s.NumberCode = entity.NumberCode; - s.IsTwo = entity.IsTwo; - s.SuitNumber = entity.SuitNumber; + s.Specifications =entity.sg.Specifications;// _erpBasicDataExtendService.GetMaterialSpecifications(materials, entity.MaterialNumber); + s.MaterialNumber = entity.serial.MaterialNumber; + s.MaterialName = entity.sg.MaterialName;//_erpBasicDataExtendService.GetMaterialName(materials, entity.MaterialNumber); + s.BarCode = entity.sg.BarCode; //_erpBasicDataExtendService.GetMaterialBarCode(materials, entity.MaterialNumber); + s.SerialNumber = entity.serial.SerialNumber; + s.IsUseNumber = entity.serial.IsUseNumber; + s.NumberCode = entity.serial.NumberCode; + s.IsTwo = entity.serial.IsTwo; + s.SuitNumber = entity.serial.SuitNumber; list.Add(s); return list; @@ -827,29 +832,30 @@ namespace BarCode.Web.Repositories } else//跟据套装去查对应的 { - string suitNumber = entity.SuitNumber; + string suitNumber = entity.serial.SuitNumber; var query2 = _context.SerialNumbers.AsNoTracking() - //.OrderByDescending(o => o.CompleteCartonTime)//以装箱时间先后排序 - .Where(f => f.SuitNumber == suitNumber); + .GroupJoin(_context.SerialNumberGenerateRecord, serial => serial.GenerateRecordId, sg => sg.Id, (serial, sg) => new { serial, sg }) + .SelectMany(x => x.sg.DefaultIfEmpty(), (p, sg) => new { p.serial, sg }) + .Where(f => f.serial.SuitNumber == suitNumber); int total = await query.CountAsync(); var list = await query2.Select(s => new SerialNumbersResponse() { - BoxId = s.BoxId, - IsCarton = (s.BoxId > 0 || s.IsUse == true) ? true : false, + BoxId = s.serial.BoxId, + IsCarton = (s.serial.BoxId > 0 || s.serial.IsUse == true) ? true : false, IsOldData = false,//扫箱号获取 默认就是老数据 - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber), - MaterialNumber = s.MaterialNumber, - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialNumber), - BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.MaterialNumber), - SerialNumber = s.SerialNumber, - IsUseNumber = s.IsUseNumber, - NumberCode = s.NumberCode, - IsTwo = s.IsTwo, - SuitNumber = s.SuitNumber + Specifications = s.sg.Specifications,//_erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber), + MaterialNumber = s.serial.MaterialNumber, + MaterialName = s.sg.MaterialName,//_erpBasicDataExtendService.GetMaterialName(materials, s.MaterialNumber), + BarCode = s.sg.BarCode,//_erpBasicDataExtendService.GetMaterialBarCode(materials, s.MaterialNumber), + SerialNumber = s.serial.SerialNumber, + IsUseNumber = s.serial.IsUseNumber, + NumberCode = s.serial.NumberCode, + IsTwo = s.serial.IsTwo, + SuitNumber = s.serial.SuitNumber }).ToListAsync(); @@ -889,7 +895,10 @@ namespace BarCode.Web.Repositories if (materials_result.IsSuccess) materials = materials_result.Data.ToList(); - var query = _context.SerialNumbers.AsNoTracking().Where(w => 1 == 1); + var query = _context.SerialNumbers.AsNoTracking() + .GroupJoin(_context.SerialNumberGenerateRecord, serial => serial.GenerateRecordId, sg => sg.Id, (serial, sg) => new { serial, sg }) + .SelectMany(x => x.sg.DefaultIfEmpty(), (p, sg) => new { p.serial, sg }) + .Where(w => 1 == 1); //if (loginInfo.UserInfo.IsAdmin != true && !string.IsNullOrEmpty(orgCode)) //{ @@ -903,13 +912,13 @@ namespace BarCode.Web.Repositories //} - query = query.Where(f => f.SerialNumber.Equals(serialNumber) - || f.NumberCode.Equals(serialNumber)); + query = query.Where(f => f.serial.SerialNumber.Equals(serialNumber) + || f.serial.NumberCode.Equals(serialNumber)); var entity = await query.FirstOrDefaultAsync(); if (entity == null) return null; bool isNumber = false; - if(entity.TwoNumberCode.IndexOf(serialNumber)>=0) + if(entity.serial.TwoNumberCode.IndexOf(serialNumber)>=0) { isNumber = true; } @@ -918,19 +927,19 @@ namespace BarCode.Web.Repositories //{ return new SerialNumbersResponse() { - BoxId = entity.BoxId, - IsCarton = (entity.BoxId > 0 || entity.IsUse == true) ? true : false, + BoxId = entity.serial.BoxId, + IsCarton = (entity.serial.BoxId > 0 || entity.serial.IsUse == true) ? true : false, IsOldData = false,//根据序列号获取 默认是false - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, entity.MaterialNumber), - MaterialNumber = entity.MaterialNumber, - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, entity.MaterialNumber), - BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, entity.MaterialNumber), - SerialNumber = entity.SerialNumber, - IsUseNumber = entity.IsUseNumber, - NumberCode = entity.NumberCode, - IsTwo = entity.IsTwo, - SuitNumber = entity.SuitNumber, - TwoSerialNumber= (isNumber==true)? entity.TwoNumberCode.Replace(entity.NumberCode, "").Replace(",", ""): entity.TwoSerialNumber.Replace(entity.SerialNumber,"").Replace(",","") + Specifications = entity.sg.Specifications,// _erpBasicDataExtendService.GetMaterialSpecifications(materials, entity.MaterialNumber), + MaterialNumber = entity.serial.MaterialNumber, + MaterialName = entity.sg.MaterialName,//_erpBasicDataExtendService.GetMaterialName(materials, entity.MaterialNumber), + BarCode = entity.sg.BarCode,//_erpBasicDataExtendService.GetMaterialBarCode(materials, entity.MaterialNumber), + SerialNumber = entity.serial.SerialNumber, + IsUseNumber = entity.serial.IsUseNumber, + NumberCode = entity.serial.NumberCode, + IsTwo = entity.serial.IsTwo, + SuitNumber = entity.serial.SuitNumber, + TwoSerialNumber= (isNumber==true)? entity.serial.TwoNumberCode.Replace(entity.serial.NumberCode, "").Replace(",", ""): entity.serial.TwoSerialNumber.Replace(entity.serial.SerialNumber,"").Replace(",","") // TwoNumberCode = entity.TwoNumberCode.Replace(entity.NumberCode, "").Replace(",", "") }; //} @@ -1110,9 +1119,9 @@ namespace BarCode.Web.Repositories var res = await query.Select(s => new SerialNumbersExternalResponse() { - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber), + Specifications = s.sg.Specifications,//_erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber), MaterialNumber = s.serial.MaterialNumber, - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.serial.MaterialNumber), + MaterialName = s.sg.MaterialName,//_erpBasicDataExtendService.GetMaterialName(materials, s.serial.MaterialNumber), CreateTime = s.serial.CreateTime.DateToStringSeconds(), PurchaseBillNo = s.sg.PurchaseBillNo, SerialNumber = serialNumber,