Просмотр исходного кода

Merge branch 'OTSRelease3_2' of http://36.129.169.60:30080/gogsadmin/OTS into OTSRelease3_2

gsp 6 месяцев назад
Родитель
Сommit
2ced893455
22 измененных файлов с 260 добавлено и 2050 удалено
  1. 13 7
      OTSCommon/DBOperate/Model/Particle.cs
  2. 3 2
      OTSIncAMeasureApp/0-OTSModel/OTSDataType/otsdataconst.cs
  3. 1 1
      OTSIncAMeasureApp/2-OTSMeasureParamManage/COTSMeasureParam.cs
  4. 8 1
      OTSIncAMeasureApp/3-OTSDisplaySourceGridData/OTSSampleVisualPropertyInfo.cs
  5. 25 58
      OTSIncAReportApp/1-UI/Control_Graph/Controls/Control_DrawDistrbutionImageAndBSE.cs
  6. 2 2
      OTSIncAReportApp/1-UI/OTSDisplaySourceGridData/OTSSampleReportInfo/OTSSampleReportInfo.cs
  7. 13 3
      OTSIncAReportApp/1-UI/OTSDisplaySourceGridData/frmReportConditionChoose.cs
  8. 1 38
      OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/BasicData.cs
  9. 2 449
      OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/ElementalAnalysis.cs
  10. 2 43
      OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/InclusionProportion.cs
  11. 1 481
      OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/ParticleAnalysis.cs
  12. 6 787
      OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/ParticleList.cs
  13. 1 7
      OTSIncAReportApp/1-UI/OTSRibbon/OTSRibbonFun.cs
  14. 59 78
      OTSIncAReportApp/1-UI/frmReportApp.Designer.cs
  15. 0 44
      OTSIncAReportApp/1-UI/frmReportApp.cs
  16. 7 13
      OTSIncAReportApp/1-UI/frmReportApp.resx
  17. 0 1
      OTSIncAReportApp/1-UI/frmTables.cs
  18. 1 1
      OTSIncAReportApp/2-CommonFunction/OTSRstMgrFunction/RptConfigFile.cs
  19. 1 1
      OTSIncAReportApp/3-ServiceCenter/DataOperation/DataAccess/ParticleData.cs
  20. 6 7
      OTSPartA_STDEditor/UI/STDRuleslist.cs
  21. 20 4
      OTSSysMgrApp/OTSSystemManagerForms.Designer.cs
  22. 88 22
      OTSSysMgrApp/OTSSystemManagerForms.cs

+ 13 - 7
OTSCommon/DBOperate/Model/Particle.cs

@@ -33,7 +33,7 @@ namespace OTSCommon.DBOperate.Model
             set;
             get;
         }
-     
+
         //PosX
         public int PosX { set; get; }
         //PosY
@@ -112,14 +112,14 @@ namespace OTSCommon.DBOperate.Model
         }
 
         public int SEMPosX
-        { 
-            get; 
-            set; 
+        {
+            get;
+            set;
         }
 
         public int SEMPosY
-        { 
-            get; 
+        {
+            get;
             set;
         }
 
@@ -128,5 +128,11 @@ namespace OTSCommon.DBOperate.Model
 
         public string Density { set; get; }
 
-        public string Electrical_conductivity { set; get; }    }
+        public string Electrical_conductivity { set; get; }
+
+        public string GroupName { set; get; }
+
+        public int GroupId { set; get; }
+        public string GroupColor { set; get; }
+    }
 }

+ 3 - 2
OTSIncAMeasureApp/0-OTSModel/OTSDataType/otsdataconst.cs

@@ -198,8 +198,9 @@ namespace OTSDataType
         {
 		    IncA = 0,
 		    TCCleannessA = 1,
-            BatteryCleannessA=2
-	    }
+            BatteryCleannessA=2,
+            SteelMineral=3
+        }
 
         public enum OTS_CLASSIFY_ENGINE_TYPE
         {

+ 1 - 1
OTSIncAMeasureApp/2-OTSMeasureParamManage/COTSMeasureParam.cs

@@ -1165,7 +1165,7 @@ namespace OTSMeasureApp
                 }
             }
 
-            return false;
+            return false;  
         }
 
         //获取BSE图像数据

+ 8 - 1
OTSIncAMeasureApp/3-OTSDisplaySourceGridData/OTSSampleVisualPropertyInfo.cs

@@ -616,8 +616,15 @@ namespace OTSMeasureApp
 
                 case OTS_SAMPLE_PROP_GRID_ITEMS.IMAGE_RESOLUTION:
                     {
-                      
+                        string ImageResulotion=((OTS_IMAGE_RESULOTION_OPTIONS)(int) objVal).ToString();
                         m_poMsrParams.GetImageScanParam().SetImageResulotion((OTS_IMAGE_RESULOTION_OPTIONS)(int)objVal);
+                        double radio = double.Parse(ImageResulotion.Split('_')[1])/ double.Parse(ImageResulotion.Split('_')[2]);
+                        int width= m_poSEMDataMsr.GetScanFieldSize();
+                        int heigth = (int)(width / radio);
+                        m_poSEMDataMsr.SetScanFieldHeight(heigth);
+                        int width100 = m_poSEMDataMsr.GetScanFieldSize100();
+                        int heigth100 = (int)(width100 / radio);
+                        m_poSEMDataMsr.SetScanFieldHeight100(heigth100);
                     }
                     break;
 

+ 25 - 58
OTSIncAReportApp/1-UI/Control_Graph/Controls/Control_DrawDistrbutionImageAndBSE.cs

@@ -2,7 +2,7 @@
 using OTSCLRINTERFACE;
 using OTSCommon.DBOperate.Model;
 
-using OTSIncAReportApp;
+
 using OTSIncAReportApp._3_ServiceCenter;
 using OTSIncAReportApp.DataOperation.DataAccess;
 using OTSIncAReportApp.OTSRstMgrFunction;
@@ -69,14 +69,12 @@ namespace OTSIncAReportGraph.Controls
         Combin,
         Render_Combin
     }
