Ver código fonte

增加重量列 修改釉料取数方式

张忠帅 1 ano atrás
pai
commit
dc7488fd0e

+ 1 - 1
wwwroot/mes/rpt/rpt203/rpt.ashx

@@ -76,7 +76,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
 												INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (4,36,53)  AND PDC.VALUEFLAG=1
 												LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-												LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+												LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
 												LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
 												LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.VALUEFLAG=1 AND  DF.PROCEDUREID NOT IN (61,28) AND DF.PROCEDUREID NOT IN(61,28)
 												LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE IN ('10', '12', '13', '14', '15', '16', '17', '18', '19', '20' )

+ 1 - 1
wwwroot/mes/rpt/rpt204/rpt.ashx

@@ -76,7 +76,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         		LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
                                         		LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
                                         		LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                        		LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID  AND MD.DICTIONARYTYPE = 'TPC002'
+                                        		LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID  AND MD.DICTIONARYTYPE = 'TPC002'
                                         		LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID
 												INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (5,36,52)   AND PDC.VALUEFLAG=1
 												LEFT JOIN TP_MST_USER USERS ON USERS.USERID=PDC.USERID 

+ 3 - 3
wwwroot/mes/rpt/rpt205/rpt.ashx

@@ -68,9 +68,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                     {DEFECT}
                                 FROM
 	                            TP_PM_PRODUCTIONDATA PD
-
+								LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
                                 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+                                LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
                                 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
                                 LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.PROCEDUREID NOT IN(61,28) AND DF.VALUEFLAG=1
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND (MDF.DEFECTTYPEID =4 )
@@ -103,7 +103,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												 LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
 												 LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
 												 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-												 LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+												 LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
 												 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
 												 LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE   AND DF.VALUEFLAG=1 AND DF.PROCEDUREID NOT IN(61,28)
 												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND ( MDF.DEFECTTYPEID =4 or  MDF.DEFECTCODE='20')

+ 3 - 2
wwwroot/mes/rpt/rpt206/rpt.ashx

@@ -70,8 +70,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                     {DEFECT}
                                 FROM
 	                            TP_PM_PRODUCTIONDATA PD
+								LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
                                 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+                                LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
                                 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID  
                                 LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.PROCEDUREID NOT IN(61,28) AND DF.VALUEFLAG=1
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTID IN (
@@ -107,7 +108,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												 LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
 												 LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
 												 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-												 LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+												 LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
 												 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID  
 												 LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE   AND DF.VALUEFLAG=1 AND DF.PROCEDUREID NOT IN(61,28)
 												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND MDF.DEFECTCODE IN ( '47','48','49','50','51','52','53','54','55','56','20','57')

+ 3 - 3
wwwroot/mes/rpt/rpt207/rpt.ashx

@@ -70,9 +70,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                     {DEFECT}
                                 FROM
 	                            TP_PM_PRODUCTIONDATA PD
-
+								LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
                                 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+                                LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
                                 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
                                 LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.PROCEDUREID NOT IN(61,28)
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE IN('61','62','63','64','65','66','67') AND DF.VALUEFLAG=1
@@ -106,7 +106,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												 LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
 												 LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
 												 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-												 LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+												 LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
 												 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
 												 LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE   AND DF.VALUEFLAG=1  AND DF.PROCEDUREID NOT IN(61,28)
 												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND MDF.DEFECTCODE IN('61','62','63','64','65','66','67') 

+ 3 - 3
wwwroot/mes/rpt/rpt208/rpt.ashx

@@ -70,9 +70,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                     {DEFECT}
                                 FROM
 	                            TP_PM_PRODUCTIONDATA PD
-
+								LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
                                 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+                                LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
                                 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
                                 LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.VALUEFLAG=1 AND DF.PROCEDUREID NOT IN(61,28)
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND(DEFECTTYPEID=7 or  MDF.DEFECTCODE=43)
@@ -105,7 +105,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												 LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
 												 LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
 												 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-												 LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+												 LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
 												 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
 												 LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.VALUEFLAG=1 
 												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND(DEFECTTYPEID=7 or  MDF.DEFECTCODE=43)

+ 3 - 3
wwwroot/mes/rpt/rpt209/rpt.ashx

@@ -72,9 +72,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                     {DEFECT}
                                 FROM
 	                            TP_PM_PRODUCTIONDATA PD
-
+								LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
                                 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+                                LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
                                 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
                                 LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE   AND DF.VALUEFLAG=1 AND DF.PROCEDUREID NOT IN(61,28)
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTTYPEID =8
@@ -107,7 +107,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												 LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
 												 LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
 												 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-												 LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+												 LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
 												 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
 												 LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.VALUEFLAG=1 AND DF.PROCEDUREID NOT IN(61,28)
 												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND MDF.DEFECTTYPEID =8

+ 4 - 3
wwwroot/mes/rpt/rpt210/rpt.ashx

@@ -53,9 +53,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                     ELSE TO_CHAR( SUM( CASE WHEN DF.DEFECTCODE = '86' THEN 1 ELSE 0 END ) ) END 原料泥料铜脏 
                                 FROM
 	                            TP_PM_PRODUCTIONDATA PD
-
+                                LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
                                 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+                                LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
                                 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
                                 LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.VALUEFLAG=1  AND DF.PROCEDUREID NOT IN(61,28)
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE in('87','88','086','86')
@@ -87,8 +87,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 										TO_CHAR(SUM( CASE WHEN DF.DEFECTCODE = '86' THEN 1 ELSE 0 END ))  原料泥料铜脏
 									FROM
 	                                TP_PM_PRODUCTIONDATA PD
+                                LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
                                 LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+                                LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
                                 LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
                                 LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.VALUEFLAG=1
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE in('87','88','086','86')

+ 1 - 1
wwwroot/mes/rpt/rpt211/rpt.ashx

@@ -87,7 +87,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
                                         	LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
                                         	LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                        	LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID 
+                                        	LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID 
                                         	AND MD.DICTIONARYTYPE = 'TPC002'
                                         	LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID
                                         	LEFT JOIN TP_PM_DEFECT DF ON DF.BARCODE = PD.BARCODE AND DF.VALUEFLAG=1  AND DF.PROCEDUREID NOT IN(61,28)

+ 1 - 1
wwwroot/mes/rpt/rpt212/rpt.ashx

@@ -80,7 +80,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
 												INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (4,36,53) AND PDC.VALUEFLAG=1
 												LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-												LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
+												LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
 												LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
 												LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.VALUEFLAG=1  AND DF.PROCEDUREID NOT IN(61,28)
 												LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE IN ('10', '12', '13', '14', '15', '16', '17', '18', '19', '20'  )

+ 1 - 1
wwwroot/mes/rpt/rpt213/rpt.ashx

@@ -79,7 +79,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         		LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
                                         		LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
                                         		LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                        		LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID  AND MD.DICTIONARYTYPE = 'TPC002'
+                                        		LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID  AND MD.DICTIONARYTYPE = 'TPC002'
                                         		LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID
 												INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (5,36,52) AND PDC.VALUEFLAG=1
 												LEFT JOIN TP_MST_USER USERS ON USERS.USERID=PDC.USERID 

+ 1 - 1
wwwroot/mes/rpt/rpt214/rpt.ashx

@@ -77,7 +77,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
                                         	LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
                                         	LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                        	LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID 
+                                        	LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID 
                                         	AND MD.DICTIONARYTYPE = 'TPC002'
                                         	LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID
                                         	LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE AND DF.PROCEDUREID NOT IN(61,28)   AND DF.DEFECTID IN (

+ 1 - 1
wwwroot/mes/rpt/rpt215/rpt.ashx

@@ -77,7 +77,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
                                         	LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
                                         	LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                        	LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID 
+                                        	LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID 
                                         	AND MD.DICTIONARYTYPE = 'TPC002'
                                         	LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID
                                         	LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE AND DF.PROCEDUREID NOT IN(61,28)   AND DF.DEFECTID IN (

+ 1 - 1
wwwroot/mes/rpt/rpt216/rpt.ashx

@@ -77,7 +77,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
                                         	LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
                                         	LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                        	LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID 
+                                        	LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID 
                                         	AND MD.DICTIONARYTYPE = 'TPC002'
                                         	LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID
                                         	LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE AND DF.PROCEDUREID NOT IN(61,28)  AND DF.DEFECTID IN (

+ 1 - 1
wwwroot/mes/rpt/rpt217/rpt.ashx

@@ -76,7 +76,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
                                         	LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
                                         	LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                        	LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID 
+                                        	LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID 
                                         	AND MD.DICTIONARYTYPE = 'TPC002'
                                         	LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID
                                         	LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE   AND DF.DEFECTCODE IN('61','62','63','64','65','66','67')  AND DF.VALUEFLAG=1  AND DF.PROCEDUREID NOT IN(61,28)

+ 1 - 1
wwwroot/mes/rpt/rpt218/rpt.ashx

@@ -77,7 +77,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
                                         	LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
                                         	LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                        	LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID 
+                                        	LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID 
                                         	AND MD.DICTIONARYTYPE = 'TPC002'
                                         	LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID
                                         	LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE AND DF.PROCEDUREID NOT IN(61,28)  AND DF.DEFECTCODE IN (SELECT DISTINCT  MDF.DEFECTCODE

+ 1 - 1
wwwroot/mes/rpt/rpt219/rpt.ashx

@@ -77,7 +77,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
                                         	LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
                                         	LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                        	LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID 
+                                        	LEFT JOIN TP_MST_DataDictionary MD ON GDL.GLAZETYPEID = MD.DICTIONARYID 
                                         	AND MD.DICTIONARYTYPE = 'TPC002'
                                         	LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID
                                         	LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.DEFECTID IN (

+ 35 - 18
wwwroot/mes/rpt/rpt304/rpt.ashx

@@ -278,21 +278,31 @@ count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '0100')  THEN (DF.BARCODE || df.DEF
 												Grouping sets ( ( gd.GOODSCODE, gd.GOODSNAME,gtp.GOODSTYPENAME ), ( gtp.GOODSTYPENAME) , ( gtp.GOODSTYPENAME) ,(SUBSTR(gtp.GOODSTYPECODE, 0, 6)),()    ) 
 								),
 								检验数 AS (	SELECT
- CASE WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =5   THEN '小计'
-											WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =6   THEN '合计'
-											WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =7   THEN '总计'
-														ELSE to_char(pd.GOODSCODE) END AS GOODSCODE,
-									GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)),
+GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPECODESIX),
+ CASE WHEN  GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPECODESIX) =5   THEN '小计'
+			WHEN  GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPECODESIX) =6   THEN '合计'
+			WHEN  GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPECODESIX) =7   THEN '总计'
+													 ELSE to_char(GOODSCODE) END AS GOODSCODE,
+CASE WHEN GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPECODESIX)=6 AND GOODSTYPECODESIX='001001' THEN '大件' 
+		 WHEN GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPECODESIX)=6 AND GOODSTYPECODESIX='001002' THEN '小件'
+										   ELSE TO_CHAR(GOODSTYPENAME )END GOODSTYPENAME,GOODSNAME,
+											  SUM(检验量)检验量,SUM(合格量) 合格量,SUM(残品) 残品,
+											 SUM(检验量*LUSTERWAREWEIGHT) 出窑重量,
+											 SUM(合格量*LUSTERWAREWEIGHT) 合格品重量,
+											 SUM(残品*LUSTERWAREWEIGHT) 残品重量
+FROM(
+SELECT
+									pd.GOODSCODE,
+									SUBSTR(pd.GOODSTYPECODE, 0, 6) GOODSTYPECODESIX,
 									pd.GOODSNAME,
-									CASE WHEN GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME,SUBSTR(PD.GOODSTYPECODE, 0, 6))=6 AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001001' THEN '大件' 
-										 WHEN GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME,SUBSTR(PD.GOODSTYPECODE, 0, 6))=6 AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001002' THEN '小件'
-										 ELSE TO_CHAR(PD.GOODSTYPENAME )END GOODSTYPENAME,
+									PD.GOODSTYPENAME,
 									COUNT( DISTINCT pd.BARCODE ) AS 检验量,
 									SUM( CASE WHEN PD.GOODSLEVELTYPEID IN ( 4, 5 ) THEN 1 ELSE 0 END ) AS 合格量,
