using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.Judge.Commons; using Core.StlMes.Client.Judge.Controls; using Core.StlMes.Client.Judge.Models; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Linq; using System.Windows.Forms; namespace Core.StlMes.Client.Judge.Forms { public partial class SteelMakingChemJudgeFrm : FrmBase { //private PlnSteelforfurnaceCtrl _steelMakingCtrl; //private PlnSteelforOrdCtrl _steelForOrdCtrl; private QcmJhyElementsCtrl _jhyElementsCtrl; private QcmJhyPhyDbResultCtrl _jhyPhyDbResultCtrl; private QcmLgChemJudgeCtrl _lgChemJudgeCtrl; private QcmLgChemJudgeExceptionCtrl _lgChemJudgeExceptionCtrl; private MeltingStoveNoCtrl _meltingStoveNoCtrl; private StlIncisionCtrl _stlIncisionCtrl; private StlIncisionDtlCtrl _stlIncisionDtlCtrl; //private QcmJhyElementsBLL _jhyElementsBLL = null; private Dal _d; private PlnSteelforfurnaceEntity _steelMakingEntity = new PlnSteelforfurnaceEntity(); public SteelMakingChemJudgeFrm() { InitializeComponent(); IsLoadUserView = true; } protected override void OnLoad(EventArgs e) { base.OnLoad(e); _jhyElementsCtrl.UltraGrid1.DisplayLayout.Override.SupportDataErrorInfo = SupportDataErrorInfo.RowsAndCells; _stlIncisionCtrl.UltraGrid1.DisplayLayout.Override.DataErrorRowAppearance.BackColor = Color.Transparent; } private void RolledTubeChemJudgeFrm_Load(object sender, EventArgs e) { _jhyElementsCtrl = new QcmJhyElementsCtrl(ultraTabPageControl3, ob, false); _jhyElementsCtrl.BringToFront(); _jhyElementsCtrl.UltraGrid1.AfterRowActivate += jhyElementsCtrl_AfterRowActivate; _jhyElementsCtrl.UltraGrid1.DisplayLayout.Override.AllowDelete = Infragistics.Win.DefaultableBoolean.False; _jhyPhyDbResultCtrl = new QcmJhyPhyDbResultCtrl(ultraTabPageControl4, ob); _jhyPhyDbResultCtrl.UltraGrid1.DisplayLayout.Override.AllowDelete = Infragistics.Win.DefaultableBoolean.False; _lgChemJudgeCtrl = new QcmLgChemJudgeCtrl(splitContainer2.Panel1, ob); _lgChemJudgeCtrl.UltraGrid1.AfterRowActivate += lgChemJudgeCtrl_AfterRowActivate; _lgChemJudgeCtrl.BringToFront(); _lgChemJudgeCtrl.UltraGrid1.DisplayLayout.Override.AllowDelete = Infragistics.Win.DefaultableBoolean.False; _lgChemJudgeCtrl.UltraGrid1.DisplayLayout.Override.AllowUpdate = Infragistics.Win.DefaultableBoolean.False; _lgChemJudgeExceptionCtrl = new QcmLgChemJudgeExceptionCtrl(splitContainer2.Panel2, ob); _lgChemJudgeExceptionCtrl.BringToFront(); _lgChemJudgeExceptionCtrl.UltraGrid1.DisplayLayout.Override.AllowDelete = Infragistics.Win.DefaultableBoolean.False; _lgChemJudgeExceptionCtrl.UltraGrid1.DisplayLayout.Override.AllowUpdate = Infragistics.Win.DefaultableBoolean.False; _meltingStoveNoCtrl = new MeltingStoveNoCtrl(ultraExpandableGroupBoxPanel1, ob); _meltingStoveNoCtrl.BringToFront(); _meltingStoveNoCtrl.UltraGrid1.AfterRowActivate += meltingStoveNoCtrl_AfterRowActivate; _meltingStoveNoCtrl.UltraGrid1.Click += meltingStoveNoCtrl_Click; dataTable1.Clear(); dataTable1.Rows.Add("00", "编制中"); dataTable1.Rows.Add("10", "已下发"); dataTable1.Rows.Add("20", "生产中"); dataTable1.Rows.Add("30", "已生产"); dataTable1.Rows.Add("40", "关闭"); _stlIncisionCtrl = new StlIncisionCtrl(splitContainer3.Panel1, ob,CustomInfo); _stlIncisionCtrl.UltraGrid1.AfterRowActivate += stlIncisionCtrl_AfterRowActivate; _stlIncisionCtrl.UltraGrid1.Click += stlIncisionCtrl_Click; _stlIncisionDtlCtrl = new StlIncisionDtlCtrl(splitContainer3.Panel2, ob); _d = new Dal(ob); //_popupGridCtrl.UltraGrid1.DisplayLayout.Bands[0].Columns["State"].Hidden = true; //labelDateTimePicker1.Checked = true; labelDateTimePicker1.Checked = true; labelDateTimePicker1.Value = DateTime.Now.Date.AddDays(-3); labelDateTimePicker2.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1); checkBox3.Checked = true; dateTimePicker1.Value = DateTime.Now.Date.AddDays(-3); dateTimePicker2.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1); labelDateTimePicker4.Checked = true; labelDateTimePicker4.Value = DateTime.Now.Date.AddDays(-3); labelDateTimePicker3.Value = DateTime.Now.Date.AddDays(1).AddSeconds(-1); JudgeBaseInfo.LoadPlineName(ultraComboEditor2, ob, true, "A"); ClsBaseInfo.FillComBaseInfo(labelComboBox1.ComboBox, "407401", ob, false); //判定结果只显示内控合格和不合格。 40740101内控合格 40740102内控不合格 DataTable dt = (DataTable)labelComboBox1.ComboBox.DataSource; for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i]["BASECODE"].ToString() != "40740101" && dt.Rows[i]["BASECODE"].ToString() != "40740102") { dt.Rows[i].Delete(); } } DataRow dr = dt.NewRow(); dr["BASECODE"] = "1"; dr["BASENAME"] = "已判"; dt.Rows.InsertAt(dr, 0); dr = dt.NewRow(); dr["BASECODE"] = "0"; dr["BASENAME"] = "未判"; dt.Rows.InsertAt(dr, 0); dt.AcceptChanges(); ClsBaseInfo.SetComboItemHeight(labelComboBox1.ComboBox); labelComboBox3.ComboBox.DataSource = dt; labelComboBox3.ComboBox.ValueMember = "BASECODE"; labelComboBox3.ComboBox.DisplayMember = "BASENAME"; ClsBaseInfo.SetComboItemHeight(labelComboBox3.ComboBox); JudgeBaseInfo.LoadPlineName(labelComboBox2.ComboBox, ob, false, "A"); JudgeBaseInfo.LoadPlineName(labelComboBox5.ComboBox, ob, false, "B", "C"); JudgeBaseInfo.LoadPlineName(labelComboBox4.ComboBox, ob, false, "B", "C"); } void stlIncisionCtrl_Click(object sender, EventArgs e) { } void meltingStoveNoCtrl_Click(object sender, EventArgs e) { //string stoveNo = _meltingStoveNoCtrl.UltraGrid1.GetActiveRowValue("StoveNo"); //_stlIncisionCtrl.Query(stoveNo); } void stlIncisionCtrl_AfterRowActivate(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; var row = _stlIncisionCtrl.UltraGrid1.ActiveRow; DataRow craftDbCnt = _d.GetRowByXmlId("QcmJhyPhyDbResultDAL.queryJhyDbCnt", row.GetValue("judgeStoveNo")); if (craftDbCnt["COUNT"].ToString() == "0" && !row.GetValue("steelStandrad").Contains("PIC")) { ultraTabControl2.Tabs[1].Visible = false; } else { ultraTabControl2.Tabs[1].Visible = true; } DataRow drGpApply = _d.GetRowByXmlId("QcmGpJugdeApplyDAL.queryGpApplyByJudgeStoveNo2", row.GetValue("judgeStoveNo")); QueryJhyElements(drGpApply); if (row.GetValue("plineCode") == "C063" || row.GetValue("plineCode") == "C064" || row.GetValue("lkFlag") == "利库" || row.GetValue("gpType") == "2" || drGpApply != null && drGpApply["oldGradecode"].ToString() != "" && drGpApply["oldCic"].ToString() != "") //外购坯、利库 { _stlIncisionDtlCtrl.QueryApply(row.GetValue("jugdeApplyCode"), row.GetValue("jugdeApplySqe"), row.GetValue("judgeStoveNo")); } else { _stlIncisionDtlCtrl.QueryStl(row.GetValue("judgeStoveNo")); } } finally { this.Cursor = Cursors.Default; } } void meltingStoveNoCtrl_AfterRowActivate(object sender, EventArgs e) { //if (_meltingStoveNoCtrlQuery == false) return; if (_meltingStoveNoCtrl.UltraGrid1.ActiveRow == null) return; _jhyElementsCtrl.ClearData(); _jhyPhyDbResultCtrl.ClearData(); _stlIncisionDtlCtrl.Clear(); string stoveNo = _meltingStoveNoCtrl.UltraGrid1.ActiveRow.GetValue("StoveNo"); _stlIncisionCtrl.Query(stoveNo); } void jhyElementsCtrl_AfterRowActivate(object sender, EventArgs e) { //if (_jhyElementsCtrl.TipMsg != "无") //{ // var stlRow = ((DataRowView)_stlIncisionCtrl.UltraGrid1.ActiveRow.ListObject).Row; // stlRow.RowError = _jhyElementsCtrl.TipMsg; //} //else //{ // var stlRow = ((DataRowView)_stlIncisionCtrl.UltraGrid1.ActiveRow.ListObject).Row; // stlRow.RowError = ""; //} } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query": Query(); break; case "Judge": Judge(); break; case "UpdateMemo": UpdateMemo(); break; case "Delete": Delete(); break; } } private bool _stlIncisionQuery = true; private void Query() { try { this.Cursor = Cursors.WaitCursor; //_d.Set("com.steering.pss.judge.Bll.BllSteelMakingChemJudge.AddChemData"); string judgeTimeB = labelDateTimePicker1.Checked ? labelDateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""; string judgeTimeE = labelDateTimePicker1.Checked ? labelDateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""; string judgeState = labelComboBox1.Checked ? labelComboBox1.SelecteValue.ToString2() : ""; string stoveNo = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : ""; string judgeStoveNo = labelTextBox4.Checked ? labelTextBox4.Text.Trim() : ""; string[] plines; if (labelComboBox2.ComboBox.Value == null || !labelComboBox2.Checked) { plines = new string[0]; } else { plines = ((List)labelComboBox2.ComboBox.Value).Select(a => a.ToString()).ToArray(); } string chemType = ultraOptionSet2.Value.ToString(); string gpSource = ultraOptionSet3.Value.ToString2(); string[] plinesGp; if (labelComboBox5.ComboBox.Value == null || !labelComboBox5.Checked) { plinesGp = new string[0]; } else { plinesGp = ((List)labelComboBox5.ComboBox.Value).Select(a => a.ToString()).ToArray(); } switch (ultraTabControl1.SelectedTab.Text) { case "成分判定": _stlIncisionQuery = true; _jhyElementsCtrl.ClearData(); _jhyPhyDbResultCtrl.ClearData(); _stlIncisionDtlCtrl.Clear(); _stlIncisionCtrl.Query(stoveNo, judgeStoveNo, judgeState, judgeTimeB, judgeTimeE, plines, chemType, gpSource, plinesGp); break; case "判定记录": _lgChemJudgeExceptionCtrl.Clear(); string stoveNo2 = labelTextBox3.Checked ? labelTextBox3.Text.Trim() : ""; string judgeStoveNo2 = labelTextBox2.Checked ? labelTextBox2.Text.Trim() : ""; string judgeResult = labelComboBox3.Checked ? labelComboBox3.SelecteValue.ToString2() : ""; string judgeTimeB2 = labelDateTimePicker4.Checked ? labelDateTimePicker4.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""; string judgeTimeE2 = labelDateTimePicker4.Checked ? labelDateTimePicker3.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""; string[] plines2; if (labelComboBox4.ComboBox.Value == null || !labelComboBox4.Checked) { plines2 = new string[0]; } else { plines2 = ((List)labelComboBox4.ComboBox.Value).Select(a => a.ToString()).ToArray(); } QueryJudgeRecord(stoveNo2, judgeStoveNo2, judgeResult, judgeTimeB2, judgeTimeE2, plines2); break; } } finally { this.Cursor = Cursors.Default; } } private void Judge() { if (_stlIncisionCtrl.UltraGrid1.ActiveRow == null) { MessageUtil.ShowWarning("请选择切割记录!"); return; } var stlRow = _stlIncisionCtrl.UltraGrid1.ActiveRow; string judgeStoveNo = stlRow.GetValue("judgeStoveNo"); string stoveNo = stlRow.GetValue("stoveNo"); //if (stlRow.GetValue("judgeresultChem") == "") //{ // MessageUtil.ShowWarning("请选择判定结果!", _stlIncisionCtrl.UltraGrid1, _stlIncisionCtrl.UltraGrid1.ActiveRow.Cells["judgeresultChem"]); // return; //} //IQueryable chkRows = _jhyElementsCtrl.UltraGrid1.Rows.AsQueryable().Where(a=>a.GetValue("Chk") == "True"); //if (chkRows.Count() == 0) //{ // if (_jhyElementsCtrl.UltraGrid1.Rows.Count >= 4) // { // MessageUtil.ShowWarning("请选择成分实绩信息!", _jhyElementsCtrl.UltraGrid1, _jhyElementsCtrl.UltraGrid1.Rows[3]); // } // else // { // MessageUtil.ShowWarning("请选择成分实绩信息!", _jhyElementsCtrl.UltraGrid1); // } // return; //} if (_jhyElementsCtrl.UltraGrid1.Rows.Count == 6) { MessageUtil.ShowWarning("没有成分实绩信息!"); return; } //DataRow drSteelMaking = null; //if (stlRow.GetValue("proPlanId").StartsWith("ZG")) //{ // drSteelMaking = _d.GetRowByXmlId("SteelMakingAdvanceJudgeDAL.queryCraftDesignKeyByZgProPlanId", stlRow.GetValue("proPlanId")); //} //else //{ // drSteelMaking = _d.GetRowByXmlId("SteelMakingAdvanceJudgeDAL.queryCraftDesignKeyByGpreqId", stlRow.GetValue("proPlanId")); //} //_jhyElementsBLL.QuerySteelMakingDesignKey(stlRow.GetValue("Pro_Plan_Id")); //DataRow drChemCnt = _d.GetRowByXmlId("QcmJhyElementsDAL.QueryCraftChemCnt", drSteelMaking["desginKey"].ToString()); // //_jhyElementsBLL.QueryCraftChemCnt(drSteelMaking["DESGIN_KEY"].ToString()); //if (drChemCnt != null) //{ // if (int.Parse(drChemCnt["SmeltingCntN"].ToString()) != chkRows.Count()) // { // string msg = string.Format("内控要求熔炼成分套数为{0}套, 请勾选{0}条成分实绩!", drChemCnt["SmeltingCntN"].ToString()); // var row = chkRows.FirstOrDefault(); // MessageUtil.ShowWarning(msg, _jhyElementsCtrl.UltraGrid1, row); // return; // } //} //只有内控合格的需要判断,内控不合格不需要。 //string chemResultCode = ""; //foreach (var chkRow in chkRows) //{ // string errMsg = ""; // var ccp = _d.Set("com.steering.pss.judge.comm.ChemJudgeHelper.Judge", drSteelMaking["desginKey"].ToString(), stlRow.GetValue("cic"), // drSteelMaking["mscPline"].ToString(), "A", new string[] { "2" }, chkRow.GetValue("Assayno")); // errMsg = ((object[])ccp.ReturnObject)[1].ToString(); // if (errMsg != "") // { // chemResultCode = "40740102"; // break; // } // else // { // chemResultCode = "40740101"; // } //} if (MessageUtil.ShowYesNoAndQuestion("是否确认进行判定?") == System.Windows.Forms.DialogResult.No) { return; } //List jhyElements = new List(); //QcmLgChemjudgeEntity lgChemJudge = new QcmLgChemjudgeEntity(); //lgChemJudge.CreateName = UserInfo.GetUserName(); //lgChemJudge.JudgeOrderno = stlRow.GetValue("proPlanId"); ////lgChemJudge.JudgeresultChem = chemResultCode; //lgChemJudge.JudgeStoveNo = stlRow.GetValue("judgeStoveNo"); //lgChemJudge.Memo = _stlIncisionCtrl.UltraGrid1.GetActiveRowValue("Memo"); //lgChemJudge.Orderisunchain = "0"; //lgChemJudge.PlanOrderno = stlRow.GetValue("proPlanId"); //lgChemJudge.PlineCode = stlRow.GetValue("plineCode"); //lgChemJudge.ProcessCdoe = "B"; //lgChemJudge.ProcessDesc = "铸造"; //lgChemJudge.StoveNo = stlRow.GetValue("stoveNo"); //lgChemJudge.Assayno = string.Join(",", chkRows.Select(a => a.GetValue("Assayno")).ToArray());//逗号分隔 //lgChemJudge.DesignKey = drSteelMaking["desginKey"].ToString(); //lgChemJudge.MscPline = drSteelMaking["mscPline"].ToString(); //lgChemJudge.Cic = drSteelMaking["cic"].ToString(); //foreach (var chkRow in chkRows) //{ // QcmJhyElementsEntity jhyElement = new QcmJhyElementsEntity(); // jhyElement.Assayno = chkRow.GetValue("Assayno"); // jhyElements.Add(jhyElement); //} var judgeResult = _d.Set("com.steering.pss.judge.Bll.BllSteelMakingChemJudge.judge", stlRow.GetValue("judgeStoveNo"), stlRow.GetValue("plineCode"), stlRow.GetValue("lkFlag"), UserInfo.GetUserName(), stlRow.GetValue("memo")); if (judgeResult.ReturnInfo != "") { MessageUtil.ShowWarning(judgeResult.ReturnInfo); return; } MessageUtil.ShowTips("判定成功!"); if (_stlIncisionQuery) { _stlIncisionCtrl.UltraGrid1.BeginUpdate(); Query(); var reloacteStlRow = _stlIncisionCtrl.UltraGrid1.Rows.Where(a => a.GetValue("judgeStoveNo") == judgeStoveNo).FirstOrDefault(); if (reloacteStlRow != null) { reloacteStlRow.Activate(); } _stlIncisionCtrl.UltraGrid1.EndUpdate(); } else { meltingStoveNoCtrl_AfterRowActivate(null, null); var relocateMeltingRow = _meltingStoveNoCtrl.UltraGrid1.Rows.Where(a => a.GetValue("stoveNo") == stoveNo).FirstOrDefault(); if (relocateMeltingRow != null) { relocateMeltingRow.Activate(); } } } private void Delete() { var stlRow = _stlIncisionCtrl.UltraGrid1.ActiveRow; if (stlRow == null) { MessageUtil.ShowWarning("请选择切割记录!"); return; } string judgeStoveNo = stlRow.GetValue("judgeStoveNo"); string stoveNo = stlRow.GetValue("stoveNo"); DataRow dr = _d.GetRowByXmlId("QcmLgJudgeDAL.queryCntByJudgeStoveNo", judgeStoveNo, "B"); if (dr[0].ToString() != "0") { MessageUtil.ShowWarning("该记录已综合判定,不能删除!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认删除?") == System.Windows.Forms.DialogResult.No) { return; } var ccp = _d.Set("com.steering.pss.judge.Bll.BllSteelMakingChemJudge.deleteJhyElements", stlRow.GetValue("stoveNo")); if (ccp.ReturnInfo != "") { MessageUtil.ShowWarning(ccp.ReturnInfo); return; } else { MessageUtil.ShowTips("删除成功!"); } if (_stlIncisionQuery) { _stlIncisionCtrl.UltraGrid1.BeginUpdate(); Query(); var reloacteStlRow = _stlIncisionCtrl.UltraGrid1.Rows.Where(a => a.GetValue("judgeStoveNo") == judgeStoveNo).FirstOrDefault(); if (reloacteStlRow != null) { reloacteStlRow.Activate(); } _stlIncisionCtrl.UltraGrid1.EndUpdate(); } else { meltingStoveNoCtrl_AfterRowActivate(null, null); var relocateMeltingRow = _meltingStoveNoCtrl.UltraGrid1.Rows.Where(a => a.GetValue("stoveNo") == stoveNo).FirstOrDefault(); if (relocateMeltingRow != null) { relocateMeltingRow.Activate(); } } } private void UpdateMemo() { var stlRow = _stlIncisionCtrl.UltraGrid1.ActiveRow; if (stlRow == null) { MessageUtil.ShowWarning("请选择切割记录!"); return; } string judgeStoveNo = stlRow.GetValue("judgeStoveNo"); string stoveNo = stlRow.GetValue("stoveNo"); DataRow drChemJudge = _d.GetRowByXmlId("QcmLgChemJudgeDAL.queryCntByJudgeStoveNo", judgeStoveNo, "B"); if (drChemJudge[0].ToString() == "0") { MessageUtil.ShowWarning("该记录没有成分判定记录,不能修改备注!"); return; } if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == System.Windows.Forms.DialogResult.No) { return; } var ccp = _d.Set("com.steering.pss.judge.Bll.BllSteelMakingChemJudge.updateMemo", judgeStoveNo, stlRow.GetValue("memo")); if (ccp.ReturnInfo != "") { MessageUtil.ShowWarning(ccp.ReturnInfo); return; } else { MessageUtil.ShowTips("修改成功!"); } if (_stlIncisionQuery) { _stlIncisionCtrl.UltraGrid1.BeginUpdate(); Query(); var reloacteStlRow = _stlIncisionCtrl.UltraGrid1.Rows.Where(a => a.GetValue("judgeStoveNo") == judgeStoveNo).FirstOrDefault(); if (reloacteStlRow != null) { reloacteStlRow.Activate(); } _stlIncisionCtrl.UltraGrid1.EndUpdate(); } else { meltingStoveNoCtrl_AfterRowActivate(null, null); var relocateMeltingRow = _meltingStoveNoCtrl.UltraGrid1.Rows.Where(a => a.GetValue("stoveNo") == stoveNo).FirstOrDefault(); if (relocateMeltingRow != null) { relocateMeltingRow.Activate(); } } } private void labelDateTimePicker1_CheckBox_CheckedChanged(object sender, EventArgs e) { labelDateTimePicker2.DateTimeEnabled = labelDateTimePicker1.Checked; } private void QueryJhyElements(DataRow drGpApply) { if (_jhyElementsCtrl == null || _jhyPhyDbResultCtrl == null || _stlIncisionCtrl == null || _stlIncisionCtrl.UltraGrid1.ActiveRow == null) { return; } _jhyElementsCtrl.ClearData(); _jhyPhyDbResultCtrl.ClearData(); var row = _stlIncisionCtrl.UltraGrid1.ActiveRow; DataTable dtCraftCic = null; string[] zgProPlanIds; if (row.GetValue("plineCode") == "C063" || row.GetValue("plineCode") == "C064" || row.GetValue("lkFlag") == "利库" || row.GetValue("gpType") == "2") //外购坯、利库 { string judgeApplyCode = drGpApply["jugdeApplyCode"].ToString(); string judgeApplySeq = drGpApply["jugdeApplySqe"].ToString(); string judgeStoveNo = drGpApply["judgeStoveNo"].ToString(); string stoveNo = drGpApply["stoveNo"].ToString(); DataTable dtGpApply = _d.GetTableByXmlId("QcmGpJugdeApplyDAL.getApplyPlnIdByJudgeStoveNoApplyNo", judgeApplyCode, judgeApplySeq, judgeStoveNo); zgProPlanIds = GetGpJudgeApplyZgPlanId(judgeApplyCode, judgeApplySeq, judgeStoveNo,stoveNo, _d.Ob); } else { zgProPlanIds = GetStlInsitionZgPlanId(row.GetValue("judgeStoveNo"),row.GetValue("stoveNo"), _d.Ob); } DataRow drPlnCic = _d.GetRowByXmlId("PlnSteelforOrdDAL.getCicByJudgeStoveNo", row.GetValue("judgeStoveNo")); string[] cics = new string[1]; if (drPlnCic != null) { cics = drPlnCic["cic"].ToString().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); } else if (drGpApply != null) { cics[0] = drGpApply["cic"].ToString(); } dtCraftCic = _d.GetTableByXmlId("JdgPlnOrderZgS.queryCraftCicByZgProPlanId", new object[] { zgProPlanIds, cics.Length, cics }); //增加余材获取成分 if (dtCraftCic.Rows.Count <= 0) { drPlnCic = _d.GetRowByXmlId("PlnSteelforOrdDAL.getCicByProPlanId", new object[] { zgProPlanIds }); cics = new string[1]; if (drPlnCic != null) { cics = drPlnCic["cic"].ToString().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); } else if (drGpApply != null) { cics[0] = drGpApply["cic"].ToString(); } dtCraftCic = _d.GetTableByXmlId("JdgPlnOrderZgS.queryCraftCicByZgProPlanId", new object[] { zgProPlanIds, cics.Length, cics }); if (dtCraftCic.Rows.Count <= 0) { dtCraftCic = _d.GetTableByXmlId("JdgPlnOrderZgS.queryCraftCicByZgProPlanIdNew", new object[] { zgProPlanIds }); } } if (dtCraftCic == null) return; //FillLkCic(drGpApply, dtCraftCic); if (ultraTabControl2.SelectedTab.Text == "低倍信息") { string lgJudgeStoveNo = row.GetValue("judgeStoveNo"); if (drGpApply != null && drGpApply["judgeStoveNoLg"].ToString() != "") { lgJudgeStoveNo = drGpApply["judgeStoveNoLg"].ToString(); } _jhyPhyDbResultCtrl.Query(lgJudgeStoveNo); } else { _jhyElementsCtrl.QueryCraftResultByStoveNo(row.GetValue("stoveNo"), row.GetValue("judgeStoveNo"), dtCraftCic, "A",zgProPlanIds); } } private void FillLkCic(DataRow drGpApply, DataTable dtCraftCic) { if (drGpApply != null && drGpApply["Cic"].ToString() != "" && drGpApply["lkFlag"].ToString() == "1") { bool sameCic = false; foreach (DataRow drCraftCic in dtCraftCic.Rows) { if (drCraftCic["cic"].ToString() == drGpApply["cic"].ToString()) { sameCic = true; } } if (!sameCic) { foreach (DataRow drCraftCic in dtCraftCic.Rows) { drCraftCic["cic"] = drGpApply["cic"].ToString(); } } } } public static string[] GetGpJudgeApplyZgPlanId(string judgeApplyCode, string judgeApplySeq, string judgeStoveNo,string stoveNo, OpeBase ob) { Dal d = new Dal(ob); DataTable dtGpApply = d.GetTableByXmlId("QcmGpJugdeApplyDAL.getApplyPlnIdByJudgeStoveNoApplyNo", judgeApplyCode, judgeApplySeq, judgeStoveNo); List zgProPlanIds = new List(); foreach (DataRow gpJudgeApply in dtGpApply.Rows) { string proPlanIdNext = gpJudgeApply["proPlanIdNext"].ToString(); string gxPlanNoNext = gpJudgeApply["gxPlanNoNext"].ToString(); string proPlanId = gpJudgeApply["proPlanId"].ToString(); if (proPlanIdNext != "" && proPlanIdNext.StartsWith("ZG")) { zgProPlanIds.Add(proPlanIdNext + gxPlanNoNext); } else { string zzProPlanId = ""; if (proPlanIdNext != "") { zzProPlanId = proPlanIdNext; } else { zzProPlanId = proPlanId; } if (proPlanIdNext.StartsWith("ZG")) { zgProPlanIds.Add(proPlanIdNext); } DataTable dtZgProPlanIds = d.GetTableByXmlId("JdgPlnOrderZgS.queryByGpreqId", zzProPlanId); foreach (DataRow drZgProPlanId in dtZgProPlanIds.Rows) { zgProPlanIds.Add(drZgProPlanId["proPlanId"].ToString()); } } } //增加余材获取成分 if (zgProPlanIds.Count <= 0) { dtGpApply = d.GetTableByXmlId("QcmGpJugdeApplyDAL.getApplyPlnIdByStoveNoApplyNo", judgeApplyCode, judgeApplySeq, judgeStoveNo,stoveNo); foreach (DataRow gpJudgeApply in dtGpApply.Rows) { string proPlanIdNext = gpJudgeApply["proPlanIdNext"].ToString(); string gxPlanNoNext = gpJudgeApply["gxPlanNoNext"].ToString(); string proPlanId = gpJudgeApply["proPlanId"].ToString(); if (proPlanIdNext != "" && proPlanIdNext.StartsWith("ZG")) { zgProPlanIds.Add(proPlanIdNext + gxPlanNoNext); } else { string zzProPlanId = ""; if (proPlanIdNext != "") { zzProPlanId = proPlanIdNext; } else { zzProPlanId = proPlanId; } DataTable dtZgProPlanIds = d.GetTableByXmlId("JdgPlnOrderZgS.queryByGpreqId", zzProPlanId); foreach (DataRow drZgProPlanId in dtZgProPlanIds.Rows) { zgProPlanIds.Add(drZgProPlanId["proPlanId"].ToString()); } } } } return zgProPlanIds.ToArray(); } public static string[] GetStlInsitionZgPlanId(string judgeStoveNo,string stoveNo, OpeBase ob) { Dal d = new Dal(ob); DataTable dtStl = d.GetTableByXmlId("QcmGpJugdeApplyDAL.getStlPlnIdByJudgeStoveNo", judgeStoveNo); List zgProPlanIds = new List(); foreach (DataRow drStl in dtStl.Rows) { string[] aryProPlanIds = drStl["proPlanId"].ToString().Split(','); string[] aryGxPlanNos = drStl["gxPlanNo"].ToString().Split(','); for (int i = 0; i < aryProPlanIds.Length; i++) { string proPlanId = aryProPlanIds[i]; string gxPlanNo = aryGxPlanNos[i]; if (proPlanId.StartsWith("ZG")) { zgProPlanIds.Add(proPlanId + gxPlanNo); } else { DataTable dtZgProPlanIds = d.GetTableByXmlId("JdgPlnOrderZgS.queryByGpreqId", proPlanId); foreach (DataRow drZgProPlanId in dtZgProPlanIds.Rows) { zgProPlanIds.Add(drZgProPlanId["proPlanId"].ToString()); } } } } //增加余材获取成分 查询分切表 if (zgProPlanIds.Count <= 0) { dtStl = d.GetTableByXmlId("QcmGpJugdeApplyDAL.getStlPlnIdByStoveNo", judgeStoveNo, stoveNo); foreach (DataRow drStl in dtStl.Rows) { string[] aryProPlanIds = drStl["proPlanId"].ToString().Split(','); string[] aryGxPlanNos = drStl["gxPlanNo"].ToString().Split(','); for (int i = 0; i < aryProPlanIds.Length; i++) { string proPlanId = aryProPlanIds[i]; string gxPlanNo = aryGxPlanNos[i]; if (proPlanId.StartsWith("ZG")) { zgProPlanIds.Add(proPlanId + gxPlanNo); } else { DataTable dtZgProPlanIds = d.GetTableByXmlId("JdgPlnOrderZgS.queryByGpreqId", proPlanId); foreach (DataRow drZgProPlanId in dtZgProPlanIds.Rows) { zgProPlanIds.Add(drZgProPlanId["proPlanId"].ToString()); } } } } } //增加余材获取成分 查询申判表 if (zgProPlanIds.Count <= 0) { DataTable dtGpApply = d.GetTableByXmlId("QcmGpJugdeApplyDAL.getApplyPlnIdByStoveNoApplyNo", "", "", judgeStoveNo, stoveNo); foreach (DataRow gpJudgeApply in dtGpApply.Rows) { string proPlanIdNext = gpJudgeApply["proPlanIdNext"].ToString(); string gxPlanNoNext = gpJudgeApply["gxPlanNoNext"].ToString(); string proPlanId = gpJudgeApply["proPlanId"].ToString(); if (proPlanIdNext != "" && proPlanIdNext.StartsWith("ZG")) { zgProPlanIds.Add(proPlanIdNext + gxPlanNoNext); } else { string zzProPlanId = ""; if (proPlanIdNext != "") { zzProPlanId = proPlanIdNext; } else { zzProPlanId = proPlanId; } DataTable dtZgProPlanIds = d.GetTableByXmlId("JdgPlnOrderZgS.queryByGpreqId", zzProPlanId); foreach (DataRow drZgProPlanId in dtZgProPlanIds.Rows) { zgProPlanIds.Add(drZgProPlanId["proPlanId"].ToString()); } } } } return zgProPlanIds.ToArray(); } private void QueryJudgeRecord(string stoveNo, string judgeStoveNo, string judgeResult, string judgeTimeB, string judgeTimeE, string[] plines) { _lgChemJudgeCtrl.QuerySteelMaking(stoveNo, judgeStoveNo, judgeResult, judgeTimeB, judgeTimeE, plines); } private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { //PlnOrderZgFrm plnOrderZgFrm = new PlnOrderZgFrm(ultraTextEditor1.Text.Trim(), ob); //if (plnOrderZgFrm.ShowDialog() == System.Windows.Forms.DialogResult.OK) //{ // ultraTextEditor1.Text = plnOrderZgFrm.ActiveProOrderNo; //} } private void ultraTextEditor2_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { try { this.Cursor = Cursors.WaitCursor; _stlIncisionQuery = false; string[] values; if (ultraComboEditor1.Value == null || !checkBox1.Checked) { values = new string[0]; } else { values = ((List)ultraComboEditor1.Value).Select(a => a.ToString()).ToArray(); } _stlIncisionCtrl.Clear(); _jhyElementsCtrl.ClearData(); _jhyPhyDbResultCtrl.ClearData(); string stoveNo = ultraTextEditor2.Text.Trim(); string plineCode = checkBox2.Checked ? ultraComboEditor2.Value.ToString2() : ""; string judgeState = ultraOptionSet1.Value.ToString2(); string timeB = checkBox3.Checked ? dateTimePicker1.Value.ToString("yyy-MM-dd HH:mm:ss") : ""; string timeE = checkBox3.Checked ? dateTimePicker2.Value.ToString("yyy-MM-dd HH:mm:ss") : ""; _meltingStoveNoCtrl.LgChemQuery(stoveNo, values, plineCode, judgeState, timeB, timeE); } finally { this.Cursor = Cursors.Default; } } private void labelDateTimePicker4_CheckBox_CheckedChanged(object sender, EventArgs e) { labelDateTimePicker3.DateTimeEnabled = labelDateTimePicker4.Checked; } void lgChemJudgeCtrl_AfterRowActivate(object sender, EventArgs e) { var row = _lgChemJudgeCtrl.UltraGrid1.ActiveRow; _lgChemJudgeExceptionCtrl.QuerySteelMaking(row.GetValue("chemJudgeId")); } private void checkBox1_CheckedChanged(object sender, EventArgs e) { ultraComboEditor1.Enabled = checkBox1.Checked; } private void checkBox3_CheckedChanged(object sender, EventArgs e) { dateTimePicker2.Enabled = dateTimePicker1.Enabled = checkBox3.Checked; } private void checkBox2_CheckedChanged(object sender, EventArgs e) { ultraComboEditor2.Enabled = checkBox2.Checked; } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { try { this.Cursor = Cursors.WaitCursor; if (toolMenu == null || toolMenu.Toolbars.Count == 0) return; if (ultraTabControl1.ActiveTab.Index == 0) { if (this.toolMenu.Toolbars[0].Tools.Exists("Judge")) this.toolMenu.Toolbars[0].Tools["Judge"].SharedProps.Visible = true; if (this.toolMenu.Toolbars[0].Tools.Exists("UpdateMemo")) this.toolMenu.Toolbars[0].Tools["UpdateMemo"].SharedProps.Visible = true; if (this.toolMenu.Toolbars[0].Tools.Exists("Delete")) this.toolMenu.Toolbars[0].Tools["Delete"].SharedProps.Visible = true; } else if (ultraTabControl1.ActiveTab.Index == 1) { if (this.toolMenu.Toolbars[0].Tools.Exists("Judge")) this.toolMenu.Toolbars[0].Tools["Judge"].SharedProps.Visible = false; if (this.toolMenu.Toolbars[0].Tools.Exists("UpdateMemo")) this.toolMenu.Toolbars[0].Tools["UpdateMemo"].SharedProps.Visible = false; if (this.toolMenu.Toolbars[0].Tools.Exists("Delete")) this.toolMenu.Toolbars[0].Tools["Delete"].SharedProps.Visible = false; } } finally { this.Cursor = Cursors.Default; } } private void ultraTabControl2_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { try { this.Cursor = Cursors.WaitCursor; if (_stlIncisionCtrl == null || _stlIncisionCtrl.UltraGrid1 == null) return; var row = _stlIncisionCtrl.UltraGrid1.ActiveRow; DataRow drGpApply = _d.GetRowByXmlId("QcmGpJugdeApplyDAL.queryGpApplyByJudgeStoveNo2", row.GetValue("judgeStoveNo")); QueryJhyElements(drGpApply); } finally { this.Cursor = Cursors.Default; } } private void labelTextBox4_TextBox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Enter) { Query(); } } private void ultraTextEditor2_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Enter) { ultraTextEditor2_EditorButtonClick(null, null); } } private void labelTextBox2_TextBox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Enter) { Query(); } } } }