iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml
@@ -4866,7 +4866,7 @@ 代码生成器服务 </summary> </member> <member name="M:Admin.NET.Application.CodeGen.CodeGenerateService.#ctor(Furion.DatabaseAccessor.IRepository{Admin.NET.Core.SysCodeGen},Furion.DatabaseAccessor.IRepository{Furion.Extras.Admin.NET.Entity.SysLowCode},Admin.NET.Application.ICodeGenConfigService,Furion.ViewEngine.IViewEngine,Furion.DatabaseAccessor.IRepository{Admin.NET.Core.SysMenu},Admin.NET.Application.ISysExcelTemplateService)"> <member name="M:Admin.NET.Application.CodeGen.CodeGenerateService.#ctor(Furion.DatabaseAccessor.IRepository{Admin.NET.Core.SysCodeGen},Furion.DatabaseAccessor.IRepository{Furion.Extras.Admin.NET.Entity.SysLowCode},Admin.NET.Application.ICodeGenConfigService,Furion.ViewEngine.IViewEngine,Furion.DatabaseAccessor.IRepository{Admin.NET.Core.SysMenu},Admin.NET.Application.ISysEnumDataService)"> <summary> 构造函数 </summary> @@ -4875,6 +4875,7 @@ <param name="codeGenConfigService"></param> <param name="viewEngine"></param> <param name="sysMenuRep"></param> <param name="sysEnumDataService"></param> </member> <member name="M:Admin.NET.Application.CodeGen.CodeGenerateService.QueryCodeGenPageList(Admin.NET.Application.CodeGenPageInput)"> <summary> @@ -7117,6 +7118,20 @@ <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.ISysEnumDataService.GetEnumDataListStrAsync(Admin.NET.Application.EnumDataInput)"> <summary> 通过枚举类型获取枚举值字符串集合 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.ISysEnumDataService.GetEnumDataListStr(Admin.NET.Application.EnumDataInput)"> <summary> 通过枚举类型获取枚举值字符串集合 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.ISysEnumDataService.GetEnumDataListByField(Admin.NET.Application.QueryEnumDataInput)"> <summary> @@ -7136,6 +7151,20 @@ <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.SysEnumDataService.GetEnumDataListStrAsync(Admin.NET.Application.EnumDataInput)"> <summary> 通过枚举类型获取枚举值字符串集合 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.SysEnumDataService.GetEnumDataListStr(Admin.NET.Application.EnumDataInput)"> <summary> 通过枚举类型获取枚举值字符串集合 </summary> <param name="input"></param> <returns></returns> </member> <member name="M:Admin.NET.Application.SysEnumDataService.GetEnumDataListByField(Admin.NET.Application.QueryEnumDataInput)"> <summary> 通过实体字段类型获取相关集合(目前仅支持枚举类型) iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/System/CodeGen/CodeGenService.cs
@@ -16,23 +16,11 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Newtonsoft.Json; using OfficeOpenXml.Drawing; using OfficeOpenXml; using System; using StackExchange.Profiling.Internal; using System.Reflection; using System.Text; using System.Web; using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; using OfficeOpenXml.Style; using System.Net.WebSockets; using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup; using Microsoft.EntityFrameworkCore.Metadata.Internal; using System.Reflection; using NetTopologySuite.Noding; using System.Xml.Linq; using static Npgsql.Replication.PgOutput.Messages.RelationMessage; using StackExchange.Profiling.Internal; using System.Collections.Generic; using System.Data.SqlTypes; namespace Admin.NET.Application.CodeGen { @@ -47,7 +35,7 @@ private readonly IRepository<SysLowCode> _sysLowCodeRep; // 代码生成器仓储 private readonly ICodeGenConfigService _codeGenConfigService; private readonly IViewEngine _viewEngine; private readonly ISysExcelTemplateService _sysExcelTemplateService; private readonly ISysEnumDataService _sysEnumDataService; private readonly IRepository<SysMenu> _sysMenuRep; // 菜单表仓储 /// <summary> @@ -58,19 +46,20 @@ /// <param name="codeGenConfigService"></param> /// <param name="viewEngine"></param> /// <param name="sysMenuRep"></param> /// <param name="sysEnumDataService"></param> public CodeGenerateService(IRepository<SysCodeGen> sysCodeGenRep, IRepository<SysLowCode> sysLowCodeRep, ICodeGenConfigService codeGenConfigService, IViewEngine viewEngine, IRepository<SysMenu> sysMenuRep, ISysExcelTemplateService sysExcelTemplateService) ISysEnumDataService sysEnumDataService) { _sysCodeGenRep = sysCodeGenRep; _sysLowCodeRep = sysLowCodeRep; _codeGenConfigService = codeGenConfigService; _viewEngine = viewEngine; _sysMenuRep = sysMenuRep; _sysExcelTemplateService = sysExcelTemplateService; _sysEnumDataService = sysEnumDataService; } /// <summary> @@ -1041,6 +1030,7 @@ //获取要处理的代码生成配置的是增改的模版字段 var showCodeGenConfigs = tableFieldList.Where(w => w.WhetherAddUpdate.Equals("Y")).ToList(); showCodeGenConfigs = showCodeGenConfigs.Where(x => x.ColumnKey.ToLower() == "false").ToList(); int _mergeCellsCount = showCodeGenConfigs.Count();//合并列(模版赋值的标题列数) //获取必填字段 @@ -1102,26 +1092,26 @@ StringBuilder _remarkContentBuilder = new StringBuilder(); _remarkContentBuilder.AppendLine(""); _remarkContentBuilder.AppendLine("1.支持Excel2007及以上版本文件。"); _remarkContentBuilder.AppendLine("2.导入新增数据时不能超过5000行。"); _remarkContentBuilder.AppendLine("3.导入更新数据时不能超过2000行。"); _remarkContentBuilder.AppendLine("2.导入数据时不能超过5000行。"); _remarkContentBuilder.AppendLine(""); _remarkContentBuilder.AppendLine(""); Dictionary<string, string> typeNameDict = new() { { "string", "文本。"}, { "int", "数字。"}, { "long", "数字。"}, { "decimal", "小数。"}, { "bool", "布尔。示例:是、否。"}, { "string", "输入文本。"}, { "int", "输入数字。"}, { "long", "输入数字。"}, { "decimal", "输入小数。"}, { "bool", "是,否。"}, }; Dictionary<string, string> effectTypeDict = new() { { "datepicker", "日期。 示例: 2023/3/1"}, { "datetimepicker", "日期时间。示例: 2023/3/1 12:00:00"}, { "datepicker", "日期。 示例: 2023/3/1。"}, { "datetimepicker", "日期时间。示例: 2023/3/1 12:00:00。"}, }; requiredTableFieldList.ForEach(x => { string text = ""; @@ -1134,6 +1124,12 @@ { text += typeNameDict[x.DtoNetType]; } else if (x.EffectType == "select") { var queryValue = x.DtoNetType.Split('.').Last(); var enumStr = _sysEnumDataService.GetEnumDataListStr(new EnumDataInput() { EnumName = queryValue }); text += enumStr + "。"; } else { text += ("注意:类型未能识别出来,需要自己维护!!!。"); iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/System/Enum/ISysEnumDataService.cs
@@ -15,6 +15,20 @@ Task<dynamic> GetEnumDataList([FromQuery] EnumDataInput input); /// <summary> /// 通过枚举类型获取枚举值字符串集合 /// </summary> /// <param name="input"></param> /// <returns></returns> Task<string> GetEnumDataListStrAsync([FromQuery] EnumDataInput input); /// <summary> /// 通过枚举类型获取枚举值字符串集合 /// </summary> /// <param name="input"></param> /// <returns></returns> string GetEnumDataListStr([FromQuery] EnumDataInput input); /// <summary> /// /// </summary> /// <param name="input"></param> iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/System/Enum/SysEnumDataService.cs
@@ -6,6 +6,7 @@ using Furion.FriendlyException; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System.Linq; namespace Admin.NET.Application { @@ -41,6 +42,52 @@ } /// <summary> /// 通过枚举类型获取枚举值字符串集合 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpGet("sysEnumData/getEnumDataListStrAsync")] public async Task<string> GetEnumDataListStrAsync([FromQuery] EnumDataInput input) { // 查找枚举 var enumType = App.EffectiveTypes.FirstOrDefault(t => t.IsEnum && t.Name == input.EnumName); if (enumType == null) throw Oops.Oh(ErrorCode.D1502).StatusCode(405); // 获取枚举的Key和描述 List<EnumDataOutput> retList = await Task.Run(() => EnumUtil.GetEnumDescDictionary(enumType) .Select(x => new EnumDataOutput { Code = x.Key, Value = x.Value }).ToList()); return string.Join(",", retList.Select(x => x.Value).ToList()); } /// <summary> /// 通过枚举类型获取枚举值字符串集合 /// </summary> /// <param name="input"></param> /// <returns></returns> [HttpGet("sysEnumData/getEnumDataListStr")] public string GetEnumDataListStr([FromQuery] EnumDataInput input) { // 查找枚举 var enumType = App.EffectiveTypes.FirstOrDefault(t => t.IsEnum && t.Name == input.EnumName); if (enumType == null) throw Oops.Oh(ErrorCode.D1502).StatusCode(405); // 获取枚举的Key和描述 List<EnumDataOutput> retList = EnumUtil.GetEnumDescDictionary(enumType) .Select(x => new EnumDataOutput { Code = x.Key, Value = x.Value }).ToList(); return string.Join(",", retList.Select(x => x.Value).ToList()); } /// <summary> /// 通过实体字段类型获取相关集合(目前仅支持枚举类型) /// </summary> /// <param name="input"></param>