schangxiang@126.com
2025-05-06 87f48be9719c394e7cecbbff45e735131334253a
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/MainForm.cs
@@ -31,9 +31,16 @@
            this.tb_WCF_NameSpacePath.Text = "HIAWms";//WCF项目命名空间 
            this.tb_FileName.Text = "Xiangzi";//文件前缀名
            this.tb_ChinaComment.Text = "物料基础信息表";//中文注释
            this.tb_MenuName.Text = "物料信息";//中文注释
            this.tb_PageMenuInstanceName.Text = "wmsMaterial";
            this.tb_CreatePerson.Text = "shaocx";//创建人
            this.tb_EntityName.Text = "WmsMaterials";//实体类名
            this.tb_EntityProName.Text = "_wmsMaterials";//实体类对象名
            this.tb_EntityName.Text = "WmsMaterial";//实体类名
            this.tb_LikeQueryAttrs.Text = "'MaterialCode', 'MaterialName', 'Remark'";
            this.tb_LikeQueryAttrsName.Text = "请输入物料编码/物料名称/备注";
            //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();
@@ -96,7 +103,44 @@
                string wcf_NameSpacePath = this.tb_WCF_NameSpacePath.Text.Trim();//WCF项目命名空间 
                string filePrefixName = this.tb_FileName.Text.Trim();//文件前缀名
                string modulelogo = this.tb_Modulelogo.Text.Trim();//模块简写
                string _tb_LikeQueryAttrsName = this.tb_LikeQueryAttrsName.Text.Trim();//中文注释
                if (_tb_LikeQueryAttrsName == "")
                {
                    MessageBox.Show("请输入 æ¨¡ç³ŠæŸ¥è¯¢å­—段名!");
                    this.tb_LikeQueryAttrsName.Focus();
                    return;
                }
                string _tb_LikeQueryAttrs = this.tb_LikeQueryAttrs.Text.Trim();//中文注释
                if (_tb_LikeQueryAttrs == "")
                {
                    MessageBox.Show("请输入 æ¨¡ç³ŠæŸ¥è¯¢å­—段!");
                    this.tb_LikeQueryAttrs.Focus();
                    return;
                }
                string chinaComment = this.tb_ChinaComment.Text.Trim();//中文注释
                if (chinaComment == "")
                {
                    MessageBox.Show("请输入 è¡¨çš„中文注解!");
                    this.tb_ChinaComment.Focus();
                    return;
                }
                string menuName = this.tb_MenuName.Text.Trim();//中文注释
                if (menuName == "")
                {
                    MessageBox.Show("请输入 é¡µé¢èœå•名!");
                    this.tb_MenuName.Focus();
                    return;
                }
                string _tb_PageMenuInstanceName = this.tb_PageMenuInstanceName.Text.Trim();//中文注释
                if (_tb_PageMenuInstanceName == "")
                {
                    MessageBox.Show("请输入 é¡µé¢èœå•对象缩写!");
                    this.tb_PageMenuInstanceName.Focus();
                    return;
                }
                string createPerson = this.tb_CreatePerson.Text.Trim();//创建人
                string entityName = this.tb_EntityName.Text.Trim();//实体类名
                string tableAlias = this.tb_EntityProName.Text.Trim();//实体类对象名/表别名
