From 47bb3e5ae5ab71ef0867435635024e21fa77f73c Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周日, 04 5月 2025 16:58:29 +0800
Subject: [PATCH] 222

---
 Weben_CMS专用代码生成器/Code/MainForm.cs                             |    5 +
 Weben_CMS专用代码生成器/Code/Utility/ListHelper.cs                   |   30 ++++++++++
 Weben_CMS专用代码生成器/Code/Templete/Entity/ExportModel模板.txt       |   24 ++++++++
 Weben_CMS专用代码生成器/Code/GenerateCode_WeiBen_CMS.csproj          |    7 ++
 Weben_CMS专用代码生成器/版本说明.txt                                     |    2 
 Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs              |   68 ++++++++++++++++++++++
 Weben_CMS专用代码生成器/Code/Model/SystemCommonVar.cs                |    2 
 Weben_CMS专用代码生成器/Code/Generate/Entity/ExportModel_Generate.cs |   35 +++++++++++
 Weben_CMS专用代码生成器/Code/Utility/CommonHelper.cs                 |    4 +
 9 files changed, 175 insertions(+), 2 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/Generate/Entity/ExportModel_Generate.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/Generate/Entity/ExportModel_Generate.cs"
new file mode 100644
index 0000000..130b6de
--- /dev/null
+++ "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/Generate/Entity/ExportModel_Generate.cs"
@@ -0,0 +1,35 @@
+锘�
+
+using GenerateCode_WeiBen_WMS.Model;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace GenerateCode_GEBrilliantFactory
+{
+    /// <summary>
+    /// 鐢熸垚鏌ヨ瀹炰綋绫�
+    /// </summary>
+    public class ExportModel_Generate : BaseGenerate
+    {
+        public static string CreateText(GenerateCodeParam param)
+        {
+            var str = TextHelper.ReadText(@"Templete\Entity\ExportModel妯℃澘.txt");
+            CommonReplace(ref str);
+
+            CommonHelper.CommonReplaceStr(param, ref str);
+
+            string attrString = "";
+
+            List<ColumnModel> newColumnNameList = ListHelper.RemoveAttrForExport(param.ColumnNameList);
+            for (int i = 0; i < newColumnNameList.Count; ++i)
+            {
+                attrString += StructStrHelper.GenerateAttributeForExport(newColumnNameList[i], param);
+            }
+            str = str.Replace("$AddAttributes$", attrString);
+
+            return str;
+        }
+    }
+}
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/GenerateCode_WeiBen_CMS.csproj" "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/GenerateCode_WeiBen_CMS.csproj"
index 9a11d30..6ae95b5 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/GenerateCode_WeiBen_CMS.csproj"
+++ "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/GenerateCode_WeiBen_CMS.csproj"
@@ -109,6 +109,7 @@
     <Compile Include="Generate\BaseGenerate.cs" />
     <Compile Include="Generate\Controller\Controller_Generate.cs" />
     <Compile Include="Generate\Entity\AddModel_Generate.cs" />
+    <Compile Include="Generate\Entity\ExportModel_Generate.cs" />
     <Compile Include="Generate\Entity\Dto_Generate.cs" />
     <Compile Include="Generate\Entity\UpdateDto_Generate.cs" />
     <Compile Include="Generate\Entity\CreateOrUpdateDtoBase_Generate.cs" />
@@ -195,6 +196,9 @@
     <Content Include="Templete\Entity\AddModel妯℃澘.txt">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
+    <Content Include="Templete\Entity\ExportModel妯℃澘.txt">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
     <Content Include="Templete\Entity\Dto妯℃澘.txt">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
@@ -256,6 +260,9 @@
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
   </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Generate\AppService\" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
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/MainForm.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/MainForm.cs"
index f5ade14..0198e97 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/MainForm.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/MainForm.cs"
@@ -34,6 +34,7 @@
             this.tb_CreatePerson.Text = "shaocx";//鍒涘缓浜�
             this.tb_EntityName.Text = "WmsMaterial";//瀹炰綋绫诲悕
             this.tb_EntityProName.Text = "_wmsMaterial";//瀹炰綋绫诲璞″悕
+            this.tb_EnumList.Text = "PurchaseType|PurchaseTypeEnum|PurchaseTypeDesc,MaterialType|MaterialTypeEnum|MaterialTypeDesc,IsMainBranch|YesNoEnum|IsMainBranchDesc";
 
             this.cmb_DataSource.DropDownStyle = ComboBoxStyle.DropDownList;
             List<ListItem> itemList = CommonHelper.GetDataSources();
@@ -208,6 +209,10 @@
                 str_generate = Dto_Generate.CreateText(param);
                 tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}Dto.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
 
