From 8d7a67ab1d635cb954337d8a767878ae526dd3dc Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期六, 07 九月 2024 10:27:24 +0800 Subject: [PATCH] 修改打开、保存、另存为功能 --- JavaCode/FrmEtown.cs | 98 +++++++++++++++++++++++++++++++++--------------- 1 files changed, 67 insertions(+), 31 deletions(-) diff --git a/JavaCode/FrmEtown.cs b/JavaCode/FrmEtown.cs index aa966e7..0eb7e79 100644 --- a/JavaCode/FrmEtown.cs +++ b/JavaCode/FrmEtown.cs @@ -26,12 +26,12 @@ public FrmEtown() { InitializeComponent(); - this.Load += new System.EventHandler(this.FrmMyBatisPlus_Load); + this.Load += new System.EventHandler(this.FrmEtown_Load); } - private void FrmMyBatisPlus_Load(object sender, EventArgs e) + private void FrmEtown_Load(object sender, EventArgs e) { - _dbHelper = new PostgreHelper(DbEnum.langfang); + _dbHelper = new PostgreHelper(DbEnum.etown); } #endregion @@ -113,7 +113,7 @@ { try { - string path = Path.Combine(baseDir, "EtownTemplate\\Mapper"); + string path = Path.Combine(baseDir, "Result\\Mapper"); List<string> names = GetTabList(); foreach (string name in names) @@ -134,7 +134,7 @@ { try { - string path = Path.Combine(baseDir, "EtownTemplate\\Entity"); + string path = Path.Combine(baseDir, "Result\\Entity"); List<string> names = GetTabList(); foreach (string name in names) @@ -158,7 +158,7 @@ if (!Directory.Exists(path)) Directory.CreateDirectory(path); string tabName = this.txtTabPrefix.Text.Trim() + name; - string shortName = GetEntityName(name, true); + string shortName = GetEntityName(name); string mapperNS = this.txtMapperNS.Text.Trim(); string mapperName = shortName + "Mapper"; @@ -167,7 +167,11 @@ string entityName = shortName + "Entity"; string ns = this.txtTabPrefix.Text.Trim(); - string bak = string.IsNullOrWhiteSpace(tabs[0].desc) ? shortName : tabs[0].desc.Replace("琛�", ""); + string bak = shortName; + if (!string.IsNullOrEmpty(tabs[0].desc)) bak = tabs[0].desc.Replace("琛�", ""); + + List<SysDict> dicts = SelectSysDicts(tabName); + if (dicts != null) bak = dicts[0].descr; string javaFile = "Mapper.java"; string xml = File.ReadAllText(Path.Combine(baseDir, "EtownTemplate\\" + javaFile)); @@ -192,14 +196,18 @@ string tabName = this.txtTabPrefix.Text.Trim() + name; //string shortName = NameConvert(name, true); - string shortName = GetEntityName(name, true); + string shortName = GetEntityName(name); string entityNS = this.txtEntityNS.Text.Trim(); string entityName = shortName + "Entity"; string ns = this.txtTabPrefix.Text.Trim(); - string bak = string.IsNullOrWhiteSpace(tabs[0].desc) ? shortName : tabs[0].desc.Replace("琛�", ""); long uid = (long)Math.Floor((new Random()).NextDouble() * 1000000000000000000D); + + string bak = shortName; + if (!string.IsNullOrEmpty(tabs[0].desc)) bak = tabs[0].desc.Replace("琛�", ""); + List<SysDict> dicts = SelectSysDicts(tabName); + if (dicts != null) bak = dicts[0].descr; string javaFile = "Entity.java"; string xml = File.ReadAllText(Path.Combine(baseDir, "EtownTemplate\\" + javaFile)); @@ -213,6 +221,7 @@ .Replace("{date}", DateTime.Now.ToString("yyyy-MM-dd")); StringBuilder sb = new StringBuilder(); + sb.Append("\r\n public " + entityName + "() {\r\n }\r\n"); foreach (TabInfo ti in tabs) { string type = GetJavaType(ti); @@ -225,10 +234,14 @@ sb.Append("\r\n"); string colName = NameConvert(ti.col, false); - if ("references" == colName) sb.Append(" @TableField(value = \"\\\"references\\\"\")").Append("\r\n"); + //if ("references" == colName) sb.Append(" @TableField(value = \"\\\"references\\\"\")").Append("\r\n"); + + SysDict dict = FindSysDict(dicts, ti.col); + string alias = null == dict || string.IsNullOrEmpty(dict.alias) ? (string.IsNullOrEmpty(ti.bak) ? "" : ti.bak.Trim()) : dict.alias.Trim(); + sb.Append(" @ApiModelProperty(value = \"" + alias + "\")\r\n"); + sb.Append(" private " + type + " " + colName + ";\r\n"); } - sb.Append("\r\n public " + entityName + "() {\r\n }\r\n"); foreach (TabInfo ti in tabs) { @@ -254,18 +267,25 @@ { try { - string mapperPath = Path.Combine(baseDir, "EtownTemplate\\Mapper"); - string entityPath = Path.Combine(baseDir, "EtownTemplate\\Entity"); + string mapperPath = Path.Combine(baseDir, "Result\\Mapper"); + string entityPath = Path.Combine(baseDir, "Result\\Entity"); List<string> names = GetTabList(); foreach (string name in names) { - List<TabInfo> tabs = GetTabInfo(name); - GenerateMapper(mapperPath, name, tabs); - GenerateEntity(entityPath, name, tabs); + try + { + List<TabInfo> tabs = GetTabInfo(name); + GenerateMapper(mapperPath, name, tabs); + GenerateEntity(entityPath, name, tabs); + } + catch (Exception ec) + { + MessageBox.Show(name + "\r\n" + ec.Message); + } } - string path = Path.Combine(baseDir, "EtownTemplate"); + string path = Path.Combine(baseDir, "Result"); OpenFolder(path); } catch (Exception ex) @@ -279,11 +299,6 @@ txtChanged(sender, e); } - private void txtNS_TextChanged(object sender, EventArgs e) - { - txtChanged(sender, e); - } - private void txtChanged(object sender, EventArgs e) { string pre = txtTabPrefix.Text.Replace(".", "").Trim(); @@ -293,6 +308,25 @@ #endregion #region 鍏叡鏂规硶 + private List<SysDict> SelectSysDicts(string table) + { + string[] strs = table.Split(new char[] { '.' }); + string sql = string.Format("select id,ns||'.'||tab table, descr, field, alias, type from se.sys_dict where ns='{0}' and tab='{1}' order by orderid", strs[0], strs[1]); + + DataTable dt = _dbHelper.GetDataTable(sql, null); + + List<SysDict> list = ModelHandler.FillModel<SysDict>(dt); + + return null == list || list.Count == 0 ? null : list; + } + + private SysDict FindSysDict(List<SysDict> list, string field) + { + if (null == list) return null; + + return (from sd in list where sd.field == field select sd).FirstOrDefault(); + } + private List<string> GetTabList() { List<string> list = new List<string>(); @@ -315,23 +349,25 @@ return tabs; } - private static string GetEntityName(string name, bool firstUpper) + private static string GetEntityName(string name) { - return firstUpper ? ToUpperFirst(name.Replace("_", "")) : name.Replace("_", ""); + string[] strs = name.ToLower().Split(new char[] { '_' }); + for (int i = 0, c = strs.Length; i < c; i++) + { + strs[i] = ToUpperFirst(strs[i]); + } + + return string.Join("", strs); } private static string NameConvert(string name, bool firstUpper) { - string[] strs = name.Split(new char[] { '_' }); - + string[] strs = name.ToLower().Split(new char[] { '_' }); for (int i = 0, c = strs.Length; i < c; i++) { - if (0 == i && !firstUpper) - { - continue; - } + if (0 == i && !firstUpper) continue; - strs[i] = char.IsDigit(strs[i][0]) ? "_" + strs[i] : ToUpperFirst(strs[i]); + strs[i] = ToUpperFirst(strs[i]); } return string.Join("", strs); -- Gitblit v1.9.3