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.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Control; using Infragistics.Win.UltraWinGrid; using Infragistics.Win; using com.steering.mes.zgmil.entity; using System.Collections; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.ZGMil.Entity; using Core.StlMes.Client.ZGMil.Signature; using Core.StlMes.Client.ZGMil.Common; namespace Core.StlMes.Client.ZGMil.Popup { public partial class FrmBackSlab : FrmBase { private UltraGridRow ActUgr = null; private string ActContractNo = ""; private UltraGridRow ActUgr1 = null; FeedRowPlan Feedplan = new FeedRowPlan(); private string ActJudgeStoveNo = ""; private string ActID = ""; private string proPlanId = null;//轧管订单编号 private string gxPlanNo = null;//工序排产序号 private string _UserName = ""; private string _Shift = ""; private string _Group = ""; private string _PlineCode = ""; private OpeBase _ob; public FrmBackSlab(string Shift, string Group, string User, OpeBase ob, string PlineCode) { InitializeComponent(); _Shift = Shift; _Group = Group; _UserName = User; _ob = ob; _PlineCode = PlineCode; BackSlabQuery(); BlacPlanQuery(); } /// /// 页面加载事件 /// /// /// protected override void OnLoad(EventArgs e) { base.OnLoad(e); ultraGrid_GHDL.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; chkNodeQuery.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; ultraGrid2.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; ultraGrid1.DisplayLayout.Override.AllowRowFiltering = Infragistics.Win.DefaultableBoolean.False; DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmHotCheck.getContractNo", new object[] { _PlineCode }, this._ob); cmbContrack.DataSource = dt; cmbContrack.ValueMember = "contract_no"; cmbContrack.DisplayMember = "contract_no"; //TubeRoll.SetComboItemHeight(cmbContrack); //天淮508机组产线自动生成炉号 if (_PlineCode.Equals("C072")) { ultraLabel1.Visible = false; ultraLabel2.Visible = false; txtZPLotNo.Visible = false; txtZPJudgeNo.Visible = false; } } /// /// 待组回炉坯查询按钮 /// /// /// private void btnQuery_Click(object sender, EventArgs e) { if (chkContractNo.Checked) { if (string.IsNullOrEmpty(txtContractNo.Text)) { MessageBox.Show("请输入需查询的合同号!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } BackSlabQuery(); } /// /// 已组回炉坯查询按钮 /// /// /// private void ultraButton2_Click(object sender, EventArgs e) { if (chkContractNo1.Checked) { if (string.IsNullOrEmpty(txtContractNo1.Text)) { MessageBox.Show("请输入需查询的合同号!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } if (this.chkJudgeNo1.Checked) { if (string.IsNullOrEmpty(this.txtJudgeStoveNo.Text)) { MessageBox.Show("请输入需查询的炉号!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } if (this.chkLotNo1.Checked) { if (string.IsNullOrEmpty(this.txtLotNo.Text)) { MessageBox.Show("请输入需查询的批号!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } BlacPlanQuery(); } /// /// 初始化控件 /// private void InitCol() { if (chkContractNo.Checked) { txtContractNo.Enabled = true; } else { txtContractNo.Enabled = false; } if (chkSteelName.Checked) { txtSteelName.Enabled = true; } else { txtSteelName.Enabled = false; } if (chkLength.Checked) { txtLength.Enabled = true; } else { txtLength.Enabled = false; } if (chkSection.Checked) { txtSection.Enabled = true; } else { txtSection.Enabled = false; } if (chkLotNo1.Checked) { txtLotNo.Enabled = true; } else { txtLotNo.Enabled = false; } if (chkJudgeNo1.Checked) { txtJudgeStoveNo.Enabled = true; } else { txtJudgeStoveNo.Enabled = false; } if (chkContractNo1.Checked) { txtContractNo1.Enabled = true; } else { txtContractNo1.Enabled = false; } if (chkDate.Checked ) { this.udtDate.Enabled = true; } else { this.udtDate.Enabled = false; } } /// /// Grid记录更改颜色 /// private void ChangeGridColor() { foreach (UltraGridRow ugr in ultraGrid2.Rows) { if (ugr.Cells["STATUS"].Value.ToString() != "00") { ugr.Appearance.BackColor = Color.YellowGreen; } } } /// /// 回炉坯合同查询 /// private void BackSlabQuery() { string Key1 = ""; string Key2 = ""; string Key3 = ""; // string ContractNo = ""; string Length = ""; string SteelName = ""; string Section = ""; string date = ""; UltraGridRow ugr = this.chkNodeQuery.ActiveRow; if (ugr != null) { Key1 = ugr.Cells["GRADENAME"].Value.ToString(); Key2 = ugr.Cells["DB_LENGTH"].Value.ToString(); Key3 = ugr.Cells["PIPE_SECTION"].Value.ToString(); } //if (chkContractNo.Checked == true) //{ // ContractNo = this.txtContractNo.Text; //} //else //{ // ContractNo = ""; //} if (chkDate.Checked == true) { date = DateTime.Parse(this.udtDate.Value.ToString()).ToString("yyyyMMdd"); } else { date = ""; } if (chkSteelName.Checked == true) { SteelName = this.txtSteelName.Text; } else { SteelName = ""; } if (chkLength.Checked == true) { Length = this.txtLength.Text; } else { Length = ""; } if (chkSection.Checked == true) { Section = this.txtSection.Text; } else { Section = ""; } dtContratNo.Clear(); dataTable1.Clear(); DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmHotCheck.getContractNo", new object[] { SteelName, Length, Section, _PlineCode, date }, this._ob); GridHelper.CopyDataToDatatable(ref dt, ref dtContratNo, true); if (dt.Rows.Count > 0) { if (ugr != null) { foreach (UltraGridRow ugr1 in chkNodeQuery.Rows) { if (ugr1.Cells["GRADENAME"].Value.ToString() == Key1 && ugr1.Cells["DB_LENGTH"].Value.ToString() == Key2 && ugr1.Cells["PIPE_SECTION"].Value.ToString() == Key3) { ugr1.Activated = true; } } } } } /// /// 已组回炉坯计划查询 /// private void BlacPlanQuery() { string PrimaKey = ""; string JudgeStoveNo = ""; string LotNo = ""; string ContractNo = ""; string Flag = "0"; UltraGridRow ugr = this.ultraGrid2.ActiveRow; if (ugr != null) { PrimaKey = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString(); } if (chkLotNo1.Checked == true) { LotNo = this.txtLotNo.Text; } else { LotNo = ""; } if (chkJudgeNo1.Checked == true) { JudgeStoveNo = this.txtJudgeStoveNo.Text; } else { JudgeStoveNo = ""; } if (chkContractNo1.Checked == true) { ContractNo = this.txtContractNo1.Text; } else { ContractNo = ""; } if (chkIsStart.Checked == true) { Flag = "1"; } else { Flag = "0"; } dtBackPlan.Clear(); dataTable2.Clear(); DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmHotCheck.getBackSlabPlan", new object[] { JudgeStoveNo, LotNo, ContractNo, Flag, _PlineCode }, this._ob); GridHelper.CopyDataToDatatable(ref dt, ref dtBackPlan, true); if (dt.Rows.Count > 0) { if (ugr != null) { foreach (UltraGridRow ugr1 in ultraGrid2.Rows) { if (ugr1.Cells["JUDGE_STOVE_NO"].Value.ToString() == PrimaKey) { ugr1.Activated = true; } } } } ChangeGridColor(); } /// /// 合同、计划激活行单击事件 /// /// /// private void chkNodeQuery_AfterRowActivate(object sender, EventArgs e) { if (chkNodeQuery.ActiveRow == null) { return; } else { ActUgr = chkNodeQuery.ActiveRow; //ActContractNo = ActUgr.Cells["CONTRACT_NO"].Value.ToString(); string Length = ActUgr.Cells["DB_LENGTH"].Value.ToString(); string GradeName = ActUgr.Cells["GRADENAME"].Value.ToString(); string Section = ActUgr.Cells["PIPE_SECTION"].Value.ToString(); dataTable1.Clear(); ugbColClear(); DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmHotCheck.getBackSlabForContractNo", new object[] { GradeName, Length, Section, _PlineCode }, this._ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable1, true); } } /// /// 已组炉计划激活行单击事件 /// /// /// private void ultraGrid2_AfterRowActivate(object sender, EventArgs e) { if (ultraGrid2.ActiveRow == null) { return; } ActUgr1 = ultraGrid2.ActiveRow; ActJudgeStoveNo = ActUgr1.Cells["JUDGE_STOVE_NO"].Value.ToString(); proPlanId = ActUgr1.Cells["PRO_PLAN_ID"].Value.ToString(); gxPlanNo = ActUgr1.Cells["GX_PLAN_NO"].Value.ToString(); ActID = ActUgr1.Cells["ID"].Value.ToString(); dataTable2.Clear(); DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmHotCheck.getBackSlabForJudgeStoveNo", new object[] { ActJudgeStoveNo }, this._ob); GridHelper.CopyDataToDatatable(ref dt, ref dataTable2, true); } private void chkContractNo_CheckedChanged(object sender, EventArgs e) { if (chkContractNo.Checked) { txtContractNo.Enabled = true; } else { txtContractNo.Enabled = false; } if (chkLotNo1.Checked) { txtLotNo.Enabled = true; } else { txtLotNo.Enabled = false; } if (chkJudgeNo1.Checked) { txtJudgeStoveNo.Enabled = true; } else { txtJudgeStoveNo.Enabled = false; } if (chkContractNo1.Checked) { txtContractNo1.Enabled = true; } else { txtContractNo1.Enabled = false; } if (chkSteelName.Checked) { txtSteelName.Enabled = true; } else { txtSteelName.Enabled = false; } if (chkLength.Checked) { txtLength.Enabled = true; } else { txtLength.Enabled = false; } if (chkSection.Checked) { txtSection.Enabled = true; } else { txtSection.Enabled = false; } if (chkDate.Checked) { this.udtDate.Enabled = true; } else { this.udtDate.Enabled = false; } } /// /// 组炉回退 /// /// /// private void ultraButton1_Click(object sender, EventArgs e) { if (ultraGrid2.ActiveRow == null) { return; } if (ultraGrid2.ActiveRow.Cells["STATUS"].Value.ToString() != "00") { MessageBox.Show("炉号【" + BaseMethod.getJudgeStoveNo(ActJudgeStoveNo) + "】已开始轧制,不能回退", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (MessageUtil.ShowYesNoAndQuestion("确认炉号【" + BaseMethod.getJudgeStoveNo(ActJudgeStoveNo) + "】回退?") == DialogResult.No) { return; } string ValueList = ""; if (ultraGrid1.Rows.Count > 1) { int i = 1; foreach (UltraGridRow ugr in ultraGrid1.Rows) { if (i == 1) { ValueList += "( '" + ugr.Cells["MAT_NO"].Value.ToString() + "'"; } else if (i == ultraGrid1.Rows.Count) { ValueList += ",'" + ugr.Cells["MAT_NO"].Value.ToString() + "')"; } else { ValueList += ",'" + ugr.Cells["MAT_NO"].Value.ToString() + "'"; } i++; } } else { ValueList += "( '" + ultraGrid1.ActiveRow.Cells["MAT_NO"].Value.ToString() + "')"; } int Count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FrmHotCheck.BackFurSlab", new object[] { ActJudgeStoveNo, ActID, ValueList, proPlanId, gxPlanNo }, this._ob); //MessageBox.Show("回退成功。"); BlacPlanQuery(); } //勾选主炉号的行 public static List UltraGridGetCHKMAINRows(UltraGrid grid, string columnName = "CHKMAIN") { grid.UpdateData(); List list = new List(); RowsCollection rows = grid.Rows; foreach (var item in rows) { try { if (Convert.ToBoolean(item.Cells[columnName].Value) == true && item.Hidden == false && item.IsFilteredOut == false) { list.Add(item); } } catch { } } return list; } /// /// 回炉坯组炉 /// /// /// private void btnZP_Click(object sender, EventArgs e) { if (chkNodeQuery.ActiveRow == null) { return; } string JudgeStoveNo = ""; string proPlanId1 = ""; string gxPlanNo1 = ""; string ValueList = ""; string contractNo = "";//修改合同号 string RollLength = "";//修改轧制长度 string RESULT_NO = ""; if (ckrContrack.Checked) { if (cmbContrack.Value.Equals("")) { MessageBox.Show("请输入或选择合同号号!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else { contractNo = cmbContrack.Value.ToString(); } } if (ckrRollLength.Checked) { if (cmbRollLength.Text.Trim().ToString().Equals("")) { MessageBox.Show("请输入或选择合同号号!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else { RollLength = cmbRollLength.Text.Trim().ToString(); } } //天淮508机组产线自动生成炉号 if (_PlineCode.Equals("C072")) { List list = UltraGridGetCHKMAINRows(ultraGrid_GHDL); if (list.Count == 0) { MessageBox.Show("请勾选主炉生产批号!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } //批号 txtZPLotNo.Text = list[0].Cells["LOT_NO"].Value.ToString(); //炉号 txtZPJudgeNo.Text = ServerHelper.GetData("com.steering.mes.signature.FrmDownlineManage.doQueryZpJudgeStoveNo", new Object[] { "D" }, this.ob).Rows[0][0].ToString(); } else { if (string.IsNullOrEmpty(txtZPJudgeNo.Text)) { MessageBox.Show("请输入回炉坯组炉炉号!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (string.IsNullOrEmpty(this.txtZPLotNo.Text)) { MessageBox.Show("请输入回炉坯组炉批号!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (txtZPJudgeNo.Text.Trim().Length != 6) { MessageBox.Show("请输入6位组炉炉号!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } //查询该炉号是否已经存在 DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmHotCheck.IsUsedJudgeStoveNo", new object[] { txtZPJudgeNo.Text + "-01" }, this._ob); if (dt.Rows.Count > 0) { MessageBox.Show("炉号【" + txtZPJudgeNo.Text + "】已存在,请更换组炉炉号!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } ultraGrid_GHDL.UpdateData(); IQueryable urows = ultraGrid_GHDL.Rows.AsQueryable().Where("CHK = 'True'"); int MatNum = urows.Count(); if (MatNum == 0) { MessageBox.Show("请选择需要组炉的回炉坯料!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } int i = 1; if (MatNum > 1) { string CONTRACT_NO = ""; foreach (UltraGridRow ugr in urows) { if (CONTRACT_NO.Equals("")) { CONTRACT_NO = ugr.Cells["CONTRACT_NO"].Value.ToString(); } else { if (!ugr.Cells["CONTRACT_NO"].Value.ToString().Equals(CONTRACT_NO)) { MessageBox.Show("合同号不一致,不允许组炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } } //查询组炉的炉号之前是不是回炉坯炉号 DataTable dtZp = ServerHelper.GetData("com.steering.mes.zgmil.coup.FrmHotCheck.IsZpJudgeStoveNo", new object[] { ugr.Cells["JUDGE_STOVE_NO"].Value.ToString() }, this._ob); if (dtZp.Rows.Count > 0) { MessageBox.Show("炉号【" + ugr.Cells["JUDGE_STOVE_NO"].Value.ToString() + "】是回炉坯炉号,不允许再次组炉!", "提示:", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (i == 1) { JudgeStoveNo = ugr.Cells["JUDGE_STOVE_NO"].Value.ToString(); proPlanId1 = ugr.Cells["PRO_PLAN_ID"].Value.ToString(); gxPlanNo1 = ugr.Cells["GX_PLAN_NO"].Value.ToString(); RESULT_NO = ugr.Cells["RESULT_NO"].Value.ToString(); ValueList += "( '" + ugr.Cells["MAT_NO"].Value.ToString() + "'"; } else if (i == MatNum) { ValueList += ",'" + ugr.Cells["MAT_NO"].Value.ToString() + "')"; } else { ValueList += ",'" + ugr.Cells["MAT_NO"].Value.ToString() + "'"; } i++; } } else { JudgeStoveNo = ultraGrid_GHDL.ActiveRow.Cells["JUDGE_STOVE_NO"].Value.ToString(); proPlanId1 = ultraGrid_GHDL.ActiveRow.Cells["PRO_PLAN_ID"].Value.ToString(); gxPlanNo1 = ultraGrid_GHDL.ActiveRow.Cells["GX_PLAN_NO"].Value.ToString(); RESULT_NO = ultraGrid_GHDL.ActiveRow.Cells["RESULT_NO"].Value.ToString(); ValueList += "( '" + ultraGrid_GHDL.ActiveRow.Cells["MAT_NO"].Value.ToString() + "')"; } Feedplan.ResultNo = RESULT_NO; Feedplan.LotNo = txtZPLotNo.Text; Feedplan.JudgeStoveNo = txtZPJudgeNo.Text + "-01"; Feedplan.StoveNo = ""; Feedplan.PlineCode = _PlineCode; Feedplan.ProPlanId = proPlanId1; Feedplan.GxPlanNo = gxPlanNo1; int Count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FrmHotCheck.BackSlabGroup", new object[] { JudgeStoveNo, txtZPJudgeNo.Text, txtZPLotNo.Text, MatNum, ValueList, _UserName, _Shift, _Group, contractNo, RollLength, proPlanId1, gxPlanNo1, Feedplan }, this._ob); if (Count > 0) { MessageBox.Show("组炉成功。"); } BackSlabQuery(); } private void ultraTabControl1_SelectedTabChanged(object sender, Infragistics.Win.UltraWinTabControl.SelectedTabChangedEventArgs e) { BackSlabQuery(); BlacPlanQuery(); } private void chkDate_CheckedChanged(object sender, EventArgs e) { if (ckrContrack.Checked) { cmbContrack.Enabled = true; } else { cmbContrack.Enabled = false; } if (ckrRollLength.Checked) { cmbRollLength.Enabled = true; } else { cmbRollLength.Enabled = false; } } private void FrmBackSlab_Load(object sender, EventArgs e) { } /// /// ugbColr的Clear()方法 /// private void ugbColClear() { txtZPLotNo.Text = ""; txtZPJudgeNo.Text = ""; cmbContrack.Text = ""; cmbRollLength.Text = ""; ckrContrack.Checked = false; ckrRollLength.Checked = false; } } }