using JNPF.Common.Core.Manager; using JNPF.Common.Models; @if(Model.IsExport) { @:using JNPF.ClayObject; @:using JNPF.Common.Models.NPOI; @:using JNPF.Common.Core.Manager.Files; } using JNPF.Common.Manager; using JNPF.Common.CodeGen.DataParsing; using JNPF.Common.Enums; using JNPF.Common.Extension; using JNPF.Common.Filter; using JNPF.Common.Security; using JNPF.DatabaseAccessor; using JNPF.DependencyInjection; using JNPF.DynamicApiController; using JNPF.FriendlyException; using JNPF.Systems.Entitys.System; using JNPF.Systems.Entitys.Permission; using JNPF.Systems.Interfaces.System; using JNPF.@(@Model.NameSpace).Entitys.Dto.@Model.ClassName; @foreach(var table in Model.AuxiliayTableRelations) { @*循环出副表的命名空间*@ @:using JNPF.@(@Model.NameSpace).Entitys.Dto.@(@table.ClassName); } @foreach(var table in Model.TableRelations) { @*循环出子表的命名空间*@ @:using JNPF.@(@Model.NameSpace).Entitys.Dto.@(@table.ClassName); } using JNPF.@(@Model.NameSpace).Entitys; using JNPF.@(@Model.NameSpace).Interfaces; using Mapster; using Microsoft.AspNetCore.Mvc; using SqlSugar; namespace JNPF.@(@Model.NameSpace); /// /// 业务实现:@(@Model.BusName). /// [ApiDescriptionSettings(Tag = "@(@Model.NameSpace)", Name = "@Model.ClassName", Order = 200)] [Route("api/@(@Model.NameSpace)/[controller]")] public class @(@Model.ClassName)Service : I@(@Model.ClassName)Service, IDynamicApiController, ITransient { /// /// 服务基础仓储. /// private readonly ISqlSugarRepository<@(@Model.ClassName)Entity> _repository; @if(Model.IsBillRule) { @: @:/// @:/// 单据规则服务. @:/// @:private readonly IBillRullService _billRullService; } @if(Model.DbLinkId != "0") { @: @:/// @:/// 数据库管理. @:/// @:private readonly IDataBaseManager _dataBaseManager; } /// /// 数据接口服务. /// private readonly IDataInterfaceService _dataInterfaceService; /// /// 缓存管理. /// private readonly ICacheManager _cacheManager; /// /// 通用数据解析. /// private readonly ControlParsing _controlParsing; /// /// 用户管理. /// private readonly IUserManager _userManager; @if(Model.IsExport) { @: @:/// @:/// 文件服务. @:/// @:private readonly IFileManager _fileManager; } @if(Model.DbLinkId != "0") { @: @:/// @:/// 客户端. @:/// @:private static SqlSugarScope? _sqlSugarClient; } /// /// 初始化一个类型的新实例. /// public @(@Model.ClassName)Service( ISqlSugarRepository<@(@Model.ClassName)Entity> repository, @if(Model.IsBillRule) { @:IBillRullService billRullService, } IDataInterfaceService dataInterfaceService, @if(Model.DbLinkId != "0") { @:IDataBaseManager dataBaseManager, @:ISqlSugarClient context, } @if(Model.IsExport) { @:IFileManager fileManager, } ICacheManager cacheManager, ControlParsing controlParsing, IUserManager userManager) { _repository = repository; @if(Model.IsBillRule) { @:_billRullService = billRullService; } @if(Model.DbLinkId != "0") { @:_dataBaseManager = dataBaseManager; @:_sqlSugarClient = (SqlSugarScope)context; } _dataInterfaceService = dataInterfaceService; @if(Model.IsExport) { @:_fileManager = fileManager; } _cacheManager = cacheManager; _controlParsing = controlParsing; _userManager = userManager; } @foreach(var item in Model.Function) { @switch(item.FullName) { @*信息方法*@ case "info": @: @:/// @:/// 获取@(@Model.BusName). @:/// @:/// 主键值. @:/// @:[HttpGet("{id}")] @:public async Task GetInfo(@(Model.PrimaryKeyPolicy == 1 ? "string" : "long") id) @:{ @if(Model.DbLinkId != "0") { @:var dbLink = await _repository.AsSugarClient().Queryable().FirstAsync(it => it.Id.Equals("@(@Model.DbLinkId)")); @:_sqlSugarClient = _dataBaseManager.ChangeDataBase(dbLink); @:var output = await _sqlSugarClient.Queryable<@(@Model.ClassName)Entity>() }else{ @:var output = await _repository.AsQueryable() } @foreach(var table in Model.AuxiliayTableRelations) { @:.Includes(x => x.@(@table.LowerClassName)) } @foreach(var table in Model.TableRelations) { @:.Includes(x => x.@(@table.LowerClassName)List) } @:.FirstAsync(a => a.@(@Model.PrimaryKey).Equals(id)); @: @*获取出副表数据*@ @foreach(var table in Model.AuxiliayTableRelations) { @:var auxiliay@(@table.ClassName) = output.@(@table.LowerClassName).Adapt<@(@table.ClassName)InfoOutput>(); } @: @:var data = output.Adapt<@(@Model.ClassName)InfoOutput>(); @*合并*@ @foreach(var table in Model.AuxiliayTableRelations) { @:data = ConcurrentDictionaryExtensions.AssignmentObject<@(@Model.ClassName)InfoOutput, @(@table.ClassName)InfoOutput>(data, auxiliay@(@table.ClassName)).Adapt<@(@Model.ClassName)InfoOutput>(); } @: @:var list = new List<@(@Model.ClassName)InfoOutput>() { data }; @:await _repository.AsSugarClient().ThenMapperAsync(list, async item => @:{ @foreach(var column in Model.TableField) { @{var parameterName = string.Empty;} @switch(column.IsAuxiliary) { case true: @{parameterName = "jnpf_" + @column.TableName + "_jnpf_" + @column.LowerColumnName;} break; default: @{parameterName = @column.LowerColumnName;} break; } @switch(column.jnpfKey) { case "modifyUser": case "createUser": @:// @column.ColumnComment @:var @(parameterName)Data = await _repository.AsSugarClient().Queryable().FirstAsync(u => u.Id.Equals(item.@(parameterName))); @:item.@(parameterName) = @(parameterName)Data != null ? string.Format("{0}/{1}", @(parameterName)Data.RealName, @(parameterName)Data.Account) : null; @: break; case "currOrganize": @:// @column.ColumnComment @:var @(parameterName)Data = await _repository.AsSugarClient().Queryable().FirstAsync(u => u.Id.Equals(item.@(parameterName))); @:item.@(parameterName) = @(parameterName)Data != null ? @(parameterName)Data.FullName : null; @: break; case "currPosition": @:// @column.ColumnComment @:var @(parameterName)Data = await _repository.AsSugarClient().Queryable().FirstAsync(u => u.Id.Equals(item.@(parameterName))); @:item.@(parameterName) = @(parameterName)Data != null ? @(parameterName)Data.FullName : null; @: break; } } @:}); @: @:return list.FirstOrDefault(); @:} break; @*新增*@ case "add": @: @:/// @:/// 新建@(@Model.BusName). @:/// @:/// 参数. @:/// @:[HttpPost("")] @:[UnitOfWork] @:public async Task Create([FromBody] @(@Model.ClassName)CrInput input) @:{ @:var entity = input.Adapt<@(@Model.ClassName)Entity>(); @if(Model.PrimaryKeyPolicy == 1) { @:entity.@(@Model.PrimaryKey) = SnowflakeIdHelper.NextId(); } @if(Model.ConcurrencyLock) { @:entity.Version = 0; } @foreach(var column in Model.TableField) { @if(!column.IsAuxiliary) { @switch(column.jnpfKey) { case "createTime": @:entity.@column.ColumnName = DateTime.Now; break; case "createUser": @:entity.@column.ColumnName = _userManager.UserId; break; case "currPosition": @:entity.@column.ColumnName = _userManager.User.PositionId; break; case "currOrganize": @:entity.@column.ColumnName = _userManager.User.OrganizeId; break; case "billRule": @:entity.@column.ColumnName = await _billRullService.GetBillNumber("@(@column.Rule)"); break; } } } @*跨库与主表验证唯一值*@ @if(Model.DbLinkId != "0") { @: @:var dbLink = await _repository.AsSugarClient().Queryable().FirstAsync(it => it.Id.Equals("@(@Model.DbLinkId)")); @:_sqlSugarClient = _dataBaseManager.ChangeDataBase(dbLink); } @if(Model.IsUnique) { @foreach(var column in Model.TableField) { @if(column.IsUnique && !column.IsAuxiliary) { @: @:if(await @(Model.DbLinkId != "0" ? "_sqlSugarClient.Queryable<" + @Model.ClassName + "Entity>()." : "_repository.Is")AnyAsync(it => it.@(@column.ColumnName).Equals(input.@(@column.LowerColumnName)))) @:throw Oops.Bah("@(@column.ControlLabel)不能重复"); } } } @*副表循环*@ @foreach(var table in Model.AuxiliayTableRelations) { @: @:var auxiliay@(@table.ClassName) = input.Adapt<@(@table.ClassName)CrInput>().Adapt<@(@table.ClassName)Entity>(); @if(Model.PrimaryKeyPolicy == 1) { @:auxiliay@(@table.ClassName).@(@table.PrimaryKey) = SnowflakeIdHelper.NextId(); } @foreach(var column in Model.TableField) { @if(column.IsAuxiliary && column.TableName == table.OriginalTableName) { @switch(column.jnpfKey) { case "createTime": @:auxiliay@(@table.ClassName).@column.ColumnName = DateTime.Now; break; case "createUser": @:auxiliay@(@table.ClassName).@column.ColumnName = _userManager.UserId; break; case "currPosition": @:auxiliay@(@table.ClassName).@column.ColumnName = _userManager.User.PositionId; break; case "currOrganize": @:auxiliay@(@table.ClassName).@column.ColumnName = _userManager.User.OrganizeId; break; case "billRule": @:auxiliay@(@table.ClassName).@column.ColumnName = await _billRullService.GetBillNumber("@(@column.Rule)"); break; } } } @*副表验证唯一值*@ @foreach(var column in Model.TableField) { @if(column.IsAuxiliary && column.TableName == table.OriginalTableName && column.IsUnique) { @: @:if(await @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").Queryable<@(@table.ClassName)Entity>().AnyAsync(it => it.@(@column.ColumnName).Equals(auxiliay@(@table.ClassName).@(@column.ColumnName)))) @:throw Oops.Bah("@(@column.ControlLabel)不能重复"); } } @:entity.@(@table.LowerClassName) = auxiliay@(@table.ClassName); } @*子表循环*@ @foreach(var table in Model.TableRelations) { @: @:var @(@table.LowerClassName)EntityList = input.@(@table.ControlModel).Adapt>(); @*子表验证唯一值*@ @foreach(var column in table.ChilderColumnConfigList) { @if(column.IsUnique) { @: @:if(@(@table.LowerClassName)EntityList != null && @(@table.LowerClassName)EntityList.GroupBy(it => it.@(@column.ColumnName)).Any(g => g.Count() > 1)) @:throw Oops.Bah("@(@column.ControlLabel)不能重复"); } } @: @:if(@(@table.LowerClassName)EntityList != null) @:{ @:foreach (var item in @(@table.LowerClassName)EntityList) @:{ @if(Model.PrimaryKeyPolicy == 1) { @:item.@(@table.PrimaryKey) = SnowflakeIdHelper.NextId(); } @foreach(var childer in table.ChilderColumnConfigList) { @*使用Switch 为后续添加控件方便*@ @switch(childer.jnpfKey) { case "billRule": @:item.@(childer.ColumnName) = await _billRullService.GetBillNumber("@(@childer.Rule)"); break; } } @:} @: @:entity.@(@table.LowerClassName)List = @(@table.LowerClassName)EntityList; @:} @: } @:await @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").InsertNav(entity) @foreach(var table in Model.AuxiliayTableRelations) { @:.Include(it => it.@(@table.LowerClassName)) } @foreach(var table in Model.TableRelations) { @:.Include(it => it.@(@table.LowerClassName)List) } @:.ExecuteCommandAsync(); @:} break; @*编辑*@ case "edit": @: @:/// @:/// 更新@(@Model.BusName). @:/// @:/// 主键值. @:/// 参数. @:/// @:[HttpPut("{id}")] @:[UnitOfWork] @:public async Task Update(@(Model.PrimaryKeyPolicy == 1 ? "string" : "long") id, [FromBody] @(@Model.ClassName)UpInput input) @:{ @:var entity = input.Adapt<@(@Model.ClassName)Entity>(); @foreach(var column in Model.TableField) { @if(!column.IsAuxiliary) { @switch(column.jnpfKey) { case "modifyTime": @:entity.@column.ColumnName = DateTime.Now; break; case "modifyUser": @:entity.@column.ColumnName = _userManager.UserId; break; } } } @: @*填充副表数据*@ @foreach(var table in Model.AuxiliayTableRelations) { @:var auxiliay@(@table.ClassName) = input.Adapt<@(@table.ClassName)CrInput>().Adapt<@(@table.ClassName)Entity>(); @:auxiliay@(@table.ClassName).@(@table.TableField) = entity.@(@table.RelationField); @foreach(var column in Model.TableField) { @if(column.IsAuxiliary && column.TableName == table.OriginalTableName) { @switch(column.jnpfKey) { case "modifyTime": @:auxiliay@(@table.ClassName).@column.ColumnName = DateTime.Now; break; case "modifyUser": @:auxiliay@(@table.ClassName).@column.ColumnName = _userManager.UserId; break; } } } @: } @*跨库*@ @if(Model.DbLinkId != "0") { @:var dbLink = await _repository.AsSugarClient().Queryable().FirstAsync(it => it.Id.Equals("@(@Model.DbLinkId)")); @:_sqlSugarClient = _dataBaseManager.ChangeDataBase(dbLink); @: } @*主表唯一值验证*@ @if(Model.IsUnique) { @foreach(var column in Model.TableField) { @if(!column.IsAuxiliary && column.IsUnique) { @:if (await @(Model.DbLinkId != "0" ? "_sqlSugarClient.Queryable<" + Model.MainTable +"Entity>()." : "_repository.Is")AnyAsync(it => it.@(@column.ColumnName).Equals(input.@(@column.LowerColumnName)) && !it.@(@Model.PrimaryKey).Equals(id))) @:throw Oops.Bah("@(@column.ControlLabel)不能重复"); @: } } } @*副表唯一值验证*@ @foreach(var table in Model.AuxiliayTableRelations) { @*跨库*@ @foreach(var column in Model.TableField) { @if(column.IsAuxiliary && column.IsUnique && column.TableName == table.OriginalTableName) { @:if (await @(Model.DbLinkId != "0" ? "_sqlSugarClient.Queryable<" + @Model.ClassName + "Entity>()" : "_repository.AsSugarClient().Queryable<" + @table.ClassName + "Entity>()").AnyAsync(it => it.@(@column.ColumnName).Equals(auxiliay@(@table.ClassName).@(@column.ColumnName)) && !it.@(@table.TableField).Equals(entity.@(@table.RelationField)))) @:throw Oops.Bah("@(@column.ControlLabel)不能重复"); @: } } } @foreach(var table in Model.TableRelations) { @:// 新增@(@table.TableComment)新数据 @:var @(@table.LowerClassName)EntityList = new List<@(@table.ClassName)Entity>(); @: } @:if(!_userManager.UserOrigin.Equals("pc")) @:{ @*子表唯一值验证*@ @foreach(var table in Model.TableRelations) { @:// 移除子表内本次编辑删除数据 @:await @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").Deleteable<@(@table.ClassName)Entity>().Where(it => it.@(@table.TableField) == entity.@(@table.RelationField) && !input.@(@table.ControlModel).Select(a => a.@(@table.LowerPrimaryKey)).ToList().Contains(it.@(@table.PrimaryKey))).ExecuteCommandAsync(); @: @:// 新增@(@table.TableComment)新数据 @:@(@table.LowerClassName)EntityList = input.@(@table.ControlModel).Adapt>(); @if(table.IsUnique) { @:if(@(@table.LowerClassName)EntityList != null) @:{ @:foreach (var item in @(@table.LowerClassName)EntityList) @:{ @foreach(var column in table.ChilderColumnConfigList) { @if(column.IsUnique) { @:if(await @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").Queryable<@(@table.ClassName)Entity>().AnyAsync(it => it.@(@column.ColumnName) == item.@(@column.ColumnName) && it.@(@table.TableField).Equals(entity.@(@table.RelationField)) && it.@(@table.PrimaryKey) != item.@(@table.PrimaryKey))) @:throw Oops.Bah("@(@column.ControlLabel)不能重复"); @: } } @:} @:} @: } } @:} @: @:try @:{ @*修改主表数据*@ @:await @(Model.DbLinkId != "0" ? "_sqlSugarClient." : "_repository.As")Updateable(entity) @:.IgnoreColumns(ignoreAllNullColumns: true) @*主表是否存在系统自动添加字段*@ @if(Model.IsMainUpdate) { @:.IgnoreColumns(it => new { @foreach(var column in Model.TableField) { @if(!column.IsAuxiliary) { switch(column.jnpfKey) { case "createUser": case "currOrganize": case "currPosition": @:it.@(@column.ColumnName), break; } } } @:}) } @if(Model.ConcurrencyLock) { @:.ExecuteCommandWithOptLockAsync(true); }else{ @:.ExecuteCommandAsync(); } @: @*修改副表数据*@ @foreach(var table in Model.AuxiliayTableRelations) { @:await @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").Updateable(auxiliay@(@table.ClassName)) @:.IgnoreColumns(ignoreAllNullColumns: true) @if(table.IsConversion) { @:.IgnoreColumns(it => new { @foreach(var column in Model.TableField) { @if(column.IsAuxiliary && column.TableName == table.OriginalTableName) { switch(column.jnpfKey) { case "createUser": case "currOrganize": case "currPosition": @:it.@(@column.ColumnName), break; } } } @:}) } @:.Where(it => it.@(@table.TableField) == entity.@(@table.RelationField)).ExecuteCommandAsync(); @: } @: @:if(!_userManager.UserOrigin.Equals("pc")) @:{ @*修改子表数据*@ @foreach(var table in Model.TableRelations) { @:if(@(@table.LowerClassName)EntityList != null) @:{ @:foreach (var item in @(@table.LowerClassName)EntityList) @:{ @if(Model.PrimaryKeyPolicy == 1) { @:item.@(@table.PrimaryKey) = item.@(@table.PrimaryKey) == null ? SnowflakeIdHelper.NextId() : item.@(@table.PrimaryKey); } @:item.@(@table.TableField) = entity.@(@table.RelationField); @foreach(var childer in table.ChilderColumnConfigList) { @*使用Switch 为后续添加控件方便*@ @switch(childer.jnpfKey) { case "billRule": @:item.@(childer.ColumnName) = item.@(childer.ColumnName) == null ? await _billRullService.GetBillNumber("@(@childer.Rule)") : item.@(childer.ColumnName); break; } } @:} @: @:await @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").Storageable<@(@table.ClassName)Entity>(@(@table.LowerClassName)EntityList).ExecuteCommandAsync(); @:} @: } @:} @:} @:catch (Exception) @:{ @:throw Oops.Oh(ErrorCode.COM1001); @:} @:} break; @*删除*@ case "remove": @: @:/// @:/// 删除@(@Model.BusName). @:/// @:/// @:[HttpDelete("{id}")] @:[UnitOfWork] @:public async Task Delete(@(Model.PrimaryKeyPolicy == 1 ? "string" : "long") id) @:{ @*跨库*@ @if(Model.DbLinkId != "0") { @:var dbLink = await _repository.AsSugarClient().Queryable().FirstAsync(it => it.Id.Equals("@(@Model.DbLinkId)")); @:_sqlSugarClient = _dataBaseManager.ChangeDataBase(dbLink); @: } @:if(!await @(Model.DbLinkId != "0" ? "_sqlSugarClient.Queryable<" + @Model.ClassName + "Entity>()." : "_repository.Is")AnyAsync(it => it.@(@Model.PrimaryKey) == id)) @:{ @:throw Oops.Oh(ErrorCode.COM1005); @:} @: @*删除主表数据*@ @:var entity = await @(Model.DbLinkId != "0" ? "_sqlSugarClient.Queryable<" + @Model.ClassName + "Entity>()." : "_repository.Get")FirstAsync(it => it.@(@Model.PrimaryKey).Equals(id)); @:await @(Model.DbLinkId != "0" ? "_sqlSugarClient.Deleteable<" + @Model.ClassName + "Entity>()" : "_repository.AsDeleteable()").Where(it => it.@(@Model.PrimaryKey).Equals(id)).ExecuteCommandAsync(); @*删除副表数据*@ @foreach(var table in Model.AuxiliayTableRelations) { @: @:// 清空@(@table.TableComment)表数据 @:await @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").Deleteable<@(@table.ClassName)Entity>().Where(it => it.@(@table.TableField).Equals(entity.@(@table.RelationField))).ExecuteCommandAsync(); } @*删除子表数据*@ @foreach(var table in Model.TableRelations) { @: @:// 清空@(@table.TableComment)表数据 @:await @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").Deleteable<@(@table.ClassName)Entity>().Where(it => it.@(@table.TableField).Equals(entity.@(@table.RelationField))).ExecuteCommandAsync(); } @:} break; @*详情*@ case "detail": @: @:/// @:/// @(@Model.BusName)详情. @:/// @:/// 主键值. @:/// @:[HttpGet("Detail/{id}")] @:public async Task GetDetails(@(Model.PrimaryKeyPolicy == 1 ? "string" : "long") id) @:{ @{var tableNo = Model.AuxiliayTableRelations.Count; } @*跨库*@ @if(Model.DbLinkId != "0") { @:var dbLink = await _repository.AsSugarClient().Queryable().FirstAsync(it => it.Id.Equals("@(@Model.DbLinkId)")); @:_sqlSugarClient = _dataBaseManager.ChangeDataBase(dbLink); @:var data = await _sqlSugarClient.Queryable<@(@Model.ClassName)Entity>() @{var leagueTable = "a";} @foreach(var table in Model.AuxiliayTableRelations) { @{leagueTable += ", a"+ table.TableNo;} @:.LeftJoin(_sqlSugarClient.Queryable<@(@table.ClassName)Entity>(), (@(@leagueTable)) => @("a" + table.TableNo + "." + table.TableField + " == a." + table.RelationField)) } @if(Model.LeagueTableCount > 0) { @foreach(var league in Model.TableField) { @switch(league.jnpfKey) { case "modifyUser": case "createUser": @{leagueTable += ", " + league.LeagueTableNo + (league.IsAuxiliary ? league.TableNo : "");} @:.LeftJoin(_sqlSugarClient.Queryable().AS("db_@(@Model.ConfigId).@(@Model.DBName).dbo.BASE_USER"), (@(@leagueTable)) => @("a." + league.ColumnName + " == " + league.LeagueTableNo + (league.IsAuxiliary ? league.TableNo : "") + ".Id")) break; case "currOrganize": @{leagueTable += ", " + league.LeagueTableNo + (league.IsAuxiliary ? league.TableNo : "");} @:.LeftJoin(_sqlSugarClient.Queryable().AS("db_@(@Model.ConfigId).@(@Model.DBName).dbo.BASE_ORGANIZE"), (@(@leagueTable)) => @("a." + league.ColumnName + " == " + league.LeagueTableNo + (league.IsAuxiliary ? league.TableNo : "") + ".Id")) break; case "currPosition": @{leagueTable += ", " + league.LeagueTableNo + (league.IsAuxiliary ? league.TableNo : "");} @:.LeftJoin(_sqlSugarClient.Queryable().AS("db_@(@Model.ConfigId).@(@Model.DBName).dbo.BASE_POSITION"), (@(@leagueTable)) => @("a." + league.ColumnName + " == " + league.LeagueTableNo + (league.IsAuxiliary ? league.TableNo : "") + ".Id")) break; } } } }else{ @if(Model.LeagueTableCount > 0) { var no = Model.LeagueTableCount; @:var data = await _repository.AsSugarClient().Queryable<@(@Model.ClassName)Entity, @foreach(var table in Model.AuxiliayTableRelations){@(@table.ClassName + "Entity, ")}@foreach(var league in Model.TableField){@switch(league.jnpfKey){case "modifyUser":case "createUser":@(no == 1 ? "UserEntity" : "UserEntity, ")no--;break;case "currOrganize":@(no == 1 ? "OrganizeEntity" : "OrganizeEntity, ")no--;break;case "currPosition":@(no == 1 ? "PositionEntity" : "PositionEntity, ")no--;break;}}>((a,@foreach(var table in Model.AuxiliayTableRelations){@(" a" + @table.TableNo + ", ")}@{no = Model.LeagueTableCount;}@foreach(var league in Model.TableField){@switch(league.IsAuxiliary){case false:@switch(league.jnpfKey){case "modifyUser":case "createUser":case "currOrganize":case "currPosition":@(no == 1 ? league.LeagueTableNo : league.LeagueTableNo + ", ")no--;break;}break;default:@switch(league.jnpfKey){case "modifyUser":case "createUser":case "currOrganize":case "currPosition":@(no == 1 ? league.LeagueTableNo + + league.TableNo : league.LeagueTableNo + + league.TableNo + ", ")no--;break;}break;}}) => new JoinQueryInfos(@foreach(var table in Model.AuxiliayTableRelations){@("JoinType.Left, a" + @table.TableNo + "." + @table.TableField + " == a." + @table.RelationField + ", ")}@{no = Model.LeagueTableCount;}@foreach(var league in Model.TableField){@switch(league.IsAuxiliary){case false:@switch(league.jnpfKey){case "modifyUser":case "createUser":case "currOrganize":case "currPosition":@(no == 1 ? "JoinType.Left, a." + league.ColumnName + " == " + league.LeagueTableNo + ".Id" : "JoinType.Left, a." + league.ColumnName + " == " + league.LeagueTableNo + ".Id, ")no--;break;}break;default:@switch(league.jnpfKey){case "modifyUser":case "createUser":case "currOrganize":case "currPosition":@(no == 1 ? "JoinType.Left, a" + league.TableNo + "." + league.ColumnName + " == " + league.LeagueTableNo + league.TableNo + ".Id" : "JoinType.Left, a" + league.TableNo + "." + league.ColumnName + " == " + league.LeagueTableNo + league.TableNo + ".Id, ")no--;break;}break;}})) }else{ @:var data = await _repository.AsSugarClient().Queryable<@(@Model.ClassName)Entity, @foreach(var table in Model.AuxiliayTableRelations){@(@table.ClassName + "Entity")@(@tableNo == 1 ? ">" : ",") tableNo--;}((a,@{tableNo = Model.AuxiliayTableRelations.Count;}@foreach(var table in Model.AuxiliayTableRelations){@(" a" + @table.TableNo)@(@tableNo == 1 ? ")" : ",")tableNo--;} => new JoinQueryInfos(@{tableNo = Model.AuxiliayTableRelations.Count;}@foreach(var table in Model.AuxiliayTableRelations){@("JoinType.Left, a" + @table.TableNo + "." + @table.TableField + " == a." + @table.RelationField)@(@tableNo == 1 ? ")" : ", ")tableNo--;}) } } @if(Model.LeagueTableCount > 0) { var no = Model.LeagueTableCount; @:.Select((a,@foreach(var table in Model.AuxiliayTableRelations){@(" a" + @table.TableNo + ", ")}@{no = Model.LeagueTableCount;}@foreach(var league in Model.TableField){@switch(league.IsAuxiliary){case false:@switch(league.jnpfKey){case "modifyUser":case "createUser":case "currOrganize":case "currPosition":@(no == 1 ? league.LeagueTableNo : league.LeagueTableNo + ", ")no--;break;}break;default:@switch(league.jnpfKey){case "modifyUser":case "createUser":case "currOrganize":case "currPosition":@(no == 1 ? league.LeagueTableNo + + league.TableNo : league.LeagueTableNo + + league.TableNo + ", ")no--;break;}break;}}) => new @(@Model.ClassName)DetailOutput }else{ @:.Select((a,@{tableNo = Model.AuxiliayTableRelations.Count;}@foreach(var table in Model.AuxiliayTableRelations){@(" a" + @table.TableNo)@(@tableNo == 1 ? ")" : ",")tableNo--;} => new @(@Model.ClassName)DetailOutput } @:{ @*循环展示字段*@ @foreach (var column in Model.TableField){ @{var parameterName = string.Empty;} @switch(column.IsAuxiliary) { case true: @{parameterName = "jnpf_" + @column.TableName + "_jnpf_" + @column.LowerColumnName;} break; default: @{parameterName = @column.LowerColumnName;} break; } @if (column.PrimaryKey){ @:@(@column.LowerColumnName) = a.@column.ColumnName, }else if(column.jnpfKey != null){ @switch(column.jnpfKey) { case "uploadFz": case "uploadImg": @:@(@parameterName)List = @(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName), break; case "switch": @:@(@parameterName) = SqlFunc.IIF(@(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName) == 0, "@(@column.InactiveTxt)", "@(@column.ActiveTxt)"), break; case "date": @:@(@parameterName) = @(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName).Value.ToString("@(@column.Format)"), break; case "createTime": case "modifyTime": @:@(@parameterName) = @(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName).Value.ToString("yyyy-MM-dd HH:mm"), break; case "modifyUser": case "createUser": @:@(@parameterName) = SqlFunc.MergeString(@(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").RealName, "/", @(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").Account), break; case "currOrganize": case "currPosition": @:@(@parameterName) = @(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").FullName, break; case "userSelect": @if(!column.IsMultiple) { @:@(@parameterName) = SqlFunc.Subqueryable()@(Model.DbLinkId != "0" ? ".AS(\"db_"+ Model.ConfigId +"."+ Model.DBName +".dbo.BASE_USER\")" : "").Where(it => it.Id.Equals(@(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName))).Select(it => it.RealName), }else{ @:@(@parameterName) = @(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName), } break; case "posSelect": @if(!column.IsMultiple) { @:@(@parameterName) = SqlFunc.Subqueryable()@(Model.DbLinkId != "0" ? ".AS(\"db_"+ Model.ConfigId +"."+ Model.DBName +".dbo.BASE_POSITION\")" : "").Where(it => it.Id.Equals(@(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName))).Select(it => it.FullName), }else{ @:@(@parameterName) = @(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName), } break; case "depSelect": @if(!column.IsMultiple) { @:@(@parameterName) = SqlFunc.Subqueryable()@(Model.DbLinkId != "0" ? ".AS(\"db_"+ Model.ConfigId +"."+ Model.DBName +".dbo.BASE_ORGANIZE\")" : "").Where(it => it.Id.Equals(@(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName))).Select(a => a.FullName), }else{ @:@(@parameterName) = @(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName), } break; case "roleSelect": @if(!column.IsMultiple) { @:@(@parameterName) = SqlFunc.Subqueryable()@(Model.DbLinkId != "0" ? ".AS(\"db_"+ Model.ConfigId +"."+ Model.DBName +".dbo.BASE_ROLE\")" : "").Where(it => it.Id.Equals(@(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName))).Select(it => it.FullName), }else{ @:@(@parameterName) = @(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName), } break; case "groupSelect": @if(!column.IsMultiple) { @:@(@parameterName) = SqlFunc.Subqueryable()@(Model.DbLinkId != "0" ? ".AS(\"db_"+ Model.ConfigId +"."+ Model.DBName +".dbo.BASE_GROUP\")" : "").Where(it => it.Id.Equals(@(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName))).Select(it => it.FullName), }else{ @:@(@parameterName) = @(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName), } break; case "select": case "radio": case "treeSelect": @switch(column.ControlsDataType) { case "dictionary": @if(!column.IsMultiple) { @switch(column.Value) { case "id": @:@(@parameterName) = SqlFunc.Subqueryable()@(Model.DbLinkId != "0" ? ".AS(\"db_"+ Model.ConfigId +"."+ Model.DBName +".dbo.BASE_DICTIONARYDATA\")" : "").Where(dic => dic.Id.Equals(@(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName)) && dic.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(dic => dic.FullName), break; case "enCode": @:@(@parameterName) = SqlFunc.Subqueryable()@(Model.DbLinkId != "0" ? ".AS(\"db_"+ Model.ConfigId +"."+ Model.DBName +".dbo.BASE_DICTIONARYDATA\")" : "").Where(dic => dic.EnCode.Equals(@(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName)) && dic.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(dic => dic.FullName), break; } }else{ @:@(@parameterName) = @(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName), } break; default: @:@(@parameterName) = @(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName), break; } break; default: @:@(@parameterName) = @(@column.LeagueTableNo)@(column.IsAuxiliary ? @column.TableNo : "").@(@column.ColumnName), break; } } } @:}).MergeTable().Where(it => it.@(@Model.LowerPrimaryKey) == id).ToListAsync(); @: @:await _repository.AsSugarClient().ThenMapperAsync(data, async item => @:{ @foreach(var table in Model.TableRelations) { @:item.@(table.ControlModel) = @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").Queryable<@(@table.ClassName)Entity>().SetContext(scl => scl.@(@table.TableField), () => item.@(@table.LowerRelationField), item).ToList().Adapt>(); @: } @if(Model.IsConversion) { @foreach (var column in Model.TableField) { @{var dataCount = column.StaticData != null ? column.StaticData.Count : 0;} @*参数名*@ @{var parameterName = string.Empty;} @switch(column.IsAuxiliary) { case true: @{parameterName = "jnpf_" + @column.TableName + "_jnpf_" + @column.LowerColumnName;} break; default: @{parameterName = @column.LowerColumnName;} break; } @if(column.IsDetailConversion) { @switch(column.jnpfKey) { case "uploadFz": case "uploadImg": @:if(item.@(@parameterName)List != null) @:{ @:item.@(@parameterName) = item.@(@parameterName)List.ToObject>(); @:item.@(@parameterName)List = null; @:} @:else @:{ @:item.@(@parameterName) = new List(); @:} @: break; case "select": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @if(!column.IsMultiple) { @:var @(@parameterName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(item.@(@parameterName) != null) @:{ @:item.@(@parameterName) = @(@parameterName)Data.Find(it => item.@(@parameterName).Equals(it.id))?.fullName; @:} }else{ @:var @(@parameterName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", @(@parameterName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; case "dictionary": @switch(column.Value) { case "id": @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } break; case "dynamic": @if(!column.IsMultiple) { @:var @(@parameterName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", ""); @:item.@(@parameterName) = @(@parameterName)Data.Find(it => it.id.Equals(item.@(@parameterName)))?.fullName; }else{ @:if(item.@(@parameterName) != null) @:{ @:var @(@parameterName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", ""); @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", @(@parameterName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; } @: break; case "checkbox": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(@parameterName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", @(@parameterName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} break; case "dictionary": @switch(column.Value) { case "id": @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } break; case "dynamic": @:if(item.@(@parameterName) != null) @:{ @:var @(@parameterName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", ""); @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", @(@parameterName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} break; } @: break; case "radio": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(@parameterName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(item.@(@parameterName) != null) @:{ @:item.@(@parameterName) = @(@parameterName)Data.Find(it => item.@(@parameterName).Equals(it.id))?.fullName; @:} break; case "dynamic": @:var @(@parameterName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @:if(item.@(@parameterName) != null) @:{ @:item.@(@parameterName) = string.Join(",", @(@parameterName)Data .Find(it => it.id.Equals(item.@(@parameterName)))?.fullName); @:} break; } @: break; case "cascader": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @if(!column.IsMultiple) { @:var @(@parameterName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join("@(@column.Separator)", @(@parameterName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} }else{ @:var @(@parameterName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>>(); @:var @(@parameterName)Excessive = new List(); @:foreach (var @(@parameterName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@parameterName)Excessive.Add(string.Join("@(@column.Separator)", @(@parameterName)Data.FindAll(it => @(@parameterName).Contains(it.id)).Select(s => s.fullName))); @:} @: @:item.@(@parameterName) = string.Join(",", @(@parameterName)Excessive); @:} } break; case "dictionary": @if(!column.IsMultiple) { @switch(column.Value) { case "id": @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } }else{ @switch(column.Value) { case "id": @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>>(); @:var @(@parameterName)Excessive = new List(); @:foreach (var @(@parameterName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@parameterName)Excessive.Add(string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@parameterName).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync())); @:} @:item.@(@parameterName) = string.Join(",", @(@parameterName)Excessive); @:} break; case "enCode": @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>>(); @:var @(@parameterName)Excessive = new List(); @:foreach (var @(@parameterName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@parameterName)Excessive.Add(string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@parameterName).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync())); @:} @:item.@(@parameterName) = string.Join(",", @(@parameterName)Excessive); @:} break; } } break; case "dynamic": @if(!column.IsMultiple) { @:var @(@parameterName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join("@(@column.Separator)", @(@parameterName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} }else{ @:var @(@parameterName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>>(); @:var @(@parameterName)Excessive = new List(); @:foreach (var @(@parameterName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@parameterName)Excessive.Add(string.Join("@(@column.Separator)", @(@parameterName)Data.FindAll(it => @(@parameterName).Contains(it.id)).Select(a => a.fullName))); @:} @: @:item.@(@parameterName) = string.Join(",", @(@parameterName)Excessive); @:} } break; } @: break; case "comSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join("/", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} }else{ @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>>(); @:var @(@parameterName)Excessive = new List(); @:foreach (var @(@parameterName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@parameterName)Excessive.Add(string.Join("/", await _repository.AsSugarClient().Queryable().Where(it => @(@parameterName).Contains(it.Id)).Select(a => a.FullName).ToListAsync())); @:} @: @:item.@(@parameterName) = string.Join(",", @(@parameterName)Excessive); @:} } @: break; case "depSelect": @:// @column.ColumnComment @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} @: break; case "posSelect": @:// @column.ColumnComment @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} @: break; case "userSelect": @:// @column.ColumnComment @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id)).Select(a => a.RealName).ToListAsync()); @:} @: break; case "roleSelect": @:// @column.ColumnComment @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} @: break; case "groupSelect": @:// @column.ColumnComment @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} @: break; case "treeSelect": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @if(!column.IsMultiple) { @:var @(@parameterName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(item.@(@parameterName) != null) @:{ @:item.@(@parameterName) = @(@parameterName)Data.Find(it => it.id.Equals(item.@(@parameterName)))?.fullName; @:} }else{ @:var @(@parameterName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", @(@parameterName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; case "dictionary": @if(column.IsMultiple) { @switch(column.Value) { case "id": @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.EnCode) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } } break; case "dynamic": @if(!column.IsMultiple) { @:var @(@parameterName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @:item.@(@parameterName) = @(@parameterName)Data.Find(it => it.id.Equals(item.@(@parameterName)))?.fullName; }else{ @:var @(@parameterName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", @(@parameterName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(a => a.fullName)); @:} } break; } @: break; case "address": @:// @column.ColumnComment @if(!column.IsMultiple) { @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join("/", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id)).Select(a => a.FullName).ToListAsync()); @:} }else{ @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>>(); @:var @(@parameterName)Excessive = new List(); @:foreach (var @(@parameterName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@parameterName)Excessive.Add(string.Join("/", await _repository.AsSugarClient().Queryable().Where(a => @(@parameterName).Contains(a.Id)).Select(a => a.FullName).ToListAsync())); @:} @: @:item.@(@parameterName) = string.Join(",", @(@parameterName)Excessive); @:} } @: break; case "popupTableSelect": @:// @column.ColumnComment @:var @(@parameterName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:item.@(@parameterName) = @(@parameterName)Data.Find(it => it.id.Equals(item.@(@parameterName)))?.fullName; }else{ @:if(item.@(@parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(@parameterName).ToObject>(); @:item.@(@parameterName) = string.Join(",", @(@parameterName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(a => a.fullName)); @:} } @: break; } } } } @:}); @: @:foreach (var item in data) @:{ @foreach (var table in Model.TableRelations) { @if(table.IsConversion) { @:await _repository.AsSugarClient().ThenMapperAsync(item.@(@table.ControlModel), async @(@table.LowerClassName) => @:{ @foreach(var column in table.ChilderColumnConfigList) { @{var dataCount = column.StaticData != null ? column.StaticData.Count : 0;} @if(column.IsConversion) { @switch(column.jnpfKey) { case "select": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => @(@table.LowerClassName).@(@column.LowerColumnName).Equals(it.id))?.fullName; @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; case "dictionary": @if(!column.IsMultiple) { @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(it => it.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.fullName; @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(it => it.EnCode.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.fullName; @:} break; } }else{ @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } } break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", ""); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName; @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; } @: break; case "checkbox": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} break; case "dictionary": @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", ""); @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} break; } @: break; case "radio": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "dictionary": @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(dic => dic.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && dic.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(dic => dic.EnCode.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && dic.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; @:} break; } break; case "static": @:var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => @(@table.LowerClassName).@(@column.LowerColumnName).Equals(it.id))?.fullName; @:} break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data .Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName); @:} break; } @: break; case "cascader": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @: var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("@(@column.Separator)", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName).Contains(it.id)).Select(s => s.fullName))); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } break; case "dictionary": @if(!column.IsMultiple) { @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } }else{ @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync())); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync())); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} break; } } break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("@(@column.Separator)", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName).Contains(it.id)).Select(a => a.fullName))); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } break; } @: break; case "comSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("/", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("/", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.Id)).Select(a => a.FullName).ToListAsync())); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } @: break; case "depSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.FullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "posSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.FullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "userSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.RealName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id)).Select(a => a.RealName).ToListAsync()); @:} } @: break; case "roleSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.FullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "groupSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.FullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "treeSelect": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName; @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; case "dictionary": @if(!column.IsMultiple) { @switch(column.Value) { case "id": @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; case "enCode": @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.EnCode.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; } }else{ @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.EnCode) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } } break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(a => a.fullName)); @:} } break; } @: break; case "address": @:// @column.ColumnComment @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("/", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id)).Select(a => a.FullName).ToListAsync()); @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("/", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName).Contains(a.Id)).Select(a => a.FullName).ToListAsync())); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } @: break; case "popupTableSelect": @:// @column.ColumnComment @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(a => a.fullName)); @:} } @: break; } } } @:}); } @: } @:} @:return data.FirstOrDefault(); @:} break; @*分页列表*@ case "page": @: @:/// @:/// 获取@(@Model.BusName)列表. @:/// @:/// 请求参数. @:/// @if(@item.IsInterface) { @:[HttpPost("List")] @:public async Task GetList([FromBody] @(@Model.ClassName)ListQueryInput input) }else{ @:private async Task GetList(@(@Model.ClassName)ListQueryInput input) } @:{ @if(Model.UseDataPermission) { @:var authorizeWhere = new List(); @foreach(var table in Model.AuxiliayTableRelations) { @:var @(table.LowerClassName)AuthorizeWhere = new List(); } @foreach(var table in Model.TableRelations) { @:var @(table.LowerClassName)AuthorizeWhere = new List(); } @: @:// 数据权限过滤 @:if (_userManager.User.IsAdministrator == 0) @:{ @:var allAuthorizeWhere = await _userManager.GetCodeGenAuthorizeModuleResource<@(@Model.ClassName)ListOutput>(input.menuId, "@(@Model.OriginalPrimaryKey)", _userManager.UserOrigin.Equals("pc") ? @(@Model.PcUseDataPermission) : @(@Model.AppUseDataPermission)); @:authorizeWhere = allAuthorizeWhere.Find(it => it.FieldRule == 0)?.conditionalModel; @foreach(var table in Model.AuxiliayTableRelations) { @:@(table.LowerClassName)AuthorizeWhere = allAuthorizeWhere.Find(it => it.FieldRule == 1 && it.TableName.Equals("@(table.OriginalTableName)"))?.conditionalModel; } @foreach(var table in Model.TableRelations) { @:@(table.LowerClassName)AuthorizeWhere = allAuthorizeWhere.Find(it => it.FieldRule == 2 && it.TableName.Equals("@(table.OriginalTableName)"))?.conditionalModel; } @:} @: } @if(Model.DbLinkId != "0") { @:var dbLink = await _repository.AsSugarClient().Queryable().FirstAsync(it => it.Id.Equals("@(@Model.DbLinkId)")); @:_sqlSugarClient = _dataBaseManager.ChangeDataBase(dbLink); @: } @if(Model.HasSuperQuery) { @:var entityInfo = @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").EntityMaintenance.GetEntityInfo<@(@Model.ClassName)Entity>(); @:input.sidx = CodeGenHelper.GetSortRealField(input.sidx, string.Empty, entityInfo, 0); @:var superQuery = SuperQueryHelper.GetSuperQueryInput(input.superQueryJson, string.Empty, entityInfo, 0, false); @:List mainConditionalModel = SuperQueryHelper.GetSuperQueryJson(superQuery); @: @foreach(var table in Model.AuxiliayTableRelations) { @:entityInfo = @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").EntityMaintenance.GetEntityInfo<@(@table.ClassName)Entity>(); @:superQuery = SuperQueryHelper.GetSuperQueryInput(input.superQueryJson, entityInfo.DbTableName, entityInfo, 2, false); @:List @(@table.LowerClassName)ConditionalModel = SuperQueryHelper.GetSuperQueryJson(superQuery); @: } @foreach(var table in Model.TableRelations) { @:entityInfo = @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").EntityMaintenance.GetEntityInfo<@(@table.ClassName)Entity>(); @:superQuery = SuperQueryHelper.GetSuperQueryInput(input.superQueryJson, "@(@table.ControlModel)-", entityInfo, 1, false); @:List @(@table.LowerClassName)ConditionalModel = SuperQueryHelper.GetSuperQueryJson(superQuery); @: } } @foreach(var table in Model.TableField) { @*是查询条件*@ @if(table.QueryWhether) { @{var parameterName = string.Empty;var parameterValue = string.Empty;} @switch(table.IsAuxiliary) { case true: @{parameterName = "jnpf_" + @table.TableName + "_jnpf_" + @table.LowerColumnName;} @{parameterValue = @table.QueryType == 1 ? "auxiliary" + @table.ColumnName + "_" + @table.TableNo : "Auxiliary" + @table.ColumnName + "_" + @table.TableNo;} break; default: @{parameterName = @table.LowerColumnName;} @{parameterValue = @table.QueryType == 1 ? table.LowerColumnName : table.ColumnName;} break; } @switch(table.QueryType) { case 1: @switch(table.jnpfKey) { case "cascader": case "address": case "comSelect": case "currOrganize": @:var @(parameterValue) = input.@(parameterName)?.Split(',').ToList().Last(); break; default: @if(table.IsMultiple) { @:var @(parameterValue) = input.@(parameterName)?.Split(',').ToList().Last(); } break; } break; case 3: @switch(table.jnpfKey) { case "time": @:List query@(parameterValue) = input.@(parameterName)?.Split(',').ToObject>(); @:var start@(parameterValue) = query@(parameterValue)?.First(); @:var end@(parameterValue) = query@(parameterValue)?.Last(); break; case "numInput": case "calculate": @:List query@(parameterValue) = input.@(parameterName)?.Split(',').ToObject>(); @:var start@(parameterValue) = query@(parameterValue)?.First().ParseToDecimal() == 0 ? decimal.MinValue : query@(parameterValue)?.First().ParseToDecimal(); @:var end@(parameterValue) = query@(parameterValue)?.Last().ParseToDecimal() == 0 ? decimal.MaxValue : query@(parameterValue)?.Last().ParseToDecimal(); break; default: @:List query@(parameterValue) = input.@(parameterName)?.Split(',').ToObject>(); @:DateTime? start@(parameterValue) = query@(parameterValue)?.First(); @:DateTime? end@(parameterValue) = query@(parameterValue)?.Last(); break; } break; } } } @foreach(var table in Model.TableRelations) { @*是查询条件*@ @if(table.IsQueryWhether) { @foreach(var column in table.ChilderColumnConfigList) { @switch(column.QueryType) { case 1: @switch(column.jnpfKey) { case "cascader": case "address": case "comSelect": case "currOrganize": @:var @(@table.ControlModel + @column.ColumnName) = input.@(@table.ControlModel + "_" + @column.LowerColumnName)?.Split(',').ToList().Last(); break; default: @if(column.IsMultiple) { @:var @(@table.ControlModel + @column.ColumnName) = input.@(@table.ControlModel + "_" + @column.LowerColumnName)?.Split(',').ToList().Last(); } break; } break; case 3: @switch(column.jnpfKey) { case "time": @:List query@(@table.ControlModel + @column.ColumnName) = input.@(@table.ControlModel + "_" + @column.LowerColumnName)?.Split(',').ToObject>(); @:var start@(@table.ControlModel + @column.ColumnName) = query@(@table.ControlModel + @column.ColumnName)?.First(); @:var end@(@table.ControlModel + @column.ColumnName) = query@(@table.ControlModel + @column.ColumnName)?.Last(); break; case "numInput": case "calculate": @:List query@(@table.ControlModel + @column.ColumnName) = input.@(@table.ControlModel + "_" + @column.LowerColumnName)?.Split(',').ToObject>(); @:var start@(@table.ControlModel + @column.ColumnName) = query@(@table.ControlModel + @column.ColumnName)?.First().ParseToDecimal() == 0 ? decimal.MinValue : query@(@table.ControlModel + @column.ColumnName)?.First().ParseToDecimal(); @:var end@(@table.ControlModel + @column.ColumnName) = query@(@table.ControlModel + @column.ColumnName)?.Last().ParseToDecimal() == 0 ? decimal.MaxValue : query@(@table.ControlModel + @column.ColumnName)?.Last().ParseToDecimal(); break; default: @:List query@(@table.ControlModel + @column.ColumnName) = input.@(@table.ControlModel + "_" + @column.LowerColumnName)?.Split(',').ToObject>(); @:DateTime? start@(@table.ControlModel + @column.ColumnName) = query@(@table.ControlModel + @column.ColumnName)?.First(); @:DateTime? end@(@table.ControlModel + @column.ColumnName) = query@(@table.ControlModel + @column.ColumnName)?.Last(); break; } break; } } } } @{tableNo = Model.AuxiliayTableRelations.Count; } @:var data = await @(Model.DbLinkId != "0" ? "_sqlSugarClient.Queryable<" + @Model.ClassName + "Entity>()" : "_repository.AsQueryable()") @foreach(var table in Model.AuxiliayTableRelations) { @:.Includes(x => x.@(@table.LowerClassName)) } @foreach (var table in Model.TableRelations) { if(table.IsQueryWhether || table.IsShowField) { @:.Includes(x => x.@(@table.LowerClassName)List @foreach(var column in table.ChilderColumnConfigList) { @*查询方式*@ @switch(column.QueryType) { @*查询方式为等于*@ case 1: @*多选控件*@ @if(column.IsMultiple) { @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@column.ColumnName).Contains(@(@table.ControlModel + @column.ColumnName))) }else{ @switch(column.jnpfKey) { case "cascader": case "address": case "comSelect": case "currOrganize": @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@column.ColumnName).Contains(@(@table.ControlModel + @column.ColumnName))) break; case "checkbox": @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@column.ColumnName).Contains(input.@(@table.ControlModel + "_" + @column.LowerColumnName))) break; case "usersSelect": @:.Where(_controlParsing.GetUsersSelectQueryWhere("@(column.OriginalColumnName)", input.@(@table.ControlModel + "_" + @column.LowerColumnName), @(column.IsMultiple.ToString().ToLower()))) break; default: @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@column.ColumnName).Equals(input.@(@table.ControlModel + "_" + @column.LowerColumnName))) break; } } break; @*查询类型为模糊查询*@ case 2: @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@column.ColumnName).Contains(input.@(@table.ControlModel + "_" + @column.LowerColumnName))) break; @*查询类型为范围查询*@ case 3: @switch(column.jnpfKey) { case "time": case "numInput": case "calculate": @:.WhereIF(query@(@table.ControlModel + @column.ColumnName) != null, it => SqlFunc.Between(it.@(@column.ColumnName), start@(@table.ControlModel + @column.ColumnName), end@(@table.ControlModel + @column.ColumnName))) break; default: @if(column.IsDateTime) { @:.WhereIF(query@(@table.ControlModel + @column.ColumnName) != null, it => SqlFunc.Between(it.@(@column.ColumnName), start@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd HH:mm:ss"), end@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd HH:mm:ss"))) }else{ @:.WhereIF(query@(@table.ControlModel + @column.ColumnName) != null, it => SqlFunc.Between(it.@(@column.ColumnName), start@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd 00:00:00"), end@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd 23:59:59"))) } break; } break; } } @if(Model.HasSuperQuery) { @:.Where(@(@table.LowerClassName)ConditionalModel) } @if(table.IsShowField) { @:.Select(it => new @(@table.ClassName)Entity() @:{ @foreach(var column in table.ChilderColumnConfigList) { if(column.IsShow) { @:@column.ColumnName = it.@column.ColumnName, } } @:}) } @:.ToList()) } } @*循环查询条件*@ @foreach(var field in Model.TableField) { @*是否查询条件*@ @switch(field.QueryWhether) { case true: @{var parameterName = string.Empty;var parameterValue = string.Empty;var queryParameter = string.Empty;} @switch(field.IsAuxiliary) { case true: @{parameterName = "jnpf_" + @field.TableName + "_jnpf_" + @field.LowerColumnName;} @{parameterValue = @field.QueryType == 1 ? "auxiliary" + @field.ColumnName + "_" + @field.TableNo : "Auxiliary" + @field.ColumnName + "_" + @field.TableNo;} @{queryParameter = @field.LowerClassName + "." + @field.ColumnName;} break; default: @{parameterName = @field.LowerColumnName;} @{parameterValue = @field.QueryType == 1 ? field.LowerColumnName : field.ColumnName;} @{queryParameter = @field.ColumnName;} break; } @*查询方式*@ @switch(field.QueryType) { @*查询方式为等于*@ case 1: @*多选控件*@ @if(field.IsMultiple) { @:.WhereIF(!string.IsNullOrEmpty(input.@(parameterName)), it => it.@(queryParameter).Contains(@(parameterValue))) }else{ @switch(field.jnpfKey) { case "cascader": case "address": case "comSelect": case "currOrganize": @:.WhereIF(!string.IsNullOrEmpty(input.@(parameterName)), it => it.@(queryParameter).Contains(@(parameterValue))) break; case "checkbox": @:.WhereIF(!string.IsNullOrEmpty(input.@(parameterName)), it => it.@(queryParameter).Contains(input.@(parameterName))) break; case "usersSelect": @:.Where(_controlParsing.GetUsersSelectQueryWhere("@(field.OriginalColumnName)", input.@(parameterName), @(field.IsMultiple.ToString().ToLower()))) break; default: @:.WhereIF(!string.IsNullOrEmpty(input.@(parameterName)), it => it.@(queryParameter).Equals(input.@(parameterName))) break; } } break; @*查询类型为模糊查询*@ case 2: @:.WhereIF(!string.IsNullOrEmpty(input.@(parameterName)), it => it.@(queryParameter).Contains(input.@(parameterName))) break; @*查询类型为范围查询*@ case 3: @switch(field.jnpfKey) { case "time": case "numInput": case "calculate": @:.WhereIF(query@(parameterValue) != null, it => SqlFunc.Between(it.@(queryParameter), start@(parameterValue), end@(parameterValue))) break; default: @if(field.IsDateTime) { @:.WhereIF(query@(parameterValue) != null, it => SqlFunc.Between(it.@(queryParameter), start@(parameterValue).ParseToDateTime("yyyy-MM-dd HH:mm:ss"), end@(parameterValue).ParseToDateTime("yyyy-MM-dd HH:mm:ss"))) }else{ @:.WhereIF(query@(parameterValue) != null, it => SqlFunc.Between(it.@(queryParameter), start@(parameterValue).ParseToDateTime("yyyy-MM-dd 00:00:00"), end@(parameterValue).ParseToDateTime("yyyy-MM-dd 23:59:59"))) } break; } break; } break; } } @*子表循环查询条件*@ @foreach(var table in Model.TableRelations) { @*是否查询条件*@ @if(table.IsQueryWhether) { @foreach(var column in table.ChilderColumnConfigList) { @*查询方式*@ @switch(column.QueryType) { @*查询方式为等于*@ case 1: @*多选控件*@ @if(column.IsMultiple) { @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => @(@table.LowerClassName).@(@column.ColumnName).Contains(@(@table.ControlModel + @column.ColumnName)))) }else{ @switch(column.jnpfKey) { case "cascader": case "address": case "comSelect": case "currOrganize": @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => @(@table.LowerClassName).@(@column.ColumnName).Contains(@(@table.ControlModel + @column.ColumnName)))) break; case "checkbox": @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => @(@table.LowerClassName).@(@column.ColumnName).Contains(input.@(@table.ControlModel + "_" + @column.LowerColumnName)))) break; case "usersSelect": @:.Where(_controlParsing.GetUsersSelectQueryWhere("@(column.OriginalColumnName)", input.@(@table.ControlModel + "_" + @column.LowerColumnName), @(column.IsMultiple.ToString().ToLower()))) break; default: @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => @(@table.LowerClassName).@(@column.ColumnName).Equals(input.@(@table.ControlModel + "_" + @column.LowerColumnName)))) break; } } break; @*查询类型为模糊查询*@ case 2: @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => @(@table.LowerClassName).@(@column.ColumnName).Contains(input.@(@table.ControlModel + "_" + @column.LowerColumnName)))) break; @*查询类型为范围查询*@ case 3: @switch(column.jnpfKey) { case "time": case "numInput": case "calculate": @:.WhereIF(query@(@table.ControlModel + @column.ColumnName) != null, it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => SqlFunc.Between(@(@table.LowerClassName).@(@column.ColumnName), start@(@table.ControlModel + @column.ColumnName), end@(@table.ControlModel + @column.ColumnName)))) break; default: @if(column.IsDateTime) { @:.WhereIF(query@(@table.ControlModel + @column.ColumnName) != null, it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) =>SqlFunc.Between(@(@table.LowerClassName).@(@column.ColumnName), start@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd HH:mm:ss"), end@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd HH:mm:ss")))) }else{ @:.WhereIF(query@(@table.ControlModel + @column.ColumnName) != null, it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => SqlFunc.Between(@(@table.LowerClassName).@(@column.ColumnName), start@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd 00:00:00"), end@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd 23:59:59")))) } break; } break; } } } } @*数据权限*@ @if(Model.UseDataPermission) { @:.Where(authorizeWhere) @foreach(var table in Model.AuxiliayTableRelations) { @:.WhereIF(@(table.LowerClassName)AuthorizeWhere?.Count > 0, it => SqlFunc.Exists(it.@(@table.LowerClassName).@(@table.TableField), @(table.LowerClassName)AuthorizeWhere)) } @foreach(var table in Model.TableRelations) { @:.WhereIF(@(table.LowerClassName)AuthorizeWhere?.Count > 0, it => it.@(@table.LowerClassName)List.Any(@(table.LowerClassName)AuthorizeWhere)) } } @if(Model.HasSuperQuery) { @:.Where(mainConditionalModel) @foreach(var table in Model.AuxiliayTableRelations) { @:.WhereIF(@(@table.LowerClassName)ConditionalModel.Count > 0, it => SqlFunc.Exists(it.@(@table.LowerClassName).@(@table.TableField), @(@table.LowerClassName)ConditionalModel)) } @foreach(var table in Model.TableRelations) { @:.WhereIF(@(@table.LowerClassName)ConditionalModel.Count > 0, it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName)ConditionalModel)) } } @:.OrderByIF(string.IsNullOrEmpty(input.sidx), it => it.@(@Model.PrimaryKey)).OrderByIF(!string.IsNullOrEmpty(input.sidx), input.sidx + " " + input.sort) @:.ToPagedListAsync(input.currentPage, input.pageSize, it => new @(@Model.ClassName)ListOutput @:{ @*循环展示字段*@ @foreach (var column in Model.TableField){ @if (column.PrimaryKey){ @:@(@column.LowerColumnName) = it.@column.ColumnName, }else if(column.IsShow){ @{var parameterName = string.Empty;var parameterValue = string.Empty;} @switch(column.IsAuxiliary) { case true: @{parameterName = "jnpf_" + @column.TableName + "_jnpf_" + @column.LowerColumnName;} @{parameterValue = @column.LowerClassName + "." + @column.ColumnName;} break; default: @{parameterName = @column.LowerColumnName;} @{parameterValue = @column.ColumnName;} break; } @switch(column.jnpfKey) { case "date": @:@(parameterName) = it.@(parameterValue), @:@(parameterName)_name = it.@(parameterValue) == null ? null : it.@(parameterValue).Value.ToString("@(column.Format)"), break; case "modifyTime": @:@(parameterName) = it.@(parameterValue), @:@(parameterName)_name = it.@(parameterValue) == null ? null : it.@(parameterValue).Value.ToString("yyyy-MM-dd HH:mm"), break; case "createTime": @:@(parameterName) = it.@(parameterValue), @:@(parameterName)_name = it.@(parameterValue).Value.ToString("yyyy-MM-dd HH:mm"), break; case "switch": @:@(parameterName) = it.@(parameterValue), @:@(parameterName)_name = it.@(parameterValue) == 0 ? "@(@column.InactiveTxt)" : "@(@column.ActiveTxt)", break; case "comInput": case "billRule": case "textarea": case "time": case "popupSelect": case "relationForm": case "numInput": @:@(parameterName) = it.@parameterValue, @:@(parameterName)_name = it.@parameterValue, break; default: @:@(parameterName) = it.@parameterValue, break; } } } @if(Model.ConcurrencyLock) { @:version = it.Version, } @foreach(var table in Model.TableRelations) { @if(table.IsShowField) { @:@table.ControlModel = it.@(table.LowerClassName)List.Adapt>(), } } @:}); @: @:var inlineEditorList = data.list.Adapt>(); @:@if(Model.IsConversion) { @: @:await _repository.AsSugarClient().ThenMapperAsync(inlineEditorList, async item => @:{ @foreach (var column in Model.TableField) { @{var dataCount = column.StaticData != null ? column.StaticData.Count : 0;} @if(column.IsShow && column.IsConversion) { @{var parameterName = string.Empty;var dataParameter = string.Empty;} @switch(column.IsAuxiliary) { case true: @{parameterName = "jnpf_" + @column.TableName + "_jnpf_" + @column.LowerColumnName;} @{dataParameter = @column.LowerClassName + @column.ColumnName;} break; default: @{parameterName = @column.LowerColumnName;} @{dataParameter = @column.LowerColumnName;} break; } @switch(column.jnpfKey) { case "modifyUser": case "createUser": @:// @column.ColumnComment @:var @(dataParameter)Data = await _repository.AsSugarClient().Queryable().FirstAsync(u => u.Id.Equals(item.@(parameterName))); @:item.@(parameterName)_name = @(dataParameter)Data != null ? string.Format("{0}/{1}", @(dataParameter)Data.RealName, @(dataParameter)Data.Account) : null; @: break; case "currOrganize": @:// @column.ColumnComment @:var @(dataParameter)Data = await _repository.AsSugarClient().Queryable().FirstAsync(u => u.Id.Equals(item.@(parameterName))); @:item.@(parameterName)_name = @(dataParameter)Data != null ? @(dataParameter)Data.FullName : null; @: break; case "currPosition": @:// @column.ColumnComment @:var @(dataParameter)Data = await _repository.AsSugarClient().Queryable().FirstAsync(u => u.Id.Equals(item.@(parameterName))); @:item.@(parameterName)_name = @(dataParameter)Data != null ? @(dataParameter)Data.FullName : null; @: break; case "select": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(dataParameter)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @:item.@(parameterName)_name = @(dataParameter)Data.Find(it => item.@(parameterName).Equals(it.id))?.fullName; @:} }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; case "dictionary": @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @switch(column.Value) { case "id": @:item.@(parameterName) = (await _repository.AsSugarClient().Queryable().FirstAsync(it => it.Id.Equals(item.@(parameterName)) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.fullName; break; case "enCode": @:item.@(parameterName) = (await _repository.AsSugarClient().Queryable().FirstAsync(it => it.EnCode.Equals(item.@(parameterName)) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.fullName; break; } @:} }else{ @:if(item.@(parameterName) != null) @:{ @switch(column.Value) { case "id": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; case "enCode": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; } @:} } break; case "dynamic": @:var @(dataParameter)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", ""); @:if(item.@(parameterName) != null) @:{ @if(!column.IsMultiple) { @:item.@(parameterName)_name = @(dataParameter)Data.Find(it => it.id.Equals(item.@(parameterName)))?.fullName; }else{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); } @:} break; } @: break; case "checkbox": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(dataParameter)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} break; case "dictionary": @:if(item.@(parameterName) != null) @:{ @switch(column.Value) { case "id": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; case "enCode": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; } @:} break; case "dynamic": @:var @(dataParameter)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", ""); @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} break; } @: break; case "radio": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "dictionary": @:if(item.@(parameterName) != null) @:{ @switch(column.Value) { case "id": @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(dic => dic.Id.Equals(item.@(parameterName)) && dic.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; case "enCode": @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(dic => dic.EnCode.Equals(item.@(parameterName)) && dic.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; } @:} break; case "static": @:var @(dataParameter)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(item.@(parameterName) != null) @:{ @:item.@(parameterName)_name = @(dataParameter)Data.Find(it => item.@(parameterName).Equals(it.id))?.fullName; @:} break; case "dynamic": @:var @(dataParameter)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @:if(item.@(parameterName) != null) @:{ @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data .Find(it => it.id.Equals(item.@(parameterName)))?.fullName); @:} break; } @: break; case "cascader": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(dataParameter)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join("@(@column.Separator)", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName).Contains(it.id)).Select(s => s.fullName))); @:} @: @:item.@(parameterName)_name = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } break; case "dictionary": @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @switch(column.Value) { case "id": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; case "enCode": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; } @:} }else{ @:if(item.@(parameterName) != null) @:{ @switch(column.Value) { case "id": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync())); @:} @: @:item.@(parameterName)_name = string.Join(",", @(@column.LowerColumnName)Excessive); break; case "enCode": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync())); @:} @: @:item.@(parameterName)_name = string.Join(",", @(@column.LowerColumnName)Excessive); break; } @:} } break; case "dynamic": @:var @(dataParameter)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @:if(item.@(parameterName) != null) @:{ @if(!column.IsMultiple) { @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join("@(@column.Separator)", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); }else{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName).Contains(it.id)).Select(a => a.fullName))); @:} @: @:item.@(parameterName)_name = string.Join(",", @(@column.LowerColumnName)Excessive); } @:} break; } @: break; case "comSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join("/", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("/", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.Id)).Select(a => a.FullName).ToListAsync())); @:} @: @:item.@(parameterName)_name = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } @: break; case "depSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(item.@(parameterName))))?.FullName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "posSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(item.@(parameterName))))?.FullName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "userSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(item.@(parameterName))))?.RealName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id)).Select(a => a.RealName).ToListAsync()); @:} } @: break; case "roleSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(item.@(parameterName))))?.FullName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "groupSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(item.@(parameterName))))?.FullName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "treeSelect": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(dataParameter)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @:item.@(parameterName)_name = @(dataParameter)Data.Find(it => it.id.Equals(item.@(parameterName)))?.fullName; @:} }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; case "dictionary": @if(!column.IsMultiple) { @switch(column.Value) { case "id": @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(item.@(parameterName)) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; case "enCode": @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.EnCode.Equals(item.@(parameterName)) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; } }else{ @switch(column.Value) { case "id": @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.EnCode) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } } break; case "dynamic": @:var @(dataParameter)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:item.@(parameterName)_name = @(dataParameter)Data.Find(it => it.id.Equals(item.@(parameterName)))?.fullName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(a => a.fullName)); @:} } break; } @: break; case "address": @:// @column.ColumnComment @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join("/", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id)).Select(a => a.FullName).ToListAsync()); @:} }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("/", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName).Contains(a.Id)).Select(a => a.FullName).ToListAsync())); @:} @: @:item.@(parameterName)_name = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } @: break; case "popupTableSelect": @:// @column.ColumnComment @:var @(dataParameter)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:item.@(parameterName)_name = @(dataParameter)Data.Find(it => it.id.Equals(item.@(parameterName)))?.fullName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(a => a.fullName)); @:} } @: break; } } } @:}); } @if(Model.IsChildIndexShow) { @: @:foreach (var item in inlineEditorList) @:{ @foreach (var table in Model.TableRelations) { @if(table.IsConversion && table.IsShowField) { @:await _repository.AsSugarClient().ThenMapperAsync(item.@table.ControlModel, async @(@table.LowerClassName) => @:{ @foreach(var column in table.ChilderColumnConfigList) { @{var dataCount = column.StaticData != null ? column.StaticData.Count : 0;} @if(column.IsShow && column.IsConversion) { @switch(column.jnpfKey) { case "switch": @:// @column.ColumnComment @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@table.LowerClassName).@(@column.LowerColumnName) == "0" ? "@(@column.InactiveTxt)" : "@(@column.ActiveTxt)"; break; case "select": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => @(@table.LowerClassName).@(@column.LowerColumnName).Equals(it.id))?.fullName; @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; case "dictionary": @if(!column.IsMultiple) { @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(it => it.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.fullName; @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(it => it.EnCode.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.fullName; @:} break; } }else{ @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } } break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", ""); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName; @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; } @: break; case "checkbox": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} break; case "dictionary": @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", ""); @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} break; } @: break; case "radio": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "dictionary": @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(dic => dic.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && dic.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(dic => dic.EnCode.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && dic.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; @:} break; } break; case "static": @:var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => @(@table.LowerClassName).@(@column.LowerColumnName).Equals(it.id))?.fullName; @:} break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data .Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName); @:} break; } @: break; case "cascader": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @: var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("@(@column.Separator)", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName).Contains(it.id)).Select(s => s.fullName))); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } break; case "dictionary": @if(!column.IsMultiple) { @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } }else{ @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync())); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync())); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} break; } } break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("@(@column.Separator)", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName).Contains(it.id)).Select(a => a.fullName))); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } break; } @: break; case "comSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("/", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("/", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.Id)).Select(a => a.FullName).ToListAsync())); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } @: break; case "depSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.FullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "posSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.FullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "userSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.RealName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id)).Select(a => a.RealName).ToListAsync()); @:} } @: break; case "roleSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.FullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "groupSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.FullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "treeSelect": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName; @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; case "dictionary": @if(!column.IsMultiple) { @switch(column.Value) { case "id": @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; case "enCode": @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.EnCode.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; } }else{ @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.EnCode) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } } break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(a => a.fullName)); @:} } break; } @: break; case "address": @:// @column.ColumnComment @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("/", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id)).Select(a => a.FullName).ToListAsync()); @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("/", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName).Contains(a.Id)).Select(a => a.FullName).ToListAsync())); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } @: break; case "popupTableSelect": @:// @column.ColumnComment @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(a => a.fullName)); @:} } @: break; } } } @:}); } @: } @:} } @: @if(Model.ParsJnpfKeyConstList.Count>0) { @:var resData = inlineEditorList.ToObject>>(CommonConst.options); @foreach (var jnpfKeyConst in Model.ParsJnpfKeyConstList) { @:resData = await _controlParsing.GetParsDataList(resData,"@(@jnpfKeyConst[1])","@(@jnpfKeyConst[0])",_userManager.TenantId); } @:inlineEditorList = resData.ToObject>(CommonConst.options); } @:return PageResult<@(@Model.ClassName)InlineEditorOutput>.SqlSugarPageResult(new SqlSugarPagedList<@(@Model.ClassName)InlineEditorOutput> @:{ @:pagination = data.pagination, @:list = inlineEditorList @:}); @:} break; case "noPage": @: @:/// @:/// 获取@(@Model.BusName)无分页列表. @:/// @:/// 请求参数. @:/// @if(@item.IsInterface) { @:[HttpPost("List")] @:public async Task GetNoPagingList([FromBody] @(@Model.ClassName)ListQueryInput input) }else{ @:private async Task GetNoPagingList(@(@Model.ClassName)ListQueryInput input) } @:{ @if(Model.UseDataPermission) { @:var authorizeWhere = new List(); @foreach(var table in Model.AuxiliayTableRelations) { @:var @(table.LowerClassName)AuthorizeWhere = new List(); } @foreach(var table in Model.TableRelations) { @:var @(table.LowerClassName)AuthorizeWhere = new List(); } @: @:// 数据权限过滤 @:if (_userManager.User.IsAdministrator == 0) @:{ @:var allAuthorizeWhere = await _userManager.GetCodeGenAuthorizeModuleResource<@(@Model.ClassName)ListOutput>(input.menuId, "@(@Model.OriginalPrimaryKey)", _userManager.UserOrigin.Equals("pc") ? @(@Model.PcUseDataPermission) : @(@Model.AppUseDataPermission)); @:authorizeWhere = allAuthorizeWhere.Find(it => it.FieldRule == 0)?.conditionalModel; @foreach(var table in Model.AuxiliayTableRelations) { @:@(table.LowerClassName)AuthorizeWhere = allAuthorizeWhere.Find(it => it.FieldRule == 1 && it.TableName.Equals("@(table.OriginalTableName)"))?.conditionalModel; } @foreach(var table in Model.TableRelations) { @:@(table.LowerClassName)AuthorizeWhere = allAuthorizeWhere.Find(it => it.FieldRule == 2 && it.TableName.Equals("@(table.OriginalTableName)"))?.conditionalModel; } @:} @: } @if(Model.DbLinkId != "0") { @:var dbLink = await _repository.AsSugarClient().Queryable().FirstAsync(it => it.Id.Equals("@(@Model.DbLinkId)")); @:_sqlSugarClient = _dataBaseManager.ChangeDataBase(dbLink); @: } @if(Model.HasSuperQuery) { @:var entityInfo = @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").EntityMaintenance.GetEntityInfo<@(@Model.ClassName)Entity>(); @:input.sidx = CodeGenHelper.GetSortRealField(input.sidx, string.Empty, entityInfo, 0); @:var superQuery = SuperQueryHelper.GetSuperQueryInput(input.superQueryJson, string.Empty, entityInfo, 0, false); @:List mainConditionalModel = SuperQueryHelper.GetSuperQueryJson(superQuery); @: @foreach(var table in Model.AuxiliayTableRelations) { @:entityInfo = @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").EntityMaintenance.GetEntityInfo<@(@table.ClassName)Entity>(); @:superQuery = SuperQueryHelper.GetSuperQueryInput(input.superQueryJson, entityInfo.DbTableName, entityInfo, 2, false); @:List @(@table.LowerClassName)ConditionalModel = SuperQueryHelper.GetSuperQueryJson(superQuery); @: } @foreach(var table in Model.TableRelations) { @:entityInfo = @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").EntityMaintenance.GetEntityInfo<@(@table.ClassName)Entity>(); @:superQuery = SuperQueryHelper.GetSuperQueryInput(input.superQueryJson, "@(@table.ControlModel)-", entityInfo, 1, false); @:List @(@table.LowerClassName)ConditionalModel = SuperQueryHelper.GetSuperQueryJson(superQuery); @: } } @foreach(var table in Model.TableField) { @*是查询条件*@ @if(table.QueryWhether) { @{var parameterName = string.Empty;var parameterValue = string.Empty;} @switch(table.IsAuxiliary) { case true: @{parameterName = "jnpf_" + @table.TableName + "_jnpf_" + @table.LowerColumnName;} @{parameterValue = @table.QueryType == 1 ? "auxiliary" + @table.ColumnName + "_" + @table.TableNo : "Auxiliary" + @table.ColumnName + "_" + @table.TableNo;} break; default: @{parameterName = @table.LowerColumnName;} @{parameterValue = @table.QueryType == 1 ? table.LowerColumnName : table.ColumnName;} break; } @switch(table.QueryType) { case 1: @switch(table.jnpfKey) { case "cascader": case "address": case "comSelect": case "currOrganize": @:var @(parameterValue) = input.@(parameterName)?.Split(',').ToList().Last(); break; default: @if(table.IsMultiple) { @:var @(parameterValue) = input.@(parameterName)?.Split(',').ToList().Last(); } break; } break; case 3: @switch(table.jnpfKey) { case "time": @:List query@(parameterValue) = input.@(parameterName)?.Split(',').ToObject>(); @:var start@(parameterValue) = query@(parameterValue)?.First(); @:var end@(parameterValue) = query@(parameterValue)?.Last(); break; case "numInput": case "calculate": @:List query@(parameterValue) = input.@(parameterName)?.Split(',').ToObject>(); @:var start@(parameterValue) = query@(parameterValue)?.First().ParseToDecimal() == 0 ? decimal.MinValue : query@(parameterValue)?.First().ParseToDecimal(); @:var end@(parameterValue) = query@(parameterValue)?.Last().ParseToDecimal() == 0 ? decimal.MaxValue : query@(parameterValue)?.Last().ParseToDecimal(); break; default: @:List query@(parameterValue) = input.@(parameterName)?.Split(',').ToObject>(); @:DateTime? start@(parameterValue) = query@(parameterValue)?.First(); @:DateTime? end@(parameterValue) = query@(parameterValue)?.Last(); break; } break; } } } @foreach(var table in Model.TableRelations) { @*是查询条件*@ @if(table.IsQueryWhether) { @foreach(var column in table.ChilderColumnConfigList) { @switch(column.QueryType) { case 1: @switch(column.jnpfKey) { case "cascader": case "address": case "comSelect": case "currOrganize": @:var @(@table.ControlModel + @column.ColumnName) = input.@(@table.ControlModel + "_" + @column.LowerColumnName)?.Split(',').ToList().Last(); break; default: @if(column.IsMultiple) { @:var @(@table.ControlModel + @column.ColumnName) = input.@(@table.ControlModel + "_" + @column.LowerColumnName)?.Split(',').ToList().Last(); } break; } break; case 3: @switch(column.jnpfKey) { case "time": @:List query@(@table.ControlModel + @column.ColumnName) = input.@(@table.ControlModel + "_" + @column.LowerColumnName)?.Split(',').ToObject>(); @:var start@(@table.ControlModel + @column.ColumnName) = query@(@table.ControlModel + @column.ColumnName)?.First(); @:var end@(@table.ControlModel + @column.ColumnName) = query@(@table.ControlModel + @column.ColumnName)?.Last(); break; case "numInput": case "calculate": @:List query@(@table.ControlModel + @column.ColumnName) = input.@(@table.ControlModel + "_" + @column.LowerColumnName)?.Split(',').ToObject>(); @:var start@(@table.ControlModel + @column.ColumnName) = query@(@table.ControlModel + @column.ColumnName)?.First().ParseToDecimal() == 0 ? decimal.MinValue : query@(@table.ControlModel + @column.ColumnName)?.First().ParseToDecimal(); @:var end@(@table.ControlModel + @column.ColumnName) = query@(@table.ControlModel + @column.ColumnName)?.Last().ParseToDecimal() == 0 ? decimal.MaxValue : query@(@table.ControlModel + @column.ColumnName)?.Last().ParseToDecimal(); break; default: @:List query@(@table.ControlModel + @column.ColumnName) = input.@(@table.ControlModel + "_" + @column.LowerColumnName)?.Split(',').ToObject>(); @:DateTime? start@(@table.ControlModel + @column.ColumnName) = query@(@table.ControlModel + @column.ColumnName)?.First(); @:DateTime? end@(@table.ControlModel + @column.ColumnName) = query@(@table.ControlModel + @column.ColumnName)?.Last(); break; } break; } } } } @{tableNo = Model.AuxiliayTableRelations.Count; } @:var list = await @(Model.DbLinkId != "0" ? "_sqlSugarClient.Queryable<" + @Model.ClassName + "Entity>()" : "_repository.AsQueryable()") @foreach(var table in Model.AuxiliayTableRelations) { @:.Includes(x => x.@(@table.LowerClassName)) } @foreach (var table in Model.TableRelations) { if(table.IsQueryWhether || table.IsShowField) { @:.Includes(x => x.@(@table.LowerClassName)List @foreach(var column in table.ChilderColumnConfigList) { @*查询方式*@ @switch(column.QueryType) { @*查询方式为等于*@ case 1: @*多选控件*@ @if(column.IsMultiple) { @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@column.ColumnName).Contains(@(@table.ControlModel + @column.ColumnName))) }else{ @switch(column.jnpfKey) { case "cascader": case "address": case "comSelect": case "currOrganize": @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@column.ColumnName).Contains(@(@table.ControlModel + @column.ColumnName))) break; case "checkbox": @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@column.ColumnName).Contains(input.@(@table.ControlModel + "_" + @column.LowerColumnName))) break; case "usersSelect": @:.Where(_controlParsing.GetUsersSelectQueryWhere("@(column.OriginalColumnName)", input.@(@table.ControlModel + "_" + @column.LowerColumnName), @(column.IsMultiple.ToString().ToLower()))) break; default: @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@column.ColumnName).Equals(input.@(@table.ControlModel + "_" + @column.LowerColumnName))) break; } } break; @*查询类型为模糊查询*@ case 2: @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@column.ColumnName).Contains(input.@(@table.ControlModel + "_" + @column.LowerColumnName))) break; @*查询类型为范围查询*@ case 3: @switch(column.jnpfKey) { case "time": case "numInput": case "calculate": @:.WhereIF(query@(@table.ControlModel + @column.ColumnName) != null, it => SqlFunc.Between(it.@(@column.ColumnName), start@(@table.ControlModel + @column.ColumnName), end@(@table.ControlModel + @column.ColumnName))) break; default: @if(column.IsDateTime) { @:.WhereIF(query@(@table.ControlModel + @column.ColumnName) != null, it => SqlFunc.Between(it.@(@column.ColumnName), start@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd HH:mm:ss"), end@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd HH:mm:ss"))) }else{ @:.WhereIF(query@(@table.ControlModel + @column.ColumnName) != null, it => SqlFunc.Between(it.@(@column.ColumnName), start@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd 00:00:00"), end@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd 23:59:59"))) } break; } break; } } @if(Model.HasSuperQuery) { @:.Where(@(@table.LowerClassName)ConditionalModel) } @if(table.IsShowField) { @:.Select(it => new @(@table.ClassName)Entity() @:{ @foreach(var column in table.ChilderColumnConfigList) { if(column.IsShow) { @:@column.ColumnName = it.@column.ColumnName, } } @:}) } @:.ToList()) } } @*循环查询条件*@ @foreach(var field in Model.TableField) { @*是否查询条件*@ @switch(field.QueryWhether) { case true: @{var parameterName = string.Empty;var parameterValue = string.Empty;var queryParameter = string.Empty;} @switch(field.IsAuxiliary) { case true: @{parameterName = "jnpf_" + @field.TableName + "_jnpf_" + @field.LowerColumnName;} @{parameterValue = @field.QueryType == 1 ? "auxiliary" + @field.ColumnName + "_" + @field.TableNo : "Auxiliary" + @field.ColumnName + "_" + @field.TableNo;} @{queryParameter = @field.LowerClassName + "." + @field.ColumnName;} break; default: @{parameterName = @field.LowerColumnName;} @{parameterValue = @field.QueryType == 1 ? field.LowerColumnName : field.ColumnName;} @{queryParameter = @field.ColumnName;} break; } @*查询方式*@ @switch(field.QueryType) { @*查询方式为等于*@ case 1: @*多选控件*@ @if(field.IsMultiple) { @:.WhereIF(!string.IsNullOrEmpty(input.@(parameterName)), it => it.@(queryParameter).Contains(@(parameterValue))) }else{ @switch(field.jnpfKey) { case "cascader": case "address": case "comSelect": case "currOrganize": @:.WhereIF(!string.IsNullOrEmpty(input.@(parameterName)), it => it.@(queryParameter).Contains(@(parameterValue))) break; case "checkbox": @:.WhereIF(!string.IsNullOrEmpty(input.@(parameterName)), it => it.@(queryParameter).Contains(input.@(parameterName))) break; case "usersSelect": @:.Where(_controlParsing.GetUsersSelectQueryWhere("@(field.OriginalColumnName)", input.@(parameterName), @(field.IsMultiple.ToString().ToLower()))) break; default: @:.WhereIF(!string.IsNullOrEmpty(input.@(parameterName)), it => it.@(queryParameter).Equals(input.@(parameterName))) break; } } break; @*查询类型为模糊查询*@ case 2: @:.WhereIF(!string.IsNullOrEmpty(input.@(parameterName)), it => it.@(queryParameter).Contains(input.@(parameterName))) break; @*查询类型为范围查询*@ case 3: @switch(field.jnpfKey) { case "time": case "numInput": case "calculate": @:.WhereIF(query@(parameterValue) != null, it => SqlFunc.Between(it.@(queryParameter), start@(parameterValue), end@(parameterValue))) break; default: @if(field.IsDateTime) { @:.WhereIF(query@(parameterValue) != null, it => SqlFunc.Between(it.@(queryParameter), start@(parameterValue).ParseToDateTime("yyyy-MM-dd HH:mm:ss"), end@(parameterValue).ParseToDateTime("yyyy-MM-dd HH:mm:ss"))) }else{ @:.WhereIF(query@(parameterValue) != null, it => SqlFunc.Between(it.@(queryParameter), start@(parameterValue).ParseToDateTime("yyyy-MM-dd 00:00:00"), end@(parameterValue).ParseToDateTime("yyyy-MM-dd 23:59:59"))) } break; } break; } break; } } @*子表循环查询条件*@ @foreach(var table in Model.TableRelations) { @*是否查询条件*@ @if(table.IsQueryWhether) { @foreach(var column in table.ChilderColumnConfigList) { @*查询方式*@ @switch(column.QueryType) { @*查询方式为等于*@ case 1: @*多选控件*@ @if(column.IsMultiple) { @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => @(@table.LowerClassName).@(@column.ColumnName).Contains(@(@table.ControlModel + @column.ColumnName)))) }else{ @switch(column.jnpfKey) { case "cascader": case "address": case "comSelect": case "currOrganize": @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => @(@table.LowerClassName).@(@column.ColumnName).Contains(@(@table.ControlModel + @column.ColumnName)))) break; case "checkbox": @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => @(@table.LowerClassName).@(@column.ColumnName).Contains(input.@(@table.ControlModel + "_" + @column.LowerColumnName)))) break; case "usersSelect": @:.Where(_controlParsing.GetUsersSelectQueryWhere("@(column.OriginalColumnName)", input.@(@table.ControlModel + "_" + @column.LowerColumnName), @(column.IsMultiple.ToString().ToLower()))) break; default: @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => @(@table.LowerClassName).@(@column.ColumnName).Equals(input.@(@table.ControlModel + "_" + @column.LowerColumnName)))) break; } } break; @*查询类型为模糊查询*@ case 2: @:.WhereIF(!string.IsNullOrEmpty(input.@(@table.ControlModel + "_" + @column.LowerColumnName)), it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => @(@table.LowerClassName).@(@column.ColumnName).Contains(input.@(@table.ControlModel + "_" + @column.LowerColumnName)))) break; @*查询类型为范围查询*@ case 3: @switch(column.jnpfKey) { case "time": case "numInput": case "calculate": @:.WhereIF(query@(@table.ControlModel + @column.ColumnName) != null, it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => SqlFunc.Between(@(@table.LowerClassName).@(@column.ColumnName), start@(@table.ControlModel + @column.ColumnName), end@(@table.ControlModel + @column.ColumnName)))) break; default: @if(column.IsDateTime) { @:.WhereIF(query@(@table.ControlModel + @column.ColumnName) != null, it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) =>SqlFunc.Between(@(@table.LowerClassName).@(@column.ColumnName), start@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd HH:mm:ss"), end@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd HH:mm:ss")))) }else{ @:.WhereIF(query@(@table.ControlModel + @column.ColumnName) != null, it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName) => SqlFunc.Between(@(@table.LowerClassName).@(@column.ColumnName), start@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd 00:00:00"), end@(@table.ControlModel + @column.ColumnName).ParseToDateTime("yyyy-MM-dd 23:59:59")))) } break; } break; } } } } @*数据权限*@ @if(Model.UseDataPermission) { @:.Where(authorizeWhere) @foreach(var table in Model.AuxiliayTableRelations) { @:.WhereIF(@(table.LowerClassName)AuthorizeWhere?.Count > 0, it => SqlFunc.Exists(it.@(@table.LowerClassName).@(@table.TableField), @(table.LowerClassName)AuthorizeWhere)) } @foreach(var table in Model.TableRelations) { @:.WhereIF(@(table.LowerClassName)AuthorizeWhere?.Count > 0, it => it.@(@table.LowerClassName)List.Any(@(table.LowerClassName)AuthorizeWhere)) } } @if(Model.HasSuperQuery) { @:.Where(mainConditionalModel) @foreach(var table in Model.AuxiliayTableRelations) { @:.WhereIF(@(@table.LowerClassName)ConditionalModel.Count > 0, it => SqlFunc.Exists(it.@(@table.LowerClassName).@(@table.TableField), @(@table.LowerClassName)ConditionalModel)) } @foreach(var table in Model.TableRelations) { @:.WhereIF(@(@table.LowerClassName)ConditionalModel.Count > 0, it => it.@(@table.LowerClassName)List.Any(@(@table.LowerClassName)ConditionalModel)) } } @:.OrderByIF(string.IsNullOrEmpty(input.sidx), it => it.@(@Model.PrimaryKey)).OrderByIF(!string.IsNullOrEmpty(input.sidx), input.sidx + " " + input.sort) @:.ToListAsync(it => new @(@Model.ClassName)ListOutput @:{ @*循环展示字段*@ @foreach (var column in Model.TableField){ @if (column.PrimaryKey){ @:@(@column.LowerColumnName) = it.@column.ColumnName, }else if(column.IsShow){ @{var parameterName = string.Empty;var parameterValue = string.Empty;} @switch(column.IsAuxiliary) { case true: @{parameterName = "jnpf_" + @column.TableName + "_jnpf_" + @column.LowerColumnName;} @{parameterValue = @column.LowerClassName + "." + @column.ColumnName;} break; default: @{parameterName = @column.LowerColumnName;} @{parameterValue = @column.ColumnName;} break; } @switch(column.jnpfKey) { case "date": @:@(parameterName) = it.@(parameterValue), @:@(parameterName)_name = it.@(parameterValue) == null ? null : it.@(parameterValue).Value.ToString("@(column.Format)"), break; case "modifyTime": @:@(parameterName) = it.@(parameterValue), @:@(parameterName)_name = it.@(parameterValue) == null ? null : it.@(parameterValue).Value.ToString("yyyy-MM-dd HH:mm"), break; case "createTime": @:@(parameterName) = it.@(parameterValue), @:@(parameterName)_name = it.@(parameterValue).Value.ToString("yyyy-MM-dd HH:mm"), break; case "switch": @:@(parameterName) = it.@(parameterValue), @:@(parameterName)_name = it.@(parameterValue) == 0 ? "@(@column.InactiveTxt)" : "@(@column.ActiveTxt)", break; case "comInput": case "billRule": case "textarea": case "time": case "popupSelect": case "relationForm": case "numInput": @:@(parameterName) = it.@parameterValue, @:@(parameterName)_name = it.@parameterValue, break; default: @:@(parameterName) = it.@parameterValue, break; } } } @if(Model.ConcurrencyLock) { @:version = it.Version, } @foreach(var table in Model.TableRelations) { @if(table.IsShowField) { @:@table.ControlModel = it.@(table.LowerClassName)List.Adapt>(), } } @:}); @: @:var inlineEditorList = list.Adapt>(); @:@if(Model.IsConversion) { @: @:await _repository.AsSugarClient().ThenMapperAsync(inlineEditorList, async item => @:{ @foreach (var column in Model.TableField) { @{var dataCount = column.StaticData != null ? column.StaticData.Count : 0;} @if(column.IsShow && column.IsConversion) { @{var parameterName = string.Empty;var dataParameter = string.Empty;} @switch(column.IsAuxiliary) { case true: @{parameterName = "jnpf_" + @column.TableName + "_jnpf_" + @column.LowerColumnName;} @{dataParameter = @column.LowerClassName + @column.ColumnName;} break; default: @{parameterName = @column.LowerColumnName;} @{dataParameter = @column.LowerColumnName;} break; } @switch(column.jnpfKey) { case "modifyUser": case "createUser": @:// @column.ColumnComment @:var @(dataParameter)Data = await _repository.AsSugarClient().Queryable().FirstAsync(u => u.Id.Equals(item.@(parameterName))); @:item.@(parameterName)_name = @(dataParameter)Data != null ? string.Format("{0}/{1}", @(dataParameter)Data.RealName, @(dataParameter)Data.Account) : null; @: break; case "currOrganize": @:// @column.ColumnComment @:var @(dataParameter)Data = await _repository.AsSugarClient().Queryable().FirstAsync(u => u.Id.Equals(item.@(parameterName))); @:item.@(parameterName)_name = @(dataParameter)Data != null ? @(dataParameter)Data.FullName : null; @: break; case "currPosition": @:// @column.ColumnComment @:var @(dataParameter)Data = await _repository.AsSugarClient().Queryable().FirstAsync(u => u.Id.Equals(item.@(parameterName))); @:item.@(parameterName)_name = @(dataParameter)Data != null ? @(dataParameter)Data.FullName : null; @: break; case "select": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(dataParameter)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @:item.@(parameterName)_name = @(dataParameter)Data.Find(it => item.@(parameterName).Equals(it.id))?.fullName; @:} }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; case "dictionary": @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @switch(column.Value) { case "id": @:item.@(parameterName) = (await _repository.AsSugarClient().Queryable().FirstAsync(it => it.Id.Equals(item.@(parameterName)) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.fullName; break; case "enCode": @:item.@(parameterName) = (await _repository.AsSugarClient().Queryable().FirstAsync(it => it.EnCode.Equals(item.@(parameterName)) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.fullName; break; } @:} }else{ @:if(item.@(parameterName) != null) @:{ @switch(column.Value) { case "id": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; case "enCode": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; } @:} } break; case "dynamic": @:var @(dataParameter)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", ""); @:if(item.@(parameterName) != null) @:{ @if(!column.IsMultiple) { @:item.@(parameterName)_name = @(dataParameter)Data.Find(it => it.id.Equals(item.@(parameterName)))?.fullName; }else{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); } @:} break; } @: break; case "checkbox": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(dataParameter)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} break; case "dictionary": @:if(item.@(parameterName) != null) @:{ @switch(column.Value) { case "id": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; case "enCode": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; } @:} break; case "dynamic": @:var @(dataParameter)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", ""); @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} break; } @: break; case "radio": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "dictionary": @:if(item.@(parameterName) != null) @:{ @switch(column.Value) { case "id": @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(dic => dic.Id.Equals(item.@(parameterName)) && dic.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; case "enCode": @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(dic => dic.EnCode.Equals(item.@(parameterName)) && dic.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; } @:} break; case "static": @:var @(dataParameter)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(item.@(parameterName) != null) @:{ @:item.@(parameterName)_name = @(dataParameter)Data.Find(it => item.@(parameterName).Equals(it.id))?.fullName; @:} break; case "dynamic": @:var @(dataParameter)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @:if(item.@(parameterName) != null) @:{ @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data .Find(it => it.id.Equals(item.@(parameterName)))?.fullName); @:} break; } @: break; case "cascader": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(dataParameter)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join("@(@column.Separator)", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName).Contains(it.id)).Select(s => s.fullName))); @:} @: @:item.@(parameterName)_name = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } break; case "dictionary": @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @switch(column.Value) { case "id": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; case "enCode": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; } @:} }else{ @:if(item.@(parameterName) != null) @:{ @switch(column.Value) { case "id": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync())); @:} @: @:item.@(parameterName)_name = string.Join(",", @(@column.LowerColumnName)Excessive); break; case "enCode": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync())); @:} @: @:item.@(parameterName)_name = string.Join(",", @(@column.LowerColumnName)Excessive); break; } @:} } break; case "dynamic": @:var @(dataParameter)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @:if(item.@(parameterName) != null) @:{ @if(!column.IsMultiple) { @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join("@(@column.Separator)", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); }else{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName).Contains(it.id)).Select(a => a.fullName))); @:} @: @:item.@(parameterName)_name = string.Join(",", @(@column.LowerColumnName)Excessive); } @:} break; } @: break; case "comSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join("/", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("/", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.Id)).Select(a => a.FullName).ToListAsync())); @:} @: @:item.@(parameterName)_name = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } @: break; case "depSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(item.@(parameterName))))?.FullName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "posSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(item.@(parameterName))))?.FullName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "userSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(item.@(parameterName))))?.RealName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id)).Select(a => a.RealName).ToListAsync()); @:} } @: break; case "roleSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(item.@(parameterName))))?.FullName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "groupSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(item.@(parameterName))))?.FullName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "treeSelect": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(dataParameter)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @:item.@(parameterName)_name = @(dataParameter)Data.Find(it => it.id.Equals(item.@(parameterName)))?.fullName; @:} }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; case "dictionary": @if(!column.IsMultiple) { @switch(column.Value) { case "id": @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(item.@(parameterName)) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; case "enCode": @:item.@(parameterName)_name = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.EnCode.Equals(item.@(parameterName)) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; } }else{ @:if(item.@(parameterName) != null) @:{ @switch(column.Value) { case "id": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; case "enCode": @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.EnCode) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); break; } @:} } break; case "dynamic": @:var @(dataParameter)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:item.@(parameterName)_name = @(dataParameter)Data.Find(it => it.id.Equals(item.@(parameterName)))?.fullName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(a => a.fullName)); @:} } break; } @: break; case "address": @:// @column.ColumnComment @if(!column.IsMultiple) { @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join("/", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id)).Select(a => a.FullName).ToListAsync()); @:} }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("/", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName).Contains(a.Id)).Select(a => a.FullName).ToListAsync())); @:} @: @:item.@(parameterName)_name = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } @: break; case "popupTableSelect": @:// @column.ColumnComment @:var @(dataParameter)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:item.@(parameterName)_name = @(dataParameter)Data.Find(it => it.id.Equals(item.@(parameterName)))?.fullName; }else{ @:if(item.@(parameterName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = item.@(parameterName).ToObject>(); @:item.@(parameterName)_name = string.Join(",", @(dataParameter)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(a => a.fullName)); @:} } @: break; } } } @:}); } @if(Model.IsChildIndexShow) { @: @:foreach (var item in inlineEditorList) @:{ @foreach (var table in Model.TableRelations) { @if(table.IsConversion && table.IsShowField) { @:await _repository.AsSugarClient().ThenMapperAsync(item.@table.ControlModel, async @(@table.LowerClassName) => @:{ @foreach(var column in table.ChilderColumnConfigList) { @{var dataCount = column.StaticData != null ? column.StaticData.Count : 0;} @if(column.IsShow && column.IsConversion) { @switch(column.jnpfKey) { case "switch": @:// @column.ColumnComment @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@table.LowerClassName).@(@column.LowerColumnName) == "0" ? "@(@column.InactiveTxt)" : "@(@column.ActiveTxt)"; break; case "select": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => @(@table.LowerClassName).@(@column.LowerColumnName).Equals(it.id))?.fullName; @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; case "dictionary": @if(!column.IsMultiple) { @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(it => it.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.fullName; @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(it => it.EnCode.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.fullName; @:} break; } }else{ @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } } break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", ""); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName; @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; } @: break; case "checkbox": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} break; case "dictionary": @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", ""); @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} break; } @: break; case "radio": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "dictionary": @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(dic => dic.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && dic.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(dic => dic.EnCode.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && dic.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; @:} break; } break; case "static": @:var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => @(@table.LowerClassName).@(@column.LowerColumnName).Equals(it.id))?.fullName; @:} break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data .Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName); @:} break; } @: break; case "cascader": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @: var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("@(@column.Separator)", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName).Contains(it.id)).Select(s => s.fullName))); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } break; case "dictionary": @if(!column.IsMultiple) { @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } }else{ @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.Id) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync())); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.EnCode) && it.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync())); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} break; } } break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("@(@column.Separator)", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("@(@column.Separator)", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName).Contains(it.id)).Select(a => a.fullName))); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } break; } @: break; case "comSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("/", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("/", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName).Contains(it.Id)).Select(a => a.FullName).ToListAsync())); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } @: break; case "depSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.FullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "posSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.FullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "userSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.RealName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id)).Select(a => a.RealName).ToListAsync()); @:} } @: break; case "roleSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.FullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "groupSelect": @:// @column.ColumnComment @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName))))?.FullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.Id)).Select(a => a.FullName).ToListAsync()); @:} } @: break; case "treeSelect": @:// @column.ColumnComment @switch(column.ControlsDataType) { case "static": @:var @(@column.LowerColumnName)Data = "[@foreach(var data in column.StaticData){@("{\\\"id\\\":\\\"" + @data.id + "\\\",\\\"fullName\\\":\\\""+ @data.fullName + "\\\"}")@(dataCount == 1 ? "" : ",")dataCount--;}]".ToObject>(); @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName; @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(s => s.fullName)); @:} } break; case "dictionary": @if(!column.IsMultiple) { @switch(column.Value) { case "id": @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.Id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; case "enCode": @:@(@table.LowerClassName).@(@column.LowerColumnName) = (await _repository.AsSugarClient().Queryable().FirstAsync(a => a.EnCode.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")))?.FullName; break; } }else{ @switch(column.Value) { case "id": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; case "enCode": @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.EnCode) && a.DictionaryTypeId.Equals("@(@column.propsUrl)")).Select(a => a.FullName).ToListAsync()); @:} break; } } break; case "dynamic": @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(a => a.fullName)); @:} } break; } @: break; case "address": @:// @column.ColumnComment @if(!column.IsMultiple) { @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join("/", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(a.Id)).Select(a => a.FullName).ToListAsync()); @:} }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>>(); @:var @(@column.LowerColumnName)Excessive = new List(); @:foreach (var @(@column.LowerColumnName) in @(@column.LowerColumnName + @column.upperJnpfKey)) @:{ @:@(@column.LowerColumnName)Excessive.Add(string.Join("/", await _repository.AsSugarClient().Queryable().Where(a => @(@column.LowerColumnName).Contains(a.Id)).Select(a => a.FullName).ToListAsync())); @:} @: @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Excessive); @:} } @: break; case "popupTableSelect": @:// @column.ColumnComment @:var @(@column.LowerColumnName)Data = await _dataInterfaceService.GetDynamicList("@(@column.propsUrl)", "@(@column.Value)", "@(@column.Label)", "@(@column.Children)"); @if(!column.IsMultiple) { @:@(@table.LowerClassName).@(@column.LowerColumnName) = @(@column.LowerColumnName)Data.Find(it => it.id.Equals(@(@table.LowerClassName).@(@column.LowerColumnName)))?.fullName; }else{ @:if(@(@table.LowerClassName).@(@column.LowerColumnName) != null) @:{ @:var @(@column.LowerColumnName + @column.upperJnpfKey) = @(@table.LowerClassName).@(@column.LowerColumnName).ToObject>(); @:@(@table.LowerClassName).@(@column.LowerColumnName) = string.Join(",", @(@column.LowerColumnName)Data.FindAll(it => @(@column.LowerColumnName + @column.upperJnpfKey).Contains(it.id)).Select(a => a.fullName)); @:} } @: break; } } } @:}); } @: } @:} } @: @if(Model.ParsJnpfKeyConstList.Count>0) { @:var resData = inlineEditorList.ToObject>>(CommonConst.options); @foreach (var jnpfKeyConst in Model.ParsJnpfKeyConstList) { @:resData = await _controlParsing.GetParsDataList(resData,"@(@jnpfKeyConst[1])","@(@jnpfKeyConst[0])",_userManager.TenantId); } @:inlineEditorList = resData.ToObject>(CommonConst.options); } @:return inlineEditorList; @:} break; @*导出*@ case "download": @: @:/// @:/// 导出@(@Model.BusName). @:/// @:/// 请求参数. @:/// @:[HttpGet("Actions/Export")] @:public async Task Export([FromQuery] @(@Model.ClassName)ListQueryInput input) @:{ @:var exportData = new List<@(@Model.ClassName)InlineEditorOutput>(); @:if (input.dataType == 0) @:exportData = Clay.Object(await GetList(input)).Solidify>().list; @:else @:exportData = await GetNoPagingList(input); @:List paramList = "[@(@Model.ExportField)]".ToList(); @:var excelName="@(@Model.FullName)"; @:_cacheManager.Set(excelName + ".xls", string.Empty); @:return CodeGenExportDataHelper.GetDataExport(excelName, input.selectKey,_userManager.UserId, exportData.ToObject>>(), paramList,@((Model.IndexDataType == 3).ToString().ToLower()), true); @:} break; @*批量删除*@ case "batchRemove": @: @:/// @:/// 批量删除@(@Model.BusName). @:/// @:/// 主键数组. @:/// @:[HttpPost("batchRemove")] @:[UnitOfWork] @:public async Task BatchRemove([FromBody] List<@(Model.PrimaryKeyPolicy == 1 ? "string" : "long")> ids) @:{ @*跨库*@ @if(Model.DbLinkId != "0") { @:var dbLink = await _repository.AsSugarClient().Queryable().FirstAsync(it => it.Id.Equals("@(@Model.DbLinkId)")); @:_sqlSugarClient = _dataBaseManager.ChangeDataBase(dbLink); } @:var entitys = await @(Model.DbLinkId != "0" ? "_sqlSugarClient.Queryable<" + @Model.ClassName + "Entity>()" : "_repository.AsQueryable()").In(it => it.@(@Model.PrimaryKey), ids).ToListAsync(); @:if (entitys.Count > 0) @:{ @:// 批量删除@(@Model.BusName) @:await @(Model.DbLinkId != "0" ? "_sqlSugarClient.Deleteable<" + @Model.ClassName + "Entity>()" : "_repository.AsDeleteable()").In(it => it.@(@Model.PrimaryKey),ids).ExecuteCommandAsync(); @: @foreach(var table in Model.AuxiliayTableRelations) { @:await @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").Deleteable<@(@table.ClassName)Entity>().In(it => it.@(@table.TableField), entitys.Select(it=> it.@(@table.RelationField))).ExecuteCommandAsync(); @: } @foreach(var table in Model.TableRelations){ @:// 清空@(@table.TableComment)表数据 @:await @(Model.DbLinkId != "0" ? "_sqlSugarClient" : "_repository.AsSugarClient()").Deleteable<@(@table.ClassName)Entity>().In(u => u.@(@table.TableField), entitys.Select(s => s.@(@table.RelationField)).ToArray()).ExecuteCommandAsync(); @: } @:} @:} break; } } }