Selaa lähdekoodia

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

GSP 1 kuukausi sitten
vanhempi
commit
415c5d17c6

+ 1 - 1
Bin/x64/Debug/Resources/XMLData/AppResource_ZH.xml

@@ -467,7 +467,7 @@
 	<Control name="xrLabel_inca_pic_subdivision" text="夹杂物细分类比" />
 
 	<Control name="dev_dimensiontable_2" text="尺寸计算基于:" />
-	<Control name="dev_dimensiontable" text="颗粒尺寸分析结果" />
+	<Control name="dev_dimensiontable" text="颗粒尺寸分析结果 ISO16232/VDA-19 Results" />
 	<Control name="dev_classify" text="分类" />
 	<Control name="dev_subdivision" text="二级分类" />
 	<Control name="dev_quantity" text="数量" />

+ 0 - 5
OTSIncAMeasureApp/4-OTSSamplespaceGraphicsPanel/OTSSamplespaceWindow.cs

@@ -255,11 +255,6 @@ namespace OTSMeasureApp
                         {
                             setSEMDATAMParameterWindows.Activate();
                         }
-
-                        if (!SetSEMDATAMParameter(SemMag, dDistance, bri, contra))
-                        {
-                            log.Error("Failed SetSemData:--Mag:" + SemMag + "--Distance:" + dDistance + "--");
-                        }
                     }
                     break;
                 case "ShootBSEPicture":

+ 1 - 0
OTSIncAMeasureApp/OTSIncAMeasureAppForm.cs

@@ -550,6 +550,7 @@ namespace OTSMeasureApp
                 log.Info("(OTSIncAMeasureAppForm.rbNew_CreateWorkspace_Click)  m_DataMgrFun.CreateNewFile() Cancel !");
                 return;
             }
+            m_ProjRstData = m_ProjParam.GetResultData();
             SetAllRibbonButnStatus(true);
             //清除TREEVIEW和GRID上的显示的已经保存的样品信息
             m_SolutionWindows.m_TreeViewBase.DeleteAllTreeNode();

+ 77 - 64
OTSIncAReportApp/1-UI/FormStandardLibraryInformation.Designer.cs

@@ -28,69 +28,81 @@
         /// </summary>
         private void InitializeComponent()
         {
-            this.panel1 = new System.Windows.Forms.Panel();
-            this.listView1 = new System.Windows.Forms.ListView();
-            this.label1 = new System.Windows.Forms.Label();
-            this.label2 = new System.Windows.Forms.Label();
-            this.panel1.SuspendLayout();
-            this.SuspendLayout();
-            // 
-            // panel1
-            // 
-            this.panel1.AutoScroll = true;
-            this.panel1.Controls.Add(this.label2);
-            this.panel1.Controls.Add(this.label1);
-            this.panel1.Controls.Add(this.listView1);
-            this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.panel1.Location = new System.Drawing.Point(0, 0);
-            this.panel1.Name = "panel1";
-            this.panel1.Size = new System.Drawing.Size(284, 450);
-            this.panel1.TabIndex = 0;
-            // 
-            // listView1
-            // 
-            this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.listView1.HideSelection = false;
-            this.listView1.Location = new System.Drawing.Point(0, 0);
-            this.listView1.Name = "listView1";
-            this.listView1.Size = new System.Drawing.Size(284, 450);
-            this.listView1.TabIndex = 0;
-            this.listView1.UseCompatibleStateImageBehavior = false;
-            // 
-            // label1
-            // 
-            this.label1.AutoSize = true;
-            this.label1.BackColor = System.Drawing.Color.Transparent;
-            this.label1.Location = new System.Drawing.Point(58, 9);
-            this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(41, 12);
-            this.label1.TabIndex = 1;
-            this.label1.Text = "分类名";
-            // 
-            // label2
-            // 
-            this.label2.AutoSize = true;
-            this.label2.BackColor = System.Drawing.Color.Transparent;
-            this.label2.Location = new System.Drawing.Point(201, 9);
-            this.label2.Name = "label2";
-            this.label2.Size = new System.Drawing.Size(29, 12);
-            this.label2.TabIndex = 2;
-            this.label2.Text = "颜色";
-            // 
-            // FormStandardLibraryInformation
-            // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(284, 450);
-            this.Controls.Add(this.panel1);
-            this.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.Name = "FormStandardLibraryInformation";
-            this.Text = "标准库信息";
-            this.Activated += new System.EventHandler(this.FormStandardLibraryInformation_Activated);
-            this.Load += new System.EventHandler(this.FormStandardLibraryInformation_Load);
-            this.panel1.ResumeLayout(false);
-            this.panel1.PerformLayout();
-            this.ResumeLayout(false);
+			this.panel1 = new System.Windows.Forms.Panel();
+			this.label2 = new System.Windows.Forms.Label();
+			this.label1 = new System.Windows.Forms.Label();
+			this.listView1 = new System.Windows.Forms.ListView();
+			this.label3 = new System.Windows.Forms.Label();
+			this.panel1.SuspendLayout();
+			this.SuspendLayout();
+			// 
+			// panel1
+			// 
+			this.panel1.AutoScroll = true;
+			this.panel1.Controls.Add(this.label3);
+			this.panel1.Controls.Add(this.label2);
+			this.panel1.Controls.Add(this.label1);
+			this.panel1.Controls.Add(this.listView1);
+			this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
+			this.panel1.Location = new System.Drawing.Point(0, 0);
+			this.panel1.Name = "panel1";
+			this.panel1.Size = new System.Drawing.Size(284, 450);
+			this.panel1.TabIndex = 0;
+			// 
+			// label2
+			// 
+			this.label2.AutoSize = true;
+			this.label2.BackColor = System.Drawing.Color.Transparent;
+			this.label2.Location = new System.Drawing.Point(243, 9);
+			this.label2.Name = "label2";
+			this.label2.Size = new System.Drawing.Size(29, 12);
+			this.label2.TabIndex = 2;
+			this.label2.Text = "颜色";
+			// 
+			// label1
+			// 
+			this.label1.AutoSize = true;
+			this.label1.BackColor = System.Drawing.Color.Transparent;
+			this.label1.Location = new System.Drawing.Point(137, 9);
+			this.label1.Name = "label1";
+			this.label1.Size = new System.Drawing.Size(41, 12);
+			this.label1.TabIndex = 1;
+			this.label1.Text = "分类名";
+			// 
+			// listView1
+			// 
+			this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
+			this.listView1.HideSelection = false;
+			this.listView1.Location = new System.Drawing.Point(0, 0);
+			this.listView1.Name = "listView1";
+			this.listView1.Size = new System.Drawing.Size(284, 450);
+			this.listView1.TabIndex = 0;
+			this.listView1.UseCompatibleStateImageBehavior = false;
+			// 
+			// label3
+			// 
+			this.label3.AutoSize = true;
+			this.label3.BackColor = System.Drawing.Color.Transparent;
+			this.label3.Location = new System.Drawing.Point(33, 9);
+			this.label3.Name = "label3";
+			this.label3.Size = new System.Drawing.Size(41, 12);
+			this.label3.TabIndex = 3;
+			this.label3.Text = "分组名";
+			// 
+			// FormStandardLibraryInformation
+			// 
+			this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+			this.ClientSize = new System.Drawing.Size(284, 450);
+			this.Controls.Add(this.panel1);
+			this.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+			this.Name = "FormStandardLibraryInformation";
+			this.Text = "标准库信息";
+			this.Activated += new System.EventHandler(this.FormStandardLibraryInformation_Activated);
+			this.Load += new System.EventHandler(this.FormStandardLibraryInformation_Load);
+			this.panel1.ResumeLayout(false);
+			this.panel1.PerformLayout();
+			this.ResumeLayout(false);
 
         }
 
@@ -100,5 +112,6 @@
         private System.Windows.Forms.ListView listView1;
         private System.Windows.Forms.Label label2;
         private System.Windows.Forms.Label label1;
-    }
+		private System.Windows.Forms.Label label3;
+	}
 }

+ 27 - 11
OTSIncAReportApp/1-UI/FormStandardLibraryInformation.cs

@@ -1,4 +1,5 @@
 using DevExpress.Utils;
+using DevExpress.XtraDiagram.Bars;
 using OTS.WinFormsUI.Docking;
 using OTSCommon.DBOperate;
 using OTSIncAReportApp.OTSRstMgrFunction;
@@ -40,14 +41,16 @@ namespace OTSIncAReportApp._1_UI
         {
             label1.Text = " ";
             label2.Text = " ";
-            // 设置ListView为详细视图
-            listView1.View = View.Details;
+			label3.Text = " ";
+			// 设置ListView为详细视图
+			listView1.View = View.Details;
             listView1.FullRowSelect = true; // 可选,设置是否选择整行
             listView1.GridLines = true; // 可选,设置是否显示网格线
             listView1.Columns.Clear();
-            listView1.Columns.Add(" ", 170, HorizontalAlignment.Left);
-            listView1.Columns.Add(" ", 100, HorizontalAlignment.Left);
-            listView1.Items.Clear();
+            listView1.Columns.Add(" ", 90, HorizontalAlignment.Left);
+            listView1.Columns.Add(" ", 130, HorizontalAlignment.Left);
+			listView1.Columns.Add(" ", 70, HorizontalAlignment.Left);
+			listView1.Items.Clear();
             DataLoad();
         }
 
