Explorar el Código

报告导出优化

zhangjiaxin hace 11 meses
padre
commit
6aea68f2f8

+ 29 - 3
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/BasicData.cs

@@ -1,5 +1,6 @@
 
 using OTSIncAReportApp.DataOperation.DataAccess;
+using OTSIncAReportApp.OTSRstMgrFunction;
 using System;
 using System.Collections.Generic;
 using System.Data;
@@ -20,6 +21,8 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
         private DataTable AllClass = new DataTable();
         private DataTable AllElement = new DataTable();
         private bool IsShereAClassificationGroup = false;
+        private ResultFile resfile;
+        private string FilePath = "";
         /// <summary>
         /// 获取粒级表
         /// </summary>
@@ -51,7 +54,6 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
         {
             return colid;
         }
-
         public void SetDBData(c_TemplateClass m_mbszclass, OTSReport_Export m_otsreport_export, string ComputeMode)
         {
             DataTable m_bt_DBData = new DataTable();
@@ -214,12 +216,10 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
         {
             return BData;
         }
-
         public void SetAllClass()
         {
             AllClass = fielddata.GetAllClass();
         }
-        
         /// <summary>
         /// 获取全部大类
         /// </summary>
@@ -295,6 +295,32 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
         {
             return IsShereAClassificationGroup;
         }
+
+        public void IsResultFilesList(OTSReport_Export m_otsreport_export)
+        {
+            resfile = m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.getSelectedIndex()];
+        }
+        /// <summary>
+        /// 获取标准库名称
+        /// </summary>
+        /// <returns></returns>
+        public string GetResfile()
+        {
+            return resfile.GetSTDName();
+        }
+        public void IsFilePath(OTSReport_Export m_otsreport_export)
+        {
+            FilePath= m_otsreport_export.m_ReportApp.m_rstDataMgr.CurResultFile.FilePath;
+        }
+        /// <summary>
+        /// 得到文件路径
+        /// </summary>
+        /// <returns></returns>
+        public string GetFilePath()
+        {
+            return FilePath;
+        }
+
         #region 内部函数
         private string getWhere(string max, string min, string col, string partic)
         {

+ 1 - 10
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/ParticleList.cs

@@ -61,7 +61,7 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 
             ResultFile resfile = m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.getSelectedIndex()];
             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)
+            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");
@@ -458,15 +458,6 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
                         dr["Hardness"] = 0;
                     }
 
-                    //if (System.Text.RegularExpressions.Regex.Replace(dt_stl.Rows[i]["Hardness"].ToString(), @"[^\d.\d]", "") == "o. Def."||
-                    //    System.Text.RegularExpressions.Regex.Replace(dt_stl.Rows[i]["Hardness"].ToString(), @"[^\d.\d]", "") == "o.Def.")
-                    //{
-                    //    dr["Hardness"] = 0;
-                    //}
-                    //else
-                    //{
-                    //    dr["Hardness"] = Convert.ToDouble(System.Text.RegularExpressions.Regex.Replace(dt_stl.Rows[i]["Hardness"].ToString(), @"[^\d.\d]", ""));
-                    //}
                 }
                 else
                 {

+ 239 - 0
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/TCCleannessA.cs

@@ -0,0 +1,239 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
+{
+    class TCCleannessA
+    {
+        public DataTable ParticleSizeStatistician(BasicData basicData,string strName)
+        {
+            DataTable data = basicData.GetDBData();
+            //获取粒级表
+            List<string> colid = basicData.GetParticlesizeTable();
+            DataTable ls_partsize_dt = new DataTable();
+            ls_partsize_dt.TableName = "PartSize";
+            ls_partsize_dt.Columns.Add("c1");
+            ls_partsize_dt.Columns.Add("c2");
+            ls_partsize_dt.Columns.Add("c3");
+            ls_partsize_dt.Columns.Add("c4");
+            ls_partsize_dt.Columns.Add("c5");
+            ls_partsize_dt.Columns.Add("c6");
+            ls_partsize_dt.Columns.Add("c7");
+            ls_partsize_dt.Columns.Add("c8");
+            ls_partsize_dt.Columns.Add("c9");
+
+            DataRow dr = ls_partsize_dt.NewRow();
+            for (int i = 1; i < 10; i++)
+            {
+                if (colid.Count < i)
+                {
+                    dr["c" + i.ToString()] = "";
+                }
+                else
+                {
+                    dr["c" + i.ToString()] = colid[i - 1];
+                }
+            }
+            ls_partsize_dt.Rows.Add(dr);
+            DataTable ls_Particel_dt = new DataTable();
+            ls_Particel_dt.TableName = "Particel";
+            ls_Particel_dt.Columns.Add("c1", typeof(double));
+            ls_Particel_dt.Columns.Add("c2", typeof(double));
+            ls_Particel_dt.Columns.Add("c3", typeof(double));
+            ls_Particel_dt.Columns.Add("c4", typeof(double));
+            ls_Particel_dt.Columns.Add("c5", typeof(double));
+            ls_Particel_dt.Columns.Add("c6", typeof(double));
+            ls_Particel_dt.Columns.Add("c7", typeof(double));
+            ls_Particel_dt.Columns.Add("c8", typeof(double));
+            ls_Particel_dt.Columns.Add("c9", typeof(double));
+            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");
+            ls_Particel_dt.Columns.Add("hardnes");
+            ls_Particel_dt.Columns.Add("hardness");
+            ls_Particel_dt.Columns.Add("metal");
+            ls_Particel_dt.Columns.Add("maximum");
+
+
+            DataTable table = GetSTL(basicData, strName);
+            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();//获取分类编号
+                dr2["maximum"]= data.Rows[i]["Largest"].ToString();
+
+                for (int j = 1; j < 10; 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 < 10; j++)
+                    {
+                        if (colid.Count >= j)
+                        {
+                            d_total = d_total + Convert.ToInt64(data.Rows[i][colid[j - 1]]);
+                        }
+                    }
+                    dr2["total"] = d_total.ToString();
+                }
+                dr2["hardness"] = "o. Def.";
+                dr2["metal"] = "0";
+                dr2["hardnes"] = "0";
+                for (int a=0;a< table.Rows.Count;a++)
+                {
+                    if(data.Rows[i]["TypeName"].ToString()== table.Rows[a]["TypeId"].ToString())
+                    {
+                        dr2["hardness"] = table.Rows[a]["Hardness_detailed"].ToString();
+                        dr2["metal"]= table.Rows[a]["metal"].ToString();
+                        dr2["hardnes"] = table.Rows[a]["Hardness"].ToString(); ;
+                        break;
+                    }
+        
+                }
+
+                ls_Particel_dt.Rows.Add(dr2);
+            }
+            return ls_Particel_dt;
+        }
+
+        public List<DataTable> GetGroupingTable(DataTable data)
+        {
+            List<DataTable> datas = new List<DataTable>();
+            
+            HashSet<string> uniqueStrings = new HashSet<string>();
+            for (int i=0;i< data.Rows.Count;i++)
+            {
+                uniqueStrings.Add(data.Rows[i]["Class"].ToString());
+            }
+            foreach (var uniqueString in uniqueStrings)
+            {
+                DataTable dt = data.Clone();
+                dt.TableName = uniqueString;
+                for (int i = 0; i < data.Rows.Count; i++)
+                {
+                    if (data.Rows[i]["Class"].ToString() == uniqueString)
+                    {
+                        dt.Rows.Add(data.Rows[i].ItemArray);
+                    }
+                }
+                datas.Add(dt);
+            }
+            
+
+            return datas;
+        }
+
+
+        private DataTable GetSTL( BasicData basicData, string strName)
+        {
+            DataTable data = new DataTable();
+            if (basicData.GetResfile().ToLower() == "nostddb")
+            {
+                 data = new DataTable();
+            }
+            DataTable dt = new DataTable();
+            dt.Columns.Add("TypeId");
+            dt.Columns.Add("Hardness", typeof(double));
+            dt.Columns.Add("Hardness_detailed");
+            dt.Columns.Add("metal");
+            OTSCommon.DBOperate.SqLiteHelper sh = null;
+
+            string fullPath = basicData.GetFilePath() + "\\" + strName;
+            string fullPath2 = System.IO.Directory.GetCurrentDirectory() + "\\Config\\SysData\\" + strName;
+            if (System.IO.File.Exists(fullPath))
+            {
+                sh = new OTSCommon.DBOperate.SqLiteHelper("data source='" + fullPath + "'");
+            }
+            else if (System.IO.File.Exists(fullPath2))
+            {
+                sh = new OTSCommon.DBOperate.SqLiteHelper("data source='" + fullPath2 + "'");
+            }
+            else
+            {
+                sh = null;
+                return data;
+            }
+            DataTable dt_stl = sh.ExecuteQuery("select * from ClassifySTD");
+            DataTable LargeClassificationTable = sh.ExecuteQuery("select * from STDGroups");
+            
+            for (int i = 0; i < dt_stl.Rows.Count; i++)
+            {
+                double DAGroupId;
+                DataRow dr = dt.NewRow();
+                dr["TypeId"] = dt_stl.Rows[i]["StrName"].ToString();
+                dr["Hardness_detailed"] = dt_stl.Rows[i]["Hardness"].ToString();
+                if (System.Text.RegularExpressions.Regex.Replace(dt_stl.Rows[i]["Hardness"].ToString(), @"[^\d.\d]", "").ToString() != "")
+                {
+                    try
+                    {
+                        if (System.Text.RegularExpressions.Regex.Replace(dt_stl.Rows[i]["Hardness"].ToString(), @"[^\d.\d]", "") == "o. Def.")
+                        {
+                            dr["Hardness"] = 0;
+                        }
+                        else
+                        {
+                            double dl= Convert.ToDouble(System.Text.RegularExpressions.Regex.Replace(dt_stl.Rows[i]["Hardness"].ToString(), @"[^\d.\d]", ""));
+                            if (">"+ dl.ToString()== dt_stl.Rows[i]["Hardness"].ToString())
+                            {
+                                dr["Hardness"] = dl + 1;
+                            }
+                            else
+                            {
+                                dr["Hardness"] = dl -1;
+                            }
+                            
+                        }
+                    }
+                    catch
+                    {
+                        dr["Hardness"] = 0;
+                    }
+                   
+                }
+                else
+                {
+                    dr["Hardness"] = 0;
+                }
+
+                if (System.Text.RegularExpressions.Regex.Replace(dt_stl.Rows[i]["GroupId"].ToString(), @"[^\d.\d]", "").ToString() != "")
+                {
+                    DAGroupId= Convert.ToDouble(System.Text.RegularExpressions.Regex.Replace(dt_stl.Rows[i]["GroupId"].ToString(), @"[^\d.\d]", ""));
+                }
+                else
+                {
+                    DAGroupId = 0;
+                }
+                dr["metal"] = 0;
+                for (int a = 0; a < LargeClassificationTable.Rows.Count; a++)
+                {
+                    if(Convert.ToDouble(LargeClassificationTable.Rows[a]["id"]) == DAGroupId)
+                    {
+                        if (LargeClassificationTable.Rows[a]["name"].ToString().ToLower()== "metallic")
+                        {
+                            dr["metal"] = 1;
+                        }
+                    }
+                }
+                dt.Rows.Add(dr);
+            }
+         
+            
+            data = dt.Copy();
+            return data;
+        }
+    }
+}

+ 53 - 4
OTSIncAReportApp/1-UI/OTSReportExport/OTSReport_Export.cs

@@ -82,6 +82,11 @@ namespace OTSIncAReportApp
             /// 夹杂物占比
             /// </summary>
             public JZWZB M_JZWZB { get; set; }
+            /// <summary>
+            /// 汽车清洁度
+            /// </summary>
+
+            public VDA19 M_VDA19 { get; set; }
 
 
             /// <summary>
@@ -116,6 +121,7 @@ namespace OTSIncAReportApp
                 M_SYXT.list_lbv_syxt_mblb_index = new List<int>();
                 M_KLLBXX = new KLLBXX();
                 M_JZWZB = new JZWZB();
+                M_VDA19 = new VDA19();
                 M_KLLBXX.list_str_tb_lllb_sxys = new List<string>();
                 M_KLLBXX.list_str_kllb_qcys = new List<string>();
                 M_KLLBXX.list_str_kllb_DeleteClass = new List<string>();
@@ -136,6 +142,13 @@ namespace OTSIncAReportApp
                 public string Notes { get; set; }
             }
 
