123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- using OTSCLRINTERFACE;
- using OTSCommon;
- using OTSIncAReportApp.OTSRstMgrFunction;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace OTSIncAReportApp._1_UI.GBCalculate
- {
- public partial class Purity : Form
- {
- #region 全局变量
- OTSIncAReportApp.frmReportApp m_ReportApp = null;
- DataTable Table = new DataTable();
- /// <summary>
- /// 权重比重
- /// </summary>
- readonly Dictionary<string, double> weightFactor = new Dictionary<string, double>()
- {
- { "0.5",0.05 },
- { "1",0.1 },
- {"1.5",0.2 },
- {"2",0.5 },
- {"2.5",1 },
- {"3",2 },
- {"3.5",5 },
- {"4",10 },
- {"4.5",20},
- {"5",50 }
- };
- Language lan;
- Hashtable table;
- #endregion
- public Purity(OTSIncAReportApp.frmReportApp a_ReportApp)
- {
- InitializeComponent();
- m_ReportApp = a_ReportApp;
- cBox_gride.DataSource=new string[] { "0.5", "1", "1.5", "2", "2.5", "3", "3.5", "4", "4.5", "5" };
- cBox_gride.SelectedIndex=0;
- rBx_process.Font = new Font(rBx_process.Font.FontFamily, 15);
- lan = new Language(this);
- table = lan.GetNameTable(this.Name);
- }
- private void Purity_Load(object sender, EventArgs e)
- {
- InitTable(Table);
- pictureBox_PurityFormula.Image = Properties.Resources.PurityFormula;
- }
- void InitTable(DataTable Table)
- {
- Table.Columns.Add("0.5", typeof(int));
- Table.Columns.Add("1", typeof(int));
- Table.Columns.Add("1.5", typeof(int));
- Table.Columns.Add("2", typeof(int));
- Table.Columns.Add("2.5", typeof(int));
- Table.Columns.Add("3", typeof(int));
- Table.Columns.Add("3.5", typeof(int));
- Table.Columns.Add("4", typeof(int));
- Table.Columns.Add("4.5", typeof(int));
- Table.Columns.Add("5", typeof(int));
- Table.Rows.Add(0, 0, 0, 0, 0, 0, 0, 0, 0,0);
- }
- private void btn_cal_Click(object sender, EventArgs e)
- {
- Table.Rows.Clear();
- Table.Rows.Add(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
- tB_result.Text = "";this.Refresh();
- Cursor = Cursors.WaitCursor;
- rBx_process.Text = "";
- int index = m_ReportApp.m_conditionChoose.m_conditionData.GetComboDownListIndexByItemName(OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE);
- for (int i = 0; i < m_ReportApp.m_rstDataMgr.ResultFilesList.Count; i++)
- {
- string anothername = m_ReportApp.m_rstDataMgr.ResultFilesList[i].anotherFileName.ToString();
- string resultfile = m_ReportApp.m_rstDataMgr.ResultFilesList[i].FilePath.ToString() + "\\" + m_ReportApp.m_rstDataMgr.ResultFilesList[i].FileName_real.ToString();
- m_ReportApp.m_rstDataMgr.m_ReportMgr.AddASmplMsrResultMgr(resultfile, anothername);
- }
- OTSCLRINTERFACE.CPropParamClr clr_prop = m_ReportApp.m_rstDataMgr.m_ReportMgr.GetPropertyParamTable();
- List<string> datasourcelist = m_ReportApp.m_conditionChoose.m_conditionData.GetComboDownListByItemName(OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE);
- clr_prop.SetDataSourceList(datasourcelist);
- clr_prop.SetDataSourceId(index);
- clr_prop.SetType((int)OTSSampleReportInfo.DisplayPicutureType.AnalyzeDataTable);//table
- clr_prop.SetCalTableType((int)OTSSampleReportInfo.CALCULATE_TABLE_TYPE.GB_Method1);
- DataTable tbl = m_ReportApp.m_rstDataMgr.m_ReportMgr.GetAllGBFields(clr_prop);
- if (tbl != null)
- {
- foreach (DataRow row in tbl.Rows)
- {
- string[] str = Convert.ToString(row["grade"]).Split(' ');
- for (int i = 0; i < str.Length; i++)
- {
- if (str[i].Contains(":"))
- {
- str[i] = Convert.ToString(str[i].Split(':')[1]);
- }
- switch (str[i])
- {
- case "0.5":
- Table.Rows[0]["0.5"] = Convert.ToInt64(Table.Rows[0]["0.5"]) + 1;
- break;
- case "1.0":
- Table.Rows[0]["1"] = Convert.ToInt64(Table.Rows[0]["1"]) + 1;
- break;
- case "1.5":
- Table.Rows[0]["1.5"] = Convert.ToInt64(Table.Rows[0]["1.5"]) + 1;
- break;
- case "2.0":
- Table.Rows[0]["2"] = Convert.ToInt64(Table.Rows[0]["2"]) + 1;
- break;
- case "2.5":
- Table.Rows[0]["2.5"] = Convert.ToInt64(Table.Rows[0]["2.5"]) + 1;
- break;
- case "3.0":
- Table.Rows[0]["3"] = Convert.ToInt64(Table.Rows[0]["3"]) + 1;
- break;
- case "3.5":
- Table.Rows[0]["3.5"] = Convert.ToInt64(Table.Rows[0]["3.5"]) + 1;
- break;
- case "4.0":
- Table.Rows[0]["4"] = Convert.ToInt64(Table.Rows[0]["4"]) + 1;
- break;
- case "4.5":
- Table.Rows[0]["4.5"] = Convert.ToInt64(Table.Rows[0]["4.5"]) + 1;
- break;
- case "5.0":
- Table.Rows[0]["5"] = Convert.ToInt64(Table.Rows[0]["5"]) + 1;
- break;
- default:
- break;
- }
- }
- }
- }
- rBx_process.AppendText("经国标方法1评级后数据统计如下:\n");
- string r1 = "";
- string r2 = "K=( ";
- double K = 0;
- for (int i= cBox_gride.SelectedIndex;i< Table.Columns.Count; i++)
- {
- K += weightFactor[Convert.ToString(cBox_gride.SelectedItem)] * Convert.ToInt64(Table.Rows[0][i]);
- r1 += cBox_gride.Items[i].ToString() + "级视场数:" + Table.Rows[0][i].ToString()+"\n";
- r2 += weightFactor[Convert.ToString(cBox_gride.Items[i])].ToString() + " * " + Table.Rows[0][i].ToString() + " + ";
- }
- r2 = r2.Remove(r2.Length - 2, 2);
- r2 += ")";
- double area = tbl.Rows.Count*0.5;
- K = K * 1000 / area;
- tB_result.Text = (Math.Round(K, 3).ToString());
- r1 += "总检验面积:" + area.ToString() + "\n";
- r2 += "* 1000 /" + area.ToString();
- rBx_process.AppendText(r1 + "\n");
- rBx_process.AppendText("代入公式计算:\n");
- rBx_process.AppendText(r2 + "\n");
- rBx_process.AppendText("K = "+ K.ToString());
- this.Refresh();
- this.Cursor= Cursors.Default;
- }
- }
- }
|