Преглед на файлове

修复bug颗粒附加颗粒图导出失败的问题

zhangjiaxin преди 2 месеца
родител
ревизия
3a3dbf2412

+ 1 - 38
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/BasicData.cs

@@ -584,45 +584,8 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
         {
             return IsShereAClassificationGroup;
         }
-		/// <summary>
-		/// 获得颗粒类别
-		/// </summary>
-		/// <returns></returns>
-		private List<string> ObtainParticleCategory(OTSReport_Export m_otsreport_export, BasicData basicData)
-		{
-			List<string> ClassName = new List<string>();
-			if (m_otsreport_export.m_ReportApp.m_RptConfigFile.Systype != OTS_SysType_ID.IncA)
-			{
-				DataTable get_dt = ReadClassification(basicData);
-				DataTable getClass_dt = get_dt.Clone();
-				DataRow[] dataRow = get_dt.Select("", "iorder ASC");
-				foreach (DataRow row in dataRow)
-				{
-					if (row.ItemArray[1].ToString() != "Default")
-					{
-						getClass_dt.ImportRow(row);
-					}
-				}
-				for (int i = 0; i < getClass_dt.Rows.Count; i++)
-				{
-					ClassName.Add(getClass_dt.Rows[i][1].ToString());
-				}
-				ClassName.Add("Default");
+		
 
-			}
-			else
-			{
-				ClassName = basicData.GetGroupInformation();
-			}
-			return ClassName;
-		}
-		private DataTable ReadClassification(BasicData basicData)
-		{
-			DataTable dt_stl = new DataTable();
-			SqLiteHelper sh = new SqLiteHelper("data source='" + basicData.GetFilePath() + "\\" + basicData.GetResfile() + "'");
-			dt_stl = sh.ExecuteQuery("select * from STDGroups");
-			return dt_stl;
-		}
 		public void IsResultFilesList(OTSReport_Export m_otsreport_export)
         {
             resfile = m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()];

+ 2 - 449
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/ElementalAnalysis.cs

@@ -157,191 +157,7 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
             dt2 = dt_ElementalSubstance.Copy();
 
 		}
-		private bool SubdivisionOfMaterialElements(DataTable a_ElementalSubstance, int NumberOfColumns, List<string> ClassName, DataTable data, out DataTable dt1, out DataTable dt2)
-        {
-
-            DataTable dt_ElementalSubstance = new DataTable();
-            dt_ElementalSubstance = data.Copy();
-            dt_ElementalSubstance.Clear();
-            dt_ElementalSubstance.TableName = "ElementSubdivision_Value";
-            dt_ElementalSubstance.Columns["Name"].ColumnName = "Class";
-            dt_ElementalSubstance.Columns.Add("Name");
-            //处理元素面积保留小数点后两位
-            for (int i = 0; i < a_ElementalSubstance.Rows.Count; i++)
-            {
-                a_ElementalSubstance.Rows[i]["Area"] = Math.Round(Convert.ToDouble(a_ElementalSubstance.Rows[i]["Area"].ToString()), 2);
-            }
-
-
-            //循环元素物质大类
-            for (int i = 0; i < ClassName.Count; i++)
-            {
-                DataTable dt_1 = new DataTable();
-                dt_1 = data.Copy();
-                dt_1.Clear();
-                for (int a = 0; a < data.Rows.Count; a++)
-                {
-                    if (data.Rows[a]["Name"].ToString() == ClassName[i].ToString())
-                    {
-                        dt_1.Rows.Add(data.Rows[a].ItemArray);
-                    }
-                }
-                dt_1.Columns["Name"].ColumnName = "Class";
-                dt_1.Columns.Add("Name");
-
-                DataTable dt_2 = new DataTable();
-                dt_2 = dt_1.Copy();
-                dt_2.Clear();
-                dt_2.Rows.Add();
-                //循环整个表筛选出当前的物质
-                for (int a = 0; a < a_ElementalSubstance.Rows.Count; a++)
-                {
-                    if(ClassName.Count==1)
-                    {
-                        for (int b = 0; b < dt_1.Columns.Count; b++)
-                        {
-                            if (dt_2.Columns[b].ToString() != "Class")
-                            {
-                                if (a_ElementalSubstance.Columns.Contains(dt_2.Columns[b].ToString()))
-                                {
-                                    if (a_ElementalSubstance.Rows[a][dt_2.Columns[b].ToString()].ToString() == "")
-                                    {
-                                        dt_2.Rows[0][dt_2.Columns[b].ToString()] = 0;
-                                    }
-                                    else
-                                    {
-                                        dt_2.Rows[0][dt_2.Columns[b].ToString()] = a_ElementalSubstance.Rows[a][dt_2.Columns[b].ToString()];
-                                    }
-                                }
-                                else
-                                {
-                                    dt_2.Rows[0][dt_2.Columns[b].ToString()] = 0;
-                                }
-
-                            }
-                        }
-                        dt_1.Rows.Add(dt_2.Rows[0].ItemArray);
-                    }
-                    else
-
-                    if (ClassName[i].ToString() == a_ElementalSubstance.Rows[a]["Class"].ToString())
-                    {
-                        for (int b = 0; b < dt_1.Columns.Count; b++)
-                        {
-                            if (dt_2.Columns[b].ToString() != "Class")
-                            {
-                                if (a_ElementalSubstance.Columns.Contains(dt_2.Columns[b].ToString()))
-                                {
-                                    if (a_ElementalSubstance.Rows[a][dt_2.Columns[b].ToString()].ToString() == "")
-                                    {
-                                        dt_2.Rows[0][dt_2.Columns[b].ToString()] = 0;
-                                    }
-                                    else
-                                    {
-                                        dt_2.Rows[0][dt_2.Columns[b].ToString()] = a_ElementalSubstance.Rows[a][dt_2.Columns[b].ToString()];
-                                    }
-                                }
-                                else
-                                {
-                                    dt_2.Rows[0][dt_2.Columns[b].ToString()] = 0;
-                                }
-
-                            }
-                        }
-                        dt_1.Rows.Add(dt_2.Rows[0].ItemArray);
-                    }
-                    
-                }
-
-                for (int a = 0; a < dt_1.Rows.Count; a++)
-                {
-                    dt_ElementalSubstance.Rows.Add(dt_1.Rows[a].ItemArray);
-                }
-            }
-
-
-
-            DataTable dataTable = new DataTable();
-            dataTable = dt_ElementalSubstance.Copy();
-            dataTable.Clear();
-            DataRow row = dataTable.NewRow();
-            dataTable.Rows.Add(row);
-            dataTable.TableName = "ElementSubdivision_Name";
-            for (int i = 0; i < dataTable.Columns.Count; i++)
-            {
-                dataTable.Rows[0][dataTable.Columns[i].ToString()] = dataTable.Columns[i].ToString();
-            }
-            dt1 = dataTable.Copy();
-            dt2 = dt_ElementalSubstance.Copy();
-
-            return true;
-        }
-        private DataTable MaterialElementComposition(DataTable a_ElementalSubstance, int NumberOfColumns,OTSReport_Export m_otsreport_export)
-        {
-            DataTable dt_ElementalSubstance = new DataTable();
-            dt_ElementalSubstance.TableName = "ElementalSubstance_Value";
-            dt_ElementalSubstance.Columns.Add("Name");
-            dt_ElementalSubstance.Columns.Add("Area");
-            for (int i = 0; i < a_ElementalSubstance.Rows.Count; i++)
-            {
-                dt_ElementalSubstance.Rows.Add(a_ElementalSubstance.Rows[i]["Name"]);
-                dt_ElementalSubstance.Rows[i]["Area"] = Math.Round(Convert.ToDouble(a_ElementalSubstance.Rows[i]["Area"]), 2);
-            }
-            int cunt = 1;
-            for (int i = 0; i < NumberOfColumns; i++)
-            {
-
-                if (i < m_otsreport_export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys.Count())
-                {
-                    dt_ElementalSubstance.Columns.Add(m_otsreport_export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys[i]);
-                    for (int a = 0; a < a_ElementalSubstance.Rows.Count; a++)
-                    {
-                        if (a_ElementalSubstance.Columns.Contains(m_otsreport_export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys[i]))
-                        {
-                            if (a_ElementalSubstance.Rows[a][m_otsreport_export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys[i]].ToString() == "")
-                            {
-                                dt_ElementalSubstance.Rows[a][m_otsreport_export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys[i]] = 0;
-                            }
-                            else
-                            {
-                                dt_ElementalSubstance.Rows[a][m_otsreport_export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys[i]] = a_ElementalSubstance.Rows[a][m_otsreport_export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys[i]];
-                            }
-                        }
-                        else
-                        {
-                            dt_ElementalSubstance.Rows[a][m_otsreport_export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys[i]] = 0;
-                        }
-                    }
-                }
-                else
-                {
-                    dt_ElementalSubstance.Columns.Add("Null" + cunt.ToString());
-                    cunt = cunt + 1;
-                    for (int a = 0; a < a_ElementalSubstance.Rows.Count; a++)
-                    {
-                        dt_ElementalSubstance.Rows[a][i + 2] = "-";
-                    }
-                }
-            }
-
-            DataTable dataTable = new DataTable();
-            dataTable = dt_ElementalSubstance.Copy();
-            dataTable.Clear();
-            DataRow row = dataTable.NewRow();
-            dataTable.Rows.Add(row);
-            dataTable.TableName = "ElementalSubstance_Name";
-            for (int i = 0; i < dataTable.Columns.Count; i++)
-            {
-                dataTable.Rows[0][dataTable.Columns[i].ToString()] = dataTable.Columns[i].ToString();
-            }
-
-            //m_list_dt.Add(dataTable);
-            //m_list_dt.Add(dt_ElementalSubstance);
-
-            return dt_ElementalSubstance;
-        }
-
-
+	
 
 		private List<DataTable> MaterialElementComposition( List<DataTable> a_ElementalSubstance, int NumberOfColumns, OTSReport_Export m_otsreport_export)
 		{
@@ -452,52 +268,7 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 
 			return dataTables;
 		}