+            public class VDA19
+            {/// <summary>
+            /// VDA19模块是否显示
+            /// </summary>
+                public bool IsVDA19 { get; set; }
+            }
+
             #region 首页部份
             public class SY
             {
@@ -614,10 +627,19 @@ namespace OTSIncAReportApp
         private void btn_openfilepath_Click(object sender, EventArgs e)
         {
             string path;
-            if (m_ReportApp.m_RptConfigFile.Systype != OTS_SysType_ID.IncA)
+            if (m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.BatteryCleannessA)
+            {
                 path = Application.StartupPath + "\\Config\\ReportTemplate\\CleannessA_Template";
-            else
+            }
+            else if (m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.IncA)
+            {
                 path = Application.StartupPath + "\\Config\\ReportTemplate\\Inca_Template";
+            }
+            else /*if (m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.TCCleannessA)*/
+            {
+                path = Application.StartupPath + "\\Config\\ReportTemplate\\TCleannessA_Template";
+            }
+                
             FileNameSelect NameSelect = new FileNameSelect(path, fileName);
             NameSelect.ShowDialog();
 
@@ -679,6 +701,8 @@ namespace OTSIncAReportApp
                 total++;
             if(m_mbszclass.M_KLLBXX.b_ck_kllb_fjzt)
                 total++;
+            if(m_mbszclass.M_VDA19.IsVDA19)
+                total++;
 
             double Serial = 1;
             int length = 2;
@@ -709,6 +733,27 @@ namespace OTSIncAReportApp
                 return;
             }
 
+            try
+            {
+                if (m_mbszclass.M_VDA19.IsVDA19)
+                {
+                    double d1 = Convert.ToDouble(Serial / total) * 100.0;
+                    Serial++;
+                    richTextBox1.SelectionColor = Color.Black;
+                    richTextBox1.SelectionStart = 0; // 设置选择开始位置 
+                    richTextBox1.AppendText(table["tcleannessa"].ToString() + "\n");
+                    richTextBox1.AppendText(table["loading"].ToString() + Math.Round(d1, length).ToString() + "%\n");
+                    DEVReport.SetTCleannessA();
+                    richTextBox1.ScrollToCaret();
+                }
+            }
+            catch
+            {
+                richTextBox1.SelectionColor = Color.Red;
+                richTextBox1.AppendText(table["tcleannessa_fail"].ToString() + "\n");
+                return;
+            }
+
             // 执行后台任务...  
             try
             {
@@ -878,10 +923,12 @@ namespace OTSIncAReportApp
         private void LoadControlsToXml()
         {
             string strpath;
-            if (m_ReportApp.m_RptConfigFile.Systype != OTS_SysType_ID.IncA)
+            if (m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.BatteryCleannessA)
                 strpath = Application.StartupPath + "\\Config\\ReportTemplate\\CleannessA_Template\\" + fileName;
-            else
+            else if (m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.IncA)
                 strpath = Application.StartupPath + "\\Config\\ReportTemplate\\Inca_Template\\" + fileName;
+            else
+                strpath = Application.StartupPath + "\\Config\\ReportTemplate\\TCleannessA_Template\\" + fileName;
             tb_mblj.Text = fileName;
             OTSIncAReportApp.Controls.XmlOperateUtil xmlutil = new OTSIncAReportApp.Controls.XmlOperateUtil(strpath);
             //首页
@@ -1075,6 +1122,8 @@ namespace OTSIncAReportApp
 
 
             m_mbszclass.M_DZ.Notes = Convert.ToString(xmlutil.Read("M_DZ", "Notes"));
+
+            m_mbszclass.M_VDA19.IsVDA19 = Convert.ToBoolean(xmlutil.Read("M_VDA19", "IsVDA19"));
         }
         #endregion                                                                                                                             
         private void button7_Click(object sender, EventArgs e)

+ 42 - 28
OTSIncAReportApp/1-UI/OTSReportExport/OTSReport_Template_CleannessA.Designer.cs

@@ -83,6 +83,7 @@
             this.groupBox5 = new System.Windows.Forms.GroupBox();
             this.textBox1 = new System.Windows.Forms.TextBox();
             this.groupBox6 = new System.Windows.Forms.GroupBox();
+            this.cb_TccleanlinessA = new System.Windows.Forms.CheckBox();
             this.groupBox1.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox7)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.numericMin)).BeginInit();
@@ -96,7 +97,7 @@
             // 
             // tb_FBT
             // 
-            this.tb_FBT.Location = new System.Drawing.Point(5, 104);
+            this.tb_FBT.Location = new System.Drawing.Point(5, 110);
             this.tb_FBT.Margin = new System.Windows.Forms.Padding(2);
             this.tb_FBT.Name = "tb_FBT";
             this.tb_FBT.Size = new System.Drawing.Size(252, 21);
@@ -104,7 +105,7 @@
             // 
             // tb_ZBT
             // 
-            this.tb_ZBT.Location = new System.Drawing.Point(5, 49);
+            this.tb_ZBT.Location = new System.Drawing.Point(5, 51);
             this.tb_ZBT.Margin = new System.Windows.Forms.Padding(2);
             this.tb_ZBT.Name = "tb_ZBT";
             this.tb_ZBT.Size = new System.Drawing.Size(252, 21);
@@ -113,7 +114,7 @@
             // label5
             // 
             this.label5.AutoSize = true;
-            this.label5.Location = new System.Drawing.Point(5, 81);
+            this.label5.Location = new System.Drawing.Point(5, 85);
             this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label5.Name = "label5";
             this.label5.Size = new System.Drawing.Size(41, 12);
@@ -132,7 +133,7 @@
             // 
             // button1
             // 
-            this.button1.Location = new System.Drawing.Point(819, 608);
+            this.button1.Location = new System.Drawing.Point(822, 638);
             this.button1.Margin = new System.Windows.Forms.Padding(2);
             this.button1.Name = "button1";
             this.button1.Size = new System.Drawing.Size(70, 30);
@@ -155,7 +156,7 @@
             // label1
             // 
             this.label1.AutoSize = true;
-            this.label1.Location = new System.Drawing.Point(5, 136);
+            this.label1.Location = new System.Drawing.Point(5, 144);
             this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label1.Name = "label1";
             this.label1.Size = new System.Drawing.Size(53, 12);
@@ -164,7 +165,7 @@
             // 
             // tb_YPBH
             // 
-            this.tb_YPBH.Location = new System.Drawing.Point(5, 159);
+            this.tb_YPBH.Location = new System.Drawing.Point(5, 169);
             this.tb_YPBH.Margin = new System.Windows.Forms.Padding(2);
             this.tb_YPBH.Name = "tb_YPBH";
             this.tb_YPBH.Size = new System.Drawing.Size(252, 21);
@@ -173,7 +174,7 @@
             // label4
             // 
             this.label4.AutoSize = true;
-            this.label4.Location = new System.Drawing.Point(5, 191);
+            this.label4.Location = new System.Drawing.Point(5, 203);
             this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label4.Name = "label4";
             this.label4.Size = new System.Drawing.Size(53, 12);
@@ -182,7 +183,7 @@
             // 
             // tb_CKBZ
             // 
-            this.tb_CKBZ.Location = new System.Drawing.Point(5, 214);
+            this.tb_CKBZ.Location = new System.Drawing.Point(4, 228);
             this.tb_CKBZ.Margin = new System.Windows.Forms.Padding(2);
             this.tb_CKBZ.Name = "tb_CKBZ";
             this.tb_CKBZ.Size = new System.Drawing.Size(252, 21);
@@ -252,7 +253,7 @@
             this.groupBox1.Controls.Add(this.label9);
             this.groupBox1.Controls.Add(this.tb_yjwb);
             this.groupBox1.Controls.Add(this.label10);
-            this.groupBox1.Location = new System.Drawing.Point(11, 282);
+            this.groupBox1.Location = new System.Drawing.Point(11, 302);
             this.groupBox1.Margin = new System.Windows.Forms.Padding(2);
             this.groupBox1.Name = "groupBox1";
             this.groupBox1.Padding = new System.Windows.Forms.Padding(2);
@@ -292,7 +293,7 @@
             // ck_klcc_xsddt
             // 
             this.ck_klcc_xsddt.AutoSize = true;
-            this.ck_klcc_xsddt.Location = new System.Drawing.Point(22, 51);
+            this.ck_klcc_xsddt.Location = new System.Drawing.Point(18, 81);
             this.ck_klcc_xsddt.Margin = new System.Windows.Forms.Padding(2);
             this.ck_klcc_xsddt.Name = "ck_klcc_xsddt";
             this.ck_klcc_xsddt.Size = new System.Drawing.Size(84, 16);
@@ -303,7 +304,7 @@
             // checkBox2
             // 
             this.checkBox2.AutoSize = true;
-            this.checkBox2.Location = new System.Drawing.Point(22, 107);
+            this.checkBox2.Location = new System.Drawing.Point(18, 137);
             this.checkBox2.Margin = new System.Windows.Forms.Padding(2);
             this.checkBox2.Name = "checkBox2";
             this.checkBox2.Size = new System.Drawing.Size(84, 16);
@@ -315,7 +316,7 @@
             // checkBox1
             // 
             this.checkBox1.AutoSize = true;
-            this.checkBox1.Location = new System.Drawing.Point(22, 79);
+            this.checkBox1.Location = new System.Drawing.Point(18, 109);
             this.checkBox1.Margin = new System.Windows.Forms.Padding(2);
             this.checkBox1.Name = "checkBox1";
             this.checkBox1.Size = new System.Drawing.Size(84, 16);
@@ -327,7 +328,7 @@
             // ck_klcc_xsmk
             // 
             this.ck_klcc_xsmk.AutoSize = true;
-            this.ck_klcc_xsmk.Location = new System.Drawing.Point(22, 23);
+            this.ck_klcc_xsmk.Location = new System.Drawing.Point(18, 53);
             this.ck_klcc_xsmk.Margin = new System.Windows.Forms.Padding(2);
             this.ck_klcc_xsmk.Name = "ck_klcc_xsmk";
             this.ck_klcc_xsmk.Size = new System.Drawing.Size(72, 16);
@@ -338,7 +339,7 @@
             // 
             // tb_ysfx_xsys
             // 
-            this.tb_ysfx_xsys.Location = new System.Drawing.Point(255, 143);
+            this.tb_ysfx_xsys.Location = new System.Drawing.Point(251, 173);
             this.tb_ysfx_xsys.Margin = new System.Windows.Forms.Padding(2);
             this.tb_ysfx_xsys.Name = "tb_ysfx_xsys";
             this.tb_ysfx_xsys.ReadOnly = true;
@@ -347,7 +348,7 @@
             // 
             // button4
             // 
-            this.button4.Location = new System.Drawing.Point(597, 143);
+            this.button4.Location = new System.Drawing.Point(593, 173);
             this.button4.Margin = new System.Windows.Forms.Padding(2);
             this.button4.Name = "button4";
             this.button4.Size = new System.Drawing.Size(72, 20);
@@ -359,7 +360,7 @@
             // ck_ysfx_xsmk
             // 
             this.ck_ysfx_xsmk.AutoSize = true;
-            this.ck_ysfx_xsmk.Location = new System.Drawing.Point(22, 143);
+            this.ck_ysfx_xsmk.Location = new System.Drawing.Point(18, 173);
             this.ck_ysfx_xsmk.Margin = new System.Windows.Forms.Padding(2);
             this.ck_ysfx_xsmk.Name = "ck_ysfx_xsmk";
             this.ck_ysfx_xsmk.Size = new System.Drawing.Size(72, 16);
@@ -401,7 +402,7 @@
             // ck_kllb_fjzt
             // 
             this.ck_kllb_fjzt.AutoSize = true;
-            this.ck_kllb_fjzt.Location = new System.Drawing.Point(22, 352);
+            this.ck_kllb_fjzt.Location = new System.Drawing.Point(18, 382);
             this.ck_kllb_fjzt.Name = "ck_kllb_fjzt";
             this.ck_kllb_fjzt.Size = new System.Drawing.Size(96, 16);
             this.ck_kllb_fjzt.TabIndex = 57;
@@ -422,7 +423,7 @@
             this.groupBox_px.Controls.Add(this.ParticleList_2);
             this.groupBox_px.Controls.Add(this.ParticleList_1);
             this.groupBox_px.Controls.Add(this.comboBox_p1);
-            this.groupBox_px.Location = new System.Drawing.Point(156, 202);
+            this.groupBox_px.Location = new System.Drawing.Point(152, 232);
             this.groupBox_px.Name = "groupBox_px";
             this.groupBox_px.Size = new System.Drawing.Size(513, 125);
             this.groupBox_px.TabIndex = 54;
@@ -522,7 +523,7 @@
             // ck_kllb_xsmk
             // 
             this.ck_kllb_xsmk.AutoSize = true;
-            this.ck_kllb_xsmk.Location = new System.Drawing.Point(22, 197);
+            this.ck_kllb_xsmk.Location = new System.Drawing.Point(18, 227);
             this.ck_kllb_xsmk.Margin = new System.Windows.Forms.Padding(2);
             this.ck_kllb_xsmk.Name = "ck_kllb_xsmk";
             this.ck_kllb_xsmk.Size = new System.Drawing.Size(72, 16);
@@ -533,7 +534,7 @@
             // 
             // button6
             // 
-            this.button6.Location = new System.Drawing.Point(745, 608);
+            this.button6.Location = new System.Drawing.Point(748, 638);
             this.button6.Margin = new System.Windows.Forms.Padding(2);
             this.button6.Name = "button6";
             this.button6.Size = new System.Drawing.Size(70, 30);
