From b718d0a338cc1f8a1ab4dfac174fdd53c4f5864b Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 06 5月 2025 10:10:17 +0800
Subject: [PATCH] 222
---
Weben_CMS专用代码生成器/Code/MainForm.cs | 186 ++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 171 insertions(+), 15 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 0c0bbff..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"
@@ -7,6 +7,7 @@
using System.Windows.Forms.VisualStyles;
using GenerateCode_WeiBen_WMS.DataBaseFactory;
using GenerateCode_WeiBen_WMS.Const;
+using GenerateCode_WeiBen_WMS.Model;
namespace GenerateCode_GEBrilliantFactory
{
@@ -26,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();
@@ -96,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();//瀹炰綋绫诲璞″悕/琛ㄥ埆鍚�
@@ -143,24 +167,156 @@
}
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_V2(tbPath.Text + @"\server\src\CMS.Plugin." + tb_WCF_NameSpacePath.Text.Trim() + @".Application.Contracts\Dtos\" + tb_EntityName.Text.Trim(), 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);
+
+ //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);
+
+ #endregion
+
+
////鐢熸垚 OutputModel 鏂囦欢
//str_generate = OutputModel_Generate.CreateQueryModelLText(modulelogo, chinaComment, columnList, entityName);
@@ -326,7 +482,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;
--
Gitblit v1.9.3