-								SUM( CASE WHEN PD.GOODSLEVELTYPEID  NOT IN ( 4, 5 ) THEN 1 ELSE 0  END ) 残品 
+									SUM( CASE WHEN PD.GOODSLEVELTYPEID  NOT IN ( 4, 5 ) THEN 1 ELSE 0  END ) 残品,
+									LUSTERWAREWEIGHT
 FROM(
 SELECT
-	PRODUCTIONDATAID,BARCODE,GOODSCODE,GOODSLEVELTYPEID,REWORKPROCEDUREID ,GOODSNAME,GOODSTYPENAME,GOODSTYPECODE,
+	PRODUCTIONDATAID,BARCODE,GOODSCODE,GOODSLEVELTYPEID,REWORKPROCEDUREID ,GOODSNAME,GOODSTYPENAME,GOODSTYPECODE,LUSTERWAREWEIGHT,
 row_number() over (partition by BARCODE order by GOODSLEVELTYPEID DESC ) as rownums 
 	FROM(
 	SELECT DISTINCT
@@ -307,7 +317,7 @@ row_number() over (partition by BARCODE order by GOODSLEVELTYPEID DESC ) as rown
 											 WHEN PD.GOODSLEVELTYPEID  = PDS.GOODSLEVELTYPEID THEN PD.GOODSLEVELTYPEID
 											 ELSE NULL END GOODSLEVELTYPEID,
 									PD.REWORKPROCEDUREID ,
-									gtp.GOODSTYPENAME
+									gtp.GOODSTYPENAME,good.LUSTERWAREWEIGHT
 								FROM
 									TP_PM_PRODUCTIONDATA pd
 									LEFT JOIN TP_MST_GOODS good on good.GOODSID=PD.GOODSID
@@ -317,13 +327,15 @@ row_number() over (partition by BARCODE order by GOODSLEVELTYPEID DESC ) as rown
 									PD.VALUEFLAG = 1 
 									AND PD.PROCEDUREID = 16 
 									AND PD.CREATETIME >= @DATEBEGIN@
-									AND PD.CREATETIME <=   @DATEEND@  
+									AND PD.CREATETIME <=   @DATEEND@ 
 
 									)
 ) pd
 WHERE rownums=1