@@ -556,7 +557,7 @@
             this.groupBox9.Controls.Add(this.label3);
             this.groupBox9.Location = new System.Drawing.Point(13, 12);
             this.groupBox9.Name = "groupBox9";
-            this.groupBox9.Size = new System.Drawing.Size(263, 260);
+            this.groupBox9.Size = new System.Drawing.Size(263, 270);
             this.groupBox9.TabIndex = 1;
             this.groupBox9.TabStop = false;
             this.groupBox9.Text = "首页设置";
@@ -581,6 +582,7 @@
             // 
             // groupBox3
             // 
+            this.groupBox3.Controls.Add(this.cb_TccleanlinessA);
             this.groupBox3.Controls.Add(this.groupBox_px);
             this.groupBox3.Controls.Add(this.label2);
             this.groupBox3.Controls.Add(this.ck_klcc_xsddt);
@@ -594,7 +596,7 @@
             this.groupBox3.Controls.Add(this.ck_kllb_xsmk);
             this.groupBox3.Location = new System.Drawing.Point(285, 111);
             this.groupBox3.Name = "groupBox3";
-            this.groupBox3.Size = new System.Drawing.Size(684, 388);
+            this.groupBox3.Size = new System.Drawing.Size(684, 418);
             this.groupBox3.TabIndex = 78;
             this.groupBox3.TabStop = false;
             this.groupBox3.Text = "模块设定";
@@ -602,7 +604,7 @@
             // label2
             // 
             this.label2.AutoSize = true;
-            this.label2.Location = new System.Drawing.Point(154, 146);
+            this.label2.Location = new System.Drawing.Point(150, 176);
             this.label2.Name = "label2";
             this.label2.Size = new System.Drawing.Size(83, 12);
             this.label2.TabIndex = 68;
@@ -610,7 +612,7 @@
             // 
             // button7
             // 
-            this.button7.Location = new System.Drawing.Point(893, 608);
+            this.button7.Location = new System.Drawing.Point(896, 638);
             this.button7.Margin = new System.Windows.Forms.Padding(2);
             this.button7.Name = "button7";
             this.button7.Size = new System.Drawing.Size(70, 30);
@@ -656,7 +658,7 @@
             // label_StandardLibraryName
             // 
             this.label_StandardLibraryName.AutoSize = true;
-            this.label_StandardLibraryName.Location = new System.Drawing.Point(16, 617);
+            this.label_StandardLibraryName.Location = new System.Drawing.Point(16, 647);
             this.label_StandardLibraryName.Name = "label_StandardLibraryName";
             this.label_StandardLibraryName.Size = new System.Drawing.Size(41, 12);
             this.label_StandardLibraryName.TabIndex = 69;
@@ -665,7 +667,7 @@
             // groupBox5
             // 
             this.groupBox5.Controls.Add(this.textBox1);
-            this.groupBox5.Location = new System.Drawing.Point(285, 505);
+            this.groupBox5.Location = new System.Drawing.Point(285, 535);
             this.groupBox5.Name = "groupBox5";
             this.groupBox5.Size = new System.Drawing.Size(684, 98);
             this.groupBox5.TabIndex = 69;
@@ -685,18 +687,29 @@
             this.groupBox6.Controls.Add(this.pictureBox7);
             this.groupBox6.Controls.Add(this.button1217);
             this.groupBox6.Controls.Add(this.label8312);
-            this.groupBox6.Location = new System.Drawing.Point(11, 382);
+            this.groupBox6.Location = new System.Drawing.Point(11, 412);
             this.groupBox6.Name = "groupBox6";
             this.groupBox6.Size = new System.Drawing.Size(263, 221);
             this.groupBox6.TabIndex = 80;
             this.groupBox6.TabStop = false;
             this.groupBox6.Text = "图标选择";
             // 
+            // cb_TccleanlinessA
+            // 
+            this.cb_TccleanlinessA.AutoSize = true;
+            this.cb_TccleanlinessA.Enabled = false;
+            this.cb_TccleanlinessA.Location = new System.Drawing.Point(18, 24);
+            this.cb_TccleanlinessA.Name = "cb_TccleanlinessA";
+            this.cb_TccleanlinessA.Size = new System.Drawing.Size(60, 16);
+            this.cb_TccleanlinessA.TabIndex = 69;
+            this.cb_TccleanlinessA.Text = "VDA-19";
+            this.cb_TccleanlinessA.UseVisualStyleBackColor = true;
+            // 
             // OTSReport_Template_CleannessA
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(977, 647);
+            this.ClientSize = new System.Drawing.Size(977, 679);
             this.Controls.Add(this.groupBox5);
             this.Controls.Add(this.groupBox6);
             this.Controls.Add(this.label_StandardLibraryName);
@@ -794,5 +807,6 @@
         private System.Windows.Forms.GroupBox groupBox5;
         private System.Windows.Forms.TextBox textBox1;
         private System.Windows.Forms.GroupBox groupBox6;
+        private System.Windows.Forms.CheckBox cb_TccleanlinessA;
     }
 }

+ 22 - 21
OTSIncAReportApp/1-UI/OTSReportExport/OTSReport_Template_CleannessA.cs

@@ -13,6 +13,7 @@ using System.Data;
 using System.Drawing;
 using System.IO;
 using System.Windows.Forms;
+using static OTSDataType.otsdataconst;
 
 namespace OTSIncAReportApp.OTSTemplateDesigner
 {
@@ -68,6 +69,12 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
                 comboBox1.SelectedIndex = CurrentName;
             }
 
+            if (m_OTSReport_Export.m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.TCCleannessA)
+            {
+                cb_TccleanlinessA.Enabled = true;
+            }
+            
+
         }
 
 
@@ -133,7 +140,11 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
             {
                 pictureBox7.Image.Save(System.IO.Directory.GetCurrentDirectory() + "\\Config\\ReportTemplate\\" + fileName);
             }
-            string path = System.IO.Directory.GetCurrentDirectory() + "\\Config\\ReportTemplate\\CleannessA_Template\\" + a_path;
+            string path;
+            if (m_OTSReport_Export.m_ReportApp.m_RptConfigFile.Systype == OTS_SysType_ID.TCCleannessA)
+                path = System.IO.Directory.GetCurrentDirectory() + "\\Config\\ReportTemplate\\TCleannessA_Template\\" + a_path;
+            else
+                path = System.IO.Directory.GetCurrentDirectory() + "\\Config\\ReportTemplate\\CleannessA_Template\\" + a_path;
             if (path != string.Empty)
             {
                 OTSIncAReportApp.Controls.XmlOperateUtil xmlutil = new OTSIncAReportApp.Controls.XmlOperateUtil(path);
@@ -152,6 +163,9 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
                 xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_KHH.ToString(), "M_YMYJ", "str_tb_KHH");
                 xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YMYJ.b_ck_ym.ToString(), "M_YMYJ", "b_ck_ym");
                 xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_yjwb.ToString(), "M_YMYJ", "str_tb_yjwb");
+
+                xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_VDA19.IsVDA19.ToString(), "M_VDA19", "IsVDA19");
+
                 //颗粒分析结果
                 xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.b_ck_klcc_xsmk.ToString(), "M_KLFXJG", "b_ck_klcc_xsmk");//是否显示模块
                 xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLFXJG.b_ck_klcc_xsddt.ToString(), "M_KLFXJG", "b_ck_klcc_xsddt");
@@ -303,26 +317,7 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
                     }
                 }
 
-                //xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.str_kllb_DeleteClass.ToString(), "M_KLLBXX", "str_kllb_DeleteClass");
-                //for (int i = 0; i < m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass.Count; i++)                              //去除元素列表
-                //{
-                //    xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass[i].ToString(), "M_KLLBXX", "list_str_kllb_DeleteClass", "YS" + i.ToString());
-                //}
-
-                ////然后判断一下xml中是否还存在之前比现有长度长的节点存在,存在则删除,防止后面再进行读取
-                //for (int i = m_OTSReport_Export.m_mbszclass.M_KLLBXX.list_str_kllb_DeleteClass.Count; i < 1000; i++)
-                //{
-                //    string strxh = i.ToString();
-                //    if (null != xmlutil.Read("M_KLLBXX", "list_str_kllb_DeleteClass", "YS" + strxh))
-                //    {
-                //        //删除该节点
-                //        xmlutil.RemoveNode("M_KLLBXX", "list_str_kllb_DeleteClass", "YS" + strxh);
-                //    }
-                //    else
-                //    {
-                //        break;
-                //    }
-                //}
+
 
                 //夹杂物占比
                 xmlutil.Write(m_OTSReport_Export.m_mbszclass.M_JZWZB.b_ck_surface.ToString(), "M_JZWZB", "b_ck_surface");//夹杂物占比表
@@ -379,6 +374,9 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
             //ResultFile resfile = m_OTSReport_Export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_OTSReport_Export.m_ReportApp.m_rstDataMgr.getSelectedIndex()];
             m_OTSReport_Export.m_mbszclass.M_SY.StandardLibraryName = comboBox1.Text;
 
+            //VDA19
+            m_OTSReport_Export.m_mbszclass.M_VDA19.IsVDA19 = cb_TccleanlinessA.Checked;
+
             //颗粒分析结果
             m_OTSReport_Export.m_mbszclass.M_KLFXJG.b_ck_klcc_xsmk = ck_klcc_xsmk.Checked;
             m_OTSReport_Export.m_mbszclass.M_KLFXJG.b_ck_klcc_xsddt = ck_klcc_xsddt.Checked;
@@ -427,6 +425,9 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
             ck_ypsm.Checked = m_OTSReport_Export.m_mbszclass.M_SY.b_ck_ypsm;
             ck_ym.Checked = m_OTSReport_Export.m_mbszclass.M_YMYJ.b_ck_ym;
             tb_yjwb.Text = m_OTSReport_Export.m_mbszclass.M_YMYJ.str_tb_yjwb;
+            //VDA19
+            cb_TccleanlinessA.Checked = m_OTSReport_Export.m_mbszclass.M_VDA19.IsVDA19;
+
             //颗粒分析结果
             ck_klcc_xsmk.Checked = m_OTSReport_Export.m_mbszclass.M_KLFXJG.b_ck_klcc_xsmk;
             ck_klcc_xsddt.Checked = m_OTSReport_Export.m_mbszclass.M_KLFXJG.b_ck_klcc_xsddt;

+ 915 - 13
OTSIncAReportApp/1-UI/OTSReportExport/Template/DataTemplate.Designer.cs

@@ -38,6 +38,71 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             this.xrLine2 = new DevExpress.XtraReports.UI.XRLine();
             this.dev_yj = new DevExpress.XtraReports.UI.XRLabel();
             this.Detail = new DevExpress.XtraReports.UI.DetailBand();
+            this.xrLabel11 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel10 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
+            this.xrTableRow18 = new DevExpress.XtraReports.UI.XRTableRow();
+            this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell47 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell39 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell41 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell42 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell43 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell44 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell45 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell46 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
+            this.xrTableRow15 = new DevExpress.XtraReports.UI.XRTableRow();
+            this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xt_TCleannessA = new DevExpress.XtraReports.UI.XRTable();
+            this.xrTableRow13 = new DevExpress.XtraReports.UI.XRTableRow();
+            this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell11 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
+            this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell24 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell25 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell26 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell27 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell28 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell29 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrPageBreak2 = new DevExpress.XtraReports.UI.XRPageBreak();
+            this.TCCleannessA_side = new DevExpress.XtraReports.UI.XRTable();
+            this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
+            this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableRow11 = new DevExpress.XtraReports.UI.XRTableRow();
+            this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableRow12 = new DevExpress.XtraReports.UI.XRTableRow();
+            this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrTableCell9 = new DevExpress.XtraReports.UI.XRTableCell();
+            this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
+            this.xrPageBreak_tc = new DevExpress.XtraReports.UI.XRPageBreak();
             this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
             this.xrTable3 = new DevExpress.XtraReports.UI.XRTable();
             this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
@@ -99,6 +164,10 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             this.dev_ypbh_up = new DevExpress.XtraReports.UI.XRLabel();
             this.dev_fbt = new DevExpress.XtraReports.UI.XRLabel();
             this.dev_zbt = new DevExpress.XtraReports.UI.XRLabel();
+            ((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.xt_TCleannessA)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.TCCleannessA_side)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.xrChart1)).BeginInit();
@@ -174,6 +243,22 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             // Detail
             // 
             this.Detail.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
+            this.xrLabel11,
+            this.xrLabel10,
+            this.xrLabel9,
+            this.xrLabel8,
+            this.xrLabel7,
+            this.xrLabel6,
+            this.xrLabel5,
+            this.xrLabel4,
+            this.xrTable5,
+            this.xrTable4,
+            this.xt_TCleannessA,
+            this.xrPageBreak2,
+            this.TCCleannessA_side,
+            this.xrLabel3,
+            this.xrLabel2,
+            this.xrPageBreak_tc,
             this.xrLabel1,
             this.xrTable3,
             this.xrTable2,
