From 25750ab29ce4e243f4e4e17a796167f3a0f0697b Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周一, 05 5月 2025 16:33:49 +0800 Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo --- Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs | 313 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 306 insertions(+), 7 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 d3075c3..709c79a 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" @@ -1,8 +1,10 @@ -锘縰sing System; +锘縰sing GenerateCode_WeiBen_WMS.Model; +using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; +using System.Linq; using System.Text; namespace GenerateCode_GEBrilliantFactory @@ -216,7 +218,7 @@ /// </summary> /// <param name="columnModel"></param> /// <returns></returns> - public static string GenerateAttributeForAddModel(ColumnModel columnModel) + public static string GenerateAttributeForAddModel(ColumnModel columnModel, GenerateCodeParam param) { try { @@ -238,9 +240,7 @@ case DataTypeEnum.dt_datetime: case DataTypeEnum.dt_datetime2: case DataTypeEnum.dt_datetimeoffset: - attrStr += " //琛ㄧず鏄� 楂樼骇鏌ヨ鑼冨洿鏌ヨ鐗规�n"; - attrStr += " [HighSearchRangeAttribute]\n"; - attrStr += " public List<string>" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += " public datetime" + str_NullFlag + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; case DataTypeEnum.dt_bigint: @@ -250,14 +250,299 @@ break; case DataTypeEnum.dt_int: if (columnModel.IsNullable) { str_NullFlag = "? "; } - attrStr += " public int" + str_NullFlag + attr + " { get; set; }\n"; - attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); + if (findEnumObj != null) + { + attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + attrStr += " public int" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } break; default: attrStr += " public string" + str_NullFlag + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; } + + return attrStr; + } + catch (Exception ex) + { + throw ex; + } + + } + + /// <summary> + /// 鐢熸垚灞炴�у瓧绗︿覆ForAddModel-鏇存柊瀹炰綋涓撶敤 + /// </summary> + /// <param name="columnModel"></param> + /// <returns></returns> + public static string GenerateAttributeForUpdateModel(ColumnModel columnModel, GenerateCodeParam param) + { + try + { + string attr = columnModel.ColumnName; + + string attrStr = ""; + attrStr += $" updateObj.{attr} = input.{attr};\n"; + + + return attrStr; + } + catch (Exception ex) + { + throw ex; + } + + } + + /// <summary> + /// 鐢熸垚灞炴�у瓧绗︿覆ForAddModel-鏇存柊瀹炰綋涓撶敤(瀵煎叆鏃�) + /// </summary> + /// <param name="columnModel"></param> + /// <returns></returns> + public static string GenerateAttributeForUpdateModelByImport(ColumnModel columnModel, GenerateCodeParam param) + { + try + { + string attr = columnModel.ColumnName; + + string attrStr = ""; + attrStr += $" {attr} = {param.EntityInstanceName}.{attr};\n"; + + + return attrStr; + } + catch (Exception ex) + { + throw ex; + } + + } + + /// <summary> + /// 鐢熸垚灞炴�у瓧绗︿覆ForAddModel-CheckCreateOrUpdateDtoAsync涓撶敤 + /// </summary> + /// <param name="columnModel"></param> + /// <returns></returns> + public static string GenerateAttributeForCheckCreateOrUpdateDtoAsync(ColumnModel columnModel, GenerateCodeParam param) + { + try + { + string attr = columnModel.ColumnName; + + string attrStr = ""; + bool isHaveMaxLength = false; + if (!string.IsNullOrEmpty(columnModel.DataLength)) + { + isHaveMaxLength = true; + } + if (columnModel.IsNullable == false) + {//蹇呭~ + DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType); + switch (myDataType) + { + case DataTypeEnum.dt_datetime: + case DataTypeEnum.dt_datetime2: + case DataTypeEnum.dt_datetimeoffset: + if (isHaveMaxLength) + { + attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\", {columnModel.DataLength});\n"; + } + else + { + attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\");\n"; + } + break; + case DataTypeEnum.dt_bigint: + if (isHaveMaxLength) + { + attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\", {columnModel.DataLength});\n"; + } + else + { + attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\");\n"; + } + break; + case DataTypeEnum.dt_int: + case DataTypeEnum.dt_tinyint: + if (isHaveMaxLength) + { + attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\", {columnModel.DataLength});\n"; + } + else + { + attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\");\n"; + } + break; + default: + if (isHaveMaxLength) + { + attrStr += $" Check.NotNullOrWhiteSpace(input.{attr}, \"{columnModel.Description}\", {columnModel.DataLength});\n"; + } + else + { + attrStr += $" Check.NotNullOrWhiteSpace(input.{attr}, \"{columnModel.Description}\");\n"; + } + break; + } + } + return attrStr; + } + catch (Exception ex) + { + throw ex; + } + + } + + /// <summary> + /// 鐢熸垚灞炴�у瓧绗︿覆ForAddModel-Dto瀹炰綋涓撶敤 + /// </summary> + /// <param name="columnModel"></param> + /// <returns></returns> + public static string GenerateAttributeForDto(ColumnModel columnModel, GenerateCodeParam param) + { + try + { + string attr = columnModel.ColumnName; + //if (attr.ToUpper() == "DBId".ToUpper()) + //{ + // var bb = ""; + //} + string str_NullFlag = " "; + + string attrStr = ""; + attrStr += " /// <summary>\n"; + attrStr += " /// " + columnModel.Description + "\n"; + attrStr += " /// </summary>\n"; + + DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType); + switch (myDataType) + { + case DataTypeEnum.dt_datetime: + case DataTypeEnum.dt_datetime2: + case DataTypeEnum.dt_datetimeoffset: + attrStr += " public datetime" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + case DataTypeEnum.dt_bigint: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + attrStr += " public long" + 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"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + attrStr += " public int" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + + break; + default: + attrStr += " public string" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + } + + //澧炲姞瀵规灇涓剧被鍨嬬殑鏀寔 + if (param.EnumList?.Count > 0) + { + var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); + if (findEnumObj != null) + { + attrStr += " /// <summary>\n"; + attrStr += " /// " + columnModel.Description + "\n"; + attrStr += " /// </summary>\n"; + attrStr += " public string" + str_NullFlag + findEnumObj.EnumTypeDesc + " { get; set; }\n"; + attrStr += " { \n"; + attrStr += " get \n"; + attrStr += " { \n"; + attrStr += $" return GetEnumDescriptionUtil.GetEnumDescription({findEnumObj.EnumAttrName}); \n"; + attrStr += " } \n"; + attrStr += " } \n"; + } + } + + return attrStr; + } + catch (Exception ex) + { + throw ex; + } + + } + + /// <summary> + /// 鐢熸垚灞炴�у瓧绗︿覆ForAddModel-Export瀹炰綋涓撶敤 + /// </summary> + /// <param name="columnModel"></param> + /// <returns></returns> + public static string GenerateAttributeForExport(ColumnModel columnModel, GenerateCodeParam param) + { + try + { + string attr = columnModel.ColumnName; + //if (attr.ToUpper() == "DBId".ToUpper()) + //{ + // var bb = ""; + //} + string str_NullFlag = " "; + + string attrStr = ""; + attrStr += " /// <summary>\n"; + attrStr += " /// " + columnModel.Description + "\n"; + attrStr += " /// </summary>\n"; + attrStr += $" [ExcelColumn(Name = \"{columnModel.Description}\", Width = 25)]\n"; + + DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType); + switch (myDataType) + { + case DataTypeEnum.dt_datetime: + case DataTypeEnum.dt_datetime2: + case DataTypeEnum.dt_datetimeoffset: + attrStr += " public datetime" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + case DataTypeEnum.dt_bigint: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + attrStr += " public long" + 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"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + attrStr += " public int" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + + break; + default: + attrStr += " public string" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + } + + return attrStr; } @@ -278,6 +563,10 @@ try { string attr = columnModel.ColumnName; + if (CommonHelper.IsIgnore(attr)) + { + return ""; + } //if (attr.ToUpper() == "DBId".ToUpper()) //{ // var bb = ""; @@ -311,6 +600,10 @@ attrStr += " public int" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; + case DataTypeEnum.dt_tinyint: + attrStr += " public bool" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; default: attrStr += " public string" + emptyStr + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� @@ -336,6 +629,11 @@ try { string attr = columnModel.ColumnName; + if (CommonHelper.IsIgnore(attr)) + { + return ""; + } + string attrStr = ""; attrStr += " /// <summary>\n"; attrStr += " /// " + columnModel.Description + "-鏌ヨ鍏崇郴杩愮畻绗� \n"; @@ -352,6 +650,7 @@ return "\n"; case DataTypeEnum.dt_bigint: case DataTypeEnum.dt_int: + case DataTypeEnum.dt_tinyint: attrStr += " public SearchFilterModeEnum " + attr + highSearchModeSuffix + " { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; -- Gitblit v1.9.3