zs
2025-05-06 5ff67318e1b4f754f96102a35556e3f30d1c57e8
Merge branch 'master' of http://222.71.245.114:9086/r/HIA24016N_PipeLineDemo
已添加1个文件
已重命名2个文件
已修改19个文件
已复制1个文件
281 ■■■■■ 文件已修改
Weben_CMS专用代码生成器/Code/Generate/AppService/AppService_Generate.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Generate/Application/MapperProfiles/AutoMapperProfile_Generate.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Generate/Web/Views/config/EntityNameClass_json_Generate.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/GenerateCode_WeiBen_CMS.csproj 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/MainForm.Designer.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/MainForm.cs 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Model/GenerateCodeParam.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Model/SystemCommonVar.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/AppService/AppService模板.txt 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/Application/MapperProfiles/AutoMapperProfile模板.txt 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/Entity/CreateOrUpdateDtoBase模板.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/Entity/ExportModel模板.txt 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/EntityFrameworkCore/EfCoreRepository模板.txt 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/Web/Controllers/EntityModeQueryDrawer模板.txt 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/Web/Controllers/EntityMode模板.txt 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/Web/Models/Models_EntityNameClassDrawer.txt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/Web/Models/Models_EntityNameClassQueryDrawer.txt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/Web/Models/Service/Models_Service_EntityNameClass.txt 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/Web/Models/Service/Models_Service_EntityNameClassDrawer.txt 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/Web/Views/config/EntityNameClass_json模板.txt 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Utility/CommonHelper.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Utility/ListHelper.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Generate/AppService/AppService_Generate.cs
@@ -42,7 +42,14 @@
            }
            str = str.Replace("$UpdateAttributesForCheckCreateOrUpdateDtoAsync$", attrString);
            attrString = "";
            for (int i = 0; i < newColumnNameList.Count; ++i)
            {
                attrString += StructStrHelper.GenerateAttribute_AppService_ImportAsync(newColumnNameList[i], param);
            }
            str = str.Replace("$AppService_ImportAsync$", attrString);
            return str;
        }
    }
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Generate/Application/MapperProfiles/AutoMapperProfile_Generate.cs
copy from "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/Web/Views/config/NameSpacePath_Config_Generate.cs" copy to "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/Application/MapperProfiles/AutoMapperProfile_Generate.cs"
Îļþ´Ó Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Generate/Web/Views/config/NameSpacePath_Config_Generate.cs ¸´ÖÆ
@@ -11,11 +11,11 @@
    /// <summary>
    /// ç”ŸæˆæŸ¥è¯¢å®žä½“ç±»
    /// </summary>
    public class NameSpacePath_Config_Generate : BaseGenerate
    public class AutoMapperProfile_Generate : BaseGenerate
    {
        public static string CreateText(GenerateCodeParam param)
        {
            var str = TextHelper.ReadText(@"Templete\Web\Views\config\NameSpacePath_Config模板.txt");
            var str = TextHelper.ReadText(@"Templete\Application\MapperProfiles\AutoMapperProfile模板.txt");
            CommonReplace(ref str);
            CommonHelper.CommonReplaceStr(param, ref str);
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Generate/Web/Views/config/EntityNameClass_json_Generate.cs
ÎļþÃû´Ó Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Generate/Web/Views/config/NameSpacePath_Config_Generate.cs ÐÞ¸Ä
@@ -11,11 +11,11 @@
    /// <summary>
    /// ç”ŸæˆæŸ¥è¯¢å®žä½“ç±»
    /// </summary>
    public class NameSpacePath_Config_Generate : BaseGenerate
    public class EntityNameClass_json_Generate : BaseGenerate
    {
        public static string CreateText(GenerateCodeParam param)
        {
            var str = TextHelper.ReadText(@"Templete\Web\Views\config\NameSpacePath_Config模板.txt");
            var str = TextHelper.ReadText(@"Templete\Web\Views\config\EntityNameClass_json模板.txt");
            CommonReplace(ref str);
            CommonHelper.CommonReplaceStr(param, ref str);
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/GenerateCode_WeiBen_CMS.csproj
@@ -106,6 +106,7 @@
    <Compile Include="DataBaseFactory\DataBaseServiceFactory.cs" />
    <Compile Include="DataBaseFactory\Default\SqlServerDataBaseServiceHandle.cs" />
    <Compile Include="DataBaseFactory\Default\MySqlDataBaseServiceHandle.cs" />
    <Compile Include="Generate\Application\MapperProfiles\AutoMapperProfile_Generate.cs" />
    <Compile Include="Generate\AppService\AppService_Generate.cs" />
    <Compile Include="Generate\AppService\IAppService_Generate.cs" />
    <Compile Include="Generate\BaseGenerate.cs" />
@@ -141,7 +142,7 @@
    <Compile Include="Generate\Web\Models\Models_EntityNameClassDrawer_Generate.cs" />
    <Compile Include="Generate\Web\Models\Models_EntityNameClassQueryDrawer_Generate.cs" />
    <Compile Include="Generate\Web\type\File_Generate.cs" />
    <Compile Include="Generate\Web\Views\config\NameSpacePath_Config_Generate.cs" />
    <Compile Include="Generate\Web\Views\config\EntityNameClass_json_Generate.cs" />
    <Compile Include="Generate\Web\Views\NameSpacePath_module_Generate.cs" />
    <Compile Include="Generate\Web\Views\NameSpacePath_Generate.cs" />
    <Compile Include="Generate\Web\Views\Pages\Dialog\EntityNameClassDrawer\EntityNameClassDrawer_Generate.cs" />
@@ -217,6 +218,9 @@
  </ItemGroup>
  <ItemGroup>
    <Content Include="Robot.ico" />
    <Content Include="Templete\Application\MapperProfiles\AutoMapperProfile模板.txt">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="Templete\AppService\AppService模板.txt">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
@@ -340,7 +344,7 @@
    <Content Include="Templete\Web\type\type模板.txt">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="Templete\Web\Views\config\NameSpacePath_Config模板.txt">
    <Content Include="Templete\Web\Views\config\EntityNameClass_json模板.txt">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="Templete\Web\Views\NameSpacePath_module模板.txt">
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/MainForm.Designer.cs
@@ -64,6 +64,8 @@
            this.lbl_DataSource = new System.Windows.Forms.Label();
            this.cmb_DataSource = new System.Windows.Forms.ComboBox();
            this.groupBox2 = new System.Windows.Forms.GroupBox();
            this.tb_ValidateRepeatName = new System.Windows.Forms.TextBox();
            this.label24 = new System.Windows.Forms.Label();
            this.tb_LikeQueryAttrsName = new System.Windows.Forms.TextBox();
            this.label23 = new System.Windows.Forms.Label();
            this.tb_LikeQueryAttrs = new System.Windows.Forms.TextBox();
@@ -85,6 +87,8 @@
            this.label12 = new System.Windows.Forms.Label();
            this.tb_templeteFileDownName = new System.Windows.Forms.TextBox();
            this.label14 = new System.Windows.Forms.Label();
            this.label25 = new System.Windows.Forms.Label();
            this.tb_DeleteAlertAttr = new System.Windows.Forms.TextBox();
            this.groupBox1.SuspendLayout();
            this.groupBox2.SuspendLayout();
            this.groupBox3.SuspendLayout();
@@ -398,6 +402,10 @@
            // 
            // groupBox2
            // 
            this.groupBox2.Controls.Add(this.tb_DeleteAlertAttr);
            this.groupBox2.Controls.Add(this.label25);
            this.groupBox2.Controls.Add(this.tb_ValidateRepeatName);
            this.groupBox2.Controls.Add(this.label24);
            this.groupBox2.Controls.Add(this.tb_LikeQueryAttrsName);
            this.groupBox2.Controls.Add(this.label23);
            this.groupBox2.Controls.Add(this.tb_LikeQueryAttrs);
@@ -445,6 +453,22 @@
            this.groupBox2.TabIndex = 46;
            this.groupBox2.TabStop = false;
            this.groupBox2.Text = "自定义配置";
            //
            // tb_ValidateRepeatName
            //
            this.tb_ValidateRepeatName.Location = new System.Drawing.Point(402, 108);
            this.tb_ValidateRepeatName.Name = "tb_ValidateRepeatName";
            this.tb_ValidateRepeatName.Size = new System.Drawing.Size(145, 21);
            this.tb_ValidateRepeatName.TabIndex = 63;
            //
            // label24
            //
            this.label24.AutoSize = true;
            this.label24.Location = new System.Drawing.Point(298, 114);
            this.label24.Name = "label24";
            this.label24.Size = new System.Drawing.Size(95, 12);
            this.label24.TabIndex = 62;
            this.label24.Text = "重复性校验字段:";
            // 
            // tb_LikeQueryAttrsName
            // 
@@ -539,7 +563,7 @@
            // 
            // tb_GroupName
            // 
            this.tb_GroupName.Location = new System.Drawing.Point(350, 108);
            this.tb_GroupName.Location = new System.Drawing.Point(973, 111);
            this.tb_GroupName.Name = "tb_GroupName";
            this.tb_GroupName.Size = new System.Drawing.Size(183, 21);
            this.tb_GroupName.TabIndex = 50;
@@ -547,7 +571,7 @@
            // label16
            // 
            this.label16.AutoSize = true;
            this.label16.Location = new System.Drawing.Point(298, 111);
            this.label16.Location = new System.Drawing.Point(920, 117);
            this.label16.Name = "label16";
            this.label16.Size = new System.Drawing.Size(47, 12);
            this.label16.TabIndex = 49;
@@ -629,6 +653,22 @@
            this.label14.Size = new System.Drawing.Size(83, 12);
            this.label14.TabIndex = 47;
            this.label14.Text = "文件下载名字:";
            //
            // label25
            //
            this.label25.AutoSize = true;
            this.label25.Location = new System.Drawing.Point(452, 255);
            this.label25.Name = "label25";
            this.label25.Size = new System.Drawing.Size(83, 12);
            this.label25.TabIndex = 64;
            this.label25.Text = "删除提示字段:";
            //
            // tb_DeleteAlertAttr
            //
            this.tb_DeleteAlertAttr.Location = new System.Drawing.Point(552, 246);
            this.tb_DeleteAlertAttr.Name = "tb_DeleteAlertAttr";
            this.tb_DeleteAlertAttr.Size = new System.Drawing.Size(145, 21);
            this.tb_DeleteAlertAttr.TabIndex = 65;
            // 
            // MainForm
            // 
@@ -716,6 +756,10 @@
        private System.Windows.Forms.TextBox tb_LikeQueryAttrs;
        private System.Windows.Forms.Label label23;
        private System.Windows.Forms.TextBox tb_LikeQueryAttrsName;
        private System.Windows.Forms.TextBox tb_ValidateRepeatName;
        private System.Windows.Forms.Label label24;
        private System.Windows.Forms.TextBox tb_DeleteAlertAttr;
        private System.Windows.Forms.Label label25;
    }
}
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/MainForm.cs
@@ -104,6 +104,23 @@
                string filePrefixName = this.tb_FileName.Text.Trim();//文件前缀名
                string modulelogo = this.tb_Modulelogo.Text.Trim();//模块简写
                string _tb_DeleteAlertAttr = this.tb_DeleteAlertAttr.Text.Trim();//中文注释
                if (_tb_DeleteAlertAttr == "")
                {
                    MessageBox.Show("请输入 åˆ é™¤æç¤ºå­—段!");
                    this.tb_DeleteAlertAttr.Focus();
                    return;
                }
                string _tb_ValidateRepeatName = this.tb_ValidateRepeatName.Text.Trim();//中文注释
                if (_tb_ValidateRepeatName == "")
                {
                    MessageBox.Show("请输入 é‡å¤æ€§æ ¡éªŒå­—段!");
                    this.tb_ValidateRepeatName.Focus();
                    return;
                }
                string _tb_LikeQueryAttrsName = this.tb_LikeQueryAttrsName.Text.Trim();//中文注释
                if (_tb_LikeQueryAttrsName == "")
                {
@@ -201,6 +218,7 @@
                GenerateCodeParam param = new GenerateCodeParam()
                {
                    DeleteAlertAttr = CommonHelper.FirstLowercase(_tb_DeleteAlertAttr),
                    Modulelogo = modulelogo,
                    ChinaComment = chinaComment,
                    PageMenuName = menuName,
@@ -210,7 +228,8 @@
                    EntityName = entityName,
                    EntityInstanceName = tableAlias,
                    LikeQueryAttrs = _tb_LikeQueryAttrs,
                    LikeQueryAttrsName = _tb_LikeQueryAttrsName
                    LikeQueryAttrsName = _tb_LikeQueryAttrsName,
                    ValidateRepeatName = this.tb_ValidateRepeatName.Text
                };
                //处理枚举类型
                List<EnumModel> enumList = new List<EnumModel>();
@@ -369,8 +388,8 @@
                tf = TextHelper.Export2File_V2(webRootPath + @"\Views", $"{param.EntityName}.module.scss", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //22、生成 Views\NameSpacePath_Config æ–‡ä»¶
                str_generate = NameSpacePath_Config_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\config", $"{param.EntityName}.module.scss", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                str_generate = EntityNameClass_json_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\config", $"{param.EntityName}.json", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //23、生成 Views\NameSpacePath_Config æ–‡ä»¶
@@ -432,6 +451,12 @@
                #endregion
                //36、生成 AutoMapperProfile æ–‡ä»¶
                var autoMapFilePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application\MapperProfiles";
                str_generate = AutoMapperProfile_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(autoMapFilePath, param.EntityName + $"AutoMapperProfile.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                ////生成 OutputModel æ–‡ä»¶
                //str_generate = OutputModel_Generate.CreateQueryModelLText(modulelogo, chinaComment, columnList, entityName);
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Model/GenerateCodeParam.cs
@@ -13,6 +13,11 @@
    public class GenerateCodeParam
    {
        /// <summary>
        /// åˆ é™¤æç¤ºå­—段
        /// </summary>
        public string DeleteAlertAttr { get; set; }
        /// <summary>
        /// æ¨¡å—简写
        /// </summary>
        public string Modulelogo { get; set; }
@@ -33,6 +38,11 @@
        public string PageMenuInstanceName { get; set; }
        /// <summary>
        /// é¡µé¢èœå•对象缩写
        /// </summary>
        public string ValidateRepeatName { get; set; }
        /// <summary>
        /// åˆ—名列表
        /// </summary>
        public List<ColumnModel> ColumnNameList { get; set; } = new List<ColumnModel>();
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Model/SystemCommonVar.cs
@@ -35,7 +35,8 @@
        public const string c_ConcurrencyStamp = "ConcurrencyStamp";
        public const string c_Sort = "Sort";
        public const string c_IsDisabled = "IsDisabled";
    }
}
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/AppService/AppServiceÄ£°å.txt
@@ -2,7 +2,6 @@
using CMS.Plugin.$NameSpacePath$.Application.Contracts.Services;
using CMS.Plugin.$NameSpacePath$.Domain.Shared;
using CMS.Plugin.$NameSpacePath$.Domain.Shared.Util;
using CMS.Plugin.$NameSpacePath$.Domain.Shared.$EntityName$;
using CMS.Plugin.$NameSpacePath$.Domain.$EntityName$;
using CmsQueryExtensions.Extension;
using System.Linq.Expressions;
@@ -100,10 +99,10 @@
    {
        await CheckCreateOrUpdateDtoAsync(input);
        var exist = await $EntityInstanceName$Repository.NameExistAsync(input.MaterialCode);
        var exist = await $EntityInstanceName$Repository.NameExistAsync(input.$ValidateRepeatName$);
        if (exist)
        {
            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]);
            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.$ValidateRepeatName$]);
        }
        var maxSort = await $EntityInstanceName$Repository.GetMaxSortAsync();
@@ -135,10 +134,10 @@
        await CheckCreateOrUpdateDtoAsync(input);
        var updateObj = await $EntityInstanceName$Repository.GetAsync(id);
        var exist = await $EntityInstanceName$Repository.NameExistAsync(input.MaterialCode, updateObj.Id);
        var exist = await $EntityInstanceName$Repository.NameExistAsync(input.$ValidateRepeatName$, updateObj.Id);
        if (exist)
        {
            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialCode]);
            throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.$ValidateRepeatName$]);
        }
        updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
