using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using CoreFS.CA06; using Core.StlMes.Client.LgCommon; using Infragistics.Win.UltraWinEditors; using System.Collections; namespace Core.StlMes.Client.LgResMgt { public partial class ucCcmResultAdd : frmStyleBase { public string strProduceSys = ""; public ucCcmResultAdd(OpeBase ob_) { this.ob = ob_; InitializeComponent(); } private void ucCcmResultAdd_Load(object sender, EventArgs e) { init(); } /// /// 初始化 /// private void init() { try { ultraCCM.Value = strProduceSys; ultraClass.SelectedIndex = 0; txtHeatno.Text = ""; clearData(); } catch { } } /// /// 清除控件 /// private void clearData() { try { ultraCastBegin.Text = ""; txtSteel.Text = ""; txtSection.Text = ""; txtOrder.Text = ""; txtCastNo.Text = ""; txtStoveNum.Text = ""; txtLength.Text = ""; txtPfWgt.Text = ""; txtCastWgt.Text = ""; txtLeaveWgt.Text = ""; ultraPfTime.Text = ""; ultraLeaveTime.Text = ""; ultraCastEnd.Text = ""; } catch { } } /// /// 保存实绩 /// private void saveData() { try { if (ultraCCM.SelectedIndex < 0) { labtishi.Text = "提示:请选择铸机!"; return; } if (txtHeatno.Text.Trim().Length != 8) { labtishi.Text = "提示:无效的炉号,请重新输入!"; return; } if (ultraClass.SelectedIndex < 0) { labtishi.Text = "提示:请选择班次!"; return; } if (ultraCastBegin.Text.Trim() == "") { labtishi.Text = "提示:【开浇时间】不能为空!"; return; } if (checkTime(ultraCastBegin.Text.Trim())) { labtishi.Text = "提示:【开浇时间】格式错误!"; return; } if (txtSteel.Text.Trim() == "") { labtishi.Text = "提示:牌号不能为空!"; return; } if (txtOrder.Text.Trim() == "") { labtishi.Text = "提示:订单编号不能为空!"; return; } if (txtCastNo.Text.Trim() == "") { labtishi.Text = "提示:浇次号不能为空!"; return; } if (checkNumber(txtPfWgt.Text.Trim())) { labtishi.Text = "提示:【上台重量】必须为数字!"; return; } if (checkNumber(txtLeaveWgt.Text.Trim())) { labtishi.Text = "提示:【离台重量】必须为数字!"; return; } if (checkTime(ultraPfTime.Text.Trim())) { labtishi.Text = "提示:【上台时间】格式错误!"; return; } if (checkTime(ultraLeaveTime.Text.Trim())) { labtishi.Text = "提示:【离台时间】格式错误!"; return; } if (checkTime(ultraCastEnd.Text.Trim())) { labtishi.Text = "提示:【浇注结束时间】格式错误!"; return; } string strErr = ""; string strSqlID = "STL_RESULT0015"; //SQLID Hashtable ht = new Hashtable(); ht.Add("I1", txtHeatno.Text.Trim()); //炉号 ht.Add("I2", "0"+ultraCCM.Value.ToString()); //连铸机号 ht.Add("I3", ultraClass.Value.ToString()); //班次班组 ht.Add("I4", ultraCastBegin.Text.Trim()); //开浇时间 ht.Add("I5", txtSteel.Text.Trim()); //牌号 ht.Add("I6", txtOrder.Text.Trim()); //订单编号 ht.Add("I7", txtSection.Text.Trim()); //铸坯断面 ht.Add("I8", txtLength.Text.Trim()); //钢坯定尺 ht.Add("I9", txtCastNo.Text.Trim()); //浇次号 ht.Add("I10", txtStoveNum.Text.Trim()); //浇次内顺序号 ht.Add("I11", txtPfWgt.Text.Trim()); //上台重量 ht.Add("I12", txtLeaveWgt.Text.Trim()); //下台重量 ht.Add("I13", ultraPfTime.Text.Trim()); //上台时间 ht.Add("I14", ultraLeaveTime.Text.Trim()); //下台时间 ht.Add("I15", ultraCastEnd.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 (strErr == "" && alReturn[3] == null) { labtishi.Text = "提示:保存成功!"; } else { labtishi.Text = "提示:保存失败!" + alReturn[3]; } } catch { } } /// /// 检验时间格式 /// private bool checkTime(string value) { bool flag = true; try { if (value != "") { DateTime dt = Convert.ToDateTime(value); } flag = false; } catch { } return flag; } /// /// 检验数字格式 /// private bool checkNumber(string value) { bool flag = true; try { if (value != "") { double d =Convert.ToDouble(value); } flag = false; } catch { } return flag; } /// /// 检验时间格式 /// private string changeTime(string value) { string strvalue = ""; try { if (value != "") { strvalue = Convert.ToDateTime(value).ToString("yyyy-MM-dd HH:mm:ss"); } } catch { } return strvalue; } private void txtHeatno_TextChanged(object sender, EventArgs e) { if (txtHeatno.Text.Trim().Length == 8) { labtishi.Text = "提示:请点击查询!"; } else { labtishi.Text = "提示:请输入炉号!"; } } private void ubtQuery_Click(object sender, EventArgs e) { try { clearData(); int count = -1; string strHeatno = txtHeatno.Text.Trim(); if (strHeatno == "" || strHeatno.Length != 8) { labtishi.Text = "提示:无效的炉号,请重新输入!"; //MessageBox.Show("无效的炉号,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } string strErr = ""; ArrayList arry = new ArrayList(); arry.Add(strHeatno); CommonClientToServer ccTos = new CommonClientToServer(); ccTos.ob = this.ob; DataSet dsPpc = ccTos.ExecuteQueryFunctionsSqlID("Core.Mes.Server.Common.ComDataAccess", "QueryWithParameter", "STL_RESULT0014", 5, arry, out strErr); if (strErr == "" && dsPpc != null && dsPpc.Tables.Count > 0 && dsPpc.Tables[0].Rows.Count > 0) { DataRow dr = dsPpc.Tables[0].Rows[0]; txtCastNo.Text = dr["CAST_NO"].ToString(); txtOrder.Text = dr["ORD_GON_ID"].ToString(); txtSteel.Text = dr["AIM_GRADE_CODE"].ToString(); txtStoveNum.Text = dr["CAST_SEQ"].ToString(); txtSection.Text = dr["WIDTH"].ToString() + "X" + dr["THICK"].ToString(); txtLength.Text = dr["LEN"].ToString(); ultraCCM.Value = dr["FACT_ROUTE"].ToString().Substring(dr["FACT_ROUTE"].ToString().Length-1, 1); } else { if (strErr == "" && dsPpc.Tables[0].Rows.Count == 0) { labtishi.Text = "提示:你输入的炉号不存在!"; return; } labtishi.Text = "提示:" + strErr + "!"; return; } arry = new ArrayList(); arry.Add(strHeatno); arry.Add(strHeatno); arry.Add(strHeatno); DataSet ds = ccTos.ExecuteQueryFunctionsSqlID("Core.Mes.Server.Common.ComDataAccess", "QueryWithParameter", "STL_RESULT0013", 5, arry, out strErr); if (strErr == "" && ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { count = Convert.ToInt16(ds.Tables[0].Rows[0]["SUMVALUE"].ToString()); } else { labtishi.Text = "提示:" + strErr + "!"; return; } if (count == 0) { labtishi.Text = "提示:你输入的炉号对应的实绩信息异常缺失!"; } if (count > 0) { arry = new ArrayList(); arry.Add(strHeatno); arry.Add(strHeatno); arry.Add(strHeatno); DataSet ds1 = ccTos.ExecuteQueryFunctionsSqlID("Core.Mes.Server.Common.ComDataAccess", "QueryWithParameter", "STL_RESULT0016", 5, arry, out strErr); if (strErr == "" && ds1 != null && ds1.Tables.Count > 0 && ds1.Tables[0].Rows.Count > 0) { DataRow dr = ds1.Tables[0].Rows[0]; txtCastNo.Text = dr["MOULDNO"].ToString(); txtOrder.Text = dr["WOID"].ToString(); ultraClass.Value = dr["SHIFTCODE"].ToString(); txtSteel.Text = dr["PLANSTEEL"].ToString(); txtStoveNum.Text = dr["MOULDNUMID"].ToString(); txtSection.Text = dr["BILLETSECTION"].ToString(); txtLength.Text = dr["BILLETFIXSIZE"].ToString(); ultraCCM.Value = dr["STATIONCODE"].ToString().Substring(1, 1); txtPfWgt.Text = dr["PFBALEWGT"].ToString(); txtLeaveWgt.Text = dr["BALELEAVEWGT"].ToString(); ultraPfTime.Text = changeTime(dr["BALEPFTIME"].ToString()); ultraLeaveTime.Text = changeTime(dr["BALELEAVETIME"].ToString()); ultraCastBegin.Text = changeTime(dr["BALESTARTTIME"].ToString()); ultraCastEnd.Text = changeTime(dr["BALEENDTIME"].ToString()); } labtishi.Text = "提示:你输入的炉号对应的实绩信息已存在!"; //return; } } catch { } } private void ubtSave_Click(object sender, EventArgs e) { try { saveData(); } catch { } } private void ute_TimeEditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { try { frmSetTime frm = new frmSetTime(e.Context); UltraTextEditor ute = (UltraTextEditor)sender; //frm.Location = ClsControlPack.GetChildWindowLocation(frm.Size); frm.Location = new Point(400, 300);//ClsControlPack.GetChildWindowLocation(frm.Size); frm.AutoSize = true; if (frm.ShowDialog() == DialogResult.OK) { ute.Text = (Convert.ToDateTime(frm.SelectDate.ToString())).ToString("yyyy-MM-dd HH:mm:ss"); ute.Update(); } } catch { } } private void txtWgt_TextChanged(object sender, EventArgs e) { try { double pfWgt = 0; double leaveWgt = 0; try { pfWgt = Convert.ToDouble(txtPfWgt.Text.Trim()==""?"0":txtPfWgt.Text.Trim()); } catch { } try { leaveWgt = Convert.ToDouble(txtLeaveWgt.Text.Trim()==""?"0":txtLeaveWgt.Text.Trim()); } catch { } txtCastWgt.Text = Math.Round((pfWgt - leaveWgt),2).ToString(); } catch { } } } }