using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Collections; using System.IO; using System.Diagnostics; using Infragistics.Win.UltraWinGrid; using CoreFS.CA06; using Core.StlMes.Client.LgCommon; namespace Core.StlMes.Client.LgResMgt { public partial class frmChargeConfig : frmStyleBase { private bool ok_flag = false; public string WorkShopNo = ""; public frmChargeConfig(OpeBase ob_) { InitializeComponent(); this.ob = ob_; } private void frmCutInfoAssit_Load(object sender, EventArgs e) { proc_Query(); } // 查询全部料斗信息 /// /// 查询全部料斗信息 /// private void proc_Query() { try { string strErr = ""; ArrayList arry = new ArrayList(); arry.Add(WorkShopNo); CommonClientToServer ccTos = new CommonClientToServer(); ccTos.ob = this.ob; DataSet ds = ccTos.ExecuteQueryFunctionsSqlID("Core.Mes.Server.Common.ComDataAccess", "QueryWithParameter", "STL_RESULT0001", 5, arry, out strErr); ultraDataSource1.Rows.Clear(); if (strErr == "" && ds != null) { if (ds.Tables.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { ultraDataSource1.Rows.Add(new object[] { dr["ID"].ToString(), dr["CHARGENO"].ToString(), dr["STATUS"].ToString(), dr["TAREWEIGHT"].ToString(), dr["MEMO"].ToString() }); } // PublicMethod.RefreshAndAutoSize(ultraGrid1); } } } catch { } } // 新增料斗信息 /// /// 新增料斗信息 /// private void proc_Add() { try { if (txtChargeNo.Text.Length == 0) { MessageBox.Show("料斗号不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); txtChargeNo.Focus(); return; } //if (cboCutType.SelectedIndex < 0) //{ // MessageBox.Show("切割类别不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // cboCutType.Focus(); // return; //} //if (ultraFlux.SelectedIndex < 0) //{ // MessageBox.Show("流号不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // ultraFlux.Focus(); // return; //} //if (txtLength.Text.Length == 0) //{ // MessageBox.Show("长度不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // txtLength.Focus(); // return; //} //if (txtWeight.Text.Length == 0) //{ // MessageBox.Show("重量不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // txtWeight.Focus(); // return; //} //if (txtThickness.Text.Length == 0) //{ // MessageBox.Show("厚度不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // txtThickness.Focus(); // return; //} //if (txtWidth.Text.Length == 0) //{ // MessageBox.Show("宽度不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // txtWidth.Focus(); // return; //} string strErr = ""; string strSqlID = "STL_RESULT0002"; //SQLID Hashtable ht = new Hashtable(); ht.Add("I1", txtChargeNo.Text.Trim()); //料斗号 ht.Add("I2", chkStatus.Checked ? "1" : "0"); //是否在用 ht.Add("I3", txtWeight.Text.Trim()); //重量 ht.Add("I4", WorkShopNo); //车间号 ht.Add("I5", UserInfo.GetUserName()); //维护人 ht.Add("I6", txtMemo.Text.Trim()); //备注 ht.Add("O1", ""); ht.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; CoreClientParam ccp = ccTs.ExecuteProcedureFunctionsSqlID("Core.Mes.Server.Common.ComDataAccess", "executeProcedure", strSqlID, 5, ht, out strErr); ArrayList alReturn = ccp.ReturnObject as ArrayList; if (alReturn[3].ToString() == "") { MessageBox.Show("料斗信息新增成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show(alReturn[3].ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch { } } // 修改 /// /// 修改 /// private void proc_Edit() { try { //string heatno = txtChargeNo.Text.Trim(); //string strErr = ""; //ArrayList arry = new ArrayList(); //arry.Add("IncisionAssistInfo.Query"); // 位于 QueryLgIntegration.xml 中 //arry.Add(heatno); //if (WorkShopNo == "1") //{ // arry.Add("0"); // arry.Add("1"); // arry.Add("2"); //} //else //{ // arry.Add("3"); // arry.Add("4"); // arry.Add("5"); //} //CommonClientToServer ccs = new CommonClientToServer(); //ccs.ob = this.ob; //DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); //if (ds.Tables[0].Rows.Count == 0) //{ // MessageBox.Show("炉号【" + heatno + "】不存在切割信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // return; //} //if (txtChargeNo.Text.Length != 8) //{ // MessageBox.Show("炉号不正确!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // txtChargeNo.Focus(); // return; //} //if (cboCutType.SelectedIndex < 0) //{ // MessageBox.Show("切割类别不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // cboCutType.Focus(); // return; //} //if (ultraFlux.SelectedIndex < 0) //{ // MessageBox.Show("流号不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // ultraFlux.Focus(); // return; //} //if (txtLength.Text.Length == 0) //{ // MessageBox.Show("长度不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // txtLength.Focus(); // return; //} //if (txtWeight.Text.Length == 0) //{ // MessageBox.Show("重量不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // txtWeight.Focus(); // return; //} //if (txtThickness.Text.Length == 0) //{ // MessageBox.Show("厚度不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // txtThickness.Focus(); // return; //} //if (txtWidth.Text.Length == 0) //{ // MessageBox.Show("宽度不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); // txtWidth.Focus(); // return; //} string strErr = ""; string strSqlID = "STL_RESULT0003"; //SQLID Hashtable ht = new Hashtable(); ht.Add("I1", txtChargeNo.Text.Trim()); //料斗号 ht.Add("I2", chkStatus.Checked ? "1" : "0"); //是否在用 ht.Add("I3", txtWeight.Text.Trim()); //重量 ht.Add("I4", WorkShopNo); //车间号 ht.Add("I5", UserInfo.GetUserName()); //维护人 ht.Add("I6", txtMemo.Text.Trim()); //备注 ht.Add("I7", ultraGrid1.ActiveRow.Cells["ID"].Value.ToString()); //ID ht.Add("O1", ""); ht.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; CoreClientParam ccp = ccTs.ExecuteProcedureFunctionsSqlID("Core.Mes.Server.Common.ComDataAccess", "executeProcedure", strSqlID, 5, ht, out strErr); ArrayList alReturn = ccp.ReturnObject as ArrayList; if (strErr == "") { MessageBox.Show("料斗信息修改成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("料斗信息修改失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch { } } // 删除 /// /// 删除 /// private void proc_Delete() { try { if (ultraGrid1.Rows.Count == 0) { MessageBox.Show("没有可删除的信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } if (ultraGrid1.ActiveRow == null) { MessageBox.Show("请选择要删除的信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } DialogResult dr = MessageBox.Show("是否确认删除信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (dr == DialogResult.No) return; string ID = ultraGrid1.ActiveRow.Cells["ID"].Value.ToString().Trim(); string strErr = ""; Hashtable ht = new Hashtable(); ht.Add("I1", ID); //料斗号 ht.Add("O1", ""); ht.Add("O2", ""); CommonClientToServer ccTs = new CommonClientToServer(); ccTs.ob = ob; CoreClientParam ccp = ccTs.ExecuteProcedureFunctionsSqlID("Core.Mes.Server.Common.ComDataAccess", "executeProcedure", "STL_RESULT0004", 5, ht, out strErr); ArrayList alReturn = ccp.ReturnObject as ArrayList; if (strErr == "") { MessageBox.Show("料斗信息删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("料斗信息删除失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch { } } // 设置编辑区域是否可编辑 /// /// 设置编辑区域是否可编辑 /// /// private void setToolEnable(bool t_Enable) { try { txtChargeNo.ReadOnly = t_Enable; txtWeight.ReadOnly = t_Enable; chkStatus.Enabled = !t_Enable; txtMemo.ReadOnly = t_Enable; } catch { } } // 清空编辑区域 /// /// 清空编辑区域 /// private void clearWidget() { txtChargeNo.Text = ""; txtWeight.Text = "0"; chkStatus.Checked = false; txtMemo.Text = ""; } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query": this.proc_Query(); break; case "Add": this.proc_Add(); break; case "Update": this.proc_Edit(); break; case "Delete": this.proc_Delete(); break; case "Export": try { Core.Mes.Client.Comm.Globals.ulGridToExcel(ultraGrid1, Text); } catch (Exception ex) { MessageBox.Show(ex.Message); } break; case "Upload": this.proc_Query(); break; case "Exit": this.Close(); break; default: break; } } private void txtWeight_KeyPress(object sender, KeyPressEventArgs e) { if (!(Char.IsNumber(e.KeyChar) || e.KeyChar == '\b' || e.KeyChar == '.')) { e.Handled = true; } char[] arrary = ((TextBox)sender).Text.ToCharArray(); if (e.KeyChar == '.') { if (arrary.Length == 0) { ((TextBox)sender).Text = "0."; ((TextBox)sender).SelectionStart = ((TextBox)sender).Text.Trim().Length; e.Handled = true; } else { for (int i = 0; i < arrary.Length; i++) { if (arrary[i] == '.') e.Handled = true; } } } if (arrary.Length == 1) { if (e.KeyChar == '0') { if (arrary[0] == '0') e.Handled = true; } if (arrary[0] == '0' && e.KeyChar != '.' && e.KeyChar != '\b' && e.KeyChar != '0') { ((TextBox)sender).Text = "0." + e.KeyChar.ToString(); ((TextBox)sender).SelectionStart = ((TextBox)sender).Text.Trim().Length; e.Handled = true; } } } private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { try { SetDetailToolBarEnable(false, ""); setToolEnable(true); txtChargeNo.Text = ultraGrid1.ActiveRow.Cells["CHARGENO"].Value.ToString(); txtWeight.Text = ultraGrid1.ActiveRow.Cells["TAREWEIGHT"].Value.ToString(); chkStatus.Checked = ultraGrid1.ActiveRow.Cells["STATUS"].Value.ToString() == "是" ? true : false; txtMemo.Text = ultraGrid1.ActiveRow.Cells["MEMO"].Value.ToString(); } catch { } } // 点击修改或删除时显示确认和取消按钮 /// /// 点击修改或删除时显示确认和取消按钮 /// /// private void SetDetailToolBarEnable(bool bEnable, string flag) { int count = this.uTbMTool.Tools.Count; for (int i = 0; i < count; i++) { this.uTbMTool.Tools[i].SharedProps.Enabled = !bEnable; } this.uTbMTool.Tools["ok"].SharedProps.Enabled = bEnable; this.uTbMTool.Tools["cancel"].SharedProps.Enabled = bEnable; this.uTbMTool.Tools["ok"].SharedProps.Visible = bEnable; this.uTbMTool.Tools["cancel"].SharedProps.Visible = bEnable; } private void ultraToolbarsManager_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "add": SetDetailToolBarEnable(true, "add"); setToolEnable(false); this.uTbMTool.Tools["ok"].Tag = "add"; clearWidget(); ok_flag = false; break; case "edit": if (ultraGrid1.Rows.Count == 0) { MessageBox.Show("没有可修改的信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } if (ultraGrid1.ActiveRow == null) { MessageBox.Show("请选择要修改的信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } SetDetailToolBarEnable(true, "edit"); setToolEnable(false); this.uTbMTool.Tools["ok"].Tag = "edit"; ok_flag = false; txtChargeNo.ReadOnly = true; break; case "del": proc_Delete(); proc_Query(); break; case "ok": string flag = this.uTbMTool.Tools["ok"].Tag.ToString(); if (flag == "edit") { proc_Edit(); } if (flag == "add") { proc_Add(); } if (ok_flag) { SetDetailToolBarEnable(false, ""); setToolEnable(true); } proc_Query(); break; case "cancel": SetDetailToolBarEnable(false, ""); setToolEnable(true); ultraGrid1_AfterRowActivate(null, null); break; case "left": if (ultraGrid1.Rows.Count == 0) return; //将位置移动到前一条记录 try { if (ultraGrid1.ActiveRow == null) { ultraGrid1.Rows[0].Activate(); } else { int nIndex = ultraGrid1.ActiveRow.Index; nIndex = nIndex - 1; if (nIndex < 0) nIndex = ultraGrid1.Rows.Count - 1; ultraGrid1.Rows[nIndex].Activate(); } } catch { } break; case "right": if (ultraGrid1.Rows.Count == 0) return; //将位置移动到后一条记录 try { if (ultraGrid1.ActiveRow == null) { ultraGrid1.Rows[0].Activate(); } else { int nIndex = ultraGrid1.ActiveRow.Index; nIndex = nIndex + 1; if (nIndex >= ultraGrid1.Rows.Count) nIndex = 0; ultraGrid1.Rows[nIndex].Activate(); } } catch { } break; } } } }