using Infrastructure.Attribute; using Infrastructure.Extensions; using NLog.LayoutRenderers; using RIZO.Model.Mes.Dto.GatherData; using RIZO.Model.Mes.Dto.WorkOrderInfo; using RIZO.Model.Mes.GatherData; using RIZO.Model.Mes.MasterData; using RIZO.Model.Mes.WorkOrderInfo; using RIZO.Repository; using RIZO.Service.Mes.IMesService.GatherData; namespace RIZO.Service.Mes.GatherData { /// /// 生产工艺参数Service业务层处理 /// [AppService(ServiceType = typeof(IProcessParameterService), ServiceLifetime = LifeTime.Transient)] public class ProcessParameterService : BaseService, IProcessParameterService { /// /// 查询生产工艺参数列表 /// /// /// public PagedInfo GetList(ProcessParameterQueryDto parm) { var predicate = QueryExp(parm); var response = Queryable() .Where(predicate.ToExpression()) .ToPage(parm); return response; } public PagedInfo GetListExport(ProcessParameterQueryDto parm) { var predicate = QueryExpExport(parm); var response = Queryable() .Where(predicate.ToExpression()) .ToPage(parm); return response; } /// /// 获取详情 /// /// /// public ProcessParameter GetInfo(long Id) { var response = Queryable() .Where(x => x.Id == Id) .First(); return response; } /// /// 添加生产工艺参数 /// /// /// public ProcessParameter AddProcessParameter(ProcessParameter model) { return Insertable(model).ExecuteReturnEntity(); } /// /// 修改生产工艺参数 /// /// /// public int UpdateProcessParameter(ProcessParameter model) { return Update(model, true); } /// /// 查询导出表达式 /// /// /// private static Expressionable QueryExp(ProcessParameterQueryDto parm) { var predicate = Expressionable.Create(); if (!string.IsNullOrWhiteSpace(parm.ProcessName)) { predicate.And(it => it.ProcessName.Contains(parm.ProcessName)); } if (!string.IsNullOrWhiteSpace(parm.ProcessCode)) { predicate.And(it => it.ProcessCode.Contains(parm.ProcessCode)); } if (parm.FirstInspection != null && parm.FirstInspection.ToString().Length > 0) { predicate.And(it => it.FirstInspection == parm.FirstInspection); } return predicate; } private static Expressionable QueryExpExport(ProcessParameterQueryDto parm) { var predicate = Expressionable.Create(); if (parm.StartTime != null && parm.StartTime.ToString().Length > 0) { predicate.And(it => it.CreateTime >= parm.StartTime); } if (parm.EndTime != null && parm.EndTime.ToString().Length > 0) { predicate.And(it => it.CreateTime < parm.EndTime); } return predicate; } } }