@@ -99,8 +102,10 @@ namespace OTSIncAReportApp._1_UI
                 {
                     listView1.Items.Clear();
                     DataTable dt_stl = new DataTable();
+                    DataTable Dt_grouping = new DataTable();
 
-                    if (result[0] == "3")
+
+					if (result[0] == "3")
                     {
 						SqLiteHelper sh = new SqLiteHelper("data source='" + LibraryName[i][1] + "'");
 
@@ -132,14 +137,24 @@ namespace OTSIncAReportApp._1_UI
 						}
 
 						dt_stl = sh.ExecuteQuery("select * from ClassifySTD");
+						Dt_grouping= sh.ExecuteQuery("select * from STDGroups");
 						m_data = dt_stl.Copy();
 						for (int a = 0; a < dt_stl.Rows.Count; a++)
 						{
-							ListViewItem item1 = new ListViewItem(dt_stl.Rows[a]["StrName"].ToString());
+                            string grouping = "";
+                            for (int b = 0; b < Dt_grouping.Rows.Count; b++)
+                            {
+                                if (dt_stl.Rows[a]["GroupId"].ToString() == Dt_grouping.Rows[b]["id"].ToString())
+                                {
+                                    grouping = Dt_grouping.Rows[b]["name"].ToString();
+								}
+                            }
+							ListViewItem item1 = new ListViewItem(grouping/*,dt_stl.Rows[a]["StrName"].ToString()*/);
+                            item1.SubItems.Add(dt_stl.Rows[a]["StrName"].ToString());
 							item1.SubItems.Add(dt_stl.Rows[a]["Color"].ToString());
 
 							item1.UseItemStyleForSubItems = false; // 允许为每个 SubItem 设置不同的样式
-							item1.SubItems[1].BackColor = Color.LightBlue; // 这将不会生效,除非我们处理 OwnerDraw
+							item1.SubItems[2].BackColor = Color.LightBlue; // 这将不会生效,除非我们处理 OwnerDraw
 							listView1.Items.Add(item1);
 						}
 						break;
@@ -150,8 +165,9 @@ namespace OTSIncAReportApp._1_UI
             }
             label1.Text = "分类名";
             label2.Text = "颜色";
-            // 由于 ListViewItem 不直接支持为 SubItem 设置背景色,我们需要启用 OwnerDrawFixed 模式
-            listView1.OwnerDraw = true;
+			label3.Text = "分组名";
+			// 由于 ListViewItem 不直接支持为 SubItem 设置背景色,我们需要启用 OwnerDrawFixed 模式
+			listView1.OwnerDraw = true;
             listView1.DrawItem += new DrawListViewItemEventHandler(ListView1_DrawItem);
             listView1.DrawSubItem += new DrawListViewSubItemEventHandler(ListView1_DrawSubItem);
 
