IMES实现线别增加车间选项
选项为Name 值,存储为ID
页面代码
this.lblShop = new System.Windows.Forms.Label();
this.cbxShop = new System.Windows.Forms.ComboBox();
this.panelControl.Controls.Add(this.lblShop);
this.panelControl.Controls.Add(this.cbxShop);
//
// lblShop
//
this.lblShop.AutoSize = true;
this.lblShop.BackColor = System.Drawing.Color.Transparent;
this.lblShop.Font = new System.Drawing.Font("微软雅黑", 10F);
this.lblShop.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.lblShop.Location = new System.Drawing.Point(129, 176);
this.lblShop.Name = "lblShop";
this.lblShop.Size = new System.Drawing.Size(51, 20);
this.lblShop.TabIndex = 26;
this.lblShop.Text = "车间:";
//
// cbxShop
//
this.cbxShop.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbxShop.Font = new System.Drawing.Font("微软雅黑", 10F);
this.cbxShop.FormattingEnabled = true;
this.cbxShop.Location = new System.Drawing.Point(180, 173);
this.cbxShop.Margin = new System.Windows.Forms.Padding(2);
this.cbxShop.Name = "cbxShop";
this.cbxShop.Size = new System.Drawing.Size(137, 27);
this.cbxShop.TabIndex = 35;
this.cbxShop.SelectedIndexChanged += new System.EventHandler(this.cbxSite_SelectedIndexChanged);
private System.Windows.Forms.Label lblShop;
private System.Windows.Forms.ComboBox cbxShop;
界面代码
private void EditForm_Load(object sender, EventArgs e)
{
exeRes = new ExecuteResult();
controller = new Controller();
common = new ImesCommon();
dtTemp = new DataTable();
bs = new BaseInfo();
exeRes = controller.GetSiteCode();
dtTemp = new DataTable();
dtTemp = (DataTable)exeRes.Anything;
for (int i = 0; i < dtTemp.Rows.Count; i++)
{
cbxSite.Items.Add(dtTemp.Rows[i][0].ToString());
}
exeRes = controller.GetShopCode();
dtTemp = new DataTable();
dtTemp = (DataTable)exeRes.Anything;
for (int i = 0; i < dtTemp.Rows.Count; i++)
{
cbxShop.Items.Add(new Metadata(dtTemp.Rows[i][1].ToString(), dtTemp.Rows[i][0].ToString()));
}
exeRes = controller.GetLineType();
dtTemp = new DataTable();
dtTemp = (DataTable)exeRes.Anything;
for (int i = 0; i < dtTemp.Rows.Count; i++)
{
cbxLineType.Items.Add(dtTemp.Rows[i][0].ToString());
}
if (g_sUpdateType == "MODIFY")
{
try
{
txtLine.Enabled = false;
ID= dataCurrentRow.Cells["ID"].Value.ToString();
txtLine.Text = dataCurrentRow.Cells["LINE"].Value.ToString();
txtLineCustomer.Text = dataCurrentRow.Cells["LINE_CUSTOMER"].Value.ToString();
txtSapline.Text = dataCurrentRow.Cells["LINE_SAP"].Value.ToString();
cbxSite.Items.Clear();
cbxSite.Items.Add(dataCurrentRow.Cells["SITE"].Value.ToString());
cbxSite.SelectedIndex = 0;
cbxSite.Enabled = false;
txtLineDesc.Text = dataCurrentRow.Cells["LINE_DESC"].Value.ToString();
for (int i = 0; i < cbxLineType.Items.Count; i++)
{
if (cbxLineType.Items[i].ToString() == dataCurrentRow.Cells["LINE_TYPE"].Value.ToString())
{
cbxLineType.SelectedIndex = i;
}
}
//车间
for (int i = 0; i < cbxShop.Items.Count; i++)
{
if (cbxShop.Items[i].ToString() == dataCurrentRow.Cells["SHOP"].Value.ToString())
{
cbxShop.SelectedIndex = i;
}
}
switch (dataCurrentRow.Cells["LINE_LEVEL"].Value.ToString())
{
case "Golden":
cbxLineLevel.SelectedIndex = 0;
break;
case "Silver":
cbxLineLevel.SelectedIndex = 1;
break;
case "Normal":
cbxLineLevel.SelectedIndex = 2;
break;
default:
cbxLineLevel.SelectedIndex = 0;
break;
}
GetBase();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
else
{
txtLine.Enabled = true;
}
}
public void GetBase()
{
bs.ID = ID;
bs.LINE = txtLine.Text;
bs.LINE_CUSTOMER = txtLineCustomer.Text;
bs.LINE_DESC = txtLineDesc.Text;
bs.SITE = cbxSite.Text;
bs.SHOP_ID = ((Metadata)cbxShop.SelectedItem).ID;
bs.LINE_TYPE = cbxLineType.Text;
bs.LINE_LEVEL = cbxLineLevel.Text;
bs.LINE_SAP = txtSapline.Text;
}
private void btnOK_Click(object sender, EventArgs e)
{
if (txtLine.Text.Trim() == "" )
{
MessageBox.Show("厂区别不能为空!");
return;
}
GetBase();
exeRes = controller.EditValueInfo(bs, g_sUpdateType);
if (exeRes.Status)
{
MessageBox.Show("成功!");
DialogResult = DialogResult.OK;
}
else
{
MessageBox.Show(exeRes.Message);
}
}
Model代码
class BaseInfo {
string shop = "";
public string SHOP
{
get { return shop; }
set { shop = value; }
}
}
class Metadata
{
string id = "";
public string ID
{
get { return id; }
set { id = value; }
}
string name = "";
public string NAME
{
get { return name; }
set { name = value; }
}
public Metadata(string name, string id)
{
this.id = id;
this.name = name;
}
public override string ToString()
{
return this.name;
}
BLL代码
public ExecuteResult EditValueInfo(BaseInfo bs, string Type)
{
if (Type== "APPEND")
{
exeRes = GetValue(bs);
if (exeRes.Status)
{
dtTemp = (DataTable)exeRes.Anything;
if (dtTemp.Rows.Count > 0)
{
exeRes.Status = false;
exeRes.Message = bs.LINE + " 数据已存在!";
return exeRes;
}
}
string MaxID = "";
exeRes = selectDal.GetMaxId();
if (!exeRes.Status)
{
return exeRes;
}
else
{
MaxID = (string)exeRes.Anything;
}
exeRes = updateDal.InsertValueInfo(MaxID, bs);
if (exeRes.Status)
{
exeRes = updateDal.InsertValueLogInfo(MaxID);
}
if (!exeRes.Status)
{
return exeRes;
}
}
else if (Type== "MODIFY")
{
exeRes = updateDal.UpdateValueInfo(bs);
if (exeRes.Status)
{
exeRes = updateDal.InsertValueLogInfo(bs.ID);
}
if (!exeRes.Status)
{
return exeRes;
}
}
else if (Type == "DELETE")
{
exeRes = updateDal.InsertValueLogInfo(bs.ID);
if (exeRes.Status)
{
exeRes = updateDal.DeleteValueInfo(bs.ID);
}
if (!exeRes.Status)
{
return exeRes;
}
}
else if (Type == "DISABLE")
{
exeRes = updateDal.InsertValueLogInfo(bs.ID);
if (exeRes.Status)
{
exeRes = updateDal.DisableRow(bs.ID);
}
if (!exeRes.Status)
{
return exeRes;
}
}
else if (Type == "ENABLE")
{
exeRes = updateDal.InsertValueLogInfo(bs.ID);
if (exeRes.Status)
{
exeRes = updateDal.EnableRow(bs.ID);
}
if (!exeRes.Status)
{
return exeRes;
}
}
return exeRes;
}
DAL代码
//取车间
public ExecuteResult GetShopCode()
{
try
{
exeRes = new ExecuteResult();
string sqlStr = @" select ID ,SHOP from imes.M_SHOP a WHERE a.enabled='Y' ";
exeRes.Anything = utility.Query(sqlStr);
exeRes.Status = true;
}
catch (Exception ex)
{
exeRes.Message = "Error:" + ex.Message;
exeRes.Status = false;
}
return exeRes;
}
存储
public ExecuteResult InsertValueInfo(string MaxID, BaseInfo bs)
{
try
{
exeRes = new ExecuteResult();
string sqlStr = @" INSERT INTO IMES.M_LINE
(ID,
LINE,
LINE_CUSTOMER,
LINE_SAP,
SITE,
SHOP_ID,
LINE_DESC,
LINE_TYPE,
LINE_LEVEL,
UPDATE_EMPNO,
CREATE_EMPNO)
VALUES
(:V_ID,
:V_LINE,
:V_LINE_CUSTOMER,
:V_LINE_SAP,
:V_SITE,
:V_SHOP_ID,
:V_LINE_DESC,
:V_LINE_TYPE,
:V_LINE_LEVEL,
:V_UPDATE_EMPNO,
:V_CREATE_EMPNO) ";
object[] para = new object[] { MaxID, bs.LINE, bs.LINE_CUSTOMER, bs.LINE_SAP,bs.SITE,bs.SHOP_ID, bs.LINE_DESC, bs.LINE_TYPE,bs.LINE_LEVEL, utility.GlobalUserNo, utility.GlobalUserNo };
utility.ExecuteSql(sqlStr, para);
exeRes.Status = true;
}
catch (Exception ex)
{
exeRes.Message = "Error:" + ex.Message;
exeRes.Status = false;
}
return exeRes;
}
实现IMES 主界面增加列表栏然后实现修改
列表栏取值
Main.cs代码
通过下拉增加的车间
public void ShowData()
{
if (ShowDgv && string.IsNullOrEmpty(editFilter.Text))
return;
if (combFilter.SelectedIndex > -1 && editFilter.Text.Trim() != "")
{
Filter = true;
sFieldName = combFilterField.Items[combFilter.SelectedIndex].ToString();
sFieldText = editFilter.Text.Trim();
}
exeRes = controller.ShowValues(Filter, sFieldName, sFieldText, combShow.SelectedIndex);
if (exeRes.Status)
{
dtTemp = new DataTable();
dtTemp = (DataTable)exeRes.Anything;
gvData.DataSource = dtTemp;
}
else
{
MessageBox.Show(exeRes.Message);
return;
}
//栏位title
for (int i = 0; i <= gvData.Columns.Count - 1; i++)
{
gvData.Columns[i].Visible = false;
}
for (int i = 0; i <= TableDefine.tGridField.Length - 1; i++)
{
string sGridField = TableDefine.tGridField[i].sFieldName;
if (gvData.Columns.Contains(sGridField))
{
gvData.Columns[sGridField].HeaderText = TableDefine.tGridField[i].sCaption;
gvData.Columns[sGridField].DisplayIndex = i; //栏位显示顺序
gvData.Columns[sGridField].Visible = true;
}
}
gvData.Focus();
}
数据获取Controlles.cs代码
public ExecuteResult ShowValues(bool Filter, string sFieldName, string sFieldText, int Enable)
{
return selectDal.ShowValues(Filter, sFieldName, sFieldText, Enable);
}
DAL.cs代码
public ExecuteResult ShowValues(bool Filter,string sFieldName,string sFieldText,int Enable)
{
try
{
exeRes = new ExecuteResult();
//string sqlStr = @" select a.* from imes.m_line a where 1=1 ";
string sqlStr = @" select a.*,b.SHOP from imes.m_line a left join imes.m_shop b on b.ID=a.SHOP_ID where 1=1 ";
if (Filter)
{
sqlStr = sqlStr + " and " + sFieldName + " like '%"+ sFieldText + "%'";
}
if (Enable == 0)
{
sqlStr = sqlStr + " and a.enabled = 'Y' ";
}
else if (Enable == 1)
{
sqlStr = sqlStr + " and a.enabled = 'N' ";
}
sqlStr = sqlStr + " order by a.update_time desc ";
object[] para ;
if (Filter)
{
exeRes.Anything = utility.Query(sqlStr);
}
else
{
exeRes.Anything = utility.Query(sqlStr);
}
exeRes.Status = true;
}
catch (Exception ex)
{
exeRes.Message = "Error:" + ex.Message;
exeRes.Status = false;
}
return exeRes;
}
取栏位title Utlis中的TableDefine
public struct TGrid_Field
{
public String sFieldName;
public String sCaption; //title显示
}
public static TGrid_Field[] tGridField;
public static void Initial_Table()
{
//设置title数据
Array.Resize(ref tGridField, 10);
tGridField[0].sFieldName = "LINE";
tGridField[0].sCaption = "线别";
tGridField[1].sFieldName = "LINE_CUSTOMER";
tGridField[1].sCaption = "客户代号";
tGridField[2].sFieldName = "LINE_SAP";
tGridField[2].sCaption = "SAP线别";
tGridField[3].sFieldName = "SITE";
tGridField[3].sCaption = "厂区";
tGridField[4].sFieldName = "LINE_DESC";
tGridField[4].sCaption = "线别描述";
tGridField[5].sFieldName = "LINE_TYPE";
tGridField[5].sCaption = "线别类型";
tGridField[6].sFieldName = "LINE_LEVEL";
tGridField[6].sCaption = "线别等级";
tGridField[7].sFieldName = "UPDATE_EMPNO";
tGridField[7].sCaption = "修改人";
tGridField[8].sFieldName = "UPDATE_TIME";
tGridField[8].sCaption = "修改时间";
tGridField[9].sFieldName = "SHOP";
tGridField[9].sCaption = "车间";
for (int i = 0; i <= tGridField.Length - 1; i++)
{
string sText = tGridField[i].sCaption;
tGridField[i].sCaption = sText;
}
}
逻辑取值在 界面代码(主代码)
//车间
for (int i = 0; i < cbxShop.Items.Count; i++)
{
if (cbxShop.Items[i].ToString() == dataCurrentRow.Cells["SHOP"].Value.ToString())
{
cbxShop.SelectedIndex = i;
}
}
存储代码
private void btnOK_Click(object sender, EventArgs e)
{
if (txtLine.Text.Trim() == "" )
{
MessageBox.Show("厂区别不能为空!");
return;
}
GetBase();
exeRes = controller.EditValueInfo(bs, g_sUpdateType);
if (exeRes.Status)
{
MessageBox.Show("成功!");
DialogResult = DialogResult.OK;
}
else
{
MessageBox.Show(exeRes.Message);
}
}
存储controller.cs
public ExecuteResult EditValueInfo(BaseInfo bs, string Type)
{
if (Type== "APPEND")
{
exeRes = GetValue(bs);
if (exeRes.Status)
{
dtTemp = (DataTable)exeRes.Anything;
if (dtTemp.Rows.Count > 0)
{
exeRes.Status = false;
exeRes.Message = bs.LINE + " 数据已存在!";
return exeRes;
}
}
string MaxID = "";
exeRes = selectDal.GetMaxId();
if (!exeRes.Status)
{
return exeRes;
}
else
{
MaxID = (string)exeRes.Anything;
}
exeRes = updateDal.InsertValueInfo(MaxID, bs);
if (exeRes.Status)
{
exeRes = updateDal.InsertValueLogInfo(MaxID);
}
if (!exeRes.Status)
{
return exeRes;
}
}
else if (Type== "MODIFY")
{
exeRes = updateDal.UpdateValueInfo(bs);
if (exeRes.Status)
{
exeRes = updateDal.InsertValueLogInfo(bs.ID);
}
if (!exeRes.Status)
{
return exeRes;
}
}
else if (Type == "DELETE")
{
exeRes = updateDal.InsertValueLogInfo(bs.ID);
if (exeRes.Status)
{
exeRes = updateDal.DeleteValueInfo(bs.ID);
}
if (!exeRes.Status)
{
return exeRes;
}
}
else if (Type == "DISABLE")
{
exeRes = updateDal.InsertValueLogInfo(bs.ID);
if (exeRes.Status)
{
exeRes = updateDal.DisableRow(bs.ID);
}
if (!exeRes.Status)
{
return exeRes;
}
}
else if (Type == "ENABLE")
{
exeRes = updateDal.InsertValueLogInfo(bs.ID);
if (exeRes.Status)
{
exeRes = updateDal.EnableRow(bs.ID);
}
if (!exeRes.Status)
{
return exeRes;
}
}
return exeRes;
}
存储UpdateDAL
public ExecuteResult UpdateValueInfo(BaseInfo bs)
{
try
{
exeRes = new ExecuteResult();
string sqlStr = @" UPDATE IMES.M_LINE A
SET A.LINE_CUSTOMER = :V_LINE_CUSTOMER,
A.SITE = :V_SITE,
A.LINE_DESC = :V_LINE_DESC,
A.LINE_TYPE = :V_LINE_TYPE,
A.LINE_LEVEL = :V_LINE_LEVEL,
A.UPDATE_EMPNO = :V_UPDATE_EMPNO,
A.UPDATE_TIME = SYSDATE,
A.SHOP_ID = :V_SHOP_ID
WHERE A.ID = :V_ID ";
object[] para = new object[] { bs.LINE_CUSTOMER, bs.SITE, bs.LINE_DESC, bs.LINE_TYPE, bs.LINE_LEVEL, utility.GlobalUserNo,bs.SHOP_ID,bs.ID };
utility.ExecuteSql(sqlStr, para);
exeRes.Status = true;
}
catch (Exception ex)
{
exeRes.Message = "Error:" + ex.Message;
exeRes.Status = false;
}
return exeRes;
}