From 506f653f44eea0316cf6abe5357f7c8c711f7cbd Mon Sep 17 00:00:00 2001 From: 18923810322 <1666941798@qq.com> Date: Thu, 24 Jul 2025 11:52:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E4=BA=86=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/SerialNumberController.cs | 19 +++- .../wwwroot/BarCode.Web.Core.xml | 90 ++++++++++++++++++ src/BarCode.Web.Core/Dto/OperateRequest.cs | 4 + .../SecurityGenerateRecordQueryRequest.cs | 4 + .../SerialNumbersExportReponse.cs | 94 +++++++++++++++++++ .../SerialNumbersExportRequest.cs | 4 + .../Entitys/SerialNumbers.cs | 7 +- .../Services/SerialNumberService.cs | 4 + .../SecurityGenerateRecordRepositories.cs | 8 ++ .../SerialNumbersRepositories.cs | 81 +++++++++++++--- 10 files changed, 295 insertions(+), 20 deletions(-) diff --git a/src/BarCode.Web.Api/Controllers/SerialNumberController.cs b/src/BarCode.Web.Api/Controllers/SerialNumberController.cs index b735796..f9471d9 100644 --- a/src/BarCode.Web.Api/Controllers/SerialNumberController.cs +++ b/src/BarCode.Web.Api/Controllers/SerialNumberController.cs @@ -118,12 +118,21 @@ namespace BarCode.Web.Api.Controllers SerialNumbersExportRequest request = new SerialNumbersExportRequest(); request.Ids = dto.Ids; - - Task.Run(async () => + request.IsTwo = dto.IsTwo; + if (request.IsTwo == 2) { - await _exportExcelService.ExportList(request, fileName, loginInfo.UserInfo.UcId, loginInfo, FileDownLoadOrderType.SerialNumbers, orgCode); - }); - + Task.Run(async () => + { + await _exportExcelService.ExportList(request, fileName, loginInfo.UserInfo.UcId, loginInfo, FileDownLoadOrderType.SerialNumbers, orgCode); + }); + } + else + { + Task.Run(async () => + { + await _exportExcelService.ExportList(request, fileName, loginInfo.UserInfo.UcId, loginInfo, FileDownLoadOrderType.SerialNumbers, orgCode); + }); + } return Task.FromResult(Result.ReSuccess(res)); } /// diff --git a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml index b36fa60..823b338 100644 --- a/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml +++ b/src/BarCode.Web.Api/wwwroot/BarCode.Web.Core.xml @@ -2434,6 +2434,11 @@ 操作 Id集合 + + + 两件装 + + 操作 Id集合 @@ -2604,6 +2609,11 @@ 物料编码 + + + 生成人 + + 防伪码列表 @@ -3259,6 +3269,11 @@ 供应商或组织 + + + 采购订单号 + + 物料编码 @@ -3294,6 +3309,76 @@ 数量 + + + 序列码导出数据 + + + + + 供应商或组织 + + + + + 采购订单号 + + + + + 物料编码 + + + + + 物料名称 + + + + + 物料规格型号 + + + + + 物料条码 + + + + + 序列码 + + + + + 序列码 + + + + + 两件装 + + + + + 序列码2 + + + + + 数字序列码 + + + + + 数字序列码2 + + + + + 数量 + + 序列码导出参数 @@ -3304,6 +3389,11 @@ 生成记录Ids + + + 两件装 + + 序列码信息 diff --git a/src/BarCode.Web.Core/Dto/OperateRequest.cs b/src/BarCode.Web.Core/Dto/OperateRequest.cs index 0072d13..6e4c9d0 100644 --- a/src/BarCode.Web.Core/Dto/OperateRequest.cs +++ b/src/BarCode.Web.Core/Dto/OperateRequest.cs @@ -10,6 +10,10 @@ namespace BarCode.Web.Core.Dto public class OperateRequest { public List Ids { get; set; } = new List(); + /// + /// 两件装 + /// + public int IsTwo { get; set; } } /// diff --git a/src/BarCode.Web.Core/Dto/SecurityNumbers/SecurityGenerateRecordQueryRequest.cs b/src/BarCode.Web.Core/Dto/SecurityNumbers/SecurityGenerateRecordQueryRequest.cs index 5ac187e..8804b46 100644 --- a/src/BarCode.Web.Core/Dto/SecurityNumbers/SecurityGenerateRecordQueryRequest.cs +++ b/src/BarCode.Web.Core/Dto/SecurityNumbers/SecurityGenerateRecordQueryRequest.cs @@ -41,5 +41,9 @@ namespace BarCode.Web.Core.Dto.SecurityNumbers /// 物料编码 /// public string MaterialNumber { get; set; } = string.Empty; + /// + /// 生成人 + /// + public string CreateUser { get; set; } = string.Empty; } } diff --git a/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumbersExportReponse.cs b/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumbersExportReponse.cs index bd0c1cb..c673842 100644 --- a/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumbersExportReponse.cs +++ b/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumbersExportReponse.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; namespace BarCode.Web.Core.Dto.SerialNumbers { + /// /// 序列码导出数据 /// @@ -17,6 +18,12 @@ namespace BarCode.Web.Core.Dto.SerialNumbers /// [Column("供应商")] public string SupplierOrOrg { get; set; } = string.Empty; + /// + /// 采购订单号 + /// + [Column("采购订单号")] + public string PurchaseBillNo { get; set; } = string.Empty; + /// /// 物料编码 /// @@ -42,11 +49,98 @@ namespace BarCode.Web.Core.Dto.SerialNumbers /// [Column("序列码")] public string SerialNumber { get; set; } = string.Empty; + + + /// /// 数字序列码 /// [Column("数字序列码")] public string NumberCode { get; set; } = string.Empty; + + + + /// + /// 数量 + /// + [Column("数量")] + public int Number { get; set; } = 0; + } + + /// + /// 序列码导出数据 + /// + public class SerialNumbersExportReponse2 + { + /// + /// 供应商或组织 + /// + [Column("供应商")] + public string SupplierOrOrg { get; set; } = string.Empty; + + /// + /// 采购订单号 + /// + [Column("采购订单号")] + public string PurchaseBillNo { get; set; } = string.Empty; + + /// + /// 物料编码 + /// + [Column("物料编码")] + public string MaterialNumber { get; set; } = string.Empty; + /// + /// 物料名称 + /// + [Column("物料名称")] + public string MaterialName { get; set; } = string.Empty; + /// + /// 物料规格型号 + /// + [Column("规格型号")] + public string Specifications { get; set; } = string.Empty; + /// + /// 物料条码 + /// + [Column("条码")] + public string BarCode { get; set; } = string.Empty; + /// + /// 序列码 + /// + [Column("序列码")] + public string SerialNumber { get; set; } = string.Empty; + + /// + /// 序列码 + /// + [Ignore] + public string SuitNumber { get; set; } = string.Empty; + + /// + /// 两件装 + /// + [Ignore] + public string TwoSerialNumber { get; set; } = string.Empty; + + + /// + /// 序列码2 + /// + [Column("序列码2")] + public string SerialNumber2 { get; set; } = string.Empty; + + /// + /// 数字序列码 + /// + [Column("数字序列码")] + public string NumberCode { get; set; } = string.Empty; + + /// + /// 数字序列码2 + /// + [Column("数字序列码2")] + public string NumberCode2 { get; set; } = string.Empty; + /// /// 数量 /// diff --git a/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumbersExportRequest.cs b/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumbersExportRequest.cs index 2a3877d..aa64155 100644 --- a/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumbersExportRequest.cs +++ b/src/BarCode.Web.Core/Dto/SerialNumbers/SerialNumbersExportRequest.cs @@ -15,5 +15,9 @@ namespace BarCode.Web.Core.Dto.SerialNumbers /// 生成记录Ids /// public List Ids { get; set; } = new List(); + /// + /// 两件装 + /// + public int IsTwo { get; set; } } } diff --git a/src/BarCode.Web.Domain/Entitys/SerialNumbers.cs b/src/BarCode.Web.Domain/Entitys/SerialNumbers.cs index a9fc37f..2149c9f 100644 --- a/src/BarCode.Web.Domain/Entitys/SerialNumbers.cs +++ b/src/BarCode.Web.Domain/Entitys/SerialNumbers.cs @@ -1,4 +1,5 @@ -using BarCode.Web.Core; +using AutoMapper.Configuration.Annotations; +using BarCode.Web.Core; using BarCode.Web.Core.Help; using BarCode.Web.Core.Internal.Results; using BarCode.Web.Domain.Services.Public; @@ -61,12 +62,12 @@ namespace BarCode.Web.Domain.Entitys /// /// 序列号 /// - [Column("SuitNumber")] + [Ignore] public string SuitNumber { get; set; } = string.Empty; /// /// 产生第二个 /// - [Column("TwoSerialNumber")] + [Ignore] public string TwoSerialNumber { get; set; } = string.Empty; /// /// 物料Id diff --git a/src/BarCode.Web.Domain/Services/SerialNumberService.cs b/src/BarCode.Web.Domain/Services/SerialNumberService.cs index 32ceca7..20f0bb0 100644 --- a/src/BarCode.Web.Domain/Services/SerialNumberService.cs +++ b/src/BarCode.Web.Domain/Services/SerialNumberService.cs @@ -133,6 +133,10 @@ namespace BarCode.Web.Domain.Services List sgList = new List(); foreach (var d in dto.Details) { + if(d.Number>1000) + { + d.Number = 1000; + } if (d.isTwo == 0)//如果套装数为0,那么自动变成1 { d.isTwo = 1; diff --git a/src/BarCode.Web.Repositories/SecurityGenerateRecordRepositories.cs b/src/BarCode.Web.Repositories/SecurityGenerateRecordRepositories.cs index d16f00d..86b6dcc 100644 --- a/src/BarCode.Web.Repositories/SecurityGenerateRecordRepositories.cs +++ b/src/BarCode.Web.Repositories/SecurityGenerateRecordRepositories.cs @@ -203,6 +203,11 @@ namespace BarCode.Web.Repositories || w.Specifications.Contains(dto.MaterialNumber) ).Select(s => s.MaterialNumber).ToList(); } + List cr_ids = new List(); + if (!string.IsNullOrEmpty(dto.CreateUser)) + { + cr_ids = await _basicsRepositories.GetUserIdsAsync(dto.CreateUser, loginInfo.UserInfo.CompanyId); + } List sIds = new List(); if (dto.SecurityNumbers != null && dto.SecurityNumbers.Count() > 0) { @@ -210,6 +215,7 @@ namespace BarCode.Web.Repositories .GroupBy(g => g.GenerateRecordId).Select(s => s.Key).ToListAsync(); } + ////供应商 //var supplier_result = await _erpService.BillQueryForSupplier(); //List suppliers = new List(); @@ -252,6 +258,8 @@ namespace BarCode.Web.Repositories if (dto.SecurityNumbers != null && dto.SecurityNumbers.Count() > 0) query = query.Where(w => sIds.Contains(w.Id)); + if (!string.IsNullOrEmpty(dto.CreateUser)) + query = query.Where(w => cr_ids.Contains(w.CreatorId)); int total = await query.CountAsync(); var list = await query.Select(s => new SecurityGenerateRecordInfoResponse() diff --git a/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs b/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs index 6f17032..464a10a 100644 --- a/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs +++ b/src/BarCode.Web.Repositories/SerialNumbersRepositories.cs @@ -509,7 +509,7 @@ namespace BarCode.Web.Repositories IsTwo = s.serial.IsTwo, SuitNumber=s.serial.SuitNumber, TwoSerialNumber = s.serial.TwoSerialNumber.Replace(s.serial.SerialNumber, "").Replace(",", "") - }).ToListAsync(); + }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); List returnList= new List(); for (int i = 0; i < list.Count; i++) @@ -635,20 +635,77 @@ namespace BarCode.Web.Repositories .Where(f => dto.Ids.Contains(f.serial.GenerateRecordId)); int total = await query.CountAsync(); - var list = await query.Select(s => new SerialNumbersExportReponse() + + if (dto.IsTwo == 2) { - 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), - SerialNumber = s.serial.SerialNumber, - NumberCode = s.serial.NumberCode, - Number = s.sg == null ? 0 : s.sg.Number, - SupplierOrOrg = string.IsNullOrEmpty(s.sg.SupplierCode) ? _erpBasicDataExtendService.GetOrgName(orgs, s.sg.OrgCode) - : _erpBasicDataExtendService.GetSupplierName(suppliers, s.sg.SupplierCode) - }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); + List returnList = new List(); + + + + var list = await query.Select(s => new SerialNumbersExportReponse2() + { + PurchaseBillNo = s.sg == null ? "" : s.sg.PurchaseBillNo, + SuitNumber=s.serial.SuitNumber, + TwoSerialNumber=s.serial.TwoSerialNumber, + 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), + SerialNumber = s.serial.SerialNumber, + NumberCode = s.serial.NumberCode, + Number = s.sg == null ? 0 : s.sg.Number, + SupplierOrOrg = string.IsNullOrEmpty(s.sg.SupplierCode) ? _erpBasicDataExtendService.GetOrgName(orgs, s.sg.OrgCode) + : _erpBasicDataExtendService.GetSupplierName(suppliers, s.sg.SupplierCode) + }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); + + for (int i = 0; i < list.Count; i++) + { + SerialNumbersExportReponse2 list2 = new SerialNumbersExportReponse2(); + 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.PurchaseBillNo = list[i].PurchaseBillNo; + list2.Specifications = list[i].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.SupplierOrOrg = list[i].SupplierOrOrg; + returnList.Add(list2); + } + } + } + return (returnList, total); + } + else + { + var list = await query.Select(s => new SerialNumbersExportReponse() + { + PurchaseBillNo= s.sg == null ? "" : s.sg.PurchaseBillNo, + 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), + SerialNumber = s.serial.SerialNumber, + NumberCode = s.serial.NumberCode, + Number = s.sg == null ? 0 : s.sg.Number, + SupplierOrOrg = string.IsNullOrEmpty(s.sg.SupplierCode) ? _erpBasicDataExtendService.GetOrgName(orgs, s.sg.OrgCode) + : _erpBasicDataExtendService.GetSupplierName(suppliers, s.sg.SupplierCode) + }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); return (list, total); + } } + + + /// /// 根据箱Id来搜索序列号 ///