Просмотр исходного кода

生产数据过滤没有缺陷的次品数据

qinqi 2 лет назад
Родитель
Сommit
add235f116
1 измененных файлов с 25 добавлено и 15 удалено
  1. 25 15
      wwwroot/mes/rpt2/rpt8001/rpt.ashx

+ 25 - 15
wwwroot/mes/rpt2/rpt8001/rpt.ashx

@@ -407,40 +407,50 @@ WITH
 ),
 质量登记次品数 AS
 (
-	SELECT
+		SELECT
 		GROUPING_ID ( TO_CHAR( P.CREATETIME, 'YYYYMM' ) ) AS GID,
 		NVL(TO_CHAR( P.CREATETIME, 'YYYYMM' ),'合计') AS 时间,
-		SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1  THEN 1 ELSE 0 END ) AS 质量登记次品数_一部大件,
-		SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( GT.GOODSTYPECODE, '001002' ) = 1)  THEN 1 ELSE 0 END ) AS 质量登记次品数_一部小件,
-		SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 质量登记次品数_一部全部,
-		SUM(CASE WHEN P.ISREFIRE = 0 AND ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 )  THEN 1 ELSE 0 END ) AS 质量登记次品数_二部全部,
+		SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( P.GOODSTYPECODE, '001001' ) = 1  THEN 1 ELSE 0 END ) AS 质量登记次品数_一部大件,
+		SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( P.GOODSTYPECODE, '001002' ) = 1)  THEN 1 ELSE 0 END ) AS 质量登记次品数_一部小件,
+		SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( P.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 质量登记次品数_一部全部,
+		SUM(CASE WHEN P.ISREFIRE = 0 AND ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( P.GOODSTYPECODE, '001001' ) = 1 )  THEN 1 ELSE 0 END ) AS 质量登记次品数_二部全部,
 		SUM(CASE WHEN P.ISREFIRE = 0 AND (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 质量登记次品数_三部全部,
 		SUM( DECODE(P.ISREFIRE,0,1,0) ) AS 质量登记次品数_合计,
-		SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1  THEN 1 ELSE 0 END ) AS 重烧登记次品数_一部大件,
-		SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( GT.GOODSTYPECODE, '001002' ) = 1)  THEN 1 ELSE 0 END ) AS 重烧登记次品数_一部小件,
-		SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 重烧登记次品数_一部全部,
-		SUM(CASE WHEN P.ISREFIRE = 6 AND ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1 )  THEN 1 ELSE 0 END ) AS 重烧登记次品数_二部全部,
+		SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( P.GOODSTYPECODE, '001001' ) = 1  THEN 1 ELSE 0 END ) AS 重烧登记次品数_一部大件,
+		SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( P.GOODSTYPECODE, '001002' ) = 1)  THEN 1 ELSE 0 END ) AS 重烧登记次品数_一部小件,
+		SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( P.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 重烧登记次品数_一部全部,
+		SUM(CASE WHEN P.ISREFIRE = 6 AND ((INSTR( P.GROUTINGLINECODE, 'B' ) = 1 OR INSTR( P.GROUTINGLINECODE, 'D' ) = 1) AND INSTR( P.GOODSTYPECODE, '001001' ) = 1 )  THEN 1 ELSE 0 END ) AS 重烧登记次品数_二部全部,
 		SUM(CASE WHEN P.ISREFIRE = 6 AND (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 重烧登记次品数_三部全部,
 		SUM( DECODE(P.ISREFIRE,6,1,0) ) AS 重烧登记次品数_合计
-	FROM TP_PM_PRODUCTIONDATA P
+	  FROM (
+	  SELECT 
+	  distinct P.CREATETIME,
+	  P.ISREFIRE,
+	  P.GROUTINGLINECODE,
+	  P.barcode, 
+	  GT.GOODSTYPECODE
+	   FROM  
+	  TP_PM_PRODUCTIONDATA P
 		INNER JOIN TP_PM_GROUTINGDAILYDETAIL GDD ON GDD.GROUTINGDAILYDETAILID = P.GROUTINGDAILYDETAILID
 		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 GL ON P.GROUTINGLINEID = GL.GROUTINGLINEID
-	WHERE P.MODELTYPE IN (-1, -4, -5)
-        AND P.CHECKBATCHNO = 1
-        AND P.VALUEFLAG = '1'
+		INNER JOIN TP_PM_DEFECT dfc on dfc.productiondataid=p.productiondataid
+	  WHERE P.MODELTYPE IN (-1, -4, -5)
+			AND P.CHECKBATCHNO = 1
+			AND P.VALUEFLAG = '1'
 		--AND P.ISREFIRE = '0'
 		AND P.GOODSLEVELTYPEID = 7
 		AND P.CREATETIME >= @DATEBEGIN@
 		AND P.CREATETIME < @DATEEND@
+		AND length(p.kilncarbatchno) > 0
 		-- AND P.PROCEDUREID IN ( 12, 59, 105 ) --8-1质量登记 8-2重烧质量登记 3#质量登记
 		AND P.GOODSLEVELTYPEID = 7 --产品分级类别 (1无缺陷、2有缺陷、3废品、4正品、5副品、6重烧、7次品、9干补)
 		AND (G.GOODSID IN ({GOODSID}) OR '{GOODSID}' = '0,0') 
 		AND (GL.GROUTINGLINEID IN ({GROUTINGLINEID}) OR '{GROUTINGLINEID}' = '0,0') 
 		AND (GL.HIGHPRESSUREFLAG = @HIGHPRESSUREFLAG@ OR @HIGHPRESSUREFLAG@ = '-1')
-		AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)
-	GROUP BY
+		AND (GDD.TESTMOULDFLAG = @TESTMOULDFLAG@ OR @TESTMOULDFLAG@ IS NULL)) P
+	  GROUP BY
 		GROUPING SETS ( TO_CHAR( P.CREATETIME, 'YYYYMM' ), ( ) )
 ),
 质量登记次品数改判 AS