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 System.Collections; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Tool; using Infragistics.Win.UltraWinEditors; using System.Text.RegularExpressions; using com.steering.mes.fprecall; namespace Core.StlMes.Client.MilCount { public partial class FrmFPRecall : FrmBase { public FrmFPRecall() { InitializeComponent(); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "doQuery": doQuery(); break; case "doModify": Update(); break; case "DoTB": DoTB(); break; // break; //case "doResume": // this.doDeleteOrResume(false); // break; //case "Close": // this.Close(); //break; } } private void doQuery() { string titleName = ""; if (ultraCheckEditor2.Checked) { titleName = txt_lh.Text.Trim(); DataTable dt = ServerHelper.GetData("com.steering.mes.fprecall.corefprecall.getLineList", new Object[] { titleName}, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true); } else { DataTable dt = ServerHelper.GetData("com.steering.mes.fprecall.corefprecall.getLineList_all", null, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true); } DataTable dt1 = ServerHelper.GetData("com.steering.mes.fprecall.corefprecall.getFPJY", null, this.ob); GridHelper.CopyDataToDatatable(ref dt1, ref this.dataTable2, true); GridHelper.RefreshAndAutoSize(this.ultraGrid1); GridHelper.RefreshAndAutoSize(this.ultraGrid2); foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in ultraGrid1.Rows) { if (row.Cells["管判定支"].Value.ToString() == row.Cells["管计划总支"].Value.ToString() && row.Cells["管计划总支"].Value.ToString() != "") { row.Appearance.BackColor = Color.Bisque; } if (row.Cells["成品计划支"].Value.ToString() == row.Cells["管判定支"].Value.ToString()) { row.Appearance.BackColor = Color.GreenYellow; } } //不同颜色区分是否有效数据 //Infragistics.Win.UltraWinGrid.UltraGridRow row = null; //for (int i = 0; i < ultraGrid2.Rows.Count; i++) //{ // row = ultraGrid2.Rows[i]; // if (!row.Cells["VALIDFLAG"].Value.ToString().Equals("1")) // { // row.Appearance.ForeColor = Color.Red; // } // else // { // row.Appearance.ForeColor = Color.Black; // } //} //列自适应 //GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid2, new UltraGridColumn[] { // ultraGrid2.DisplayLayout.Bands[0].Columns["MEMO"] //}); } String ID = ""; String PZzhi = ""; String PZdun = ""; String GPzhi = ""; String GPdun = ""; String Length = ""; private void ultraGrid1_AfterRowActivate(object sender, EventArgs e) { Infragistics.Win.UltraWinGrid.UltraGridRow row = ultraGrid1.ActiveRow; if (row != null) { //STEELCODE,STEELNAME,STEELSTYLE ID = row.Cells["标识ID"].Value.ToString(); txt_lcode.Text = row.Cells["上料炉号"].Value.ToString(); Length = ""; PZzhi = row.Cells["上料合计单倍尺支"].Value.ToString(); PZdun = row.Cells["上料合计单倍尺吨"].Value.ToString(); GPzhi = row.Cells["成品计划支"].Value.ToString(); GPdun = row.Cells["成品计划吨"].Value.ToString(); } } private void initJGDropDown(UltraComboEditor uce, string MethodId, string memberValue) { //初始化编辑区域下拉框 DataTable dt = ServerHelper.GetData(MethodId, null, this.ob); if (dt != null && dt.Rows.Count > 0) { uce.DataSource = dt; uce.ValueMember = memberValue; } } private void FrmFPRecall_Load(object sender, EventArgs e) { InitCombo(); txt_fz.Enabled = false; } private void InitCombo() { initJGDropDown(cmbGXType, "com.steering.mes.fprecall.corefprecall.getGXType", "GX_Detail"); initJGDropDown(cmbleixing, "com.steering.mes.fprecall.corefprecall.getLeiXing", "FP_Detail"); initJGDropDown(com_gx, "com.steering.mes.fprecall.corefprecall.getGX", "GXMC"); } private void Update() { string para = @"^(\d+(\.\d+)?)|(\-1)$";//正则式 Regex reg = new Regex(para); if (reg.IsMatch(txt_fd.Text) && reg.IsMatch(txt_fz.Text)) { if (MessageUtil.ShowYesNoAndQuestion("是否确认修改?") == DialogResult.No) { return; } ArrayList list = new ArrayList(); list.Add(ID.Trim());//cmbGradeType.Value list.Add(cmbleixing.Value); list.Add(txt_fz.Text.Trim()); list.Add(txt_fd.Text.Trim()); list.Add(""); list.Add(com_gx.Value); list.Add(cmbGXType.Value); list.Add(ultraGrid1.ActiveRow.Cells["产出炉号"].Value.ToString()); list.Add(ultraGrid1.ActiveRow.Cells["轧批号"].Value.ToString()); list.Add(ultraGrid1.ActiveRow.Cells["外径"].Value.ToString()); list.Add(ultraGrid1.ActiveRow.Cells["壁厚"].Value.ToString()); list.Add(ultraGrid1.ActiveRow.Cells["上料炉号"].Value.ToString()); list.Add(ultraGrid1.ActiveRow.Cells["计划年月"].Value.ToString()); list.Add(ultraGrid1.ActiveRow.Cells["合同号"].Value.ToString()); ArrayList list2 = new ArrayList(); //cmbGradeType.Value list2.Add(ID.Trim()); list2.Add(ultraGrid1.ActiveRow.Cells["轧批号"].Value.ToString()); list2.Add(ultraGrid1.ActiveRow.Cells["产出炉号"].Value.ToString()); if (cmbGXType.Value.ToString() == "穿孔前") { list2.Add(txt_fz.Text.Trim()); list2.Add(txt_fd.Text.Trim()); list2.Add("0"); list2.Add("0"); } else { list2.Add("0"); list2.Add("0"); list2.Add(txt_fz.Text.Trim()); list2.Add(txt_fd.Text.Trim()); } list2.Add(ultraGrid1.ActiveRow.Cells["计划年月"].Value.ToString()); list2.Add(ultraGrid1.ActiveRow.Cells["上料炉号"].Value.ToString()); list2.Add("20"); ArrayList list3 = new ArrayList(); //cmbGradeType.Value list3.Add(cmbGXType.Value.ToString()); list3.Add(txt_fz.Text.Trim()); list3.Add(txt_fd.Text.Trim()); list3.Add(ID.Trim()); ServerHelper.SetData("com.steering.mes.fprecall.corefprecall.update", new object[] { list, list2, list3 }, ob); MessageUtil.ShowTips("修改成功!"); doQuery(); } else { MessageBox.Show("请输入数字!"); return; } } private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e) { if (ultraCheckEditor2.Checked) { txt_lh.ReadOnly = false; } else { txt_lh.ReadOnly = true; } } private void txt_fd_KeyPress(object sender, KeyPressEventArgs e) { //if (!(Char.IsNumber(e.KeyChar)) && e.KeyChar != (char)8) //{ // e.Handled = true; //} //else //{ // MessageBox.Show("请输入数字!"); //} } private void cmbGXType_ValueChanged(object sender, EventArgs e) { txt_fz.Enabled = true; txt_fz.Text = ""; txt_fd.Text = ""; } private void txt_fz_TextChanged(object sender, EventArgs e) { if (txt_fz.Text == "") { txt_fz.Text = "0"; } if (cmbGXType.SelectedItem.DataValue.Equals("穿孔前")) { decimal dun = Int16.Parse(txt_fz.Text) * (decimal.Parse(PZdun) / Int16.Parse(PZzhi)); dun = Math.Round(dun, 3); txt_fd.Text = dun.ToString(); } else { decimal dun = Int16.Parse(txt_fz.Text) * (decimal.Parse(GPdun) / Int16.Parse(GPzhi)); dun = Math.Round(dun, 3); txt_fd.Text = dun.ToString(); } } private void DoTB() { ArrayList list = new ArrayList(); FPPlan TB = new FPPlan(); DateTime date_x = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); String year_x = date_x.Year.ToString(); ;//date_x.Splite("-")[0].ToString();; String month_x = date_x.ToString("MM"); String fin_date = year_x + month_x; if (chk_TB.Checked) { foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in ultraGrid1.Rows) { if (Convert.ToBoolean(row.Cells["CHK"].Value)) { TB.Gkx = ""; TB.GPZ = row.Cells["品种"].Value.ToString(); TB.GSteelGrade = row.Cells["钢种"].Value.ToString(); TB.GSteelLevel = row.Cells["钢级"].Value.ToString(); TB.LlDept = row.Cells["产线"].Value.ToString(); TB.PDM = row.Cells["坯断面"].Value.ToString(); TB.PLGPUnit = row.Cells["坯计划总支"].Value.ToString(); TB.PLKind = row.Cells["坯料品种"].Value.ToString(); TB.PSteelGrade = row.Cells["钢种"].Value.ToString(); TB.PSteelLevel = row.Cells["钢级"].Value.ToString(); TB.JZNY = fin_date; TB.SLGPWeight = row.Cells["坯计划总吨"].Value.ToString(); TB.TARGET = row.Cells["目标"].Value.ToString(); TB.WAIJING = row.Cells["外径"].Value.ToString(); TB.BIHOU = row.Cells["壁厚"].Value.ToString(); TB.CPUnit = row.Cells["管判定支"].Value.ToString(); TB.CPWeight = row.Cells["管判定吨"].Value.ToString(); TB.GPLode = row.Cells["上料炉号"].Value.ToString(); TB.ZGLode = row.Cells["产出炉号"].Value.ToString(); list.Add(TB); } } } else { //foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in ultraGrid1.Rows) //{ // if (row.Cells["管判定支"].Value.ToString() == row.Cells["管计划总支"].Value.ToString() && row.Cells["管计划总支"].Value.ToString() != "") // { // TB.Gkx = ""; // TB.GPZ = row.Cells["品种"].Value.ToString(); // TB.GSteelGrade = row.Cells["钢种"].Value.ToString(); // TB.GSteelLevel = row.Cells["钢级"].Value.ToString(); // TB.LlDept = row.Cells["产线"].Value.ToString(); // TB.PDM = row.Cells["坯断面"].Value.ToString(); // TB.PLGPUnit = row.Cells["坯计划总支"].Value.ToString(); // TB.PLKind = row.Cells["坯料品种"].Value.ToString(); // TB.PSteelGrade = row.Cells["钢种"].Value.ToString(); // TB.PSteelLevel = row.Cells["钢级"].Value.ToString(); // TB.JZNY = fin_date; // TB.SLGPWeight = row.Cells["坯计划总吨"].Value.ToString(); // TB.TARGET = row.Cells["目标"].Value.ToString(); // TB.WAIJING = row.Cells["外径"].Value.ToString(); // TB.BIHOU = row.Cells["壁厚"].Value.ToString(); // TB.CPUnit = row.Cells["管判定支"].Value.ToString(); // TB.CPWeight = row.Cells["管判定吨"].Value.ToString(); // TB.GPLode = row.Cells["上料炉号"].Value.ToString(); // TB.ZGLode = row.Cells["产出炉号"].Value.ToString(); // list.Add(TB); // } //} } ServerHelper.SetData("com.steering.mes.fprecall.corefprecall.tb", new object[] { list }, ob); MessageUtil.ShowTips("提交成功!"); doQuery(); } } }