@@ -271,7 +270,7 @@
            #region å¯¼å…¥æ ¡éªŒ
            // åˆ¤æ–­åç§°æ˜¯å¦é‡å¤ï¼Œå¹¶è¾“出第几行重复
            var duplicate$EntityName$s = importItems.GroupBy(x => x.MaterialCode).Where(x => x.Count() > 1).ToList();
            var duplicate$EntityName$s = importItems.GroupBy(x => x.$ValidateRepeatName$).Where(x => x.Count() > 1).ToList();
            if (duplicate$EntityName$s?.Any() == true)
            {
                var duplicate$EntityName$Msgs = duplicate$EntityName$s.Select(x => $"第 {string.Join(",", x.Select(x => x.RowIndex))} è¡Œï¼š{x.Key}  åç§°é‡å¤");
@@ -283,36 +282,23 @@
            foreach (var impItem in importItems)
            {
                if (impItem.MaterialCode.IsNullOrWhiteSpace() && impItem.MaterialName.IsNullOrWhiteSpace())
                if (impItem.$ValidateRepeatName$.IsNullOrWhiteSpace() && impItem.MaterialName.IsNullOrWhiteSpace())
                {
                    continue;
                }
                if (impItem.MaterialCode.IsNullOrWhiteSpace())
                if (impItem.$ValidateRepeatName$.IsNullOrWhiteSpace())
                {
                    var errorMsg = $"导入失败!配置,第{impItem.RowIndex}行:$EntityName$名称不能为空";
                    throw new UserFriendlyException(errorMsg);
                }
                var old$EntityName$ = await $EntityInstanceName$Repository.FindByNameAsync(impItem.MaterialCode);
                var old$EntityName$ = await $EntityInstanceName$Repository.FindByNameAsync(impItem.$ValidateRepeatName$);
                if (old$EntityName$ != null)
                {
                    var $EntityInstanceName$UpdateDto = new $EntityName$UpdateDto
                    {
                        MaterialCode = impItem.MaterialCode,
                        MaterialName = impItem.MaterialName,
                        PurchaseType = impItem.PurchaseType,
                        MaterialType = impItem.MaterialType,
                        PrimaryUnit = impItem.PrimaryUnit,
                        Standard = impItem.Standard,
                        OuterDiameter = impItem.OuterDiameter,
                        WallThickness = impItem.WallThickness,
                        MaterialQuality = impItem.MaterialQuality,
                        Length = impItem.Length,
                        IsMainBranch = impItem.IsMainBranch,
                        Factory = impItem.Factory,
                        Certification = impItem.Certification,
                        Remark = impItem.Remark,
                        $AppService_ImportAsync$
                    };
                    $EntityInstanceName$UpdateDtos.Add((impItem.RowIndex, old$EntityName$.Id, $EntityInstanceName$UpdateDto));
@@ -321,20 +307,7 @@
                {
                    var $EntityInstanceName$CreateDto = new $EntityName$CreateDto
                    {
                        MaterialCode = impItem.MaterialCode,
                        MaterialName = impItem.MaterialName,
                        PurchaseType = impItem.PurchaseType,
                        MaterialType = impItem.MaterialType,
                        PrimaryUnit = impItem.PrimaryUnit,
                        Standard = impItem.Standard,
                        OuterDiameter = impItem.OuterDiameter,
                        WallThickness = impItem.WallThickness,
                        MaterialQuality = impItem.MaterialQuality,
                        Length = impItem.Length,
                        IsMainBranch = impItem.IsMainBranch,
                        Factory = impItem.Factory,
                        Certification = impItem.Certification,
                        Remark = impItem.Remark,
                        $AppService_ImportAsync$
                    };
                    $EntityInstanceName$CreateDtos.Add((impItem.RowIndex, $EntityInstanceName$CreateDto));
@@ -401,7 +374,7 @@
            ["配置"] = ExportHelper.ConvertListToExportData(result),
        };
        var fileName = result.Count > 1 ? "$EntityName$列表" : result.Count == 1 ? result[0]?.MaterialCode : "$EntityName$模版";
        var fileName = result.Count > 1 ? "$ChinaComment$列表" : result.Count == 1 ? result[0]?.$ValidateRepeatName$ : "$EntityName$模版";
        return (sheets, fileName);
    }
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Application/MapperProfiles/AutoMapperProfileÄ£°å.txt
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
using AutoMapper;
using CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$;
using CMS.Plugin.$NameSpacePath$.Domain.$EntityName$;
using Volo.Abp.ObjectExtending;
namespace CMS.Plugin.$NameSpacePath$.Application.MapperProfiles;
/// <summary>
/// $ChinaComment$AutoMapper配置
/// </summary>
/// <seealso cref="AutoMapper.Profile" />
public class $EntityName$AutoMapperProfile : Profile
{
    /// <summary>
    /// Initializes a new instance of the <see cref="$EntityName$AutoMapperProfile"/> class.
    /// </summary>
    public $EntityName$AutoMapperProfile()
    {
        /* You can configure your AutoMapper mapping configuration here.
         * Alternatively, you can split your mapping configurations
         * into multiple profile classes for a better organization. */
        CreateMap<$EntityName$, $EntityName$Dto>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
        CreateMap<$EntityName$CreateDto, $EntityName$>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
        CreateMap<Get$EntityName$Input, $EntityName$>(MemberList.None).MapExtraProperties(MappingPropertyDefinitionChecks.None);
    }
}
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Entity/CreateOrUpdateDtoBaseÄ£°å.txt
@@ -1,4 +1,5 @@
using CMS.Plugin.$NameSpacePath$.Domain.Shared.Enums;
using System;
using Volo.Abp.Application.Dtos;
namespace CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$;
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Entity/ExportModelÄ£°å.txt
@@ -1,7 +1,8 @@
using MiniExcelLibs.Attributes;
using System.ComponentModel.DataAnnotations;
using System;
using System.ComponentModel;
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
using CMS.Plugin.$NameSpacePath$.Domain.Shared.Enums;
namespace CMS.Plugin.$NameSpacePath$.Application.Contracts.Dtos.$EntityName$;
/// <summary>
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/EntityFrameworkCore/EfCoreRepositoryÄ£°å.txt
@@ -36,18 +36,18 @@
            .IncludeDetails()
            .Where(x => !x.IsDeleted)
            .OrderBy(t => t.Sort)
            .FirstOrDefaultAsync(t => t.MaterialCode == name, GetCancellationToken(cancellationToken));
            .FirstOrDefaultAsync(t => t.$ValidateRepeatName$ == name, GetCancellationToken(cancellationToken));
    }
    /// <summary>
    /// éªŒè¯åç§°æ˜¯å¦å­˜åœ¨$ChinaComment$
    /// </summary>
    /// <param name="materialCode"></param>
    /// <param name="name">校验值</param>
    /// <param name="id"></param>
    /// <returns></returns>
    public async Task<bool> NameExistAsync(string materialCode, Guid? id = null)
    public async Task<bool> NameExistAsync(string name, Guid? id = null)
    {
        return await (await GetDbSetAsync()).WhereIf(id.HasValue, p => p.Id != id).Where(x => !x.IsDeleted).AnyAsync(x => x.MaterialCode == materialCode);
        return await (await GetDbSetAsync()).WhereIf(id.HasValue, p => p.Id != id).Where(x => !x.IsDeleted).AnyAsync(x => x.$ValidateRepeatName$ == name);
    }
    /// <summary>
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Web/Controllers/EntityModeQueryDrawerÄ£°å.txt
@@ -70,20 +70,6 @@
  const commonGetFormData=()=>{
    const data = {
      $Save_PageAddFormAttributes_Query$
      materialCode: formData.value.materialCode,
      materialName: formData.value.materialName,
      purchaseType: formData.value.purchaseType,
      materialType: formData.value.materialType,
      primaryUnit: formData.value.primaryUnit,
      standard: formData.value.standard,
      outerDiameter: formData.value.outerDiameter,
      wallThickness: formData.value.wallThickness,
      materialQuality: formData.value.materialQuality,
      length: formData.value.length,
      isMainBranch: formData.value.isMainBranch,
      factory: formData.value.factory,
      certification: formData.value.certification,
      remark: formData.value.remark,
    }
    return data;
  }
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Web/Controllers/EntityModeÄ£°å.txt
@@ -128,9 +128,9 @@
    {
      label: '删除',
      fn: async (c: CurrentType) => {
        const names = selection.value.map((item: { name: string }) => item.name)
        const names = selection.value.map((item: { $DeleteAlertAttr$: string }) => item.$DeleteAlertAttr$)
        ConfirmBox(
          `是否删除${names.length ? names.join(',') : c.row.name}`
          `是否删除${names.length ? names.join(',') : c.row.$DeleteAlertAttr$}`
        ).then(async () => {
          const ids = selection.value.map((item: { id: string }) => item.id)
          await $PageMenuInstanceName$.delete$EntityName$s(ids.length ? ids : [c.row.id])
@@ -187,7 +187,7 @@
   */
  const onExport = (data={}) => {
    //const params = tableRef.value?.getParams()
    exportFile('/api/v1/hIAWms/$PageMenuInstanceName$/export', data, 'hIAWms')
    exportFile('/api/v1/$NameSpacePath$/$PageMenuInstanceName$/export', data, '$NameSpacePath$')
  }
  /**
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Web/Models/Models_EntityNameClassDrawer.txt
@@ -11,7 +11,7 @@
  constructor() {
    super({
      data: [],
      wmsMaterial: {},
      $PageMenuInstanceName$: {},
    })
  }
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Web/Models/Models_EntityNameClassQueryDrawer.txt
@@ -11,7 +11,7 @@
  constructor() {
    super({
      data: [],
      wmsMaterial: {},
      $PageMenuInstanceName$: {},
    })
  }
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Web/Models/Service/Models_Service_EntityNameClass.txt
@@ -5,7 +5,7 @@
 * æ·»åŠ 
 * @returns
 */
export const addWmsMaterial = (data: any) => {
export const add$EntityName$ = (data: any) => {
  return request.post('/api/v1/$NameSpacePath$/$PageMenuInstanceName$', data)
}
@@ -13,7 +13,7 @@
 * æ‰¹é‡åˆ é™¤
 * @returns
 */
export const deleteWmsMaterials = (ids: string[]) => {
export const delete$EntityName$s = (ids: string[]) => {
  return request({
    data: ids,
    url: '/api/v1/$NameSpacePath$/$PageMenuInstanceName$',
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Web/Models/Service/Models_Service_EntityNameClassDrawer.txt
@@ -5,7 +5,7 @@
 * æ·»åŠ 
 * @returns
 */
export const addWmsMaterial = (data: any) => {
export const add$EntityName$ = (data: any) => {
  return request.post('/api/v1/$NameSpacePath$/$PageMenuInstanceName$', data)
}
@@ -13,7 +13,7 @@
 * èŽ·å–è¯¦æƒ…
 * @returns
 */
export const getWmsMaterial = (id: string) => {
export const get$EntityName$ = (id: string) => {
  return request.get(`/api/v1/$NameSpacePath$/$PageMenuInstanceName$/${id}`)
}
@@ -21,7 +21,7 @@
 * æ›´æ–°
 * @returns
 */
export const updateWmsMaterial = (id: string, data: Record<string, any>) => {
export const update$EntityName$ = (id: string, data: Record<string, any>) => {
  return request.put(`/api/v1/$NameSpacePath$/$PageMenuInstanceName$/${id}`, data)
}
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Web/Views/config/EntityNameClass_jsonÄ£°å.txt
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Utility/CommonHelper.cs
@@ -49,6 +49,8 @@
            str = str.Replace("$LikeQueryAttrs$", param.LikeQueryAttrs);
            str = str.Replace("$LikeQueryAttrsName$", param.LikeQueryAttrsName);
            str = str.Replace("$ValidateRepeatName$", param.ValidateRepeatName);
            str = str.Replace("$DeleteAlertAttr$", param.DeleteAlertAttr);
        }
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Utility/ListHelper.cs
@@ -169,7 +169,7 @@
                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_CreateId.ToUpper()
                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ModifyId.ToUpper()
                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_Sort.ToUpper()
                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_IsDisabled.ToUpper()
                    )
                {
                    continue;
@@ -179,6 +179,12 @@
            return newList;
        }
        /// <summary>
        /// é¡µé¢è¡¨æ ¼å±•示的 å­—段列表
        /// </summary>
        /// <param name="columnNameList"></param>
        /// <returns></returns>
        public static List<ColumnModel> RemoveForPageTableListQueryAttributes(List<ColumnModel> columnNameList)
        {
            List<ColumnModel> newList = new List<ColumnModel>();
@@ -199,6 +205,7 @@
                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_delFlag.ToUpper()
                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_CreateId.ToUpper()
                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_ModifyId.ToUpper()
                    || columnModel.ColumnName.ToUpper() == SystemCommonVar.c_IsDisabled.ToUpper()
                    //|| columnModel.ColumnName.ToUpper() == SystemCommonVar.c_Sort.ToUpper()
                    )
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Utility/StructStrHelper.cs
@@ -243,7 +243,7 @@
                    case DataTypeEnum.dt_datetime:
                    case DataTypeEnum.dt_datetime2:
                    case DataTypeEnum.dt_datetimeoffset:
                        attrStr += "        public datetime" + str_NullFlag + attr + " { get; set; }\n";
                        attrStr += "        public DateTime" + str_NullFlag + attr + " { get; set; }\n";
                        attrStr += "\n";//最后是加一个空格
                        break;
                    case DataTypeEnum.dt_bigint:
@@ -304,6 +304,30 @@
                string attrStr = "";
                attrStr += $"        updateObj.{attr} = input.{attr};\n";
                return attrStr;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static string GenerateAttribute_AppService_ImportAsync(ColumnModel columnModel, GenerateCodeParam param)
        {
            try
            {
                /*
                MaterialCode = impItem.MaterialCode,
                 */
                string attr = columnModel.ColumnName;
                string attrStr = "";
                attrStr += $"{attr} = impItem.{attr},\n";
                return attrStr;
@@ -540,7 +564,7 @@
                    case DataTypeEnum.dt_datetime:
                    case DataTypeEnum.dt_datetime2:
                    case DataTypeEnum.dt_datetimeoffset:
                        attrStr += "        public datetime" + str_NullFlag + attr + " { get; set; }\n";
                        attrStr += "        public DateTime" + str_NullFlag + attr + " { get; set; }\n";
                        attrStr += "\n";//最后是加一个空格
                        break;
                    case DataTypeEnum.dt_bigint:
@@ -2022,7 +2046,7 @@
                    sb.Append("                   //disabled: disabled, \n");
                    sb.Append("                   placeholder: '请输入" + columnModel.Description + "', \n");
                    //添加类型
                    //switch (enumDT)
                    //{
@@ -2286,7 +2310,7 @@
                /*
                  isMainBranch: [] as Array<{ label: string; value: any }>,
                 */
                    if (param.EnumList?.Count > 0)
                if (param.EnumList?.Count > 0)
                {
                    foreach (var item in param.EnumList)
                    {