@@ -185,7 +201,7 @@ namespace OTSIncAReportApp._1_UI
         private void ListView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
         {
             // 检查是否是我们要自定义颜色的那一列
-            if (e.ColumnIndex == 1) // 第二列的索引是 1
+            if (e.ColumnIndex == 2) // 第二列的索引是 1
             {
                 Color color = ColorTranslator.FromHtml(e.SubItem.Text);
 

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

@@ -33,6 +33,8 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
         private bool IsShereAClassificationGroup = false;
         private ResultFile resfile;
         private string FilePath = "";
+
+        private string VDA19String = "5,15,25,50,100,150,200,400,600,1000";
         /// <summary>
         /// 获取粒级表
         /// </summary>
@@ -95,7 +97,13 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
             string path1 = m_otsreport_export.m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFileFolder +
                  m_otsreport_export.m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile;
             DataSet ds = OTSIncAReportApp.DataOperation.DataAccess.XMLoperate.GetXml(path1);
-            string sizestr = ds.Tables[0].Rows[0]["Sizes"].ToString();
+
+            string sizestr = "";
+
+            if (m_mbszclass.M_VDA19.IsVDA19)
+                sizestr = VDA19String;
+            else
+                sizestr = ds.Tables[0].Rows[0]["Sizes"].ToString();
 
             bool blBelow7 = false;
 

+ 16 - 4
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/ElementalAnalysis.cs

@@ -175,7 +175,8 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 						}
 						else
 						{
-							double ColVal = Convert.ToDouble(dlData / datotal * 100);
+							double ColVal = Convert.ToDouble(dlData / Convert.ToDouble(data[i].Rows[a]["Area"]));
+							//double ColVal = Convert.ToDouble(dlData / datotal * 100);
 							dr[data[0].Columns[j].ColumnName] = Math.Round(ColVal, 2);
 						}
 							//dr[data[0].Columns[j].ColumnName] = Math.Round(dlData, 2);
@@ -444,7 +445,9 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 					DataTable ClassificationDetails = fielddata.GetAreaByIncA(AllAnalysisDetails[i].Rows[a]["TypeId"].ToString(), "");//获取单个分类的元素信息
 					DataRow dr2 = data.NewRow();
 
-                    if (ClassificationDetails.Rows.Count == 0)
+					double arar = Convert.ToDouble(AllAnalysisDetails[i].Rows[a]["ar"]);
+
+					if (ClassificationDetails.Rows.Count == 0)
                     {
                         for (int j = 4; j < data.Columns.Count; j++)
                         {
@@ -455,8 +458,17 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 
 					foreach (DataRow dr in ClassificationDetails.Rows)
 					{
-						double doe = Convert.ToDouble(dr["pc"]);
-						dr2[dr["Name"].ToString()] = doe;
+						if (dr["pc"].ToString() != "")
+						{
+							double p = Math.Round(Convert.ToDouble(dr["pc"]) / arar, 2);
+							double doe = p;
+							dr2[dr["Name"].ToString()] = doe;
+						}
+						else
+						{
+							dr2[dr["Name"].ToString()] = 0;
+						}
+						
 					}
 					data.Rows.Add(dr2);
 				}

+ 17 - 6
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/ParticleAnalysis.cs

@@ -158,16 +158,19 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 
                 DataRow row = Dt.NewRow();
                 row["Name"] = "";
-                row["total"] = CalculationTableColumn(DBData[i], "con");
+                //row["total"] = CalculationTableColumn(DBData[i], "con");
 				row["TypeId"] = "";
                 row["Class"] = ClassName[i];
                 int ie = 0;
+				int in_ct = 0;
                 for (int a = 4; a < Dt.Columns.Count; a++)
                 {
                     row[a] = CalculationTableColumn(DBData[i], DtName.Rows[0][ie].ToString());
-                    ie++;
+					in_ct = in_ct + Convert.ToInt32(CalculationTableColumn(DBData[i], DtName.Rows[0][ie].ToString()));
+					ie++;
 				}
-                Dt.Rows.Add(row);
+				row["total"] = in_ct;
+				Dt.Rows.Add(row);
 
 				for (int a = 0; a < DBData[i].Rows.Count; a++)
                 {
@@ -181,20 +184,28 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 
 					DataRow row1= Dt.NewRow();
                     row1["Name"] = DBData[i].Rows[a]["TypeName"];
-                    row1["total"] = DBData[i].Rows[a]["con"];
+                    //row1["total"] = DBData[i].Rows[a]["con"];
 					row1["TypeId"] = DBData[i].Rows[a]["TypeId"];
 					//row1["Class"] = DBData[i].Rows[a]["Class"];
 					row1["Class"] = "";
 
 
 					int ii = 4;
-                    for (int j = 7; j < DBData[i].Columns.Count; j++)
+
+					int in_count = 0;
+
+					for (int j = 7; j < DBData[i].Columns.Count; j++)
                     {
 						row1[ii]= DBData[i].Rows[a][j];
 						dataRow1[ii] = DBData[i].Rows[a][j];
+
+						in_count = in_count + Convert.ToInt32(DBData[i].Rows[a][j]);
 						ii++;
 					}
-                    Dt.Rows.Add(row1);
+
+					row1["total"] = in_count;
+
+					Dt.Rows.Add(row1);
                     statisticalQuantity.Rows.Add(dataRow1);
 				}
             }

+ 108 - 104
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/ParticleList.cs

@@ -157,113 +157,117 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 				#region 插入颗粒部份
 				DataTable FilteredData = p1Data.Clone();
 				ImageProcessor imageProcessor = new ImageProcessor();
-				for (int i_row = 0; i_row < p1Data.Rows.Count; i_row++)
-				{
-					if (p1Data.Rows[i_row].ItemArray[24].ToString() != "Not Identified")
-					{
-						//获取颗粒的fieldid,和particleid
-						string str_fieldid = p1Data.Rows[i_row]["fieldid"].ToString();
-						string str_particleid = p1Data.Rows[i_row]["particleid"].ToString();
-						string str_typeid = p1Data.Rows[i_row]["TypeId"].ToString();
-						string str_typename = p1Data.Rows[i_row]["TypeName"].ToString();
-						string str_element = p1Data.Rows[i_row]["Element"].ToString();
-						//获取原始颗粒图像
-						//Bitmap bp_particle = new Bitmap(1, 1);
-						string str_path = str_resultPath + "\\FIELD_FILES\\";
-						string str_imagePath = str_path + "Field" + str_fieldid.ToString() + ".bmp";
-						if (str_fieldid == "-1")
-							continue;
-						if (serialNumber > m_mbszclass.M_KLLBXX.list_int_kllb_number)
-							continue;
-						Rectangle rectangle = new Rectangle()
-                        { X = Convert.ToInt32(p1Data.Rows[i_row]["RectLeft"]), Y = Convert.ToInt32(p1Data.Rows[i_row]["RectTop"]), Width = Convert.ToInt32(p1Data.Rows[i_row]["RectWidth"]), Height = Convert.ToInt32(p1Data.Rows[i_row]["RectHeight"]) };
-						Bitmap bp_field = fielddata.ReadImageFile(str_imagePath);
-						Bitmap bp_particle = fielddata.GetBitmapByParticle(bp_field, rectangle);
-						bp_particle = imageProcessor.ResizeImageWithPadding(bp_particle, 120, 120, System.Drawing.Color.White);
-						bp_particle.Tag = new List<string>() { p1Data.Rows[i_row]["FieldId"].ToString(), p1Data.Rows[i_row]["ParticleId"].ToString(), p1Data.Rows[i_row]["TypeId"].ToString() };
-						//获取该颗粒的xray能谱图像
-						DataTable DT_XR = ExportXRay(str_fieldid, str_particleid, fielddata);
-						//ElementIcons.Add(DT_XR);
-						System.Drawing.Bitmap bp_xraybp = ExportXRayBitmap(str_fieldid,
-								str_particleid, Convert.ToInt32(str_typeid), str_typename, fielddata);
-						Bitmap ls_xraybpnew = OTSIncAReportGraph.Class.DrawFunction.KiResizeImage(bp_xraybp, 700, 115);//能谱图处理
-						DataTable SegmentData = fielddata.GetSegment();
-						Bitmap BinaryParticles = ImageSplicer.ParticleBinaryDiagram(SegmentData, Convert.ToInt32(str_fieldid), Convert.ToInt32(str_particleid));
-						Bitmap BP = imageProcessor.ResizeImageWithPadding(BinaryParticles, 120, 120, System.Drawing.Color.White);
-						//获取该颗粒的二次放大处理图像
-						//Bitmap ls_processbitmap = OTSIncAReportGraph.Class.DrawFunction.GetReZoomBitmap(bp_particle);// (Bitmap)bp_particle.Clone();//待完善
-						//再将图像转成二进制流-------------------------------------------------------------------
-						//原图
-						MemoryStream newms_p1 = new MemoryStream();
-						bp_particle.Save(newms_p1, System.Drawing.Imaging.ImageFormat.Bmp);
-						//二次放大图
-						MemoryStream newms_p2 = new MemoryStream();
-						BP.Save(newms_p2, System.Drawing.Imaging.ImageFormat.Bmp);
-						//能谱图
-						MemoryStream newms_p3 = new MemoryStream();
-						ls_xraybpnew.Save(newms_p3, System.Drawing.Imaging.ImageFormat.Bmp);
-						//---------------------------------------------------------------------------------------                   
-						DataRow dr = DT_Largest20.NewRow();
-						dr["p1"] = bp_particle;
-						dr["p2"] = BP;
-						dr["p3"] = ls_xraybpnew;
-
-
-						newms_p1.Dispose();
-						newms_p2.Dispose();
-						newms_p3.Dispose();
-						dr["pid"] = serialNumber++.ToString();
-						//颗粒列表列中第一个可选参数
-						dr["Size"] = datatable_data(p1Data, i_row, m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1);
-						//这个参数没有用
-						dr["Width"] = p1Data.Rows[i_row]["rectwidth"].ToString();
-						//颗粒列表列中第二个可选参数
-						dr["DMAX"] = datatable_data(p1Data, i_row, m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p2);
-						//颗粒列表列中第三个可选参数
-						dr["DMIN"] = datatable_data(p1Data, i_row, m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p3);
-						//颗粒列表列中显示分类不可以选择
-						dr["Class"] = p1Data.Rows[i_row]["typename"].ToString();
-
-						dr["GroupName"] = p1Data.Rows[i_row]["GroupName"].ToString();
-						GetMaxElementFromDataTable(p1Data, i_row, out List<string> list_max_elementname, out List<double> list_max_elementvale);
-						double colVal = 0;
-						for (int a = 0; a < list_max_elementvale.Count; a++)
+                for (int i_row = 0; i_row < p1Data.Rows.Count; i_row++)
+                {
+                    if (p1Data.Rows[i_row]["Element"].ToString() != "")
+                    {
+						if (p1Data.Rows[i_row].ItemArray[24].ToString() != "Not Identified")
 						{
-							colVal = colVal + Convert.ToDouble(list_max_elementvale[a]);
+							//获取颗粒的fieldid,和particleid
+							string str_fieldid = p1Data.Rows[i_row]["fieldid"].ToString();
+							string str_particleid = p1Data.Rows[i_row]["particleid"].ToString();
+							string str_typeid = p1Data.Rows[i_row]["TypeId"].ToString();
+							string str_typename = p1Data.Rows[i_row]["TypeName"].ToString();
+							string str_element = p1Data.Rows[i_row]["Element"].ToString();
+							//获取原始颗粒图像
+							//Bitmap bp_particle = new Bitmap(1, 1);
+							string str_path = str_resultPath + "\\FIELD_FILES\\";
+							string str_imagePath = str_path + "Field" + str_fieldid.ToString() + ".bmp";
+							if (str_fieldid == "-1")
+								continue;
+							if (serialNumber > m_mbszclass.M_KLLBXX.list_int_kllb_number)
+								continue;
+							Rectangle rectangle = new Rectangle()
+							{ X = Convert.ToInt32(p1Data.Rows[i_row]["RectLeft"]), Y = Convert.ToInt32(p1Data.Rows[i_row]["RectTop"]), Width = Convert.ToInt32(p1Data.Rows[i_row]["RectWidth"]), Height = Convert.ToInt32(p1Data.Rows[i_row]["RectHeight"]) };
+							Bitmap bp_field = fielddata.ReadImageFile(str_imagePath);
+							Bitmap bp_particle = fielddata.GetBitmapByParticle(bp_field, rectangle);
+							bp_particle = imageProcessor.ResizeImageWithPadding(bp_particle, 120, 120, System.Drawing.Color.White);
+							bp_particle.Tag = new List<string>() { p1Data.Rows[i_row]["FieldId"].ToString(), p1Data.Rows[i_row]["ParticleId"].ToString(), p1Data.Rows[i_row]["TypeId"].ToString() };
+							//获取该颗粒的xray能谱图像
+							DataTable DT_XR = ExportXRay(str_fieldid, str_particleid, fielddata);
+							//ElementIcons.Add(DT_XR);
+							System.Drawing.Bitmap bp_xraybp = ExportXRayBitmap(str_fieldid,
+									str_particleid, Convert.ToInt32(str_typeid), str_typename, fielddata);
+							Bitmap ls_xraybpnew = OTSIncAReportGraph.Class.DrawFunction.KiResizeImage(bp_xraybp, 700, 115);//能谱图处理
+							DataTable SegmentData = fielddata.GetSegment();
+							Bitmap BinaryParticles = ImageSplicer.ParticleBinaryDiagram(SegmentData, Convert.ToInt32(str_fieldid), Convert.ToInt32(str_particleid));
+							Bitmap BP = imageProcessor.ResizeImageWithPadding(BinaryParticles, 120, 120, System.Drawing.Color.White);
+							//获取该颗粒的二次放大处理图像
+							//Bitmap ls_processbitmap = OTSIncAReportGraph.Class.DrawFunction.GetReZoomBitmap(bp_particle);// (Bitmap)bp_particle.Clone();//待完善
+							//再将图像转成二进制流-------------------------------------------------------------------
+							//原图
+							MemoryStream newms_p1 = new MemoryStream();
+							bp_particle.Save(newms_p1, System.Drawing.Imaging.ImageFormat.Bmp);
+							//二次放大图
+							MemoryStream newms_p2 = new MemoryStream();
+							BP.Save(newms_p2, System.Drawing.Imaging.ImageFormat.Bmp);
+							//能谱图
+							MemoryStream newms_p3 = new MemoryStream();
+							ls_xraybpnew.Save(newms_p3, System.Drawing.Imaging.ImageFormat.Bmp);
+							//---------------------------------------------------------------------------------------                   
+							DataRow dr = DT_Largest20.NewRow();
+							dr["p1"] = bp_particle;
+							dr["p2"] = BP;
+							dr["p3"] = ls_xraybpnew;
+
+
+							newms_p1.Dispose();
+							newms_p2.Dispose();
+							newms_p3.Dispose();
+							dr["pid"] = serialNumber++.ToString();
+							//颗粒列表列中第一个可选参数
+							dr["Size"] = datatable_data(p1Data, i_row, m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1);
+							//这个参数没有用
+							dr["Width"] = p1Data.Rows[i_row]["rectwidth"].ToString();
+							//颗粒列表列中第二个可选参数
+							dr["DMAX"] = datatable_data(p1Data, i_row, m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p2);
+							//颗粒列表列中第三个可选参数
+							dr["DMIN"] = datatable_data(p1Data, i_row, m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p3);
+							//颗粒列表列中显示分类不可以选择
+							dr["Class"] = p1Data.Rows[i_row]["typename"].ToString();
+
+							dr["GroupName"] = p1Data.Rows[i_row]["GroupName"].ToString();
+							GetMaxElementFromDataTable(p1Data, i_row, out List<string> list_max_elementname, out List<double> list_max_elementvale);
+							double colVal = 0;
+							for (int a = 0; a < list_max_elementvale.Count; a++)
+							{
+								colVal = colVal + Convert.ToDouble(list_max_elementvale[a]);
+							}
+							//元素1
+							dr["ColName1"] = list_max_elementname[0];
+							dr["ColVal1"] = ParameterNormalization(colVal, list_max_elementvale[0]);
+							//元素2
+							dr["ColName2"] = list_max_elementname[1];
+							dr["ColVal2"] = ParameterNormalization(colVal, list_max_elementvale[1]);
+							//元素3
+							dr["ColName3"] = list_max_elementname[2];
+							dr["ColVal3"] = ParameterNormalization(colVal, list_max_elementvale[2]);
+							//元素4
+							dr["ColName4"] = list_max_elementname[3];
+							dr["ColVal4"] = ParameterNormalization(colVal, list_max_elementvale[3]);
+							//元素5
+							dr["ColName5"] = list_max_elementname[4];
+							dr["ColVal5"] = ParameterNormalization(colVal, list_max_elementvale[4]);
+							//元素6
+							dr["ColName6"] = list_max_elementname[5];
+							dr["ColVal6"] = ParameterNormalization(colVal, list_max_elementvale[5]);
+							//元素7
+							dr["ColName7"] = list_max_elementname[6];
+							dr["ColVal7"] = ParameterNormalization(colVal, list_max_elementvale[6]);
+							//元素8
+							dr["ColName8"] = list_max_elementname[7];
+							dr["ColVal8"] = ParameterNormalization(colVal, list_max_elementvale[7]);
+							//元素6
+							dr["ColName9"] = list_max_elementname[8];
+							dr["ColVal9"] = ParameterNormalization(colVal, list_max_elementvale[8]);
+							//元素6
+							dr["ColName9"] = list_max_elementname[9];
+							dr["ColVal9"] = ParameterNormalization(colVal, list_max_elementvale[9]);
+							DT_Largest20.Rows.Add(dr);
+							FilteredData.Rows.Add(p1Data.Rows[i_row].ItemArray);
 						}
-						//元素1
-						dr["ColName1"] = list_max_elementname[0];
-						dr["ColVal1"] = ParameterNormalization(colVal, list_max_elementvale[0]);
-						//元素2
-						dr["ColName2"] = list_max_elementname[1];
-						dr["ColVal2"] = ParameterNormalization(colVal, list_max_elementvale[1]);
-						//元素3
-						dr["ColName3"] = list_max_elementname[2];
-						dr["ColVal3"] = ParameterNormalization(colVal, list_max_elementvale[2]);
-						//元素4
-						dr["ColName4"] = list_max_elementname[3];
-						dr["ColVal4"] = ParameterNormalization(colVal, list_max_elementvale[3]);
-						//元素5
-						dr["ColName5"] = list_max_elementname[4];
-						dr["ColVal5"] = ParameterNormalization(colVal, list_max_elementvale[4]);
-						//元素6
-						dr["ColName6"] = list_max_elementname[5];
-						dr["ColVal6"] = ParameterNormalization(colVal, list_max_elementvale[5]);
-						//元素7
-						dr["ColName7"] = list_max_elementname[6];
-						dr["ColVal7"] = ParameterNormalization(colVal, list_max_elementvale[6]);
-						//元素8
-						dr["ColName8"] = list_max_elementname[7];
-						dr["ColVal8"] = ParameterNormalization(colVal, list_max_elementvale[7]);
-						//元素6
-						dr["ColName9"] = list_max_elementname[8];
-						dr["ColVal9"] = ParameterNormalization(colVal, list_max_elementvale[8]);
-						//元素6
-						dr["ColName9"] = list_max_elementname[9];
-						dr["ColVal9"] = ParameterNormalization(colVal, list_max_elementvale[9]);
-						DT_Largest20.Rows.Add(dr);
-						FilteredData.Rows.Add(p1Data.Rows[i_row].ItemArray);
 					}
+			
 				}
                 #endregion
                 OutDt.Add(DT_Largest20);

+ 0 - 20
OTSIncAReportApp/1-UI/OTSReportExport/OTSReport_Export.cs

@@ -793,26 +793,6 @@ 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

+ 81 - 0
OTSIncAReportApp/1-UI/OTSReportExport/Template/CreationOfInclusionAreaTable.cs

@@ -0,0 +1,81 @@
+using DevExpress.XtraReports.UI;
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OTSIncAReportApp._1_UI.OTSReportExport.Template
+{
+	/// <summary>
+	/// 夹杂物面积比表
+	/// </summary>
+	internal class CreationOfInclusionAreaTable
+	{
+		public  XRTable add_IncaDormS()
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			Template_Rows1_Cell_1.WidthF = 668F;
+			Template_Rows1_Cell_1.BackColor = Color.DarkGray;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template.Rows.Add(Template_Rows_1);
+
+			XRTableRow Template_Rows_2 = new XRTableRow();
+			XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_5 = new XRTableCell();
+			Template_Rows2_Cell_1.WidthF = 133.6f;
+			Template_Rows2_Cell_2.WidthF = 133.6f;
+			Template_Rows2_Cell_3.WidthF = 133.6f;
+			Template_Rows2_Cell_4.WidthF = 133.6f;
+			Template_Rows2_Cell_5.WidthF = 133.6f;
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_2);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_3);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_4);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_5);
+			Template.Rows.Add(Template_Rows_2);
+			Template.WidthF = 668f;
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+			
+			return Template;
+		}
+
+		public XRTable add_IncaDorm()
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			Template_Rows1_Cell_1.WidthF = 668F;
+			Template_Rows1_Cell_1.BackColor = Color.DarkGray;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template.Rows.Add(Template_Rows_1);
+
+			XRTableRow Template_Rows_2 = new XRTableRow();
+			XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_4 = new XRTableCell();
+			Template_Rows2_Cell_1.WidthF = 133.6f;
+			Template_Rows2_Cell_2.WidthF = 133.6f;
+			Template_Rows2_Cell_3.WidthF = 133.6f;
+			Template_Rows2_Cell_4.WidthF = 133.6f;
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_2);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_3);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_4);
+			Template.Rows.Add(Template_Rows_2);
+			Template.WidthF = 668f;
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+		
+			return Template;
+		}
+	}
+}

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 270 - 797
OTSIncAReportApp/1-UI/OTSReportExport/Template/DataTemplate.cs