-	GROUP BY
-									Grouping sets ( ( pd.GOODSCODE, pd.GOODSNAME,PD.GOODSTYPENAME ), (PD.GOODSTYPENAME),(SUBSTR(pd.GOODSTYPECODE, 0, 6)),() ) 		),
+	GROUP BY pd.GOODSCODE,SUBSTR(pd.GOODSTYPECODE, 0, 6),pd.GOODSNAME,PD.GOODSTYPENAME,LUSTERWAREWEIGHT
+				
+)
+		GROUP BY Grouping sets((GOODSCODE,GOODSNAME,GOODSTYPENAME,GOODSTYPECODESIX),(GOODSTYPENAME),(GOODSTYPECODESIX),())),
 								产品 AS (
 								SELECT TO_CHAR(GOODSCODE) AS GOODSCODE,GOODSNAME,GOODSSPECIFICATION,gtp.GOODSTYPENAME 
 											,TP_MST_GOODS.LUSTERWAREWEIGHT
@@ -354,8 +366,11 @@ WHERE rownums=1
 								CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(检验数.GOODSTYPENAME) ELSE NULL END 产品类别,
 								CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(产品.LUSTERWAREWEIGHT) ELSE NULL END 重量,
 								CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(检验数.检验量) ELSE NULL END 检验量,
+							    CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(检验数.出窑重量) ELSE NULL END 出窑重量,
 								CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(检验数.合格量) ELSE NULL END 合格量,
+								CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(检验数.合格品重量) ELSE NULL END 合格品重量,
 								CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(检验数.残品) ELSE NULL END 残品,
+								CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(检验数.残品重量) ELSE NULL END 残品重量,
 								CASE WHEN 检验数.GOODSCODE <> '总计' THEN DECODE( NVL( 检验数.合格量, 0 ), 0, '0%', TO_CHAR( ( NVL( 检验数.合格量, 0 ) / DECODE( NVL( 检验数.检验量, 1 ), 0, 1, NVL( 检验数.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) ELSE NULL END AS 合格率,
 								to_char(nvl(s.成型半检缺陷_坯脏,0)) AS 成型半检缺陷__坯脏,
 								to_char(nvl(s.成型半检缺陷_棕眼,0)) AS 成型半检缺陷__棕眼,
@@ -501,9 +516,11 @@ WHERE rownums=1
 								to_Char(产品.GOODSSPECIFICATION),
 								to_Char(产品.GOODSTYPENAME),
 								to_Char(产品.LUSTERWAREWEIGHT),
-								to_Char(打磨擦洗出窑数.质量登记),
+								to_Char(打磨擦洗出窑数.质量登记),to_Char(检验数.出窑重量),
 								to_Char(检验数.合格量),
+								to_Char(检验数.合格品重量),
 								to_Char(检验数.残品),
+								to_Char(检验数.残品重量),
 								DECODE( NVL( 检验数.合格量, 0 ), 0, '0%', TO_CHAR( ( NVL( 检验数.合格量, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 合格率,
 								DECODE( NVL( s.成型半检缺陷_坯脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_坯脏, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
 DECODE( NVL( s.成型半检缺陷_棕眼, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_棕眼, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
@@ -646,9 +663,9 @@ DECODE( NVL( s.其他_隧道窑其他试验不良, 0 ), 0, '0%', TO_CHAR( ( NVL(
 								'' 产品规格,
 								''产品类别,
 								'' 重量,
-								'' 检验量,
-								'' 合格量,
-								'' 残品,
+								'' 检验量,'',
+								'' 合格量,'',
+								'' 残品,'',
 								'' 合格率,
 								to_Char(检验数.检验量)		 AS 成型半检缺陷__坯脏,
 								to_Char(检验数.检验量)		 AS 成型半检缺陷__棕眼,

+ 366 - 255
wwwroot/mes/rpt/rpt305/rpt.ashx

@@ -30,21 +30,42 @@ public class rpt : IHttpHandler, IReadOnlySessionState
             {
                 if (procedure == "本烧")
                 {
-                        sqlStr = @" WITH 数据源 AS ( SELECT											 GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) GID,
-                                               CASE WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =5   THEN '小计'
-											WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =6   AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001002'  THEN '小件合计'
-                                            WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =6   AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001001'  THEN '大件合计'
-											WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =7   THEN '总计'
-														ELSE to_char(pd.GOODSCODE) END AS 产品编码,
-                                                    TO_CHAR(PD.LUSTERWAREWEIGHT)  AS LUSTERWAREWEIGHT,
-																								
-                                                PD.GOODSNAME 产品名称,
-                                                PD.LOGONAME 商标,
-                                                PD.DICTIONARYVALUE 釉色,
-                                                PD.GOODSSPECIFICATION 产品规格,
-												CASE WHEN GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME,SUBSTR(PD.GOODSTYPECODE, 0, 6))=6 AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001001' THEN '大件' 
-										 WHEN GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME,SUBSTR(PD.GOODSTYPECODE, 0, 6))=6 AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001002' THEN '小件'
-										 ELSE TO_CHAR(PD.GOODSTYPENAME )END 产品类别,
+                        sqlStr = @" WITH 数据源 AS (
+                                        SELECT
+                                       GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) GID,
+                                       CASE WHEN   GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) =5   THEN '小计'
+											WHEN   GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) =6   AND GOODSTYPENAMESIX='001002'  THEN '小件合计'
+                                            WHEN   GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) =6   AND GOODSTYPENAMESIX='001001'  THEN '大件合计'
+											WHEN   GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) =7   THEN '总计'
+														ELSE to_char(GOODSCODE) END AS 产品编码,
+											LUSTERWAREWEIGHT 单重,
+											GOODSNAME 产品名称,
+											LOGONAME 商标,DICTIONARYVALUE 釉色,
+											GOODSSPECIFICATION 产品规格,
+											CASE WHEN  GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX)=6 AND GOODSTYPENAMESIX='001001' THEN '大件' 
+											     WHEN  GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX)=6 AND GOODSTYPENAMESIX='001002' THEN '小件'
+											     ELSE TO_CHAR(GOODSTYPENAME )END 产品类别,
+											SUM(出窑量_出窑量) 出窑量_出窑量,
+											SUM(出窑量_出窑量 * LUSTERWAREWEIGHT) 出窑量_出窑重量,
+											SUM(出窑量_产量) 出窑量_产量,
+											SUM(出窑量_产量* LUSTERWAREWEIGHT) 出窑量_合格品重量,
+											SUM(出窑量_残品) 出窑量_残品,
+											SUM(出窑量_残品* LUSTERWAREWEIGHT) 出窑量_残品重量,
+											SUM(原料缺陷) 原料缺陷,
+											SUM(成型缺陷_成A) 成型缺陷_成A,SUM(成型缺陷_成B) 成型缺陷_成B,
+											SUM(成型缺陷_成C) 成型缺陷_成C,SUM(成型缺陷_高压) 成型缺陷_高压, 
+											SUM(成型缺陷_打磨) 成型缺陷_打磨,SUM(成型缺陷_擦洗) 成型缺陷_擦洗,
+											SUM(成型缺陷_半检) 成型缺陷_半检,SUM(烧成窑缺陷_施釉)烧成窑缺陷_施釉,
+											SUM(烧成窑缺陷_擦坯) 烧成窑缺陷_擦坯,SUM(烧成窑缺陷_装窑) 烧成窑缺陷_装窑, 
+											SUM(烧成窑缺陷_烧窑) 烧成窑缺陷_烧窑,SUM(烧成窑缺陷_出窑) 烧成窑缺陷_出窑, SUM(其他缺陷) 其他缺陷
+										FROM(
+                                    SELECT		pd.GOODSCODE,LUSTERWAREWEIGHT,
+												PD.GOODSNAME ,
+                                                PD.LOGONAME ,
+                                                PD.DICTIONARYVALUE ,
+                                                PD.GOODSSPECIFICATION ,
+												SUBSTR(PD.GOODSTYPECODE, 0, 6) AS GOODSTYPENAMESIX,
+												PD.GOODSTYPENAME,
                                                 COUNT(DISTINCT PD.BARCODE ) as 出窑量_出窑量,
 												COUNT(DISTINCT CASE WHEN   PD.GOODSLEVELTYPEID IN (4,5) THEN PD.BARCODE ELSE NULL END) AS 出窑量_产量,
                                                 COUNT(DISTINCT CASE WHEN   PD.GOODSLEVELTYPEID NOT IN (4,5) AND PD.GOODSLEVELTYPEID IS NOT NULL   THEN PD.BARCODE ELSE NULL END) AS 出窑量_残品,
@@ -52,8 +73,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                                 COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'A') > 0 AND PD.HIGHPRESSUREFLAG=0 AND (DEFECT.DEFECTTYPEID=1 OR df.DEFECTCODE ='99' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成A,
                                                 COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'B') > 0 AND PD.HIGHPRESSUREFLAG=0 AND (DEFECT.DEFECTTYPEID=1 OR df.DEFECTCODE ='99' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成B,
                                                 COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'C') > 0 AND PD.HIGHPRESSUREFLAG=0 AND (DEFECT.DEFECTTYPEID=1 OR df.DEFECTCODE ='99' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成C,
-                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND ( DEFECT.DEFECTTYPEID=1 OR df.DEFECTCODE ='99' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_高压,
-                                                TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '20' ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
+                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND ( DEFECT.DEFECTTYPEID=1 OR df.DEFECTCODE ='99' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_高压,																	TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '20' ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
 									            TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (5,36,52) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_擦洗,
                                                 COUNT(DISTINCT CASE WHEN DEFECT.VALUEFLAG=1 AND DEFECT.DEFECTTYPEID=1 AND DEFECT.DEFECTCODE NOT IN  ('001','002','1','2','3') THEN PD.BARCODE ELSE NULL END) 成型缺陷_半检,
 									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '36','37','38','39','40','41','42','43','44') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_施釉,
@@ -100,9 +120,11 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                                 LEFT JOIN TP_PM_DEFECT df ON DF.BARCODE=PD.BARCODE AND DF.VALUEFLAG=1 AND DF.PROCEDUREID NOT IN(61,28) 
 												LEFT JOIN TP_MST_DEFECT DEFECT ON DEFECT.DEFECTID=DF.DEFECTID AND DEFECT.VALUEFLAG=1   
 												INNER JOIN TP_PM_PRODUCTIONDATA PDS ON PDS.BARCODE = PD.BARCODE AND PDS.VALUEFLAG=1
-												GROUP BY Grouping sets(
-                                                        (PD.GOODSCODE ,PD.GOODSNAME ,PD.LOGONAME ,PD.DICTIONARYVALUE,PD.GOODSSPECIFICATION,PD.GOODSTYPENAME,PD.LUSTERWAREWEIGHT),
-                                                        (PD.GOODSTYPENAME),(SUBSTR(pd.GOODSTYPECODE, 0, 6)),())
+												GROUP BY pd.GOODSCODE,LUSTERWAREWEIGHT,PD.GOODSNAME,PD.LOGONAME,PD.DICTIONARYVALUE,
+                                                PD.GOODSSPECIFICATION,SUBSTR(PD.GOODSTYPECODE, 0, 6),PD.GOODSTYPENAME
+												)
+												GROUP BY Grouping sets((GOODSCODE,GOODSNAME,LOGONAME,DICTIONARYVALUE,GOODSSPECIFICATION,LUSTERWAREWEIGHT,GOODSTYPENAME,GOODSTYPENAMESIX),
+														 (GOODSTYPENAME),(GOODSTYPENAMESIX),())
                                                  ),
 													 工序对应出窑量 AS (
 											    SELECT
@@ -123,7 +145,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 											    LEFT JOIN TP_PM_GROUTINGDAILYDETAIL gd ON gd.barcode=pd.barcode
 											    LEFT JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID=gd.GROUTINGLINEID
 											    WHERE PD.VALUEFLAG=1 AND PD.PROCEDUREID=16
-											    	AND pd.CREATETIME>=@DATEBEGIN@ AND pd.CREATETIME<= @DATEEND@
+											    	AND pd.CREATETIME>=@DATEBEGIN@ 
+                                                    AND pd.CREATETIME<= @DATEEND@
 																								 )
                                                  SELECT
                                                  *
@@ -133,12 +156,15 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         TO_CHAR(产品名称) AS 产品名称,
                                         TO_CHAR(产品规格) AS 产品规格,
 										TO_CHAR(产品类别) AS 产品类别,
-                                        TO_CHAR(LUSTERWAREWEIGHT) 重量,
+                                        TO_CHAR(单重) 单重,
                                         TO_CHAR(釉色) AS 釉色,
                                         TO_CHAR(商标) AS 商标,
                                         TO_CHAR(出窑量_出窑量) AS 出窑量,
+                                        TO_CHAR(出窑量_出窑重量) AS 出窑重量,
                                         TO_CHAR(出窑量_产量) AS 产量,
+                                        TO_CHAR(出窑量_合格品重量) AS 合格品重量,
                                         TO_CHAR(出窑量_残品) AS 残品,
+                                        TO_CHAR(出窑量_残品重量) AS 残品重量,
                                          DECODE( NVL( 出窑量_产量, 0 ), 0, '0%', TO_CHAR( ( NVL( 出窑量_产量, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL( 出窑量_出窑量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' )  合格率,
                                         TO_CHAR(原料缺陷) AS 原料缺陷,
                                         TO_CHAR(成型缺陷_成A) AS 成型缺陷_成A,
@@ -157,7 +183,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         FROM 数据源
                                           UNION ALL                                    
                                 SELECT
-																DISTINCT
+									DISTINCT
 	                                '出窑数',
 	                                '',
 	                                '',
@@ -168,21 +194,21 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                                '',
                                     '',
                                     '',
-                                    '',
+                                    '','','','',
 	                                to_Char(出窑量_出窑量),	
-																	to_Char(成A出窑量),
-																	to_Char(成B出窑量),
-																	to_Char(成C出窑量),
-																	to_Char(高压出窑量),
-																	to_Char(打磨出窑量),
-																	to_Char(擦洗出窑量),
-																	to_Char(半检出窑量),
-																	to_Char(施釉出窑量),
-																	to_Char(擦坯出窑量),
-																	to_Char(装窑出窑量),
-																	to_Char(烧窑出窑量),
-																	to_Char(卸窑出窑量),
-																	to_Char(出窑量_出窑量 )
+									to_Char(成A出窑量),
+									to_Char(成B出窑量),
+									to_Char(成C出窑量),
+									to_Char(高压出窑量),
+									to_Char(打磨出窑量),
+									to_Char(擦洗出窑量),
+									to_Char(半检出窑量),
+									to_Char(施釉出窑量),
+									to_Char(擦坯出窑量),
+									to_Char(装窑出窑量),
+									to_Char(烧窑出窑量),
+									to_Char(卸窑出窑量),
+									to_Char(出窑量_出窑量 )
                                 FROM
 	                                工序对应出窑量
 	                                LEFT JOIN 数据源 ON 1=1 
@@ -196,7 +222,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                       '',
                                       '',
                                       '',
-                                      '',
+                                      '','','','',
                                       '','','','',
                                       DECODE( NVL(  数据源.原料缺陷, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.原料缺陷, 0 ) / DECODE( NVL( 数据源.出窑量_出窑量, 1 ), 0, 1, NVL(  数据源.出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 原料缺陷,
 																			
@@ -230,48 +256,68 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                 }
                 else if (procedure == "回烧")
                 {
-                           sqlStr = @" WITH 数据源 AS (SELECT
-                       GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6))GID,
-								 CASE WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =5   THEN '小计'
-											WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =6   AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001002'  THEN '小件合计'
-                                            WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =6   AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001001'  THEN '大件合计'
-											WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =7   THEN '总计'
-														ELSE to_char(pd.GOODSCODE) END AS 产品编码,
-                                                    TO_CHAR(PD.LUSTERWAREWEIGHT)  AS LUSTERWAREWEIGHT,
-																								
-                                                PD.GOODSNAME 产品名称,
-                                                PD.LOGONAME 商标,
-                                                PD.DICTIONARYVALUE 釉色,
-                                                PD.GOODSSPECIFICATION 产品规格,
-
-																							CASE WHEN GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME,SUBSTR(PD.GOODSTYPECODE, 0, 6))=6 AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001001' THEN '大件' 
-										 WHEN GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME,SUBSTR(PD.GOODSTYPECODE, 0, 6))=6 AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001002' THEN '小件'
-										 ELSE TO_CHAR(PD.GOODSTYPENAME )END 产品类别,
+                           sqlStr = @" WITH 数据源 AS (
+                                        SELECT
+                                       GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) GID,
+                                       CASE WHEN   GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) =5   THEN '小计'
+											WHEN   GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) =6   AND GOODSTYPENAMESIX='001002'  THEN '小件合计'
+                                            WHEN   GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) =6   AND GOODSTYPENAMESIX='001001'  THEN '大件合计'
+											WHEN   GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) =7   THEN '总计'
+														ELSE to_char(GOODSCODE) END AS 产品编码,
+											LUSTERWAREWEIGHT 单重,
+											GOODSNAME 产品名称,
+											LOGONAME 商标,DICTIONARYVALUE 釉色,
+											GOODSSPECIFICATION 产品规格,
+											CASE WHEN  GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX)=6 AND GOODSTYPENAMESIX='001001' THEN '大件' 
+											     WHEN  GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX)=6 AND GOODSTYPENAMESIX='001002' THEN '小件'
+											     ELSE TO_CHAR(GOODSTYPENAME )END 产品类别,
+											SUM(出窑量_出窑量) 出窑量_出窑量,
+											SUM(出窑量_出窑量 * LUSTERWAREWEIGHT) 出窑量_出窑重量,
+											SUM(出窑量_产量) 出窑量_产量,
+											SUM(出窑量_产量* LUSTERWAREWEIGHT) 出窑量_合格品重量,
+											SUM(出窑量_残品) 出窑量_残品,
+											SUM(出窑量_残品* LUSTERWAREWEIGHT) 出窑量_残品重量,
+											SUM(原料缺陷) 原料缺陷,
+											SUM(成型缺陷_成A) 成型缺陷_成A,SUM(成型缺陷_成B) 成型缺陷_成B,
+											SUM(成型缺陷_成C) 成型缺陷_成C,SUM(成型缺陷_高压) 成型缺陷_高压, 
+											SUM(成型缺陷_打磨) 成型缺陷_打磨,SUM(成型缺陷_擦洗) 成型缺陷_擦洗,
+											SUM(成型缺陷_半检) 成型缺陷_半检,SUM(烧成窑缺陷_施釉)烧成窑缺陷_施釉,
+											SUM(烧成窑缺陷_擦坯) 烧成窑缺陷_擦坯,SUM(烧成窑缺陷_装窑) 烧成窑缺陷_装窑, 
+											SUM(烧成窑缺陷_烧窑) 烧成窑缺陷_烧窑,SUM(烧成窑缺陷_出窑) 烧成窑缺陷_出窑, SUM(其他缺陷) 其他缺陷
+										FROM(
+                                    SELECT		pd.GOODSCODE,LUSTERWAREWEIGHT,
+												PD.GOODSNAME ,
+                                                PD.LOGONAME ,
+                                                PD.DICTIONARYVALUE ,
+                                                PD.GOODSSPECIFICATION ,
+												SUBSTR(PD.GOODSTYPECODE, 0, 6) AS GOODSTYPENAMESIX,
+												PD.GOODSTYPENAME,
                                                 COUNT(DISTINCT PD.BARCODE ) as 出窑量_出窑量,
 												COUNT(DISTINCT CASE WHEN   PD.GOODSLEVELTYPEID IN (4,5) THEN PD.BARCODE ELSE NULL END) AS 出窑量_产量,
                                                 COUNT(DISTINCT CASE WHEN   PD.GOODSLEVELTYPEID NOT IN (4,5) AND PD.GOODSLEVELTYPEID IS NOT NULL   THEN PD.BARCODE ELSE NULL END) AS 出窑量_残品,
                                                 COUNT(DISTINCT CASE WHEN   DEFECTTYPEID IN (9,10) THEN PD.BARCODE ELSE NULL END) 原料缺陷,
-                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'A') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成A,
-                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'B') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成B,
-                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'C') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成C,
-                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND DEFECT.DEFECTTYPEID=1 THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_高压,
-                                                TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '20' ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
-									            TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (5,36,52) AND df.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_擦洗,
-                                                COUNT(DISTINCT CASE WHEN  DEFECT.DEFECTTYPEID=1 THEN PD.BARCODE ELSE NULL END) 成型缺陷_半检,
+                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'A') > 0 AND PD.HIGHPRESSUREFLAG=0 AND (DEFECT.DEFECTTYPEID=1 OR df.DEFECTCODE ='99' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成A,
+                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'B') > 0 AND PD.HIGHPRESSUREFLAG=0 AND (DEFECT.DEFECTTYPEID=1 OR df.DEFECTCODE ='99' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成B,
+                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'C') > 0 AND PD.HIGHPRESSUREFLAG=0 AND (DEFECT.DEFECTTYPEID=1 OR df.DEFECTCODE ='99' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成C,
+                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND ( DEFECT.DEFECTTYPEID=1 OR df.DEFECTCODE ='99' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_高压,																	TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '20' ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
+									            TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (5,36,52) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_擦洗,
+                                                COUNT(DISTINCT CASE WHEN DEFECT.VALUEFLAG=1 AND DEFECT.DEFECTTYPEID=1 AND DEFECT.DEFECTCODE NOT IN  ('001','002','1','2','3') THEN PD.BARCODE ELSE NULL END) 成型缺陷_半检,
 									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '36','37','38','39','40','41','42','43','44') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_施釉,
                                                 TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '47','48','49','50','51','52','53','54','55','56','20','57')AND DF.DEFECTCODE IS NOT NULL AND PD.BARCODE IS NOT NULL  THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END ))AS 烧成窑缺陷_擦坯,
-												TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '070','071','43','073','074','075','076','077','078','079','069','080') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_装窑,
+												TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '61','62','63','64','65','66','67') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_装窑,
 									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '69','70','71','43','73','74','75','76','77','78','79','80') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END ))AS 烧成窑缺陷_烧窑,