+                //6銆佺敓鎴� Export 鏂囦欢
+                str_generate = ExportModel_Generate.CreateText(param);
+                tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}ExportModel.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
+
                 #endregion
 
 
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/Model/SystemCommonVar.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/Model/SystemCommonVar.cs"
index e0cea39..2197ec0 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/Model/SystemCommonVar.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/Model/SystemCommonVar.cs"
@@ -32,6 +32,8 @@
 
         public const string c_ExtraProperties = "ExtraProperties";
 
+        public const string c_ConcurrencyStamp = "ConcurrencyStamp";
+
 
     }
 }
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/Templete/Entity/ExportModel\346\250\241\346\235\277.txt" "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/Templete/Entity/ExportModel\346\250\241\346\235\277.txt"
new file mode 100644
index 0000000..a5884fd
--- /dev/null
+++ "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/Templete/Entity/ExportModel\346\250\241\346\235\277.txt"
@@ -0,0 +1,24 @@
+using MiniExcelLibs.Attributes;
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel;
+using CMS.Plugin.HIAWms.Domain.Shared.Enums;
+namespace CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$;
+
+/// <summary>
+/// $ChinaComment$导出模型
+/// </summary>
+public  class $EntityName$ExportModel
+{
+    $AddAttributes$
+
+    public Dictionary<string, object> GetExportData()
+        {
+            var exportData = new Dictionary<string, object>();
+            foreach (var property in this.GetType().GetProperties())
+            {
+                exportData.Add(property.Name, property.GetValue(this));
+            }
+
+            return exportData;
+        }
+}
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/CommonHelper.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/CommonHelper.cs"
index 5d6d6b9..763f657 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/CommonHelper.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/CommonHelper.cs"
@@ -23,7 +23,9 @@
         /// <returns></returns>
         public static bool IsIgnore(string columnName)
         {
-            if (columnName.ToUpper() == SystemCommonVar.c_ExtraProperties.ToUpper())
+            if (columnName.ToUpper() == SystemCommonVar.c_ExtraProperties.ToUpper()
+                || columnName.ToUpper() == SystemCommonVar.c_ConcurrencyStamp.ToUpper()
+                )
             {
                 return true;
             }
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/ListHelper.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/ListHelper.cs"
index 27ccaf5..da83f96 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/ListHelper.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/ListHelper.cs"
@@ -241,6 +241,7 @@
                     || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ModifyTime.ToUpper()
                     || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_Id.ToUpper()
                     || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ExtraProperties.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ConcurrencyStamp.ToUpper()
                     || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_DeleterId.ToUpper()
                     || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_delFlag.ToUpper()
                     )
@@ -252,6 +253,35 @@
             return newList;
         }
 
+        public static List<ColumnModel> RemoveAttrForExport(List<ColumnModel> columnNameList)
+        {
+            List<ColumnModel> newList = new List<ColumnModel>();
+            ColumnModel columnModel = null;
+            for (int i = 0; i < columnNameList.Count; i++)
+            {
+                columnModel = columnNameList[i];
+                if (columnModel.ColumnName.ToUpper() == SystemCommonVar.c_creator.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_createTime.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_lastModifier.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_lastModifyTime.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ModifyTime.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_Id.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ExtraProperties.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ConcurrencyStamp.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_DeleterId.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_delFlag.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_CreateId.ToUpper()
+                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ModifyId.ToUpper()
+                    
+                    )
+                {
+                    continue;
+                }
+                newList.Add(columnModel);
+            }
+            return newList;
+        }
+
         /// <summary>
         /// 鑾峰彇鏈�鏂扮殑鍒桳ist闆嗗悎(鍘绘帀 ID)
         /// </summary>
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..a4dcf5a 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"
@@ -362,6 +362,74 @@
         }
 
         /// <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;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+
+        }
+
+        /// <summary>
         /// 鐢熸垚灞炴�у瓧绗︿覆ForQueryModel- 鏌ヨ瀹炰綋涓撶敤
         /// </summary>
         /// <param name="columnModel"></param>
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/\347\211\210\346\234\254\350\257\264\346\230\216.txt" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/\347\211\210\346\234\254\350\257\264\346\230\216.txt"
index 2b34f76..c8e7aae 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/\347\211\210\346\234\254\350\257\264\346\230\216.txt"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/\347\211\210\346\234\254\350\257\264\346\230\216.txt"
@@ -3,5 +3,5 @@
    1、创建 2025-04-29
 
 枚举例子
-PurchaseType|PurchaseTypeEnum|PurchaseTypeDesc,MaterialType|MaterialTypeEnum|MaterialTypeDesc
+PurchaseType|PurchaseTypeEnum|PurchaseTypeDesc,MaterialType|MaterialTypeEnum|MaterialTypeDesc,IsMainBranch|YesNoEnum|IsMainBranchDesc
 

--
Gitblit v1.9.3