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