-									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '0083','0084')  THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_出窑,
-                                                COUNT(DISTINCT CASE WHEN  DF.DEFECTCODE IN ('099','0100') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 其他缺陷
-                                                FROM(SELECT * FROM(
-                                                 SELECT
-                                                      BARCODE,REWORKPROCEDUREID,GROUTINGLINECODE,GOODSCODE,GOODSNAME,LOGONAME,GOODSLEVELTYPEID,GOODSSPECIFICATION,DICTIONARYVALUE,GOODSTYPECODE,
-                                                      LUSTERWAREWEIGHT,HIGHPRESSUREFLAG,PROCEDUREID,GOODSTYPENAME,row_number() over (partition by BARCODE order by GOODSLEVELTYPEID DESC ) as rownums
-                                                 FROM(
-                                                 SELECT
+									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '83','84')  THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_出窑,
+                                                COUNT(DISTINCT CASE WHEN  DF.DEFECTCODE IN ('99','100') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 其他缺陷
+                                                FROM(
+                                               SELECT * FROM(
+                                                         SELECT
+                                                         BARCODE,REWORKPROCEDUREID,GROUTINGLINECODE,GOODSCODE,GOODSNAME,LOGONAME,GOODSLEVELTYPEID,GOODSSPECIFICATION,DICTIONARYVALUE,
+                                                       HIGHPRESSUREFLAG,PROCEDUREID,GOODSTYPENAME,GOODSTYPECODE,LUSTERWAREWEIGHT,
+                                                         row_number() over (partition by BARCODE order by GOODSLEVELTYPEID DESC ) as rownums
+                                                     FROM(
+                                             SELECT
                                                 DISTINCT pd.BARCODE,
-																								PD.REWORKPROCEDUREID,
+												PD.REWORKPROCEDUREID,
                                                 pd.GROUTINGLINECODE,
                                                 pd.GOODSCODE,
                                                 pd.GOODSNAME,
@@ -281,14 +327,14 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                                 GL.HIGHPRESSUREFLAG,
                                                 pd.PROCEDUREID AS PROCEDUREID,
 												gtp.GOODSTYPENAME,gtp.GOODSTYPECODE,
-												CASE WHEN PDLS.GOODSLEVELTYPEID < PD.GOODSLEVELTYPEID  THEN PD.GOODSLEVELTYPEID 
-												WHEN PD.GOODSLEVELTYPEID  < PDLS.GOODSLEVELTYPEID THEN PDLS.GOODSLEVELTYPEID
+												CASE WHEN PDL.GOODSLEVELTYPEID < PD.GOODSLEVELTYPEID  THEN PD.GOODSLEVELTYPEID 
+												WHEN PD.GOODSLEVELTYPEID  < PDL.GOODSLEVELTYPEID THEN PDL.GOODSLEVELTYPEID
 												WHEN PDL.GOODSLEVELTYPEID IS NULL  THEN PD.GOODSLEVELTYPEID
-												WHEN PD.GOODSLEVELTYPEID  = PDLS.GOODSLEVELTYPEID THEN PD.GOODSLEVELTYPEID
+												WHEN PD.GOODSLEVELTYPEID  = PDL.GOODSLEVELTYPEID THEN PD.GOODSLEVELTYPEID
 												ELSE NULL END GOODSLEVELTYPEID
-                  FROM
-                       TP_PM_PRODUCTIONDATA pd
-											  INNER  JOIN TP_PM_PRODUCTIONDATA PDL ON PDL.BARCODE=PD.BARCODE AND PDL.PROCEDUREID=24
+												FROM
+										   TP_PM_PRODUCTIONDATA pd
+												INNER  JOIN TP_PM_PRODUCTIONDATA PDL ON PDL.BARCODE=PD.BARCODE AND PDL.PROCEDUREID=24
 												LEFT  JOIN TP_PM_PRODUCTIONDATA PDLS ON PDLS.BARCODE=PD.BARCODE AND PDLS.PROCEDUREID=61 AND PDLS.VALUEFLAG=1
                         LEFT JOIN TP_MST_GOODS good on good.GOODSID=PD.GOODSID
 												LEFT JOIN TP_MST_GOODSTYPE gtp ON good.GOODSTYPEID=gtp.GOODSTYPEID
@@ -296,41 +342,43 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                         LEFT JOIN TP_PM_GROUTINGDAILYDETAIL gd ON gd.barcode=pd.barcode
                         LEFT JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID=gd.GROUTINGLINEID
                         LEFT JOIN TP_MST_DataDictionary ON TP_MST_DataDictionary.DICTIONARYID=gd.GLAZETYPEID AND TP_MST_DataDictionary.DictionaryType = 'TPC002'
-                  WHERE PD.PROCEDUREID IN (28) AND PD.VALUEFLAG=1 AND PDL.BARCODE IS NOT NULL
-												AND PD.CREATETIME >= @DATEBEGIN@ AND PD.CREATETIME <=  @DATEEND@ 
-													AND PDLS.CREATETIME >= PD.CREATETIME
-													) )WHERE rownums=1
+                  WHERE PD.PROCEDUREID IN (28) AND PD.VALUEFLAG=1 AND PDL.BARCODE IS NOT NULL  AND pd.CREATETIME>=@DATEBEGIN@  AND pd.CREATETIME<= @DATEEND@
+											    	 
+												) )WHERE rownums=1
                                                 ) PD
-                                                LEFT JOIN TP_PM_DEFECT df ON DF.BARCODE=PD.BARCODE AND DF.VALUEFLAG=1
-																								LEFT JOIN TP_MST_DEFECT DEFECT ON DEFECT.DEFECTID=DF.DEFECTID AND DEFECT.VALUEFLAG=1   
-																								INNER JOIN TP_PM_PRODUCTIONDATA PDS ON PDS.BARCODE = PD.BARCODE
-													GROUP BY Grouping sets(
-                                                    (PD.GOODSCODE ,PD.GOODSNAME ,PD.LOGONAME ,PD.DICTIONARYVALUE,PD.GOODSSPECIFICATION,PD.GOODSTYPENAME,PD.LUSTERWAREWEIGHT),
-                                                    (PD.GOODSTYPENAME),(SUBSTR(pd.GOODSTYPECODE, 0, 6)),())
+                                                LEFT JOIN TP_PM_DEFECT df ON DF.BARCODE=PD.BARCODE AND DF.VALUEFLAG=1 
+												LEFT JOIN TP_MST_DEFECT DEFECT ON DEFECT.DEFECTID=DF.DEFECTID AND DEFECT.VALUEFLAG=1   
+												INNER JOIN TP_PM_PRODUCTIONDATA PDS ON PDS.BARCODE = PD.BARCODE AND PDS.VALUEFLAG=1
+												GROUP BY pd.GOODSCODE,LUSTERWAREWEIGHT,PD.GOODSNAME,PD.LOGONAME,PD.DICTIONARYVALUE,
+                                                PD.GOODSSPECIFICATION,SUBSTR(PD.GOODSTYPECODE, 0, 6),PD.GOODSTYPENAME
+												)
+												GROUP BY Grouping sets((GOODSCODE,GOODSNAME,LOGONAME,DICTIONARYVALUE,GOODSSPECIFICATION,LUSTERWAREWEIGHT,GOODSTYPENAME,GOODSTYPENAMESIX),
+														 (GOODSTYPENAME),(GOODSTYPENAMESIX),())
                                                  ),
