Переглянути джерело

SQL美化调整
个别段落Navicat可以执行
服务器报错

昱硕 冯 1 рік тому
батько
коміт
65a38de67d
1 змінених файлів з 276 додано та 311 видалено
  1. 276 311
      wwwroot/main/manage/JiaShiCang/rpt.ashx

+ 276 - 311
wwwroot/main/manage/JiaShiCang/rpt.ashx

@@ -839,317 +839,282 @@ public class rpt : IHttpHandler, IReadOnlySessionState
             if (context.Request["m"].ToString() == "Load01")
             {
                 string sqlStr = @"WITH 本烧出窑总数 AS (
-													SELECT--本烧一车间次品数
-													SUM(
-														CASE
-				
-																WHEN (
-																	( INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) 
-																	AND INSTR( GT.GOODSTYPECODE, '001002' ) = 1 
-																	) THEN
-																	1 ELSE 0 
-																END 
-																) ONESUBSTANDARDCOUNT,
-												--本烧二车间次品数
-																SUM(
-																CASE
-						
-																		WHEN (
-																			( INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) 
-																			AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 
-																			) THEN
-																			1 ELSE 0 
-																		END 
-																		) TWOSUBSTANDARDCOUNT,
-												--本烧三车间次品数
-																	SUM( CASE WHEN INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 THEN 1 ELSE 0 END ) THREESUBSTANDARDCOUNT 
-												FROM
-													TP_PM_PRODUCTIONDATA PD
-													LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.BARCODE = PD.BARCODE
-													INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
-													INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID 
-												WHERE
-													PD.ACCOUNTID = 1 
-													AND (
-														(
-															11 = 11 
-															AND (
-																( PD.PROCEDUREID = 11 AND PD.VALUEFLAG = '1' AND PD.ISREFIRE = '0' ) 
-																OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '0' AND PD.CHECKFLAG = '1' ) 
-															) 
-														) 
-														OR (
-															11 = 58 
-															AND (
-																( PD.PROCEDUREID = 58 AND PD.VALUEFLAG = '1' ) 
-																OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '6' AND PD.CHECKFLAG = '1' ) 
-															) 
-														) 
-														OR ( 11 NOT IN ( 11, 58 ) AND PD.VALUEFLAG = '1' AND PD.PROCEDUREID = 11 ) 
-													) 
-													AND PD.CREATETIME >= TRUNC( SYSDATE - 7 ) 
-													AND TRUNC( PD.CREATETIME ) < TRUNC( SYSDATE ) 
-													),
-													重烧出窑总数 AS (
-														SELECT--本烧一车间次品数
-														SUM(
-														CASE
-				
-																WHEN (
-																	( INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) 
-																	AND INSTR( GT.GOODSTYPECODE, '001002' ) = 1 
-																	) THEN
-																	1 ELSE 0 
-																END 
-																) ONESUBSTANDARDCOUNT,
-												--本烧二车间次品数
-																SUM(
-																CASE
-						
-																		WHEN (
-																			( INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) 
-																			AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 
-																			) THEN
-																			1 ELSE 0 
-																		END 
-																		) TWOSUBSTANDARDCOUNT,
-												--本烧三车间次品数
-																	SUM( CASE WHEN INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 THEN 1 ELSE 0 END ) THREESUBSTANDARDCOUNT 
-												FROM
-													TP_PM_PRODUCTIONDATA PD
-													LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.BARCODE = PD.BARCODE
-													INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
-													INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID 
-												WHERE
-													PD.ACCOUNTID = 1 
-													AND (
-														(
-															58 = 11 
-															AND (
-																( PD.PROCEDUREID = 11 AND PD.VALUEFLAG = '1' AND PD.ISREFIRE = '0' ) 
-																OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '0' AND PD.CHECKFLAG = '1' ) 
-															) 
-														) 
-														OR (
-															58 = 58 
-															AND (
-																( PD.PROCEDUREID = 58 AND PD.VALUEFLAG = '1' ) 
-																OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '6' AND PD.CHECKFLAG = '1' ) 
-															) 
-														) 
-														OR ( 58 NOT IN ( 11, 58 ) AND PD.VALUEFLAG = '1' AND PD.PROCEDUREID = 58 ) 
-													) 
-													AND PD.CREATETIME >= TRUNC( SYSDATE - 7 ) 
-													AND TRUNC( PD.CREATETIME ) < TRUNC( SYSDATE ) 
-													),
-													本烧次品重烧数 AS (
-														SELECT--本烧一车间次品数
-														SUM(
-														CASE
-				
-																WHEN (
-																	GOODSLEVELTYPEID = 7 
-																	AND (
-																		( INSTR( GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
-																		AND INSTR( GOODSTYPECODE, '001002' ) = 1 
-																	) 
-																	) THEN
-																	1 ELSE 0 
-																END 
-																) ONESUBSTANDARDCOUNT,
-												--本烧二车间次品数
-																SUM(
-																CASE
-						
-																		WHEN (
-																			GOODSLEVELTYPEID = 7 
-																			AND (
-																				( INSTR( GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
-																				AND INSTR( GOODSTYPECODE, '001001' ) = 1 
-																			) 
-																			) THEN
-																			1 ELSE 0 
-																		END 
-																		) TWOSUBSTANDARDCOUNT,
-												--本烧三车间次品数
-																	SUM( CASE WHEN ( GOODSLEVELTYPEID = 7 AND INSTR( GROUTINGLINECODE, 'C' ) = 1 ) THEN 1 ELSE 0 END ) THREESUBSTANDARDCOUNT,
-												--本烧一车间重烧数
-													SUM(
-													CASE
-			
-															WHEN (
-																GOODSLEVELTYPEID = 6 
-																AND (
-																	( INSTR( GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
-																	AND INSTR( GOODSTYPECODE, '001002' ) = 1 
-																) 
-																) THEN
-																1 ELSE 0 
-															END 
-															) ONEREFIRECOUNT,
-												--本烧二车间重烧数
-															SUM(
-															CASE
-					
-																	WHEN (
-																		GOODSLEVELTYPEID = 6 
-																		AND (
-																			( INSTR( GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
-																			AND INSTR( GOODSTYPECODE, '001001' ) = 1 
-																		) 
-																		) THEN
-																		1 ELSE 0 
-																	END 
-																	) TWOREFIRECOUNT,
-												--本烧三车间重烧数
-																SUM( CASE WHEN ( GOODSLEVELTYPEID = 6 AND INSTR( GROUTINGLINECODE, 'C' ) = 1 ) THEN 1 ELSE 0 END ) THREEREFIRECOUNT 
-												FROM
-													(
-													SELECT DISTINCT
-														PD.BARCODE,
-														GT.GOODSTYPECODE,
-														GDD.GROUTINGLINECODE,
-														PD.GOODSLEVELTYPEID 
-													FROM
-														TP_PM_PRODUCTIONDATA PD
-														LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PD.BARCODE = GDD.BARCODE
-														INNER JOIN TP_PM_DEFECT D ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
-														INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
-														INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID 
-													WHERE
-														PD.VALUEFLAG = '1' 
-														AND PD.ACCOUNTID = 1 
-														AND LENGTH( PD.KILNCARBATCHNO ) > 0 
-														AND PD.CREATETIME >= TRUNC( SYSDATE - 7 ) 
-														AND TRUNC( PD.CREATETIME ) < TRUNC( SYSDATE ) 
-														AND PD.MODELTYPE IN ( - 1, - 4, - 5 ) 
-														AND PD.CHECKBATCHNO = 1 
-														AND ( ( 11 <> 58 AND PD.ISREFIRE = '0' ) OR ( 11 = 58 AND PD.ISREFIRE = '6' ) ) 
-														AND GDD.RECYCLINGFLAG = '0' 
-													) T 
-													),
-													重烧次品重烧数 AS (
-														SELECT--本烧一车间次品数
-														SUM(
-														CASE
-				
-																WHEN (
-																	GOODSLEVELTYPEID = 7 
-																	AND (
-																		( INSTR( GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
-																		AND INSTR( GOODSTYPECODE, '001002' ) = 1 
-																	) 
-																	) THEN
-																	1 ELSE 0 
-																END 
-																) ONESUBSTANDARDCOUNT,
-												--本烧二车间次品数
-																SUM(
-																CASE
-						
-																		WHEN (
-																			GOODSLEVELTYPEID = 7 
-																			AND (
-																				( INSTR( GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
-																				AND INSTR( GOODSTYPECODE, '001001' ) = 1 
-																			) 
-																			) THEN
-																			1 ELSE 0 
-																		END 
-																		) TWOSUBSTANDARDCOUNT,
-												--本烧三车间次品数
-																	SUM( CASE WHEN ( GOODSLEVELTYPEID = 7 AND INSTR( GROUTINGLINECODE, 'C' ) = 1 ) THEN 1 ELSE 0 END ) THREESUBSTANDARDCOUNT,
-												--本烧一车间重烧数
-													SUM(
-													CASE
-			
-															WHEN (
-																GOODSLEVELTYPEID = 6 
-																AND (
-																	( INSTR( GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
-																	AND INSTR( GOODSTYPECODE, '001002' ) = 1 
-																) 
-																) THEN
-																1 ELSE 0 
-															END 
-															) ONEREFIRECOUNT,
-												--本烧二车间重烧数
-															SUM(
-															CASE
-					
-																	WHEN (
-																		GOODSLEVELTYPEID = 6 
-																		AND (
-																			( INSTR( GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
-																			AND INSTR( GOODSTYPECODE, '001001' ) = 1 
-																		) 
-																		) THEN
-																		1 ELSE 0 
-																	END 
-																	) TWOREFIRECOUNT,
-												--本烧三车间重烧数
-																SUM( CASE WHEN ( GOODSLEVELTYPEID = 6 AND INSTR( GROUTINGLINECODE, 'C' ) = 1 ) THEN 1 ELSE 0 END ) THREEREFIRECOUNT 
-												FROM
-													(
-													SELECT DISTINCT
-														PD.BARCODE,
-														GT.GOODSTYPECODE,
-														GDD.GROUTINGLINECODE,
-														PD.GOODSLEVELTYPEID 
-													FROM
-														TP_PM_PRODUCTIONDATA PD
-														LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PD.BARCODE = GDD.BARCODE
-														INNER JOIN TP_PM_DEFECT D ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
-														INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
-														INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID 
-													WHERE
-														PD.VALUEFLAG = '1' 
-														AND PD.ACCOUNTID = 1 
-														AND LENGTH( PD.KILNCARBATCHNO ) > 0 
-														AND PD.CREATETIME >= TRUNC( SYSDATE - 7 ) 
-														AND TRUNC( PD.CREATETIME ) < TRUNC( SYSDATE ) 
-														AND PD.MODELTYPE IN ( - 1, - 4, - 5 ) 
-														AND PD.CHECKBATCHNO = 1 
-														AND ( ( 58 <> 58 AND PD.ISREFIRE = '0' ) OR ( 58 = 58 AND PD.ISREFIRE = '6' ) ) 
-														AND GDD.RECYCLINGFLAG = '0' 
-													) T 
-													) SELECT
-													本烧出窑总数.ONESUBSTANDARDCOUNT AS 一车间,
-													本烧出窑总数.TWOSUBSTANDARDCOUNT AS 二车间,
-													本烧出窑总数.THREESUBSTANDARDCOUNT AS 三车间 
-												FROM
-													本烧出窑总数 UNION ALL
-												SELECT
-													ROUND( ( ( 本烧出窑总数.ONESUBSTANDARDCOUNT - 本烧次品重烧数.ONESUBSTANDARDCOUNT - 本烧次品重烧数.ONEREFIRECOUNT ) / 本烧出窑总数.ONESUBSTANDARDCOUNT ) * 100, 1 ) AS 一车间,
-													ROUND( ( ( 本烧出窑总数.TWOSUBSTANDARDCOUNT - 本烧次品重烧数.TWOSUBSTANDARDCOUNT - 本烧次品重烧数.TWOREFIRECOUNT ) / 本烧出窑总数.TWOSUBSTANDARDCOUNT ) * 100, 1 ) AS 二车间,
-													ROUND( ( ( 本烧出窑总数.THREESUBSTANDARDCOUNT - 本烧次品重烧数.THREESUBSTANDARDCOUNT - 本烧次品重烧数.THREEREFIRECOUNT ) / 本烧出窑总数.THREESUBSTANDARDCOUNT ) * 100, 1 ) AS 三车间 
-												FROM
-													本烧出窑总数
-													LEFT JOIN 本烧次品重烧数 ON 1 = 1 UNION ALL
-												SELECT
-													ROUND(
-														(
-															( ( 本烧出窑总数.ONESUBSTANDARDCOUNT -本烧次品重烧数.ONESUBSTANDARDCOUNT -本烧次品重烧数.ONEREFIRECOUNT ) + ( 重烧出窑总数.ONESUBSTANDARDCOUNT -重烧次品重烧数.ONESUBSTANDARDCOUNT -重烧次品重烧数.ONEREFIRECOUNT ) ) /本烧出窑总数.ONESUBSTANDARDCOUNT 
-														) * 100,
-														1 
-													) AS 一车间,
-													ROUND(
-														(
-															( ( 本烧出窑总数.TWOSUBSTANDARDCOUNT -本烧次品重烧数.TWOSUBSTANDARDCOUNT -本烧次品重烧数.TWOREFIRECOUNT ) + ( 重烧出窑总数.TWOSUBSTANDARDCOUNT -重烧次品重烧数.TWOSUBSTANDARDCOUNT -重烧次品重烧数.TWOREFIRECOUNT ) ) /本烧出窑总数.TWOSUBSTANDARDCOUNT 
-														) * 100,
-														1 
-													) AS 二车间,
-													ROUND(
-														(
-															( ( 本烧出窑总数.THREESUBSTANDARDCOUNT -本烧次品重烧数.THREESUBSTANDARDCOUNT -本烧次品重烧数.THREEREFIRECOUNT ) + ( 重烧出窑总数.THREESUBSTANDARDCOUNT -重烧次品重烧数.THREESUBSTANDARDCOUNT -重烧次品重烧数.THREEREFIRECOUNT ) ) /本烧出窑总数.THREESUBSTANDARDCOUNT 
-														) * 100,
-														1 
-													) AS 三车间 
-												FROM
-													本烧出窑总数
-													LEFT JOIN 本烧次品重烧数 ON 1 = 1
-													LEFT JOIN 重烧出窑总数 ON 1 = 1
-													LEFT JOIN 重烧次品重烧数 ON 1 = 1";
+	SELECT
+	SUM(
+		CASE WHEN (
+					( INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) 
+					AND INSTR( GT.GOODSTYPECODE, '001002' ) = 1 
+					) THEN
+					1 ELSE 0 
+				END 
+				) ONESUBSTANDARDCOUNT,
+				SUM(
+				CASE WHEN (
+							( INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) 
+							AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 
+							) THEN
+							1 ELSE 0 
+						END 
+						) TWOSUBSTANDARDCOUNT,
+
+					SUM( CASE WHEN INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 THEN 1 ELSE 0 END ) THREESUBSTANDARDCOUNT 
+FROM
+	TP_PM_PRODUCTIONDATA PD
+	LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.BARCODE = PD.BARCODE
+	INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
+	INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID 
+WHERE
+	PD.ACCOUNTID = 1 
+	AND (
+		(
+			11 = 11 
+			AND (
+				( PD.PROCEDUREID = 11 AND PD.VALUEFLAG = '1' AND PD.ISREFIRE = '0' ) 
+				OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '0' AND PD.CHECKFLAG = '1' ) 
+			) 
+		) 
+		OR (
+			11 = 58 
+			AND (
+				( PD.PROCEDUREID = 58 AND PD.VALUEFLAG = '1' ) 
+				OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '6' AND PD.CHECKFLAG = '1' ) 
+			) 
+		) 
+		OR ( 11 NOT IN ( 11, 58 ) AND PD.VALUEFLAG = '1' AND PD.PROCEDUREID = 11 ) 
+	) 
+	AND PD.CREATETIME >= TRUNC( SYSDATE - 7 ) 
+	AND TRUNC( PD.CREATETIME ) < TRUNC( SYSDATE ) 
+	),
+	重烧出窑总数 AS (
+		SELECT
+		SUM(
+		CASE WHEN (
+					( INSTR( GDD.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) 
+					AND INSTR( GT.GOODSTYPECODE, '001002' ) = 1 
+					) THEN
+					1 ELSE 0 
+				END 
+				) ONESUBSTANDARDCOUNT,
+				SUM(
+				CASE WHEN (
+							( INSTR( GDD.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GDD.GROUTINGLINECODE, 'D' ) = 1 ) 
+							AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 
+							) THEN
+							1 ELSE 0 
+						END 
+						) TWOSUBSTANDARDCOUNT,
+--本烧三车间次品数
+					SUM( CASE WHEN INSTR( GDD.GROUTINGLINECODE, 'C' ) = 1 THEN 1 ELSE 0 END ) THREESUBSTANDARDCOUNT 
+FROM
+	TP_PM_PRODUCTIONDATA PD
+	LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.BARCODE = PD.BARCODE
+	INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
+	INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID 
+WHERE
+	PD.ACCOUNTID = 1 
+	AND (
+		(
+			58 = 11 
+			AND (
+				( PD.PROCEDUREID = 11 AND PD.VALUEFLAG = '1' AND PD.ISREFIRE = '0' ) 
+				OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '0' AND PD.CHECKFLAG = '1' ) 
+			) 
+		) 
+		OR (
+			58 = 58 
+			AND (
+				( PD.PROCEDUREID = 58 AND PD.VALUEFLAG = '1' ) 
+				OR ( PD.PROCEDUREID = 104 AND PD.ISREFIRE = '6' AND PD.CHECKFLAG = '1' ) 
+			) 
+		) 
+		OR ( 58 NOT IN ( 11, 58 ) AND PD.VALUEFLAG = '1' AND PD.PROCEDUREID = 58 ) 
+	) 
+	AND PD.CREATETIME >= TRUNC( SYSDATE - 7 ) 
+	AND TRUNC( PD.CREATETIME ) < TRUNC( SYSDATE ) 
+	),
+	本烧次品重烧数 AS (
+		SELECT
+		SUM(
+		CASE WHEN (
+					GOODSLEVELTYPEID = 7 
+					AND (
+						( INSTR( GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
+						AND INSTR( GOODSTYPECODE, '001002' ) = 1 
+					) 
+					) THEN
+					1 ELSE 0 
+				END 
+				) ONESUBSTANDARDCOUNT,
+				SUM(
+				CASE WHEN (
+							GOODSLEVELTYPEID = 7 
+							AND (
+								( INSTR( GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
+								AND INSTR( GOODSTYPECODE, '001001' ) = 1 
+							) 
+							) THEN
+							1 ELSE 0 
+						END 
+						) TWOSUBSTANDARDCOUNT,
+					SUM( CASE WHEN ( GOODSLEVELTYPEID = 7 AND INSTR( GROUTINGLINECODE, 'C' ) = 1 ) THEN 1 ELSE 0 END ) THREESUBSTANDARDCOUNT,
+	SUM(
+	CASE WHEN (
+				GOODSLEVELTYPEID = 6 
+				AND (
+					( INSTR( GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
+					AND INSTR( GOODSTYPECODE, '001002' ) = 1 
+				) 
+				) THEN
+				1 ELSE 0 
+			END 
+			) ONEREFIRECOUNT,
+			SUM(
+			CASE WHEN (
+						GOODSLEVELTYPEID = 6 
+						AND (
+							( INSTR( GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
+							AND INSTR( GOODSTYPECODE, '001001' ) = 1 
+						) 
+						) THEN
+						1 ELSE 0 
+					END 
+					) TWOREFIRECOUNT,
+--本烧三车间重烧数
+				SUM( CASE WHEN ( GOODSLEVELTYPEID = 6 AND INSTR( GROUTINGLINECODE, 'C' ) = 1 ) THEN 1 ELSE 0 END ) THREEREFIRECOUNT 
+FROM
+	(
+	SELECT DISTINCT
+		PD.BARCODE,
+		GT.GOODSTYPECODE,
+		GDD.GROUTINGLINECODE,
+		PD.GOODSLEVELTYPEID 
+	FROM
+		TP_PM_PRODUCTIONDATA PD
+		LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PD.BARCODE = GDD.BARCODE
+		INNER JOIN TP_PM_DEFECT D ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
+		INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
+		INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID 
+	WHERE
+		PD.VALUEFLAG = '1' 
+		AND PD.ACCOUNTID = 1 
+		AND LENGTH( PD.KILNCARBATCHNO ) > 0 
+		AND PD.CREATETIME >= TRUNC( SYSDATE - 7 ) 
+		AND TRUNC( PD.CREATETIME ) < TRUNC( SYSDATE ) 
+		AND PD.MODELTYPE IN ( - 1, - 4, - 5 ) 
+		AND PD.CHECKBATCHNO = 1 
+		AND ( ( 11 <> 58 AND PD.ISREFIRE = '0' ) OR ( 11 = 58 AND PD.ISREFIRE = '6' ) ) 
+		AND GDD.RECYCLINGFLAG = '0' 
+	) T 
+	),
+	重烧次品重烧数 AS (
+		SELECT
+		SUM(
+		CASE WHEN (
+					GOODSLEVELTYPEID = 7 
+					AND (
+						( INSTR( GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
+						AND INSTR( GOODSTYPECODE, '001002' ) = 1 
+					) 
+					) THEN
+					1 ELSE 0 
+				END 
+				) ONESUBSTANDARDCOUNT,
+				SUM(
+				CASE WHEN (
+							GOODSLEVELTYPEID = 7 
+							AND (
+								( INSTR( GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
+								AND INSTR( GOODSTYPECODE, '001001' ) = 1 
+							) 
+							) THEN
+							1 ELSE 0 
+						END 
+						) TWOSUBSTANDARDCOUNT,
+					SUM( CASE WHEN ( GOODSLEVELTYPEID = 7 AND INSTR( GROUTINGLINECODE, 'C' ) = 1 ) THEN 1 ELSE 0 END ) THREESUBSTANDARDCOUNT,
+	SUM(
+	CASE WHEN (
+				GOODSLEVELTYPEID = 6 
+				AND (
+					( INSTR( GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
+					AND INSTR( GOODSTYPECODE, '001002' ) = 1 
+				) 
+				) THEN
+				1 ELSE 0 
+			END 
+			) ONEREFIRECOUNT,
+			SUM(
+			CASE WHEN (
+						GOODSLEVELTYPEID = 6 
+						AND (
+							( INSTR( GROUTINGLINECODE, 'B' ) = 1 OR INSTR( GROUTINGLINECODE, 'D' ) = 1 ) 
+							AND INSTR( GOODSTYPECODE, '001001' ) = 1 
+						) 
+						) THEN
+						1 ELSE 0 
+					END 
+					) TWOREFIRECOUNT,
+				SUM( CASE WHEN ( GOODSLEVELTYPEID = 6 AND INSTR( GROUTINGLINECODE, 'C' ) = 1 ) THEN 1 ELSE 0 END ) THREEREFIRECOUNT 
+FROM
+	(
+	SELECT DISTINCT
+		PD.BARCODE,
+		GT.GOODSTYPECODE,
+		GDD.GROUTINGLINECODE,
+		PD.GOODSLEVELTYPEID 
+	FROM
+		TP_PM_PRODUCTIONDATA PD
+		LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON PD.BARCODE = GDD.BARCODE
+		INNER JOIN TP_PM_DEFECT D ON D.PRODUCTIONDATAID = PD.PRODUCTIONDATAID
+		INNER JOIN TP_MST_GOODS G ON G.GOODSID = GDD.GOODSID
+		INNER JOIN TP_MST_GOODSTYPE GT ON G.GOODSTYPEID = GT.GOODSTYPEID 
+	WHERE
+		PD.VALUEFLAG = '1' 
+		AND PD.ACCOUNTID = 1 
+		AND LENGTH( PD.KILNCARBATCHNO ) > 0 
+		AND PD.CREATETIME >= TRUNC( SYSDATE - 7 ) 
+		AND TRUNC( PD.CREATETIME ) < TRUNC( SYSDATE ) 
+		AND PD.MODELTYPE IN ( - 1, - 4, - 5 ) 
+		AND PD.CHECKBATCHNO = 1 
+		AND ( ( 58 <> 58 AND PD.ISREFIRE = '0' ) OR ( 58 = 58 AND PD.ISREFIRE = '6' ) ) 
+		AND GDD.RECYCLINGFLAG = '0' 
+	) T 
+	) SELECT
+	本烧出窑总数.ONESUBSTANDARDCOUNT AS 一车间,
+	本烧出窑总数.TWOSUBSTANDARDCOUNT AS 二车间,
+	本烧出窑总数.THREESUBSTANDARDCOUNT AS 三车间 
+FROM
+	本烧出窑总数 UNION ALL
+SELECT
+	ROUND( ( ( 本烧出窑总数.ONESUBSTANDARDCOUNT - 本烧次品重烧数.ONESUBSTANDARDCOUNT - 本烧次品重烧数.ONEREFIRECOUNT ) / 本烧出窑总数.ONESUBSTANDARDCOUNT ) * 100, 1 ) AS 一车间,
+	ROUND( ( ( 本烧出窑总数.TWOSUBSTANDARDCOUNT - 本烧次品重烧数.TWOSUBSTANDARDCOUNT - 本烧次品重烧数.TWOREFIRECOUNT ) / 本烧出窑总数.TWOSUBSTANDARDCOUNT ) * 100, 1 ) AS 二车间,
+	ROUND( ( ( 本烧出窑总数.THREESUBSTANDARDCOUNT - 本烧次品重烧数.THREESUBSTANDARDCOUNT - 本烧次品重烧数.THREEREFIRECOUNT ) / 本烧出窑总数.THREESUBSTANDARDCOUNT ) * 100, 1 ) AS 三车间 
+FROM
+	本烧出窑总数
+	LEFT JOIN 本烧次品重烧数 ON 1 = 1 UNION ALL
+SELECT
+	ROUND(
+		(
+			( ( 本烧出窑总数.ONESUBSTANDARDCOUNT -本烧次品重烧数.ONESUBSTANDARDCOUNT -本烧次品重烧数.ONEREFIRECOUNT ) + ( 重烧出窑总数.ONESUBSTANDARDCOUNT -重烧次品重烧数.ONESUBSTANDARDCOUNT -重烧次品重烧数.ONEREFIRECOUNT ) ) /本烧出窑总数.ONESUBSTANDARDCOUNT 
+		) * 100,
+		1 
+	) AS 一车间,
+	ROUND(
+		(
+			( ( 本烧出窑总数.TWOSUBSTANDARDCOUNT -本烧次品重烧数.TWOSUBSTANDARDCOUNT -本烧次品重烧数.TWOREFIRECOUNT ) + ( 重烧出窑总数.TWOSUBSTANDARDCOUNT -重烧次品重烧数.TWOSUBSTANDARDCOUNT -重烧次品重烧数.TWOREFIRECOUNT ) ) /本烧出窑总数.TWOSUBSTANDARDCOUNT 
+		) * 100,
+		1 
+	) AS 二车间,
+	ROUND(
+		(
+			( ( 本烧出窑总数.THREESUBSTANDARDCOUNT -本烧次品重烧数.THREESUBSTANDARDCOUNT -本烧次品重烧数.THREEREFIRECOUNT ) + ( 重烧出窑总数.THREESUBSTANDARDCOUNT -重烧次品重烧数.THREESUBSTANDARDCOUNT -重烧次品重烧数.THREEREFIRECOUNT ) ) /本烧出窑总数.THREESUBSTANDARDCOUNT 
+		) * 100,
+		1 
+	) AS 三车间 
+FROM
+	本烧出窑总数
+	LEFT JOIN 本烧次品重烧数 ON 1 = 1
+	LEFT JOIN 重烧出窑总数 ON 1 = 1
+	LEFT JOIN 重烧次品重烧数 ON 1 = 1";
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 context.Response.Write(jsonStr);