-		private DataTable ElementSorting(DataTable AllAnalysisDetails, List<string> ClassName, ParticleData fielddata)
-        {
-            DataTable dte = fielddata.GetAllElement();
-            DataTable ElementSorting_dt = AllAnalysisDetails.Copy();
-            ElementSorting_dt.Clear();
-            for (int i = 0; i < ClassName.Count; i++)
-            {
-                DataTable dt = AllAnalysisDetails.Copy();
-                dt.Clear();
-                for (int a = 0; a < AllAnalysisDetails.Rows.Count; a++)
-                {
-                    if (AllAnalysisDetails.Rows[a]["Class"].ToString() == ClassName[i].ToString())
-                    {
-                        dt.Rows.Add(AllAnalysisDetails.Rows[a].ItemArray);
-                    }
-                }
-                //将颗粒大小排序(从大到小)
-                DataView dv = dt.DefaultView;
-                dv.Sort = "Area DESC";
-                DataTable dt_Element = dv.ToTable();
-
-                for (int a = 0; a < dt_Element.Rows.Count; a++)
-                {
-                    ElementSorting_dt.Rows.Add(dt_Element.Rows[a].ItemArray);
-                }
-            }
-            //循环创建元素列(类型定义为double,为以后计算做准备)
-            for (int a = 0; a < dte.Rows.Count; a++)
-            {
-                ElementSorting_dt.Columns.Add(dte.Rows[a]["Name"].ToString(), typeof(double));
-            }
-
-            for (int a = 0; a < ElementSorting_dt.Rows.Count; a++)
-            {
-                DataTable ClassificationDetails = fielddata.GetAreaByIncA(ElementSorting_dt.Rows[a]["TypeId"].ToString(), "");//获取单个分类的元素信息
-                //DataRow dr2 = ElementSorting_dt.NewRow();
-
-                foreach (DataRow dr in ClassificationDetails.Rows)
-                {
-                    double doe = Convert.ToDouble(dr["pc"]);
-                    ElementSorting_dt.Rows[a][dr["Name"].ToString()] = Math.Round(doe / Convert.ToDouble(ElementSorting_dt.Rows[a]["Area"]), 2);
-                }
-            }
-
-            return ElementSorting_dt;
-        }
+	
 		private List<DataTable> ElementSorting(List<DataTable> AllAnalysisDetails, List<string> ClassName, ParticleData fielddata)
 		{
             List<DataTable> dataTables = new List<DataTable>();
@@ -608,210 +379,6 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 
 			return dataTables;
 		}
-
-		private DataTable ElementSortingSS(DataTable AllAnalysisDetails, List<string> ClassName, ParticleData fielddata)
-        {
-            DataTable dte = fielddata.GetAllElement();
-            DataTable ElementSorting_dt = AllAnalysisDetails.Copy();
-            ElementSorting_dt.Clear();
-            for (int i = 0; i < ClassName.Count; i++)
-            {
-                DataTable dt = AllAnalysisDetails.Copy();
-                //dt.Clear();
-                //for (int a = 0; a < AllAnalysisDetails.Rows.Count; a++)
-                //{
-                //    if (AllAnalysisDetails.Rows[a]["Class"].ToString() == ClassName[i].ToString())
-                //    {
-                //        dt.Rows.Add(AllAnalysisDetails.Rows[a].ItemArray);
-                //    }
-                //}
-                //将颗粒大小排序(从大到小)
-                //DataView dv = dt.DefaultView;
-                //dv.Sort = "Area DESC";
-                //DataTable dt_Element = dv.ToTable();
-                DataTable dt_Element = dt.Copy();
-                for (int a = 0; a < dt_Element.Rows.Count; a++)
-                {
-                    ElementSorting_dt.Rows.Add(dt_Element.Rows[a].ItemArray);
-                }
-            }
-            //循环创建元素列(类型定义为double,为以后计算做准备)
-            for (int a = 0; a < dte.Rows.Count; a++)
-            {
-                ElementSorting_dt.Columns.Add(dte.Rows[a]["Name"].ToString(), typeof(double));
-            }
-
-            for (int a = 0; a < ElementSorting_dt.Rows.Count; a++)
-            {
-                DataTable ClassificationDetails = fielddata.GetAreaByIncA(ElementSorting_dt.Rows[a]["TypeId"].ToString(), "");//获取单个分类的元素信息
-                //DataRow dr2 = ElementSorting_dt.NewRow();
-
-                foreach (DataRow dr in ClassificationDetails.Rows)
-                {
-                    double doe = Convert.ToDouble(dr["pc"]);
-                    ElementSorting_dt.Rows[a][dr["Name"].ToString()] = Math.Round(doe / Convert.ToDouble(ElementSorting_dt.Rows[a]["Area"]), 2);
-                }
-            }
-
-            return ElementSorting_dt;
-        }
-		private List<DataTable> ElementSortingSS(List<DataTable> AllAnalysisDetails, List<string> ClassName, ParticleData fielddata)
-		{
-			List<DataTable> dataTables = new List<DataTable>();
-
-			//当前元素物质类面积的总和
-			DataTable dte = fielddata.GetAllElement();
-			DataTable dt_Class = new DataTable();
-			dt_Class.Columns.Add("TypeName");
-			dt_Class.Columns.Add("TypeId");
-			dt_Class.Columns.Add("Area");
-			dt_Class.Columns.Add("Class");
-			//循环创建元素列(类型定义为double,为以后计算做准备)
-			for (int a = 0; a < dte.Rows.Count; a++)
-			{
-				dt_Class.Columns.Add(dte.Rows[a]["Name"].ToString(), typeof(double));
-			}
-			//循环组列表
-			for (int i = 0; i < AllAnalysisDetails.Count; i++)
-			{
-				if (AllAnalysisDetails[i].Rows.Count == 0)
-				{
-					continue;
-				}
-
-				DataTable data = dt_Class.Clone();
-
-				for (int a = 0; a < AllAnalysisDetails[i].Rows.Count; a++)
-				{
-					data.TableName = AllAnalysisDetails[i].TableName;
-					DataTable ClassificationDetails = fielddata.GetAreaByIncA(AllAnalysisDetails[i].Rows[a]["TypeId"].ToString(), "");//获取单个分类的元素信息
-					DataRow dr2 = data.NewRow();
-
-					if (ClassificationDetails.Rows.Count == 0)
-					{
-						for (int j = 4; j < data.Columns.Count; j++)
-						{
-							double doe = Convert.ToDouble(0);
-							dr2[data.Columns[j].ColumnName] = doe;
-							dr2["TypeName"] = AllAnalysisDetails[i].Rows[a]["TypeName"].ToString();
-							dr2["TypeId"] = AllAnalysisDetails[i].Rows[a]["TypeId"].ToString();
-							dr2["Area"] = AllAnalysisDetails[i].Rows[a]["ar"].ToString();
-							dr2["Class"] = AllAnalysisDetails[i].Rows[a]["Class"].ToString();
-						}
-					}
-
-					foreach (DataRow dr in ClassificationDetails.Rows)
-					{
-						double doe = Convert.ToDouble(dr["pc"]);
-						dr2[dr["Name"].ToString()] = doe;
-						dr2["TypeName"] = AllAnalysisDetails[i].Rows[a]["TypeName"].ToString();
-						dr2["TypeId"] = AllAnalysisDetails[i].Rows[a]["TypeId"].ToString();
-						dr2["Area"] = AllAnalysisDetails[i].Rows[a]["ar"].ToString();
-						dr2["Class"] = AllAnalysisDetails[i].Rows[a]["Class"].ToString();
-					}
-					data.Rows.Add(dr2);
-					for (int j = 4; j < data.Columns.Count; j++)
-					{
-						if (data.Rows[data.Rows.Count - 1][j].ToString() == "")
-						{
-							data.Rows[data.Rows.Count - 1][j] = 0;
-						}
-					}
-				}
-				dataTables.Add(data);
-			}
-			return dataTables;
-		}
-
-		private DataTable ElementalSubstance(DataTable AllAnalysisDetails, List<string> ClassName, ParticleData fielddata)
-        {
-            //当前元素物质类面积的总和
-            double ElementalSubstance = 0;
-            DataTable dte = fielddata.GetAllElement();
-            DataTable dt_Class = new DataTable();
-            dt_Class.Columns.Add("Name");
-            dt_Class.Columns.Add("Area");
-            //循环创建元素列(类型定义为double,为以后计算做准备)
-            for (int a = 0; a < dte.Rows.Count; a++)
-            {
-                dt_Class.Columns.Add(dte.Rows[a]["Name"].ToString(), typeof(double));
-            }
-            //循环大类物质列表
-            for (int i = 0; i < ClassName.Count; i++)
-            {
-                //保留当前循环中大类物质,去除其他物质
-                DataTable dt = AllAnalysisDetails.Copy();
-                dt.Clear();
-                for (int a = 0; a < AllAnalysisDetails.Rows.Count; a++)
-                {
-                    if (AllAnalysisDetails.Rows[a]["Class"].ToString() == ClassName[i].ToString())
-                    {
-                        dt.Rows.Add(AllAnalysisDetails.Rows[a].ItemArray);
-                    }
-                }
-				//if (dt.Rows.Count == 0)
-				//    continue;
-				if (dt.Rows.Count == 0)
-                {
-                    DataRow dataRow = dt.NewRow();
-                    dataRow["Area"] = 0;
-                    dt.Rows.Add(dataRow);
-
-					DataRow dataRow2 = dt_Class.NewRow();
-					dataRow2["Name"]= ClassName[i].ToString();
-                    double ar0 = 0;
-                    dataRow2["Area"] = ar0;
-                    dt_Class.Rows.Add(dataRow2);
-					continue;
-				}
-					//计算出当前循环中大类物质的面积
-					ElementalSubstance = Convert.ToDouble(decimal.Parse(dt.Compute("sum(Area)", "").ToString()));
-
-                DataTable ta = new DataTable();
-                ta = dt_Class.Copy();
-                ta.Clear();
-
-                for (int a = 0; a < dt.Rows.Count; a++)
-                {
-                    DataTable ClassificationDetails = fielddata.GetAreaByIncA(dt.Rows[a]["TypeId"].ToString(), "");//获取单个分类的元素信息
-                    DataRow dr2 = ta.NewRow();
-
-                    foreach (DataRow dr in ClassificationDetails.Rows)
-                    {
-                        double doe = Convert.ToDouble(dr["pc"]);
-                        dr2[dr["Name"].ToString()] = doe;
-                    }
-                    ta.Rows.Add(dr2);
-                }
-                DataTable dataTable = ta.Copy();
-                dataTable.Clear();
-                DataRow row = dataTable.NewRow();
-                dataTable.Rows.Add(row);
-                for (int a = 0; a < ta.Columns.Count; a++)
-                {
-                    if (ta.Columns[a].ToString() != "Name" && ta.Columns[a].ToString() != "Class")
-                    {
-                        bool bl = false;
-                        for (int b = 0; b < ta.Rows.Count; b++)
-                        {
-                            if (!ta.Rows[b].IsNull(ta.Columns[a].ToString()))
-                            {
-                                bl = true;
-                            }
-                        }
-                        if (bl)
-                            //datatSuncolumn(ta, ta.Columns[a].ToString());
-                            dataTable.Rows[0][ta.Columns[a].ToString()] = Math.Round(datatSuncolumn(ta, ta.Columns[a].ToString()) / ElementalSubstance, 2);
-                    }
-                }
-                dataTable.Rows[0]["Name"] = ClassName[i].ToString();
-                dataTable.Rows[0]["Area"] = ElementalSubstance;
-
-                dt_Class.Rows.Add(dataTable.Rows[0].ItemArray);
-
-            }
-            return dt_Class;
-        }
 		private DataTable ElementalSubstance_cleanliness(List<DataTable> AllAnalysisDetails, List<string> ClassName, ParticleData fielddata)
 		{
 			//当前元素物质类面积的总和
@@ -972,19 +539,5 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 
 		}
 
