From 671b429b3c000eccf05910452505562f06defa73 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周二, 06 5月 2025 07:54:56 +0800 Subject: [PATCH] 222 --- Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs | 291 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 271 insertions(+), 20 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 73c8103..fee22c6 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,4 +1,5 @@ -锘縰sing GenerateCode_WeiBen_WMS.Model; +锘縰sing GenerateCode_WeiBen_WMS.Const; +using GenerateCode_WeiBen_WMS.Model; using System; using System.Collections.Generic; using System.Configuration; @@ -199,6 +200,7 @@ attrStr += " public float" + str_NullFlag + attr + " { get; set; }\n"; break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: if (columnModel.IsNullable) { str_NullFlag = "? "; } attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; break; @@ -218,7 +220,7 @@ /// </summary> /// <param name="columnModel"></param> /// <returns></returns> - public static string GenerateAttributeForAddModel(ColumnModel columnModel,GenerateCodeParam param) + public static string GenerateAttributeForAddModel(ColumnModel columnModel, GenerateCodeParam param) { try { @@ -228,6 +230,7 @@ // var bb = ""; //} string str_NullFlag = " "; + if (columnModel.IsNullable) { str_NullFlag = "? "; } string attrStr = ""; attrStr += " /// <summary>\n"; @@ -246,6 +249,17 @@ case DataTypeEnum.dt_bigint: if (columnModel.IsNullable) { str_NullFlag = "? "; } attrStr += " public long" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + case DataTypeEnum.dt_decimal: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + attrStr += " public decimal" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + case DataTypeEnum.dt_tinyint: + case DataTypeEnum.dt_bit: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; case DataTypeEnum.dt_int: @@ -268,6 +282,123 @@ 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: + case DataTypeEnum.dt_decimal: + case DataTypeEnum.dt_tinyint: + case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_int: + 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) @@ -292,11 +423,116 @@ // var bb = ""; //} string str_NullFlag = " "; + if (columnModel.IsNullable) { 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_decimal: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + attrStr += " public decimal" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + case DataTypeEnum.dt_tinyint: + case DataTypeEnum.dt_bit: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + 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"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + else + { + attrStr += " public int" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + } + + break; + default: + //鐗规畩澶勭悊 瀛楁 ExtraProperties + if (columnModel.ColumnName.ToUpper() == SystemConst.pro_ExtraProperties.ToUpper()) + { + attrStr += " public ExtraPropertyDictionary" + str_NullFlag + attr + " { get; set; }\n"; + } + else + { + 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 + "\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) @@ -310,6 +546,17 @@ case DataTypeEnum.dt_bigint: if (columnModel.IsNullable) { str_NullFlag = "? "; } attrStr += " public long" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + case DataTypeEnum.dt_decimal: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + attrStr += " public decimal" + str_NullFlag + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; + case DataTypeEnum.dt_tinyint: + case DataTypeEnum.dt_bit: + if (columnModel.IsNullable) { str_NullFlag = "? "; } + attrStr += " public bool" + str_NullFlag + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; case DataTypeEnum.dt_int: @@ -333,24 +580,7 @@ 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; } @@ -404,10 +634,15 @@ attrStr += " public long" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� break; + case DataTypeEnum.dt_decimal: + attrStr += " public decimal" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; + attrStr += "\n";//鏈�鍚庢槸鍔犱竴涓┖鏍� + break; case DataTypeEnum.dt_int: 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";//鏈�鍚庢槸鍔犱竴涓┖鏍� @@ -457,6 +692,7 @@ case DataTypeEnum.dt_datetimeoffset: return "\n"; case DataTypeEnum.dt_bigint: + case DataTypeEnum.dt_decimal: case DataTypeEnum.dt_int: case DataTypeEnum.dt_tinyint: attrStr += " public SearchFilterModeEnum " + attr + highSearchModeSuffix + " { get; set; }= SearchFilterModeEnum.绮惧噯鏌ヨ;\n"; @@ -562,6 +798,7 @@ defaultValue = "getdate()"; break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: defaultValue = "0"; break; default: @@ -620,6 +857,7 @@ case DataTypeEnum.dt_datetime2: case DataTypeEnum.dt_datetimeoffset: case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sql.Append("@" + attrColumnName + " " + columnModel.DataType + " " + fuhao + "\n"); break; case DataTypeEnum.dt_decimal: @@ -681,6 +919,7 @@ case DataTypeEnum.dt_datetime2: case DataTypeEnum.dt_datetimeoffset: case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sql.Append("@" + attrColumnName + " " + columnModel.DataType + " " + fuhao + "\n"); break; case DataTypeEnum.dt_decimal: @@ -741,6 +980,7 @@ case DataTypeEnum.dt_datetime2: case DataTypeEnum.dt_datetimeoffset: case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sql.Append("@" + attrColumnName + " " + columnModel.DataType + " " + fuhao); break; case DataTypeEnum.dt_decimal: @@ -866,6 +1106,7 @@ case DataTypeEnum.dt_datetime2: case DataTypeEnum.dt_datetimeoffset: case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: updateSql = " " + attrColumnName + "= case @" + attrColumnName + " when NULL then " + attrColumnName + " else @" + attrColumnName + " end "; break; default: @@ -1027,6 +1268,7 @@ str += "SqlDbType.Float," + columnModel.DataLength.ToString(); break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: str += "SqlDbType.Bit," + columnModel.DataLength.ToString(); break; } @@ -1097,6 +1339,7 @@ sb.Append("} \n"); break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append("if (dataRow[\"" + columnModel.ColumnName.ToString() + "\"].ToString() != \"\") \n"); sb.Append("{ \n"); @@ -1347,6 +1590,7 @@ sb.Append(" </el-table-column> \n"); break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append(" <el-table-column prop=\"" + columnModel.ColumnName + "\" label=\"" + columnModel.Description + "\" align=\"center\" > \n"); sb.Append("<template slot-scope=\"scope\">"); sb.Append("<el-tag :type=\"scope.row." + columnModel.ColumnName + " ? 'danger' : 'success'\""); @@ -1394,6 +1638,7 @@ switch (enumDT) { case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append(" <el-switch v-model=\"addForm." + columnModel.ColumnName + "\"></el-switch> \n"); break; case DataTypeEnum.dt_datetime: @@ -1441,6 +1686,7 @@ switch (enumDT) { case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append(" <el-switch v-model=\"viewDetailForm." + columnModel.ColumnName + "\"></el-switch> \n"); break; case DataTypeEnum.dt_datetime: @@ -1498,6 +1744,7 @@ elment = "el-date-picker"; break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: elment = "el-select"; break; default: @@ -1522,6 +1769,7 @@ switch (enumDT) { case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append(" options: [{label: '鏄�',value: 'true'}, {label: '鍚�',value: 'false'}] \n"); break; default: @@ -1634,6 +1882,7 @@ sb.Append("<el-input v-model=\"serachObj." + columnModel.ColumnName + "\" placeholder=\"璇疯緭鍏�" + columnModel.Description + "\"></el-input> \n"); break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append("<el-checkbox-group v-model=\"ck_delflag\" @change=\"ckDelFlag\">\n"); sb.Append(" <el-checkbox-button label=\"鍚敤\" name=\"ck_delflag\"></el-checkbox-button>\n"); sb.Append(" <el-checkbox-button label=\"绂佺敤\" name=\"ck_delflag\"></el-checkbox-button>\n"); @@ -1679,6 +1928,7 @@ switch (enumDT) { case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: case DataTypeEnum.dt_datetime: case DataTypeEnum.dt_datetime2: case DataTypeEnum.dt_datetimeoffset: @@ -1744,6 +1994,7 @@ sb.Append(" } \n"); break; case DataTypeEnum.dt_bit: + case DataTypeEnum.dt_tinyint: sb.Append(" if (!string.IsNullOrEmpty(queryModel." + columnModel.ColumnName + ")) \n"); sb.Append(" { \n"); sb.Append(" strWhere += \" AND $TableAlias$." + columnModel.ColumnName + " = '\" + queryModel." + columnModel.ColumnName + " + \"'\"; \n"); -- Gitblit v1.9.3