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;
}
}
}
}