From f12cbfe9cba26c1a0e3abf1fe09a3c9cd9586a81 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周日, 11 5月 2025 11:59:39 +0800 Subject: [PATCH] 优化 代码生成器 --- Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs | 77 +++++++++++++++++++++++++++++++------- 1 files changed, 62 insertions(+), 15 deletions(-) diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/StructStrHelper.cs" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/StructStrHelper.cs" index ec86934..aee0a90 100644 --- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/StructStrHelper.cs" +++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Code/Utility/StructStrHelper.cs" @@ -237,6 +237,7 @@ attrStr += " /// " + columnModel.Description + "\n"; attrStr += " /// </summary>\n"; + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType); switch (myDataType) { @@ -259,12 +260,21 @@ case DataTypeEnum.dt_tinyint: case DataTypeEnum.dt_bit: if (columnModel.IsNullable) { str_NullFlag = "? "; } - attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; - attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + if (findEnumObj != null) + { + attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + break; case DataTypeEnum.dt_int: if (columnModel.IsNullable) { str_NullFlag = "? "; } - var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); + if (findEnumObj != null) { attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n"; @@ -454,6 +464,7 @@ attrStr += " /// " + columnModel.Description + "\n"; attrStr += " /// </summary>\n"; + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType); switch (myDataType) { @@ -476,12 +487,21 @@ case DataTypeEnum.dt_tinyint: case DataTypeEnum.dt_bit: if (columnModel.IsNullable) { str_NullFlag = "? "; } - attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; - attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + + if (findEnumObj != null) + { + attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } break; case DataTypeEnum.dt_int: if (columnModel.IsNullable) { str_NullFlag = "? "; } - var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); + if (findEnumObj != null) { attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n"; @@ -511,7 +531,6 @@ //澧炲姞瀵规灇涓剧被鍨嬬殑鏀寔 if (param.EnumList?.Count > 0) { - var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); if (findEnumObj != null) { attrStr += " /// <summary>\n"; @@ -558,6 +577,7 @@ attrStr += " /// </summary>\n"; attrStr += $" [ExcelColumn(Name = \"{columnModel.Description}\", Width = 25)]\n"; + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType); switch (myDataType) { @@ -580,12 +600,21 @@ case DataTypeEnum.dt_tinyint: case DataTypeEnum.dt_bit: if (columnModel.IsNullable) { str_NullFlag = "? "; } - attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; - attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + if (findEnumObj != null) + { + attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + break; case DataTypeEnum.dt_int: if (columnModel.IsNullable) { str_NullFlag = "? "; } - var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); + if (findEnumObj != null) { attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n"; @@ -620,7 +649,7 @@ /// </summary> /// <param name="columnModel"></param> /// <returns></returns> - public static string GenerateAttributeForQueryModel(ColumnModel columnModel) + public static string GenerateAttributeForQueryModel(ColumnModel columnModel, GenerateCodeParam param) { try { @@ -643,6 +672,7 @@ attrStr += " /// " + columnModel.Description + "\n"; attrStr += " /// </summary>\n"; + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType); switch (myDataType) { @@ -663,13 +693,29 @@ attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; case DataTypeEnum.dt_int: - attrStr += " public int" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; - attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + if (findEnumObj != null) + { + attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + attrStr += " public int" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } break; case DataTypeEnum.dt_bit: case DataTypeEnum.dt_tinyint: - attrStr += " public bool" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; - attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + if (findEnumObj != null) + { + attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + attrStr += " public bool" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } break; default: attrStr += " public string" + emptyStr + attr + " { get; set; }\n"; @@ -2067,6 +2113,7 @@ { elment = "select"; sb.Append(" el: '" + elment + "', \n"); + sb.Append(" clearable:true, \n"); sb.Append(" option: [], \n"); isWriteInt = false; } -- Gitblit v1.9.3