-
-		private double datatSuncolumn(DataTable dt, string str)
-        {
-            double sum = 0;
-            for (int i = 0; i < dt.Rows.Count; i++)
-            {
-                if (dt.Rows[i][str].ToString() == "")
-                {
-                    dt.Rows[i][str] = 0;
-                }
-                sum = sum + Convert.ToDouble(dt.Rows[i][str].ToString());
-            }
-            return sum;
-        }
     }
 }

+ 2 - 43
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/InclusionProportion.cs

@@ -25,28 +25,7 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
             //根据sql条件,查询获取颗粒信息数据
             //按照list列表进行物质类排序,物质类中的元素分类按照面积的大小进行排序
             List<string> ClassName = basicData.GetGroupInformation();
-			//DataTable getClass_dt = basicData.GetAllClass();
-   //         bool bl = false;
-   //         for (int i = 0; i < getClass_dt.Rows.Count; i++)
-   //         {
-   //             if (getClass_dt.Rows[i]["GroupName"].ToString() != "NOT_INCLUTION" && getClass_dt.Rows[i]["GroupName"].ToString() != "Invalid"
-   //             && getClass_dt.Rows[i]["GroupName"].ToString() != "Not Identified")
-   //                 if (getClass_dt.Rows[i]["GroupName"].ToString() == "")
-   //                 {
-   //                     if (!bl)
-   //                     {
-   //                         ClassName.Add("Default");
-   //                         bl = true;
-   //                     }
-   //                 }
-   //                 else
-   //                 {
-   //                     if (getClass_dt.Rows[i]["GroupName"].ToString() != "Default")
-   //                     {
-   //                         ClassName.Add(getClass_dt.Rows[i]["GroupName"].ToString());
-   //                     }
-   //                 }
-   //         }
+		
             //夹杂物面积比添加大类
             DataTable RawParticleData = InclusionAreaRatio_2(str, basicData, m_mbszclass);
             //夹杂物面积比计算大类占比
@@ -327,27 +306,7 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
             DataTable m_bt_DBData = InvalidRemoval(basicData.getParticleData().GetAreaByAllIncA(""));
 
             DataTable AreaInformationOfAllElements = m_bt_DBData.Copy();
-			//if (m_mbszclass.list_str_MainPriority_Serial.Count==0)
-   //         {
-   //             AreaInformationOfAllElements = m_bt_DBData.Copy();
-   //         }
-   //         else
-   //         {
-   //             AreaInformationOfAllElements = m_bt_DBData.Clone();
-   //             for (int i = 0; i < m_bt_DBData.Rows.Count; i++)
-   //             {
-   //                 for (int a = 0; a < m_mbszclass.list_str_MainPriority_Serial.Count; a++)
-   //                 {
-   //                     if (m_bt_DBData.Rows[i]["TypeId"].ToString() == m_mbszclass.list_str_MainPriority_Serial[a])
-   //                     {
-   //                         AreaInformationOfAllElements.Rows.Add(m_bt_DBData.Rows[i].ItemArray);
-   //                         continue;
-   //                     }
-   //                 }
-   //             }
-   //         }
-            
-
+		
 
             //去除物质分类(非夹杂物分类)
             for (int a = 0; a < m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass_Serial.Count; a++)

+ 1 - 481
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/ParticleAnalysis.cs

@@ -253,208 +253,7 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 			return dt_stl;
 		}
 
-		/// <summary>
-		/// 大分类chart数据
-		/// </summary>
-		/// <param name="m_mbszclass"></param>
-		/// <param name="m_otsreport_export"></param>
-		/// <returns></returns>
-		public DataTable GetChartDataCalss(BasicData basicData)
-        {
-            //DataTable data =basicData.GetDBData();
-            DataTable data = new DataTable();
-			//获取粒级表
-			List<string> colid = basicData.GetParticlesizeTable();
-            //------------------------------------------------
-            DataTable ls_partsize_dt = new DataTable();
-            ls_partsize_dt.TableName = "PartSize";
-            for (int i = 0; i < colid.Count; i++)
-            {
-                ls_partsize_dt.Columns.Add("c"+(i+1).ToString());
-            }
-           
-
-            DataTable ls_Particel_dt = new DataTable();
-            ls_Particel_dt.TableName = "Particel";
-            DataRow dr = ls_partsize_dt.NewRow();
-            int colidCount = 1;
-            for (int i = 0; i < colid.Count; i++)
-            {
-                if (colid.Count < i)
-                {
-                    dr["c" + (i + 1).ToString()] = "";
-                }
-                else
-                {
-                    dr["c" + (i + 1).ToString()] = colid[i];
-                    ls_Particel_dt.Columns.Add("c" + (i + 1).ToString(), typeof(double));
-                    colidCount++;
-                }
-            }
-            ls_partsize_dt.Rows.Add(dr);
-
-            ls_Particel_dt.Columns.Add("Name");
-            ls_Particel_dt.Columns.Add("total", typeof(double));
-            ls_Particel_dt.Columns.Add("TypeId");
-            ls_Particel_dt.Columns.Add("Class");
-
-            for (int i = 0; i < data.Rows.Count; i++)
-            {
-                DataRow dr2 = ls_Particel_dt.NewRow();
-                dr2["Name"] = data.Rows[i]["TypeName"].ToString();
-                dr2["Class"] = data.Rows[i]["Class"].ToString();
-                dr2["TypeId"] = data.Rows[i]["TypeId"].ToString();//获取分类编号
-                for (int j = 1; j < colidCount; j++)
-                {
-                    if (colid.Count >= j)
-                    {
-                        dr2["c" + j.ToString()] = Convert.ToDouble(data.Rows[i][colid[j - 1]]);
-                    }
-                }
-                if (dr2["Name"].ToString() != "" && dr2["Name"].ToString().IndexOf("number") < 0)
-                {
-                    dr2["total"] = "0"; //求合
-                    double d_total = 0;
-
-                    for (int j = 1; j < colidCount; j++)
-                    {
-                        if (colid.Count >= j)
-                        {
-                            d_total = d_total + Convert.ToInt64(data.Rows[i][colid[j - 1]]);
-                        }
-                    }
-                    dr2["total"] = d_total.ToString();
-                }
-                ls_Particel_dt.Rows.Add(dr2);
-            }
-            //按照list列表进行物质类排序,物质类中的元素分类按照面积的大小进行排序
-            List<string> ClassName = new List<string>();
-            DataTable getClass_dt = basicData.GetAllClass();
-            for (int i = 0; i < getClass_dt.Rows.Count; i++)
-            {
-                if (getClass_dt.Rows[i]["GroupName"].ToString() != "NOT_INCLUTION" && getClass_dt.Rows[i]["GroupName"].ToString() != "Invalid")
-                    if (getClass_dt.Rows[i]["GroupName"].ToString() == "")
-                        ClassName.Add("NULL");
-                    else
-                        ClassName.Add(getClass_dt.Rows[i]["GroupName"].ToString());
-            }
-
-            //颗粒尺寸数据(例 1.5有多少,2.0有多少)
-            DataTable colid_data = new DataTable();
-            colid_data.Columns.Add("name");
-            colid_data.Columns.Add("quantity", typeof(double));
-            for (int i = 0; i < ls_Particel_dt.Columns.Count; i++)
-            {
-
-                if (ls_Particel_dt.Columns[i].ColumnName == "c" + (i + 1).ToString())
-                {
-                    if (i < colid.Count)
-                    {
-                        DataRow dr1 = colid_data.NewRow();
-                        dr1["name"] = colid[i].ToString();
-                        int quantity = 0;
-                        for (int a = 0; a < ls_Particel_dt.Rows.Count; a++)
-                        {
-                            quantity = quantity + Convert.ToInt32(ls_Particel_dt.Rows[a][i].ToString());
-                        }
-                        dr1["quantity"] = quantity.ToString();
-                        colid_data.Rows.Add(dr1);
-                    }
-                }
-            }
-            return colid_data;
-         
-        }
-        public DataTable ParticleResults(c_TemplateClass m_mbszclass, OTSReport_Export m_otsreport_export, string ComputeMode)
-        {
-            DataTable data = GetDBData(m_mbszclass, m_otsreport_export, ComputeMode);
-
-            List<string> colid = new List<string>();
-            //获取粒级表
-            string path1 = m_otsreport_export.m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFileFolder +
-                 m_otsreport_export.m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile;
-            DataSet ds = OTSIncAReportApp.DataOperation.DataAccess.XMLoperate.GetXml(path1);
-            string sizestr = ds.Tables[0].Rows[0]["Sizes"].ToString();
-            for (int i = 0; i < sizestr.Split(',').Length; i++)
-            {
-                if (sizestr.Split(',')[i].Length > 0)
-                {
-                    double d1 = Convert.ToDouble(sizestr.Split(',')[i]);
-                    colid.Add("≥" + d1.ToString() );
-                }
-            }
-
-            ParticleData fielddata = new ParticleData(m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()].FilePath);
-
-
-            //------------------------------------------------
-            DataTable ls_partsize_dt = new DataTable();
-            ls_partsize_dt.TableName = "PartSize";
-            for(int i=0;i< colid.Count;i++)
-            {
-                ls_partsize_dt.Columns.Add("c"+(i+1).ToString());
-            }
- 
-            DataRow dr = ls_partsize_dt.NewRow();
-            DataTable ls_Particel_dt = new DataTable();
-            ls_Particel_dt.TableName = "Particel";
-            int colidCount = 1;
-            for (int i = 0; i < colid.Count; i++)
-            {
-   
-                    dr["c" + (i+1).ToString()] = colid[i];
-          
-
-                ls_Particel_dt.Columns.Add("c"+ (i + 1).ToString());
-                colidCount++;
-            }
-            ls_partsize_dt.Rows.Add(dr);
-            ls_Particel_dt.Columns.Add("Name");
-            ls_Particel_dt.Columns.Add("total");
-            ls_Particel_dt.Columns.Add("TypeId");
-
-
-            for (int i = 0; i < data.Rows.Count; i++)
-            {
-                DataRow dr2 = ls_Particel_dt.NewRow();
-                dr2["Name"] = data.Rows[i]["TypeName"].ToString();
-
-                dr2["TypeId"] = data.Rows[i]["TypeId"].ToString();//获取分类编号
-                for (int j = 1; j < colidCount; j++)
-                {
-                    if (colid.Count >= j)
-                    {
-                        double de = Convert.ToDouble(data.Rows[i][colid[j - 1]]);
-                        if (de == 0)
-                            dr2["c" + j.ToString()] = " ";
-                        else
-                            dr2["c" + j.ToString()] = de.ToString();
-                    }
-                }
-                if (dr2["Name"].ToString() != "" && dr2["Name"].ToString().IndexOf("number") < 0)
-                {
-                    dr2["total"] = " "; //求合
-                    double d_total = 0;
-
-                    for (int j = 1; j < colidCount; j++)
-                    {
-                        if (colid.Count >= j)
-                        {
-                            d_total = d_total + Convert.ToInt64(data.Rows[i][colid[j - 1]]);
-                        }
-                    }
-                    if (d_total == 0)
-                    {
-                        continue;
-                        dr2["total"] = " ";
-                    }
-                    else
-                        dr2["total"] = d_total.ToString();
-                }
-                ls_Particel_dt.Rows.Add(dr2);
-            }
-            return ls_Particel_dt;
-        }
+		
         public DataTable TypeRange(c_TemplateClass m_mbszclass, OTSReport_Export m_otsreport_export)
         {
             List<string> colid = new List<string>();
@@ -492,285 +291,6 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 
             return ls_partsize_dt;
         }
