From 3fdad62fb76e9821e1de00a914816959ffb83dc1 Mon Sep 17 00:00:00 2001 From: Carl Date: Tue, 30 Dec 2025 17:26:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=BC=BA=E5=90=84=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E8=A1=A8=E6=9F=A5=E8=AF=A2DTO=E5=8F=8AService=E7=9A=84?= =?UTF-8?q?=E5=A4=9A=E6=9D=A1=E4=BB=B6=E6=9F=A5=E8=AF=A2=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 本次提交为库位、入库、出库、出入库类别等业务表的查询DTO新增了多个查询字段,并在对应Service层的QueryExp方法中实现了这些字段的动态拼接查询。调整后支持按编码、名称、操作员等多条件模糊筛选,提升了查询灵活性和前端多条件检索能力。同时优化了部分using引用顺序。 --- DOAN.Model/MES/Material/Dto/MmLocationDto.cs | 3 +++ DOAN.Model/MES/Material/Dto/MmRecordInboundDto.cs | 5 +++++ DOAN.Model/MES/Material/Dto/MmRecordOutboundDto.cs | 3 +++ DOAN.Model/MES/Material/Dto/MmTransactionTypeDto.cs | 3 +++ DOAN.Service/MES/Material/MmLocationService.cs | 4 +++- DOAN.Service/MES/Material/MmRecordInboundService.cs | 13 +++++++++---- .../MES/Material/MmRecordOutboundService.cs | 5 ++++- .../MES/Material/MmTransactionTypeService.cs | 4 +++- 8 files changed, 33 insertions(+), 7 deletions(-) diff --git a/DOAN.Model/MES/Material/Dto/MmLocationDto.cs b/DOAN.Model/MES/Material/Dto/MmLocationDto.cs index e681e31..00c3a91 100644 --- a/DOAN.Model/MES/Material/Dto/MmLocationDto.cs +++ b/DOAN.Model/MES/Material/Dto/MmLocationDto.cs @@ -6,6 +6,9 @@ namespace DOAN.Model.BZFM.Dto /// public class MmLocationQueryDto : PagerInfo { + public string LocationCode { get; set; } + + public string WarehouseCode { get; set; } } /// diff --git a/DOAN.Model/MES/Material/Dto/MmRecordInboundDto.cs b/DOAN.Model/MES/Material/Dto/MmRecordInboundDto.cs index f255b40..12845a1 100644 --- a/DOAN.Model/MES/Material/Dto/MmRecordInboundDto.cs +++ b/DOAN.Model/MES/Material/Dto/MmRecordInboundDto.cs @@ -6,6 +6,11 @@ namespace DOAN.Model.BZFM.Dto /// public class MmRecordInboundQueryDto : PagerInfo { + public string SupplierCode { get; set; } + + public string Operator { get; set; } + + public DateTime? CreatedTime { get; set; } } /// diff --git a/DOAN.Model/MES/Material/Dto/MmRecordOutboundDto.cs b/DOAN.Model/MES/Material/Dto/MmRecordOutboundDto.cs index 96ad96f..587ea98 100644 --- a/DOAN.Model/MES/Material/Dto/MmRecordOutboundDto.cs +++ b/DOAN.Model/MES/Material/Dto/MmRecordOutboundDto.cs @@ -6,6 +6,9 @@ namespace DOAN.Model.BZFM.Dto /// public class MmRecordOutboundQueryDto : PagerInfo { + public string MaterialCode { get; set; } + + public string OutboundNo { get; set; } } /// diff --git a/DOAN.Model/MES/Material/Dto/MmTransactionTypeDto.cs b/DOAN.Model/MES/Material/Dto/MmTransactionTypeDto.cs index 000944e..a96e3b9 100644 --- a/DOAN.Model/MES/Material/Dto/MmTransactionTypeDto.cs +++ b/DOAN.Model/MES/Material/Dto/MmTransactionTypeDto.cs @@ -6,6 +6,9 @@ namespace DOAN.Model.BZFM.Dto /// public class MmTransactionTypeQueryDto : PagerInfo { + public string TypeName { get; set; } + + public string TransactionDirection { get; set; } } /// diff --git a/DOAN.Service/MES/Material/MmLocationService.cs b/DOAN.Service/MES/Material/MmLocationService.cs index 40afcfc..e6d05ca 100644 --- a/DOAN.Service/MES/Material/MmLocationService.cs +++ b/DOAN.Service/MES/Material/MmLocationService.cs @@ -71,7 +71,9 @@ namespace DOAN.Service.BZFM /// private static Expressionable QueryExp(MmLocationQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.LocationCode), it => it.LocationCode.Contains(parm.LocationCode)) + .AndIF(!string.IsNullOrEmpty(parm.WarehouseCode), it => it.WarehouseCode.Contains(parm.WarehouseCode)); return predicate; } diff --git a/DOAN.Service/MES/Material/MmRecordInboundService.cs b/DOAN.Service/MES/Material/MmRecordInboundService.cs index 9febd2a..9aa2b05 100644 --- a/DOAN.Service/MES/Material/MmRecordInboundService.cs +++ b/DOAN.Service/MES/Material/MmRecordInboundService.cs @@ -1,9 +1,10 @@ -using Infrastructure.Attribute; -using Infrastructure.Extensions; -using DOAN.Model.BZFM.Dto; using DOAN.Model.BZFM; +using DOAN.Model.BZFM.Dto; using DOAN.Repository; using DOAN.Service.BZFM.IBZFMService; +using Infrastructure.Attribute; +using Infrastructure.Extensions; +using Microsoft.IdentityModel.Tokens; namespace DOAN.Service.BZFM { @@ -71,7 +72,11 @@ namespace DOAN.Service.BZFM /// private static Expressionable QueryExp(MmRecordInboundQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.SupplierCode), it => it.SupplierCode.Contains(parm.SupplierCode)) + .AndIF(!string.IsNullOrEmpty(parm.Operator), it => it.Operator.Contains(parm.Operator)) + //.AndIF(!string.IsNullOrEmpty(parm.CreatedTime), it => it.CreatedTime.Contains(parm.CreatedTime)) + ; return predicate; } diff --git a/DOAN.Service/MES/Material/MmRecordOutboundService.cs b/DOAN.Service/MES/Material/MmRecordOutboundService.cs index d50291d..f7fe524 100644 --- a/DOAN.Service/MES/Material/MmRecordOutboundService.cs +++ b/DOAN.Service/MES/Material/MmRecordOutboundService.cs @@ -71,7 +71,10 @@ namespace DOAN.Service.BZFM /// private static Expressionable QueryExp(MmRecordOutboundQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.MaterialCode), it => it.MaterialCode.Contains(parm.MaterialCode)) + .AndIF(!string.IsNullOrEmpty(parm.OutboundNo), it => it.OutboundNo.Contains(parm.OutboundNo)) + ; return predicate; } diff --git a/DOAN.Service/MES/Material/MmTransactionTypeService.cs b/DOAN.Service/MES/Material/MmTransactionTypeService.cs index 9f75a29..acccae3 100644 --- a/DOAN.Service/MES/Material/MmTransactionTypeService.cs +++ b/DOAN.Service/MES/Material/MmTransactionTypeService.cs @@ -71,7 +71,9 @@ namespace DOAN.Service.BZFM /// private static Expressionable QueryExp(MmTransactionTypeQueryDto parm) { - var predicate = Expressionable.Create(); + var predicate = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.TypeName), it => it.TypeName.Contains(parm.TypeName)) + .AndIF(!string.IsNullOrEmpty(parm.TransactionDirection), it => it.TransactionDirection.Contains(parm.TransactionDirection)); return predicate; }