@@ -159,10 +203,33 @@
                {
                    Modulelogo = modulelogo,
                    ChinaComment = chinaComment,
                    PageMenuName = menuName,
                    PageMenuInstanceName = _tb_PageMenuInstanceName,
                    NameSpacePath = wcf_NameSpacePath,
                    ColumnNameList = columnList,
                    EntityName = entityName
                    EntityName = entityName,
                    EntityInstanceName = tableAlias,
                    LikeQueryAttrs = _tb_LikeQueryAttrs,
                    LikeQueryAttrsName = _tb_LikeQueryAttrsName
                };
                //处理枚举类型
                List<EnumModel> enumList = new List<EnumModel>();
                var str_enumList = this.tb_EnumList.Text.Trim();
                if (str_enumList.IndexOf(',') > -1)
                {
                    var arr_enumList = str_enumList.Split(',');
                    foreach (var item in arr_enumList)
                    {
                        var arr_single = item.Split('|');
                        enumList.Add(new EnumModel()
                        {
                            EnumAttrName = arr_single[0],
                            EnumType = arr_single[1],
                            EnumTypeDesc = arr_single[2]
                        });
                    }
                }
                param.EnumList = enumList;
                //生成Model
                //CreateModelFile(columnList, tableName, filePrefixName, wcf_NameSpacePath, createPerson, chinaComment, entityName, modulelogo);
