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; namespace Core.LZMes.Client.UIM.UIM03 { public partial class UIM030900 : FrmBase { public UIM030900() { InitializeComponent(); } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "query": this.DoQuery(); break; case "export": this.DoExport(); break; case "Exit": this.Close(); break; } } private void DoQuery() { try { this.dataSet1.Tables[0].Clear(); string queryDate = this.ultraDateTimeEditor1.Value == null ? "" : this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd"); string queryDate1 = this.ultraDateTimeEditor2.Value == null ? "" : this.ultraDateTimeEditor2.DateTime.ToString("yyyyMMdd"); if (queryDate1.Substring(0, 6) != queryDate.Substring(0, 6)) { MessageBox.Show("请确保两个查询日期在同一月份", "错误"); return; } string queryDate2 = "";//月累统计截止日期 if (queryDate.Substring(0, 6) == DateTime.Today.ToString("yyyyMM"))//查询日期为当月 queryDate2 = DateTime.Today.ToString("yyyyMMdd"); else { DateTime date = ultraDateTimeEditor2.DateTime; queryDate2 = date.AddDays(1 - date.Day).AddMonths(1).AddDays(-1).ToString("yyyyMMdd"); } if (CustomInfo == "2" || CustomInfo == "1" || CustomInfo == "3") { CoreClientParam ccp1 = null; ccp1 = new CoreClientParam(); Hashtable ht = new Hashtable(); ht.Add("i1", this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd")); ht.Add("i2", this.ultraDateTimeEditor2.DateTime.ToString("yyyyMMdd")); ht.Add("o3", ""); //规格明细统计 ccp1.ServerName = "UIB.COM.ComDBProcedure"; ccp1.MethodName = "doXmlProcedure"; if (CustomInfo == "1") ccp1.ServerParams = new object[] { "UIM020010_01_NEW.CALL", ht }; else if (CustomInfo == "2") ccp1.ServerParams = new object[] { "UIM020010_02_NEW.CALL", ht }; else if (CustomInfo == "3") ccp1.ServerParams = new object[] { "UIM020010_03_NEW.CALL", ht }; this.ExecuteNonQuery(ccp1, CoreInvokeType.Internal); //规格明细查询 CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIM.UIM02.UIM020010"; if (CustomInfo == "1") ccp.MethodName = "queryPltcmSizeDetailnew"; else if (CustomInfo == "2") ccp.MethodName = "queryCalSizeDetailnew"; else if (CustomInfo == "3") ccp.MethodName = "queryRclSizeDetailnew"; ccp.ServerParams = null; ccp.SourceDataTable = this.dataSet1.Tables[0]; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); // 合计成材率的计算 #region if (ultraGrid2.Rows.Count > 0) { UltraGridRow ur1 = null; UltraGridRow ur2 = null; UltraGridRow ur3 = null; int n = 0; foreach (UltraGridRow ur in ultraGrid2.Rows) { if (ur.Cells["SPEC_STL_GRD"].Text == "合计" && ur.Cells["PRODUCT_NAME"].Text == "原料") { ur1 = ur; n++; } else if (ur.Cells["SPEC_STL_GRD"].Text == "合计" && ur.Cells["PRODUCT_NAME"].Text == "产量") { ur2 = ur; n++; } else if (ur.Cells["SPEC_STL_GRD"].Text == "合计" && ur.Cells["PRODUCT_NAME"].Text == "成材率") { ur3 = ur; n++; } if (n == 3) break; } //其他各项成材率 //ACT_WGT1 if (double.Parse(ur2.Cells["ACT_WGT1"].Value.ToString()) == 0 || double.Parse(ur1.Cells["ACT_WGT1"].Value.ToString())==0) ur3.Cells["ACT_WGT1"].Value = 0; else { double n1 = double.Parse(ur2.Cells["ACT_WGT1"].Value.ToString()) / double.Parse(ur1.Cells["ACT_WGT1"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["ACT_WGT1"].Value = n1.ToString(); } //ACT_WGT2 if (double.Parse(ur2.Cells["ACT_WGT2"].Value.ToString())==0 || double.Parse(ur1.Cells["ACT_WGT2"].Value.ToString())==0) ur3.Cells["ACT_WGT2"].Value = 0; else { double n1 = double.Parse(ur2.Cells["ACT_WGT2"].Value.ToString()) / double.Parse(ur1.Cells["ACT_WGT2"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["ACT_WGT2"].Value = n1.ToString(); } //ACT_WGT3 if (double.Parse(ur2.Cells["ACT_WGT3"].Value.ToString()) == 0 || double.Parse(ur1.Cells["ACT_WGT3"].Value.ToString()) == 0) ur3.Cells["ACT_WGT3"].Value = 0; else { double n1 = double.Parse(ur2.Cells["ACT_WGT3"].Value.ToString()) / double.Parse(ur1.Cells["ACT_WGT3"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["ACT_WGT3"].Value = n1.ToString(); } //ACT_WGT if (double.Parse(ur2.Cells["ACT_WGT"].Value.ToString()) == 0 || double.Parse(ur1.Cells["ACT_WGT"].Value.ToString()) == 0) ur3.Cells["ACT_WGT"].Value = 0; else { double n1 = double.Parse(ur2.Cells["ACT_WGT"].Value.ToString()) / double.Parse(ur1.Cells["ACT_WGT"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["ACT_WGT"].Value = n1.ToString(); } //SUMACT_WGT1 if (double.Parse(ur2.Cells["SUMACT_WGT1"].Value.ToString()) == 0 || double.Parse(ur1.Cells["SUMACT_WGT1"].Value.ToString()) == 0) ur3.Cells["SUMACT_WGT1"].Value = 0; else { double n1 = double.Parse(ur2.Cells["SUMACT_WGT1"].Value.ToString()) / double.Parse(ur1.Cells["SUMACT_WGT1"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["SUMACT_WGT1"].Value = n1.ToString(); } //SUMACT_WGT2 if (double.Parse(ur2.Cells["SUMACT_WGT2"].Value.ToString()) == 0 || double.Parse(ur1.Cells["SUMACT_WGT2"].Value.ToString()) == 0) ur3.Cells["SUMACT_WGT2"].Value = 0; else { double n1 = double.Parse(ur2.Cells["SUMACT_WGT2"].Value.ToString()) / double.Parse(ur1.Cells["SUMACT_WGT2"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["SUMACT_WGT2"].Value = n1.ToString(); } //SUMACT_WGT3 if (double.Parse(ur2.Cells["SUMACT_WGT3"].Value.ToString()) == 0 || double.Parse(ur1.Cells["SUMACT_WGT3"].Value.ToString()) == 0) ur3.Cells["SUMACT_WGT3"].Value = 0; else { double n1 = double.Parse(ur2.Cells["SUMACT_WGT3"].Value.ToString()) / double.Parse(ur1.Cells["SUMACT_WGT3"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["SUMACT_WGT3"].Value = n1.ToString(); } //SUMACT_WGT if (double.Parse(ur2.Cells["SUMACT_WGT"].Value.ToString()) == 0 || double.Parse(ur1.Cells["SUMACT_WGT"].Value.ToString()) == 0) ur3.Cells["SUMACT_WGT"].Value = 0; else { double n1 = double.Parse(ur2.Cells["SUMACT_WGT"].Value.ToString()) / double.Parse(ur1.Cells["SUMACT_WGT"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["SUMACT_WGT"].Value = n1.ToString(); } //、、、、、、、、、、、、、、、、、、 if (double.Parse(ur2.Cells["ACT_WGT7"].Value.ToString()) == 0 || double.Parse(ur1.Cells["ACT_WGT7"].Value.ToString()) == 0) ur3.Cells["ACT_WGT7"].Value = 0; else { double n1 = double.Parse(ur2.Cells["ACT_WGT7"].Value.ToString()) / double.Parse(ur1.Cells["ACT_WGT7"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["ACT_WGT7"].Value = n1.ToString(); } //ACT_WGT2 if (double.Parse(ur2.Cells["ACT_WGT8"].Value.ToString()) == 0 || double.Parse(ur1.Cells["ACT_WGT8"].Value.ToString()) == 0) ur3.Cells["ACT_WGT8"].Value = 0; else { double n1 = double.Parse(ur2.Cells["ACT_WGT8"].Value.ToString()) / double.Parse(ur1.Cells["ACT_WGT8"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["ACT_WGT8"].Value = n1.ToString(); } //ACT_WGT3 if (double.Parse(ur2.Cells["ACT_WGT9"].Value.ToString()) == 0 || double.Parse(ur1.Cells["ACT_WGT9"].Value.ToString()) == 0) ur3.Cells["ACT_WGT9"].Value = 0; else { double n1 = double.Parse(ur2.Cells["ACT_WGT9"].Value.ToString()) / double.Parse(ur1.Cells["ACT_WGT9"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["ACT_WGT9"].Value = n1.ToString(); } if (double.Parse(ur2.Cells["ACT_WGT10"].Value.ToString()) == 0 || double.Parse(ur1.Cells["ACT_WGT10"].Value.ToString()) == 0) ur3.Cells["ACT_WGT10"].Value = 0; else { double n1 = double.Parse(ur2.Cells["ACT_WGT10"].Value.ToString()) / double.Parse(ur1.Cells["ACT_WGT10"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["ACT_WGT10"].Value = n1.ToString(); } if (double.Parse(ur2.Cells["ACT_WGT11"].Value.ToString()) == 0 || double.Parse(ur1.Cells["ACT_WGT11"].Value.ToString()) == 0) ur3.Cells["ACT_WGT11"].Value = 0; else { double n1 = double.Parse(ur2.Cells["ACT_WGT11"].Value.ToString()) / double.Parse(ur1.Cells["ACT_WGT11"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["ACT_WGT11"].Value = n1.ToString(); } if (double.Parse(ur2.Cells["ACT_WGT12"].Value.ToString()) == 0 || double.Parse(ur1.Cells["ACT_WGT12"].Value.ToString()) == 0) ur3.Cells["ACT_WGT12"].Value = 0; else { double n1 = double.Parse(ur2.Cells["ACT_WGT12"].Value.ToString()) / double.Parse(ur1.Cells["ACT_WGT12"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["ACT_WGT12"].Value = n1.ToString(); } if (double.Parse(ur2.Cells["ACT_WGT13"].Value.ToString()) == 0 || double.Parse(ur1.Cells["ACT_WGT13"].Value.ToString()) == 0) ur3.Cells["ACT_WGT13"].Value = 0; else { double n1 = double.Parse(ur2.Cells["ACT_WGT13"].Value.ToString()) / double.Parse(ur1.Cells["ACT_WGT13"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["ACT_WGT13"].Value = n1.ToString(); } if (double.Parse(ur2.Cells["ACT_WGT14"].Value.ToString()) == 0 || double.Parse(ur1.Cells["ACT_WGT14"].Value.ToString()) == 0) ur3.Cells["ACT_WGT14"].Value = 0; else { double n1 = double.Parse(ur2.Cells["ACT_WGT14"].Value.ToString()) / double.Parse(ur1.Cells["ACT_WGT14"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["ACT_WGT14"].Value = n1.ToString(); } if (double.Parse(ur2.Cells["ACT_WGT15"].Value.ToString()) == 0 || double.Parse(ur1.Cells["ACT_WGT15"].Value.ToString()) == 0) ur3.Cells["ACT_WGT15"].Value = 0; else { double n1 = double.Parse(ur2.Cells["ACT_WGT15"].Value.ToString()) / double.Parse(ur1.Cells["ACT_WGT15"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["ACT_WGT15"].Value = n1.ToString(); } //SUMACT_WGT1 if (double.Parse(ur2.Cells["SUMACT_WGT7"].Value.ToString()) == 0 || double.Parse(ur1.Cells["SUMACT_WGT7"].Value.ToString()) == 0) ur3.Cells["SUMACT_WGT7"].Value = 0; else { double n1 = double.Parse(ur2.Cells["SUMACT_WGT7"].Value.ToString()) / double.Parse(ur1.Cells["SUMACT_WGT7"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["SUMACT_WGT7"].Value = n1.ToString(); } //SUMACT_WGT2 if (double.Parse(ur2.Cells["SUMACT_WGT8"].Value.ToString()) == 0 || double.Parse(ur1.Cells["SUMACT_WGT8"].Value.ToString()) == 0) ur3.Cells["SUMACT_WGT8"].Value = 0; else { double n1 = double.Parse(ur2.Cells["SUMACT_WGT8"].Value.ToString()) / double.Parse(ur1.Cells["SUMACT_WGT8"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["SUMACT_WGT8"].Value = n1.ToString(); } //SUMACT_WGT3 if (double.Parse(ur2.Cells["SUMACT_WGT9"].Value.ToString()) == 0 || double.Parse(ur1.Cells["SUMACT_WGT9"].Value.ToString()) == 0) ur3.Cells["SUMACT_WGT9"].Value = 0; else { double n1 = double.Parse(ur2.Cells["SUMACT_WGT9"].Value.ToString()) / double.Parse(ur1.Cells["SUMACT_WGT9"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["SUMACT_WGT9"].Value = n1.ToString(); } if (double.Parse(ur2.Cells["SUMACT_WGT10"].Value.ToString()) == 0 || double.Parse(ur1.Cells["SUMACT_WGT10"].Value.ToString()) == 0) ur3.Cells["SUMACT_WGT10"].Value = 0; else { double n1 = double.Parse(ur2.Cells["SUMACT_WGT10"].Value.ToString()) / double.Parse(ur1.Cells["SUMACT_WGT10"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["SUMACT_WGT10"].Value = n1.ToString(); } if (double.Parse(ur2.Cells["SUMACT_WGT11"].Value.ToString()) == 0 || double.Parse(ur1.Cells["SUMACT_WGT11"].Value.ToString()) == 0) ur3.Cells["SUMACT_WGT11"].Value = 0; else { double n1 = double.Parse(ur2.Cells["SUMACT_WGT11"].Value.ToString()) / double.Parse(ur1.Cells["SUMACT_WGT11"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["SUMACT_WGT11"].Value = n1.ToString(); } if (double.Parse(ur2.Cells["SUMACT_WGT12"].Value.ToString()) == 0 || double.Parse(ur1.Cells["SUMACT_WGT12"].Value.ToString()) == 0) ur3.Cells["SUMACT_WGT12"].Value = 0; else { double n1 = double.Parse(ur2.Cells["SUMACT_WGT12"].Value.ToString()) / double.Parse(ur1.Cells["SUMACT_WGT12"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["SUMACT_WGT12"].Value = n1.ToString(); } if (double.Parse(ur2.Cells["SUMACT_WGT13"].Value.ToString()) == 0 || double.Parse(ur1.Cells["SUMACT_WGT13"].Value.ToString()) == 0) ur3.Cells["SUMACT_WGT13"].Value = 0; else { double n1 = double.Parse(ur2.Cells["SUMACT_WGT13"].Value.ToString()) / double.Parse(ur1.Cells["SUMACT_WGT13"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["SUMACT_WGT13"].Value = n1.ToString(); } if (double.Parse(ur2.Cells["SUMACT_WGT14"].Value.ToString()) == 0 || double.Parse(ur1.Cells["SUMACT_WGT14"].Value.ToString()) == 0) ur3.Cells["SUMACT_WGT14"].Value = 0; else { double n1 = double.Parse(ur2.Cells["SUMACT_WGT14"].Value.ToString()) / double.Parse(ur1.Cells["SUMACT_WGT14"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["SUMACT_WGT14"].Value = n1.ToString(); } if (double.Parse(ur2.Cells["SUMACT_WGT15"].Value.ToString()) == 0 || double.Parse(ur1.Cells["SUMACT_WGT15"].Value.ToString()) == 0) ur3.Cells["SUMACT_WGT15"].Value = 0; else { double n1 = double.Parse(ur2.Cells["SUMACT_WGT15"].Value.ToString()) / double.Parse(ur1.Cells["SUMACT_WGT15"].Value.ToString()) * 100; n1 = Math.Round(n1, 2); ur3.Cells["SUMACT_WGT15"].Value = n1.ToString(); } for (int i = 0; i < ultraGrid2.Rows.Count; i++) { if (ultraGrid2.Rows[i].Cells["SPEC_STL_GRD"].Text == "合计" && ultraGrid2.Rows[i].Cells["PRODUCT_NAME"].Text == "成材率") { ultraGrid2.Rows[i].Cells["SUMACT_WGT1"].Value = ur3.Cells["SUMACT_WGT1"].Value; ultraGrid2.Rows[i].Cells["SUMACT_WGT2"].Value = ur3.Cells["SUMACT_WGT2"].Value; ultraGrid2.Rows[i].Cells["SUMACT_WGT3"].Value = ur3.Cells["SUMACT_WGT3"].Value; ultraGrid2.Rows[i].Cells["SUMACT_WGT7"].Value = ur3.Cells["SUMACT_WGT7"].Value; ultraGrid2.Rows[i].Cells["SUMACT_WGT8"].Value = ur3.Cells["SUMACT_WGT8"].Value; ultraGrid2.Rows[i].Cells["SUMACT_WGT9"].Value = ur3.Cells["SUMACT_WGT9"].Value; ultraGrid2.Rows[i].Cells["SUMACT_WGT10"].Value = ur3.Cells["SUMACT_WGT10"].Value; ultraGrid2.Rows[i].Cells["SUMACT_WGT11"].Value = ur3.Cells["SUMACT_WGT11"].Value; ultraGrid2.Rows[i].Cells["SUMACT_WGT12"].Value = ur3.Cells["SUMACT_WGT12"].Value; ultraGrid2.Rows[i].Cells["SUMACT_WGT13"].Value = ur3.Cells["SUMACT_WGT13"].Value; ultraGrid2.Rows[i].Cells["SUMACT_WGT14"].Value = ur3.Cells["SUMACT_WGT14"].Value; ultraGrid2.Rows[i].Cells["SUMACT_WGT15"].Value = ur3.Cells["SUMACT_WGT15"].Value; ultraGrid2.Rows[i].Cells["SUMACT_WGT"].Value = ur3.Cells["SUMACT_WGT"].Value; ultraGrid2.Rows[i].Cells["ACT_WGT1"].Value = ur3.Cells["ACT_WGT1"].Value; ultraGrid2.Rows[i].Cells["ACT_WGT2"].Value = ur3.Cells["ACT_WGT2"].Value; ultraGrid2.Rows[i].Cells["ACT_WGT3"].Value = ur3.Cells["ACT_WGT3"].Value; ultraGrid2.Rows[i].Cells["ACT_WGT7"].Value = ur3.Cells["ACT_WGT7"].Value; ultraGrid2.Rows[i].Cells["ACT_WGT8"].Value = ur3.Cells["ACT_WGT8"].Value; ultraGrid2.Rows[i].Cells["ACT_WGT9"].Value = ur3.Cells["ACT_WGT9"].Value; ultraGrid2.Rows[i].Cells["ACT_WGT10"].Value = ur3.Cells["ACT_WGT10"].Value; ultraGrid2.Rows[i].Cells["ACT_WGT11"].Value = ur3.Cells["ACT_WGT11"].Value; ultraGrid2.Rows[i].Cells["ACT_WGT12"].Value = ur3.Cells["ACT_WGT12"].Value; ultraGrid2.Rows[i].Cells["ACT_WGT13"].Value = ur3.Cells["ACT_WGT13"].Value; ultraGrid2.Rows[i].Cells["ACT_WGT14"].Value = ur3.Cells["ACT_WGT14"].Value; ultraGrid2.Rows[i].Cells["ACT_WGT15"].Value = ur3.Cells["ACT_WGT15"].Value; ultraGrid2.Rows[i].Cells["ACT_WGT"].Value = ur3.Cells["ACT_WGT"].Value; ultraGrid2.Update(); break; } } } #endregion } //else if (CustomInfo == "3") //{ // //规格明细查询 // CoreClientParam ccp = new CoreClientParam(); // ccp.ServerName = "UIM.UIM02.UIM020010"; // ccp.MethodName = "queryRclSizeDetail"; // ccp.ServerParams = new object[] { queryDate, queryDate1, queryDate2 }; // ccp.SourceDataTable = this.dataSet1.Tables[0]; // this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); //} } catch (Exception EX) { MessageBox.Show(EX.ToString()); } } private void DoExport() { try { if (this.saveFileDialog1.ShowDialog(this) == DialogResult.OK) { string fileName = this.saveFileDialog1.FileName; ultraGridExcelExporter1.Export(ultraGrid2, fileName); System.Diagnostics.Process.Start(fileName); } } catch (Exception EX) { MessageBox.Show(EX.ToString()); } } private void ultraGrid2_InitializeLayout(object sender, InitializeLayoutEventArgs e) { } //private void ultraGrid2_InitializeLayout(object sender, InitializeLayoutEventArgs e) //{ //} } }