<#@ template debug="false" hostspecific="false" language="C#" #> <#@ assembly name="System.Core" #> <#@ import namespace="System.Linq" #> <#@ import namespace="System.Text" #> <#@ import namespace="System.Collections.Generic" #> using Hh.Mes.Common.Infrastructure; using Hh.Mes.Common.log; using Hh.Mes.Common.Request; 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; using Hh.Mes.Pojo.System; namespace Hh.Mes.Service.<#=AreaName #> { public class <#=ControllerName #>Service : RepositorySqlSugar<<#=TableName #>> { public dynamic Load(PageReq pageReq, <#=TableName #> entity) { return ExceptionsHelp.Instance.ExecuteT(() => { var result = new Response(); var expression = LinqWhere(entity); //先组合查询表达式(多表查询查看IOT 设备列表案例) var query = Context.Queryable<<#=TableName #>>().Where(expression); //Exel false 分页 if (!entity.Exel) { 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(<#=TableName #> entity) { return ExceptionsHelp.Instance.ExecuteT(() => { var response = new Response(); //entity.createBy = sysWebUser?.Account; //entity.createTime = DateTime.Now; response.Status = Add(entity); if (!response.Status)response.Message = SystemVariable.dataActionError; return response; }); } public dynamic Upd(<#=TableName #> entity) { return ExceptionsHelp.Instance.ExecuteT(() => { var response = new Response(); //entity.updateBy = sysWebUser?.Account; //entity.updateTime = DateTime.Now; response.Status = Update(entity); if (!response.Status) response.Message = SystemVariable.dataActionError; return response; }); } public dynamic DelByIds(int[] ids) { return ExceptionsHelp.Instance.ExecuteT(() => { var response = new Response(); Context.Deleteable<<#=TableName #>>(t => ids.Contains(t.id)).ExecuteCommand(); return response; }); } public Response ExportData(<#=TableName #> entity) { return Load(null, entity); } public Expression<Func<<#=TableName #>, bool>> LinqWhere(<#=TableName #> model) { try { var exp = Expressionable.Create<<#=TableName #>>(); //数据过滤条件 //if (!string.IsNullOrWhiteSpace(model.XXX)) exp.And(x => x.XXX.Contains(model.XXX)); <# foreach (var item in FilterColumns) #> <# { #> if (!string.IsNullOrWhiteSpace(model.<#=item.ColumnName #>)) { exp.And(x => x.<#=item.ColumnName #>.Contains(model.<#=item.ColumnName #>)); } <# } #> return exp.ToExpression();//拼接表达式 } catch (Exception ex) { throw new Exception($"{ex.Message}"); } } } }