Commit 104f1271 authored by 朱天博's avatar 朱天博

1.app模块编辑优化

parent 26e892ce
...@@ -7,11 +7,29 @@ namespace Tools ...@@ -7,11 +7,29 @@ namespace Tools
/// </summary> /// </summary>
public class AppModel public class AppModel
{ {
/// <summary>
/// 模块编码
/// </summary>
public string ID { get; set; } public string ID { get; set; }
/// <summary>
/// 模块简拼
/// </summary>
public string Code { get; set; } public string Code { get; set; }
/// <summary>
/// 模块名称
/// </summary>
public string Name { get; set; } public string Name { get; set; }
/// <summary>
/// 父级编码
/// </summary>
public string PrevID { get; set; } public string PrevID { get; set; }
/// <summary>
/// 父级名称
/// </summary>
public string PrevName { get; set; } public string PrevName { get; set; }
/// <summary>
/// 所属系统
/// </summary>
public string ModuleName { get; set; } public string ModuleName { get; set; }
public AppModel() public AppModel()
...@@ -19,6 +37,10 @@ namespace Tools ...@@ -19,6 +37,10 @@ namespace Tools
} }
/// <summary>
/// 根据DGV控件行对象生成一个模块对象
/// </summary>
/// <param name="row"></param>
public AppModel(System.Windows.Forms.DataGridViewRow row) public AppModel(System.Windows.Forms.DataGridViewRow row)
{ {
this.ID = row.Cells[0].Value.ToString(); this.ID = row.Cells[0].Value.ToString();
...@@ -29,5 +51,49 @@ namespace Tools ...@@ -29,5 +51,49 @@ namespace Tools
this.ModuleName = row.Cells[5].Value.ToString(); this.ModuleName = row.Cells[5].Value.ToString();
row.Tag = this; row.Tag = this;
} }
/// <summary>
/// 获取sql语句
/// </summary>
/// <param name="model">app模块模型</param>
/// <param name="Type">类型1:Insert 2:updata</param>
/// <returns></returns>
public static string GetSql(AppModel model, int Type)
{
if (Type == 1)
return AppModel.InsertSql(model, "FTT") + AppModel.InsertSql(model, "FTT_MES") + AppModel.InsertSql(model, "FTT_PDM");
else if (Type == 2)
return AppModel.UpdataSql(model, "FTT") + AppModel.UpdataSql(model, "FTT_MES") + AppModel.UpdataSql(model, "FTT_PDM");
else
return "";
}
private static string InsertSql(AppModel model, string DBName)
{
string sql = $@"
IF NOT EXISTS(SELECT * FROM {DBName}.dbo.App_SysBusinessModel WHERE Name = '{model.Name}')
AND NOT EXISTS(SELECT * FROM {DBName}.dbo.App_SysBusinessModel WHERE ID = {model.ID})
BEGIN
INSERT INTO {DBName}.dbo.App_SysBusinessModel
( ID ,Code ,Name ,PrevID ,LevelNum ,[Index] ,IsEnabled ,PageCode ,IcoPath ,SysCode ,IcoCode,ModuleName)
VALUES ( {model.ID} ,'{model.Code}' ,'{model.Name}' ,{model.PrevID} ,2 ,30 ,1 ,'' ,'' ,',PDM,U6,MES' ,'icon_05','{model.ModuleName}')
END
";
return sql;
}
private static string UpdataSql(AppModel model, string DBName)
{
string sql = $@"
IF EXISTS(SELECT * FROM {DBName}.dbo.App_SysBusinessModel WHERE ID = {model.ID})
BEGIN
UPDATE {DBName}.[dbo].[App_SysBusinessModel]
SET [Code] = '{model.Code}',[Name] = '{model.Name}',[PrevID] = {model.PrevID},[ModuleName] = '{model.ModuleName}'
WHERE ID = {model.ID}
END
";
return sql;
}
} }
} }
...@@ -114,7 +114,6 @@ ...@@ -114,7 +114,6 @@
// //
// groupBox1 // groupBox1
// //
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.Controls.Add(this.rdbSelectedAll); this.groupBox1.Controls.Add(this.rdbSelectedAll);
this.groupBox1.Controls.Add(this.rdbSelectedERP); this.groupBox1.Controls.Add(this.rdbSelectedERP);
this.groupBox1.Controls.Add(this.rdbSelectedMES); this.groupBox1.Controls.Add(this.rdbSelectedMES);
...@@ -312,9 +311,10 @@ ...@@ -312,9 +311,10 @@
this.Controls.Add(this.tabControl1); this.Controls.Add(this.tabControl1);
this.Controls.Add(this.panel3); this.Controls.Add(this.panel3);
this.Controls.Add(this.toolStrip1); this.Controls.Add(this.toolStrip1);
this.MaximizeBox = false;
this.Name = "wAppModel"; this.Name = "wAppModel";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "wAppModel"; this.Text = "APP模块编辑";
this.Load += new System.EventHandler(this.wAppModel_Load); this.Load += new System.EventHandler(this.wAppModel_Load);
((System.ComponentModel.ISupportInitialize)(this.dgvAppModel)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvAppModel)).EndInit();
this.toolStrip1.ResumeLayout(false); this.toolStrip1.ResumeLayout(false);
......
...@@ -17,8 +17,18 @@ namespace Tools.UI ...@@ -17,8 +17,18 @@ namespace Tools.UI
{ {
public partial class wAppModel : Form public partial class wAppModel : Form
{ {
SmpDB _db = new SmpDB(); /// <summary>
string _link = ""; /// 数据库操作对象
/// </summary>
private SmpDB _db = new SmpDB();
/// <summary>
/// 数据库链接
/// </summary>
private string _link = "";
/// <summary>
/// 刷新数据时的筛选语句
/// </summary>
private string strWhere;
public wAppModel() public wAppModel()
{ {
InitializeComponent(); InitializeComponent();
...@@ -36,7 +46,8 @@ namespace Tools.UI ...@@ -36,7 +46,8 @@ namespace Tools.UI
{ {
this.SetDbLink(frm.LinkModel); this.SetDbLink(frm.LinkModel);
} }
RefrashData("1=1"); strWhere = "1=1";
InitData();
} }
/// <summary> /// <summary>
/// 设置数据库链接 /// 设置数据库链接
...@@ -48,38 +59,63 @@ namespace Tools.UI ...@@ -48,38 +59,63 @@ namespace Tools.UI
this.tstbLinkString.Text = m.ToString(); this.tstbLinkString.Text = m.ToString();
} }
private void RefrashData(string strWhere) private void InitUI() { }
private void InitData()
{ {
string sql = $@" string sql = $@"
SELECT a.ID,a.Code,a.Name,a.PrevID,b.Name AS PrevName,a.ModuleName FROM dbo.App_SysBusinessModel a SELECT a.ID,a.Code,a.Name,a.PrevID,b.Name AS PrevName,a.ModuleName FROM dbo.App_SysBusinessModel a
INNER JOIN dbo.App_SysBusinessModel b ON a.PrevID=b.ID INNER JOIN dbo.App_SysBusinessModel b ON a.PrevID=b.ID
WHERE {strWhere} ORDER BY A.ID DESC"; WHERE {strWhere} ORDER BY A.ID DESC";
dgvAppModel.DataSource = this._db.GetDataTable(this._link, sql, "结果列表"); dgvAppModel.DataSource = this._db.GetDataTable(this._link, sql, "结果列表");
} }
private string strWhere;
private void rdbSelected_CheckedChanged(object sender, EventArgs e) private void rdbSelected_CheckedChanged(object sender, EventArgs e)
{ {
//选择所属系统筛选结果
if (string.IsNullOrEmpty(_link))
{
return;
}
RadioButton radioButton = sender as RadioButton; RadioButton radioButton = sender as RadioButton;
strWhere = radioButton.Text == "全部" ? "1=1" : $"a.ModuleName = '{radioButton.Text}'"; strWhere = radioButton.Text == "全部" ? "1=1" : $"a.ModuleName = '{radioButton.Text}'";
RefrashData(strWhere); InitData();
tabControl1.SelectedTab = tabAppModel; tabControl1.SelectedTab = tabAppModel;
} }
private void dgvAppModel_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
//双击修改
if (dgvAppModel.SelectedRows.Count == 0)
{
return;
}
AppModel model = new AppModel(dgvAppModel.SelectedRows[0]);
wAppModelEdit frm = new wAppModelEdit(model, this._db, this._link);
if (frm.ShowDialog() == DialogResult.OK)
InitData();
}
private void btnAdd_Click(object sender, EventArgs e) private void btnAdd_Click(object sender, EventArgs e)
{ {
wAppModelEdit frm = new wAppModelEdit(true, null, this._db, this._link); //新增
if (string.IsNullOrEmpty(_link))
{
Utils.Tip("请先配置连接");
return;
}
wAppModelEdit frm = new wAppModelEdit(null, this._db, this._link);
if (frm.ShowDialog() == DialogResult.OK) if (frm.ShowDialog() == DialogResult.OK)
RefrashData(strWhere); InitData();
} }
private void btnGetSql_Click(object sender, EventArgs e) private void btnGetSql_Click(object sender, EventArgs e)
{ {
//获取sql语句
if (dgvAppModel.SelectedRows.Count == 0) if (dgvAppModel.SelectedRows.Count == 0)
{ {
MessageBox.Show("请先选择行"); Utils.Tip("请先选择行");
return; return;
} }
...@@ -87,42 +123,11 @@ namespace Tools.UI ...@@ -87,42 +123,11 @@ namespace Tools.UI
foreach (DataGridViewRow row in dgvAppModel.SelectedRows) foreach (DataGridViewRow row in dgvAppModel.SelectedRows)
{ {
AppModel model = new AppModel(row); AppModel model = new AppModel(row);
sb.AppendLine($@" sb.AppendLine(AppModel.GetSql(model, 1));
IF NOT EXISTS(SELECT * FROM FTT.dbo.App_SysBusinessModel WHERE Name = '{model.Name}')
AND NOT EXISTS(SELECT * FROM FTT.dbo.App_SysBusinessModel WHERE ID = {model.ID})
BEGIN
INSERT INTO FTT.dbo.App_SysBusinessModel
( ID ,Code ,Name ,PrevID ,LevelNum ,[Index] ,IsEnabled ,PageCode ,IcoPath ,SysCode ,IcoCode,ModuleName)
VALUES ( {model.ID} ,'{model.Code}' ,'{model.Name}' ,{model.PrevID} ,2 ,30 ,1 ,'' ,'' ,',PDM,U6,MES' ,'icon_05','{model.ModuleName}')
END
IF NOT EXISTS(SELECT * FROM FTT_MES.dbo.App_SysBusinessModel WHERE Name = '{model.Name}')
AND NOT EXISTS(SELECT * FROM FTT_MES.dbo.App_SysBusinessModel WHERE ID = {model.ID})
BEGIN
INSERT INTO FTT_MES.dbo.App_SysBusinessModel
( ID ,Code ,Name ,PrevID ,LevelNum ,[Index] ,IsEnabled ,PageCode ,IcoPath ,SysCode ,IcoCode,ModuleName)
VALUES ( {model.ID} ,'{model.Code}' ,'{model.Name}' ,{model.PrevID} ,2 ,30 ,1 ,'' ,'' ,',PDM,U6,MES' ,'icon_05','{model.ModuleName}')
END
IF NOT EXISTS(SELECT * FROM FTT_PDM.dbo.App_SysBusinessModel WHERE Name = '{model.Name}')
AND NOT EXISTS(SELECT * FROM FTT_PDM.dbo.App_SysBusinessModel WHERE ID = {model.ID})
BEGIN
INSERT INTO FTT_PDM.dbo.App_SysBusinessModel
( ID ,Code ,Name ,PrevID ,LevelNum ,[Index] ,IsEnabled ,PageCode ,IcoPath ,SysCode ,IcoCode,ModuleName)
VALUES ( {model.ID} ,'{model.Code}' ,'{model.Name}' ,{model.PrevID} ,2 ,30 ,1 ,'' ,'' ,',PDM,U6,MES' ,'icon_05','{model.ModuleName}')
END
");
} }
txtSql.Text = sb.ToString(); txtSql.Text = sb.ToString();
tabControl1.SelectedTab = tabSql; tabControl1.SelectedTab = tabSql;
} }
private void dgvAppModel_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
AppModel model = new AppModel(dgvAppModel.SelectedRows[0]);
wAppModelEdit frm = new wAppModelEdit(false, model, this._db, this._link);
if (frm.ShowDialog() == DialogResult.OK)
RefrashData(strWhere);
}
} }
} }
...@@ -138,4 +138,22 @@ ...@@ -138,4 +138,22 @@
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column5.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column6.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column3.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column4.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root> </root>
\ No newline at end of file
...@@ -181,9 +181,11 @@ ...@@ -181,9 +181,11 @@
this.Controls.Add(this.txtID); this.Controls.Add(this.txtID);
this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnSave); this.Controls.Add(this.btnSave);
this.MaximizeBox = false;
this.Name = "wAppModelEdit"; this.Name = "wAppModelEdit";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "编辑APP模块"; this.Text = "编辑APP模块";
this.Load += new System.EventHandler(this.wAppModelEdit_Load);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
......
...@@ -18,57 +18,78 @@ namespace Tools.UI ...@@ -18,57 +18,78 @@ namespace Tools.UI
{ {
public partial class wAppModelEdit : Form public partial class wAppModelEdit : Form
{ {
private bool _IsAdd; /// <summary>
/// 修改时的APP模块对象,为null时为新增
/// </summary>
private AppModel _model; private AppModel _model;
/// <summary>
/// 数据库操作对象
/// </summary>
private SmpDB _smpDB; private SmpDB _smpDB;
string _link = ""; /// <summary>
/// 数据库链接
/// </summary>
private string _link = "";
public wAppModelEdit(bool IsAdd, AppModel model, SmpDB smpDB,string link) public wAppModelEdit(AppModel model, SmpDB smpDB, string link)
{ {
InitializeComponent(); InitializeComponent();
this._IsAdd = IsAdd;
this._model = model; this._model = model;
this._smpDB = smpDB; this._smpDB = smpDB;
this._link = link; this._link = link;
}
private void wAppModelEdit_Load(object sender, EventArgs e)
{
this.InitUI();
}
private void InitUI()
{
if (_model != null) if (_model != null)
{ {
txtID.ReadOnly = true;
txtID.Text = _model.ID; txtID.Text = _model.ID;
txtCode.Text = _model.Code; txtCode.Text = _model.Code;
txtName.Text = _model.Name; txtName.Text = _model.Name;
cmbPrevID.Text = _model.PrevName; cmbPrevID.Text = _model.PrevName;
cmbModuleName.Text = _model.ModuleName; cmbModuleName.Text = _model.ModuleName;
} }
else
if (!IsAdd) {
txtID.ReadOnly = true; //获取最大ID
DataTable table = this._smpDB.GetDataTable(this._link, " SELECT MAX(ID) FROM FTT.dbo.App_SysBusinessModel", "最大ID");
int MaxID = (int)table.Rows[0][0];
txtID.Text = (MaxID + 1).ToString();
}
} }
private void btnSave_Click(object sender, EventArgs e) private void btnSave_Click(object sender, EventArgs e)
{ {
if (string.IsNullOrEmpty(txtID.Text)) if (string.IsNullOrEmpty(txtID.Text))
{ {
MessageBox.Show("编码不能为空"); Utils.Tip("编码不能为空");
return; return;
} }
if (string.IsNullOrEmpty(txtCode.Text)) if (string.IsNullOrEmpty(txtCode.Text))
{ {
MessageBox.Show("简称不能为空"); Utils.Tip("简称不能为空");
return; return;
} }
if (string.IsNullOrEmpty(txtName.Text)) if (string.IsNullOrEmpty(txtName.Text))
{ {
MessageBox.Show("名称不能为空"); Utils.Tip("名称不能为空");
return; return;
} }
if (string.IsNullOrEmpty(cmbPrevID.Text)) if (string.IsNullOrEmpty(cmbPrevID.Text))
{ {
MessageBox.Show("父级模块不能为空"); Utils.Tip("父级模块不能为空");
return; return;
} }
if (string.IsNullOrEmpty(cmbModuleName.Text)) if (string.IsNullOrEmpty(cmbModuleName.Text))
{ {
MessageBox.Show("所属系统不能为空"); Utils.Tip("所属系统不能为空");
return; return;
} }
...@@ -81,62 +102,15 @@ namespace Tools.UI ...@@ -81,62 +102,15 @@ namespace Tools.UI
model.PrevName = cmbPrevID.Text; model.PrevName = cmbPrevID.Text;
model.ModuleName = cmbModuleName.Text; model.ModuleName = cmbModuleName.Text;
if (_IsAdd) if (_model == null)//新增
{ {
model.ID = txtID.Text; model.ID = txtID.Text;
sb.AppendLine($@" this._smpDB.ExecNonSql(this._link, new List<string>() { AppModel.GetSql(model, 1) });
IF NOT EXISTS(SELECT * FROM FTT.dbo.App_SysBusinessModel WHERE Name = '{model.Name}')
AND NOT EXISTS(SELECT * FROM FTT.dbo.App_SysBusinessModel WHERE ID = {model.ID})
BEGIN
INSERT INTO FTT.dbo.App_SysBusinessModel
( ID ,Code ,Name ,PrevID ,LevelNum ,[Index] ,IsEnabled ,PageCode ,IcoPath ,SysCode ,IcoCode,ModuleName)
VALUES ( {model.ID} ,'{model.Code}' ,'{model.Name}' ,{model.PrevID} ,2 ,30 ,1 ,'' ,'' ,',PDM,U6,MES' ,'icon_05','{model.ModuleName}')
END
IF NOT EXISTS(SELECT * FROM FTT_MES.dbo.App_SysBusinessModel WHERE Name = '{model.Name}')
AND NOT EXISTS(SELECT * FROM FTT_MES.dbo.App_SysBusinessModel WHERE ID = {model.ID})
BEGIN
INSERT INTO FTT_MES.dbo.App_SysBusinessModel
( ID ,Code ,Name ,PrevID ,LevelNum ,[Index] ,IsEnabled ,PageCode ,IcoPath ,SysCode ,IcoCode,ModuleName)
VALUES ( {model.ID} ,'{model.Code}' ,'{model.Name}' ,{model.PrevID} ,2 ,30 ,1 ,'' ,'' ,',PDM,U6,MES' ,'icon_05','{model.ModuleName}')
END
IF NOT EXISTS(SELECT * FROM FTT_PDM.dbo.App_SysBusinessModel WHERE Name = '{model.Name}')
AND NOT EXISTS(SELECT * FROM FTT_PDM.dbo.App_SysBusinessModel WHERE ID = {model.ID})
BEGIN
INSERT INTO FTT_PDM.dbo.App_SysBusinessModel
( ID ,Code ,Name ,PrevID ,LevelNum ,[Index] ,IsEnabled ,PageCode ,IcoPath ,SysCode ,IcoCode,ModuleName)
VALUES ( {model.ID} ,'{model.Code}' ,'{model.Name}' ,{model.PrevID} ,2 ,30 ,1 ,'' ,'' ,',PDM,U6,MES' ,'icon_05','{model.ModuleName}')
END
");
this._smpDB.GetDataTable(this._link, sb.ToString(), "列表");
} }
else else//修改
{ {
model.ID = _model.ID; model.ID = _model.ID;
sb.AppendLine($@" this._smpDB.ExecNonSql(this._link, new List<string>() { AppModel.GetSql(model, 2) });
IF EXISTS(SELECT * FROM FTT.dbo.App_SysBusinessModel WHERE ID = {model.ID})
BEGIN
UPDATE FTT.[dbo].[App_SysBusinessModel]
SET [Code] = '{model.Code}',[Name] = '{model.Name}',[PrevID] = {model.PrevID},[ModuleName] = '{model.ModuleName}'
WHERE ID = {model.ID}
END
IF EXISTS(SELECT * FROM FTT_MES.dbo.App_SysBusinessModel WHERE ID = {model.ID})
BEGIN
UPDATE FTT_MES.[dbo].[App_SysBusinessModel]
SET [Code] = '{model.Code}',[Name] = '{model.Name}',[PrevID] = {model.PrevID},[ModuleName] = '{model.ModuleName}'
WHERE ID = {model.ID}
END
IF EXISTS(SELECT * FROM FTT_PDM.dbo.App_SysBusinessModel WHERE ID = {model.ID})
BEGIN
UPDATE FTT_PDM.[dbo].[App_SysBusinessModel]
SET [Code] = '{model.Code}',[Name] = '{model.Name}',[PrevID] = {model.PrevID},[ModuleName] = '{model.ModuleName}'
WHERE ID = {model.ID}
END
");
this._smpDB.GetDataTable(this._link, sb.ToString(), "列表");
} }
this.Close(); this.Close();
...@@ -149,7 +123,7 @@ END ...@@ -149,7 +123,7 @@ END
private void txtName_TextChanged(object sender, EventArgs e) private void txtName_TextChanged(object sender, EventArgs e)
{ {
txtCode.Text = Utils.GetPinyinString(txtName.Text); txtCode.Text = Utils.GetPinyinString(txtName.Text).ToUpper();
} }
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment