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

1.app模块编辑优化

parent 26e892ce
......@@ -7,11 +7,29 @@ namespace Tools
/// </summary>
public class AppModel
{
/// <summary>
/// 模块编码
/// </summary>
public string ID { get; set; }
/// <summary>
/// 模块简拼
/// </summary>
public string Code { get; set; }
/// <summary>
/// 模块名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 父级编码
/// </summary>
public string PrevID { get; set; }
/// <summary>
/// 父级名称
/// </summary>
public string PrevName { get; set; }
/// <summary>
/// 所属系统
/// </summary>
public string ModuleName { get; set; }
public AppModel()
......@@ -19,6 +37,10 @@ namespace Tools
}
/// <summary>
/// 根据DGV控件行对象生成一个模块对象
/// </summary>
/// <param name="row"></param>
public AppModel(System.Windows.Forms.DataGridViewRow row)
{
this.ID = row.Cells[0].Value.ToString();
......@@ -29,5 +51,49 @@ namespace Tools
this.ModuleName = row.Cells[5].Value.ToString();
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 @@
//
// 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.rdbSelectedERP);
this.groupBox1.Controls.Add(this.rdbSelectedMES);
......@@ -312,9 +311,10 @@
this.Controls.Add(this.tabControl1);
this.Controls.Add(this.panel3);
this.Controls.Add(this.toolStrip1);
this.MaximizeBox = false;
this.Name = "wAppModel";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "wAppModel";
this.Text = "APP模块编辑";
this.Load += new System.EventHandler(this.wAppModel_Load);
((System.ComponentModel.ISupportInitialize)(this.dgvAppModel)).EndInit();
this.toolStrip1.ResumeLayout(false);
......
......@@ -17,8 +17,18 @@ namespace Tools.UI
{
public partial class wAppModel : Form
{
SmpDB _db = new SmpDB();
string _link = "";
/// <summary>
/// 数据库操作对象
/// </summary>
private SmpDB _db = new SmpDB();
/// <summary>
/// 数据库链接
/// </summary>
private string _link = "";
/// <summary>
/// 刷新数据时的筛选语句
/// </summary>
private string strWhere;
public wAppModel()
{
InitializeComponent();
......@@ -36,7 +46,8 @@ namespace Tools.UI
{
this.SetDbLink(frm.LinkModel);
}
RefrashData("1=1");
strWhere = "1=1";
InitData();
}
/// <summary>
/// 设置数据库链接
......@@ -48,38 +59,63 @@ namespace Tools.UI
this.tstbLinkString.Text = m.ToString();
}
private void RefrashData(string strWhere)
private void InitUI() { }
private void InitData()
{
string sql = $@"
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
WHERE {strWhere} ORDER BY A.ID DESC";
dgvAppModel.DataSource = this._db.GetDataTable(this._link, sql, "结果列表");
}
private string strWhere;
private void rdbSelected_CheckedChanged(object sender, EventArgs e)
{
//选择所属系统筛选结果
if (string.IsNullOrEmpty(_link))
{
return;
}
RadioButton radioButton = sender as RadioButton;
strWhere = radioButton.Text == "全部" ? "1=1" : $"a.ModuleName = '{radioButton.Text}'";
RefrashData(strWhere);
InitData();
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)
{
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)
RefrashData(strWhere);
InitData();
}
private void btnGetSql_Click(object sender, EventArgs e)
{
//获取sql语句
if (dgvAppModel.SelectedRows.Count == 0)
{
MessageBox.Show("请先选择行");
Utils.Tip("请先选择行");
return;
}
......@@ -87,42 +123,11 @@ namespace Tools.UI
foreach (DataGridViewRow row in dgvAppModel.SelectedRows)
{
AppModel model = new AppModel(row);
sb.AppendLine($@"
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
");
sb.AppendLine(AppModel.GetSql(model, 1));
}
txtSql.Text = sb.ToString();
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 @@
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</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>
\ No newline at end of file
......@@ -181,9 +181,11 @@
this.Controls.Add(this.txtID);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnSave);
this.MaximizeBox = false;
this.Name = "wAppModelEdit";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "编辑APP模块";
this.Load += new System.EventHandler(this.wAppModelEdit_Load);
this.ResumeLayout(false);
this.PerformLayout();
......
......@@ -18,57 +18,78 @@ namespace Tools.UI
{
public partial class wAppModelEdit : Form
{
private bool _IsAdd;
/// <summary>
/// 修改时的APP模块对象,为null时为新增
/// </summary>
private AppModel _model;
/// <summary>
/// 数据库操作对象
/// </summary>
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();
this._IsAdd = IsAdd;
this._model = model;
this._smpDB = smpDB;
this._link = link;
}
private void wAppModelEdit_Load(object sender, EventArgs e)
{
this.InitUI();
}
private void InitUI()
{
if (_model != null)
{
txtID.ReadOnly = true;
txtID.Text = _model.ID;
txtCode.Text = _model.Code;
txtName.Text = _model.Name;
cmbPrevID.Text = _model.PrevName;
cmbModuleName.Text = _model.ModuleName;
}
if (!IsAdd)
txtID.ReadOnly = true;
else
{
//获取最大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)
{
if (string.IsNullOrEmpty(txtID.Text))
{
MessageBox.Show("编码不能为空");
Utils.Tip("编码不能为空");
return;
}
if (string.IsNullOrEmpty(txtCode.Text))
{
MessageBox.Show("简称不能为空");
Utils.Tip("简称不能为空");
return;
}
if (string.IsNullOrEmpty(txtName.Text))
{
MessageBox.Show("名称不能为空");
Utils.Tip("名称不能为空");
return;
}
if (string.IsNullOrEmpty(cmbPrevID.Text))
{
MessageBox.Show("父级模块不能为空");
Utils.Tip("父级模块不能为空");
return;
}
if (string.IsNullOrEmpty(cmbModuleName.Text))
{
MessageBox.Show("所属系统不能为空");
Utils.Tip("所属系统不能为空");
return;
}
......@@ -81,62 +102,15 @@ namespace Tools.UI
model.PrevName = cmbPrevID.Text;
model.ModuleName = cmbModuleName.Text;
if (_IsAdd)
if (_model == null)//新增
{
model.ID = txtID.Text;
sb.AppendLine($@"
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(), "列表");
model.ID = txtID.Text;
this._smpDB.ExecNonSql(this._link, new List<string>() { AppModel.GetSql(model, 1) });
}
else
else//修改
{
model.ID = _model.ID;
sb.AppendLine($@"
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._smpDB.ExecNonSql(this._link, new List<string>() { AppModel.GetSql(model, 2) });
}
this.Close();
......@@ -149,7 +123,7 @@ END
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