@@ -171,14 +238,186 @@
                #region å®žä½“ç±»
                var entityFilePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application.Contracts\Dtos\" + tb_EntityName.Text.Trim();
                //1、生成 åˆ†é¡µæŸ¥è¯¢å®žä½“ æ–‡ä»¶
                str_generate = InputModel_Generate.CreateQueryModelLText(param);
                str_generate = InputQueryModel_Generate.CreateQueryModelLText(param);
                tf = TextHelper.Export2File_V2(entityFilePath, $"Get{param.EntityName}Input.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //2、生成 CreateDto æ–‡ä»¶
                str_generate = CreateDto_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}CreateDto.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //3、生成 UpdateDto æ–‡ä»¶
                str_generate = UpdateDto_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}UpdateDto.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //4、生成 CreateOrUpdateDtoBase æ–‡ä»¶
                str_generate = CreateOrUpdateDtoBase_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}CreateOrUpdateDtoBase.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //5、生成 Dto æ–‡ä»¶
                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);
                //7、生成 Import æ–‡ä»¶
                str_generate = ImportModel_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(entityFilePath, $"{param.EntityName}sImportModel.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                #endregion
                #region AppSerivice
                //8、生成 IAppService æ–‡ä»¶
                var appServiceFilePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application.Contracts\Services";
                str_generate = IAppService_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(appServiceFilePath, $"I{param.EntityName}AppService.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //9、生成 AppService æ–‡ä»¶
                appServiceFilePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application\Implements";
                str_generate = AppService_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(appServiceFilePath, $"{param.EntityName}AppService.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                #endregion
                #region Contorller
                //10、生成 Contorller æ–‡ä»¶
                var continerlllePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @"\Controller";
                str_generate = Controller_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(continerlllePath, $"{param.EntityName}Controller.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                #endregion
                #region Domain
                //11、生成 IRepository æ–‡ä»¶
                var iRepositoryPath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Domain\" + tb_EntityName.Text.Trim(); ;
                str_generate = IRepository_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(iRepositoryPath, $"I{param.EntityName}Repository.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                #endregion
                #region EntityFrameworkCore
                //12、生成 EfCoreRepository æ–‡ä»¶
                var efCoreRepositoryPath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".EntityFrameworkCore\Repositories";
                str_generate = EfCoreRepository_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(efCoreRepositoryPath, $"EfCore{param.EntityName}Repository.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                #endregion
                #region Web
                var webRootPath = tbPath.Text + @"\web\src\widgets\" + tb_EntityName.Text.Trim();
                //13、生成 Index æ–‡ä»¶
                str_generate = Index_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath, $"index.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //14、生成 enum æ–‡ä»¶
                str_generate = enum_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath, $"enum.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //15、生成 Controllers\File æ–‡ä»¶
                str_generate = File_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"File.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //16、生成 Controllers\EntityMode æ–‡ä»¶
                str_generate = EntityMode_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"{tb_EntityName.Text.Trim()}.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //17、生成 Controllers\EntityModeDrawer æ–‡ä»¶
                str_generate = EntityModeDrawer_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"{tb_EntityName.Text.Trim()}Drawer.tsx", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //18、生成 Controllers\EntityModeQueryDrawer æ–‡ä»¶
                str_generate = EntityModeQueryDrawer_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Controllers", $"{tb_EntityName.Text.Trim()}QueryDrawer.tsx", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //19、生成 type\type æ–‡ä»¶
                str_generate = type_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\type", $"type.d.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //20、生成 Views\NameSpacePath æ–‡ä»¶
                str_generate = NameSpacePath_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Views", $"{param.EntityName}.tsx", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //21、生成 Views\NameSpacePath_module æ–‡ä»¶
                str_generate = NameSpacePath_module_Generate.CreateText(param);
                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);
                //23、生成 Views\NameSpacePath_Config æ–‡ä»¶
                str_generate = EntityNameClass_module_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\" + param.EntityName, $"{param.EntityName}.module.scss", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //24、生成 Views\EntityNameClass模板 æ–‡ä»¶
                str_generate = EntityNameClass_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\" + param.EntityName, $"{param.EntityName}.tsx", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //25、生成 Views\EntityNameClass_Config模板 æ–‡ä»¶
                str_generate = EntityNameClass_Config_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\" + param.EntityName, $"Config.ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //26、生成 Views\EntityNameClassDrawer_module_Generate æ–‡ä»¶
                str_generate = EntityNameClassDrawer_module_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\Dialog\" + param.EntityName + "Drawer", param.EntityName + "Drawer" + $".module.scss", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //27、生成 Views\EntityNameClassDrawer_Generate æ–‡ä»¶
                str_generate = EntityNameClassDrawer_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\Dialog\" + param.EntityName + "Drawer", param.EntityName + "Drawer" + $".tsx", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //28、生成 Views\EntityNameClassDrawer_module_Generate æ–‡ä»¶
                str_generate = EntityNameClassQueryDrawer_module_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\Dialog\" + param.EntityName + "QueryDrawer", param.EntityName + "QueryDrawer" + $".module.scss", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //29、生成 Views\EntityNameClassDrawer_Generate æ–‡ä»¶
                str_generate = EntityNameClassQueryDrawer_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Views\Pages\Dialog\" + param.EntityName + "QueryDrawer", param.EntityName + "QueryDrawer" + $".tsx", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //30、生成 Views\EntityNameClassDrawer_Generate æ–‡ä»¶
                str_generate = Models_EntityNameClassQueryDrawer_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Models", param.EntityName + "QueryDrawer" + $".ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //31、生成 Views\EntityNameClassDrawer_Generate æ–‡ä»¶
                str_generate = Models_EntityNameClassDrawer_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Models", param.EntityName + "Drawer" + $".ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //32、生成 Views\EntityNameClassDrawer_Generate æ–‡ä»¶
                str_generate = Models_EntityNameClass_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Models", param.EntityName + $".ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //33、生成 Views\EntityNameClassDrawer_Generate æ–‡ä»¶
                str_generate = Models_Service_EntityNameClassQueryDrawer_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Models\Service", param.EntityName + "QueryDrawer" + $".ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //34、生成 Views\EntityNameClassDrawer_Generate æ–‡ä»¶
                str_generate = Models_Service_EntityNameClassDrawer_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Models\Service", param.EntityName + "Drawer" + $".ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                //35、生成 Views\EntityNameClassDrawer_Generate æ–‡ä»¶
                str_generate = Models_Service_EntityNameClass_Generate.CreateText(param);
                tf = TextHelper.Export2File_V2(webRootPath + @"\Models\Service", param.EntityName + $".ts", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo);
                #endregion
                ////生成 OutputModel æ–‡ä»¶
@@ -345,7 +584,7 @@
        private void MainForm_Load(object sender, EventArgs e)
        {
            tb_EntityProName.Enabled = false;
            //tb_EntityProName.Enabled = false;
            tb_FileName.Enabled = false;
            tb_Modulelogo.Enabled = false;
            tb_WCF_NameSpacePath.Enabled = true;