-        private DataTable QuantityOfIntegratedSubstances(DataTable dataTable, List<string> ClassName)
-        {
-            DataTable dt_Class = dataTable.Copy();
-            dt_Class.Clear();
-            dt_Class.TableName = "Particel";
-            dt_Class.Columns.Remove("Name");
-
-            for (int i = 0; i < ClassName.Count; i++)
-            {
-                //保留当前循环中大类物质,去除其他物质
-                DataTable dt = dataTable.Copy();
-                dt.Clear();
-                for (int a = 0; a < dataTable.Rows.Count; a++)
-                {
-                    if (dataTable.Rows[a]["Class"].ToString() == ClassName[i].ToString())
-                    {
-                        dt.Rows.Add(dataTable.Rows[a].ItemArray);
-                    }
-                }
-                //if (dt.Rows.Count == 0)
-                //    continue;
-
-                DataTable dt_2 = new DataTable();
-                dt_2 = dataTable.Copy();
-                dt_2.Clear();
-                DataRow row = dt_2.NewRow();
-                dt_2.Rows.Add(row);
-
-                for (int a = 0; a < dt.Columns.Count; a++)
-                {
-                    if (dt.Columns[a].ToString() != "Name" && dt.Columns[a].ToString() != "Class" && dt.Columns[a].ToString() != "TypeId")
-                    {
-                        bool bl = false;
-                        for (int b = 0; b < dt.Rows.Count; b++)
-                        {
-                            if (!dt.Rows[b].IsNull(dt.Columns[a].ToString()))
-                            {
-                                bl = true;
-                            }
-                        }
-                        if (bl)
-                        {
-                            dt_2.Rows[0][dt.Columns[a].ToString()] = decimal.Parse(dt.Compute("sum(" + dt.Columns[a].ToString() + ")", "").ToString());
-                        }
-                        else
-                        {
-                            dt_2.Rows[0][dt.Columns[a].ToString()] = 0;
-						}
-                    }
-                  
-                }
-                dt_2.Columns.Remove("Name");
-                dt_2.Rows[0]["Class"] = ClassName[i];
-                dt_Class.Rows.Add(dt_2.Rows[0].ItemArray);
-            }
-            return dt_Class;
-        }
-        private DataTable classIfIcationSort(DataTable dataTable, List<string> ClassName, DataTable data,int colidCount)
-        {
-            DataTable dt = new DataTable();
-            dt = dataTable.Copy();
-            dt.Clear();
-            dt.TableName = "Particel_subdivision";
-            //循环list中每个类型
-            for (int i = 0; i < ClassName.Count(); i++)
-            {
-                DataTable data1 = dt.Copy();
-                data1.Clear();
-                data1.Rows.Add();
-                for (int a = 0; a < data.Rows.Count; a++)
-                {
-                    if (data.Rows[a]["Class"].ToString() == ClassName[i].ToString())
-                    {
-                        for (int b = 1; b < colidCount; b++)
-                        {
-                            data1.Rows[0]["c" + b.ToString()] = data.Rows[a]["c" + b.ToString()];
-                        }
-                        data1.Rows[0]["total"] = data.Rows[a]["total"];
-                        data1.Rows[0]["Class"] = data.Rows[a]["Class"];
-
-                        dt.Rows.Add(data1.Rows[0].ItemArray);
-                    }
-                }
-
-                DataTable dt_1 = new DataTable();
-                dt_1 = dt.Copy();
-                dt_1.Clear();
-                //循环DataTable中每个分类的数据
-                for (int a = 0; a < dataTable.Rows.Count; a++)
-                {
-                    if (!string.IsNullOrWhiteSpace(ClassName[i].ToString()))
-                        if (dataTable.Rows[a]["Class"].ToString() == ClassName[i].ToString())
-                        {
-                            dataTable.Rows[a]["Class"] = "";
-                            dt_1.Rows.Add(dataTable.Rows[a].ItemArray);
-                        }
-                }
-                //将颗粒数量排序(从大到小)
-                DataView dv = dt_1.DefaultView;
-                dv.Sort = "total DESC";
-                DataTable dt_1_sort = dv.ToTable();
-                for (int a = 0; a < dt_1_sort.Rows.Count; a++)
-                {
-                    dt.Rows.Add(dt_1_sort.Rows[a].ItemArray);
-                }
-            }
-   
-            return dt;
-
-        }
-        private DataTable InvalidRemoval(DataTable dt)
-        {
-            DataTable dataTable = dt.Copy();
-            dataTable.Clear();
-
-            for (int i = 0; i < dt.Rows.Count; i++)
-            {
-                if (Convert.ToInt32(dt.Rows[i]["TypeId"])>10 )
-                {
-                    dataTable.Rows.Add(dt.Rows[i].ItemArray);
-                }
-            }
-            return dataTable;
-        }
-        private string getWhere(string max, string min, string col, string partic)
-        {
-            return col + ">=" + min + " and " + col + "<" + max + " and TypeId=" + partic;
-        }
-        private DataTable GetDBData(c_TemplateClass m_mbszclass , OTSReport_Export m_otsreport_export,string ComputeMode)
-        {
-
-            DataTable m_bt_DBData = new DataTable();
-            ParticleData fielddata = new ParticleData(m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()].FilePath);
-            List<string> colid = new List<string>() { "TypeName", "ar", "TypeId", "Largest", "Class", "con" };
-            //获取粒级表
-            string path1 = m_otsreport_export.m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFileFolder +
-                 m_otsreport_export.m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile;
-            DataSet ds = OTSIncAReportApp.DataOperation.DataAccess.XMLoperate.GetXml(path1);
-            string sizestr = ds.Tables[0].Rows[0]["Sizes"].ToString();
-            for (int i = 0; i < sizestr.Split(',').Length ; i++)
-            {
-                if (sizestr.Split(',')[i].Length > 0)
-                {
-                    double d1 = Convert.ToDouble(sizestr.Split(',')[i]);
-                    colid.Add("≥" + d1.ToString() );
-                }
-            }
-          
-            for (int i = 0; i < colid.Count; i++)
-            {
-                m_bt_DBData.Columns.Add(colid[i].ToString());
-            }
-
-            DataTable dt = InvalidRemoval(fielddata.GetParticleListForParticlSize("area", ""));
-            DataTable AreaInformationOfAllElements = InvalidRemoval(fielddata.GetAreaByAllIncA(""));
-            DataTable dtp = InvalidRemoval(fielddata.GetParticleAll(""));
-          
-            string po = ComputeMode;
-            switch (po)
-            {
-                case "DMAX":
-                    po = "DMAX";
-                    break;
-                case "DMIN":
-                    po = "DMIN";
-                    break;
-                case "ECD":
-                    po = "Area";
-                    break;
-                case "FERET":
-                    po = "DFERET";
-                    break;
-            }
-
-
-            for (int i = 0; i < dt.Rows.Count; i++)
-            {
-                DataRow dr = m_bt_DBData.NewRow();
-                dr["TypeName"] = dt.Rows[i]["TypeName"].ToString();
-                dr["TypeId"] = dt.Rows[i]["TypeId"].ToString();
-                dr["con"] = dt.Rows[i]["con"].ToString();
-
-                if (dt.Rows[i]["GroupName"].ToString() == "")
-                    dr["Class"] = "Default";
-                else
-                    dr["Class"] = dt.Rows[i]["GroupName"].ToString();
-                //continue;
-                dr["Largest"] = Math.Round(Convert.ToDouble(dt.Rows[i]["max"]), 2);
-                for (int a = 6; a < colid.Count; a++)
-                {
-                    string d2;
-                    if (a== colid.Count-1)
-                    {
-                        d2 = "999";
-                    }
-                    else
-                    {
-                        d2 = colid[a+1].Split('≥')[1];
-                    }
-                    string d1 = colid[a].Split('≥')[1];
-                    
-                    DataRow[] datas = dtp.Select(getWhere(d2, d1, po, dt.Rows[i]["TypeId"].ToString()));
-                    dr[colid[a]] = datas.Count();
-                }
-                for (int a = 0; a < AreaInformationOfAllElements.Rows.Count; a++)
-                {
-                    if (dt.Rows[i]["TypeId"].ToString() == AreaInformationOfAllElements.Rows[a]["TypeId"].ToString())
-                    {
-                        dr["ar"] = AreaInformationOfAllElements.Rows[a]["ar"];
-                    }
-                }
-                m_bt_DBData.Rows.Add(dr);
-            }
-
-
-
-            //去除物质分类(非夹杂物分类)
-            for (int a = 0; a < m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass_Serial.Count; a++)
-            {
-                for (int i = m_bt_DBData.Rows.Count - 1; i >= 0; i--)
-                {
-                    if (m_bt_DBData.Rows[i]["TypeId"].ToString() == m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass_Serial[a].ToString())
-                    {
-                        m_bt_DBData.Rows.RemoveAt(i);
-                    }
-                }
-            }
-
-            if (m_mbszclass.list_str_MainPriority_Serial.Count==0)
-            {
-                return m_bt_DBData;
-            }
-
-            DataTable datass = m_bt_DBData.Clone();
-
-            for (int i=0;i< m_mbszclass.list_str_MainPriority_Serial.Count;i++)
-            {
-                bool bl = false;
-                for (int a = 0; a < m_bt_DBData.Rows.Count; a++)
-                {
-                    if (m_bt_DBData.Rows[a]["TypeId"].ToString() == m_mbszclass.list_str_MainPriority_Serial[i])
-                    {
-                        datass.Rows.Add(m_bt_DBData.Rows[a].ItemArray);
-                        bl = true;
-                        continue;
-                    }
-                }
-                if(!bl)
-                {
-                    DataTable dta= m_bt_DBData.Clone();
-                    if (m_bt_DBData.Rows.Count != 0)
-                    {
-                        dta.Rows.Add(m_bt_DBData.Rows[0].ItemArray);
-                        for (int b = 0; b < dta.Columns.Count; b++)
-                        {
-                            if (dta.Columns[b].ColumnName == "TypeName")
-                            {
-                                dta.Rows[0][b] = m_mbszclass.list_str_MainPriority[i];
-                            }
-                            else if (dta.Columns[b].ColumnName == "Class")
-                            {
-                                dta.Rows[0][b] = "Default";
-                            }
-                            else
-                            {
-                                dta.Rows[0][b] = 0;
-                            }
-                        }
-
-                        datass.Rows.Add(dta.Rows[0].ItemArray);
-                    }
-
-                    
-                }
-            }
-
-            return datass;
-        }
-
 		private double CalculationTableColumn(DataTable a_data, string a_str)
 		{
 			double dl = 0;

+ 6 - 787
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/ParticleList.cs

@@ -33,284 +33,6 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
     class ParticleList
     {
 
-        /// <summary>
-        /// DEV颗粒列表颗粒前20个谱图排序
-        /// </summary>
-        /// <param name="m_mbszclass"></param>
-        /// <returns></returns>
-        public DataTable Get_dev_kllb_data(c_TemplateClass m_mbszclass, OTSReport_Export m_otsreport_export,out DataTable FilteredData,out List<DataTable> ElementIcons)
-        {
-            int serialNumber = 1;
-            //------------------加载模块,获取数据-------------------------------------------------
-
-            m_otsreport_export.m_ReportApp.im_ParticlesGridDevidePage = new ParticlesGridDevidePage(m_otsreport_export.m_ReportApp);
-            //根据sql条件,查询获取颗粒信息数据
-            ParticleData fielddata = new ParticleData(m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()].FilePath);
-            DataTable btb = InvalidRemoval(fielddata.GetIncaSurfaceData(m_mbszclass.M_KLLBXX.list_str_kllb_qcys));
-
-            //DataTable particles = fielddata.GetSplicingParticlesData();
-
-			DataTable dt;
-            
-            if (m_mbszclass.list_str_MainPriority_Serial.Count == 0)
-            {
-                dt = btb.Copy();
-            }
-            else
-            {
-                
-                dt = btb.Clone();
-                for (int i = 0; i < btb.Rows.Count; i++)
-                {
-                    for (int a = 0; a < m_mbszclass.list_str_MainPriority_Serial.Count; a++)
-                    {
-                        if (btb.Rows[i]["TypeId"].ToString() == m_mbszclass.list_str_MainPriority_Serial[a])
-                        {
-                            dt.Rows.Add(btb.Rows[i].ItemArray);
-                            continue;
-                        }
-                    }
-                }
-            }
-            
-
-            ResultFile resfile = m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()];
-            string str_libraryName = resfile.GetSTDName();
-            if (m_otsreport_export.m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.TCCleannessA/*|| m_otsreport_export.m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.BatteryCleannessA*/)
-            {
-                dt.Columns.Add("Hardness", typeof(double));
-                dt.Columns.Add("Hardness_detailed");
-                DataTable dt_stl = new DataTable();
-                if (GetSTL(str_libraryName, out dt_stl,m_otsreport_export))
-                {
-                    for (int i = 0; i < dt.Rows.Count; i++)
-                    {
-                        for (int a = 0; a < dt_stl.Rows.Count; a++)
-                        {
-                            if (dt.Rows[i]["TypeName"].ToString() == dt_stl.Rows[a]["TypeId"].ToString())
-                            {
-                                dt.Rows[i]["Hardness"] = Convert.ToDouble(dt_stl.Rows[a]["Hardness"]);
-                                dt.Rows[i]["Hardness_detailed"] = dt_stl.Rows[a]["Hardness_detailed"];
-                                break;
-                            }
-                        }
-                    }
-                }
-            }
-            //去除物质分类(非夹杂物分类)
-            for (int a = 0; a < m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass_Serial.Count; a++)
-            {
-                for (int i = dt.Rows.Count - 1; i >= 0; i--)
-                {
-                    if (dt.Rows[i]["TypeId"].ToString() == m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass_Serial[a].ToString())
-                    {
-                        dt.Rows.RemoveAt(i);
-                    }
-                }
-            }
-            DataTable PriorityOne = dt.Clone();
-        
-            for (int i=0;i< dt.Rows.Count;i++)
-            {
-                
-                for (int a=0;a< m_mbszclass.list_str_MainPriority_Serial.Count;a++)
-                {
-                    if (m_mbszclass.list_str_MainPriority_Serial[a].ToString()== dt.Rows[i]["TypeId"].ToString())
-                    {
-                        PriorityOne.Rows.Add(dt.Rows[i].ItemArray);
-                        continue;
-
-                    }
-                }
-
-            }
-            DataTable dt_ParticlesGridDevidePage;
-            if (m_mbszclass.list_str_MainPriority_Serial.Count!=0)
-            {
-                dt_ParticlesGridDevidePage = dt.Clone();
-                DataView dvs = PriorityOne.DefaultView;
-                dvs.Sort = m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1.ToString() + " DESC";
-                var da = dvs.ToTable();
-                for (int i = 0; i < da.Rows.Count; i++)
-                {
-                    dt_ParticlesGridDevidePage.Rows.Add(da.Rows[i].ItemArray);
-                }
-            }
-            else
-            {
-                DataView dvs = dt.DefaultView;
-                dvs.Sort = m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1.ToString() + " DESC";
-                dt_ParticlesGridDevidePage = dvs.ToTable();
-
-                //dt_ParticlesGridDevidePage = dt.Copy();
-            }
-
-            
-      
-            string str_resultPath = m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()].FilePath;
-            //------------------加载模块,获取数据结束----------------------------------------------
-            #region 创建要插入数据库表结构
-            //插入模板需父子表,结构
-            //表名field_dt表:(父表)           帧图表
-            DataTable DT_field_dt = new DataTable();
-            DT_field_dt.TableName = "field_dt";
-            DataColumn colpictid2 = new DataColumn("FieldId");
-            colpictid2.DataType = typeof(int);
-            DT_field_dt.Columns.Add(colpictid2);
-            //图像列
-            DataColumn colpict2 = new DataColumn("FieldImg");
-            colpict2.DataType = System.Type.GetType("System.Byte[]");
-            DT_field_dt.Columns.Add(colpict2);
-            //largest20表:(无关系表)       需要显示前20条带有显示能谱图像的颗粒表
-            DataTable DT_Largest20 = new DataTable();
-            DT_Largest20.TableName = "Largest20";
-            DT_Largest20.Columns.Add("pid");
-            DT_Largest20.Columns.Add("Size");
-            DT_Largest20.Columns.Add("Width");
-            DT_Largest20.Columns.Add("DMAX");
-            DT_Largest20.Columns.Add("DMIN");
-            DT_Largest20.Columns.Add("Class");
-            DT_Largest20.Columns.Add("ColName1");
-            DT_Largest20.Columns.Add("ColName2");
-            DT_Largest20.Columns.Add("ColName3");
-            DT_Largest20.Columns.Add("ColName4");
-            DT_Largest20.Columns.Add("ColName5");
-            DT_Largest20.Columns.Add("ColName6");
-            DT_Largest20.Columns.Add("ColName7");
-            DT_Largest20.Columns.Add("ColName8");
-            DT_Largest20.Columns.Add("ColName9");
-            DT_Largest20.Columns.Add("ColName10");
-            DT_Largest20.Columns.Add("ColVal1");
-            DT_Largest20.Columns.Add("ColVal2");
-            DT_Largest20.Columns.Add("ColVal3");
-            DT_Largest20.Columns.Add("ColVal4");
-            DT_Largest20.Columns.Add("ColVal5");
-            DT_Largest20.Columns.Add("ColVal6");
-            DT_Largest20.Columns.Add("ColVal7");
-            DT_Largest20.Columns.Add("ColVal8");
-            DT_Largest20.Columns.Add("ColVal9");
-            DT_Largest20.Columns.Add("ColVal10");
-            // 图像列
-            DT_Largest20.Columns.Add("p1", typeof(Bitmap));
-            DT_Largest20.Columns.Add("p2", typeof(Bitmap));
-            DT_Largest20.Columns.Add("p3", typeof(Bitmap));
-            #endregion
-            DataTable Filtered = dt_ParticlesGridDevidePage.Clone();
-
-            ElementIcons = new List<DataTable>();
-
-            ImageProcessor imageProcessor = new ImageProcessor();
-            #region 插入-前20颗粒部份
-            for (int i_row = 0; i_row < dt_ParticlesGridDevidePage.Rows.Count; i_row++)
-            {
-                if (dt_ParticlesGridDevidePage.Rows[i_row].ItemArray[24].ToString() != "Not Identified")
-                {
-                    //获取颗粒的fieldid,和particleid
-                    string str_fieldid = dt_ParticlesGridDevidePage.Rows[i_row]["fieldid"].ToString();
-                    string str_particleid = dt_ParticlesGridDevidePage.Rows[i_row]["particleid"].ToString();
-                    string str_typeid = dt_ParticlesGridDevidePage.Rows[i_row]["TypeId"].ToString();
-                    string str_typename = dt_ParticlesGridDevidePage.Rows[i_row]["TypeName"].ToString();
-                    string str_element = dt_ParticlesGridDevidePage.Rows[i_row]["Element"].ToString();
-                    //获取原始颗粒图像
-                    //Bitmap bp_particle = new Bitmap(1, 1);
-                    string str_path = str_resultPath + "\\FIELD_FILES\\";
-                    string str_imagePath = str_path + "Field" + str_fieldid.ToString() + ".bmp";
-                    if (str_fieldid == "-1")
-                        continue;
-                    if (serialNumber > m_mbszclass.M_KLLBXX.list_int_kllb_number)
-                        continue;
-                    Rectangle rectangle = new Rectangle() { X = Convert.ToInt32(dt_ParticlesGridDevidePage.Rows[i_row]["RectLeft"]), Y = Convert.ToInt32(dt_ParticlesGridDevidePage.Rows[i_row]["RectTop"]), Width = Convert.ToInt32(dt_ParticlesGridDevidePage.Rows[i_row]["RectWidth"]), Height = Convert.ToInt32(dt_ParticlesGridDevidePage.Rows[i_row]["RectHeight"]) };
-                    Bitmap bp_field = fielddata.ReadImageFile(str_imagePath);
-                    Bitmap bp_particle = fielddata.GetBitmapByParticle(bp_field, rectangle);
-                    bp_particle = imageProcessor.ResizeImageWithPadding(bp_particle, 120, 120, System.Drawing.Color.White);
-                    bp_particle.Tag = new List<string>() { dt_ParticlesGridDevidePage.Rows[i_row]["FieldId"].ToString(), dt_ParticlesGridDevidePage.Rows[i_row]["ParticleId"].ToString(), dt_ParticlesGridDevidePage.Rows[i_row]["TypeId"].ToString() };
-                    //获取该颗粒的xray能谱图像
-                    DataTable DT_XR = ExportXRay(str_fieldid, str_particleid, fielddata);
-                    ElementIcons.Add(DT_XR);
-                    System.Drawing.Bitmap bp_xraybp = ExportXRayBitmap(str_fieldid,
-                            str_particleid, Convert.ToInt32(str_typeid), str_typename, fielddata);
-                    Bitmap ls_xraybpnew = OTSIncAReportGraph.Class.DrawFunction.KiResizeImage(bp_xraybp, 700, 115);//能谱图处理
-                    DataTable SegmentData = fielddata.GetSegment();
-                  Bitmap BinaryParticles= ImageSplicer.ParticleBinaryDiagram(SegmentData, Convert.ToInt32(str_fieldid), Convert.ToInt32(str_particleid));
-                    Bitmap BP= imageProcessor.ResizeImageWithPadding(BinaryParticles, 120, 120, System.Drawing.Color.White);
-                    //获取该颗粒的二次放大处理图像
-                    //Bitmap ls_processbitmap = OTSIncAReportGraph.Class.DrawFunction.GetReZoomBitmap(bp_particle);// (Bitmap)bp_particle.Clone();//待完善
-                    //再将图像转成二进制流-------------------------------------------------------------------
-                    //原图
-                    MemoryStream newms_p1 = new MemoryStream();
-                    bp_particle.Save(newms_p1, System.Drawing.Imaging.ImageFormat.Bmp);
-                    //二次放大图
-                    MemoryStream newms_p2 = new MemoryStream();
-                    BP.Save(newms_p2, System.Drawing.Imaging.ImageFormat.Bmp);
-                    //能谱图
-                    MemoryStream newms_p3 = new MemoryStream();
-                    ls_xraybpnew.Save(newms_p3, System.Drawing.Imaging.ImageFormat.Bmp);
-                    //---------------------------------------------------------------------------------------                   
-                    DataRow dr = DT_Largest20.NewRow();
-                    dr["p1"] = bp_particle;
-                    dr["p2"] = BP;
-                    dr["p3"] = ls_xraybpnew;
-
-                   
-                    newms_p1.Dispose();
-                    newms_p2.Dispose();
-                    newms_p3.Dispose();
-                    dr["pid"] = serialNumber++.ToString();
-                    //颗粒列表列中第一个可选参数
-                    dr["Size"] = datatable_data(dt_ParticlesGridDevidePage, i_row, m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1);
-                    //这个参数没有用
-                    dr["Width"] = dt_ParticlesGridDevidePage.Rows[i_row]["rectwidth"].ToString();
-                    //颗粒列表列中第二个可选参数
-                    dr["DMAX"] = datatable_data(dt_ParticlesGridDevidePage, i_row, m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p2);
-                    //颗粒列表列中第三个可选参数
-                    dr["DMIN"] = datatable_data(dt_ParticlesGridDevidePage, i_row, m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p3);
-                    //颗粒列表列中显示分类不可以选择
-                    dr["Class"] = dt_ParticlesGridDevidePage.Rows[i_row]["typename"].ToString();
-                    GetMaxElementFromDataTable(dt_ParticlesGridDevidePage, i_row, out List<string> list_max_elementname, out List<double> list_max_elementvale);
-                    double colVal = 0;
-                    for (int i = 0; i < list_max_elementvale.Count; i++)
-                    {
-                        colVal = colVal + Convert.ToDouble(list_max_elementvale[i]);
-                    }
-                    //元素1
-                    dr["ColName1"] = list_max_elementname[0];
-                    dr["ColVal1"] = ParameterNormalization(colVal, list_max_elementvale[0]);
-                    //元素2
-                    dr["ColName2"] = list_max_elementname[1];
-                    dr["ColVal2"] = ParameterNormalization(colVal, list_max_elementvale[1]);
-                    //元素3
-                    dr["ColName3"] = list_max_elementname[2];
-                    dr["ColVal3"] = ParameterNormalization(colVal, list_max_elementvale[2]);
-                    //元素4
-                    dr["ColName4"] = list_max_elementname[3];
-                    dr["ColVal4"] = ParameterNormalization(colVal, list_max_elementvale[3]);
-                    //元素5
-                    dr["ColName5"] = list_max_elementname[4];
-                    dr["ColVal5"] = ParameterNormalization(colVal, list_max_elementvale[4]);
-                    //元素6
-                    dr["ColName6"] = list_max_elementname[5];
-                    dr["ColVal6"] = ParameterNormalization(colVal, list_max_elementvale[5]);
-                    //元素7
-                    dr["ColName7"] = list_max_elementname[6];
-                    dr["ColVal7"] = ParameterNormalization(colVal, list_max_elementvale[6]);
-                    //元素8
-                    dr["ColName8"] = list_max_elementname[7];
-                    dr["ColVal8"] = ParameterNormalization(colVal, list_max_elementvale[7]);
-                    //元素6
-                    dr["ColName9"] = list_max_elementname[8];
-                    dr["ColVal9"] = ParameterNormalization(colVal, list_max_elementvale[8]);
-                    //元素6
-                    dr["ColName9"] = list_max_elementname[9];
-                    dr["ColVal9"] = ParameterNormalization(colVal, list_max_elementvale[9]);
-                    DT_Largest20.Rows.Add(dr);
-                    Filtered.Rows.Add(dt_ParticlesGridDevidePage.Rows[i_row].ItemArray);
-                }
-            }
-            FilteredData = Filtered.Copy();
-            #endregion
-            return DT_Largest20;
-        }
-
 		/// <summary>
 		/// DEV颗粒列表颗粒前20个谱图排序
 		/// </summary>
