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 { SwapOrderStepRepository _swapOrderStepRepository; public SwapOrderStepService(SwapOrderStepRepository dal) { _swapOrderStepRepository = dal; BaseDal = dal; } /// /// 根据条件查询换电步序信息分页 /// /// /// public PageResult QueryEqmFaultInfo(QuerySwapOrderStepReq swapOrderStep) { //创建一个空的表达式树 Expression> where = null; //// 定义参数表达式 ParameterExpression parameter = Expression.Parameter(typeof(SwapOrderStep), "u"); if (swapOrderStep.Id!=0) { Expression> condition1Expr = u => u.Id == swapOrderStep.Id; where = condition1Expr; } if (swapOrderStep.Step != 0) { Expression> condition2Expr = u => u.Step == swapOrderStep.Step; where = where == null ? condition2Expr : Expression.Lambda>(Expression.AndAlso(where.Body, condition2Expr.Body), parameter); } if (!string.IsNullOrEmpty(swapOrderStep.SwapOrderSn)) { Expression> condition2Expr = u => u.SwapOrderSn == swapOrderStep.SwapOrderSn; where = where == null ? condition2Expr : Expression.Lambda>(Expression.AndAlso(where.Body, condition2Expr.Body), parameter); } // 构建查询条件 if (!string.IsNullOrEmpty(swapOrderStep.StepName)) { Expression> condition2Expr = u => u.StepName == swapOrderStep.StepName; where = where == null ? condition2Expr : Expression.Lambda>(Expression.AndAlso(where.Body, condition2Expr.Body), parameter); } //查询 return PageResult.ConvertPage(_swapOrderStepRepository.QueryIPageByCause(swapOrderStep, where)); } }