+ 151 - 0
OTSIncAReportApp/1-UI/OTSReportExport/Template/ElementAnalysisTableCreation.cs

@@ -0,0 +1,151 @@
+using DevExpress.XtraReports.UI;
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OTSIncAReportApp._1_UI.OTSReportExport.Template
+{
+	/// <summary>
+	/// 元素分析表创建类
+	/// </summary>
+	internal class ElementAnalysisTableCreation
+	{
+		/// <summary>
+		/// 元素分析有大分类
+		/// </summary>
+		/// <returns></returns>
+		public XRTable add_ElementListS()
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			Template_Rows1_Cell_1.WidthF = 688F;
+			Template_Rows1_Cell_1.BackColor = Color.DarkGray;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template.Rows.Add(Template_Rows_1);
+
+			XRTableRow Template_Rows_2 = new XRTableRow();
+			XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
+			Template_Rows2_Cell_1.WidthF = 688f;
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
+			Template.Rows.Add(Template_Rows_2);
+
+			XRTableRow Template_Rows_3 = new XRTableRow();
+			XRTableCell Template_Rows3_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_10 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_11 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_12 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_13 = new XRTableCell();
+			Template_Rows3_Cell_1.WidthF = 69f;
+			Template_Rows3_Cell_2.WidthF = 69f;
+			Template_Rows3_Cell_3.WidthF = 50f;
+			Template_Rows3_Cell_4.WidthF = 50f;
+			Template_Rows3_Cell_5.WidthF = 50f;
+			Template_Rows3_Cell_6.WidthF = 50f;
+			Template_Rows3_Cell_7.WidthF = 50f;
+			Template_Rows3_Cell_8.WidthF = 50f;
+			Template_Rows3_Cell_9.WidthF = 50f;
+			Template_Rows3_Cell_10.WidthF = 50f;
+			Template_Rows3_Cell_11.WidthF = 50f;
+			Template_Rows3_Cell_12.WidthF = 50f;
+			Template_Rows3_Cell_13.WidthF = 50f;
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_1);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_2);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_3);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_4);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_5);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_6);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_7);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_8);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_9);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_10);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_11);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_12);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_13);
+			Template.Rows.Add(Template_Rows_3);
+			Template.WidthF = 668f;
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+			Template.Rows[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+
+			return Template;
+		}
+
+		/// <summary>
+		/// 元素分析无大分类
+		/// </summary>
+		/// <returns></returns>
+		public XRTable add_ElementList()
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			Template_Rows1_Cell_1.WidthF = 688F;
+			Template_Rows1_Cell_1.BackColor = Color.DarkGray;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template.Rows.Add(Template_Rows_1);
+
+			XRTableRow Template_Rows_2 = new XRTableRow();
+			XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
+			Template_Rows2_Cell_1.WidthF = 688f;
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
+			Template.Rows.Add(Template_Rows_2);
+
+			XRTableRow Template_Rows_3 = new XRTableRow();
+			XRTableCell Template_Rows3_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_10 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_11 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_12 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_13 = new XRTableCell();
+			Template_Rows3_Cell_2.WidthF = 69f;
+			Template_Rows3_Cell_3.WidthF = 50f;
+			Template_Rows3_Cell_4.WidthF = 50f;
+			Template_Rows3_Cell_5.WidthF = 50f;
+			Template_Rows3_Cell_6.WidthF = 50f;
+			Template_Rows3_Cell_7.WidthF = 50f;
+			Template_Rows3_Cell_8.WidthF = 50f;
+			Template_Rows3_Cell_9.WidthF = 50f;
+			Template_Rows3_Cell_10.WidthF = 50f;
+			Template_Rows3_Cell_11.WidthF = 50f;
+			Template_Rows3_Cell_12.WidthF = 50f;
+			Template_Rows3_Cell_13.WidthF = 50f;
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_2);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_3);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_4);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_5);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_6);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_7);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_8);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_9);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_10);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_11);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_12);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_13);
+			Template.Rows.Add(Template_Rows_3);
+			Template.WidthF = 668f;
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+			Template.Rows[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+
+			return Template;
+		}
+	}
+}

+ 347 - 0
OTSIncAReportApp/1-UI/OTSReportExport/Template/ParticleListCreation.cs