-											工序对应出窑量 AS (
-											SELECT
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.GROUTINGLINECODE LIKE '%A%'  THEN PD.BARCODE ELSE NULL END )) 成A出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.GROUTINGLINECODE LIKE '%B%'  THEN PD.BARCODE ELSE NULL END )) 成B出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.GROUTINGLINECODE LIKE '%C%'  THEN PD.BARCODE ELSE NULL END )) 成C出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  GL.HIGHPRESSUREFLAG =1  THEN PD.BARCODE ELSE NULL END )) 高压出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (4,36,53)  THEN PD.BARCODE ELSE NULL END )) 打磨出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (5,36,52)  THEN PD.BARCODE ELSE NULL END )) 擦洗出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID =6  THEN PD.BARCODE ELSE NULL END )) 半检出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (10,37,41)  THEN PD.BARCODE ELSE NULL END )) 施釉出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (10,37,41)  THEN PD.BARCODE ELSE NULL END )) 擦坯出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (55,13) THEN PD.BARCODE ELSE NULL END )) 装窑出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (57,39) THEN PD.BARCODE ELSE NULL END )) 烧窑出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (56,14) THEN PD.BARCODE ELSE NULL END )) 卸窑出窑量
-											FROM TP_PM_PRODUCTIONDATA PD
-											INNER JOIN TP_PM_PRODUCTIONDATA pds on pds.BARCODE=pd.BARCODE 
-                                            INNER  JOIN TP_PM_PRODUCTIONDATA PDL ON PDL.BARCODE=PD.BARCODE AND PDL.PROCEDUREID=24
-											LEFT JOIN TP_PM_GROUTINGDAILYDETAIL gd ON gd.barcode=pd.barcode
-											LEFT JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID=gd.GROUTINGLINEID
-											WHERE PD.VALUEFLAG=1 AND PD.PROCEDUREID=28	
-											AND pd.CREATETIME>=@DATEBEGIN@ AND pd.CREATETIME< @DATEEND@
-											)
-                            SELECT
+													 工序对应出窑量 AS (
+											    SELECT
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.GROUTINGLINECODE LIKE '%A%'  THEN PD.BARCODE ELSE NULL END )) 成A出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.GROUTINGLINECODE LIKE '%B%'  THEN PD.BARCODE ELSE NULL END )) 成B出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.GROUTINGLINECODE LIKE '%C%'  THEN PD.BARCODE ELSE NULL END )) 成C出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  GL.HIGHPRESSUREFLAG =1  THEN PD.BARCODE ELSE NULL END )) 高压出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (4,36,53) AND PDS.VALUEFLAG=1  THEN PD.BARCODE ELSE NULL END )) 打磨出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (5,36,52) AND PDS.VALUEFLAG=1 THEN PD.BARCODE ELSE NULL END )) 擦洗出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID =6  THEN PD.BARCODE ELSE NULL END )) 半检出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (10,37,41)  THEN PD.BARCODE ELSE NULL END )) 施釉出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (10,37,41)  THEN PD.BARCODE ELSE NULL END )) 擦坯出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (55,13) THEN PD.BARCODE ELSE NULL END )) 装窑出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (57,39) THEN PD.BARCODE ELSE NULL END )) 烧窑出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (56,14) THEN PD.BARCODE ELSE NULL END )) 卸窑出窑量
+											    FROM TP_PM_PRODUCTIONDATA PD
+											    INNER JOIN TP_PM_PRODUCTIONDATA pds on pds.BARCODE=pd.BARCODE 
+											    LEFT JOIN TP_PM_GROUTINGDAILYDETAIL gd ON gd.barcode=pd.barcode
+											    LEFT JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID=gd.GROUTINGLINEID
+											    WHERE PD.VALUEFLAG=1 AND PD.PROCEDUREID=16
+														AND pd.CREATETIME>=@DATEBEGIN@  AND pd.CREATETIME<= @DATEEND@
+											    
+                                                   
+																								 )
+                                                 SELECT
                                                  *
                                                  FROM(
                                     SELECT
@@ -338,13 +386,16 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         TO_CHAR(产品名称) AS 产品名称,
                                         TO_CHAR(产品规格) AS 产品规格,
 										TO_CHAR(产品类别) AS 产品类别,
-                                        TO_CHAR(LUSTERWAREWEIGHT) 重量,
+                                        TO_CHAR(单重) 单重,
                                         TO_CHAR(釉色) AS 釉色,
                                         TO_CHAR(商标) AS 商标,
                                         TO_CHAR(出窑量_出窑量) AS 出窑量,
+                                        TO_CHAR(出窑量_出窑重量) AS 出窑重量,
                                         TO_CHAR(出窑量_产量) AS 产量,
+                                        TO_CHAR(出窑量_合格品重量) AS 合格品重量,
                                         TO_CHAR(出窑量_残品) AS 残品,
-                                         DECODE( NVL( 出窑量_产量, 0 ), 0, '0%', TO_CHAR( ( NVL( 出窑量_产量, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL( 出窑量_出窑量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' )  合格率,   
+                                        TO_CHAR(出窑量_残品重量) AS 残品重量,
+                                         DECODE( NVL( 出窑量_产量, 0 ), 0, '0%', TO_CHAR( ( NVL( 出窑量_产量, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL( 出窑量_出窑量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' )  合格率,
                                         TO_CHAR(原料缺陷) AS 原料缺陷,
                                         TO_CHAR(成型缺陷_成A) AS 成型缺陷_成A,
                                         TO_CHAR(成型缺陷_成B) AS 成型缺陷_成B,
@@ -360,8 +411,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         TO_CHAR(烧成窑缺陷_出窑) AS 烧成窑缺陷_出窑,
                                         TO_CHAR(其他缺陷) AS 其他缺陷
                                         FROM 数据源
-                                UNION ALL                                    
+                                          UNION ALL                                    
                                 SELECT
+									DISTINCT
 	                                '出窑数',
 	                                '',
 	                                '',
@@ -369,29 +421,31 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                                '',
 	                                '',
 	                                '',
-	                                '','','','',
+	                                '',
+                                    '',
+                                    '',
+                                    '','','','',
 	                                to_Char(出窑量_出窑量),	
-																	to_Char(成A出窑量),
-																	to_Char(成B出窑量),
-																	to_Char(成C出窑量),
-																	to_Char(高压出窑量),
-																	to_Char(打磨出窑量),
-																	to_Char(擦洗出窑量),
-																	to_Char(半检出窑量),
-																	to_Char(施釉出窑量),
-																	to_Char(擦坯出窑量),
-																	to_Char(装窑出窑量),
-																	to_Char(烧窑出窑量),
-																	to_Char(卸窑出窑量),
-																	to_Char(出窑量_出窑量 )
+									to_Char(成A出窑量),
+									to_Char(成B出窑量),
+									to_Char(成C出窑量),
+									to_Char(高压出窑量),
+									to_Char(打磨出窑量),
+									to_Char(擦洗出窑量),
+									to_Char(半检出窑量),
+									to_Char(施釉出窑量),
+									to_Char(擦坯出窑量),
+									to_Char(装窑出窑量),
+									to_Char(烧窑出窑量),
+									to_Char(卸窑出窑量),
+									to_Char(出窑量_出窑量 )
                                 FROM
 	                                工序对应出窑量
 	                                LEFT JOIN 数据源 ON 1=1 
-	                                WHERE GID = 7
+	                                WHERE 数据源.GID=7
+
                                         UNION ALL 
-                                        
-                                    SELECT
-                                      '',
+                                     SELECT
                                       '',
                                       '',
                                       '',
@@ -399,63 +453,98 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                       '',
                                       '',
                                       '','','','',
-                                      DECODE( NVL(  原料缺陷, 0 ), 0, '0%', TO_CHAR( (    ( NVL(原料缺陷, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_成A, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_成A, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_成B, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_成B, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_成C, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_成C, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_高压, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_高压, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_打磨, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_打磨, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_擦洗, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_擦洗, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_半检, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_半检, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  烧成窑缺陷_施釉, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_施釉, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  烧成窑缺陷_擦坯, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_擦坯, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  烧成窑缺陷_装窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_装窑, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  烧成窑缺陷_烧窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_烧窑, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  烧成窑缺陷_出窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_出窑, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  其他缺陷, 0 ), 0, '0%', TO_CHAR( (    ( NVL(其他缺陷, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 
+                                      '','','','',
+                                      DECODE( NVL(  数据源.原料缺陷, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.原料缺陷, 0 ) / DECODE( NVL( 数据源.出窑量_出窑量, 1 ), 0, 1, NVL(  数据源.出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 原料缺陷,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_成A, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_成A, 0 ) / DECODE( NVL( 工序对应出窑量.成A出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.成A出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_成A,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_成B, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_成B, 0 ) / DECODE( NVL( 工序对应出窑量.成B出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.成B出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_成B,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_成C, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_成C, 0 ) / DECODE( NVL( 工序对应出窑量.成C出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.成C出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_成C,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_高压, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_高压, 0 ) / DECODE( NVL( 工序对应出窑量.高压出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.高压出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_高压,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_打磨, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_打磨, 0 ) / DECODE( NVL( 工序对应出窑量.打磨出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.打磨出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_打磨,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_擦洗, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_擦洗, 0 ) / DECODE( NVL( 工序对应出窑量.擦洗出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.擦洗出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_擦洗,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_半检, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_半检, 0 ) / DECODE( NVL( 工序对应出窑量.半检出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.半检出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_半检,
+                                      DECODE( NVL(  数据源.烧成窑缺陷_施釉, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.烧成窑缺陷_施釉, 0 ) / DECODE( NVL( 工序对应出窑量.施釉出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.施釉出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 烧成窑缺陷_施釉,
+																			
+                                      DECODE( NVL(  数据源.烧成窑缺陷_擦坯, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.烧成窑缺陷_擦坯, 0 ) / DECODE( NVL( 工序对应出窑量.擦坯出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.擦坯出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 烧成窑缺陷_擦坯,
+																			
+                                      DECODE( NVL(  数据源.烧成窑缺陷_装窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.烧成窑缺陷_装窑, 0 ) / DECODE( NVL( 工序对应出窑量.装窑出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.装窑出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 烧成窑缺陷_装窑,
+																			
+                                      DECODE( NVL(  数据源.烧成窑缺陷_烧窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.烧成窑缺陷_烧窑, 0 ) / DECODE( NVL( 工序对应出窑量.烧窑出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.烧窑出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 烧成窑缺陷_烧窑,
+                                      
+									  DECODE( NVL(  数据源.烧成窑缺陷_出窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.烧成窑缺陷_出窑, 0 ) / DECODE( NVL( 工序对应出窑量.卸窑出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.卸窑出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 烧成窑缺陷_出窑,
+																			
+                                      DECODE( NVL(  数据源.其他缺陷, 0 ), 0, '0%',TO_CHAR( (    ( NVL(数据源.其他缺陷, 0 ) / DECODE( NVL( 数据源.出窑量_出窑量, 1 ), 0, 1, NVL(  数据源.出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 其他缺陷
                                         FROM 数据源
-                                        WHERE GID=7 ) ORDER BY 产品类别,产品编码 ";
+										LEFT JOIN 工序对应出窑量 ON 1=1
+                                        WHERE 数据源.GID=7 )  ORDER BY 产品类别,产品编码 ";
                 }
                 else if (procedure == "冷修") { 
-                    sqlStr = @"WITH 数据源 AS (SELECT
-                       GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6))GID,
-								 CASE WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =5   THEN '小计'
-										    WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =6   AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001002'  THEN '小件合计'
-                                            WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =6   AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001001'  THEN '大件合计'
-											WHEN  GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME,SUBSTR(pd.GOODSTYPECODE, 0, 6)) =7   THEN '总计'
-														ELSE to_char(pd.GOODSCODE) END AS 产品编码,
-																								
-                                                PD.GOODSNAME 产品名称,
-                                                PD.LOGONAME 商标,
-                                                PD.DICTIONARYVALUE 釉色,
-                                                PD.GOODSSPECIFICATION 产品规格,
-                                               TO_CHAR(PD.LUSTERWAREWEIGHT)  AS LUSTERWAREWEIGHT,
-                                    CASE WHEN GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME,SUBSTR(PD.GOODSTYPECODE, 0, 6))=6 AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001001' THEN '大件' 
-										 WHEN GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME,SUBSTR(PD.GOODSTYPECODE, 0, 6))=6 AND SUBSTR(PD.GOODSTYPECODE, 0, 6)='001002' THEN '小件'
-										 ELSE TO_CHAR(PD.GOODSTYPENAME )END 产品类别,
+                    sqlStr = @" WITH 数据源 AS (
+                                        SELECT
+                                       GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) GID,
+                                       CASE WHEN   GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) =5   THEN '小计'
+											WHEN   GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) =6   AND GOODSTYPENAMESIX='001002'  THEN '小件合计'
+                                            WHEN   GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) =6   AND GOODSTYPENAMESIX='001001'  THEN '大件合计'
+											WHEN   GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) =7   THEN '总计'
+														ELSE to_char(GOODSCODE) END AS 产品编码,
+											LUSTERWAREWEIGHT 单重,
+											GOODSNAME 产品名称,
+											LOGONAME 商标,DICTIONARYVALUE 釉色,
+											GOODSSPECIFICATION 产品规格,
+											CASE WHEN  GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX)=6 AND GOODSTYPENAMESIX='001001' THEN '大件' 
+											     WHEN  GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX)=6 AND GOODSTYPENAMESIX='001002' THEN '小件'
+											     ELSE TO_CHAR(GOODSTYPENAME )END 产品类别,
+											SUM(出窑量_出窑量) 出窑量_出窑量,
+											SUM(出窑量_出窑量 * LUSTERWAREWEIGHT) 出窑量_出窑重量,
+											SUM(出窑量_产量) 出窑量_产量,
+											SUM(出窑量_产量* LUSTERWAREWEIGHT) 出窑量_合格品重量,
+											SUM(出窑量_残品) 出窑量_残品,
+											SUM(出窑量_残品* LUSTERWAREWEIGHT) 出窑量_残品重量,
+											SUM(原料缺陷) 原料缺陷,
+											SUM(成型缺陷_成A) 成型缺陷_成A,SUM(成型缺陷_成B) 成型缺陷_成B,
+											SUM(成型缺陷_成C) 成型缺陷_成C,SUM(成型缺陷_高压) 成型缺陷_高压, 
+											SUM(成型缺陷_打磨) 成型缺陷_打磨,SUM(成型缺陷_擦洗) 成型缺陷_擦洗,
+											SUM(成型缺陷_半检) 成型缺陷_半检,SUM(烧成窑缺陷_施釉)烧成窑缺陷_施釉,
+											SUM(烧成窑缺陷_擦坯) 烧成窑缺陷_擦坯,SUM(烧成窑缺陷_装窑) 烧成窑缺陷_装窑, 
+											SUM(烧成窑缺陷_烧窑) 烧成窑缺陷_烧窑,SUM(烧成窑缺陷_出窑) 烧成窑缺陷_出窑, SUM(其他缺陷) 其他缺陷
+										FROM(
+                                    SELECT		pd.GOODSCODE,LUSTERWAREWEIGHT,
+												PD.GOODSNAME ,
+                                                PD.LOGONAME ,
+                                                PD.DICTIONARYVALUE ,
+                                                PD.GOODSSPECIFICATION ,
+												SUBSTR(PD.GOODSTYPECODE, 0, 6) AS GOODSTYPENAMESIX,
+												PD.GOODSTYPENAME,
                                                 COUNT(DISTINCT PD.BARCODE ) as 出窑量_出窑量,
 												COUNT(DISTINCT CASE WHEN   PD.GOODSLEVELTYPEID IN (4,5) THEN PD.BARCODE ELSE NULL END) AS 出窑量_产量,
                                                 COUNT(DISTINCT CASE WHEN   PD.GOODSLEVELTYPEID NOT IN (4,5) AND PD.GOODSLEVELTYPEID IS NOT NULL   THEN PD.BARCODE ELSE NULL END) AS 出窑量_残品,
                                                 COUNT(DISTINCT CASE WHEN   DEFECTTYPEID IN (9,10) THEN PD.BARCODE ELSE NULL END) 原料缺陷,
-                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'A') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成A,
-                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'B') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成B,
-                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'C') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成C,
-                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND DEFECT.DEFECTTYPEID=1 THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_高压,
-                                                TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '20' ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
-									            TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (5,36,52) AND df.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_擦洗,
-                                                COUNT(DISTINCT CASE WHEN  DEFECT.DEFECTTYPEID=1 THEN PD.BARCODE ELSE NULL END) 成型缺陷_半检,
+                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'A') > 0 AND PD.HIGHPRESSUREFLAG=0 AND (DEFECT.DEFECTTYPEID=1 OR df.DEFECTCODE ='99' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成A,
+                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'B') > 0 AND PD.HIGHPRESSUREFLAG=0 AND (DEFECT.DEFECTTYPEID=1 OR df.DEFECTCODE ='99' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成B,
+                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'C') > 0 AND PD.HIGHPRESSUREFLAG=0 AND (DEFECT.DEFECTTYPEID=1 OR df.DEFECTCODE ='99' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成C,
+                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND ( DEFECT.DEFECTTYPEID=1 OR df.DEFECTCODE ='99' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_高压,																	TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '20' ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
+									            TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (5,36,52) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_擦洗,
+                                                COUNT(DISTINCT CASE WHEN DEFECT.VALUEFLAG=1 AND DEFECT.DEFECTTYPEID=1 AND DEFECT.DEFECTCODE NOT IN  ('001','002','1','2','3') THEN PD.BARCODE ELSE NULL END) 成型缺陷_半检,
 									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '36','37','38','39','40','41','42','43','44') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_施釉,
                                                 TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '47','48','49','50','51','52','53','54','55','56','20','57')AND DF.DEFECTCODE IS NOT NULL AND PD.BARCODE IS NOT NULL  THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END ))AS 烧成窑缺陷_擦坯,
-												TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '070','071','43','073','074','075','076','077','078','079','069','080') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_装窑,
+												TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '61','62','63','64','65','66','67') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_装窑,
 									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '69','70','71','43','73','74','75','76','77','78','79','80') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END ))AS 烧成窑缺陷_烧窑,
-									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '0083','0084')  THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_出窑,
-                                                COUNT(DISTINCT CASE WHEN  DF.DEFECTCODE IN ('099','0100') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 其他缺陷
-                                                FROM(SELECT * FROM(
-                                                 SELECT
-                                                      BARCODE,REWORKPROCEDUREID,GROUTINGLINECODE,GOODSCODE,GOODSNAME,LOGONAME,GOODSLEVELTYPEID,GOODSSPECIFICATION,DICTIONARYVALUE,GOODSTYPECODE,
-                                                     LUSTERWAREWEIGHT, HIGHPRESSUREFLAG,PROCEDUREID,GOODSTYPENAME,row_number() over (partition by BARCODE order by GOODSLEVELTYPEID DESC ) as rownums
-                                                 FROM(
-                                                 SELECT
+									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '83','84')  THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_出窑,
+                                                COUNT(DISTINCT CASE WHEN  DF.DEFECTCODE IN ('99','100') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 其他缺陷
+                                                FROM(
+                                               SELECT * FROM(
+                                                         SELECT
+                                                         BARCODE,REWORKPROCEDUREID,GROUTINGLINECODE,GOODSCODE,GOODSNAME,LOGONAME,GOODSLEVELTYPEID,GOODSSPECIFICATION,DICTIONARYVALUE,
+                                                       HIGHPRESSUREFLAG,PROCEDUREID,GOODSTYPENAME,GOODSTYPECODE,LUSTERWAREWEIGHT,
+                                                         row_number() over (partition by BARCODE order by GOODSLEVELTYPEID DESC ) as rownums
+                                                     FROM(
+                                             SELECT
                                                 DISTINCT pd.BARCODE,
 												PD.REWORKPROCEDUREID,
                                                 pd.GROUTINGLINECODE,
@@ -467,56 +556,58 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                                 GL.HIGHPRESSUREFLAG,
                                                 pd.PROCEDUREID AS PROCEDUREID,
 												gtp.GOODSTYPENAME,gtp.GOODSTYPECODE,
-												CASE WHEN PDLS.GOODSLEVELTYPEID < PD.GOODSLEVELTYPEID  THEN PD.GOODSLEVELTYPEID 
-												WHEN PD.GOODSLEVELTYPEID  < PDLS.GOODSLEVELTYPEID THEN PDLS.GOODSLEVELTYPEID
+												CASE WHEN PDL.GOODSLEVELTYPEID < PD.GOODSLEVELTYPEID  THEN PD.GOODSLEVELTYPEID 
+												WHEN PD.GOODSLEVELTYPEID  < PDL.GOODSLEVELTYPEID THEN PDL.GOODSLEVELTYPEID
 												WHEN PDL.GOODSLEVELTYPEID IS NULL  THEN PD.GOODSLEVELTYPEID
-												WHEN PD.GOODSLEVELTYPEID  = PDLS.GOODSLEVELTYPEID THEN PD.GOODSLEVELTYPEID
+												WHEN PD.GOODSLEVELTYPEID  = PDL.GOODSLEVELTYPEID THEN PD.GOODSLEVELTYPEID
 												ELSE NULL END GOODSLEVELTYPEID
-                  FROM
-                       TP_PM_PRODUCTIONDATA pd
-											  INNER JOIN TP_PM_PRODUCTIONDATA PDL ON PDL.BARCODE=PD.BARCODE AND PDL.PROCEDUREID=42		
-                       LEFT  JOIN TP_PM_PRODUCTIONDATA PDLS ON PDLS.BARCODE=PD.BARCODE AND PDLS.PROCEDUREID=61 AND PDLS.VALUEFLAG=1
+												FROM
+										   TP_PM_PRODUCTIONDATA pd
+												INNER  JOIN TP_PM_PRODUCTIONDATA PDL ON PDL.BARCODE=PD.BARCODE AND PDL.PROCEDUREID=42
+												LEFT  JOIN TP_PM_PRODUCTIONDATA PDLS ON PDLS.BARCODE=PD.BARCODE AND PDLS.PROCEDUREID=61 AND PDLS.VALUEFLAG=1
                         LEFT JOIN TP_MST_GOODS good on good.GOODSID=PD.GOODSID
 												LEFT JOIN TP_MST_GOODSTYPE gtp ON good.GOODSTYPEID=gtp.GOODSTYPEID
                         LEFT JOIN TP_MST_LOGO logo ON logo.LOGOID=pd.LOGOID
                         LEFT JOIN TP_PM_GROUTINGDAILYDETAIL gd ON gd.barcode=pd.barcode
                         LEFT JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID=gd.GROUTINGLINEID
                         LEFT JOIN TP_MST_DataDictionary ON TP_MST_DataDictionary.DICTIONARYID=gd.GLAZETYPEID AND TP_MST_DataDictionary.DictionaryType = 'TPC002'
-                  WHERE PD.PROCEDUREID IN (28) AND PD.VALUEFLAG=1 AND PDL.BARCODE IS NOT NULL
-												AND PD.CREATETIME >= @DATEBEGIN@ AND PD.CREATETIME <=  @DATEEND@ 
-													AND PDLS.CREATETIME >= PD.CREATETIME
-													) )WHERE rownums=1
+                  WHERE PD.PROCEDUREID IN (28) AND PD.VALUEFLAG=1 AND PDL.BARCODE IS NOT NULL  AND pd.CREATETIME>=@DATEBEGIN@  AND pd.CREATETIME<= @DATEEND@
+											    	 
+												) )WHERE rownums=1
                                                 ) PD
-                                                LEFT JOIN TP_PM_DEFECT df ON DF.BARCODE=PD.BARCODE AND DF.VALUEFLAG=1
-																								LEFT JOIN TP_MST_DEFECT DEFECT ON DEFECT.DEFECTID=DF.DEFECTID AND DEFECT.VALUEFLAG=1   
-																								INNER JOIN TP_PM_PRODUCTIONDATA PDS ON PDS.BARCODE = PD.BARCODE
-													GROUP BY Grouping sets(
-                                            (PD.GOODSCODE ,PD.GOODSNAME ,PD.LOGONAME ,PD.DICTIONARYVALUE,PD.GOODSSPECIFICATION,PD.GOODSTYPENAME,PD.LUSTERWAREWEIGHT),(PD.GOODSTYPENAME),
-                                            (SUBSTR(pd.GOODSTYPECODE, 0, 6)),())
+                                                LEFT JOIN TP_PM_DEFECT df ON DF.BARCODE=PD.BARCODE AND DF.VALUEFLAG=1 
+												LEFT JOIN TP_MST_DEFECT DEFECT ON DEFECT.DEFECTID=DF.DEFECTID AND DEFECT.VALUEFLAG=1   
+												INNER JOIN TP_PM_PRODUCTIONDATA PDS ON PDS.BARCODE = PD.BARCODE AND PDS.VALUEFLAG=1
+												GROUP BY pd.GOODSCODE,LUSTERWAREWEIGHT,PD.GOODSNAME,PD.LOGONAME,PD.DICTIONARYVALUE,
+                                                PD.GOODSSPECIFICATION,SUBSTR(PD.GOODSTYPECODE, 0, 6),PD.GOODSTYPENAME
+												)
+												GROUP BY Grouping sets((GOODSCODE,GOODSNAME,LOGONAME,DICTIONARYVALUE,GOODSSPECIFICATION,LUSTERWAREWEIGHT,GOODSTYPENAME,GOODSTYPENAMESIX),
+														 (GOODSTYPENAME),(GOODSTYPENAMESIX),())
                                                  ),
-											工序对应出窑量 AS (
-											SELECT
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.GROUTINGLINECODE LIKE '%A%'  THEN PD.BARCODE ELSE NULL END )) 成A出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.GROUTINGLINECODE LIKE '%B%'  THEN PD.BARCODE ELSE NULL END )) 成B出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.GROUTINGLINECODE LIKE '%C%'  THEN PD.BARCODE ELSE NULL END )) 成C出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  GL.HIGHPRESSUREFLAG =1  THEN PD.BARCODE ELSE NULL END )) 高压出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (4,36,53)  THEN PD.BARCODE ELSE NULL END )) 打磨出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (5,36,52)  THEN PD.BARCODE ELSE NULL END )) 擦洗出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID =6  THEN PD.BARCODE ELSE NULL END )) 半检出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (10,37,41)  THEN PD.BARCODE ELSE NULL END )) 施釉出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (10,37,41)  THEN PD.BARCODE ELSE NULL END )) 擦坯出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (55,13) THEN PD.BARCODE ELSE NULL END )) 装窑出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (57,39) THEN PD.BARCODE ELSE NULL END )) 烧窑出窑量,
-											TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (56,14) THEN PD.BARCODE ELSE NULL END )) 卸窑出窑量
-											FROM TP_PM_PRODUCTIONDATA PD
-											INNER JOIN TP_PM_PRODUCTIONDATA pds on pds.BARCODE=pd.BARCODE 
-                       INNER  JOIN TP_PM_PRODUCTIONDATA PDL ON PDL.BARCODE=PD.BARCODE AND PDL.PROCEDUREID=42
-											LEFT JOIN TP_PM_GROUTINGDAILYDETAIL gd ON gd.barcode=pd.barcode
-											LEFT JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID=gd.GROUTINGLINEID
-											WHERE PD.VALUEFLAG=1 AND PD.PROCEDUREID=28	
-											AND pd.CREATETIME>=@DATEBEGIN@ AND pd.CREATETIME< @DATEEND@
-											)
-                            SELECT
+													 工序对应出窑量 AS (
+											    SELECT
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.GROUTINGLINECODE LIKE '%A%'  THEN PD.BARCODE ELSE NULL END )) 成A出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.GROUTINGLINECODE LIKE '%B%'  THEN PD.BARCODE ELSE NULL END )) 成B出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.GROUTINGLINECODE LIKE '%C%'  THEN PD.BARCODE ELSE NULL END )) 成C出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  GL.HIGHPRESSUREFLAG =1  THEN PD.BARCODE ELSE NULL END )) 高压出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (4,36,53) AND PDS.VALUEFLAG=1  THEN PD.BARCODE ELSE NULL END )) 打磨出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (5,36,52) AND PDS.VALUEFLAG=1 THEN PD.BARCODE ELSE NULL END )) 擦洗出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID =6  THEN PD.BARCODE ELSE NULL END )) 半检出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (10,37,41)  THEN PD.BARCODE ELSE NULL END )) 施釉出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (10,37,41)  THEN PD.BARCODE ELSE NULL END )) 擦坯出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (55,13) THEN PD.BARCODE ELSE NULL END )) 装窑出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (57,39) THEN PD.BARCODE ELSE NULL END )) 烧窑出窑量,
+											    TO_CHAR(COUNT( DISTINCT CASE WHEN  PDS.PROCEDUREID IN (56,14) THEN PD.BARCODE ELSE NULL END )) 卸窑出窑量
+											    FROM TP_PM_PRODUCTIONDATA PD
+											    INNER JOIN TP_PM_PRODUCTIONDATA pds on pds.BARCODE=pd.BARCODE 
+											    LEFT JOIN TP_PM_GROUTINGDAILYDETAIL gd ON gd.barcode=pd.barcode
+											    LEFT JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID=gd.GROUTINGLINEID
+											    WHERE PD.VALUEFLAG=1 AND PD.PROCEDUREID=16
+														AND pd.CREATETIME>=@DATEBEGIN@  AND pd.CREATETIME<= @DATEEND@
+											    
+                                                   
+																								 )
+                                                 SELECT
                                                  *
                                                  FROM(
                                     SELECT
@@ -524,13 +615,16 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         TO_CHAR(产品名称) AS 产品名称,
                                         TO_CHAR(产品规格) AS 产品规格,
 										TO_CHAR(产品类别) AS 产品类别,
-                                         TO_CHAR(LUSTERWAREWEIGHT) 重量,
+                                        TO_CHAR(单重) 单重,
                                         TO_CHAR(釉色) AS 釉色,
                                         TO_CHAR(商标) AS 商标,
                                         TO_CHAR(出窑量_出窑量) AS 出窑量,
+                                        TO_CHAR(出窑量_出窑重量) AS 出窑重量,
                                         TO_CHAR(出窑量_产量) AS 产量,
+                                        TO_CHAR(出窑量_合格品重量) AS 合格品重量,
                                         TO_CHAR(出窑量_残品) AS 残品,
-                                        DECODE( NVL( 出窑量_产量, 0 ), 0, '0%', TO_CHAR( ( NVL( 出窑量_产量, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL( 出窑量_出窑量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' )  合格率,
+                                        TO_CHAR(出窑量_残品重量) AS 残品重量,
+                                         DECODE( NVL( 出窑量_产量, 0 ), 0, '0%', TO_CHAR( ( NVL( 出窑量_产量, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL( 出窑量_出窑量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' )  合格率,
                                         TO_CHAR(原料缺陷) AS 原料缺陷,
                                         TO_CHAR(成型缺陷_成A) AS 成型缺陷_成A,
                                         TO_CHAR(成型缺陷_成B) AS 成型缺陷_成B,
@@ -546,8 +640,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         TO_CHAR(烧成窑缺陷_出窑) AS 烧成窑缺陷_出窑,
                                         TO_CHAR(其他缺陷) AS 其他缺陷
                                         FROM 数据源
-                                UNION ALL                                    
+                                          UNION ALL                                    
                                 SELECT
+									DISTINCT
 	                                '出窑数',
 	                                '',
 	                                '',
@@ -555,29 +650,31 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                                '',
 	                                '',
 	                                '',
-	                                '','','','',
+	                                '',
+                                    '',
+                                    '',
+                                    '','','','',
 	                                to_Char(出窑量_出窑量),	
-																	to_Char(成A出窑量),
-																	to_Char(成B出窑量),
-																	to_Char(成C出窑量),
-																	to_Char(高压出窑量),
-																	to_Char(打磨出窑量),
-																	to_Char(擦洗出窑量),
-																	to_Char(半检出窑量),
-																	to_Char(施釉出窑量),
-																	to_Char(擦坯出窑量),
-																	to_Char(装窑出窑量),
-																	to_Char(烧窑出窑量),
-																	to_Char(卸窑出窑量),
-																	to_Char(出窑量_出窑量 )
+									to_Char(成A出窑量),
+									to_Char(成B出窑量),
+									to_Char(成C出窑量),
+									to_Char(高压出窑量),
+									to_Char(打磨出窑量),
+									to_Char(擦洗出窑量),
+									to_Char(半检出窑量),
+									to_Char(施釉出窑量),
+									to_Char(擦坯出窑量),
+									to_Char(装窑出窑量),
+									to_Char(烧窑出窑量),
+									to_Char(卸窑出窑量),
+									to_Char(出窑量_出窑量 )
                                 FROM
 	                                工序对应出窑量
 	                                LEFT JOIN 数据源 ON 1=1 
-	                                WHERE GID = 7
+	                                WHERE 数据源.GID=7
+
                                         UNION ALL 
-                                        
-                                    SELECT
-                                      '',
+                                     SELECT
                                       '',
                                       '',
                                       '',
@@ -585,22 +682,36 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                       '',
                                       '',
                                       '','','','',
-                                      DECODE( NVL(  原料缺陷, 0 ), 0, '0%', TO_CHAR( (    ( NVL(原料缺陷, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_成A, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_成A, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_成B, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_成B, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_成C, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_成C, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_高压, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_高压, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_打磨, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_打磨, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_擦洗, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_擦洗, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  成型缺陷_半检, 0 ), 0, '0%', TO_CHAR( (    ( NVL(成型缺陷_半检, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  烧成窑缺陷_施釉, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_施釉, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  烧成窑缺陷_擦坯, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_擦坯, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  烧成窑缺陷_装窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_装窑, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  烧成窑缺陷_烧窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_烧窑, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  烧成窑缺陷_出窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_出窑, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  其他缺陷, 0 ), 0, '0%', TO_CHAR( (    ( NVL(其他缺陷, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 
+                                      '','','','',
+                                      DECODE( NVL(  数据源.原料缺陷, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.原料缺陷, 0 ) / DECODE( NVL( 数据源.出窑量_出窑量, 1 ), 0, 1, NVL(  数据源.出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 原料缺陷,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_成A, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_成A, 0 ) / DECODE( NVL( 工序对应出窑量.成A出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.成A出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_成A,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_成B, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_成B, 0 ) / DECODE( NVL( 工序对应出窑量.成B出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.成B出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_成B,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_成C, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_成C, 0 ) / DECODE( NVL( 工序对应出窑量.成C出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.成C出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_成C,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_高压, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_高压, 0 ) / DECODE( NVL( 工序对应出窑量.高压出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.高压出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_高压,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_打磨, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_打磨, 0 ) / DECODE( NVL( 工序对应出窑量.打磨出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.打磨出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_打磨,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_擦洗, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_擦洗, 0 ) / DECODE( NVL( 工序对应出窑量.擦洗出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.擦洗出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_擦洗,
+																			
+                                      DECODE( NVL(  数据源.成型缺陷_半检, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.成型缺陷_半检, 0 ) / DECODE( NVL( 工序对应出窑量.半检出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.半检出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 成型缺陷_半检,
+                                      DECODE( NVL(  数据源.烧成窑缺陷_施釉, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.烧成窑缺陷_施釉, 0 ) / DECODE( NVL( 工序对应出窑量.施釉出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.施釉出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 烧成窑缺陷_施釉,
+																			
+                                      DECODE( NVL(  数据源.烧成窑缺陷_擦坯, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.烧成窑缺陷_擦坯, 0 ) / DECODE( NVL( 工序对应出窑量.擦坯出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.擦坯出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 烧成窑缺陷_擦坯,
+																			
+                                      DECODE( NVL(  数据源.烧成窑缺陷_装窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.烧成窑缺陷_装窑, 0 ) / DECODE( NVL( 工序对应出窑量.装窑出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.装窑出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 烧成窑缺陷_装窑,
+																			
+                                      DECODE( NVL(  数据源.烧成窑缺陷_烧窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.烧成窑缺陷_烧窑, 0 ) / DECODE( NVL( 工序对应出窑量.烧窑出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.烧窑出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 烧成窑缺陷_烧窑,
+                                      
+									  DECODE( NVL(  数据源.烧成窑缺陷_出窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(数据源.烧成窑缺陷_出窑, 0 ) / DECODE( NVL( 工序对应出窑量.卸窑出窑量, 1 ), 0, 1, NVL(  工序对应出窑量.卸窑出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 烧成窑缺陷_出窑,
+																			
+                                      DECODE( NVL(  数据源.其他缺陷, 0 ), 0, '0%',TO_CHAR( (    ( NVL(数据源.其他缺陷, 0 ) / DECODE( NVL( 数据源.出窑量_出窑量, 1 ), 0, 1, NVL(  数据源.出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 其他缺陷
                                         FROM 数据源
-                                        WHERE GID=7 ) ORDER BY 产品类别,产品编码  ";
+										LEFT JOIN 工序对应出窑量 ON 1=1
+                                        WHERE 数据源.GID=7 )  ORDER BY 产品类别,产品编码";
                     }
                 //读取报表数据