@@ -199,10 +284,758 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             this.Detail.HeightF = 5064.223F;
             this.Detail.Name = "Detail";
             // 
+            // xrLabel11
+            // 
+            this.xrLabel11.LocationFloat = new DevExpress.Utils.PointFloat(83.60291F, 1460.75F);
+            this.xrLabel11.Multiline = true;
+            this.xrLabel11.Name = "xrLabel11";
+            this.xrLabel11.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel11.SizeF = new System.Drawing.SizeF(486.4583F, 23F);
+            this.xrLabel11.StylePriority.UseTextAlignment = false;
+            this.xrLabel11.Text = "NON-METALLIC <600m";
+            this.xrLabel11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+            this.xrLabel11.Visible = false;
+            // 
+            // xrLabel10
+            // 
+            this.xrLabel10.LocationFloat = new DevExpress.Utils.PointFloat(83.60291F, 1437.75F);
+            this.xrLabel10.Multiline = true;
+            this.xrLabel10.Name = "xrLabel10";
+            this.xrLabel10.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel10.SizeF = new System.Drawing.SizeF(486.4583F, 23F);
+            this.xrLabel10.StylePriority.UseTextAlignment = false;
+            this.xrLabel10.Text = "METALLIC <400um";
+            this.xrLabel10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+            this.xrLabel10.Visible = false;
+            // 
+            // xrLabel9
+            // 
+            this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(83.60291F, 1414.75F);
+            this.xrLabel9.Multiline = true;
+            this.xrLabel9.Name = "xrLabel9";
+            this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel9.SizeF = new System.Drawing.SizeF(486.4583F, 23F);
+            this.xrLabel9.StylePriority.UseTextAlignment = false;
+            this.xrLabel9.Text = "PARTICLES SIZE ALLOWED:";
+            this.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+            this.xrLabel9.Visible = false;
+            // 
+            // xrLabel8
+            // 
+            this.xrLabel8.LocationFloat = new DevExpress.Utils.PointFloat(83.60291F, 1391.75F);
+            this.xrLabel8.Multiline = true;
+            this.xrLabel8.Name = "xrLabel8";
+            this.xrLabel8.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel8.SizeF = new System.Drawing.SizeF(486.4583F, 23F);
+            this.xrLabel8.StylePriority.UseTextAlignment = false;
+            this.xrLabel8.Text = "PARTICLES WITH HARDNESS >40OHV ARE NOT ALLOWED";
+            this.xrLabel8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+            this.xrLabel8.Visible = false;
+            // 
+            // xrLabel7
+            // 
+            this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(83.60291F, 1368.75F);
+            this.xrLabel7.Multiline = true;
+            this.xrLabel7.Name = "xrLabel7";
+            this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel7.SizeF = new System.Drawing.SizeF(486.4583F, 23F);
+            this.xrLabel7.StylePriority.UseTextAlignment = false;
+            this.xrLabel7.Text = "MAX WEIGHT OF PARTICLES 0.5mg";
+            this.xrLabel7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+            this.xrLabel7.Visible = false;
+            // 
+            // xrLabel6
+            // 
+            this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(83.60291F, 1345.75F);
+            this.xrLabel6.Multiline = true;
+            this.xrLabel6.Name = "xrLabel6";
+            this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel6.SizeF = new System.Drawing.SizeF(486.4583F, 23F);
+            this.xrLabel6.StylePriority.UseTextAlignment = false;
+            this.xrLabel6.Text = "CLEANLINESS ACC.TO PDT NVX 10039";
+            this.xrLabel6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+            this.xrLabel6.Visible = false;
+            // 
+            // xrLabel5
+            // 
+            this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(73.54177F, 1309.292F);
+            this.xrLabel5.Multiline = true;
+            this.xrLabel5.Name = "xrLabel5";
+            this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel5.SizeF = new System.Drawing.SizeF(486.4583F, 23F);
+            this.xrLabel5.StylePriority.UseTextAlignment = false;
+            this.xrLabel5.Text = "about hardness,we only need >15um data for particles.";
+            this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+            this.xrLabel5.Visible = false;
+            // 
+            // xrLabel4
+            // 
+            this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(73.54177F, 1274.916F);
+            this.xrLabel4.Multiline = true;
+            this.xrLabel4.Name = "xrLabel4";
+            this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel4.SizeF = new System.Drawing.SizeF(457.9165F, 23F);
+            this.xrLabel4.StylePriority.UseTextAlignment = false;
+            this.xrLabel4.Text = "test standard as below: please be attention.";
+            this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+            this.xrLabel4.Visible = false;
+            // 
+            // xrTable5
+            // 
+            this.xrTable5.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(0F, 1905.125F);
+            this.xrTable5.Name = "xrTable5";
+            this.xrTable5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
+            this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
+            this.xrTableRow18});
+            this.xrTable5.SizeF = new System.Drawing.SizeF(621.1879F, 38.54163F);
+            this.xrTable5.StylePriority.UseBorders = false;
+            this.xrTable5.StylePriority.UseTextAlignment = false;
+            this.xrTable5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+            this.xrTable5.Visible = false;
+            // 
+            // xrTableRow18
+            // 
+            this.xrTableRow18.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
+            this.xrTableCell37,
+            this.xrTableCell47,
+            this.xrTableCell38,
+            this.xrTableCell39,
+            this.xrTableCell40,
+            this.xrTableCell41,
+            this.xrTableCell42,
+            this.xrTableCell43,
+            this.xrTableCell44,
+            this.xrTableCell45,
+            this.xrTableCell46});
+            this.xrTableRow18.Name = "xrTableRow18";
+            this.xrTableRow18.Weight = 1.5416650390625D;
+            // 
+            // xrTableCell37
+            // 
+            this.xrTableCell37.Multiline = true;
+            this.xrTableCell37.Name = "xrTableCell37";
+            this.xrTableCell37.Text = "Particles of interest";
+            this.xrTableCell37.Weight = 0.80846553987198044D;
+            // 
+            // xrTableCell47
+            // 
+            this.xrTableCell47.Multiline = true;
+            this.xrTableCell47.Name = "xrTableCell47";
+            this.xrTableCell47.Text = "xrTableCell47";
+            this.xrTableCell47.Weight = 0.49356450485230807D;
+            // 
+            // xrTableCell38
+            // 
+            this.xrTableCell38.Multiline = true;
+            this.xrTableCell38.Name = "xrTableCell38";
+            this.xrTableCell38.Text = "xrTableCell38";
+            this.xrTableCell38.Weight = 0.49356672126753D;
+            // 
+            // xrTableCell39
+            // 
+            this.xrTableCell39.Multiline = true;
+            this.xrTableCell39.Name = "xrTableCell39";
+            this.xrTableCell39.Text = "xrTableCell39";
+            this.xrTableCell39.Weight = 0.4326705079566131D;
+            // 
+            // xrTableCell40
+            // 
+            this.xrTableCell40.Multiline = true;
+            this.xrTableCell40.Name = "xrTableCell40";
+            this.xrTableCell40.Text = "xrTableCell40";
+            this.xrTableCell40.Weight = 0.43267242876824841D;
+            // 
+            // xrTableCell41
+            // 
+            this.xrTableCell41.Multiline = true;
+            this.xrTableCell41.Name = "xrTableCell41";
+            this.xrTableCell41.Text = "xrTableCell41";
+            this.xrTableCell41.Weight = 0.43266826067078079D;
+            // 
+            // xrTableCell42
+            // 
+            this.xrTableCell42.Multiline = true;
+            this.xrTableCell42.Name = "xrTableCell42";
+            this.xrTableCell42.Text = "xrTableCell42";
+            this.xrTableCell42.Weight = 0.43267467221911793D;
+            // 
+            // xrTableCell43
+            // 
+            this.xrTableCell43.Multiline = true;
+            this.xrTableCell43.Name = "xrTableCell43";
+            this.xrTableCell43.Text = "xrTableCell43";
+            this.xrTableCell43.Weight = 0.43266823329179682D;
+            // 
+            // xrTableCell44
+            // 
+            this.xrTableCell44.Multiline = true;
+            this.xrTableCell44.Name = "xrTableCell44";
+            this.xrTableCell44.Text = "xrTableCell44";
+            this.xrTableCell44.Weight = 0.43267446483226268D;
+            // 
+            // xrTableCell45
+            // 
+            this.xrTableCell45.Multiline = true;
+            this.xrTableCell45.Name = "xrTableCell45";
+            this.xrTableCell45.Text = "xrTableCell45";
+            this.xrTableCell45.Weight = 0.43267031110645005D;
+            // 
+            // xrTableCell46
+            // 
+            this.xrTableCell46.Multiline = true;
+            this.xrTableCell46.Name = "xrTableCell46";
+            this.xrTableCell46.Text = "xrTableCell46";
+            this.xrTableCell46.Weight = 0.43267249147716025D;
+            // 
+            // xrTable4
+            // 
+            this.xrTable4.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(10.0001F, 984.2916F);
+            this.xrTable4.Name = "xrTable4";
+            this.xrTable4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
+            this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
+            this.xrTableRow15});
+            this.xrTable4.SizeF = new System.Drawing.SizeF(667.9998F, 25F);
+            this.xrTable4.StylePriority.UseBorders = false;
+            this.xrTable4.Visible = false;
+            // 
+            // xrTableRow15
+            // 
+            this.xrTableRow15.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
+            this.xrTableCell36});
+            this.xrTableRow15.Name = "xrTableRow15";
+            this.xrTableRow15.Weight = 1D;
+            // 
+            // xrTableCell36
+            // 
+            this.xrTableCell36.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell36.Multiline = true;
+            this.xrTableCell36.Name = "xrTableCell36";
+            this.xrTableCell36.StylePriority.UseBackColor = false;
+            this.xrTableCell36.StylePriority.UseTextAlignment = false;
+            this.xrTableCell36.Text = "汽车清洁度标准";
+            this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+            this.xrTableCell36.Weight = 3D;
+            // 
+            // xt_TCleannessA
+            // 
+            this.xt_TCleannessA.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.xt_TCleannessA.LocationFloat = new DevExpress.Utils.PointFloat(0F, 1834.986F);
+            this.xt_TCleannessA.Name = "xt_TCleannessA";
+            this.xt_TCleannessA.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
+            this.xt_TCleannessA.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
+            this.xrTableRow13,
+            this.xrTableRow14});
+            this.xt_TCleannessA.SizeF = new System.Drawing.SizeF(687.9999F, 49.99976F);
+            this.xt_TCleannessA.StylePriority.UseFont = false;
+            this.xt_TCleannessA.Visible = false;
+            // 
+            // xrTableRow13
+            // 
+            this.xrTableRow13.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
+            this.xrTableCell10,
+            this.xrTableCell16,
+            this.xrTableCell13,
+            this.xrTableCell17,
+            this.xrTableCell11,
+            this.xrTableCell18,
+            this.xrTableCell14,
+            this.xrTableCell19,
+            this.xrTableCell12,
+            this.xrTableCell20,
+            this.xrTableCell15,
+            this.xrTableCell22});
+            this.xrTableRow13.Name = "xrTableRow13";
+            this.xrTableRow13.Weight = 1D;
+            // 
+            // xrTableCell10
+            // 
+            this.xrTableCell10.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell10.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right)));
+            this.xrTableCell10.Multiline = true;
+            this.xrTableCell10.Name = "xrTableCell10";
+            this.xrTableCell10.StylePriority.UseBackColor = false;
+            this.xrTableCell10.StylePriority.UseBorders = false;
+            this.xrTableCell10.StylePriority.UseTextAlignment = false;
+            this.xrTableCell10.Text = "DMAX (µm)";
+            this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+            this.xrTableCell10.Weight = 0.41656504233771818D;
+            // 
+            // xrTableCell16
+            // 
+            this.xrTableCell16.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell16.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right)));
+            this.xrTableCell16.Multiline = true;
+            this.xrTableCell16.Name = "xrTableCell16";
+            this.xrTableCell16.StylePriority.UseBackColor = false;
+            this.xrTableCell16.StylePriority.UseBorders = false;
+            this.xrTableCell16.StylePriority.UseTextAlignment = false;
+            this.xrTableCell16.Text = "Total";
+            this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+            this.xrTableCell16.Weight = 0.25431036177029348D;
+            // 
+            // xrTableCell13
+            // 
+            this.xrTableCell13.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell13.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right)));
+            this.xrTableCell13.Multiline = true;
+            this.xrTableCell13.Name = "xrTableCell13";
+            this.xrTableCell13.StylePriority.UseBackColor = false;
+            this.xrTableCell13.StylePriority.UseBorders = false;
+            this.xrTableCell13.Weight = 0.25431036177029348D;
+            // 
+            // xrTableCell17
+            // 
+            this.xrTableCell17.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell17.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right)));
+            this.xrTableCell17.Multiline = true;
+            this.xrTableCell17.Name = "xrTableCell17";
+            this.xrTableCell17.StylePriority.UseBackColor = false;
+            this.xrTableCell17.StylePriority.UseBorders = false;
+            this.xrTableCell17.StylePriority.UseTextAlignment = false;
+            this.xrTableCell17.Text = "15.0-";
+            this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+            this.xrTableCell17.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell11
+            // 
+            this.xrTableCell11.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell11.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right)));
+            this.xrTableCell11.Multiline = true;
+            this.xrTableCell11.Name = "xrTableCell11";
+            this.xrTableCell11.StylePriority.UseBackColor = false;
+            this.xrTableCell11.StylePriority.UseBorders = false;
+            this.xrTableCell11.Text = "25.0-";
+            this.xrTableCell11.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell18
+            // 
+            this.xrTableCell18.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell18.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right)));
+            this.xrTableCell18.Multiline = true;
+            this.xrTableCell18.Name = "xrTableCell18";
+            this.xrTableCell18.StylePriority.UseBackColor = false;
+            this.xrTableCell18.StylePriority.UseBorders = false;
+            this.xrTableCell18.Text = "50.0-";
+            this.xrTableCell18.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell14
+            // 
+            this.xrTableCell14.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell14.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right)));
+            this.xrTableCell14.Multiline = true;
+            this.xrTableCell14.Name = "xrTableCell14";
+            this.xrTableCell14.StylePriority.UseBackColor = false;
+            this.xrTableCell14.StylePriority.UseBorders = false;
+            this.xrTableCell14.Text = "100.0-";
+            this.xrTableCell14.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell19
+            // 
+            this.xrTableCell19.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell19.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right)));
+            this.xrTableCell19.Multiline = true;
+            this.xrTableCell19.Name = "xrTableCell19";
+            this.xrTableCell19.StylePriority.UseBackColor = false;
+            this.xrTableCell19.StylePriority.UseBorders = false;
+            this.xrTableCell19.Text = "150.0-";
+            this.xrTableCell19.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell12
+            // 
+            this.xrTableCell12.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell12.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right)));
+            this.xrTableCell12.Multiline = true;
+            this.xrTableCell12.Name = "xrTableCell12";
+            this.xrTableCell12.StylePriority.UseBackColor = false;
+            this.xrTableCell12.StylePriority.UseBorders = false;
+            this.xrTableCell12.Text = "200.0-";
+            this.xrTableCell12.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell20
+            // 
+            this.xrTableCell20.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell20.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right)));
+            this.xrTableCell20.Multiline = true;
+            this.xrTableCell20.Name = "xrTableCell20";
+            this.xrTableCell20.StylePriority.UseBackColor = false;
+            this.xrTableCell20.StylePriority.UseBorders = false;
+            this.xrTableCell20.Text = "400.0-";
+            this.xrTableCell20.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell15
+            // 
+            this.xrTableCell15.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell15.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right)));
+            this.xrTableCell15.Multiline = true;
+            this.xrTableCell15.Name = "xrTableCell15";
+            this.xrTableCell15.StylePriority.UseBackColor = false;
+            this.xrTableCell15.StylePriority.UseBorders = false;
+            this.xrTableCell15.Text = "600.0-";
+            this.xrTableCell15.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell22
+            // 
+            this.xrTableCell22.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell22.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right)));
+            this.xrTableCell22.Multiline = true;
+            this.xrTableCell22.Name = "xrTableCell22";
+            this.xrTableCell22.StylePriority.UseBackColor = false;
+            this.xrTableCell22.StylePriority.UseBorders = false;
+            this.xrTableCell22.StylePriority.UseTextAlignment = false;
+            this.xrTableCell22.Text = "HV Vickers";
+            this.xrTableCell22.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+            this.xrTableCell22.Weight = 0.29133163607268953D;
+            // 
+            // xrTableRow14
+            // 
+            this.xrTableRow14.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
+            this.xrTableCell21,
+            this.xrTableCell23,
+            this.xrTableCell24,
+            this.xrTableCell25,
+            this.xrTableCell26,
+            this.xrTableCell27,
+            this.xrTableCell28,
+            this.xrTableCell29,
+            this.xrTableCell32,
+            this.xrTableCell33,
+            this.xrTableCell34,
+            this.xrTableCell35});
+            this.xrTableRow14.Name = "xrTableRow14";
+            this.xrTableRow14.Weight = 1D;
+            // 
+            // xrTableCell21
+            // 
+            this.xrTableCell21.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell21.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTableCell21.Multiline = true;
+            this.xrTableCell21.Name = "xrTableCell21";
+            this.xrTableCell21.StylePriority.UseBackColor = false;
+            this.xrTableCell21.StylePriority.UseBorders = false;
+            this.xrTableCell21.StylePriority.UseTextAlignment = false;
+            this.xrTableCell21.Text = "Klasse/class";
+            this.xrTableCell21.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+            this.xrTableCell21.Weight = 0.41656504233771818D;
+            // 
+            // xrTableCell23
+            // 
+            this.xrTableCell23.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell23.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTableCell23.Multiline = true;
+            this.xrTableCell23.Name = "xrTableCell23";
+            this.xrTableCell23.StylePriority.UseBackColor = false;
+            this.xrTableCell23.StylePriority.UseBorders = false;
+            this.xrTableCell23.StylePriority.UseTextAlignment = false;
+            this.xrTableCell23.Text = "Particles";
+            this.xrTableCell23.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+            this.xrTableCell23.Weight = 0.25431036177029348D;
+            // 
+            // xrTableCell24
+            // 
+            this.xrTableCell24.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell24.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTableCell24.Multiline = true;
+            this.xrTableCell24.Name = "xrTableCell24";
+            this.xrTableCell24.StylePriority.UseBackColor = false;
+            this.xrTableCell24.StylePriority.UseBorders = false;
+            this.xrTableCell24.StylePriority.UseTextAlignment = false;
+            this.xrTableCell24.Text = "Maximum";
+            this.xrTableCell24.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+            this.xrTableCell24.Weight = 0.25431036177029348D;
+            // 
+            // xrTableCell25
+            // 
+            this.xrTableCell25.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell25.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTableCell25.Multiline = true;
+            this.xrTableCell25.Name = "xrTableCell25";
+            this.xrTableCell25.StylePriority.UseBackColor = false;
+            this.xrTableCell25.StylePriority.UseBorders = false;
+            this.xrTableCell25.StylePriority.UseTextAlignment = false;
+            this.xrTableCell25.Text = "25.0";
+            this.xrTableCell25.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
+            this.xrTableCell25.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell26
+            // 
+            this.xrTableCell26.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell26.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTableCell26.Multiline = true;
+            this.xrTableCell26.Name = "xrTableCell26";
+            this.xrTableCell26.StylePriority.UseBackColor = false;
+            this.xrTableCell26.StylePriority.UseBorders = false;
+            this.xrTableCell26.StylePriority.UseTextAlignment = false;
+            this.xrTableCell26.Text = "50.0";
+            this.xrTableCell26.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
+            this.xrTableCell26.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell27
+            // 
+            this.xrTableCell27.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell27.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTableCell27.Multiline = true;
+            this.xrTableCell27.Name = "xrTableCell27";
+            this.xrTableCell27.StylePriority.UseBackColor = false;
+            this.xrTableCell27.StylePriority.UseBorders = false;
+            this.xrTableCell27.StylePriority.UseTextAlignment = false;
+            this.xrTableCell27.Text = "100.0";
+            this.xrTableCell27.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
+            this.xrTableCell27.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell28
+            // 
+            this.xrTableCell28.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell28.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTableCell28.Multiline = true;
+            this.xrTableCell28.Name = "xrTableCell28";
+            this.xrTableCell28.StylePriority.UseBackColor = false;
+            this.xrTableCell28.StylePriority.UseBorders = false;
+            this.xrTableCell28.StylePriority.UseTextAlignment = false;
+            this.xrTableCell28.Text = "150.0";
+            this.xrTableCell28.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
+            this.xrTableCell28.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell29
+            // 
+            this.xrTableCell29.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell29.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTableCell29.Multiline = true;
+            this.xrTableCell29.Name = "xrTableCell29";
+            this.xrTableCell29.StylePriority.UseBackColor = false;
+            this.xrTableCell29.StylePriority.UseBorders = false;
+            this.xrTableCell29.StylePriority.UseTextAlignment = false;
+            this.xrTableCell29.Text = "200.0";
+            this.xrTableCell29.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
+            this.xrTableCell29.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell32
+            // 
+            this.xrTableCell32.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell32.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTableCell32.Multiline = true;
+            this.xrTableCell32.Name = "xrTableCell32";
+            this.xrTableCell32.StylePriority.UseBackColor = false;
+            this.xrTableCell32.StylePriority.UseBorders = false;
+            this.xrTableCell32.StylePriority.UseTextAlignment = false;
+            this.xrTableCell32.Text = "400.0";
+            this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
+            this.xrTableCell32.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell33
+            // 
+            this.xrTableCell33.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell33.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTableCell33.Multiline = true;
+            this.xrTableCell33.Name = "xrTableCell33";
+            this.xrTableCell33.StylePriority.UseBackColor = false;
+            this.xrTableCell33.StylePriority.UseBorders = false;
+            this.xrTableCell33.StylePriority.UseTextAlignment = false;
+            this.xrTableCell33.Text = "600.0";
+            this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
+            this.xrTableCell33.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell34
+            // 
+            this.xrTableCell34.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell34.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTableCell34.Multiline = true;
+            this.xrTableCell34.Name = "xrTableCell34";
+            this.xrTableCell34.StylePriority.UseBackColor = false;
+            this.xrTableCell34.StylePriority.UseBorders = false;
+            this.xrTableCell34.StylePriority.UseTextAlignment = false;
+            this.xrTableCell34.Text = "1000.0";
+            this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
+            this.xrTableCell34.Weight = 0.22293532475612568D;
+            // 
+            // xrTableCell35
+            // 
+            this.xrTableCell35.BackColor = System.Drawing.Color.DarkGray;
+            this.xrTableCell35.Borders = ((DevExpress.XtraPrinting.BorderSide)(((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.xrTableCell35.Multiline = true;
+            this.xrTableCell35.Name = "xrTableCell35";
+            this.xrTableCell35.StylePriority.UseBackColor = false;
+            this.xrTableCell35.StylePriority.UseBorders = false;
+            this.xrTableCell35.StylePriority.UseTextAlignment = false;
+            this.xrTableCell35.Text = "Kp/mm²";
+            this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+            this.xrTableCell35.Weight = 0.29133163607268953D;
+            // 
+            // xrPageBreak2
+            // 
+            this.xrPageBreak2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 1811.375F);
+            this.xrPageBreak2.Name = "xrPageBreak2";
+            this.xrPageBreak2.Visible = false;
+            // 
+            // TCCleannessA_side
+            // 
+            this.TCCleannessA_side.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top) 
+            | DevExpress.XtraPrinting.BorderSide.Right) 
+            | DevExpress.XtraPrinting.BorderSide.Bottom)));
+            this.TCCleannessA_side.Font = new System.Drawing.Font("Arial", 12F);
+            this.TCCleannessA_side.LocationFloat = new DevExpress.Utils.PointFloat(73.54202F, 1554.557F);
+            this.TCCleannessA_side.Name = "TCCleannessA_side";
+            this.TCCleannessA_side.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
+            this.TCCleannessA_side.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
+            this.xrTableRow10,
+            this.xrTableRow11,
+            this.xrTableRow12});
+            this.TCCleannessA_side.SizeF = new System.Drawing.SizeF(515.6251F, 106.0608F);
+            this.TCCleannessA_side.StylePriority.UseBorders = false;
+            this.TCCleannessA_side.StylePriority.UseFont = false;
+            this.TCCleannessA_side.StylePriority.UseTextAlignment = false;
+            this.TCCleannessA_side.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+            this.TCCleannessA_side.Visible = false;
+            // 
+            // xrTableRow10
+            // 
+            this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
+            this.xrTableCell4,
+            this.xrTableCell5});
+            this.xrTableRow10.Name = "xrTableRow10";
+            this.xrTableRow10.Weight = 0.33333332134430571D;
+            // 
+            // xrTableCell4
+            // 
+            this.xrTableCell4.Multiline = true;
+            this.xrTableCell4.Name = "xrTableCell4";
+            this.xrTableCell4.Text = "Requirement: No Particles >15µm with > 400 HV";
+            this.xrTableCell4.Weight = 3.6584617041781855D;
+            // 
+            // xrTableCell5
+            // 
+            this.xrTableCell5.BackColor = System.Drawing.Color.Transparent;
+            this.xrTableCell5.ForeColor = System.Drawing.Color.Green;
+            this.xrTableCell5.Multiline = true;
+            this.xrTableCell5.Name = "xrTableCell5";
+            this.xrTableCell5.StylePriority.UseBackColor = false;
+            this.xrTableCell5.StylePriority.UseForeColor = false;
+            this.xrTableCell5.Text = "ok";
+            this.xrTableCell5.Weight = 1.3676932036217315D;
+            // 
+            // xrTableRow11
+            // 
+            this.xrTableRow11.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
+            this.xrTableCell6,
+            this.xrTableCell7});
+            this.xrTableRow11.Name = "xrTableRow11";
+            this.xrTableRow11.Weight = 0.33333332134430571D;
+            // 
+            // xrTableCell6
+            // 
+            this.xrTableCell6.Multiline = true;
+            this.xrTableCell6.Name = "xrTableCell6";
+            this.xrTableCell6.Text = "Requirement: Metallic particles < 400µm";
+            this.xrTableCell6.Weight = 3.6584617041781855D;
+            // 
+            // xrTableCell7
+            // 
+            this.xrTableCell7.ForeColor = System.Drawing.Color.Green;
+            this.xrTableCell7.Multiline = true;
+            this.xrTableCell7.Name = "xrTableCell7";
+            this.xrTableCell7.StylePriority.UseForeColor = false;
+            this.xrTableCell7.Text = "ok";
+            this.xrTableCell7.Weight = 1.3676932036217315D;
+            // 
+            // xrTableRow12
+            // 
+            this.xrTableRow12.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
+            this.xrTableCell8,
+            this.xrTableCell9});
+            this.xrTableRow12.Name = "xrTableRow12";
+            this.xrTableRow12.Weight = 0.33333332134430571D;
+            // 
+            // xrTableCell8
+            // 
+            this.xrTableCell8.BorderColor = System.Drawing.Color.Black;
+            this.xrTableCell8.ForeColor = System.Drawing.Color.Black;
+            this.xrTableCell8.Multiline = true;
+            this.xrTableCell8.Name = "xrTableCell8";
+            this.xrTableCell8.StylePriority.UseBorderColor = false;
+            this.xrTableCell8.StylePriority.UseForeColor = false;
+            this.xrTableCell8.Text = "Requirement: Non-metallic particles < 600µm";
+            this.xrTableCell8.Weight = 3.6584617041781855D;
+            // 
+            // xrTableCell9
+            // 
+            this.xrTableCell9.ForeColor = System.Drawing.Color.Green;
+            this.xrTableCell9.Multiline = true;
+            this.xrTableCell9.Name = "xrTableCell9";
+            this.xrTableCell9.StylePriority.UseForeColor = false;
+            this.xrTableCell9.Text = "ok";
+            this.xrTableCell9.Weight = 1.3676932036217315D;
+            // 
+            // xrLabel3
+            // 
+            this.xrLabel3.Font = new System.Drawing.Font("Arial", 16F);
+            this.xrLabel3.ForeColor = System.Drawing.Color.Green;
+            this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(73.54177F, 1211.375F);
+            this.xrLabel3.Multiline = true;
+            this.xrLabel3.Name = "xrLabel3";
+            this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel3.SizeF = new System.Drawing.SizeF(457.9165F, 32.375F);
+            this.xrLabel3.StylePriority.UseFont = false;
+            this.xrLabel3.StylePriority.UseForeColor = false;
+            this.xrLabel3.StylePriority.UseTextAlignment = false;
+            this.xrLabel3.Text = "Sauberkeit n.i.O. / Cleanliness ok";
+            this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+            this.xrLabel3.Visible = false;
+            // 
+            // xrLabel2
+            // 
+            this.xrLabel2.Font = new System.Drawing.Font("Arial", 18F);
+            this.xrLabel2.ForeColor = System.Drawing.Color.MediumBlue;
+            this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(73.54177F, 1152F);
+            this.xrLabel2.Multiline = true;
+            this.xrLabel2.Name = "xrLabel2";
+            this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
+            this.xrLabel2.SizeF = new System.Drawing.SizeF(346.875F, 40.70844F);
+            this.xrLabel2.StylePriority.UseFont = false;
+            this.xrLabel2.StylePriority.UseForeColor = false;
+            this.xrLabel2.StylePriority.UseTextAlignment = false;
+            this.xrLabel2.Text = "Bewertung / Evaluation";
+            this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+            this.xrLabel2.Visible = false;
+            // 
+            // xrPageBreak_tc
+            // 
+            this.xrPageBreak_tc.LocationFloat = new DevExpress.Utils.PointFloat(0F, 960.3333F);
+            this.xrPageBreak_tc.Name = "xrPageBreak_tc";
+            this.xrPageBreak_tc.Visible = false;
+            // 
             // xrLabel1
             // 
             this.xrLabel1.BackColor = System.Drawing.Color.DarkGray;
