using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using CoreFS.CA06; using Core.Mes.Client.Common; using System.Collections; namespace Core.LgMes.Client.LgDeviceManager { public partial class FrmSGRepair : Core.Mes.Client.Common.frmStyleBase//frmModelFormStyle { bool bOK = false; //是否响应扇形段号选择改变事件 public string strNo = "", strCCM = ""; public FrmSGRepair(OpeBase oba) { InitializeComponent(); ob = oba; } private void FrmSGRepair_Load(object sender, EventArgs e) { if (strCCM.Length > 0) { cmbCCM.Text = strCCM; this.cbbCCM_SelectedIndexChanged(this, null); if (strNo.Length > 0) { cmbID.Text = strNo; bOK = true; this.cbbID_SelectedIndexChanged(this, null); } } else { bOK = true; proc_ResetControl(); btnBegin.Enabled = btnEnd.Enabled = false; } } /// /// 扇形段号加载 /// /// private void proc_GetID(string strCCM) { try { if (strCCM.Length == 0) return; string strErr = ""; ArrayList arry = new ArrayList(); arry.Add("FrmSGRepair_Query1"); arry.Add(strCCM); CommonClientToServer ccs = new CommonClientToServer(); ccs.ob = this.ob; DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr != "" || !(ds != null && ds.Tables.Count > 0)) { MessageBox.Show("扇形段号加载失败!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); if (MessageBox.Show("是否重新加载扇形段号?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) proc_GetID(strCCM); return; } cmbID.DataSource = ds.Tables[0]; cmbID.DisplayMember = "SEGMENTID"; if (ds.Tables[0].Rows.Count == 0) { proc_ResetControl(); btnBegin.Enabled = btnEnd.Enabled = false; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void proc_ResetControl() { try { cmbID.Text = ""; cmbType.SelectedIndex = -1; udteRepairTime.Text = ""; udteRepairT.Text = ""; cmbReason.Text = ""; txtCS.Clear(); txtMemo.Clear(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } /// /// 维修开始 /// private void proc_Begin() { try { if (cmbID.Items.Count == 0) return; string strCcm = cmbCCM.Text.Trim(); string strID = cmbID.Text.Trim(); if (strID.Length == 0) { MessageBox.Show("请选择需要维修的扇形段编号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); cmbID.Focus(); return; } string strType = cmbType.Text.Trim(); if (strType.Length == 0) { MessageBox.Show("请选择维修类别!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); cmbType.Focus(); return; } if (udteRepairTime.Text.Trim().Length == 0) udteRepairTime.DateTime = DateTime.Now; if (MessageBox.Show("确定要维修[" + strCcm + "]的扇形段[" + strID + "]吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { proc_GetID(strCcm); return; } //string strErr = ""; //string strSql = "select count(1) from DEV_SXD_BASE_INFO where CCM_ID = '" + strCcm + "' and SEGMENTID = '" + strID + "'"; //CallingMessage par = new CallingMessage(); //par.ServerName = "LgDeviceManager"; //par.AssemblyName = "Core.LgMes.Server.LgDeviceManager"; //par.ClassName = "Core.LgMes.Server.LgDeviceManager.jjqmanager"; //par.MethodName = "ExecuteCommand_Return"; //par.args = new object[] { strSql }; //DataSet ds = null; // ClientCommon._RemotingHelp.ExecuteMethod(par, out strErr) as DataSet; string strErr = ""; ArrayList arry = new ArrayList(); arry.Add("FrmSGRepair_Query4"); arry.Add(strCCM); arry.Add(strID); CommonClientToServer ccs = new CommonClientToServer(); ccs.ob = this.ob; DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr != "" || !(ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)) { MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]维修信息保存失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int iCnt = Convert.ToInt32(ds.Tables[0].Rows[0][0]); if (iCnt == 0) { MessageBox.Show("[" + strCcm + "]不存在扇形段[" + strID + "]信息,无法维修!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); proc_GetID(strCcm); cmbID.Focus(); return; } iCnt = 0; ds = null; strErr = ""; arry.Clear(); //strSql = "select case NOWSTATUS when '0' then '下线' when '1' then '上线' when '2' then '维修' when '3' then '备用' end NOWSTATUS from DEV_SXD_BASE_INFO where CCM_ID = '" + strCcm + "' and SEGMENTID = '" + strID + "'"; //par.args = new object[] { strSql }; //ds = null; //ClientCommon._RemotingHelp.ExecuteMethod(par, out strErr) as DataSet; ccs.ob = ob; arry.Add("FrmSGRepair_Query5"); arry.Add(strCcm); arry.Add(strID); ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr != "" || !(ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)) { MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]维修信息保存失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (Convert.ToString(ds.Tables[0].Rows[0]["NOWSTATUS"].ToString().Trim()) != "下线") { MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]当前状态[" + Convert.ToString(ds.Tables[0].Rows[0]["NOWSTATUS"]) + "],只有在[下线]状态才能维修!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); cmbID.Focus(); return; } string strReturn = ""; strErr = ""; arry.Clear(); arry.Add("FrmSGRepair_Add1"); arry.Add(strID); arry.Add(strCcm); arry.Add(strType); arry.Add(udteRepairTime.DateTime.ToString("yyyy-MM-dd HH:mm:ss")); arry.Add(cmbReason.Text.Trim()); arry.Add(txtMemo.Text.Trim()); arry.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName()); //strSql = "insert into DEV_TOOL_REPAIR (REPAIRID, TOOLTYPEID, REPAIRTOOLID, REPAIRTYPE, REPAIRTIME, REASON, MEMO, RECORDER) " //+ "values " //+ "(" //+ "(select nvl(max(REPAIRID),100000001) + 1 from DEV_TOOL_REPAIR)," //+ "'3'," //+ "(select ID from DEV_SXD_BASE_INFO where SEGMENTID = '" + strID + "' and CCM_ID = '" + strCcm + "')," //+ "'" + strType + "'," //+ "to_date('" + ultraDateTimeEditor1.DateTime.ToString("yyyy-MM-dd HH:mm:ss") + "','yyyy-MM-dd HH24:mi:ss')," //+ "'" + cbbReason.Text.Trim() + "'," //+ "'" + tbMemo.Text.Trim() + "'," //+ "'" + CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName() + "' " //+ ")"; //par.MethodName = "ExecuteCommand_NonReturn"; //par.args = new object[] { strSql }; //ClientCommon._RemotingHelp.ExecuteMethod(par, out strErr); ccs.ob = ob; strReturn = ccs.NoQueryFunctions("Core.LgMes.Server.Common.ComDBSave", "doSimpleSave", arry, out strErr); if (!(strErr == null || strErr == "")) { MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]维修信息保存失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } strReturn = ""; strErr = ""; arry.Clear(); ccs.ob = ob; arry.Add("FrmSGRepair_Update1"); arry.Add(txtCS.Text.Trim()); arry.Add(strCcm); arry.Add(strID); //strSql = "update DEV_SXD_BASE_INFO set NOWSTATUS = '2', POSITION = null, USETIMES = nvl('" + tbCS.Text.Trim() + "',0) where CCM_ID = '" + strCcm + "' and SEGMENTID = '" + strID + "'"; //par.args = new object[] { strSql }; //ClientCommon._RemotingHelp.ExecuteMethod(par, out strErr); strReturn = ccs.NoQueryFunctions("Core.LgMes.Server.Common.ComDBSave", "doSimpleSave", arry, out strErr); if (!(strErr == null || strErr == "")) { MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]维修信息保存失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } FrmSegMentManage frm = (FrmSegMentManage)this.Tag; frm.proc_GetBaseInfo(strCcm, strID); proc_GetID(strCcm); MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]维修信息保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void proc_End() { try { if (cmbID.Items.Count == 0) return; string strCcm = cmbCCM.Text.Trim(); string strID = cmbID.Text.Trim(); if (strID.Length == 0) { MessageBox.Show("请选择维修中的扇形段编号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); cmbID.Focus(); return; } string strType = cmbType.Text.Trim(); if (strType.Length == 0) { MessageBox.Show("请选择维修类别!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); cmbType.Focus(); return; } if (udteRepairT.Text.Trim().Length == 0) udteRepairT.DateTime = DateTime.Now; if (udteRepairTime.DateTime > udteRepairT.DateTime) { MessageBox.Show("送修时间不能大于修复时间!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); udteRepairT.Focus(); return; } if (txtCS.Text.Trim().Length == 0) { MessageBox.Show("使用炉数不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); txtCS.Focus(); return; } if (MessageBox.Show("确定[" + strCcm + "]扇形段[" + strID + "]维修结束吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { proc_GetID(strCcm); return; } string strErr = ""; ArrayList arry = new ArrayList(); arry.Add("FrmSGRepair_Query6"); arry.Add(strCcm); arry.Add(strID); CommonClientToServer ccs = new CommonClientToServer(); ccs.ob = this.ob; DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr != "" || !(ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)) { MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]维修信息保存失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int iCnt = Convert.ToInt32(ds.Tables[0].Rows[0][0]); if (iCnt == 0) { MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]信息不存在,无法保存维修信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); proc_GetID(strCcm); cmbID.Focus(); return; } iCnt = 0; ds = null; strErr = ""; arry.Clear(); ccs.ob = ob; arry.Add("FrmSGRepair_Query7"); arry.Add(strCcm); arry.Add(strID); //strSql = "select case NOWSTATUS when '0' then '下线' when '1' then '上线' when '2' then '维修' when '3' then '备用' end NOWSTATUS from DEV_SXD_BASE_INFO where CCM_ID = '" + strCcm + "' and SEGMENTID = '" + strID + "'"; //par.args = new object[] { strSql }; //ds = null; //ClientCommon._RemotingHelp.ExecuteMethod(par, out strErr) as DataSet; ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr != "" || !(ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)) { MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]维修信息保存失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (Convert.ToString(ds.Tables[0].Rows[0]["NOWSTATUS"].ToString().Trim()) != "维修") { MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]当前状态[" + Convert.ToString(ds.Tables[0].Rows[0]["NOWSTATUS"]) + "],只有在[维修]状态才能结束维修!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); cmbID.Focus(); return; } string strReturn = ""; strErr = ""; arry.Clear(); //strSql = "update DEV_TOOL_REPAIR set " //+ "REPAIRTYPE = '" + strType + "'," //+ "REPAIRTIME = to_date('" + ultraDateTimeEditor1.DateTime.ToString("yyyy-MM-dd HH:mm:ss") + "','yyyy-MM-dd HH24:mi:ss')," //+ "REPAIREDTIME = to_date('" + ultraDateTimeEditor2.DateTime.ToString("yyyy-MM-dd HH:mm:ss") + "','yyyy-MM-dd HH24:mi:ss')," //+ "REASON = '" + cbbReason.Text.Trim() + "'," //+ "MEMO = '" + tbMemo.Text.Trim() + "'," //+ "RECORDER = '" + CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName() + "' " //+ "where TOOLTYPEID = '3' and REPAIREDTIME is null and REPAIRTOOLID = " //+ "(select ID from DEV_SXD_BASE_INFO where SEGMENTID = '" + strID + "' and CCM_ID = '" + strCcm + "')"; //par.MethodName = "ExecuteCommand_NonReturn"; //par.args = new object[] { strSql }; //ClientCommon._RemotingHelp.ExecuteMethod(par, out strErr); ccs.ob = ob; arry.Add("FrmSGRepair_Update2"); arry.Add(strType); arry.Add(udteRepairTime.DateTime.ToString("yyyy-MM-dd HH:mm:ss")); arry.Add(udteRepairT.DateTime.ToString("yyyy-MM-dd HH:mm:ss")); arry.Add(cmbReason.Text.Trim()); arry.Add(txtMemo.Text.Trim()); arry.Add(CoreFS.SA06.CoreUserInfo.UserInfo.GetUserName()); arry.Add(strID); arry.Add(strCcm); strReturn = ccs.NoQueryFunctions("Core.LgMes.Server.Common.ComDBSave", "doSimpleSave", arry, out strErr); if (!(strErr == null || strErr == "")) { MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]维修信息保存失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } strReturn = ""; strErr = ""; arry.Clear(); ccs.ob = ob; arry.Add("FrmSGRepair_Update3"); arry.Add(txtCS.Text.Trim()); arry.Add(strCcm); arry.Add(strID); strReturn = ccs.NoQueryFunctions("Core.LgMes.Server.Common.ComDBSave", "doSimpleSave", arry, out strErr); //strSql = "update DEV_SXD_BASE_INFO set NOWSTATUS = '3', POSITION = null, USETIMES = nvl('" + tbCS.Text.Trim() + "',0) where CCM_ID = '" + strCcm + "' and SEGMENTID = '" + strID + "'"; //par.args = new object[] { strSql }; //ClientCommon._RemotingHelp.ExecuteMethod(par, out strErr); if (!(strErr == null || strErr == "")) { MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]维修信息保存失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } FrmSegMentManage frm = (FrmSegMentManage)this.Tag; frm.proc_GetBaseInfo(strCcm, strID); proc_GetID(strCcm); MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]维修信息保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void btnBegin_Click(object sender, EventArgs e) { proc_Begin(); } private void btnEnd_Click(object sender, EventArgs e) { proc_End(); } private void cbbCCM_SelectedIndexChanged(object sender, EventArgs e) { if (cmbCCM.Text.Length > 0) proc_GetID(cmbCCM.Text); } /// /// 扇形段基础信息加载 /// /// /// private void cbbID_SelectedIndexChanged(object sender, EventArgs e) { try { if (!bOK) return; string strCcm = cmbCCM.Text.Trim(); string strID = cmbID.Text.Trim(); if (strID.Length == 0) { cmbType.SelectedIndex = -1; udteRepairTime.Text = ""; udteRepairT.Text = ""; cmbReason.Text = ""; txtCS.Clear(); txtMemo.Clear(); btnBegin.Enabled = btnEnd.Enabled = false; return; } string strErr = ""; ArrayList arry = new ArrayList(); arry.Add("FrmSGRepair_Query2"); arry.Add(strID); arry.Add(strCcm); CommonClientToServer ccs = new CommonClientToServer(); ccs.ob = this.ob; DataSet ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr != "" || !(ds != null && ds.Tables.Count > 0)) { MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]维修信息查询失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (ds.Tables[0].Rows.Count > 0) { cmbType.Text = Convert.ToString(ds.Tables[0].Rows[0]["REPAIRTYPE"]); udteRepairTime.DateTime = Convert.ToDateTime(ds.Tables[0].Rows[0]["REPAIRTIME"]); udteRepairT.Text = ""; cmbReason.Text = Convert.ToString(ds.Tables[0].Rows[0]["REASON"]); txtMemo.Text = Convert.ToString(ds.Tables[0].Rows[0]["MEMO"]); btnBegin.Enabled = false; } else { cmbType.SelectedIndex = -1; udteRepairTime.Text = ""; udteRepairT.Text = ""; cmbReason.Text = ""; txtMemo.Clear(); btnBegin.Enabled = true; } btnEnd.Enabled = !btnBegin.Enabled; ds = null; strErr = ""; arry.Clear(); arry.Add("FrmSGRepair_Query3"); arry.Add(strID); arry.Add(strCcm); ccs.ob = ob; ds = ccs.ExecuteQueryFunctions("Core.LgMes.Server.Common.ComDBQuery", "doSimpleQuery", arry, out strErr); if (strErr != "" || !(ds != null && ds.Tables.Count > 0)) { MessageBox.Show("[" + strCcm + "]扇形段[" + strID + "]基本信息查询失败!\r\n" + strErr, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (ds.Tables[0].Rows.Count > 0) { txtCS.Text = Convert.ToString(ds.Tables[0].Rows[0]["USETIMES"]); } } catch (Exception ex) { MessageBox.Show(ex.Message, "提示"); } } private void NumberEditor_KeyPress(object sender, KeyPressEventArgs e) { if (!(Char.IsNumber(e.KeyChar) || e.KeyChar == '\b')) { e.Handled = true; } } } }