@@ -0,0 +1,347 @@
+using DevExpress.XtraReports.UI;
+using OTSCommon.DBOperate.Model;
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using static OTSIncAReportApp.OTSReport_Export;
+
+namespace OTSIncAReportApp._1_UI.OTSReportExport.Template
+{
+	/// <summary>
+	/// 颗粒列表创建
+	/// </summary>
+	internal class ParticleListCreation
+	{
+		/// <summary>
+		/// 创建表头
+		/// </summary>
+		/// <param name="a_Name1">名称</param>
+		/// <param name="a_Name2">备注</param>
+		/// <param name="a_Schriftart">字体</param>
+		/// <param name="a_Locat">位置</param>
+		/// <returns></returns>
+		public XRTable CreateParticleListHeader(string a_Name1, string a_Name2 ,string a_Schriftart, float a_Locat)
+		{
+			//表头
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableRow Template_Rows_2 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
+			Template_Rows1_Cell_1.WidthF = 688f;
+			Template_Rows2_Cell_1.WidthF = 688f;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
+			Template.Rows.Add(Template_Rows_1);
+			Template.Rows.Add(Template_Rows_2);
+			Template.SizeF = new SizeF(688f, 25f);
+			Template.Rows[0].Cells[0].Text = a_Name1;
+			Template.Rows[0].Cells[0].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+			Template.Rows[1].Cells[0].Text = a_Name2;
+			Template.LocationF = new PointF(0, a_Locat);
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+			Template.Rows[0].Font = new Font(a_Schriftart, 14f, FontStyle.Regular);
+			Template.Rows[0].BackColor = Color.DarkGray;
+			Template.LocationF = new PointF(0, a_Locat + Template.SizeF.Height);
+			return Template;
+		}
+
+		public XRTable CreateParticleListHeader(string a_Name, float a_Locat, string a_Schriftart)
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableRow Template_Rows_2 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
+			Template_Rows1_Cell_1.WidthF = 688f;
+			Template_Rows2_Cell_1.WidthF = 688f;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
+			Template.Rows.Add(Template_Rows_1);
+			Template.Rows.Add(Template_Rows_2);
+			Template.SizeF = new SizeF(688f, 25f);
+			Template.Rows[0].Cells[0].Text = a_Name;
+			Template.LocationF = new PointF(0, a_Locat);
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+			Template.Rows[0].Font = new Font(a_Schriftart, 14f, FontStyle.Regular);
+			Template.Rows[0].BackColor = Color.DarkGray;
+			return Template;
+		}
+
+		public XRTable add_XRTable(string a_Schriftart)
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+
+			XRTableCell Template_Rows1_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_6 = new XRTableCell();
+
+			XRTableRow Template_Rows_2 = new XRTableRow();
+
+			XRTableCell Template_Rows2_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_6 = new XRTableCell();
+
+			XRTableRow Template_Rows_3 = new XRTableRow();
+
+			XRTableCell Template_Rows3_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_10 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_11 = new XRTableCell();
+
+			XRTableRow Template_Rows_4 = new XRTableRow();
+
+			XRTableCell Template_Rows4_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_10 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_11 = new XRTableCell();
+
+			XRTableRow Template_Rows_5 = new XRTableRow();
+			XRTableCell Template_Rows5_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows5_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows5_Cell_3 = new XRTableCell();
+
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+
+			Template_Rows1_Cell_2.WidthF = 57.22f;
+			Template_Rows1_Cell_3.WidthF = 256f;
+			Template_Rows1_Cell_4.WidthF = 85.85f;
+			Template_Rows1_Cell_5.WidthF = 85.85f;
+			Template_Rows1_Cell_6.WidthF = 85.85f;
+
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_2);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_3);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_4);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_5);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_6);
+
+			Template_Rows2_Cell_2.WidthF = 57.22f;
+			Template_Rows2_Cell_3.WidthF = 256f;
+			Template_Rows2_Cell_4.WidthF = 85.85f;
+			Template_Rows2_Cell_5.WidthF = 85.85f;
+			Template_Rows2_Cell_6.WidthF = 85.85f;
+
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_2);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_3);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_4);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_5);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_6);
+
+
+			Template_Rows3_Cell_2.WidthF = 57.23f;//63.59f
+			Template_Rows3_Cell_3.WidthF = 57.23f;
+			Template_Rows3_Cell_4.WidthF = 57.23f;
+			Template_Rows3_Cell_5.WidthF = 57.23f;
+			Template_Rows3_Cell_6.WidthF = 57.23f;
+			Template_Rows3_Cell_7.WidthF = 57.23f;
+			Template_Rows3_Cell_8.WidthF = 57.23f;
+			Template_Rows3_Cell_9.WidthF = 57.23f;
+			Template_Rows3_Cell_10.WidthF = 57.23f;
+			Template_Rows3_Cell_11.WidthF = 57.23f;
+
+
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_2);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_3);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_4);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_5);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_6);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_7);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_8);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_9);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_10);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_11);
+
+
+			Template_Rows4_Cell_2.WidthF = 57.23f;//63.59f
+			Template_Rows4_Cell_3.WidthF = 57.23f;
+			Template_Rows4_Cell_4.WidthF = 57.23f;
+			Template_Rows4_Cell_5.WidthF = 57.23f;
+			Template_Rows4_Cell_6.WidthF = 57.23f;
+			Template_Rows4_Cell_7.WidthF = 57.23f;
+			Template_Rows4_Cell_8.WidthF = 57.23f;
+			Template_Rows4_Cell_9.WidthF = 57.23f;
+			Template_Rows4_Cell_10.WidthF = 57.23f;
+			Template_Rows4_Cell_11.WidthF = 57.23f;
+
+
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_2);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_3);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_4);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_5);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_6);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_7);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_8);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_9);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_10);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_11);
+
+
+			Template_Rows5_Cell_1.WidthF = 120f;
+			Template_Rows5_Cell_2.WidthF = 120f;
+			Template_Rows5_Cell_3.WidthF = 448f;
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_1);
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_2);
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_3);
+			Template.Rows.Add(Template_Rows_1);
+			Template.Rows.Add(Template_Rows_2);
+			Template.Rows.Add(Template_Rows_3);
+			Template.Rows.Add(Template_Rows_4);
+			Template.Rows.Add(Template_Rows_5);
+			Template.SizeF = new SizeF(688f, 125);
+
+			Template.Rows[0].Font = new Font(a_Schriftart, 12f);
+			Template.Rows[2].Font = new Font(a_Schriftart, 12f);
+			Template.Rows[1].Font = new Font(a_Schriftart, 12f);
+			Template.Rows[3].Font = new Font(a_Schriftart, 12f);
+
+			Template.Rows[0].BackColor = Color.DarkGray;
+			Template.Rows[2].BackColor = Color.DarkGray;
+
+			Template.Rows[2].BackColor = Color.DarkGray;
+
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+
+
+			return Template;
+		}
+
+		public XRTable add_XRTable_frame(string a_Schriftart)
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableRow Template_Rows_2 = new XRTableRow();
+			XRTableRow Template_Rows_3 = new XRTableRow();
+			XRTableRow Template_Rows_4 = new XRTableRow();
+
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_4 = new XRTableCell();
+
+			XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_4 = new XRTableCell();
+
+			XRTableCell Template_Rows3_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_10 = new XRTableCell();
+
+			XRTableCell Template_Rows4_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_10 = new XRTableCell();
+
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+			Template_Rows1_Cell_1.WidthF = 94.63f;
+			Template_Rows1_Cell_2.WidthF = 334.15f;
+			Template_Rows1_Cell_3.WidthF = 133.66f;
+			Template_Rows1_Cell_4.WidthF = 133.66f;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_2);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_3);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_4);
+
+			Template_Rows2_Cell_1.WidthF = 94.63f;
+			Template_Rows2_Cell_2.WidthF = 334.15f;
+			Template_Rows2_Cell_3.WidthF = 133.66f;
+			Template_Rows2_Cell_4.WidthF = 133.66f;
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_2);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_3);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_4);
+
+			Template_Rows3_Cell_1.WidthF = 94.63f;
+			Template_Rows3_Cell_2.WidthF = 66.83f;
+			Template_Rows3_Cell_3.WidthF = 66.83f;
+			Template_Rows3_Cell_4.WidthF = 66.83f;
+			Template_Rows3_Cell_5.WidthF = 66.83f;
+			Template_Rows3_Cell_6.WidthF = 66.83f;
+			Template_Rows3_Cell_7.WidthF = 66.83f;
+			Template_Rows3_Cell_8.WidthF = 66.83f;
+			Template_Rows3_Cell_9.WidthF = 66.83f;
+			Template_Rows3_Cell_10.WidthF = 66.83f;
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_1);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_2);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_3);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_4);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_5);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_6);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_7);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_8);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_9);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_10);
+
+			Template_Rows4_Cell_1.WidthF = 94.63f;
+			Template_Rows4_Cell_2.WidthF = 66.83f;
+			Template_Rows4_Cell_3.WidthF = 66.83f;
+			Template_Rows4_Cell_4.WidthF = 66.83f;
+			Template_Rows4_Cell_5.WidthF = 66.83f;
+			Template_Rows4_Cell_6.WidthF = 66.83f;
+			Template_Rows4_Cell_7.WidthF = 66.83f;
+			Template_Rows4_Cell_8.WidthF = 66.83f;
+			Template_Rows4_Cell_9.WidthF = 66.83f;
+			Template_Rows4_Cell_10.WidthF = 66.83f;
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_1);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_2);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_3);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_4);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_5);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_6);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_7);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_8);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_9);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_10);
+
+			Template.Rows.Add(Template_Rows_1);
+			Template.Rows.Add(Template_Rows_2);
+			Template.Rows.Add(Template_Rows_3);
+			Template.Rows.Add(Template_Rows_4);
+			Template.Rows[0].BackColor = Color.DarkGray;
+			Template.Rows[2].BackColor = Color.DarkGray;
+			Template.Rows[2].Cells[0].BackColor = Color.Transparent;
+			Template.Rows[2].Cells[0].Borders = DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right;
+			Template.Rows[1].Cells[0].Borders = DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Top;
+			//Transparent
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.SizeF = new SizeF(688f, 30);
+			Template.Font = new Font(a_Schriftart, 12f);
+			return Template;
+		}
+	}
+}

+ 1012 - 0
OTSIncAReportApp/1-UI/OTSReportExport/Template/ParticleSizeTableCreation.cs