-            this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 1054F);
+            this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 2049.834F);
             this.xrLabel1.Multiline = true;
             this.xrLabel1.Name = "xrLabel1";
             this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -269,7 +1102,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             // 
             this.xrChart1.BorderColor = System.Drawing.Color.Black;
             this.xrChart1.Borders = DevExpress.XtraPrinting.BorderSide.None;
-            this.xrChart1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 1077F);
+            this.xrChart1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 2072.834F);
             this.xrChart1.Name = "xrChart1";
             this.xrChart1.SeriesSerializable = new DevExpress.XtraCharts.Series[0];
             this.xrChart1.SizeF = new System.Drawing.SizeF(688F, 387.4999F);
@@ -278,7 +1111,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             // xrLabel_size_IconQuestion_Subdivision
             // 
             this.xrLabel_size_IconQuestion_Subdivision.BackColor = System.Drawing.Color.DarkGray;
-            this.xrLabel_size_IconQuestion_Subdivision.LocationFloat = new DevExpress.Utils.PointFloat(30.41636F, 2159.292F);
+            this.xrLabel_size_IconQuestion_Subdivision.LocationFloat = new DevExpress.Utils.PointFloat(30.41636F, 3155.126F);
             this.xrLabel_size_IconQuestion_Subdivision.Multiline = true;
             this.xrLabel_size_IconQuestion_Subdivision.Name = "xrLabel_size_IconQuestion_Subdivision";
             this.xrLabel_size_IconQuestion_Subdivision.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -294,7 +1127,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             this.xrChart_ParticelSizeSubdivision.BorderColor = System.Drawing.Color.Black;
             this.xrChart_ParticelSizeSubdivision.Borders = DevExpress.XtraPrinting.BorderSide.None;
             this.xrChart_ParticelSizeSubdivision.Legend.Name = "Default Legend";
