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