增强各业务表查询DTO及Service的多条件查询支持

本次提交为库位、入库、出库、出入库类别等业务表的查询DTO新增了多个查询字段,并在对应Service层的QueryExp方法中实现了这些字段的动态拼接查询。调整后支持按编码、名称、操作员等多条件模糊筛选,提升了查询灵活性和前端多条件检索能力。同时优化了部分using引用顺序。
This commit is contained in:
2025-12-30 17:26:11 +08:00
parent ba63c12824
commit 3fdad62fb7
8 changed files with 33 additions and 7 deletions

View File

@@ -6,6 +6,9 @@ namespace DOAN.Model.BZFM.Dto
/// </summary> /// </summary>
public class MmLocationQueryDto : PagerInfo public class MmLocationQueryDto : PagerInfo
{ {
public string LocationCode { get; set; }
public string WarehouseCode { get; set; }
} }
/// <summary> /// <summary>

View File

@@ -6,6 +6,11 @@ namespace DOAN.Model.BZFM.Dto
/// </summary> /// </summary>
public class MmRecordInboundQueryDto : PagerInfo public class MmRecordInboundQueryDto : PagerInfo
{ {
public string SupplierCode { get; set; }
public string Operator { get; set; }
public DateTime? CreatedTime { get; set; }
} }
/// <summary> /// <summary>

View File

@@ -6,6 +6,9 @@ namespace DOAN.Model.BZFM.Dto
/// </summary> /// </summary>
public class MmRecordOutboundQueryDto : PagerInfo public class MmRecordOutboundQueryDto : PagerInfo
{ {
public string MaterialCode { get; set; }
public string OutboundNo { get; set; }
} }
/// <summary> /// <summary>

View File

@@ -6,6 +6,9 @@ namespace DOAN.Model.BZFM.Dto
/// </summary> /// </summary>
public class MmTransactionTypeQueryDto : PagerInfo public class MmTransactionTypeQueryDto : PagerInfo
{ {
public string TypeName { get; set; }
public string TransactionDirection { get; set; }
} }
/// <summary> /// <summary>

View File

@@ -71,7 +71,9 @@ namespace DOAN.Service.BZFM
/// <returns></returns> /// <returns></returns>
private static Expressionable<MmLocation> QueryExp(MmLocationQueryDto parm) private static Expressionable<MmLocation> QueryExp(MmLocationQueryDto parm)
{ {
var predicate = Expressionable.Create<MmLocation>(); var predicate = Expressionable.Create<MmLocation>()
.AndIF(!string.IsNullOrEmpty(parm.LocationCode), it => it.LocationCode.Contains(parm.LocationCode))
.AndIF(!string.IsNullOrEmpty(parm.WarehouseCode), it => it.WarehouseCode.Contains(parm.WarehouseCode));
return predicate; return predicate;
} }

View File

@@ -1,9 +1,10 @@
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using DOAN.Model.BZFM.Dto;
using DOAN.Model.BZFM; using DOAN.Model.BZFM;
using DOAN.Model.BZFM.Dto;
using DOAN.Repository; using DOAN.Repository;
using DOAN.Service.BZFM.IBZFMService; using DOAN.Service.BZFM.IBZFMService;
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using Microsoft.IdentityModel.Tokens;
namespace DOAN.Service.BZFM namespace DOAN.Service.BZFM
{ {
@@ -71,7 +72,11 @@ namespace DOAN.Service.BZFM
/// <returns></returns> /// <returns></returns>
private static Expressionable<MmRecordInbound> QueryExp(MmRecordInboundQueryDto parm) private static Expressionable<MmRecordInbound> QueryExp(MmRecordInboundQueryDto parm)
{ {
var predicate = Expressionable.Create<MmRecordInbound>(); var predicate = Expressionable.Create<MmRecordInbound>()
.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; return predicate;
} }

View File

@@ -71,7 +71,10 @@ namespace DOAN.Service.BZFM
/// <returns></returns> /// <returns></returns>
private static Expressionable<MmRecordOutbound> QueryExp(MmRecordOutboundQueryDto parm) private static Expressionable<MmRecordOutbound> QueryExp(MmRecordOutboundQueryDto parm)
{ {
var predicate = Expressionable.Create<MmRecordOutbound>(); var predicate = Expressionable.Create<MmRecordOutbound>()
.AndIF(!string.IsNullOrEmpty(parm.MaterialCode), it => it.MaterialCode.Contains(parm.MaterialCode))
.AndIF(!string.IsNullOrEmpty(parm.OutboundNo), it => it.OutboundNo.Contains(parm.OutboundNo))
;
return predicate; return predicate;
} }

View File

@@ -71,7 +71,9 @@ namespace DOAN.Service.BZFM
/// <returns></returns> /// <returns></returns>
private static Expressionable<MmTransactionType> QueryExp(MmTransactionTypeQueryDto parm) private static Expressionable<MmTransactionType> QueryExp(MmTransactionTypeQueryDto parm)
{ {
var predicate = Expressionable.Create<MmTransactionType>(); var predicate = Expressionable.Create<MmTransactionType>()
.AndIF(!string.IsNullOrEmpty(parm.TypeName), it => it.TypeName.Contains(parm.TypeName))
.AndIF(!string.IsNullOrEmpty(parm.TransactionDirection), it => it.TransactionDirection.Contains(parm.TransactionDirection));
return predicate; return predicate;
} }