-            this.xrChart_ParticelSizeSubdivision.LocationFloat = new DevExpress.Utils.PointFloat(30.41687F, 2182.292F);
+            this.xrChart_ParticelSizeSubdivision.LocationFloat = new DevExpress.Utils.PointFloat(30.41687F, 3178.126F);
             this.xrChart_ParticelSizeSubdivision.Name = "xrChart_ParticelSizeSubdivision";
             this.xrChart_ParticelSizeSubdivision.PaletteName = "Palette 1";
             this.xrChart_ParticelSizeSubdivision.PaletteRepository.Add("Palette 1", new DevExpress.XtraCharts.Palette("Palette 1", DevExpress.XtraCharts.PaletteScaleMode.Repeat, new DevExpress.XtraCharts.PaletteEntry[] {
@@ -327,7 +1160,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             | DevExpress.XtraPrinting.BorderSide.Right) 
             | DevExpress.XtraPrinting.BorderSide.Bottom)));
             this.xrTb_ElementAnalysis.BorderWidth = 0.5F;
-            this.xrTb_ElementAnalysis.LocationFloat = new DevExpress.Utils.PointFloat(10.0001F, 2779.084F);
+            this.xrTb_ElementAnalysis.LocationFloat = new DevExpress.Utils.PointFloat(10.0001F, 3774.918F);
             this.xrTb_ElementAnalysis.Name = "xrTb_ElementAnalysis";
             this.xrTb_ElementAnalysis.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
             this.xrTb_ElementAnalysis.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
@@ -378,7 +1211,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             | DevExpress.XtraPrinting.BorderSide.Right) 
             | DevExpress.XtraPrinting.BorderSide.Bottom)));
             this.xrTable_kllb_surface.BorderWidth = 0.5F;
-            this.xrTable_kllb_surface.LocationFloat = new DevExpress.Utils.PointFloat(0F, 3868.858F);
+            this.xrTable_kllb_surface.LocationFloat = new DevExpress.Utils.PointFloat(0F, 4864.692F);
             this.xrTable_kllb_surface.Name = "xrTable_kllb_surface";
             this.xrTable_kllb_surface.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 96F);
             this.xrTable_kllb_surface.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
@@ -426,7 +1259,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             // xrLabel_inca_pic_subdivision
             // 
             this.xrLabel_inca_pic_subdivision.BackColor = System.Drawing.Color.DarkGray;
-            this.xrLabel_inca_pic_subdivision.LocationFloat = new DevExpress.Utils.PointFloat(30.41636F, 3357.528F);
+            this.xrLabel_inca_pic_subdivision.LocationFloat = new DevExpress.Utils.PointFloat(30.41636F, 4353.362F);
             this.xrLabel_inca_pic_subdivision.Multiline = true;
             this.xrLabel_inca_pic_subdivision.Name = "xrLabel_inca_pic_subdivision";
             this.xrLabel_inca_pic_subdivision.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -442,7 +1275,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             this.xrChart_incaSubdivision.BorderColor = System.Drawing.Color.Black;
             this.xrChart_incaSubdivision.Borders = DevExpress.XtraPrinting.BorderSide.None;
             this.xrChart_incaSubdivision.Legend.Name = "Default Legend";
-            this.xrChart_incaSubdivision.LocationFloat = new DevExpress.Utils.PointFloat(30.41611F, 3380.528F);
+            this.xrChart_incaSubdivision.LocationFloat = new DevExpress.Utils.PointFloat(30.41611F, 4376.362F);
             this.xrChart_incaSubdivision.Name = "xrChart_incaSubdivision";
             this.xrChart_incaSubdivision.SeriesSerializable = new DevExpress.XtraCharts.Series[0];
             this.xrChart_incaSubdivision.SizeF = new System.Drawing.SizeF(630F, 478.33F);
@@ -451,7 +1284,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             // xrLabel_inca_pic_class
             // 
             this.xrLabel_inca_pic_class.BackColor = System.Drawing.Color.DarkGray;
-            this.xrLabel_inca_pic_class.LocationFloat = new DevExpress.Utils.PointFloat(30.41636F, 2934.528F);
+            this.xrLabel_inca_pic_class.LocationFloat = new DevExpress.Utils.PointFloat(30.41636F, 3930.362F);
             this.xrLabel_inca_pic_class.Multiline = true;
             this.xrLabel_inca_pic_class.Name = "xrLabel_inca_pic_class";
             this.xrLabel_inca_pic_class.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -467,7 +1300,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             this.xrChart_incaClass.BorderColor = System.Drawing.Color.Black;
             this.xrChart_incaClass.Borders = DevExpress.XtraPrinting.BorderSide.None;
             this.xrChart_incaClass.Legend.Name = "Default Legend";
-            this.xrChart_incaClass.LocationFloat = new DevExpress.Utils.PointFloat(30.41687F, 2957.528F);
+            this.xrChart_incaClass.LocationFloat = new DevExpress.Utils.PointFloat(30.41687F, 3953.362F);
             this.xrChart_incaClass.Name = "xrChart_incaClass";
             this.xrChart_incaClass.SeriesSerializable = new DevExpress.XtraCharts.Series[0];
             this.xrChart_incaClass.SizeF = new System.Drawing.SizeF(630F, 400F);
@@ -476,7 +1309,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             // xrLabel_size_IconQuestion_Class
             // 
             this.xrLabel_size_IconQuestion_Class.BackColor = System.Drawing.Color.DarkGray;
-            this.xrLabel_size_IconQuestion_Class.LocationFloat = new DevExpress.Utils.PointFloat(30.41611F, 1736.292F);
+            this.xrLabel_size_IconQuestion_Class.LocationFloat = new DevExpress.Utils.PointFloat(30.41611F, 2732.125F);
             this.xrLabel_size_IconQuestion_Class.Multiline = true;
             this.xrLabel_size_IconQuestion_Class.Name = "xrLabel_size_IconQuestion_Class";
             this.xrLabel_size_IconQuestion_Class.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
@@ -492,7 +1325,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             this.xrChart_ParticelSizeCalss.BorderColor = System.Drawing.Color.Black;
             this.xrChart_ParticelSizeCalss.Borders = DevExpress.XtraPrinting.BorderSide.None;
             this.xrChart_ParticelSizeCalss.Legend.Name = "Default Legend";
-            this.xrChart_ParticelSizeCalss.LocationFloat = new DevExpress.Utils.PointFloat(30.41611F, 1759.292F);
+            this.xrChart_ParticelSizeCalss.LocationFloat = new DevExpress.Utils.PointFloat(30.41611F, 2755.126F);
             this.xrChart_ParticelSizeCalss.Name = "xrChart_ParticelSizeCalss";
             this.xrChart_ParticelSizeCalss.SeriesSerializable = new DevExpress.XtraCharts.Series[0];
             this.xrChart_ParticelSizeCalss.SizeF = new System.Drawing.SizeF(630F, 400F);
