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 System.Collections; using CoreFS.CA06; using PrintSolution; namespace Core.LZMes.Client.UIM.UIM02 { public partial class UIM020080 : FrmBase { private int coil_no_index = -1;//冷轧卷在轧制计划的下标位置 public UIM020080() { InitializeComponent(); } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": this.DoQuery(); break; case "Export": this.DoExport(); break; case "Save": this.DoSave(); break; case "Print": this.DoPrint(); break; case "Exit": this.Close(); break; } } private void UIM020080_Load(object sender, EventArgs e) { CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIM.UIM02.UIM020040"; ccp.MethodName = "queryInterimCalNo"; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); ArrayList list = (ArrayList)(ccp.ReturnObject); if (list != null) { int listSize = list.Count; Infragistics.Win.ValueListItem[] valueListItems = new Infragistics.Win.ValueListItem[listSize]; for (int i = 0; i < listSize; i++) { Infragistics.Win.ValueListItem item = new Infragistics.Win.ValueListItem(); string[] param = (string[])list[i]; item.DataValue = param[1]; item.DisplayText = param[1]; ; valueListItems[i] = item; } this.ultraComboEditor1.Items.AddRange(valueListItems); } ArrayList list2 = (ArrayList)(ccp.ReturnObject); if (list2 != null) { int listSize = list2.Count; Infragistics.Win.ValueListItem[] valueListItems2 = new Infragistics.Win.ValueListItem[listSize]; for (int i = 0; i < listSize; i++) { Infragistics.Win.ValueListItem item2 = new Infragistics.Win.ValueListItem(); string[] param = (string[])list2[i]; item2.DataValue = param[1]; item2.DisplayText = param[1]; ; valueListItems2[i] = item2; } this.ultraComboEditor4.Items.AddRange(valueListItems2); } } /// /// 查询连退计划 /// private void DoQuery() { bool flag = false; string calNo = this.ultraComboEditor1.Text.Trim(); string calNo2 = this.ultraComboEditor4.Text.Trim(); string pFromDate = null == this.ultraDateTimeEditor1.Value ? "" : this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd"); string pToDate = null == this.ultraDateTimeEditor2.Value ? "" : this.ultraDateTimeEditor2.DateTime.ToString("yyyyMMdd"); string mToDate = null == this.ultraDateTimeEditor3.Value ? "" : this.ultraDateTimeEditor3.DateTime.ToString("yyyyMMdd"); string mFromDate = null == this.ultraDateTimeEditor4.Value ? "" : this.ultraDateTimeEditor4.DateTime.ToString("yyyyMMdd"); string ordNo = textBox3.Text.Trim(); string ordSeq = textBox1.Text.Trim(); if ("".Equals(calNo) && "".Equals(ordNo) && "".Equals(calNo2)) { if ("".Equals(mFromDate) || "".Equals(mToDate) || (ultraDateTimeEditor4.DateTime - ultraDateTimeEditor3.DateTime).Days > 30) { if ("".Equals(pFromDate) || "".Equals(pToDate) || (ultraDateTimeEditor2.DateTime - ultraDateTimeEditor1.DateTime).Days > 30) { MessageBox.Show("请选择合适的查询条件后再进行查询操作,否则导致数据量过大!"); return; } } } if (calNo == "") flag = true; this.dataSet1.Tables[0].Clear(); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIM.UIM02.UIM020040"; ccp.MethodName = "queryInterimCalPlan"; ccp.ServerParams = new Object[] { calNo, calNo2, pFromDate, pToDate, mFromDate, mToDate, ordNo, ordSeq, flag }; ccp.SourceDataTable = this.dataSet1.Tables[0]; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); coil_no_index = -1; DataRowCollection drs = dataSet1.Tables[0].Rows; for (int i = 0; i < drs.Count; i++) { Color color = Color.FromArgb(255, 255, 255); string status = drs[i]["STATUS_CD"].ToString().Trim(); double coilWth = double.Parse(drs[i]["C_COIL_WTH"].ToString().Trim()); double ordWth = double.Parse(drs[i]["ORD_WTH"].ToString().Trim()); string ingDecGrd = drs[i]["INGR_DEC_GRD"].ToString().Trim(); if ("轧制吊销".Equals(status)) { color = Color.FromArgb(255, 128, 128); } else if ("轧制进行".Equals(status)) { color = Color.FromArgb(0, 192, 0); if (coilWth < ordWth) { color = Color.SandyBrown; } } else if ("轧制完成".Equals(status)) { color = Color.FromArgb(192, 255, 192); } else if ("上料完成".Equals(status)) { color = Color.FromArgb(192, 192, 255); } else if ("轧废".Equals(status)) { color = Color.FromArgb(192, 192, 192); } else { if (!"合格".Equals(ingDecGrd)) { color = Color.FromArgb(255, 204, 0); } else if (coilWth < ordWth) { color = Color.SandyBrown; } } ultraGrid1.Rows[i].Appearance.BackColor = color; } } public void DoSave() { try { CoreClientParam ccp; ArrayList paramArray; string coilNO = ""; string coilThk = ""; string coilWth = ""; this.ultraGrid1.UpdateData(); DataRow[] selectedRows = this.dataSet1.Tables[0].Select("CHK ='True'"); //this.ultraGrid2.ActiveRow.Cells["CHK"].Text == "True" string msg = ""; string retCD = ""; for (int i = 0; i < selectedRows.Length; i++) { coilNO = selectedRows[i]["C_COIL_NO"].ToString(); coilThk = selectedRows[i]["MANU_COIL_THK"].ToString(); coilWth = selectedRows[i]["MANU_COIL_WTH"].ToString(); ccp = new CoreClientParam(); paramArray = new ArrayList(); paramArray.Add("UIM020040_01.update"); paramArray.Add(coilThk); paramArray.Add(coilWth); paramArray.Add(coilNO); ccp.ServerName = "UIB.COM.ComDBSave"; ccp.MethodName = "doXmlSave"; ccp.ServerParams = new object[] { paramArray }; //ccp.SourceDataTable = this.dataSet1.Tables[0]; this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); } } catch (Exception EX) { MessageBox.Show(EX.ToString()); } this.DoQuery(); } private void DoExport() { try { if (this.saveFileDialog1.ShowDialog(this) == DialogResult.OK) { string fileName = this.saveFileDialog1.FileName; this.ultraGrid1.DisplayLayout.Bands[0].Columns["STATUS_CD"].Hidden = true; this.ultraGrid1.DisplayLayout.Bands[0].Columns["C_EXTSHAPE_REQ"].Hidden = true; this.ultraGrid1.DisplayLayout.Bands[0].Columns["ACID_PROD_PATH"].Hidden = true; this.ultraGrid1.DisplayLayout.Bands[0].Columns["BZ"].Hidden = true; this.ultraGrid1.DisplayLayout.Bands[0].Columns["ORDCUST_CD"].Hidden = true; this.ultraGrid1.DisplayLayout.Bands[0].Columns["INGR_DEC_GRD"].Hidden = true; this.ultraGrid1.DisplayLayout.AutoFitStyle = Infragistics.Win.UltraWinGrid.AutoFitStyle.None; ultraGridExcelExporter1.Export(ultraGrid1, fileName); System.Diagnostics.Process.Start(fileName); this.ultraGrid1.BeginUpdate(); this.ultraGrid1.DisplayLayout.Bands[0].Columns["STATUS_CD"].Hidden = true; this.ultraGrid1.DisplayLayout.Bands[0].Columns["C_EXTSHAPE_REQ"].Hidden = true; this.ultraGrid1.DisplayLayout.Bands[0].Columns["ACID_PROD_PATH"].Hidden = true; this.ultraGrid1.DisplayLayout.Bands[0].Columns["BZ"].Hidden = true; this.ultraGrid1.DisplayLayout.Bands[0].Columns["ORDCUST_CD"].Hidden = true; this.ultraGrid1.DisplayLayout.Bands[0].Columns["INGR_DEC_GRD"].Hidden = true; this.ultraGrid1.DisplayLayout.AutoFitStyle = Infragistics.Win.UltraWinGrid.AutoFitStyle.ExtendLastColumn; this.ultraGrid1.EndUpdate(); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } private void DoPrint() { if (MessageBox.Show("您确认流程卡打印信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { if (coil_no_index >= 0) { Infragistics.Win.UltraWinGrid.UltraGridRow uRow = ultraGrid1.Rows[coil_no_index]; ArrayList param = new ArrayList(); param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_COIL_NO"].Value.ToString().Trim().Substring(0,9)); param.Add(ultraGrid1.Rows[coil_no_index].Cells["H_STEELCODE"].Value.ToString().Trim()); param.Add(ultraGrid1.Rows[coil_no_index].Cells["H_COIL_NO"].Value.ToString().Trim()); param.Add(ultraGrid1.Rows[coil_no_index].Cells["H_COILSIZE"].Value.ToString().Trim()); param.Add(ultraGrid1.Rows[coil_no_index].Cells["H_COILWGT"].Value.ToString().Trim()); param.Add(ultraGrid1.Rows[coil_no_index].Cells["SPEC_STL_GRD"].Value.ToString().Trim()); param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_COIL_NO"].Value.ToString().Trim()); param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_COIL_THK"].Value.ToString().Trim() + "*" + ultraGrid1.Rows[coil_no_index].Cells["C_COIL_WTH"].Value.ToString().Trim()); string prodLine = ultraGrid1.Rows[coil_no_index].Cells["PROD_LINE"].Value.ToString().Trim(); if (prodLine == "L") { param.Add("否"); param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_TOT_DEC_GRD"].Value.ToString().Trim()); param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_CAUSE"].Value.ToString().Trim()); param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_ACT_WGT"].Value.ToString().Trim()); param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_CUR_LOAD_LOC"].Value.ToString().Trim()); param.Add("连退"); param.Add("是"); } else { param.Add("是"); param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_TOT_DEC_GRD"].Value.ToString().Trim()); param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_CAUSE"].Value.ToString().Trim()); param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_ACT_WGT"].Value.ToString().Trim()); param.Add(ultraGrid1.Rows[coil_no_index].Cells["C_CUR_LOAD_LOC"].Value.ToString().Trim()); param.Add("酸轧成品"); param.Add("否"); } try { ExcelPrinter ePrinter = new ExcelPrinter("FlowCard2.xml", param); ePrinter.PageSetup.IsCustom = true; ePrinter.PageSetup.TopMargin = 40; ePrinter.PageSetup.BottomMargin = 1; ePrinter.PageSetup.LeftMargin = 12; ePrinter.PageSetup.RightMargin = 0.5; ePrinter.Orientation = 1;//横向打印 ePrinter.printExcel(); } catch (Exception ex) { MessageBox.Show("打印失败,请关闭程序后重新操作!"); return; } } else { MessageBox.Show("请选择打印钢卷!"); return; } } } private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { ultraGrid1.UpdateData(); if (e.Cell.Column.Key.Equals("CHK")) { if (Convert.ToBoolean(e.Cell.Value)) { string C_COILNO = e.Cell.Row.Cells["C_COIL_NO"].Text.Trim(); if (coil_no_index != -1) { ultraGrid1.Rows[coil_no_index].Cells["CHK"].Value = false; } coil_no_index = e.Cell.Row.Index; } else { coil_no_index = -1; } } } } }