From e0f7bd33a83f75a08c84727fde656a5ec470a344 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周二, 06 5月 2025 09:57:37 +0800 Subject: [PATCH] fasasdfasd --- Weben_CMS专用代码生成器/Code/MainForm.cs | 223 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 193 insertions(+), 30 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/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 b98d6f0..e9f5e78 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" @@ -6,6 +6,8 @@ using Newtonsoft.Json; using System.Windows.Forms.VisualStyles; using GenerateCode_WeiBen_WMS.DataBaseFactory; +using GenerateCode_WeiBen_WMS.Const; +using GenerateCode_WeiBen_WMS.Model; namespace GenerateCode_GEBrilliantFactory { @@ -25,13 +27,16 @@ this.tb_OrderBy.Text = "ModifyTime";//鎺掑簭瀛楁 this.tb_ProjectNamePrefix.Text = "Test"; - this.tb_TableName.Text = "scms_auditlogs";//琛ㄥ悕 - this.tb_WCF_NameSpacePath.Text = "WIP_";//WCF椤圭洰鍛藉悕绌洪棿 + this.tb_TableName.Text = "scms_wmsmaterials";//琛ㄥ悕 + this.tb_WCF_NameSpacePath.Text = "HIAWms";//WCF椤圭洰鍛藉悕绌洪棿 this.tb_FileName.Text = "Xiangzi";//鏂囦欢鍓嶇紑鍚� - this.tb_ChinaComment.Text = "琛ㄧ殑涓枃娉ㄨВ";//涓枃娉ㄩ噴 + this.tb_ChinaComment.Text = "鐗╂枡鍩虹淇℃伅琛�";//涓枃娉ㄩ噴 + this.tb_MenuName.Text = "鐗╂枡淇℃伅";//涓枃娉ㄩ噴 + this.tb_PageMenuInstanceName.Text = "wmsMaterial"; this.tb_CreatePerson.Text = "shaocx";//鍒涘缓浜� - this.tb_EntityName.Text = "XiangziEntity";//瀹炰綋绫诲悕 - this.tb_EntityProName.Text = "xiangzi";//瀹炰綋绫诲璞″悕 + 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(); @@ -95,6 +100,26 @@ string filePrefixName = this.tb_FileName.Text.Trim();//鏂囦欢鍓嶇紑鍚� string modulelogo = this.tb_Modulelogo.Text.Trim();//妯″潡绠�鍐� 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();//瀹炰綋绫诲璞″悕/琛ㄥ埆鍚� @@ -125,6 +150,12 @@ this.tb_RoutePrefix.Focus(); return; } + if (wcf_NameSpacePath == "") + { + MessageBox.Show("璇疯緭鍏ュ懡鍚嶇┖闂达紒"); + this.tb_WCF_NameSpacePath.Focus(); + return; + } //璇诲彇Mysql var handler = DataBaseServiceFactory.GetHandle(dataBaseEnum); @@ -136,42 +167,174 @@ } string groupName = this.tb_GroupName.Text.Trim(); - if (groupName == "") - { - MessageBox.Show("璇疯緭鍏ュ垎缁勫悕锛�"); - this.tb_GroupName.Focus(); - return; - } + //if (groupName == "") + //{ + // MessageBox.Show("璇疯緭鍏ュ垎缁勫悕锛�"); + // this.tb_GroupName.Focus(); + // return; + //} string addEntityParam = "Add" + modulelogo + "Param";//鏂板鍙傛暟绫诲悕 string str_generate = ""; bool tf; + GenerateCodeParam param = new GenerateCodeParam() + { + Modulelogo = modulelogo, + ChinaComment = chinaComment, + PageMenuName = menuName, + PageMenuInstanceName = _tb_PageMenuInstanceName, + NameSpacePath = wcf_NameSpacePath, + ColumnNameList = columnList, + EntityName = entityName, + EntityInstanceName = tableAlias + }; + //澶勭悊鏋氫妇绫诲瀷 + 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); //CreateModelParamFile(columnList, tableName, filePrefixName, wcf_NameSpacePath, createPerson, chinaComment, entityName, modulelogo); - //鐢熸垚 InputModel 鏂囦欢 - str_generate = InputModel_Generate.CreateQueryModelLText(modulelogo, chinaComment, columnList, entityName); - tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); + #region 瀹炰綋绫� + var entityFilePath = tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application.Contracts\Dtos\" + tb_EntityName.Text.Trim(); + //1銆佺敓鎴� 鍒嗛〉鏌ヨ瀹炰綋 鏂囦欢 + str_generate = InputQueryModel_Generate.CreateQueryModelLText(param); + tf = TextHelper.Export2File_V2(entityFilePath, $"Get{param.EntityName}Input.cs", tableName, str_generate, FileType.InputModel, filePrefixName, entityName, modulelogo); - //鐢熸垚 OutputModel 鏂囦欢 - str_generate = OutputModel_Generate.CreateQueryModelLText(modulelogo, chinaComment, columnList, entityName); - tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.OutputModel, 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); - //鐢熸垚Controller鏂囦欢 - //str_generate = Controller_Generate.CreateText(modulelogo, chinaComment, columnList, entityName, orderByName); - //tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.Controller, 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); - //鐢熸垚Services鎺ュ彛鏂囦欢 - str_generate = Services_Interface_Generate.CreateText(wcf_NameSpacePath, modulelogo, entityName, chinaComment, addEntityParam); - tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.WCF_InterFace, 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); - //鐢熸垚Services鎺ュ彛瀹炵幇鏂囦欢 - str_generate = Services_InterfaceRealize_Generate.CreateText(wcf_NameSpacePath, modulelogo, - entityName, chinaComment, filePrefixName, primaryKey, tableAlias, addEntityParam, columnList, groupName); - tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.WCF_InterFaceRealize, 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); + + #endregion + + + + ////鐢熸垚 OutputModel 鏂囦欢 + //str_generate = OutputModel_Generate.CreateQueryModelLText(modulelogo, chinaComment, columnList, entityName); + //tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.OutputModel, filePrefixName, entityName, modulelogo); + + ////鐢熸垚Controller鏂囦欢 + ////str_generate = Controller_Generate.CreateText(modulelogo, chinaComment, columnList, entityName, orderByName); + ////tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.Controller, filePrefixName, entityName, modulelogo); + + ////鐢熸垚Services鎺ュ彛鏂囦欢 + //str_generate = Services_Interface_Generate.CreateText(wcf_NameSpacePath, modulelogo, entityName, chinaComment, addEntityParam); + //tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.WCF_InterFace, filePrefixName, entityName, modulelogo); + + + ////鐢熸垚Services鎺ュ彛瀹炵幇鏂囦欢 + //str_generate = Services_InterfaceRealize_Generate.CreateText(wcf_NameSpacePath, modulelogo, + // entityName, chinaComment, filePrefixName, primaryKey, tableAlias, addEntityParam, columnList, groupName); + //tf = TextHelper.Export2File(tbPath.Text, tableName, str_generate, FileType.WCF_InterFaceRealize, filePrefixName, entityName, modulelogo); /* //鐢熸垚瀛樺偍杩囩▼鏂囦欢 @@ -218,7 +381,7 @@ } //MessageBox.Show("鐢熸垚鏂囦欢鎴愬姛锛�"); //鎴愬姛涔嬪悗鎵撳紑鏂囦欢澶� - using (System.Diagnostics.Process.Start(this.tbPath.Text + "\\" + this.tb_TableName.Text)) + using (System.Diagnostics.Process.Start(this.tbPath.Text)) { } @@ -319,10 +482,10 @@ 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 = false; + tb_WCF_NameSpacePath.Enabled = true; tb_RoutePrefix.Enabled = false; } -- Gitblit v1.9.3