@@ -769,7 +1602,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             // 
             // xrPageBreak1
             // 
-            this.xrPageBreak1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 930.6249F);
+            this.xrPageBreak1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 2003.542F);
             this.xrPageBreak1.Name = "xrPageBreak1";
             this.xrPageBreak1.Visible = false;
             // 
@@ -860,6 +1693,10 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             this.Font = new System.Drawing.Font("Arial", 9.75F);
             this.Margins = new System.Drawing.Printing.Margins(77, 84, 73, 67);
             this.Version = "21.2";
+            ((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.xt_TCleannessA)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.TCCleannessA_side)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.xrTable3)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.xrChart1)).EndInit();
@@ -945,5 +1782,70 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
         private DevExpress.XtraReports.UI.XRTableRow xrTableRow9;
         private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
         private DevExpress.XtraReports.UI.XRLabel xrLabel1;
+        private DevExpress.XtraReports.UI.XRTable TCCleannessA_side;
+        private DevExpress.XtraReports.UI.XRTableRow xrTableRow10;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
+        private DevExpress.XtraReports.UI.XRTableRow xrTableRow11;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
+        private DevExpress.XtraReports.UI.XRTableRow xrTableRow12;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell9;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel3;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel2;
+        private DevExpress.XtraReports.UI.XRPageBreak xrPageBreak_tc;
+        private DevExpress.XtraReports.UI.XRPageBreak xrPageBreak2;
+        private DevExpress.XtraReports.UI.XRTable xt_TCleannessA;
+        private DevExpress.XtraReports.UI.XRTableRow xrTableRow13;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell16;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell17;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell11;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell19;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell12;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell20;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell15;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell22;
+        private DevExpress.XtraReports.UI.XRTableRow xrTableRow14;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell21;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell23;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell24;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell25;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell26;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell27;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell28;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell29;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell32;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell33;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell34;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell35;
+        private DevExpress.XtraReports.UI.XRTable xrTable4;
+        private DevExpress.XtraReports.UI.XRTableRow xrTableRow15;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell36;
+        private DevExpress.XtraReports.UI.XRTable xrTable5;
+        private DevExpress.XtraReports.UI.XRTableRow xrTableRow18;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell37;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell47;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell38;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell39;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell40;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell41;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell42;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell43;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell44;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell45;
+        private DevExpress.XtraReports.UI.XRTableCell xrTableCell46;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel11;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel10;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel9;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel8;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel7;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel6;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel5;
+        private DevExpress.XtraReports.UI.XRLabel xrLabel4;
     }
 }

+ 391 - 13
OTSIncAReportApp/1-UI/OTSReportExport/Template/DataTemplate.cs

@@ -132,8 +132,9 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             basicData.SetAllClass();
             basicData.SetAllElement();
             basicData.IsThereAMajorClassification();
+            basicData.IsResultFilesList(m_otsreport_export);
+            basicData.IsFilePath(m_otsreport_export);
 
-       
             setXRLabelData(dev_ypbh_up, GetlanguageData("dev_ypbh_up",  dev_ypbh_up.Text));//样品编号(中间的)
             setXRLabelData(dev_bgsj_up, GetlanguageData("dev_bgsj_up", dev_bgsj_up.Text));//报告时间(中间的)
   
@@ -302,7 +303,9 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
 
             }
             this.Detail.Controls.Add(xrTa_ParticleSizeTable);
-            xrTa_ParticleSizeTable.LocationF = new PointF(10f, 940f);
+            float fl = xrPageBreak1.LocationF.Y + 20;
+            //xrTa_ParticleSizeTable.LocationF = new PointF(10f, 940f);
+            xrTa_ParticleSizeTable.LocationF = new PointF(10f, fl);
 
             XRTable xrTable3 = add_particleSizeS_end();
             xrTable3.LocationF = new PointF(10f, xrTa_ParticleSizeTable.LocationF.Y + xrTa_ParticleSizeTable.HeightF);
@@ -376,13 +379,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
                 list_ParticelSizeData.Add(switch_ParticleSize(subscript.Getsubscriptstring(REORDER_data.Rows[i]["Class"].ToString()), subscript.Getsubscriptstring(REORDER_data.Rows[i]["Name"].ToString()), REORDER_data.Rows[i]["total"].ToString(), REORDER_data.Rows[i]["c1"].ToString(), REORDER_data.Rows[i]["c2"].ToString(), REORDER_data.Rows[i]["c3"].ToString(),
                    REORDER_data.Rows[i]["c4"].ToString(), REORDER_data.Rows[i]["c5"].ToString(), REORDER_data.Rows[i]["c6"].ToString(), REORDER_data.Rows[i]["c7"].ToString()));
             }
-            //if (REORDER_data.Rows.Count!=1)
-            //{
-            //    REORDER_data.Rows[ls].Delete();
-            //    REORDER_data.AcceptChanges();
-            //}
-            
-            
+  
             setXRLabelData(xrTa_ParticleSizeTable.Rows[2].Cells[0], GetlanguageData("dev_classify", "分类"));//二级分类(子分类)
             setXRLabelData(xrTa_ParticleSizeTable.Rows[2].Cells[1], GetlanguageData("dev_quantity", "数量"));//数量
 
@@ -442,8 +439,8 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
 
             }
             this.Detail.Controls.Add(xrTa_ParticleSizeTable);
-            xrTa_ParticleSizeTable.LocationF = new PointF(10f, 940f);
-
+            float fl = xrPageBreak1.LocationF.Y + 20;
+            xrTa_ParticleSizeTable.LocationF = new PointF(10f, fl);
             XRTable xrTable3 = add_particleSize_end();
             xrTable3.LocationF = new PointF(10f, xrTa_ParticleSizeTable.LocationF.Y + xrTa_ParticleSizeTable.HeightF);
 
@@ -517,8 +514,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
                         if (data.Rows[i][field].ToString() == TemplateClass.list_str_MainPriority[a])
                         {
                             dataTable.Rows.Add(data.Rows[i].ItemArray);
-
-                            continue;
+                            break; ;
                         }
                     }
                 }
@@ -541,6 +537,386 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             return dataTable.Copy();
        
         }