@@ -0,0 +1,1012 @@
+using DevExpress.XtraReports.UI;
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OTSIncAReportApp._1_UI.OTSReportExport.Template
+{
+	/// <summary>
+	/// 颗粒尺寸表创建类
+	/// </summary>
+	 class ParticleSizeTableCreation
+	{
+
+		/// <summary>
+		/// VDA19颗粒尺寸有大分类表格式
+		/// </summary>
+		/// <returns></returns>
+		public XRTable add_VDA19_particleSizeS()
+		{
+			XRTable Template = new XRTable();
+			#region 表头
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			Template_Rows1_Cell_1.WidthF = 668f;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template.Rows.Add(Template_Rows_1);
+			#endregion
+			#region 表头信息
+			XRTableRow Template_Rows_2 = new XRTableRow();
+			XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
+			Template_Rows2_Cell_1.WidthF = 668f;
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
+
+			Template.Rows.Add(Template_Rows_2);
+			#endregion
+			#region VDA标头
+			XRTableRow Template_Rows_3 = new XRTableRow();
+			XRTableCell Template_Rows3_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_10 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_11 = new XRTableCell();
+
+			Template_Rows3_Cell_1.WidthF = 255f;
+			Template_Rows3_Cell_1.Text = "Size Class";
+			Template_Rows3_Cell_2.WidthF = 54f;
+			Template_Rows3_Cell_2.Text = "B";
+			Template_Rows3_Cell_3.WidthF = 54f;
+			Template_Rows3_Cell_3.Text = "C";
+			Template_Rows3_Cell_4.WidthF = 54f;
+			Template_Rows3_Cell_4.Text = "D";
+			Template_Rows3_Cell_5.WidthF = 54f;
+			Template_Rows3_Cell_5.Text = "E";
+			Template_Rows3_Cell_6.WidthF = 54f;
+			Template_Rows3_Cell_6.Text = "F";
+			Template_Rows3_Cell_7.WidthF = 54f;
+			Template_Rows3_Cell_7.Text = "G";
+			Template_Rows3_Cell_8.WidthF = 54f;
+			Template_Rows3_Cell_8.Text = "H";
+			Template_Rows3_Cell_9.WidthF = 54f;
+			Template_Rows3_Cell_9.Text = "I";
+			Template_Rows3_Cell_10.WidthF = 54f;
+			Template_Rows3_Cell_10.Text = "J";
+			Template_Rows3_Cell_11.WidthF = 54f;
+			Template_Rows3_Cell_11.Text = "K";
+
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_1);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_2);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_3);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_4);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_5);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_6);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_7);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_8);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_9);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_10);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_11);
+
+			Template.Rows.Add(Template_Rows_3);
+			#endregion
+			#region 颗粒尺寸信息
+			XRTableRow Template_Rows_4 = new XRTableRow();
+			XRTableCell Template_Rows4_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_10 = new XRTableCell();
+
+			XRTableCell Template_Rows4_Cell_11 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_12 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_13 = new XRTableCell();
+
+
+			Template_Rows4_Cell_1.WidthF = 100f;
+			Template_Rows4_Cell_2.WidthF = 100f;
+			Template_Rows4_Cell_3.WidthF = 55f;
+			Template_Rows4_Cell_4.WidthF = 54f;
+			Template_Rows4_Cell_5.WidthF = 54f;
+			Template_Rows4_Cell_6.WidthF = 54f;
+			Template_Rows4_Cell_7.WidthF = 54f;
+			Template_Rows4_Cell_8.WidthF = 54f;
+			Template_Rows4_Cell_9.WidthF = 54f;
+			Template_Rows4_Cell_10.WidthF = 54f;
+
+			Template_Rows4_Cell_11.WidthF = 54f;
+			Template_Rows4_Cell_12.WidthF = 54f;
+			Template_Rows4_Cell_13.WidthF = 54f;
+
+
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_1);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_2);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_3);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_4);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_5);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_6);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_7);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_8);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_9);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_10);
+
+
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_11);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_12);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_13);
+
+			Template.Rows.Add(Template_Rows_4);
+			#endregion
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.SizeF = new SizeF(668f, Template.SizeF.Height);
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+			Template.Rows[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+			Template.Rows[0].BackColor = Color.DarkGray;
+			return Template;
+		}
+		/// <summary>
+		/// VDA19颗粒尺寸有大分类表格式总结
+		/// </summary>
+		/// <returns></returns>
+		public XRTable add_VDA19_particleSizeS_end()
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_9 = new XRTableCell();
+
+			XRTableCell Template_Rows1_Cell_10 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_11 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_12 = new XRTableCell();
+
+			Template_Rows1_Cell_1.WidthF = 200f;
+			Template_Rows1_Cell_2.WidthF = 55f;
+			Template_Rows1_Cell_3.WidthF = 54f;
+			Template_Rows1_Cell_4.WidthF = 54f;
+			Template_Rows1_Cell_5.WidthF = 54f;
+			Template_Rows1_Cell_6.WidthF = 54f;
+			Template_Rows1_Cell_7.WidthF = 54f;
+			Template_Rows1_Cell_8.WidthF = 54f;
+			Template_Rows1_Cell_9.WidthF = 54f;
+
+			Template_Rows1_Cell_10.WidthF = 54f;
+			Template_Rows1_Cell_11.WidthF = 54f;
+			Template_Rows1_Cell_12.WidthF = 54f;
+
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_2);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_3);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_4);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_5);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_6);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_7);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_8);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_9);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_10);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_11);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_12);
+
+			Template.Rows.Add(Template_Rows_1);
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.SizeF = new SizeF(668f, Template.SizeF.Height);
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+
+			return Template;
+		}
+
+		public XRTable add_VDA19_ResultTable()
+		{
+			XRTable Template = new XRTable();
+			#region 表头
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			Template_Rows1_Cell_1.WidthF = 668f;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template.Rows.Add(Template_Rows_1);
+			#endregion
+			#region VDA标头
+			XRTableRow Template_Rows_2 = new XRTableRow();
+			XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_10 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_11 = new XRTableCell();
+			Template_Rows2_Cell_1.WidthF = 255f;
+			Template_Rows2_Cell_1.Text = "Size Class";
+			Template_Rows2_Cell_2.WidthF = 54f;
+			Template_Rows2_Cell_2.Text = "B";
+			Template_Rows2_Cell_3.WidthF = 54f;
+			Template_Rows2_Cell_3.Text = "C";
+			Template_Rows2_Cell_4.WidthF = 54f;
+			Template_Rows2_Cell_4.Text = "D";
+			Template_Rows2_Cell_5.WidthF = 54f;
+			Template_Rows2_Cell_5.Text = "E";
+			Template_Rows2_Cell_6.WidthF = 54f;
+			Template_Rows2_Cell_6.Text = "F";
+			Template_Rows2_Cell_7.WidthF = 54f;
+			Template_Rows2_Cell_7.Text = "G";
+			Template_Rows2_Cell_8.WidthF = 54f;
+			Template_Rows2_Cell_8.Text = "H";
+			Template_Rows2_Cell_9.WidthF = 54f;
+			Template_Rows2_Cell_9.Text = "I";
+			Template_Rows2_Cell_10.WidthF = 54f;
+			Template_Rows2_Cell_10.Text = "J";
+			Template_Rows2_Cell_11.WidthF = 54f;
+			Template_Rows2_Cell_11.Text = "K";
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_2);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_3);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_4);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_5);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_6);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_7);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_8);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_9);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_10);
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_11);
+			Template.Rows.Add(Template_Rows_2);
+			#endregion
+			#region VDA粒级头
+			XRTableRow Template_Rows_3 = new XRTableRow();
+			XRTableCell Template_Rows3_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_10 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_11 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_12 = new XRTableCell();
+			Template_Rows3_Cell_1.WidthF = 201f;
+			Template_Rows3_Cell_1.Text = "Size Range(um)";
+			Template_Rows3_Cell_2.WidthF = 54f;
+			Template_Rows3_Cell_2.Text = "数量";
+			Template_Rows3_Cell_3.WidthF = 54f;
+			Template_Rows3_Cell_4.WidthF = 54f;
+			Template_Rows3_Cell_5.WidthF = 54f;
+			Template_Rows3_Cell_6.WidthF = 54f;
+			Template_Rows3_Cell_7.WidthF = 54f;
+			Template_Rows3_Cell_8.WidthF = 54f;
+			Template_Rows3_Cell_9.WidthF = 54f;
+			Template_Rows3_Cell_10.WidthF = 54f;
+			Template_Rows3_Cell_11.WidthF = 54f;
+			Template_Rows3_Cell_12.WidthF = 54f;
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_1);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_2);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_3);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_4);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_5);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_6);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_7);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_8);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_9);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_10);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_11);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_12);
+			Template.Rows.Add(Template_Rows_3);
+			#endregion
+			#region VDA粒级数据
+			XRTableRow Template_Rows_4 = new XRTableRow();
+			XRTableCell Template_Rows4_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_10 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_11 = new XRTableCell();
+			XRTableCell Template_Rows4_Cell_12 = new XRTableCell();
+			Template_Rows4_Cell_1.WidthF = 201f;
+			Template_Rows4_Cell_1.Text = "Total Counts";
+			Template_Rows4_Cell_2.WidthF = 54f;
+			Template_Rows4_Cell_3.WidthF = 54f;
+			Template_Rows4_Cell_4.WidthF = 54f;
+			Template_Rows4_Cell_5.WidthF = 54f;
+			Template_Rows4_Cell_6.WidthF = 54f;
+			Template_Rows4_Cell_7.WidthF = 54f;
+			Template_Rows4_Cell_8.WidthF = 54f;
+			Template_Rows4_Cell_9.WidthF = 54f;
+			Template_Rows4_Cell_10.WidthF = 54f;
+			Template_Rows4_Cell_11.WidthF = 54f;
+			Template_Rows4_Cell_12.WidthF = 54f;
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_1);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_2);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_3);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_4);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_5);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_6);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_7);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_8);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_9);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_10);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_11);
+			Template_Rows_4.Controls.Add(Template_Rows4_Cell_12);
+			Template.Rows.Add(Template_Rows_4);
+			#endregion
+			#region VDA级别
+			XRTableRow Template_Rows_5 = new XRTableRow();
+			XRTableCell Template_Rows5_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows5_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows5_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows5_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows5_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows5_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows5_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows5_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows5_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows5_Cell_10 = new XRTableCell();
+			XRTableCell Template_Rows5_Cell_11 = new XRTableCell();
+			Template_Rows5_Cell_1.WidthF = 255f;
+			Template_Rows5_Cell_1.Text = "Cleanliness Level";
+			Template_Rows5_Cell_2.WidthF = 54f;
+			Template_Rows5_Cell_3.WidthF = 54f;
+			Template_Rows5_Cell_4.WidthF = 54f;
+			Template_Rows5_Cell_5.WidthF = 54f;
+			Template_Rows5_Cell_6.WidthF = 54f;
+			Template_Rows5_Cell_7.WidthF = 54f;
+			Template_Rows5_Cell_8.WidthF = 54f;
+			Template_Rows5_Cell_9.WidthF = 54f;
+			Template_Rows5_Cell_10.WidthF = 54f;
+			Template_Rows5_Cell_11.WidthF = 54f;
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_1);
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_2);
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_3);
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_4);
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_5);
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_6);
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_7);
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_8);
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_9);
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_10);
+			Template_Rows_5.Controls.Add(Template_Rows5_Cell_11);
+			Template.Rows.Add(Template_Rows_5);
+			#endregion
+			#region VDA当前标准评级
+			XRTableRow Template_Rows_6 = new XRTableRow();
+			XRTableCell Template_Rows6_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows6_Cell_2 = new XRTableCell();
+
+			Template_Rows6_Cell_1.WidthF = 309f;
+			Template_Rows6_Cell_1.Text = "Component Cleanliness Code (CCC):";
+			Template_Rows6_Cell_2.WidthF = 486f;
+
+			Template_Rows_6.Controls.Add(Template_Rows6_Cell_1);
+			Template_Rows_6.Controls.Add(Template_Rows6_Cell_2);
+
+			Template.Rows.Add(Template_Rows_6);
+			#endregion
+			#region VDA标准评级示例
+			XRTableRow Template_Rows_7 = new XRTableRow();
+			XRTableCell Template_Rows7_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows7_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows7_Cell_3 = new XRTableCell();
+
+			Template_Rows7_Cell_1.WidthF = 309f;
+			Template_Rows7_Cell_1.Text = "Specification:";
+			Template_Rows7_Cell_2.WidthF = 324f;
+			Template_Rows7_Cell_2.Text = "V(B10/C8/D7/E5/F2/G1/H1/I00/J00/K0)";
+			Template_Rows7_Cell_3.WidthF = 162f;
+			Template_Rows_7.Controls.Add(Template_Rows7_Cell_1);
+			Template_Rows_7.Controls.Add(Template_Rows7_Cell_2);
+			Template_Rows_7.Controls.Add(Template_Rows7_Cell_3);
+
+			Template.Rows.Add(Template_Rows_7);
+			#endregion
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.SizeF = new SizeF(668f, Template.SizeF.Height);
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+			Template.Rows[2].Cells[0].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+			Template.Rows[3].Cells[0].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+			Template.Rows[4].Cells[0].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+			Template.Rows[5].Cells[0].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+			Template.Rows[0].BackColor = Color.DarkGray;
+			return Template;
+		}
+
+		/// <summary>
+		/// 颗粒尺寸有大分类表格式
+		/// </summary>
+		/// <returns></returns>
+		public XRTable add_particleSizeS()
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableRow Template_Rows_2 = new XRTableRow();
+			XRTableRow Template_Rows_3 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_10 = new XRTableCell();
+
+			XRTableCell Template_Rows3_Cell_11 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_12 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_13 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_14 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_15 = new XRTableCell();
+
+			Template_Rows1_Cell_1.WidthF = 668f;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template_Rows2_Cell_1.WidthF = 668f;
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
+			Template_Rows3_Cell_1.WidthF = 100f;
+			Template_Rows3_Cell_2.WidthF = 100f;
+			Template_Rows3_Cell_3.WidthF = 55;
+			Template_Rows3_Cell_4.WidthF = 45;
+			Template_Rows3_Cell_5.WidthF = 45;
+			Template_Rows3_Cell_6.WidthF = 45;
+			Template_Rows3_Cell_7.WidthF = 45;
+			Template_Rows3_Cell_8.WidthF = 45;
+			Template_Rows3_Cell_9.WidthF = 45;
+			Template_Rows3_Cell_10.WidthF = 45;
+
+			Template_Rows3_Cell_11.WidthF = 45;
+			Template_Rows3_Cell_12.WidthF = 45;
+			Template_Rows3_Cell_13.WidthF = 45;
+			Template_Rows3_Cell_14.WidthF = 45;
+			Template_Rows3_Cell_15.WidthF = 45;
+
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_1);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_2);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_3);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_4);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_5);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_6);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_7);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_8);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_9);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_10);
+
+
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_11);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_12);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_13);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_14);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_15);
+			Template.Rows.Add(Template_Rows_1);
+			Template.Rows.Add(Template_Rows_2);
+			Template.Rows.Add(Template_Rows_3);
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.SizeF = new SizeF(668f, Template.SizeF.Height);
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+			Template.Rows[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+			Template.Rows[0].BackColor = Color.DarkGray;
+			return Template;
+		}
+
+		/// <summary>
+		/// 颗粒尺寸有大分类表格式总结
+		/// </summary>
+		/// <returns></returns>
+		public XRTable add_particleSizeS_end()
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_9 = new XRTableCell();
+
+			XRTableCell Template_Rows1_Cell_10 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_11 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_12 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_13 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_14 = new XRTableCell();
+			Template_Rows1_Cell_1.WidthF = 200f;
+			Template_Rows1_Cell_2.WidthF = 55f;
+			Template_Rows1_Cell_3.WidthF = 45;
+			Template_Rows1_Cell_4.WidthF = 45;
+			Template_Rows1_Cell_5.WidthF = 45;
+			Template_Rows1_Cell_6.WidthF = 45;
+			Template_Rows1_Cell_7.WidthF = 45;
+			Template_Rows1_Cell_8.WidthF = 45;
+			Template_Rows1_Cell_9.WidthF = 45;
+
+			Template_Rows1_Cell_10.WidthF = 45;
+			Template_Rows1_Cell_11.WidthF = 45;
+			Template_Rows1_Cell_12.WidthF = 45;
+			Template_Rows1_Cell_13.WidthF = 45;
+			Template_Rows1_Cell_14.WidthF = 45;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_2);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_3);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_4);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_5);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_6);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_7);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_8);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_9);
+
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_10);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_11);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_12);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_13);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_14);
+			Template.Rows.Add(Template_Rows_1);
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.SizeF = new SizeF(668f, Template.SizeF.Height);
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+		
+			return Template;
+		}
+
+		/// <summary>
+		/// 颗粒尺寸无大分类表格式
+		/// </summary>
+		/// <returns></returns>
+		public XRTable add_particleSize()
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableRow Template_Rows_2 = new XRTableRow();
+			XRTableRow Template_Rows_3 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_9 = new XRTableCell();
+
+			XRTableCell Template_Rows3_Cell_10 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_11 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_12 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_13 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_14 = new XRTableCell();
+
+			Template_Rows1_Cell_1.WidthF = 668f;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template_Rows2_Cell_1.WidthF = 668f;
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
+			Template_Rows3_Cell_1.WidthF = 100f;
+			Template_Rows3_Cell_2.WidthF = 55;
+			Template_Rows3_Cell_3.WidthF = 45;
+			Template_Rows3_Cell_4.WidthF = 45;
+			Template_Rows3_Cell_5.WidthF = 45;
+			Template_Rows3_Cell_6.WidthF = 45;
+			Template_Rows3_Cell_7.WidthF = 45;
+			Template_Rows3_Cell_8.WidthF = 45;
+			Template_Rows3_Cell_9.WidthF = 45;
+
+			Template_Rows3_Cell_10.WidthF = 45;
+			Template_Rows3_Cell_11.WidthF = 45;
+			Template_Rows3_Cell_12.WidthF = 45;
+			Template_Rows3_Cell_13.WidthF = 45;
+			Template_Rows3_Cell_14.WidthF = 45;
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_1);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_2);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_3);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_4);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_5);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_6);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_7);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_8);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_9);
+
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_10);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_11);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_12);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_13);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_14);
+
+
+			Template.Rows.Add(Template_Rows_1);
+			Template.Rows.Add(Template_Rows_2);
+			Template.Rows.Add(Template_Rows_3);
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.SizeF = new SizeF(668f, Template.SizeF.Height);
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+			Template.Rows[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+			Template.Rows[0].BackColor = Color.DarkGray;
+			return Template;
+		}
+
+		/// <summary>
+		/// 输入颗粒数量返回VDA19/ISO 16232 级别(00 - 24)
+		/// </summary>
+		/// <param name="parameter">颗粒数量</param>
+		/// <returns></returns>
+		public string VDA_Level(int parameter)
+		{
+			if (parameter > 0 && parameter < 2)
+				return Convert.ToString(0);
+			else if (parameter > 1 && parameter < 4)
+				return Convert.ToString(1);
+			else if (parameter > 3 && parameter < 8)
+				return Convert.ToString(2);
+			else if (parameter > 7 && parameter < 16)
+				return Convert.ToString(3);
+			else if (parameter > 15 && parameter < 32)
+				return Convert.ToString(4);
+			else if (parameter > 31 && parameter < 64)
+				return Convert.ToString(5);
+			else if (parameter > 63 && parameter < 130)
+				return Convert.ToString(6);
+			else if (parameter > 129 && parameter < 250)
+				return Convert.ToString(7);
+			else if (parameter > 249 && parameter < 500)
+				return Convert.ToString(8);
+			else if (parameter > 499 && parameter < 1000)
+				return Convert.ToString(9);
+			else if (parameter > 999 && parameter < 2000)
+				return Convert.ToString(10);
+			else if (parameter > 1999 && parameter < 4000)
+				return Convert.ToString(11);
+			else if (parameter > 3999 && parameter < 8000)
+				return Convert.ToString(12);
+			else if (parameter > 7999 && parameter < 16000)
+				return Convert.ToString(13);
+			else if (parameter > 15999 && parameter < 32000)
+				return Convert.ToString(14);
+			else if (parameter > 31999 && parameter < 64000)
+				return Convert.ToString(15);
+			else if (parameter > 63999 && parameter < 130000)
+				return Convert.ToString(16);
+			else if (parameter > 129999 && parameter < 250000)
+				return Convert.ToString(17);
+			else if (parameter > 249999 && parameter < 500000)
+				return Convert.ToString(18);
+			else if (parameter > 499999 && parameter < 1000000)
+				return Convert.ToString(19);
+			else if (parameter > 999999 && parameter < 2000000)
+				return Convert.ToString(20);
+			else if (parameter > 1999999 && parameter < 4000000)
+				return Convert.ToString(21);
+			else if (parameter > 3999999 && parameter < 8000000)
+				return Convert.ToString(22);
+			else if (parameter > 7999999 && parameter < 16000000)
+				return Convert.ToString(23);
+			else if (parameter > 15999999)
+				return Convert.ToString(24);
+			else
+				return "00";
+
+
+		}
+
+		/// <summary>
+		/// 颗粒尺寸无大分类表格式 总结
+		/// </summary>
+		/// <returns></returns>
+		public  XRTable add_particleSize_end()
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_9 = new XRTableCell();
+
+			XRTableCell Template_Rows1_Cell_10 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_11 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_12 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_13 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_14 = new XRTableCell();
+			Template_Rows1_Cell_1.WidthF = 100;
+			Template_Rows1_Cell_2.WidthF = 55f;
+			Template_Rows1_Cell_3.WidthF = 45;
+			Template_Rows1_Cell_4.WidthF = 45;
+			Template_Rows1_Cell_5.WidthF = 45;
+			Template_Rows1_Cell_6.WidthF = 45;
+			Template_Rows1_Cell_7.WidthF = 45;
+			Template_Rows1_Cell_8.WidthF = 45;
+			Template_Rows1_Cell_9.WidthF = 45;
+
+			Template_Rows1_Cell_10.WidthF = 45;
+			Template_Rows1_Cell_11.WidthF = 45;
+			Template_Rows1_Cell_12.WidthF = 45;
+			Template_Rows1_Cell_13.WidthF = 45;
+			Template_Rows1_Cell_14.WidthF = 45;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_2);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_3);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_4);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_5);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_6);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_7);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_8);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_9);
+
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_10);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_11);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_12);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_13);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_14);
+
+			Template.Rows.Add(Template_Rows_1);
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.SizeF = new SizeF(668f, Template.SizeF.Height);
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+		
+
+			return Template;
+		}
+
+		/// <summary>
+		/// 颗粒尺寸有大分类表格式
+		/// </summary>
+		/// <returns></returns>
+		public XRTable add_particleSizeS_Below7()
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableRow Template_Rows_2 = new XRTableRow();
+			XRTableRow Template_Rows_3 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_9 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_10 = new XRTableCell();
+
+			Template_Rows1_Cell_1.WidthF = 668f;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template_Rows2_Cell_1.WidthF = 668f;
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
+			Template_Rows3_Cell_1.WidthF = 100f;
+			Template_Rows3_Cell_2.WidthF = 100f;
+			Template_Rows3_Cell_3.WidthF = 55;
+			Template_Rows3_Cell_4.WidthF = 59;
+			Template_Rows3_Cell_5.WidthF = 59;
+			Template_Rows3_Cell_6.WidthF = 59;
+			Template_Rows3_Cell_7.WidthF = 59;
+			Template_Rows3_Cell_8.WidthF = 59;
+			Template_Rows3_Cell_9.WidthF = 59;
+			Template_Rows3_Cell_10.WidthF = 59;
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_1);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_2);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_3);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_4);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_5);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_6);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_7);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_8);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_9);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_10);
+			Template.Rows.Add(Template_Rows_1);
+			Template.Rows.Add(Template_Rows_2);
+			Template.Rows.Add(Template_Rows_3);
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.SizeF = new SizeF(668f, Template.SizeF.Height);
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+			Template.Rows[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+			Template.Rows[0].BackColor = Color.DarkGray;
+			return Template;
+		}
+
+		/// <summary>
+		/// 颗粒尺寸有大分类表格式总结
+		/// </summary>
+		/// <returns></returns>
+		public  XRTable add_particleSizeS_Below7_end()
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_9 = new XRTableCell();
+			Template_Rows1_Cell_1.WidthF = 200f;
+			Template_Rows1_Cell_2.WidthF = 55f;
+			Template_Rows1_Cell_3.WidthF = 59f;
+			Template_Rows1_Cell_4.WidthF = 59f;
+			Template_Rows1_Cell_5.WidthF = 59f;
+			Template_Rows1_Cell_6.WidthF = 59f;
+			Template_Rows1_Cell_7.WidthF = 59f;
+			Template_Rows1_Cell_8.WidthF = 59f;
+			Template_Rows1_Cell_9.WidthF = 59f;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_2);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_3);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_4);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_5);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_6);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_7);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_8);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_9);
+			Template.Rows.Add(Template_Rows_1);
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.SizeF = new SizeF(668f, Template.SizeF.Height);
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+	
+			return Template;
+		}
+
+		/// <summary>
+		/// 颗粒尺寸无大分类表格式
+		/// </summary>
+		/// <returns></returns>
+		public XRTable add_particleSize_Below7()
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableRow Template_Rows_2 = new XRTableRow();
+			XRTableRow Template_Rows_3 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows3_Cell_9 = new XRTableCell();
+
+			Template_Rows1_Cell_1.WidthF = 668f;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template_Rows2_Cell_1.WidthF = 668f;
+			Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
+			Template_Rows3_Cell_1.WidthF = 100f;
+			Template_Rows3_Cell_2.WidthF = 55;
+			Template_Rows3_Cell_3.WidthF = 59;
+			Template_Rows3_Cell_4.WidthF = 59;
+			Template_Rows3_Cell_5.WidthF = 59;
+			Template_Rows3_Cell_6.WidthF = 59;
+			Template_Rows3_Cell_7.WidthF = 59;
+			Template_Rows3_Cell_8.WidthF = 59;
+			Template_Rows3_Cell_9.WidthF = 59;
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_1);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_2);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_3);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_4);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_5);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_6);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_7);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_8);
+			Template_Rows_3.Controls.Add(Template_Rows3_Cell_9);
+			Template.Rows.Add(Template_Rows_1);
+			Template.Rows.Add(Template_Rows_2);
+			Template.Rows.Add(Template_Rows_3);
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.SizeF = new SizeF(668f, Template.SizeF.Height);
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+			Template.Rows[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
+			Template.Rows[0].BackColor = Color.DarkGray;
+			return Template;
+		}
+
+		/// <summary>
+		/// 颗粒尺寸无大分类表格式 总结
+		/// </summary>
+		/// <returns></returns>
+		public XRTable add_particleSize_Below7_end()
+		{
+			XRTable Template = new XRTable();
+			XRTableRow Template_Rows_1 = new XRTableRow();
+			XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_2 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_3 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_4 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_5 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_6 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_7 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_8 = new XRTableCell();
+			XRTableCell Template_Rows1_Cell_9 = new XRTableCell();
+			Template_Rows1_Cell_1.WidthF = 100;
+			Template_Rows1_Cell_2.WidthF = 55f;
+			Template_Rows1_Cell_3.WidthF = 59f;
+			Template_Rows1_Cell_4.WidthF = 59f;
+			Template_Rows1_Cell_5.WidthF = 59f;
+			Template_Rows1_Cell_6.WidthF = 59f;
+			Template_Rows1_Cell_7.WidthF = 59f;
+			Template_Rows1_Cell_8.WidthF = 59f;
+			Template_Rows1_Cell_9.WidthF = 59f;
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_2);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_3);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_4);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_5);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_6);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_7);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_8);
+			Template_Rows_1.Controls.Add(Template_Rows1_Cell_9);
+			Template.Rows.Add(Template_Rows_1);
+			Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
+			Template.SizeF = new SizeF(668f, Template.SizeF.Height);
+			Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
+			
+			return Template;
+		}
+
+		/// <summary>
+		/// 判断是否该级别是否合格
+		/// </summary>
+		/// <param name="a_Level"></param>
+		/// <returns></returns>
+		public string isPassLevel(List<string> a_List_Level)
+		{
+			List<int> List_Level = new List<int>();
+			List_Level.Add(10);
+			List_Level.Add(10);
+			List_Level.Add(10);
+			List_Level.Add(10);
+			List_Level.Add(5);
+			List_Level.Add(3);
+			List_Level.Add(1);
+			List_Level.Add(1);
+			List_Level.Add(0);
+			List_Level.Add(-1);
+
+			bool pos = true;
+			for (int i = 0; i < List_Level.Count; i++)
+			{
+				int level = -1;
+				if (a_List_Level[i] == "00")
+					level = -1;
+				else
+					level = Convert.ToInt32(a_List_Level[i]);
+
+				if (level > List_Level[i])
+				{
+					pos = false;
+				}
+			}
+
+
+			if (pos)
+			{
+				return "通过";
+			}
+			else
+			{
+				return "不通过";
+
+			}
+		}
+	}
+}

+ 4 - 0
OTSIncAReportApp/OTSIncAReportApp.csproj

@@ -616,6 +616,10 @@
     <Compile Include="1-UI\OTSReportExport\RuleGroupSelector.Designer.cs">
       <DependentUpon>RuleGroupSelector.cs</DependentUpon>
     </Compile>
+    <Compile Include="1-UI\OTSReportExport\Template\CreationOfInclusionAreaTable.cs" />
+    <Compile Include="1-UI\OTSReportExport\Template\ElementAnalysisTableCreation.cs" />
+    <Compile Include="1-UI\OTSReportExport\Template\ParticleListCreation.cs" />
+    <Compile Include="1-UI\OTSReportExport\Template\ParticleSizeTableCreation.cs" />
     <Compile Include="1-UI\OTSReportExport\XtraReport_yb6156.cs">
       <SubType>Component</SubType>
     </Compile>

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä