Quellcode durchsuchen

每窑结转sql

忠帅 张 vor 2 Jahren
Ursprung
Commit
698ce0a726
1 geänderte Dateien mit 194 neuen und 203 gelöschten Zeilen
  1. 194 203
      wwwroot/mes/rpt/rpt014/jz.ashx

+ 194 - 203
wwwroot/mes/rpt/rpt014/jz.ashx

@@ -53,7 +53,7 @@ public class JZ_RPT014 : IHttpHandler
                     //        {
                     //            String br = b.ToString();
                     String sqlStr1 = @" INSERT INTO JZ_RPT014 
-				SELECT 
+			SELECT 
 				to_number(@YEAR@ || lpad(to_char(@I@),2,'0')),
 				GOODSTYPENAME,
 				GOODSNAME,
@@ -143,207 +143,198 @@ public class JZ_RPT014 : IHttpHandler
 				CNUM71,
 				CNUM72,
 				CNUM73,
--- 				decode(BUILDINGNO,NULL,@BUILDINGNO@,BUILDINGNO) AS BUILDINGNO,
 				'0' AS BUILDINGNO,
--- 				decode(PROCEDUREID,NULL,@PROCEDUREID@,PROCEDUREID) AS PROCEDUREID,
 				'0' AS PROCEDUREID,
 				GOOD,
 				'0' KILNID,
 				COUNT_UA
 				FROM
 					(
-								SELECT
-							DECODE( TA.GID, 3, '合计', TA.GOODSTYPENAME ) AS GOODSTYPENAME,
-							TA.GOODSNAME AS GOODSNAME,
-										TA.BUILDINGNO AS BUILDINGNO,
-										TA.PROCEDUREID AS PROCEDUREID,
-						   DECODE( TA.OUT_K, 0, NULL, TA.OUT_K ) AS OUT_K,
-						DECODE( TA.COUNT_U4, 0, NULL, TA.COUNT_U4 ) AS COUNT_U4,
-						DECODE( TA.COUNT_U5 + TA.COUNT_AB, 0, NULL, TA.COUNT_U5 + TA.COUNT_AB ) COUNT_AB,
-						DECODE( TA.COUNT_AA, 0, NULL, TA.COUNT_AA ) AS COUNT_AA,
-						DECODE( TA.COUNT_B, 0, NULL, TA.COUNT_B ) AS COUNT_B,
-						DECODE( TA.COUNT_R, 0, NULL, TA.COUNT_R ) AS COUNT_R,
-						DECODE( TA.LB_NUM, 0, NULL, TA.LB_NUM ) AS LB_NUM,
-						DECODE( TA.COUNT_L, 0, NULL, TA.COUNT_L ) AS COUNT_L,
-						DECODE(
-							TA.COUNT_U7 - TA.COUNT_B + TA.COUNT_H + TA.COUNT_F,
-							0,
-							NULL,
-							TA.COUNT_U7 - TA.COUNT_B + TA.COUNT_H + TA.COUNT_F 
-						) AS COUNT_U7,
-						DECODE( TA.COUNT_Z, 0, NULL, TA.COUNT_Z ) AS COUNT_Z,
-					CASE
-				
-							WHEN TA.OUT_K IS NULL 
-							OR TA.OUT_K = 0 THEN
-								NULL ELSE ROUND( ( TA.COUNT_U4 + TA.COUNT_U5 + TA.COUNT_AB + TA.COUNT_AA ) / TA.OUT_K, 4 ) * 100 
-								END AS COUNT_UA,
-							TD.* ,DECODE (GOODSTYPENAME,'妇洗','1','座','2','挂座','3','柱','4','盆','5','箱','6','连体','7' ,'8') AS GOOD	
-						FROM
-								(
-								SELECT
-									GROUPING_ID ( GT.GOODSTYPECODE, G.GOODSCODE ) GID,
-									GT.GOODSTYPECODE,
-									GT.GOODSTYPENAME,
-									G.GOODSCODE,
-									G.GOODSNAME,
-									SUM(LB_NUM) LB_NUM,
-									T.BUILDINGNO,
-									T.PROCEDUREID,
-									SUM( T.OUT_K ) OUT_K,
-									SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 4 THEN 1 ELSE 0 END ) COUNT_U4, 
-									SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 5 THEN 1 ELSE 0 END ) COUNT_U5, 
-									SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 7 THEN 1 ELSE 0 END ) COUNT_U7, 
-									SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 19 THEN 1 ELSE 0 END ) AS COUNT_R,
-									SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 36 THEN 1 ELSE 0 END ) AS COUNT_Z,
-									SUM( T.B_NUM ) AS COUNT_B,
-									SUM( CASE WHEN T.H_FLAG = 1 THEN 1 ELSE 0 END ) AS COUNT_H,
-									SUM( CASE WHEN RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) THEN - 1 ELSE 0 END ) COUNT_L, 
-									SUM( CASE WHEN T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23 ) THEN 1 ELSE 0 END ) COUNT_AA, 
-									SUM( CASE WHEN T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_AB, 
-									SUM( CASE WHEN T.GOODSLEVELTYPEID NOT IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_F 
-								FROM
-									(
-									SELECT
-											PD.PRODUCTIONDATAID,
-											NULL MPDID,
-											0 GOODSLEVELTYPEID,
-											PD.GOODSID,
-											0 REWORKPROCEDUREID,
-											DECODE(DL.PRODUCTIONDATAID,null,0,1) LB_NUM,
-											0 B_NUM, 
-											1 OUT_K,
-											-1 H_FLAG,
-														PD.PROCEDUREID,
-														GL.BUILDINGNO
-									FROM
-										TP_PM_PRODUCTIONDATA PD
-										INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID 
-
-										
-										LEFT JOIN TP_PM_DEFECT DL ON DL.PRODUCTIONDATAID = PD.PRODUCTIONDATAID 
-										AND DL.DEFECTID = 67 
-										AND DL.VALUEFLAG = '1'
-
-									WHERE
--- 									   (PD.PROCEDUREID = @PROCEDUREID@)
--- 									   AND
-										 PD.CHECKFLAG = 1
-										AND PD.CREATETIME >=@DATEBEGIN@
-										AND PD.CREATETIME <= @DATEEND@
--- 									   AND (PD.KILNID =@KILNID@ OR @KILNID@ IS NULL)
-									   AND (INSTR((NULL),PD.GOODSCODE)>0 OR NULL IS NULL)
--- 									   AND (GL.BUILDINGNO = @BUILDINGNO@ )
-
-									UNION ALL
-									SELECT
-											PD.PRODUCTIONDATAID,
-											MAX( PMAX.PRODUCTIONDATAID ) MPDID,
-											PD.GOODSLEVELTYPEID,
-											PD.GOODSID,
-											PD.REWORKPROCEDUREID,
-											0 LB_NUM,
-											CASE WHEN PD.GOODSLEVELTYPEID = 7 AND sum( D.PRODUCTIONDEFECTID ) > 0 THEN 1 ELSE 0 END B_NUM, 
-											0 OUT_K,
-											CASE WHEN sum( PMAX.PRODUCTIONDATAID ) > 0 THEN 1 ELSE 0 END H_FLAG,
-														PD.PROCEDUREID,
-														GL.BUILDINGNO
-									FROM
-										TP_PM_PRODUCTIONDATA PD
-										LEFT JOIN TP_PM_PRODUCTIONDATA PMAX ON PMAX.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID 
-										AND PMAX.PRODUCTIONDATAID < PD.PRODUCTIONDATAID AND PMAX.VALUEFLAG = '1' AND PMAX.PROCEDUREMODEL = '1'
-										
-										AND PMAX.PROCEDUREID IN (20, 22, 23, 37, 41)
-										LEFT JOIN TP_PM_DEFECT D ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID 
-										AND D.DEFECTID = 92 
-										AND D.VALUEFLAG = '1'
-										INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID 
-									WHERE
-									   PD.VALUEFLAG = '1'
--- 									   AND (PD.PROCEDUREID = @PROCEDUREID@ )
-									   AND PD.CHECKBATCHNO = 1
-									   AND PD.CREATETIME >= @DATEBEGIN@
-										AND PD.CREATETIME <= @DATEEND@
-
--- 									   AND (PD.KILNID = @KILNID@ OR @KILNID@ IS NULL)
-									   AND (INSTR((NULL),PD.GOODSCODE)>0 OR NULL IS NULL)
--- 									   AND (GL.BUILDINGNO = @BUILDINGNO@ )
-									GROUP BY
-										PD.PRODUCTIONDATAID,
-										PD.GOODSLEVELTYPEID,
-										PD.GOODSID,
-										PD.REWORKPROCEDUREID,
-													PD.PROCEDUREID,
-													GL.BUILDINGNO
-										) T
-									LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID
-									INNER JOIN TP_MST_GOODS G ON G.GOODSID = T.GOODSID
-									INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID 
-									GROUP BY
-										GROUPING SETS ( ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, G.GOODSNAME,T.BUILDINGNO,T.PROCEDUREID ), ( GT.GOODSTYPECODE, GT.GOODSTYPENAME ), ( ) ) 
-										) TA
-							LEFT JOIN (
-							SELECT
-								* 
-							FROM
-								(
-									SELECT
-										CASE WHEN TT.GID IN ( 12, 13, 15 ) THEN 3 WHEN TT.GID IN ( 4, 5, 7 ) THEN 1 ELSE 0 END AS D_GID,
-										TT.GOODSTYPECODE D_GOODSTYPECODE, 
-										TT.GOODSCODE D_GOODSCODE,
-										CASE WHEN TT.GID IN ( 1, 5, 13 ) THEN TT.DEFECT || '合计' WHEN TT.GID IN ( 3, 7, 15 ) THEN '合计' ELSE TT.DEFECT END AS DEFECT,
-									  TT.CNUM 
-									FROM
-									(
-									SELECT
-										GROUPING_ID ( GT.GOODSTYPECODE, G.GOODSCODE, PDP.DEFECTGROUPNAME, M.DEFECTNAME ) AS GID,
-										GT.GOODSTYPECODE,
-										GT.GOODSTYPENAME,
-										G.GOODSCODE,
-										PDP.DEFECTGROUPNAME,
-										TO_CHAR( PDP.DEFECTGROUPNAME || '_' || M.DEFECTNAME ) AS DEFECT,
-										SUM(CASE WHEN D.DEFECTID = 11 AND (P.GOODSLEVELTYPEID = 4 OR P.GOODSLEVELTYPEID = 5) THEN 0 ELSE 1 END) AS CNUM
-									FROM
-										TP_PM_PRODUCTIONDATA P
-										INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
-										INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
-										INNER JOIN TP_PC_GROUTINGLINE L ON P.GROUTINGLINEID = L.GROUTINGLINEID
-										INNER JOIN TP_PM_DEFECT D ON P.PRODUCTIONDATAID = D.PRODUCTIONDATAID 
-										INNER JOIN TP_MST_DEFECT M ON ( M.DEFECTID = D.DEFECTID AND M.DEFECTID > 0 )
-										LEFT JOIN TP_PC_PROCEDURE PR ON PR.PROCEDUREID = D.DEFECTPROCEDUREID
-										INNER JOIN TP_MST_DEFECTGROUP PDP ON PDP.DEFECTID = D.DEFECTID AND PDP.DEFECTGROUPTYPE LIKE '每窑%'
-										AND ( 
-												( PDP.PROCEDUREID1 = PR.PROCEDUREID OR PDP.PROCEDUREID2 = PR.PROCEDUREID )
-												
-												OR '' = 35
-											) 
-									WHERE
-										P.VALUEFLAG = '1'
--- 										AND (P.PROCEDUREID = @PROCEDUREID@ )
-										AND P.CHECKBATCHNO = 1
-
-										AND P.CREATETIME >= @DATEBEGIN@
-										AND P.CREATETIME <= @DATEEND@
+			SELECT
+	            DECODE( TA.GID, 3, '合计', TA.GOODSTYPENAME ) AS GOODSTYPENAME,
+	            TA.GOODSNAME AS GOODSNAME,
+	            DECODE( TA.OUT_K, 0, NULL, TA.OUT_K ) AS OUT_K,
+	            DECODE( TA.COUNT_U4, 0, NULL, TA.COUNT_U4 ) AS COUNT_U4,
+	            DECODE( TA.COUNT_U5 + TA.COUNT_AB, 0, NULL, TA.COUNT_U5 + TA.COUNT_AB ) COUNT_AB,
+	            DECODE( TA.COUNT_AA, 0, NULL, TA.COUNT_AA ) AS COUNT_AA,
+	            DECODE( TA.COUNT_B, 0, NULL, TA.COUNT_B ) AS COUNT_B,
+	            DECODE( TA.COUNT_R, 0, NULL, TA.COUNT_R ) AS COUNT_R,
+				DECODE( TA.LB_NUM, 0, NULL, TA.LB_NUM ) AS LB_NUM,
+	            DECODE( TA.COUNT_L, 0, NULL, TA.COUNT_L ) AS COUNT_L,
+	            DECODE( TA.COUNT_U7 - TA.COUNT_B + TA.COUNT_H + TA.COUNT_F, 0, NULL, TA.COUNT_U7 - TA.COUNT_B + TA.COUNT_H + TA.COUNT_F ) AS COUNT_U7,
+	            DECODE( TA.COUNT_Z, 0, NULL, TA.COUNT_Z ) AS COUNT_Z,
+	            CASE WHEN TA.OUT_K IS NULL OR TA.OUT_K = 0 THEN NULL ELSE ROUND( ( TA.COUNT_U4 + TA.COUNT_U5 + TA.COUNT_AB + TA.COUNT_AA ) / TA.OUT_K, 4 ) * 100 END AS COUNT_UA,
+	            TD.* ,	
+							DECODE (GOODSTYPENAME,'妇洗','1','座','2','挂座','3','柱','4','盆','5','箱','6','连体','7' ,'8') AS GOOD	
+            FROM
+		            (
+		            SELECT
+			           GROUPING_ID ( GT.GOODSTYPECODE, G.GOODSCODE ) GID,
+			            GT.GOODSTYPECODE,
+			            GT.GOODSTYPENAME,
+			            G.GOODSCODE,
+			            G.GOODSNAME,
+						SUM(LB_NUM) LB_NUM,
+			            SUM( T.OUT_K ) OUT_K,
+			            SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 4 THEN 1 ELSE 0 END ) COUNT_U4, -- 直接正品
+			            SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 5 THEN 1 ELSE 0 END ) COUNT_U5, -- 直接副品
+			            SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 7 THEN 1 ELSE 0 END ) COUNT_U7, -- 直接次品
+			            SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 19 THEN 1 ELSE 0 END ) AS COUNT_R,
+			            SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 6 AND T.REWORKPROCEDUREID = 36 THEN 1 ELSE 0 END ) AS COUNT_Z,
+			            SUM( T.B_NUM ) AS COUNT_B,
+			            SUM( CASE WHEN T.H_FLAG = 1 THEN 1 ELSE 0 END ) AS COUNT_H,
+			            SUM( CASE WHEN RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) THEN - 1 ELSE 0 END ) COUNT_L, -- 冷补、堵漏气检验数 + 研磨+刷洗
+			            SUM( CASE WHEN T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23 ) THEN 1 ELSE 0 END ) COUNT_AA, -- 冷补合格数
+			            SUM( CASE WHEN T.GOODSLEVELTYPEID IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_AB, -- 堵漏气合格数 + 研磨+刷洗
+			            SUM( CASE WHEN T.GOODSLEVELTYPEID NOT IN ( 4, 5 ) AND RPD.PROCEDUREID IN ( 22, 23, 37, 20, 41 ) THEN 1 ELSE 0 END ) COUNT_F, -- 冷补、堵漏气不合格数 + 研磨+刷洗
+						SUM( CASE WHEN T.H_FLAG = 0 AND T.GOODSLEVELTYPEID = 20 THEN 1 ELSE 0 END ) Waste -- 直接次品
+		            FROM
+			            (
+			            SELECT      
+					           DISTINCT 
+                                TO_CHAR(pd.Barcode),
+					            NULL MPDID,
+					            0 GOODSLEVELTYPEID,
+					            PD.GOODSID,
+					            0 REWORKPROCEDUREID,
+								DECODE(DL.PRODUCTIONDATAID,null,0,1) LB_NUM,
+					            0 B_NUM, --B级品
+					            1 OUT_K,
+					            -1 H_FLAG,
+                                0 Waste
+			            FROM
+				            TP_PM_PRODUCTIONDATA PD
+				            INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID 
+				            LEFT JOIN TP_PM_DEFECT DL ON DL.PRODUCTIONDATAID = PD.PRODUCTIONDATAID 
+				            AND DL.DEFECTID = 67 
+				            AND DL.VALUEFLAG = '1'
+			            WHERE
+                            PD.CHECKFLAG = 1
+                           AND PD.CREATETIME >= @DATEBEGIN@
+                           AND PD.CREATETIME < @DATEEND@
+			            UNION ALL
+			            SELECT
+					            TO_CHAR(PD.PRODUCTIONDATAID),
+					            MAX( PMAX.PRODUCTIONDATAID ) MPDID,
+					            PD.GOODSLEVELTYPEID,
+					            PD.GOODSID,
+					            PD.REWORKPROCEDUREID,
+								0 LB_NUM,
+					            CASE WHEN PD.GOODSLEVELTYPEID = 7 AND sum( D.PRODUCTIONDEFECTID ) > 0 THEN 1 ELSE 0 END B_NUM, --B级品
+					            0 OUT_K,
+					            CASE WHEN sum( PMAX.PRODUCTIONDATAID ) > 0 THEN 1 ELSE 0 END H_FLAG, 
+                                0 Waste
+			            FROM
+				            TP_PM_PRODUCTIONDATA PD
+			                LEFT JOIN TP_PM_PRODUCTIONDATA PMAX ON PMAX.GROUTINGDAILYDETAILID = PD.GROUTINGDAILYDETAILID 
+			                AND PMAX.PRODUCTIONDATAID < PD.PRODUCTIONDATAID AND PMAX.VALUEFLAG = '1' AND PMAX.PROCEDUREMODEL = '1'
+				            AND PMAX.PROCEDUREID IN (20, 22, 23, 37, 41)
+				            LEFT JOIN TP_PM_DEFECT D ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID 
+				            AND D.DEFECTID = 92 
+				            AND D.VALUEFLAG = '1'
+				            INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID 
+			            WHERE
+                           PD.VALUEFLAG = '1'
+                           AND PD.CHECKBATCHNO = 1
+                           AND PD.CREATETIME >= @DATEBEGIN@
+                           AND PD.CREATETIME < @DATEEND@
+			            GROUP BY
+				            PD.PRODUCTIONDATAID,
+				            PD.GOODSLEVELTYPEID,
+				            PD.GOODSID,
+				            PD.REWORKPROCEDUREID 
+                            UNION ALL
+                            SELECT
+					            TO_CHAR(PD.PRODUCTIONDATAID),
+					            NULL MPDID,
+					            0 GOODSLEVELTYPEID,
+					            PD.GOODSID,
+					            0 REWORKPROCEDUREID,
+								0 LB_NUM,
+					            0 B_NUM, --B级品
+					            0 OUT_K,
+					            0 H_FLAG,
+                                0 Waste
+			            FROM
+				            TP_PM_PRODUCTIONDATA PD
+				            INNER JOIN TP_PC_GROUTINGLINE GL ON GL.GROUTINGLINEID = PD.GROUTINGLINEID 
+				            LEFT JOIN TP_PM_DEFECT DL ON DL.PRODUCTIONDATAID = PD.PRODUCTIONDATAID 
+				            AND DL.DEFECTID = 67 
+				            AND DL.VALUEFLAG = '1'
+			            WHERE
+                           PD.CHECKFLAG = 1
+                           AND PD.CHECKBATCHNO = 1
+                           AND PD.CREATETIME >= @DATEBEGIN@
+                           AND PD.CREATETIME < @DATEEND@
+				            ) T
+			            LEFT JOIN TP_PM_PRODUCTIONDATA RPD ON RPD.PRODUCTIONDATAID = T.MPDID
+			            INNER JOIN TP_MST_GOODS G ON G.GOODSID = T.GOODSID
+			            INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID 
+			            GROUP BY
+				            GROUPING SETS ( ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, G.GOODSNAME ), ( GT.GOODSTYPECODE, GT.GOODSTYPENAME ), ( ) ) 
+				            ) TA
+	            LEFT JOIN (
+	            SELECT
+		            * 
+	            FROM
+		            (
+			            SELECT
+				            CASE WHEN TT.GID IN ( 12, 13, 15 ) THEN 3 WHEN TT.GID IN ( 4, 5, 7 ) THEN 1 ELSE 0 END AS D_GID,
+				            TT.GOODSTYPECODE D_GOODSTYPECODE, --,TT.GOODSTYPENAME D_
+				            TT.GOODSCODE D_GOODSCODE,
+				            CASE WHEN TT.GID IN ( 1, 5, 13 ) THEN TT.DEFECT || '合计' WHEN TT.GID IN ( 3, 7, 15 ) THEN '合计' ELSE TT.DEFECT END AS DEFECT,
+			              TT.CNUM 
+			            FROM
+			            (
+			            SELECT
+				            GROUPING_ID ( GT.GOODSTYPECODE, G.GOODSCODE, PDP.DEFECTGROUPNAME, M.DEFECTNAME ) AS GID,
+				            GT.GOODSTYPECODE,
+				            GT.GOODSTYPENAME,
+				            G.GOODSCODE,
+				            PDP.DEFECTGROUPNAME,
+				            TO_CHAR( PDP.DEFECTGROUPNAME || '_' || M.DEFECTNAME ) AS DEFECT,
+							SUM(CASE WHEN D.DEFECTID = 11 AND (P.GOODSLEVELTYPEID = 4 OR P.GOODSLEVELTYPEID = 5) THEN 0 ELSE 1 END) AS CNUM
+			            FROM
+				            TP_PM_PRODUCTIONDATA P
+				            INNER JOIN TP_MST_GOODS G ON G.GOODSID = P.GOODSID
+				            INNER JOIN TP_MST_GOODSTYPE GT ON GT.GOODSTYPEID = G.GOODSTYPEID
+				            INNER JOIN TP_PC_GROUTINGLINE L ON P.GROUTINGLINEID = L.GROUTINGLINEID
+				            INNER JOIN TP_PM_DEFECT D ON P.PRODUCTIONDATAID = D.PRODUCTIONDATAID --AND (P.GOODSLEVELTYPEID NOT IN (4, 5) OR D.DEFECTID <> 11)
+				            INNER JOIN TP_MST_DEFECT M ON ( M.DEFECTID = D.DEFECTID AND M.DEFECTID > 0 )
+				            LEFT JOIN TP_PC_PROCEDURE PR ON PR.PROCEDUREID = D.DEFECTPROCEDUREID
+				            INNER JOIN TP_MST_DEFECTGROUP PDP ON PDP.DEFECTID = D.DEFECTID AND PDP.DEFECTGROUPTYPE LIKE '每窑%'
+				            AND ( 
+									( PDP.PROCEDUREID1 = PR.PROCEDUREID OR PDP.PROCEDUREID2 = PR.PROCEDUREID )
+									OR '13' = 35
+								) 
+			            WHERE
+				            P.VALUEFLAG = '1'
+                            AND P.PROCEDUREID = '13'
+                            AND P.CHECKBATCHNO = 1
+                            AND P.CHECKTIME >= @DATEBEGIN@
+                            AND P.CHECKTIME < @DATEEND@
 
-										AND P.GOODSLEVELTYPEID <> 4
--- 										AND (P.KILNID =@KILNID@ OR @KILNID@ IS NULL)
-										AND (INSTR((NULL),P.GOODSCODE)>0 OR NULL IS NULL)
--- 										AND (L.BUILDINGNO = @BUILDINGNO@ )
-									GROUP BY
-										GROUPING SETS (
-											( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
-											( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, PDP.DEFECTGROUPNAME ),
-											( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE ),
-											( GT.GOODSTYPECODE, GT.GOODSTYPENAME, PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
-											( GT.GOODSTYPECODE, GT.GOODSTYPENAME, PDP.DEFECTGROUPNAME ),
-											( GT.GOODSTYPECODE, GT.GOODSTYPENAME ),
-											( PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
-											( PDP.DEFECTGROUPNAME ),
-											( ) 
-										) 
-									) TT 
-									) PIVOT (
-									SUM( CNUM ) FOR DEFECT IN ('原料缺陷_铁脏' AS CNUM1,
+                            AND P.GOODSLEVELTYPEID <> 4
+			            GROUP BY
+				            GROUPING SETS (
+					            ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
+					            ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE, PDP.DEFECTGROUPNAME ),
+					            ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, G.GOODSCODE ),
+					            ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
+					            ( GT.GOODSTYPECODE, GT.GOODSTYPENAME, PDP.DEFECTGROUPNAME ),
+					            ( GT.GOODSTYPECODE, GT.GOODSTYPENAME ),
+					            ( PDP.DEFECTGROUPNAME, M.DEFECTNAME ),
+					            ( PDP.DEFECTGROUPNAME ),
+					            ( ) 
+				            ) 
+			            ORDER BY
+				            GT.GOODSTYPECODE,
+				            G.GOODSCODE,
+				            PDP.DEFECTGROUPNAME,
+				            M.DEFECTNAME 
+			            ) TT 
+			            ) PIVOT (
+			            SUM( CNUM ) FOR DEFECT IN ('原料缺陷_铁脏' AS CNUM1,
 								'原料缺陷_铜脏' AS CNUM2,
 								'原料缺陷_合计' AS CNUM3,
 								'成型缺陷_糙活' AS CNUM4,
@@ -416,15 +407,15 @@ public class JZ_RPT014 : IHttpHandler
 								'研磨缺陷_研磨配盖' AS  CNUM71,
 								'研磨缺陷_合计' AS CNUM72,
 								'合计' AS CNUM73
-									) 
-								) 
-							) TD ON TA.GID = TD.D_GID 
-							AND 
-							(
-								( TA.GID = 0 AND TA.GOODSTYPECODE = TD.D_GOODSTYPECODE AND TA.GOODSCODE = TD.D_GOODSCODE ) 
-								OR ( TA.GID = 1 AND TA.GOODSTYPECODE = TD.D_GOODSTYPECODE ) 
-								OR ( TA.GID = 3 ) 
-							)
+			            ) 
+		            ) 
+	            ) TD ON TA.GID = TD.D_GID 
+	            AND 
+	            (
+		            ( TA.GID = 0 AND TA.GOODSTYPECODE = TD.D_GOODSTYPECODE AND TA.GOODSCODE = TD.D_GOODSCODE ) 
+		            OR ( TA.GID = 1 AND TA.GOODSTYPECODE = TD.D_GOODSTYPECODE ) 
+		            OR ( TA.GID = 3 ) 
+	            )
 				)