@@ -567,349 +289,7 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 			return OutDt;
 		}
 
-		private DataTable ReadClassification(BasicData basicData)
-		{
-			DataTable dt_stl = new DataTable();
-			SqLiteHelper sh = new SqLiteHelper("data source='" + basicData.GetFilePath() + "\\" + basicData.GetResfile() + "'");
-			dt_stl = sh.ExecuteQuery("select * from STDGroups");
-			return dt_stl;
-		}
-		/// <summary>
-		/// 获取规则数据
-		/// </summary>
-		/// <param name="basicData"></param>
-		/// <returns></returns>
-		public List<DataTable> ObtainRuleData(BasicData basicData, DataTable strings)
-        {
-			DataTable dt_stl = new DataTable();
-			SqLiteHelper sh = new SqLiteHelper("data source='" + basicData.GetFilePath() + "\\" + basicData.GetResfile() + "'");
-			dt_stl = sh.ExecuteQuery("select * from ClassifySTD");
-            List<DataTable> List_data = new List<DataTable>();
-            for (int i = 0; i < strings.Rows.Count; i++)
-            {
-                DataTable table = dt_stl.Clone();
-                table.TableName = strings.Rows[i]["GroupId"].ToString();
-				for (int a = 0; a < dt_stl.Rows.Count; a++)
-                {
-                    if (strings.Rows[i]["GroupId"].ToString() == dt_stl.Rows[a]["GroupId"].ToString())
-                    {
-                        table.Rows.Add(dt_stl.Rows[a].ItemArray);
-					}
-                }
-                List_data.Add(table);
-			}
-
-			return List_data;
-		}
-
-		/// <summary>
-		/// 获得颗粒类别
-		/// </summary>
-		/// <returns></returns>
-		private DataTable ObtainParticleCategory(OTSReport_Export m_otsreport_export, BasicData basicData)
-        {
-            DataTable dataTable = new DataTable();
-            dataTable.Columns.Add("GroupId");
-			dataTable.Columns.Add("GroupName");
-            dataTable.Columns.Add("inoId");
-			DataTable get_dt = ReadClassification(basicData);
-			DataRow[] dataRow = get_dt.Select("", "iorder ASC");
-            int shul = 0;
-            string DefaultGroupId = "";
-			foreach (DataRow row in dataRow)
-			{
-                if (row.ItemArray[1].ToString() != "Default")
-                {
-                    DataRow data = dataTable.NewRow();
-                    data["inoId"] = shul;
-                    data["GroupId"] = row.ItemArray[0].ToString();
-                    data["GroupName"] = row.ItemArray[1].ToString();
-                    dataTable.Rows.Add(data);
-                    shul++;
-                }
-                else 
-                {
-					DefaultGroupId= row.ItemArray[0].ToString();
-
-				}
-			}
-			DataRow data2 = dataTable.NewRow();
-			data2["inoId"] = shul;
-			data2["GroupId"] = DefaultGroupId;
-			data2["GroupName"] = "Default";
-			dataTable.Rows.Add(data2);
-		
-            return dataTable;
-		}
-		/// <summary>
-		/// DEV颗粒列表颗粒前20个谱图排序
-		/// </summary>
-		/// <param name="m_mbszclass"></param>
-		/// <returns></returns>
-		public List<DataTable> Get_dev_kllb_data_cleanliness(c_TemplateClass m_mbszclass, OTSReport_Export m_otsreport_export, BasicData basicData, out List<DataTable> a_FilteredData, out List<List<DataTable>> a_ElementIcons)
-		{
-			//------------------加载模块,获取数据-------------------------------------------------
-			m_otsreport_export.m_ReportApp.im_ParticlesGridDevidePage = new ParticlesGridDevidePage(m_otsreport_export.m_ReportApp);
-			//根据sql条件,查询获取颗粒信息数据
-			ParticleData fielddata = new ParticleData(m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()].FilePath);
-            //获取所有颗粒的信息
-			DataTable data = fielddata.GetParticleAllList_DataTable();
-			data.Columns.Add("iorder");
-			data.Columns.Add("Hardness", typeof(double));
-			data.Columns.Add("Hardness_detailed");
-			//读取所有分组
-			DataTable strings = ObtainParticleCategory(m_otsreport_export, basicData);
-			List<DataTable> RuleData = ObtainRuleData(basicData, strings);
-			//测量结果库数据分类集(按照标准库组分类)
-			List<DataTable> dataTables = new List<DataTable>();
-            //循环分组
-            for (int i = 0; i < RuleData.Count; i++)
-            {
-                //粗分类将每组的颗粒进行区分
-                DataTable dt2 = data.Clone();
-                //循环测量结果库进行颗粒组分离
-				for (int a = 0; a < data.Rows.Count; a++)
-                {
-                    if (RuleData[i].TableName == data.Rows[a]["GroupId"].ToString())
-                    {
-                        //组内的规则ID匹配当前颗粒的显示排序
-                        for (int j = 0; j < RuleData[i].Rows.Count; j++)
-                        {
-							//判断颗粒的TypeId和当前组内的STDId是否相同
-							if (data.Rows[a]["TypeId"].ToString() == RuleData[i].Rows[j]["STDId"].ToString())
-                            {
-                                data.Rows[a]["iorder"] = RuleData[i].Rows[j]["ListNum"].ToString();
-								data.Rows[a]["Hardness_detailed"] = RuleData[i].Rows[j]["Hardness"].ToString();
-
-								if (System.Text.RegularExpressions.Regex.Replace(RuleData[i].Rows[i]["Hardness"].ToString(), @"[^\d.\d]", "").ToString() != "")
-								{
-									try
-									{
-										if (System.Text.RegularExpressions.Regex.Replace(RuleData[i].Rows[i]["Hardness"].ToString(), @"[^\d.\d]", "") == "o. Def.")
-										{
-											data.Rows[a]["Hardness"] = 0;
-										}
-										else
-										{
-											data.Rows[a]["Hardness"] = Convert.ToDouble(System.Text.RegularExpressions.Regex.Replace(RuleData[i].Rows[i]["Hardness"].ToString(), @"[^\d.\d]", ""));
-										}
-									}
-									catch
-									{
-										data.Rows[a]["Hardness"] = 0;
-									}
-
-								}
-								else
-								{
-									data.Rows[a]["Hardness"] = 0;
-								}
-							}
-                        }
-						dt2.Rows.Add(data.Rows[a].ItemArray);
-					}
-                }
-				DataView dvs = dt2.DefaultView;
-				dvs.Sort = "iorder ASC";
-				DataTable TemporaryDataGroup = dvs.ToTable();
-                dataTables.Add(TemporaryDataGroup);
-			}
-
-
-			//return 输出
-			List<DataTable> OutputDataTable = new List<DataTable>();
-
-            List<DataTable> List_FilteredData = new List<DataTable>();
-            List<List<DataTable>> List_ElementIcons = new List<List<DataTable>>();
-
-			for (int c = 0; c < dataTables.Count; c++)
-            {
-				DataTable PriorityOne = RuleData[c].Clone();
-
-				DataTable dt_ParticlesGridDevidePage;
-
-                DataView dvs = RuleData[c].DefaultView;
-                dvs.Sort = m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1.ToString() + " DESC";
-                dt_ParticlesGridDevidePage = dvs.ToTable();
-
-				int serialNumber = 1;
-				#region 表结构设置
-				//largest20表:(无关系表)       需要显示前20条带有显示能谱图像的颗粒表
-				DataTable DT_Largest20 = new DataTable();
-				DT_Largest20.TableName = "Largest20";
-				DT_Largest20.Columns.Add("pid");
-				DT_Largest20.Columns.Add("Size");
-				DT_Largest20.Columns.Add("Width");
-				DT_Largest20.Columns.Add("DMAX");
-				DT_Largest20.Columns.Add("DMIN");
-				DT_Largest20.Columns.Add("Class");
-				DT_Largest20.Columns.Add("ColName1");
-				DT_Largest20.Columns.Add("ColName2");
-				DT_Largest20.Columns.Add("ColName3");
-				DT_Largest20.Columns.Add("ColName4");
-				DT_Largest20.Columns.Add("ColName5");
-				DT_Largest20.Columns.Add("ColName6");
-				DT_Largest20.Columns.Add("ColName7");
-				DT_Largest20.Columns.Add("ColName8");
-				DT_Largest20.Columns.Add("ColName9");
-				DT_Largest20.Columns.Add("ColName10");
-				DT_Largest20.Columns.Add("ColVal1");
-				DT_Largest20.Columns.Add("ColVal2");
-				DT_Largest20.Columns.Add("ColVal3");
-				DT_Largest20.Columns.Add("ColVal4");
-				DT_Largest20.Columns.Add("ColVal5");
-				DT_Largest20.Columns.Add("ColVal6");
-				DT_Largest20.Columns.Add("ColVal7");
-				DT_Largest20.Columns.Add("ColVal8");
-				DT_Largest20.Columns.Add("ColVal9");
-				DT_Largest20.Columns.Add("ColVal10");
-				// 图像列
-				DT_Largest20.Columns.Add("p1", typeof(Bitmap));
-				DT_Largest20.Columns.Add("p2", typeof(Bitmap));
-				DT_Largest20.Columns.Add("p3", typeof(Bitmap));
-				#endregion
-
-				string str_resultPath = m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()].FilePath;
-				//------------------加载模块,获取数据结束----------------------------------------------
-				#region 创建要插入数据库表结构
-				//插入模板需父子表,结构
-				//表名field_dt表:(父表)           帧图表
-				DataTable DT_field_dt = new DataTable();
-				DT_field_dt.TableName = "field_dt";
-				DataColumn colpictid2 = new DataColumn("FieldId");
-				colpictid2.DataType = typeof(int);
-				DT_field_dt.Columns.Add(colpictid2);
-				//图像列
-				DataColumn colpict2 = new DataColumn("FieldImg");
-				colpict2.DataType = System.Type.GetType("System.Byte[]");
-				DT_field_dt.Columns.Add(colpict2);
-
-				#endregion
-				DataTable Filtered = dt_ParticlesGridDevidePage.Clone();
-
-				List<DataTable>  ElementIcons = new List<DataTable>();
-
-				ImageProcessor imageProcessor = new ImageProcessor();
-				#region 插入-前20颗粒部份
-				for (int i_row = 0; i_row < dt_ParticlesGridDevidePage.Rows.Count; i_row++)
-				{
-					if (dt_ParticlesGridDevidePage.Rows[i_row].ItemArray[24].ToString() != "Not Identified")
-					{
-						//获取颗粒的fieldid,和particleid
-						string str_fieldid = dt_ParticlesGridDevidePage.Rows[i_row]["fieldid"].ToString();
-						string str_particleid = dt_ParticlesGridDevidePage.Rows[i_row]["particleid"].ToString();
-						string str_typeid = dt_ParticlesGridDevidePage.Rows[i_row]["TypeId"].ToString();
-						string str_typename = dt_ParticlesGridDevidePage.Rows[i_row]["TypeName"].ToString();
-						string str_element = dt_ParticlesGridDevidePage.Rows[i_row]["Element"].ToString();
-						//获取原始颗粒图像
-						//Bitmap bp_particle = new Bitmap(1, 1);
-						string str_path = str_resultPath + "\\FIELD_FILES\\";
-						string str_imagePath = str_path + "Field" + str_fieldid.ToString() + ".bmp";
-						if (str_fieldid == "-1")
-							continue;
-						if (serialNumber > m_mbszclass.M_KLLBXX.list_int_kllb_number)
-							continue;
-						Rectangle rectangle = new Rectangle() { X = Convert.ToInt32(dt_ParticlesGridDevidePage.Rows[i_row]["RectLeft"]), Y = Convert.ToInt32(dt_ParticlesGridDevidePage.Rows[i_row]["RectTop"]), Width = Convert.ToInt32(dt_ParticlesGridDevidePage.Rows[i_row]["RectWidth"]), Height = Convert.ToInt32(dt_ParticlesGridDevidePage.Rows[i_row]["RectHeight"]) };
-						Bitmap bp_field = fielddata.ReadImageFile(str_imagePath);
-						Bitmap bp_particle = fielddata.GetBitmapByParticle(bp_field, rectangle);
-						bp_particle = imageProcessor.ResizeImageWithPadding(bp_particle, 120, 120, System.Drawing.Color.White);
-						bp_particle.Tag = new List<string>() { dt_ParticlesGridDevidePage.Rows[i_row]["FieldId"].ToString(), dt_ParticlesGridDevidePage.Rows[i_row]["ParticleId"].ToString(), dt_ParticlesGridDevidePage.Rows[i_row]["TypeId"].ToString() };
-						//获取该颗粒的xray能谱图像
-						DataTable DT_XR = ExportXRay(str_fieldid, str_particleid, fielddata);
-						ElementIcons.Add(DT_XR);
-						System.Drawing.Bitmap bp_xraybp = ExportXRayBitmap(str_fieldid,
-								str_particleid, Convert.ToInt32(str_typeid), str_typename, fielddata);
-						Bitmap ls_xraybpnew = OTSIncAReportGraph.Class.DrawFunction.KiResizeImage(bp_xraybp, 700, 115);//能谱图处理
-						DataTable SegmentData = fielddata.GetSegment();
-						Bitmap BinaryParticles = ImageSplicer.ParticleBinaryDiagram(SegmentData, Convert.ToInt32(str_fieldid), Convert.ToInt32(str_particleid));
-						Bitmap BP = imageProcessor.ResizeImageWithPadding(BinaryParticles, 120, 120, System.Drawing.Color.White);
-						//获取该颗粒的二次放大处理图像
-						//Bitmap ls_processbitmap = OTSIncAReportGraph.Class.DrawFunction.GetReZoomBitmap(bp_particle);// (Bitmap)bp_particle.Clone();//待完善
-						//再将图像转成二进制流-------------------------------------------------------------------
-						//原图
-						MemoryStream newms_p1 = new MemoryStream();
-						bp_particle.Save(newms_p1, System.Drawing.Imaging.ImageFormat.Bmp);
-						//二次放大图
-						MemoryStream newms_p2 = new MemoryStream();
-						BP.Save(newms_p2, System.Drawing.Imaging.ImageFormat.Bmp);
-						//能谱图
-						MemoryStream newms_p3 = new MemoryStream();
-						ls_xraybpnew.Save(newms_p3, System.Drawing.Imaging.ImageFormat.Bmp);
-						//---------------------------------------------------------------------------------------                   
-						DataRow dr = DT_Largest20.NewRow();
-						dr["p1"] = bp_particle;
-						dr["p2"] = BP;
-						dr["p3"] = ls_xraybpnew;
-
-
-						newms_p1.Dispose();
-						newms_p2.Dispose();
-						newms_p3.Dispose();
-						dr["pid"] = serialNumber++.ToString();
-						//颗粒列表列中第一个可选参数
-						dr["Size"] = datatable_data(dt_ParticlesGridDevidePage, i_row, m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1);
-						//这个参数没有用
-						dr["Width"] = dt_ParticlesGridDevidePage.Rows[i_row]["rectwidth"].ToString();
-						//颗粒列表列中第二个可选参数
-						dr["DMAX"] = datatable_data(dt_ParticlesGridDevidePage, i_row, m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p2);
-						//颗粒列表列中第三个可选参数
-						dr["DMIN"] = datatable_data(dt_ParticlesGridDevidePage, i_row, m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p3);
-						//颗粒列表列中显示分类不可以选择
-						dr["Class"] = dt_ParticlesGridDevidePage.Rows[i_row]["typename"].ToString();
-						GetMaxElementFromDataTable(dt_ParticlesGridDevidePage, i_row, out List<string> list_max_elementname, out List<double> list_max_elementvale);
-						double colVal = 0;
-						for (int i = 0; i < list_max_elementvale.Count; i++)
-						{
-							colVal = colVal + Convert.ToDouble(list_max_elementvale[i]);
-						}
-						//元素1
-						dr["ColName1"] = list_max_elementname[0];
-						dr["ColVal1"] = ParameterNormalization(colVal, list_max_elementvale[0]);
-						//元素2
-						dr["ColName2"] = list_max_elementname[1];
-						dr["ColVal2"] = ParameterNormalization(colVal, list_max_elementvale[1]);
-						//元素3
-						dr["ColName3"] = list_max_elementname[2];
-						dr["ColVal3"] = ParameterNormalization(colVal, list_max_elementvale[2]);
-						//元素4
-						dr["ColName4"] = list_max_elementname[3];
-						dr["ColVal4"] = ParameterNormalization(colVal, list_max_elementvale[3]);
-						//元素5
-						dr["ColName5"] = list_max_elementname[4];
-						dr["ColVal5"] = ParameterNormalization(colVal, list_max_elementvale[4]);
-						//元素6
-						dr["ColName6"] = list_max_elementname[5];
-						dr["ColVal6"] = ParameterNormalization(colVal, list_max_elementvale[5]);
-						//元素7
-						dr["ColName7"] = list_max_elementname[6];
-						dr["ColVal7"] = ParameterNormalization(colVal, list_max_elementvale[6]);
-						//元素8
-						dr["ColName8"] = list_max_elementname[7];
-						dr["ColVal8"] = ParameterNormalization(colVal, list_max_elementvale[7]);
-						//元素6
-						dr["ColName9"] = list_max_elementname[8];
-						dr["ColVal9"] = ParameterNormalization(colVal, list_max_elementvale[8]);
-						//元素6
-						dr["ColName9"] = list_max_elementname[9];
-						dr["ColVal9"] = ParameterNormalization(colVal, list_max_elementvale[9]);
-						DT_Largest20.Rows.Add(dr);
-						Filtered.Rows.Add(dt_ParticlesGridDevidePage.Rows[i_row].ItemArray);
-					}
-				}
-				DataTable FilteredData = Filtered.Copy();
-
-                OutputDataTable.Add(DT_Largest20);
-                List_FilteredData.Add(FilteredData);
-                List_ElementIcons.Add(ElementIcons);
-                
-				#endregion
-			}
-
-			a_FilteredData = List_FilteredData.Copy();
-			a_ElementIcons = List_ElementIcons.Copy();
-			return OutputDataTable;
-		}
-
+	
 		/// <summary>
 		/// 拼接颗粒
 		/// </summary>
