using Hh.Mes.Common.Infrastructure; using Hh.Mes.Common.log; using Hh.Mes.Common.Request; using Hh.Mes.Pojo.System; using Hh.Mes.POJO.Entity; using Hh.Mes.POJO.Response; using Hh.Mes.Service.Repository; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; namespace Hh.Mes.Service.Wo { public class WorkOrderMaterialUseLogService : RepositorySqlSugar<bus_workOrder_material_use_log> { public dynamic Load(PageReq pageReq, bus_workOrder_material_use_log entity) { return ExceptionsHelp.Instance.ExecuteT(() => { var result = new Response<List<bus_workOrder_material_use_log>>(); var expression = LinqWhere(entity); //先组合查询表达式 var query = Context.Queryable<bus_workOrder_material_use_log>().Where(expression); //Exel为ture就不分页,因为导出的话是全部导出 if (pageReq != null) { int total = 0; result.Result = query.ToOffsetPage(pageReq.page, pageReq.limit, ref total); result.Count = total; } else { result.Result = query.ToList(); result.Count = result.Result.Count; } return result; }, catchRetrunValue: "list"); } public dynamic Ins(bus_workOrder_material_use_log entity,string user) { return ExceptionsHelp.Instance.ExecuteT(() => { var response = new Response(); entity.keys = Guid.NewGuid(); entity.createBy = user; entity.createTime = DateTime.Now.ToLocalTime(); Context.Insertable(entity).ExecuteCommand(); return response; }); } public dynamic Upd(bus_workOrder_material_use_log entity) { return ExceptionsHelp.Instance.ExecuteT(() => { var response = new Response(); var result = Context.Updateable(entity).ExecuteCommand(); if (result <= 0) { return response.ResponseError(SystemVariable.dataActionError); } return response; }); } public dynamic DelByIds(int[] ids) { return ExceptionsHelp.Instance.ExecuteT(() => { var response = new Response(); var result = Context.Deleteable<bus_workOrder_material_use_log>(t => ids.Contains(t.id)).ExecuteCommand(); if (result <= 0) { return response.ResponseError(SystemVariable.dataActionError); } return response; }); } public Response ExportData(bus_workOrder_material_use_log entity) { return Load(null, entity); } public Expression<Func<bus_workOrder_material_use_log, bool>> LinqWhere(bus_workOrder_material_use_log model) { try { var exp = Expressionable.Create<bus_workOrder_material_use_log>(); //数据过滤条件 //if (!string.IsNullOrWhiteSpace(model.XXX)) exp.And(x => x.XXX.Contains(model.XXX)); if (!string.IsNullOrWhiteSpace(model.productHeaderCode)) { exp.And(x => x.productHeaderCode.Contains(model.productHeaderCode)); } if (!string.IsNullOrWhiteSpace(model.lineCode)) { exp.And(x => x.lineCode.Contains(model.lineCode)); } if (!string.IsNullOrWhiteSpace(model.review_code)) { exp.And(x => x.review_code.Contains(model.review_code)); } if (!string.IsNullOrWhiteSpace(model.stationCode)) { exp.And(x => x.stationCode.Contains(model.stationCode)); } if (!string.IsNullOrWhiteSpace(model.materialCode)) { exp.And(x => x.materialCode.Contains(model.materialCode)); } return exp.ToExpression();//拼接表达式 } catch (Exception ex) { throw new Exception($"{ex.Message}"); } } public Response LoadExist(PageReq pageReq, bus_workOrder_material_use_log entity) { return ExceptionsHelp.Instance.ExecuteT(() => { var result = new Response<List<bus_workOrder_material_use_log>>(); //先组合查询表达式 var query = Context.Queryable<bus_workOrder_material_use_log>().Where(t=>t.employ==0); //Exel为ture就不分页,因为导出的话是全部导出 if (pageReq != null) { int total = 0; result.Result = query.ToOffsetPage(pageReq.page, pageReq.limit, ref total); result.Count = total; } else { result.Result = query.ToList(); result.Count = result.Result.Count; } return result; }, catchRetrunValue: "list"); } } }