42 lines
1.3 KiB
C#
42 lines
1.3 KiB
C#
using JSMachine.WMS.App.Dto;
|
|
using SqlSugar;
|
|
using System.Linq.Expressions;
|
|
|
|
namespace JSMachine.WMS.WebHost.Models
|
|
{
|
|
/// <summary>
|
|
/// 物料查询参数
|
|
/// </summary>
|
|
public class MaterialQueryParam
|
|
{
|
|
/// <summary>
|
|
/// 库位编号
|
|
/// </summary>
|
|
public string StorageRackNo { get; set; }
|
|
/// <summary>
|
|
/// 合格证号
|
|
/// </summary>
|
|
public string Barcode { get; set; }
|
|
/// <summary>
|
|
/// 物料批次号
|
|
/// </summary>
|
|
public string MaterialBatch { get; set; }
|
|
/// <summary>
|
|
/// 客户名称
|
|
/// </summary>
|
|
public string CustomerName { get; set; }
|
|
|
|
public Expression<Func<StorageRackDto, bool>> BuildExpress()
|
|
{
|
|
var express = Expressionable.Create<StorageRackDto>();
|
|
|
|
express.AndIF(!string.IsNullOrEmpty(StorageRackNo), p => p.StorageRackNo.Contains(StorageRackNo));
|
|
express.AndIF(!string.IsNullOrEmpty(Barcode), p => p.BarCode.Contains(Barcode));
|
|
express.AndIF(!string.IsNullOrEmpty(MaterialBatch), p => p.MateriaBatch.Contains(MaterialBatch));
|
|
express.AndIF(!string.IsNullOrEmpty(CustomerName), p => p.CustomName.Contains(CustomerName));
|
|
|
|
return express.ToExpression();
|
|
}
|
|
}
|
|
}
|