@@ -967,157 +347,6 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 
 		}
 
-
-		/// <summary>
-		/// 颗粒列表帧图
-		/// </summary>
-		/// <param name="m_mbszclass"></param>
-		/// <param name="file_pic"></param>
-		/// <param name="list_dt"></param>
-		/// <param name="m_otsreport_export"></param>
-		public void Get_dev_kllb_data_frame(c_TemplateClass m_mbszclass, out DataTable file_pic, out List<DataTable> list_dt, OTSReport_Export m_otsreport_export,DataTable FrameData)
-        {
-            m_otsreport_export.m_ReportApp.im_ParticlesGridDevidePage = new ParticlesGridDevidePage(m_otsreport_export.m_ReportApp);
-            //根据sql条件,查询获取颗粒信息数据
-            ParticleData fielddata = new ParticleData(m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()].FilePath);
-            DataTable btb = InvalidRemoval(fielddata.GetIncaSurfaceData(m_mbszclass.M_KLLBXX.list_str_kllb_qcys));
-
-            DataTable dt;
-            if (m_mbszclass.list_str_MainPriority_Serial.Count == 0)
-            {
-                dt = btb.Copy();
-            }
-            else
-            {
-                dt = btb.Clone();
-                for (int i = 0; i < btb.Rows.Count; i++)
-                {
-                    for (int a = 0; a < m_mbszclass.list_str_MainPriority_Serial.Count; a++)
-                    {
-                        if (btb.Rows[i]["TypeId"].ToString() == m_mbszclass.list_str_MainPriority_Serial[a])
-                        {
-                            dt.Rows.Add(btb.Rows[i].ItemArray);
-                            continue;
-                        }
-                    }
-                }
-            }
-
-            ResultFile resfile = m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()];
-            string str_libraryName = resfile.GetSTDName();
-            if (m_otsreport_export.m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.TCCleannessA|| m_otsreport_export.m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.BatteryCleannessA)
-            {
-                dt.Columns.Add("Hardness", typeof(double));
-                dt.Columns.Add("Hardness_detailed");
-                DataTable dt_stl = new DataTable();
-                if (GetSTL(str_libraryName, out dt_stl, m_otsreport_export))
-                {
-                    for (int i = 0; i < dt.Rows.Count; i++)
-                    {
-                        for (int a = 0; a < dt_stl.Rows.Count; a++)
-                        {
-                            if (dt.Rows[i]["TypeName"].ToString() == dt_stl.Rows[a]["TypeId"].ToString())
-                            {
-                                dt.Rows[i]["Hardness"] = Convert.ToDouble(dt_stl.Rows[a]["Hardness"]);
-                                dt.Rows[i]["Hardness_detailed"] = dt_stl.Rows[a]["Hardness_detailed"];
-                                break;
-                            }
-                        }
-                    }
-                }
-            }
-            //去除物质分类(非夹杂物分类)
-            for (int a = 0; a < m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass_Serial.Count; a++)
-            {
-                for (int i = dt.Rows.Count - 1; i >= 0; i--)
-                {
-                    if (dt.Rows[i]["TypeId"].ToString() == m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass_Serial[a].ToString())
-                    {
-                        dt.Rows.RemoveAt(i);
-                    }
-                }
-            }
-            //将颗粒大小排序(从大到小)
-            DataView dv = dt.DefaultView;
-            dv.Sort = m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1.ToString() + " DESC";
-            DataTable dt_ParticlesGridDevidePage = dv.ToTable();
-            string str_resultPath = m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()].FilePath;
-            DataTable dt_GridDevidePage = FrameData.Copy();
-            m_otsreport_export.m_ReportApp.im_ParticlesGridDevidePage.Out_MarkParticleRectangleOnFieldFile(str_resultPath, dt_GridDevidePage, out List<string> vs, out DataTable data);
-            DataTable data_A=    FrameGraphParticleTableDatat(dt_ParticlesGridDevidePage, fielddata, data, m_mbszclass, m_otsreport_export);
-            List<DataTable> listData = new List<DataTable>();
-            for (int i = 0; i < data.Rows.Count; i++)
-            {
-                DataTable dataTable = data_A.Clone();
-                //在数据表中有颗粒在该帧图中的话,则对该帧图标记图像进行读取存入数据库
-                DataRow[] datarowlist = data_A.Select(data.Rows[i]["fieldid"].ToString());
-                if (datarowlist.Count() > 0)
-                {
-                    for (int a = 0; a < data_A.Rows.Count; a++)
-                    {
-                        if (data.Rows[i]["id"].ToString() == data_A.Rows[a]["FieldId"].ToString())
-                        {
-                            dataTable.Rows.Add(data_A.Rows[a].ItemArray);
-                        }
-                    }
-                    listData.Add(dataTable);
-                }
-            }
-            file_pic = data.Copy();
-            list_dt = listData;
-        }
-
-
-		/// <summary>
-		/// 颗粒列表帧图
-		/// </summary>
-		/// <param name="m_mbszclass"></param>
-		/// <param name="file_pic"></param>
-		/// <param name="list_dt"></param>
-		/// <param name="m_otsreport_export"></param>
-		public void Get_dev_kllb_data_frame(c_TemplateClass m_mbszclass, out List<DataTable> file_pic, out List<List<DataTable>> list_dt, OTSReport_Export m_otsreport_export, List<DataTable> FrameData)
-		{
-			m_otsreport_export.m_ReportApp.im_ParticlesGridDevidePage = new ParticlesGridDevidePage(m_otsreport_export.m_ReportApp);
-			//根据sql条件,查询获取颗粒信息数据
-			ParticleData fielddata = new ParticleData(m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()].FilePath);
-			string str_resultPath = m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()].FilePath;
-
-            file_pic = new List<DataTable>();
-            list_dt = new List<List<DataTable>>();
-
-			for (int i = 0; i < FrameData.Count; i++)
-            {
-				DataTable pic = new DataTable();
-				List<DataTable> picDt = new List<DataTable>();
-
-				m_otsreport_export.m_ReportApp.im_ParticlesGridDevidePage.Out_MarkParticleRectangleOnFieldFile(str_resultPath, FrameData[i], out List<string> vs, out DataTable data);
-				DataTable data_A = FrameGraphParticleTableDatat(FrameData[i], fielddata, data, m_mbszclass, m_otsreport_export);
-				List<DataTable> listData = new List<DataTable>();
-				for (int a = 0; a < data.Rows.Count; a++)
-				{
-					DataTable dataTable = data_A.Clone();
-					//在数据表中有颗粒在该帧图中的话,则对该帧图标记图像进行读取存入数据库
-					DataRow[] datarowlist = data_A.Select(data.Rows[a]["fieldid"].ToString());
-					if (datarowlist.Count() > 0)
-					{
-						for (int b = 0; b < data_A.Rows.Count; b++)
-						{
-							if (data.Rows[i]["id"].ToString() == data_A.Rows[b]["FieldId"].ToString())
-							{
-								dataTable.Rows.Add(data_A.Rows[b].ItemArray);
-							}
-						}
-						listData.Add(dataTable);
-					}
-				}
-				pic = data.Copy();
-				picDt = listData.Copy();
-
-                file_pic.Add(pic);
-                list_dt.Add(picDt);
-			}
-		}
-
 		/// <summary>
 		/// 颗粒列表帧图
 		/// </summary>
@@ -1189,19 +418,7 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 
 
 		}
-		private DataTable InvalidRemoval(DataTable dt)
-        {
-            DataTable dataTable = dt.Copy();
-            dataTable.Clear();
-            for (int i = 0; i < dt.Rows.Count; i++)
-            {
-                if (Convert.ToInt32(dt.Rows[i]["TypeId"]) > 10)
-                {
-                    dataTable.Rows.Add(dt.Rows[i].ItemArray);
-                }
-            }
-            return dataTable;
-        }
+	
         private bool GetSTL(string str, out DataTable data,OTSReport_Export m_otsreport_export)
         {
             if (str.ToLower() == "nostddb")
@@ -1492,8 +709,10 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 
 			if (m_otsreport_export.m_ReportApp.m_RptConfigFile.Systype != OTS_SysType_ID.IncA)
             {
-                dt_ParticlesGridDevidePage.Columns.Remove("Hardness");
-                dt_ParticlesGridDevidePage.Columns.Remove("Hardness_detailed");
+				if (dt_ParticlesGridDevidePage.Columns.Contains("Hardness"))
+					dt_ParticlesGridDevidePage.Columns.Remove("Hardness");
+				if (dt_ParticlesGridDevidePage.Columns.Contains("Hardness_detailed"))
+					dt_ParticlesGridDevidePage.Columns.Remove("Hardness_detailed");
                 //将颗粒大小排序(从大到小)
                 DataView dvs = dt_ParticlesGridDevidePage.DefaultView;
                 dvs.Sort = m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1.ToString() + " DESC";

+ 1 - 1
OTSIncAReportApp/3-ServiceCenter/DataOperation/DataAccess/ParticleData.cs

@@ -1155,7 +1155,7 @@ namespace OTSIncAReportApp.DataOperation.DataAccess
 		}
 
 
-		private DataTable ReadClassification(BasicData basicData)
+		public DataTable ReadClassification(BasicData basicData)
 		{
 			DataTable dt_stl = new DataTable();
 			SqLiteHelper sh = new SqLiteHelper("data source='" + basicData.GetFilePath() + "\\" + basicData.GetResfile() + "'");