+        /// <summary>
+        /// 汽车清洁度
+        /// </summary>
+        public void SetTCleannessA()
+        {
+            TCCleannessADisplaySettings();
+            TCCleannessA tCCleannessA = new TCCleannessA();
+            string str = m_otsreport_export.m_mbszclass.M_SY.StandardLibraryName;
+            DataTable data = tCCleannessA.ParticleSizeStatistician(basicData, str);
+            List<DataTable> dts = tCCleannessA.GetGroupingTable(data);
+            bool b1 = true;
+            bool b2 = true;
+            bool b3 = true;
+            List<string> vs = basicData.GetParticlesizeTable();
+          
+
+            int metal1 = int.MaxValue;
+            int metal2 = int.MaxValue;
+
+            for (int i = 0; i < vs.Count; i++)
+            {
+                string text = vs[i];
+                char[] delimiters = new char[] { '~' };
+                string[] fruits = text.Split(delimiters, StringSplitOptions.None);
+             
+
+                if(metal1== int.MaxValue && Convert.ToInt32(fruits[0])>= 400)
+                {
+                    metal1 = i;
+                }
+                if (metal2 == int.MaxValue && Convert.ToInt32(fruits[0]) >= 600)
+                {
+                    metal2 = i;
+                }
+            }
+            for (int i=0;i< data.Rows.Count;i++)
+            {
+                int statistics = 0;
+                for (int a=1;a<10;a++)
+                {
+                    string stra = data.Rows[i]["c" + a.ToString()].ToString();
+                    if (string.IsNullOrEmpty(data.Rows[i]["c" + a.ToString()].ToString()))
+                    {
+                        stra = "0";
+                    }
+                    statistics = statistics + Convert.ToInt32(stra);
+                }
+                if (statistics>0 && Convert.ToInt32(data.Rows[i]["hardnes"])>400 )
+                {
+                    TCCleannessA_side.Rows[0].Cells[1].ForeColor = Color.Red;
+                    TCCleannessA_side.Rows[0].Cells[1].Text = "n.ok";
+                    b1 = false;
+                }
+                if (statistics > 0 && data.Rows[i]["metal"].ToString()=="1" )
+                {
+                    int statis = 0;
+                    for (int a= metal1; a<10;a++)
+                    {
+                        string stra = data.Rows[i]["c" + a.ToString()].ToString();
+                        if (string.IsNullOrEmpty(data.Rows[i]["c" + a.ToString()].ToString()))
+                        {
+                            stra = "0";
+                        }
+                        statis = statis + Convert.ToInt32(stra);
+                    }
+                    if (statis>0)
+                    {
+                        TCCleannessA_side.Rows[1].Cells[1].ForeColor = Color.Red;
+                        TCCleannessA_side.Rows[1].Cells[1].Text = "n.ok";
+                        b2 = false;
+                    }
+                }
+                else
+                {
+                    int statis = 0;
+                    for (int a = metal2; a < 10; a++)
+                    {
+                        string stra = data.Rows[i]["c" + a.ToString()].ToString();
+                        if (string.IsNullOrEmpty(data.Rows[i]["c" + a.ToString()].ToString()))
+                        {
+                            stra = "0";
+                        }
+                        statis = statis + Convert.ToInt32(stra);
+                    }
+                    if (statis > 0)
+                    {
+                        TCCleannessA_side.Rows[2].Cells[1].ForeColor = Color.Red;
+                        TCCleannessA_side.Rows[2].Cells[1].Text = "n.ok";
+                        b3 = false;
+                    }
+                }
+                if (!b1&&!b2&&!b3)
+                {
+                    xrLabel3.Text = "Sauberkeit n.i.O. / Cleanliness not ok";
+                    xrLabel3.ForeColor= Color.Red;
+                    break;
+                }
+            }
+
+            AddTCCleannessA(dts, basicData);
+
+        }
+        private void TCCleannessADisplaySettings()
+        {
+            xrTable4.Visible = true;
+            xrLabel2.Visible = true;
+            xrLabel3.Visible = true;
+            //xrPictureBox3.Visible = true;
+            TCCleannessA_side.Visible = true;
+            xrPageBreak2.Visible = true;
+            xt_TCleannessA.Visible = true;
+            xrPageBreak_tc.Visible = true;
+            xrTable5.Visible = true;
+
+            xrLabel4.Visible = true;
+            xrLabel5.Visible = true;
+            xrLabel6.Visible = true;
+            xrLabel7.Visible = true;
+            xrLabel8.Visible = true;
+            xrLabel9.Visible = true;
+            xrLabel10.Visible = true;
+            xrLabel11.Visible = true;
+        }
+
+
+        private void  AddTCCleannessA(List<DataTable> List_data, BasicData basicData)
+        {
+            List<string> vs = basicData.GetParticlesizeTable();
+            List<int> listMin = new List<int>();
+            List<int> listMax = new List<int>();
+            for (int i=0;i< vs.Count;i++)
+            {
+                string text = vs[i];
+                char[] delimiters = new char[] { '~' };
+                string[] fruits = text.Split(delimiters, StringSplitOptions.None);
+                listMin.Add(Convert.ToInt32(fruits[0]) );
+                if (i != vs.Count - 1)
+                    listMax.Add(Convert.ToInt32(fruits[1]));
+                else
+                {
+                    listMax.Add(int.MaxValue);
+                }
+            }
+            int pos = 3;
+            for (int i=0; i< listMin.Count; i++)
+            {
+                xt_TCleannessA.Rows[0].Cells[pos].Text = listMin[i].ToString() + " ~";
+                if (listMax[i] == int.MaxValue)
+                    xt_TCleannessA.Rows[1].Cells[pos].Text = "MAX";
+                else
+                    xt_TCleannessA.Rows[1].Cells[pos].Text = listMax[i].ToString();
+                pos++;
+            }
+
+            int c1_int = 0;
+            int c2_int = 0;
+            int c3_int = 0;
+            int c4_int = 0;
+            int c5_int = 0;
+            int c6_int = 0;
+            int c7_int = 0;
+            int c8_int = 0;
+            int total_int = 0;
+            int maximum_int = 0;
+            for (int a=0;a< List_data.Count;a++)
+            {
+                DataTable data = List_data[a];
+                XRTableRow ro = new XRTableRow();
+                XRTableCell tCel = new XRTableCell();
+                tCel.WidthF = 668.02f;
+                tCel.Borders = DevExpress.XtraPrinting.BorderSide.All;
+                tCel.Text = List_data[a].TableName;
+                tCel.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+                tCel.ForeColor = Color.MediumBlue;
+                ro.Cells.Add(tCel);
+                xt_TCleannessA.Rows.Add(ro);
+
+                for (int i = 0; i < data.Rows.Count; i++)
+                {
+                    XRTableRow row = new XRTableRow();
+
+                    XRTableCell tCell_Class = TCCleannessTableStyle
+                        (xt_TCleannessA.Rows[1].Cells[0].WidthF, data.Rows[i]["Name"].ToString(), DevExpress.XtraPrinting.BorderSide.All, Convert.ToInt32(data.Rows[i]["metal"]), 0, false);
+                    XRTableCell tCell_total = TCCleannessTableStyle
+                        (xt_TCleannessA.Rows[1].Cells[1].WidthF, data.Rows[i]["total"].ToString(), DevExpress.XtraPrinting.BorderSide.All, Convert.ToInt32(data.Rows[i]["metal"]), 0, false);
+                    XRTableCell tCell_Maxmum = TCCleannessTableStyle
+                        (xt_TCleannessA.Rows[1].Cells[2].WidthF, data.Rows[i]["maximum"].ToString(), DevExpress.XtraPrinting.BorderSide.All, Convert.ToInt32(data.Rows[i]["metal"]), 0, false);
+                    XRTableCell tCell_size_1 = TCCleannessTableStyle
+                        (xt_TCleannessA.Rows[1].Cells[3].WidthF, data.Rows[i]["c1"].ToString(), DevExpress.XtraPrinting.BorderSide.All, Convert.ToInt32(data.Rows[i]["metal"]), listMin[0], true);
+                    XRTableCell tCell_size_2 = TCCleannessTableStyle
+                        (xt_TCleannessA.Rows[1].Cells[4].WidthF, data.Rows[i]["c2"].ToString(), DevExpress.XtraPrinting.BorderSide.All, Convert.ToInt32(data.Rows[i]["metal"]), listMin[1], true);
+                    XRTableCell tCell_size_3 = TCCleannessTableStyle
+                        (xt_TCleannessA.Rows[1].Cells[5].WidthF, data.Rows[i]["c3"].ToString(), DevExpress.XtraPrinting.BorderSide.All, Convert.ToInt32(data.Rows[i]["metal"]), listMin[2], true);
+                    XRTableCell tCell_size_4 = TCCleannessTableStyle
+                        (xt_TCleannessA.Rows[1].Cells[6].WidthF, data.Rows[i]["c4"].ToString(), DevExpress.XtraPrinting.BorderSide.All, Convert.ToInt32(data.Rows[i]["metal"]), listMin[3], true);
+                    XRTableCell tCell_size_5 = TCCleannessTableStyle
+                        (xt_TCleannessA.Rows[1].Cells[7].WidthF, data.Rows[i]["c5"].ToString(), DevExpress.XtraPrinting.BorderSide.All, Convert.ToInt32(data.Rows[i]["metal"]), listMin[4], true);
+                    XRTableCell tCell_size_6 = TCCleannessTableStyle
+                        (xt_TCleannessA.Rows[1].Cells[8].WidthF, data.Rows[i]["c6"].ToString(), DevExpress.XtraPrinting.BorderSide.All, Convert.ToInt32(data.Rows[i]["metal"]), listMin[5], true);
+                    XRTableCell tCell_size_7 = TCCleannessTableStyle
+                        (xt_TCleannessA.Rows[1].Cells[9].WidthF, data.Rows[i]["c7"].ToString(), DevExpress.XtraPrinting.BorderSide.All, Convert.ToInt32(data.Rows[i]["metal"]), listMin[6], true);
+                    XRTableCell tCell_size_8 = TCCleannessTableStyle
+                        (xt_TCleannessA.Rows[1].Cells[10].WidthF, data.Rows[i]["c8"].ToString(), DevExpress.XtraPrinting.BorderSide.All, Convert.ToInt32(data.Rows[i]["metal"]), listMin[7], true);
+
+                    XRTableCell tCell_HV = new XRTableCell();
+                    tCell_HV.WidthF = xt_TCleannessA.Rows[1].Cells[11].WidthF;
+                    tCell_HV.Text = data.Rows[i]["hardness"].ToString();
+                    tCell_HV.Borders = DevExpress.XtraPrinting.BorderSide.All;
+                    if (Convert.ToInt32(data.Rows[i]["hardnes"]) > 0 && Convert.ToInt32(data.Rows[i]["hardnes"]) < 400)
+                    {
+                        tCell_HV.ForeColor = Color.Green;
+                    }
+                    else if (Convert.ToInt32(data.Rows[i]["hardnes"]) > 400 && Convert.ToInt32(data.Rows[i]["hardnes"]) < 600)
+                    {
+                        tCell_HV.ForeColor = Color.SaddleBrown;
+                    }
+                    else if (Convert.ToInt32(data.Rows[i]["hardnes"]) > 600 && Convert.ToInt32(data.Rows[i]["hardnes"]) < int.MaxValue)
+                    {
+                        tCell_HV.ForeColor = Color.Red;
+                    }
+                    row.Cells.Add(tCell_Class);
+                    row.Cells.Add(tCell_total);
+                    row.Cells.Add(tCell_Maxmum);
+                    row.Cells.Add(tCell_size_1);
+                    row.Cells.Add(tCell_size_2);
+                    row.Cells.Add(tCell_size_3);
+                    row.Cells.Add(tCell_size_4);
+                    row.Cells.Add(tCell_size_5);
+                    row.Cells.Add(tCell_size_6);
+                    row.Cells.Add(tCell_size_7);
+                    row.Cells.Add(tCell_size_8);
+                    row.Cells.Add(tCell_HV);
+                    xt_TCleannessA.Rows.Add(row);
+
+                    if (!string.IsNullOrEmpty(data.Rows[i]["c1"].ToString()))
+                    {
+                        c1_int = c1_int + Convert.ToInt32(data.Rows[i]["c1"]);
+                    }
+                    if (!string.IsNullOrEmpty(data.Rows[i]["c2"].ToString()))
+                    {
+                        c2_int = c2_int + Convert.ToInt32(data.Rows[i]["c2"]);
+                    }
+                    if (!string.IsNullOrEmpty(data.Rows[i]["c3"].ToString()))
+                    {
+                        c3_int = c3_int + Convert.ToInt32(data.Rows[i]["c3"]);
+                    }
+                    if (!string.IsNullOrEmpty(data.Rows[i]["c4"].ToString()))
+                    {
+                        c4_int = c4_int + Convert.ToInt32(data.Rows[i]["c4"]);
+                    }
+                    if (!string.IsNullOrEmpty(data.Rows[i]["c5"].ToString()))
+                    {
+                        c5_int = c5_int + Convert.ToInt32(data.Rows[i]["c5"]);
+                    }
+                    if (!string.IsNullOrEmpty(data.Rows[i]["c6"].ToString()))
+                    {
+                        c6_int = c6_int + Convert.ToInt32(data.Rows[i]["c6"]);
+                    }
+                    if (!string.IsNullOrEmpty(data.Rows[i]["c7"].ToString()))
+                    {
+                        c7_int = c7_int + Convert.ToInt32(data.Rows[i]["c7"]);
+                    }
+                    if (!string.IsNullOrEmpty(data.Rows[i]["c8"].ToString()))
+                    {
+                        c8_int = c8_int + Convert.ToInt32(data.Rows[i]["c8"]);
+                    }
+                    if (!string.IsNullOrEmpty(data.Rows[i]["total"].ToString()))
+                    {
+                        total_int = total_int + Convert.ToInt32(data.Rows[i]["total"]);
+                    }
+                    if (!string.IsNullOrEmpty(data.Rows[i]["maximum"].ToString()))
+                    {
+                        if (maximum_int < Convert.ToInt32(data.Rows[i]["maximum"]))
+                        {
+                            maximum_int = Convert.ToInt32(data.Rows[i]["maximum"]);
+                        }
+                    }
+                }
+            }
+        
+
+            xrTable5.Rows[0].Cells[1].Text = total_int.ToString();
+            xrTable5.Rows[0].Cells[2].Text = maximum_int.ToString();
+            xrTable5.Rows[0].Cells[3].Text = c1_int.ToString();
+            xrTable5.Rows[0].Cells[4].Text = c2_int.ToString();
+            xrTable5.Rows[0].Cells[5].Text = c3_int.ToString();
+            xrTable5.Rows[0].Cells[6].Text = c4_int.ToString();
+            xrTable5.Rows[0].Cells[7].Text = c5_int.ToString();
+            xrTable5.Rows[0].Cells[8].Text = c6_int.ToString();
+            xrTable5.Rows[0].Cells[9].Text = c7_int.ToString();
+            xrTable5.Rows[0].Cells[10].Text = c8_int.ToString();
+        }
+
+        private XRTable TCleannessATableStructure()
+        {
+            XRTable xR = new XRTable();
+            xR.Rows.Add(TCleannessAXRTableRow(DevExpress.XtraPrinting.TextAlignment.MiddleLeft));
+            xR.Rows.Add(TCleannessAXRTableRow(DevExpress.XtraPrinting.TextAlignment.MiddleRight));
+            return xR;
+        }
+        
+        private XRTableRow TCleannessAXRTableRow(DevExpress.XtraPrinting.TextAlignment Alignment)
+        {
+            XRTableRow row = new XRTableRow();
+            XRTableCell tCell_1 = new XRTableCell();
+            tCell_1.WidthF = 95.53f;
+            row.Cells.Add(tCell_1);
+            XRTableCell tCell_2 = new XRTableCell();
+            tCell_2.WidthF = 58.32f;
+            row.Cells.Add(tCell_2);
+            XRTableCell tCell_3 = new XRTableCell();
+            tCell_3.WidthF = 58.32f;
+            row.Cells.Add(tCell_3);
+            XRTableCell tCell_4 = new XRTableCell();
+            tCell_4.WidthF = 51.13f;
+            tCell_4.TextAlignment = Alignment;
+            row.Cells.Add(tCell_4);
+            XRTableCell tCell_5 = new XRTableCell();
+            tCell_5.WidthF = 51.13f;
+            tCell_5.TextAlignment = Alignment;
+            row.Cells.Add(tCell_5);
+            XRTableCell tCell_6 = new XRTableCell();
+            tCell_6.WidthF = 51.13f;
+            tCell_6.TextAlignment = Alignment;
+            row.Cells.Add(tCell_6);
+            XRTableCell tCell_7 = new XRTableCell();
+            tCell_7.WidthF = 51.13f;
+            tCell_7.TextAlignment = Alignment;
+            row.Cells.Add(tCell_7);
+            XRTableCell tCell_8 = new XRTableCell();
+            tCell_8.WidthF = 51.13f;
+            tCell_8.TextAlignment = Alignment;
+            row.Cells.Add(tCell_8);
+            XRTableCell tCell_9 = new XRTableCell();
+            tCell_9.WidthF = 51.13f;
+            tCell_9.TextAlignment = Alignment;
+            row.Cells.Add(tCell_9);
+            XRTableCell tCell_10 = new XRTableCell();
+            tCell_10.WidthF = 51.13f;
+            tCell_10.TextAlignment = Alignment;
+            row.Cells.Add(tCell_10);
+            XRTableCell tCell_11 = new XRTableCell();
+            tCell_11.WidthF = 51.13f;
+            tCell_11.TextAlignment = Alignment;
+            row.Cells.Add(tCell_11);
+            XRTableCell tCell_12 = new XRTableCell();
+            tCell_12.WidthF = 66.81f;
+            row.Cells.Add(tCell_12);
+            return row;
+        }
+
+        private XRTableCell TCCleannessTableStyle(float  widthF, string str, DevExpress.XtraPrinting.BorderSide border,int iIS,int minSize,bool bl)
+        {
+            XRTableCell tCell = new XRTableCell();
+            tCell.WidthF = widthF;
+            string strText = str;
+            
+            if (bl)
+            {
+                if (string.IsNullOrEmpty(str))
+                {
+                    strText = "0";
+                }
+                if (iIS == 1)
+                {
+                    if (minSize >= 400)
+                        tCell.BackColor = Color.PeachPuff;
+                }
+                else
+                {
+                    if (minSize >= 600)
+                        tCell.BackColor = Color.PeachPuff;
+                }
+            }
+            tCell.Text = strText;
+            tCell.Borders = border;
+
+            return tCell;
+        }
+
         /// <summary>
         /// 颗粒尺寸分析表
         /// </summary>
@@ -548,6 +924,8 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
         /// <param name="a_pieSeries">小分类</param>
         public void setParticleSizeTable(bool a_pieSeriesClass, bool a_pieSeries, bool isStacking)
         {
+            
+
             xrPageBreak1.Visible = true;
             ParticleAnalysis particleList = new ParticleAnalysis();
             List<DataTable> CompositeData = particleList.GetClassificationConsolidationTable(basicData);

+ 1 - 0
OTSIncAReportApp/OTSIncAReportApp.csproj

@@ -498,6 +498,7 @@
     </Compile>
     <Compile Include="1-UI\OTSReportExport\DataIntegration\BasicData.cs" />
     <Compile Include="1-UI\OTSReportExport\DataIntegration\ImageProcessor.cs" />
+    <Compile Include="1-UI\OTSReportExport\DataIntegration\TCCleannessA.cs" />
     <Compile Include="1-UI\Purity.cs">
       <SubType>Form</SubType>
     </Compile>