You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
2.3 KiB

using Entity.Api.Req;
using Entity.Api.Resp;
using Entity.DbModel.Station;
using HybirdFrameworkCore.Autofac.Attribute;
using HybirdFrameworkCore.Entity;
using Repository.Station;
using SqlSugar;
using System.Linq.Expressions;
namespace Service.Station;
[Scope("SingleInstance")]
public class SwapOrderStepService : BaseServices<SwapOrderStep>
{
SwapOrderStepRepository _swapOrderStepRepository;
public SwapOrderStepService(SwapOrderStepRepository dal)
{
_swapOrderStepRepository = dal;
BaseDal = dal;
}
/// <summary>
/// 根据条件查询换电步序信息分页
/// </summary>
/// <param name="swapOrderStep"></param>
/// <returns></returns>
public PageResult<SwapOrderStepResp> QueryEqmFaultInfo(QuerySwapOrderStepReq swapOrderStep)
{
//创建一个空的表达式树
Expression<Func<SwapOrderStep, bool>> where = null;
//// 定义参数表达式
ParameterExpression parameter = Expression.Parameter(typeof(SwapOrderStep), "u");
if (swapOrderStep.Id!=0)
{
Expression<Func<SwapOrderStep, bool>> condition1Expr = u => u.Id == swapOrderStep.Id;
where = condition1Expr;
}
if (swapOrderStep.Step != 0)
{
Expression<Func<SwapOrderStep, bool>> condition2Expr = u => u.Step == swapOrderStep.Step;
where = where == null ? condition2Expr : Expression.Lambda<Func<SwapOrderStep, bool>>(Expression.AndAlso(where.Body, condition2Expr.Body), parameter);
}
if (!string.IsNullOrEmpty(swapOrderStep.SwapOrderSn))
{
Expression<Func<SwapOrderStep, bool>> condition2Expr = u => u.SwapOrderSn == swapOrderStep.SwapOrderSn;
where = where == null ? condition2Expr : Expression.Lambda<Func<SwapOrderStep, bool>>(Expression.AndAlso(where.Body, condition2Expr.Body), parameter);
}
// 构建查询条件
if (!string.IsNullOrEmpty(swapOrderStep.StepName))
{
Expression<Func<SwapOrderStep, bool>> condition2Expr = u => u.StepName == swapOrderStep.StepName;
where = where == null ? condition2Expr : Expression.Lambda<Func<SwapOrderStep, bool>>(Expression.AndAlso(where.Body, condition2Expr.Body), parameter);
}
//查询
return PageResult<SwapOrderStepResp>.ConvertPage(_swapOrderStepRepository.QueryIPageByCause(swapOrderStep, where));
}
}