Prechádzať zdrojové kódy

报告单组情况优化及BUG修正

zhangjiaxin 2 mesiacov pred
rodič
commit
b73db00ac9

+ 49 - 23
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/BasicData.cs

@@ -1,6 +1,7 @@
 
 using DevExpress.Office.Drawing;
 using NPOI.Util;
+using OTSCommon.DBOperate;
 using OTSIncAReportApp.DataOperation.DataAccess;
 using OTSIncAReportApp.OTSRstMgrFunction;
 using System;
@@ -543,33 +544,20 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
         /// </summary>
         /// <param name="m_otsreport_export"></param>
         /// <returns></returns>
-        public void IsThereAMajorClassification()
+        public void IsThereAMajorClassification(BasicData basicData, OTSReport_Export m_otsreport_export)
         {
-            DataTable getClass_dt = fielddata.GetAllClass();
+            //List<string> ClassName = ObtainParticleCategory(m_otsreport_export, basicData);
             List<string> ClassName = new List<string>();
-            bool bl = false;
-            for (int i = 0; i < getClass_dt.Rows.Count; i++)
+
+			for (int i = 0; i < BData.Count; i++)
             {
-                if (getClass_dt.Rows[i]["GroupName"].ToString() != "NOT_INCLUTION" && getClass_dt.Rows[i]["GroupName"].ToString() != "Invalid"
-                && getClass_dt.Rows[i]["GroupName"].ToString() != "Not Identified")
-                    if (getClass_dt.Rows[i]["GroupName"].ToString() == "")
-                    {
-                        if (!bl)
-                        {
-                            ClassName.Add("Default");
-                            bl = true;
-                        }
-                    }
-                    else
-                    {
-                        if (getClass_dt.Rows[i]["GroupName"].ToString() != "Default")
-                        {
-                            ClassName.Add(getClass_dt.Rows[i]["GroupName"].ToString());
-                        }
-                    }
+                if (BData[i].Rows.Count != 0)
+                {
+                    ClassName.Add(i.ToString());
+				}
             }
 
-            if (ClassName.Count < 2)
+			if (ClassName.Count < 2)
             {
                 IsShereAClassificationGroup= false;
             }
@@ -582,8 +570,46 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
         {
             return IsShereAClassificationGroup;
         }
+		/// <summary>
+		/// 获得颗粒类别
+		/// </summary>
+		/// <returns></returns>
+		private List<string> ObtainParticleCategory(OTSReport_Export m_otsreport_export, BasicData basicData)
+		{
+			List<string> ClassName = new List<string>();
+			if (m_otsreport_export.m_ReportApp.m_RptConfigFile.Systype != OTS_SysType_ID.IncA)
+			{
+				DataTable get_dt = ReadClassification(basicData);
+				DataTable getClass_dt = get_dt.Clone();
+				DataRow[] dataRow = get_dt.Select("", "iorder ASC");
+				foreach (DataRow row in dataRow)
+				{
+					if (row.ItemArray[1].ToString() != "Default")
+					{
+						getClass_dt.ImportRow(row);
+					}
+				}
+				for (int i = 0; i < getClass_dt.Rows.Count; i++)
+				{
+					ClassName.Add(getClass_dt.Rows[i][1].ToString());
+				}
+				ClassName.Add("Default");
 
-        public void IsResultFilesList(OTSReport_Export m_otsreport_export)
+			}
+			else
+			{
+				ClassName = basicData.GetGroupInformation();
+			}
+			return ClassName;
+		}
+		private DataTable ReadClassification(BasicData basicData)
+		{
+			DataTable dt_stl = new DataTable();
+			SqLiteHelper sh = new SqLiteHelper("data source='" + basicData.GetFilePath() + "\\" + basicData.GetResfile() + "'");
+			dt_stl = sh.ExecuteQuery("select * from STDGroups");
+			return dt_stl;
+		}
+		public void IsResultFilesList(OTSReport_Export m_otsreport_export)
         {
             resfile = m_otsreport_export.m_ReportApp.m_rstDataMgr.ResultFilesList[m_otsreport_export.m_ReportApp.m_rstDataMgr.GetWorkingResultId()];
         }

+ 31 - 31
OTSIncAReportApp/1-UI/OTSReportExport/Template/DataTemplate.cs

@@ -131,7 +131,7 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             basicData.newParticleData(m_otsreport_export);
             basicData.SetAllClass();
             basicData.SetAllElement();
-            basicData.IsThereAMajorClassification();
+            basicData.IsThereAMajorClassification(basicData, m_otsreport_export);
             
             setXRLabelData(dev_ypmc_up, "产品名称:");
             setXRLabelData(dev_ypbh_up, "产品型号:");//样品编号(中间的)
@@ -1996,52 +1996,52 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
         private void add_SetElementAvgGrid(List<DataTable> a_datas)
         {
             XRTable xRTable = add_ElementList();
-            setXRLabelData(xRTable.Rows[2].Cells[2], a_datas[0].Rows[0][2].ToString());
-            setXRLabelData(xRTable.Rows[2].Cells[3], a_datas[0].Rows[0][3].ToString());
-            setXRLabelData(xRTable.Rows[2].Cells[4], a_datas[0].Rows[0][4].ToString());
-            setXRLabelData(xRTable.Rows[2].Cells[5], a_datas[0].Rows[0][5].ToString());
-            setXRLabelData(xRTable.Rows[2].Cells[6], a_datas[0].Rows[0][6].ToString());
-            setXRLabelData(xRTable.Rows[2].Cells[7], a_datas[0].Rows[0][7].ToString());
-            setXRLabelData(xRTable.Rows[2].Cells[8], a_datas[0].Rows[0][8].ToString());
-            setXRLabelData(xRTable.Rows[2].Cells[9], a_datas[0].Rows[0][9].ToString());
-            setXRLabelData(xRTable.Rows[2].Cells[10], a_datas[0].Rows[0][10].ToString());
-            setXRLabelData(xRTable.Rows[2].Cells[11], a_datas[0].Rows[0][11].ToString());
+            setXRLabelData(xRTable.Rows[2].Cells[2], a_datas[0].Rows[0][4].ToString());
+            setXRLabelData(xRTable.Rows[2].Cells[3], a_datas[0].Rows[0][5].ToString());
+            setXRLabelData(xRTable.Rows[2].Cells[4], a_datas[0].Rows[0][6].ToString());
+            setXRLabelData(xRTable.Rows[2].Cells[5], a_datas[0].Rows[0][7].ToString());
+            setXRLabelData(xRTable.Rows[2].Cells[6], a_datas[0].Rows[0][8].ToString());
+            setXRLabelData(xRTable.Rows[2].Cells[7], a_datas[0].Rows[0][9].ToString());
+            setXRLabelData(xRTable.Rows[2].Cells[8], a_datas[0].Rows[0][10].ToString());
+            setXRLabelData(xRTable.Rows[2].Cells[9], a_datas[0].Rows[0][11].ToString());
+            setXRLabelData(xRTable.Rows[2].Cells[10], a_datas[0].Rows[0][12].ToString());
+            setXRLabelData(xRTable.Rows[2].Cells[11], a_datas[0].Rows[0][13].ToString());
 
 
             int ls = 0;
-            //DataTable REORDER_data = REORDER(a_datas[1], "TypeId");
-            //if (REORDER_data.Rows.Count == 0)
-            //    return;
+            DataTable REORDER_data = REORDER(a_datas[1], "TypeId");
+            if (REORDER_data.Rows.Count == 0)
+                return;
+
+            for (int i = 0; i < REORDER_data.Rows.Count; i++)
+            {
+                if (REORDER_data.Rows[i]["Name"].ToString() == "" || REORDER_data.Rows[i]["Name"].ToString() == null)
+                {
+                    ls = i;
+                    continue;
+                }
+            }
 
-            //for (int i = 0; i < REORDER_data.Rows.Count; i++)
-            //{
-            //    if (REORDER_data.Rows[i]["Name"].ToString() == "" || REORDER_data.Rows[i]["Name"].ToString() == null)
-            //    {
-            //        ls = i;
-            //        continue;
-            //    }
-            //}
 
-          
             List<List<ElementalAnalysisDEVData>> list_ElementalAnalysisData = new List<List<ElementalAnalysisDEVData>>();
-            for (int i = 0; i < a_datas[1].Rows.Count; i++)
+            for (int i = 0; i < REORDER_data.Rows.Count; i++)
             {
                 double quantity = 0;
-                for (int a = 4; a < 12; a++)
+                for (int a = 4; a < 14; a++)
                 {
-                    if (a_datas[1].Rows[i][a].ToString() != "")
+                    if (REORDER_data.Rows[i][a].ToString() != "")
                     {
-                        if (double.TryParse(a_datas[1].Rows[i][a].ToString(), out double number))
+                        if (double.TryParse(REORDER_data.Rows[i][a].ToString(), out double number))
                         {
                             quantity = quantity + number;
                         }
                     }
                 }
-                list_ElementalAnalysisData.Add(set_ElementalAnalysisS(subscript.Getsubscriptstring(a_datas[1].Rows[i]["Name"].ToString()), a_datas[1].Rows[i]["Area"].ToString(),
-				   a_datas[1].Rows[i][2].ToString(), a_datas[1].Rows[i][3].ToString(), a_datas[1].Rows[i][4].ToString(), a_datas[1].Rows[i][5].ToString(), a_datas[1].Rows[i][6].ToString(),
-				   a_datas[1].Rows[i][7].ToString(), a_datas[1].Rows[i][8].ToString(), a_datas[1].Rows[i][9].ToString(), a_datas[1].Rows[i][10].ToString(), a_datas[1].Rows[i][11].ToString()));
+                list_ElementalAnalysisData.Add(set_ElementalAnalysisS(subscript.Getsubscriptstring(REORDER_data.Rows[i]["Name"].ToString()), REORDER_data.Rows[i]["Area"].ToString(),
+				   REORDER_data.Rows[i][4].ToString(), REORDER_data.Rows[i][5].ToString(), REORDER_data.Rows[i][6].ToString(), REORDER_data.Rows[i][7].ToString(), REORDER_data.Rows[i][8].ToString(),
+				   REORDER_data.Rows[i][9].ToString(), REORDER_data.Rows[i][10].ToString(), REORDER_data.Rows[i][11].ToString(), REORDER_data.Rows[i][12].ToString(), REORDER_data.Rows[i][13].ToString()));
             }
-            for (int i = 0; i < a_datas[1].Rows.Count; i++)
+            for (int i = 0; i < REORDER_data.Rows.Count; i++)
             {
                 XRTableRow row = new XRTableRow();
                 XRTableCell tCell_subdivision = new XRTableCell();