-
     public partial class Control_DrawDistrbutionImageAndBSE : UserControl
     {
 
         private OTSImageDisHelp imageDisHelper = null;
         //缩放的增大缩小的增量
         private const float const_zoom_increment = 0.05f;
-
         //最大缩放倍数
         private const float m_f_zoom_max = 4f;
 
@@ -96,7 +94,6 @@ namespace OTSIncAReportGraph.Controls
         public int reViewFieldId = 0;
         public int reViewParticleId = 0;
 
-
         //与原先缩放的记录数
         private float m_zoom_record = 1;
 
@@ -110,8 +107,6 @@ namespace OTSIncAReportGraph.Controls
 
         //包含particle的field的列表对象
         public List<DisplayRectangle> m_list_allDfield = null;
-
-
         //这里要做成控件,不要是窗体
         public List<DisplayParticle> m_list_allDPart_original = null;
         public List<DisplayRectangle> m_CurGBFields = new List<DisplayRectangle>();
@@ -129,24 +124,17 @@ namespace OTSIncAReportGraph.Controls
 
         //拖动前的坐标记录
         private PointF m_beforedrag_pointf = new PointF();
-
-
         //提供鼠标在右下角显示的文本,左侧
         private string m_str_mouseshow_left = "";
-
         //提供鼠标在右下角显示的文本,右侧
         private string m_str_mouseshow_right = "";
-
         //当前鼠标的位置
         Point m_mouse_now_point = new Point();
-
         Point m_currentMouseDownPoint;
         //记录当前鼠标位置对应SEM电镜的位置
         Point m_sem_mouse_now_point = new Point();
-
         //鼠标移动经过的颗粒对象,临时存放,用来记录是否要显示xray与隐藏xray
         DisplayParticle m_mouseOver_dparticle = null;
-
         //保存数据源名称
         private string m_showsourcename = "";
 
@@ -155,24 +143,16 @@ namespace OTSIncAReportGraph.Controls
 
         //移动SEM到指定位置发生线程
         private Thread m_mythread;
-
-
         private Color m_ColorNotContent = Color.SkyBlue;
-
-       
-
-
         private DISTRIBUTION_IMAGE_SHOW_MODE showMode;
 
         static System.Windows.Forms.Timer delaytimer = new System.Windows.Forms.Timer();
         Logger log;
-
         public string ShowSourceName
         {
             set { m_showsourcename = value; }
             get { return m_showsourcename; }
         }
-
         /// <summary>
         /// 当前正在显示的数据源的ID
         /// </summary>
@@ -181,20 +161,14 @@ namespace OTSIncAReportGraph.Controls
             set { m_datasourceid = value; }
             get { return m_datasourceid; }
         }
-
-
-
         //进度条窗体
         public Frm_UserProgress m_frm_userprogress;
 
-
         Hashtable resTable;
 
-
         OTSIncAReportApp.frmReportApp m_ReportApp;
         ResultFile sampleResultFile = null;
         //private Cursor cursor1;
-
         #endregion
 
         #region 构造函数及窗体加载
@@ -210,11 +184,10 @@ namespace OTSIncAReportGraph.Controls
 
             m_mythread = new Thread(new ParameterizedThreadStart(Thread_GO));
 
-            m_ReportApp = ReportApp;
-            sampleResultFile = m_ReportApp.m_rstDataMgr.CurResultFile;
-
 
 
+            m_ReportApp = ReportApp;
+            sampleResultFile = m_ReportApp.m_rstDataMgr.CurResultFile;
             InitializeComponent();
             #region 国际化语言
             Language lan = new Language(this);
@@ -254,7 +227,6 @@ namespace OTSIncAReportGraph.Controls
             this.control_Ruler1.Visible = false;
             this.Controls.Add(this.control_XRayTable1);
             this.Controls.Add(this.control_Ruler1);
-
             Language language = new Language(this);
             resTable = language.GetNameTable(this.Name.ToString());
 
@@ -288,12 +260,7 @@ namespace OTSIncAReportGraph.Controls
             ProgressBarUpdate(20, "compose whole picture....");//初始化底层操作类
             imageDisHelper = new OTSImageDisHelp(sampleResultFile);
             m_backRect = imageDisHelper.m_originalBackRect;
-           
-        
-
-
             List<Field> fieldlist = sampleResultFile.List_OTSField;
-
             float ls_int_progresscalc = 0;
             if (fieldlist.Count > 0)
             {
@@ -335,10 +302,6 @@ namespace OTSIncAReportGraph.Controls
                 }
             }
             DrawRuler();
-
-
-
-
             ProgressBarUpdate(100, table["str2"].ToString());
             m_frm_userprogress.Visible = false;
             FullGraphMatch();
@@ -495,14 +458,11 @@ namespace OTSIncAReportGraph.Controls
                         ls_dp.SetDisplayState(DisplayState.NODISPLAY);
 
                     }
-
-
                 }
             }
 
         }
         #endregion
-
         #region 设置双缓冲
         /// <summary>
         /// 设置双缓冲
@@ -512,22 +472,17 @@ namespace OTSIncAReportGraph.Controls
             SetStyle(ControlStyles.UserPaint, true);                    //没什么效果,开与关
             SetStyle(ControlStyles.AllPaintingInWmPaint, true);         // 禁止擦除背景,关了闪
             SetStyle(ControlStyles.OptimizedDoubleBuffer, true);   // 双缓冲,关了闪
-
             //上面是必须有的
             SetStyle(ControlStyles.UserMouse, true);    //执行自己的鼠标行为,这个打开后,在win7下鼠标操作明显改善
-
         }
         #endregion
-
         #region 绘制函数
         protected override void OnPaint(PaintEventArgs e)//处理重绘情况
         {
-
-          
+            
             switch (showMode)
             {
                 case DISTRIBUTION_IMAGE_SHOW_MODE.BSE:
-
                     e.Graphics.FillRectangle(new SolidBrush(Color.Gainsboro), m_backRect);
                     foreach (DisplayRectangle a_field in m_list_allDfield)
                     {
@@ -541,7 +496,6 @@ namespace OTSIncAReportGraph.Controls
                             }
                         }
                     }
-
                     break;
                 case DISTRIBUTION_IMAGE_SHOW_MODE.CLASSIFIED:
 
@@ -583,18 +537,29 @@ namespace OTSIncAReportGraph.Controls
                             }
                         }
                     }
-
                     break;
-                default:
+
+
+                case DISTRIBUTION_IMAGE_SHOW_MODE.ClassifyGroupDisplay:
+                    e.Graphics.FillRectangle(new SolidBrush(Color.Gainsboro), m_backRect);
+                    foreach (DisplayRectangle a_field in m_list_allDfield)
+                    {
+                        foreach (DisplayParticle dp in a_field.List_DParticle)
+                        {
+
+                            dp.ShowMode = SegmentShowMode.DRAWGROUPCOLORIMAGE;
+                            if (dp.GetPaintState() != PaintState.NOPAINT)
+                            {
+                                dp.Paint(e.Graphics);
+                            }
+                        }
+                    }
                     break;
 
 
+                default:
+                    break;
             }
-            //if (m_mouseOver_dparticle != null)
-            //{
-            //    m_mouseOver_dparticle.Paint(e.Graphics);
-            //}
-           
             //display GB field
             if (m_CurGBFields.Count > 0)
             {
@@ -1032,7 +997,7 @@ namespace OTSIncAReportGraph.Controls
             string leftOrRight = resultFile.GetXAxisDir();
             string downOrUp = resultFile.GetYAxisDir();
 
-            float ScanFieldSizeY = resultFile.GetScanFieldSizeY();
+            float ScanFieldSizeY = resultFile.GetScanFieldSizeY();       
             float m_pixelSize = resultFile.GetPixelSize();
             if (leftOrRight == "RIGHT_TOWARD")
             {
@@ -2035,6 +2000,8 @@ namespace OTSIncAReportGraph.Controls
                 return false;
             }
         }
+
+
         public bool WhetherThereAreDeleteParticles()
         {
             foreach (DisplayRectangle a_field in m_list_allDfield)

+ 2 - 2
OTSIncAReportApp/1-UI/OTSDisplaySourceGridData/OTSSampleReportInfo/OTSSampleReportInfo.cs

@@ -43,8 +43,8 @@ namespace OTSIncAReportApp.OTSSampleReportInfo
         BSE = 0,
         CLASSIFIED = 1,
         ORIGINAl=2,
-        ORIGINALCLASSIFIED=3
-
+        ORIGINALCLASSIFIED=3,
+        ClassifyGroupDisplay=4
     }
     public enum DATASOURCE_TYPE
     { 

+ 13 - 3
OTSIncAReportApp/1-UI/OTSDisplaySourceGridData/frmReportConditionChoose.cs

@@ -128,6 +128,7 @@ namespace OTSIncAReportApp
             string classifiedDisplay = resTable["classifieddisplay"].ToString();//分类显示
             string originalSplicing = resTable["originalsplicing"].ToString();//原图拼接
             string originalDistribution = resTable["originaldistribution"].ToString();//原图颗粒分布
+            string classifyGroupDisplay = resTable["classifygroupdisplay"].ToString();
             string particleSizeTable = resTable["particlesizetable"].ToString();//粒级表
             string chineseStandard1 = resTable["chinesestandard1"].ToString();//国标方法一
             string chineseStandard2 = resTable["chinesestandard2"].ToString();//国标方法二
@@ -153,7 +154,7 @@ namespace OTSIncAReportApp
             //测量图类别 分布图 or 排列图
             List<string> list1 = new List<string>() { distributionMap, arrangementDiagram };
             AddGridData(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE, graphicDisplayMode, OTS_ITEM_TYPES.COMBO, false, "image display mode", list1[0], list1, IMAGE_DISPLAY_TYPE.DISTRIBUTION);
-            AddGridData(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE, particleDisplayMode, OTS_ITEM_TYPES.COMBO, false, "distribution image Type", bseOriginal, new List<string>() { bseOriginal, classifiedDisplay, originalSplicing, originalDistribution }, DISTRIBUTION_IMAGE_SHOW_MODE.BSE);
+            AddGridData(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE, particleDisplayMode, OTS_ITEM_TYPES.COMBO, false, "distribution image Type", bseOriginal, new List<string>() { bseOriginal, classifiedDisplay, originalSplicing, originalDistribution}, DISTRIBUTION_IMAGE_SHOW_MODE.BSE);
             var DefaultPartSize = m_rstDataMgr.GetDefaultPartSize();
             //粒级表
             List<string> list_partsizelist = m_rstDataMgr.GetPartSizeFileList();//从系统默认的路径中查找出所有的粒级表文件
@@ -379,6 +380,7 @@ namespace OTSIncAReportApp
             string ClassifiedDisplay = resTable["classifieddisplay"].ToString();//分类显示
             string OriginalSplicing = resTable["originalsplicing"].ToString();//原图拼接
             string OriginalDistribution = resTable["originaldistribution"].ToString();//原图颗粒分布
+            string classifyGroupDisplay = resTable["classifygroupdisplay"].ToString();
 
             List<ConditionItem> list = new List<ConditionItem>();
             ConditionItem sampleData;
@@ -401,10 +403,18 @@ namespace OTSIncAReportApp
 
                 if ((int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE].itemVal == (int)IMAGE_DISPLAY_TYPE.DISTRIBUTION)
                 {
-                    sampleData.comboDownList = new List<string>() { BSEOriginal, ClassifiedDisplay, OriginalSplicing, OriginalDistribution };//bse,颗粒分类图
+                    OTS_SysType_ID oTS_SysType_ID = m_ReportApp.m_rstDataMgr.m_RptConfigFile.Systype;
+                    if (oTS_SysType_ID == OTS_SysType_ID.SteelMineral)
+                    {
+                        sampleData.comboDownList = new List<string>() { BSEOriginal, ClassifiedDisplay, OriginalSplicing, OriginalDistribution, classifyGroupDisplay };
+                    }
+                    else
+                    {
+                        sampleData.comboDownList = new List<string>() { BSEOriginal, ClassifiedDisplay, OriginalSplicing, OriginalDistribution };//bse,颗粒分类图
+                    }
                     list.Add(sampleData);
 
-                    if ((int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.BSE || (int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.CLASSIFIED|| (int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.ORIGINALCLASSIFIED)
+                    if ((int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.BSE || (int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.CLASSIFIED|| (int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.ORIGINALCLASSIFIED || (int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.ClassifyGroupDisplay)
                     {
 
                         //粒级表

+ 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 - 7
OTSIncAReportApp/1-UI/OTSRibbon/OTSRibbonFun.cs

@@ -39,7 +39,6 @@ namespace OTSIncAReportApp.OTSRibbon
             //Ribbon菜单中
             m_ReportApp.rbOpen.Enabled = true;                  //打开,ribbon中
             m_ReportApp.rbAllImage.Enabled = bRibState;         //全图匹配,ribbon中
-            m_ReportApp.rbWidthImage.Enabled = bRibState;       //宽度匹配,ribbon中
             m_ReportApp.rbReverseSelection.Enabled = bRibState; //反选,ribbon中
             m_ReportApp.rbCircular.Enabled = bRibState;         //圆形,ribbon中
             m_ReportApp.rbRectangle.Enabled = bRibState;        //矩形,ribbon中
@@ -107,26 +106,22 @@ namespace OTSIncAReportApp.OTSRibbon
                 m_ReportApp.rbSelTool.Enabled = false;//显示图匹配
                 m_ReportApp.rbChoiceTools.Enabled = false;//选择工具
                 m_ReportApp.ribbonPanel2.Enabled = false;//图形工具
-
                 //(主菜单)下拉菜单中的 新建,打开,保存,另存为,输出
                 m_ReportApp.dpbOpen.Enabled = true;
                 m_ReportApp.dpbExport.Enabled = true;
                 m_ReportApp.Backup.Enabled = true;
 
+
                 //主菜单文件框里(保存、另存为、输出、新建)设置
                 m_ReportApp.rbSave.Enabled = true;
                 m_ReportApp.rbSaveAs.Enabled = true;
                 m_ReportApp.rbOut.Enabled = true;
                 m_ReportApp.ribbonButton2.Enabled = true;
-
                 //设置打开按钮
                 m_ReportApp.dpbOpen.Enabled = true;
                 m_ReportApp.rbOpen.Enabled = true;
-
                 m_ReportApp.rbReMeasure.Enabled = true;
             }
-
-            
             var m_RptConfigFile =RptConfigFile.GetRptConfig();         //报表程序的配置文件
             if (m_RptConfigFile.Systype == OTS_SysType_ID.IncA)
             {
@@ -141,7 +136,6 @@ namespace OTSIncAReportApp.OTSRibbon
                 m_ReportApp.ribbonOrbMenuItem_purity.Enabled = false;
             }
         }
-
         #endregion
 
     }

+ 59 - 78
OTSIncAReportApp/1-UI/frmReportApp.Designer.cs

@@ -31,21 +31,21 @@
             this.components = new System.ComponentModel.Container();
             System.Windows.Forms.RibbonPanel ribbonPanel1;
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmReportApp));
-            OTS.WinFormsUI.Docking.DockPanelSkin dockPanelSkin2 = new OTS.WinFormsUI.Docking.DockPanelSkin();
-            OTS.WinFormsUI.Docking.AutoHideStripSkin autoHideStripSkin2 = new OTS.WinFormsUI.Docking.AutoHideStripSkin();
-            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient4 = new OTS.WinFormsUI.Docking.DockPanelGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient8 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.DockPaneStripSkin dockPaneStripSkin2 = new OTS.WinFormsUI.Docking.DockPaneStripSkin();
-            OTS.WinFormsUI.Docking.DockPaneStripGradient dockPaneStripGradient2 = new OTS.WinFormsUI.Docking.DockPaneStripGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient9 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient5 = new OTS.WinFormsUI.Docking.DockPanelGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient10 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.DockPaneStripToolWindowGradient dockPaneStripToolWindowGradient2 = new OTS.WinFormsUI.Docking.DockPaneStripToolWindowGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient11 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient12 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient6 = new OTS.WinFormsUI.Docking.DockPanelGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient13 = new OTS.WinFormsUI.Docking.TabGradient();
-            OTS.WinFormsUI.Docking.TabGradient tabGradient14 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPanelSkin dockPanelSkin1 = new OTS.WinFormsUI.Docking.DockPanelSkin();
+            OTS.WinFormsUI.Docking.AutoHideStripSkin autoHideStripSkin1 = new OTS.WinFormsUI.Docking.AutoHideStripSkin();
+            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient1 = new OTS.WinFormsUI.Docking.DockPanelGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient1 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPaneStripSkin dockPaneStripSkin1 = new OTS.WinFormsUI.Docking.DockPaneStripSkin();
+            OTS.WinFormsUI.Docking.DockPaneStripGradient dockPaneStripGradient1 = new OTS.WinFormsUI.Docking.DockPaneStripGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient2 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient2 = new OTS.WinFormsUI.Docking.DockPanelGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient3 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPaneStripToolWindowGradient dockPaneStripToolWindowGradient1 = new OTS.WinFormsUI.Docking.DockPaneStripToolWindowGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient4 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient5 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.DockPanelGradient dockPanelGradient3 = new OTS.WinFormsUI.Docking.DockPanelGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient6 = new OTS.WinFormsUI.Docking.TabGradient();
+            OTS.WinFormsUI.Docking.TabGradient tabGradient7 = new OTS.WinFormsUI.Docking.TabGradient();
             this.rbSave = new System.Windows.Forms.RibbonButton();
             this.rbSaveAs = new System.Windows.Forms.RibbonButton();
             this.rbOut = new System.Windows.Forms.RibbonButton();
@@ -68,7 +68,6 @@
             this.ribbonPanel3 = new System.Windows.Forms.RibbonPanel();
             this.rbSelTool = new System.Windows.Forms.RibbonPanel();
             this.rbAllImage = new System.Windows.Forms.RibbonButton();
-            this.rbWidthImage = new System.Windows.Forms.RibbonButton();
             this.rbChoiceTools = new System.Windows.Forms.RibbonPanel();
             this.rbReverseSelection = new System.Windows.Forms.RibbonButton();
             this.rbCircular = new System.Windows.Forms.RibbonButton();
@@ -218,7 +217,6 @@
             this.rbClose.ToolTip = "rbClose";
             this.rbClose.ToolTipImage = null;
             this.rbClose.ToolTipTitle = null;
-            this.rbClose.DoubleClick += new System.EventHandler(this.rbClose_DoubleClick);
             this.rbClose.Click += new System.EventHandler(this.rbClose_Click);
             // 
             // ribbon1
@@ -421,7 +419,6 @@
             this.rbSelTool.ButtonMoreEnabled = false;
             this.rbSelTool.ButtonMoreVisible = false;
             this.rbSelTool.Items.Add(this.rbAllImage);
-            this.rbSelTool.Items.Add(this.rbWidthImage);
             this.rbSelTool.Tag = null;
             this.rbSelTool.Text = "显示图匹配";
             // 
@@ -440,21 +437,6 @@
             this.rbAllImage.ToolTipTitle = "rbAllImage";
             this.rbAllImage.Click += new System.EventHandler(this.rbAllImage_Click);
             // 
-            // rbWidthImage
-            // 
-            this.rbWidthImage.AltKey = null;
-            this.rbWidthImage.DropDownArrowDirection = System.Windows.Forms.RibbonArrowDirection.Down;
-            this.rbWidthImage.DropDownArrowSize = new System.Drawing.Size(5, 3);
-            this.rbWidthImage.Image = global::OTSIncAReportApp.Properties.Resources.宽度匹配32;
-            this.rbWidthImage.SmallImage = ((System.Drawing.Image)(resources.GetObject("rbWidthImage.SmallImage")));
-            this.rbWidthImage.Style = System.Windows.Forms.RibbonButtonStyle.Normal;
-            this.rbWidthImage.Tag = "rbWidthImage";
-            this.rbWidthImage.Text = "宽度匹配";
-            this.rbWidthImage.ToolTip = "rbWidthImage";
-            this.rbWidthImage.ToolTipImage = null;
-            this.rbWidthImage.ToolTipTitle = null;
-            this.rbWidthImage.Click += new System.EventHandler(this.rbWidthImage_Click);
-            // 
             // rbChoiceTools
             // 
             this.rbChoiceTools.ButtonMoreEnabled = false;
@@ -694,50 +676,50 @@
             this.DockWindowPanel.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
             this.DockWindowPanel.Name = "DockWindowPanel";
             this.DockWindowPanel.Size = new System.Drawing.Size(1701, 541);
-            dockPanelGradient4.EndColor = System.Drawing.SystemColors.ControlLight;
-            dockPanelGradient4.StartColor = System.Drawing.SystemColors.ControlLight;
-            autoHideStripSkin2.DockStripGradient = dockPanelGradient4;
-            tabGradient8.EndColor = System.Drawing.SystemColors.Control;
-            tabGradient8.StartColor = System.Drawing.SystemColors.Control;
-            tabGradient8.TextColor = System.Drawing.SystemColors.ControlDarkDark;
-            autoHideStripSkin2.TabGradient = tabGradient8;
-            dockPanelSkin2.AutoHideStripSkin = autoHideStripSkin2;
-            tabGradient9.EndColor = System.Drawing.SystemColors.ControlLightLight;
-            tabGradient9.StartColor = System.Drawing.SystemColors.ControlLightLight;
-            tabGradient9.TextColor = System.Drawing.SystemColors.ControlText;
-            dockPaneStripGradient2.ActiveTabGradient = tabGradient9;
-            dockPanelGradient5.EndColor = System.Drawing.SystemColors.Control;
-            dockPanelGradient5.StartColor = System.Drawing.SystemColors.Control;
-            dockPaneStripGradient2.DockStripGradient = dockPanelGradient5;
-            tabGradient10.EndColor = System.Drawing.SystemColors.ControlLight;
-            tabGradient10.StartColor = System.Drawing.SystemColors.ControlLight;
-            tabGradient10.TextColor = System.Drawing.SystemColors.ControlText;
-            dockPaneStripGradient2.InactiveTabGradient = tabGradient10;
-            dockPaneStripSkin2.DocumentGradient = dockPaneStripGradient2;
-            tabGradient11.EndColor = System.Drawing.SystemColors.ActiveCaption;
-            tabGradient11.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
-            tabGradient11.StartColor = System.Drawing.SystemColors.GradientActiveCaption;
-            tabGradient11.TextColor = System.Drawing.SystemColors.ActiveCaptionText;
-            dockPaneStripToolWindowGradient2.ActiveCaptionGradient = tabGradient11;
-            tabGradient12.EndColor = System.Drawing.SystemColors.Control;
-            tabGradient12.StartColor = System.Drawing.SystemColors.Control;
-            tabGradient12.TextColor = System.Drawing.SystemColors.ControlText;
-            dockPaneStripToolWindowGradient2.ActiveTabGradient = tabGradient12;
-            dockPanelGradient6.EndColor = System.Drawing.SystemColors.ControlLight;
-            dockPanelGradient6.StartColor = System.Drawing.SystemColors.ControlLight;
-            dockPaneStripToolWindowGradient2.DockStripGradient = dockPanelGradient6;
-            tabGradient13.EndColor = System.Drawing.SystemColors.GradientInactiveCaption;
-            tabGradient13.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
-            tabGradient13.StartColor = System.Drawing.SystemColors.GradientInactiveCaption;
-            tabGradient13.TextColor = System.Drawing.SystemColors.ControlText;
-            dockPaneStripToolWindowGradient2.InactiveCaptionGradient = tabGradient13;
-            tabGradient14.EndColor = System.Drawing.Color.Transparent;
-            tabGradient14.StartColor = System.Drawing.Color.Transparent;
-            tabGradient14.TextColor = System.Drawing.SystemColors.ControlDarkDark;
-            dockPaneStripToolWindowGradient2.InactiveTabGradient = tabGradient14;
-            dockPaneStripSkin2.ToolWindowGradient = dockPaneStripToolWindowGradient2;
-            dockPanelSkin2.DockPaneStripSkin = dockPaneStripSkin2;
-            this.DockWindowPanel.Skin = dockPanelSkin2;
+            dockPanelGradient1.EndColor = System.Drawing.SystemColors.ControlLight;
+            dockPanelGradient1.StartColor = System.Drawing.SystemColors.ControlLight;
+            autoHideStripSkin1.DockStripGradient = dockPanelGradient1;
+            tabGradient1.EndColor = System.Drawing.SystemColors.Control;
+            tabGradient1.StartColor = System.Drawing.SystemColors.Control;
+            tabGradient1.TextColor = System.Drawing.SystemColors.ControlDarkDark;
+            autoHideStripSkin1.TabGradient = tabGradient1;
+            dockPanelSkin1.AutoHideStripSkin = autoHideStripSkin1;
+            tabGradient2.EndColor = System.Drawing.SystemColors.ControlLightLight;
+            tabGradient2.StartColor = System.Drawing.SystemColors.ControlLightLight;
+            tabGradient2.TextColor = System.Drawing.SystemColors.ControlText;
+            dockPaneStripGradient1.ActiveTabGradient = tabGradient2;
+            dockPanelGradient2.EndColor = System.Drawing.SystemColors.Control;
+            dockPanelGradient2.StartColor = System.Drawing.SystemColors.Control;
+            dockPaneStripGradient1.DockStripGradient = dockPanelGradient2;
+            tabGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
+            tabGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
+            tabGradient3.TextColor = System.Drawing.SystemColors.ControlText;
+            dockPaneStripGradient1.InactiveTabGradient = tabGradient3;
+            dockPaneStripSkin1.DocumentGradient = dockPaneStripGradient1;
+            tabGradient4.EndColor = System.Drawing.SystemColors.ActiveCaption;
+            tabGradient4.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
+            tabGradient4.StartColor = System.Drawing.SystemColors.GradientActiveCaption;
+            tabGradient4.TextColor = System.Drawing.SystemColors.ActiveCaptionText;
+            dockPaneStripToolWindowGradient1.ActiveCaptionGradient = tabGradient4;
+            tabGradient5.EndColor = System.Drawing.SystemColors.Control;
+            tabGradient5.StartColor = System.Drawing.SystemColors.Control;
+            tabGradient5.TextColor = System.Drawing.SystemColors.ControlText;
+            dockPaneStripToolWindowGradient1.ActiveTabGradient = tabGradient5;
+            dockPanelGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
+            dockPanelGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
+            dockPaneStripToolWindowGradient1.DockStripGradient = dockPanelGradient3;
+            tabGradient6.EndColor = System.Drawing.SystemColors.GradientInactiveCaption;
+            tabGradient6.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
+            tabGradient6.StartColor = System.Drawing.SystemColors.GradientInactiveCaption;
+            tabGradient6.TextColor = System.Drawing.SystemColors.ControlText;
+            dockPaneStripToolWindowGradient1.InactiveCaptionGradient = tabGradient6;
+            tabGradient7.EndColor = System.Drawing.Color.Transparent;
+            tabGradient7.StartColor = System.Drawing.Color.Transparent;
+            tabGradient7.TextColor = System.Drawing.SystemColors.ControlDarkDark;
+            dockPaneStripToolWindowGradient1.InactiveTabGradient = tabGradient7;
+            dockPaneStripSkin1.ToolWindowGradient = dockPaneStripToolWindowGradient1;
+            dockPanelSkin1.DockPaneStripSkin = dockPaneStripSkin1;
+            this.DockWindowPanel.Skin = dockPanelSkin1;
             this.DockWindowPanel.TabIndex = 5;
             this.DockWindowPanel.ActiveContentChanged += new System.EventHandler(this.DockWindowPanel_ActiveContentChanged);
             // 
@@ -821,7 +803,6 @@
         public System.Windows.Forms.RibbonButton rbClose;
         public System.Windows.Forms.RibbonButton rbSaveAs;
         public System.Windows.Forms.RibbonButton rbOut;
-        public System.Windows.Forms.RibbonButton rbWidthImage;
         public System.Windows.Forms.RibbonButton rbAllImage;
        
         public System.Windows.Forms.RibbonTab rbMenu;

+ 0 - 44
OTSIncAReportApp/1-UI/frmReportApp.cs

@@ -515,45 +515,6 @@ namespace OTSIncAReportApp
             }
         }
 
-        /// <summary>
-        /// 宽度匹配按钮事件
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void rbWidthImage_Click(object sender, EventArgs e)
-        {
-            int tabIndex = (int)(m_conditionChoose.tabIndex);
-
-            switch (tabIndex)
-            {
-                case (int)DisplayPicutureType.AnalyzeImg:
-                    int imgDisType = m_conditionChoose.m_conditionData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
-                    if (imgDisType == 0)
-                    {
-                        if (im_Control_DrawDistrbutionImageAndBSE != null)
-                        {
-                            //分布图
-                            im_Control_DrawDistrbutionImageAndBSE.WidthMatch();
-                            im_Control_DrawDistrbutionImageAndBSE.Invalidate();
-                        }
-                    }
-                    else
-                    {
-                        if (im_Control_DrawDistrbutionSortImage != null)
-                        {
-                            //排列图
-                        }
-                    }
-                    break;
-                case (int)DisplayPicutureType.AnalyzeDataTable:
-                    break;
-                case (int)DisplayPicutureType.AnalyzeDataChart:
-                    break;
-                default:
-                    break;
-            }
-        }
-
         /// <summary>
         /// 帧图边框按钮事件
         /// </summary>
@@ -1289,11 +1250,6 @@ namespace OTSIncAReportApp
             //m_StandardLibrary.DataDeletion();
         }
 
-        private void rbClose_DoubleClick(object sender, EventArgs e)
-        {
-
-        }
-
         private void ribbonOrbMenuItem_purity_Click(object sender, EventArgs e)
         {
             string sou = m_conditionChoose.m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE].itemDisplayVal.ToString();

+ 7 - 13
OTSIncAReportApp/1-UI/frmReportApp.resx

@@ -184,31 +184,31 @@
   <data name="rbOpen.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="rbOpenprj.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="rbClose.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="Backup.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wQAADsEBuJFr7QAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="Backup.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="ribbonOrbOptionButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -239,12 +239,6 @@
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
         JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
-</value>
-  </data>
-  <data name="rbWidthImage.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAW
-        JQAAFiUBSVIk8AAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="rbFrame.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -268,13 +262,13 @@
   <data name="rbHelp.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
+        wQAADsEBuJFr7QAAABpJREFUWEftwQEBAAAAgiD/r25IQAAAAMC5GhAgAAGdeElDAAAAAElFTkSuQmCC
 </value>
   </data>
   <data name="rbHelp.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wwAADsMBx2+oZAAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
+        wQAADsEBuJFr7QAAABNJREFUOE9jGAWjYBSMAjBgYAAABBAAAadEfGMAAAAASUVORK5CYII=
 </value>
   </data>
   <data name="rbGB1.SmallImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

+ 0 - 1
OTSIncAReportApp/1-UI/frmTables.cs

@@ -35,7 +35,6 @@ namespace OTSIncAReportApp
         private void OTSCaculationTablesWindow_Activated(object sender, EventArgs e)
         {
             OTSSourceGrid m_SampleGrid = m_ReportApp.m_conditionChoose.m_sourceGrid;
-
             m_SampleGrid.InitGrid();
             m_SampleGrid.InitGroupTitle(0, table["generalparameters"].ToString());
 

+ 1 - 1
OTSIncAReportApp/2-CommonFunction/OTSRstMgrFunction/RptConfigFile.cs

@@ -49,7 +49,7 @@ namespace OTSIncAReportApp.OTSRstMgrFunction
             {
                 this.Systype = OTS_SysType_ID.BatteryCleannessA;
             }
-
+            else {this.Systype = OTS_SysType_ID.SteelMineral;}
             this.PartSizeFile = GetDataFromDataSetXml(ds, "name", "PartSizeFile");//ds.Tables[1].Rows[2]["Name"].ToString();
             this.TriTempFile = m_TriTempFile;
         }

+ 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() + "'");

+ 6 - 7
OTSPartA_STDEditor/UI/STDRuleslist.cs

@@ -557,12 +557,13 @@ namespace OTSPartA_STDEditor
                 }
             }
         }
+        string PreN = "";
         private void ToolStripMenuItem_Rename_Click(object sender, EventArgs e)
         {
             if (treeView_G.SelectedNode != null)
             {
                 RenFlag = true;
-                treeView_G.SelectedNode.Text = "";
+                PreN = treeView_G.SelectedNode.Text;
                 if (treeView_G.SelectedNode.Level == 0)
                 {
 
@@ -583,15 +584,15 @@ namespace OTSPartA_STDEditor
                 }
             }
         }
+
+
         private void treeView_G_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
         {
             if (treeView_G.SelectedNode.Level == 0)
             {
-                if(e.Label == null|| e.Label == "")
+                if(e.Label == "")
                 {
-                    MessageBox.Show("GroupName Cannot Be Null!", "Tip");
                     e.CancelEdit=true;
-                    treeView_G.SelectedNode.Text = ((STDGroups)treeView_G.SelectedNode.Tag).name;
                     return;
                 }
                 if (e.Label != null && e.Label != "")
@@ -616,11 +617,9 @@ namespace OTSPartA_STDEditor
             }
             else
             {
-                if (e.Label == null || e.Label == "") 
+                if (e.Label == "") 
                 {
-                    MessageBox.Show("RuleName Cannot Be Null!", "Tip");
                     e.CancelEdit = true;
-                    treeView_G.SelectedNode.Text = ((STDdata)treeView_G.SelectedNode.Tag).StrName;
                     return;
                 }
                 if (e.Label != null && e.Label != "")

+ 20 - 4
OTSSysMgrApp/OTSSystemManagerForms.Designer.cs

@@ -44,6 +44,7 @@
             this.button2 = new System.Windows.Forms.Button();
             this.button1 = new System.Windows.Forms.Button();
             this.tabSysType = new System.Windows.Forms.TabPage();
+            this.radioButton_SteelMineral = new System.Windows.Forms.RadioButton();
             this.pictureBox4 = new System.Windows.Forms.PictureBox();
             this.coB_CleannessType = new System.Windows.Forms.ComboBox();
             this.radioButton_CleannessA = new System.Windows.Forms.RadioButton();
@@ -238,6 +239,7 @@
             // 
             // tabSysType
             // 
+            this.tabSysType.Controls.Add(this.radioButton_SteelMineral);
             this.tabSysType.Controls.Add(this.pictureBox4);
             this.tabSysType.Controls.Add(this.coB_CleannessType);
             this.tabSysType.Controls.Add(this.radioButton_CleannessA);
@@ -250,6 +252,18 @@
             this.tabSysType.Text = "系统类型设置";
             this.tabSysType.UseVisualStyleBackColor = true;
             // 
+            // radioButton_SteelMineral
+            // 
+            this.radioButton_SteelMineral.AutoSize = true;
+            this.radioButton_SteelMineral.Location = new System.Drawing.Point(129, 90);
+            this.radioButton_SteelMineral.Name = "radioButton_SteelMineral";
+            this.radioButton_SteelMineral.Size = new System.Drawing.Size(65, 16);
+            this.radioButton_SteelMineral.TabIndex = 10;
+            this.radioButton_SteelMineral.TabStop = true;
+            this.radioButton_SteelMineral.Text = " OTS103";
+            this.radioButton_SteelMineral.UseVisualStyleBackColor = true;
+            this.radioButton_SteelMineral.Click += new System.EventHandler(this.radioButton_SteelMineral_Click);
+            // 
             // pictureBox4
             // 
             this.pictureBox4.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox4.Image")));
@@ -265,7 +279,7 @@
             // 
             this.coB_CleannessType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
             this.coB_CleannessType.FormattingEnabled = true;
-            this.coB_CleannessType.Location = new System.Drawing.Point(217, 74);
+            this.coB_CleannessType.Location = new System.Drawing.Point(212, 52);
             this.coB_CleannessType.Name = "coB_CleannessType";
             this.coB_CleannessType.Size = new System.Drawing.Size(121, 20);
             this.coB_CleannessType.TabIndex = 2;
@@ -274,25 +288,26 @@
             // radioButton_CleannessA
             // 
             this.radioButton_CleannessA.AutoSize = true;
-            this.radioButton_CleannessA.Location = new System.Drawing.Point(134, 75);
+            this.radioButton_CleannessA.Location = new System.Drawing.Point(129, 56);
             this.radioButton_CleannessA.Name = "radioButton_CleannessA";
             this.radioButton_CleannessA.Size = new System.Drawing.Size(65, 16);
             this.radioButton_CleannessA.TabIndex = 1;
             this.radioButton_CleannessA.TabStop = true;
             this.radioButton_CleannessA.Text = " OTS102";
             this.radioButton_CleannessA.UseVisualStyleBackColor = true;
+            this.radioButton_CleannessA.Click += new System.EventHandler(this.radioButton_CleannessA_Click);
             // 
             // radioButton_IncA
             // 
             this.radioButton_IncA.AutoSize = true;
-            this.radioButton_IncA.Location = new System.Drawing.Point(134, 29);
+            this.radioButton_IncA.Location = new System.Drawing.Point(130, 24);
             this.radioButton_IncA.Name = "radioButton_IncA";
             this.radioButton_IncA.Size = new System.Drawing.Size(65, 16);
             this.radioButton_IncA.TabIndex = 0;
             this.radioButton_IncA.TabStop = true;
             this.radioButton_IncA.Text = " OTS101";
             this.radioButton_IncA.UseVisualStyleBackColor = true;
-            this.radioButton_IncA.CheckedChanged += new System.EventHandler(this.radioButton_IncA_CheckedChanged);
+            this.radioButton_IncA.Click += new System.EventHandler(this.radioButton_IncA_Click);
             // 
             // tabother
             // 
@@ -384,5 +399,6 @@
         private System.Windows.Forms.Button btn_otherconfig;
         private System.Windows.Forms.PictureBox pictureBox4;
         private System.Windows.Forms.Button btn_stagetest;
+        private System.Windows.Forms.RadioButton radioButton_SteelMineral;
     }
 }

+ 88 - 22
OTSSysMgrApp/OTSSystemManagerForms.cs

@@ -1,5 +1,4 @@
-
-using System;
+using System;
 using System.Data;
 using System.IO;
 using System.Windows.Forms;
@@ -35,6 +34,7 @@ namespace OTSSysMgrApp
         Language lan;
         //国际化存储信息
         Hashtable table;
+        string presel = "";
         #endregion
 
         #region 构造函数
@@ -346,26 +346,31 @@ namespace OTSSysMgrApp
             bool result = XMLOperationClass.ReadSysType(path, "SysType", ref Type);
             if (result)
             {
-                this.radioButton_IncA.CheckedChanged -= new System.EventHandler(this.radioButton_IncA_CheckedChanged);
                 if (Type == "IncA")
                 {
                     radioButton_IncA.Checked = true;
                 }
+                else if (Type == "SteelMineral")
+                {
+                    radioButton_SteelMineral.Checked = true;
+                }
                 else 
                 {
                     radioButton_CleannessA.Checked = true;
-                    this.coB_CleannessType.SelectedIndexChanged -= new System.EventHandler(this.coB_CleannessType_SelectedIndexChanged);
                     if (Type == "TCCleannessA")
-                    { 
-                       coB_CleannessType.SelectedIndex = 0;
+                    {
+                        this.coB_CleannessType.SelectedIndexChanged -= new System.EventHandler(this.coB_CleannessType_SelectedIndexChanged);
+                        coB_CleannessType.SelectedIndex = 0;
+                        this.coB_CleannessType.SelectedIndexChanged += new System.EventHandler(this.coB_CleannessType_SelectedIndexChanged);
                     }
                     else if(Type == "BatteryCleannessA")
                     {
+                        this.coB_CleannessType.SelectedIndexChanged -= new System.EventHandler(this.coB_CleannessType_SelectedIndexChanged);
                         coB_CleannessType.SelectedIndex = 1;
+                        this.coB_CleannessType.SelectedIndexChanged += new System.EventHandler(this.coB_CleannessType_SelectedIndexChanged);
                     }
-                    this.coB_CleannessType.SelectedIndexChanged += new System.EventHandler(this.coB_CleannessType_SelectedIndexChanged);
                 }
-                this.radioButton_IncA.CheckedChanged += new System.EventHandler(this.radioButton_IncA_CheckedChanged);
+                presel = Type;
             }
         }
 
@@ -400,6 +405,12 @@ namespace OTSSysMgrApp
                             sourceFilepath += "\\BatteryCleannessA";
                         }
                     }
+
+
+                    else if (radioButton_SteelMineral.Checked)
+                    {
+                        sourceFilepath += "\\SteelMineral";
+                    }
                     var files = Directory.GetFiles(sourceFilepath);
                     foreach (var file in files)
                     {
@@ -640,25 +651,11 @@ namespace OTSSysMgrApp
             //CopyConfigBySysType();
         }
 
-        private void radioButton_IncA_CheckedChanged(object sender, EventArgs e)
-        {
-            bool r = radioButton_IncA.Checked;
-            if (!ChangeSysType())
-            {
-                this.radioButton_IncA.CheckedChanged -= new System.EventHandler(this.radioButton_IncA_CheckedChanged);
-                radioButton_CleannessA.Checked = r;
-                radioButton_IncA.Checked = !r;
-                this.radioButton_IncA.CheckedChanged += new System.EventHandler(this.radioButton_IncA_CheckedChanged);
-            }
-        }
-
         private void coB_CleannessType_SelectedIndexChanged(object sender, EventArgs e)
         {
             if(radioButton_CleannessA.Checked)
             {
-                this.radioButton_IncA.CheckedChanged -= new System.EventHandler(this.radioButton_IncA_CheckedChanged);
                 ChangeSysType();
-                this.radioButton_IncA.CheckedChanged += new System.EventHandler(this.radioButton_IncA_CheckedChanged);
             }
         }
         private void WriteSysType()
@@ -680,6 +677,12 @@ namespace OTSSysMgrApp
                     Type = "BatteryCleannessA";
                 }
             }
+
+            else if (radioButton_SteelMineral.Checked)
+            {
+                Type = "SteelMineral";
+            }
+
             bool result = XMLOperationClass.WriteSysType(path, "SysType", Type);
             string path2 = Application.StartupPath + @"\Config\SysData\OTSReportMgrParam.rpf";
             bool resultreport = XMLOperationClass.WriteSysType(path2, "systype", Type);
@@ -710,5 +713,68 @@ namespace OTSSysMgrApp
                 log.Error("OTSSystemManagerForms_btnEDSTest_Click-错误日志:" + ex.ToString());
             }
         }
+
+        private void radioButton_CleannessA_Click(object sender, EventArgs e)
+        {
+            if (!ChangeSysType())
+            {
+                if (presel == "IncA")
+                {
+                    radioButton_IncA.Checked = true;
+                }
+                else if (presel == "SteelMineral")
+                {
+                    radioButton_SteelMineral.Checked = true;
+                }
+                else
+                {
+                    radioButton_CleannessA.Checked = true;
+                }
+                return;
+            }
+            presel = "TCCleannessA";
+        }
+
+        private void radioButton_SteelMineral_Click(object sender, EventArgs e)
+        {
+            if (!ChangeSysType())
+            {
+                if (presel == "IncA")
+                {
+                    radioButton_IncA.Checked = true;
+                }
+                else if (presel == "SteelMineral")
+                {
+                    radioButton_SteelMineral.Checked = true;
+                }
+                else
+                {
+                    radioButton_CleannessA.Checked = true;
+                }
+                return;
+            }
+            presel = "SteelMineral";
+        }
+
+        private void radioButton_IncA_Click(object sender, EventArgs e)
+        {
+            if (!ChangeSysType())
+            {
+                if (presel == "IncA")
+                {
+                    radioButton_IncA.Checked = true;
+                }
+                else if (presel == "SteelMineral")
+                {
+                    radioButton_SteelMineral.Checked = true;
+                }
+                else
+                {
+                    radioButton_CleannessA.Checked = true;
+                }
+                return;
+            }
+            presel = "IncA";
+        }
     }
 }