Przeglądaj źródła

年度生产数据表修改 增加质量登记损坯,修改半成品损坯

ztl 2 lat temu
rodzic
commit
23697a350f
1 zmienionych plików z 75 dodań i 0 usunięć
  1. 75 0
      wwwroot/mes/rpt2/rpt8001/rpt.ashx

+ 75 - 0
wwwroot/mes/rpt2/rpt8001/rpt.ashx

@@ -286,6 +286,7 @@ WITH
 		AND P.SCRAPTYPE = '0' --废弃类型 (0:损坯;1:质量登记;2:半检;3:半检复检)
 		AND P.AUDITDATE >= @DATEBEGIN@
 		AND P.AUDITDATE < @DATEEND@
+		AND P.PROCEDUREID NOT IN ( 11, 128, 141, 130, 142,132,129,133,131,104, 120,143,123,140,121,122,124,125,106,105,127,12,66,79,107,113,126,78,80,134,13) 
 		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')
@@ -318,6 +319,7 @@ WITH
 		AND P.SCRAPTYPE = '0' --废弃类型 (0:损坯;1:质量登记;2:半检;3:半检复检)
 		AND P.BACKOUTTIME >= @DATEBEGIN@
 		AND P.BACKOUTTIME < @DATEEND@
+		AND P.PROCEDUREID NOT IN ( 11, 128, 141, 130, 142,132,129,133,131,104, 120,143,123,140,121,122,124,125,106,105,127,12,66,79,107,113,126,78,80,134,13) 
 		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')
@@ -467,6 +469,7 @@ WITH
 	  GROUP BY
 		GROUPING SETS ( TO_CHAR( P.CREATETIME, 'YYYYMM' ), ( ) )
 ),
+
 质量登记次品数改判 AS
 (
 	SELECT
@@ -506,6 +509,70 @@ WITH
 	GROUP BY
 		GROUPING SETS ( TO_CHAR( P.BACKOUTTIME, 'YYYYMM' ), ( ) )
 ),
+质量登记损坯数 AS
+(
+	SELECT
+		GROUPING_ID ( TO_CHAR( P.AUDITDATE, 'YYYYMM' ) ) AS GID,
+		NVL(TO_CHAR( P.AUDITDATE, 'YYYYMM' ),'合计') AS 时间,
+		SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1  THEN 1 ELSE 0 END ) AS 质量登记损坯数_一部大件,
+		SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1)  THEN 1 ELSE 0 END ) AS 质量登记损坯数_一部小件,
+		SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 质量登记损坯数_一部全部,
+		SUM(CASE WHEN ((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 (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 质量登记损坯数_三部全部,
+		COUNT( * ) AS 质量登记损坯数_数量 
+	FROM
+		TP_PM_SCRAPPRODUCT 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.AUDITSTATUS = '1' 
+		AND P.GOODSLEVELTYPEID IN ( 8, 9 ) -- 3废品、7次品、8损坯、9干补、10丢失、13不合格、14不合格(返)
+		AND P.SCRAPTYPE = '0' --废弃类型 (0:损坯;1:质量登记;2:半检;3:半检复检)
+		AND P.AUDITDATE >= @DATEBEGIN@
+		AND P.AUDITDATE < @DATEEND@
+		AND P.PROCEDUREID IN (11, 128, 141, 130, 142,132,129,133,131,104, 120,143,123,140,121,122,124,125,106,105,127,12,66,79,107,113,126,78,80,134,13) 
+		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)
+		AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
+	GROUP BY
+		GROUPING SETS ( TO_CHAR( P.AUDITDATE, 'YYYYMM' ), ( ) )
+),
+质量登记损坯数撤销 AS
+(
+	SELECT
+		GROUPING_ID ( TO_CHAR( P.AUDITDATE, 'YYYYMM' ) ) AS GID,
+		NVL(TO_CHAR( P.AUDITDATE, 'YYYYMM' ),'合计') AS 时间,
+		SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1) AND INSTR( GT.GOODSTYPECODE, '001001' ) = 1  THEN 1 ELSE 0 END ) AS 质量登记损坯数_一部大件,
+		SUM(CASE WHEN (INSTR( GT.GOODSTYPECODE, '001002' ) = 1)  THEN 1 ELSE 0 END ) AS 质量登记损坯数_一部小件,
+		SUM(CASE WHEN (INSTR( P.GROUTINGLINECODE, 'A' ) = 1 OR INSTR( GT.GOODSTYPECODE, '001002' ) = 1 ) THEN 1 ELSE 0 END ) AS 质量登记损坯数_一部全部,
+		SUM(CASE WHEN ((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 (INSTR( P.GROUTINGLINECODE, 'C' ) = 1 AND INSTR( P.GROUTINGLINECODE, 'A' ) = 4 OR INSTR( P.GROUTINGLINECODE, 'C06B' ) = 1) THEN 1 ELSE 0 END ) AS 质量登记损坯数_三部全部,
+		COUNT( * ) AS 质量登记损坯数_数量 
+	FROM
+		TP_PM_SCRAPPRODUCT 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.AUDITSTATUS = '1' 
+		AND P.GOODSLEVELTYPEID IN ( 8, 9 ) -- 3废品、7次品、8损坯、9干补、10丢失、13不合格、14不合格(返)
+		AND P.SCRAPTYPE = '0' --废弃类型 (0:损坯;1:质量登记;2:半检;3:半检复检)
+		AND P.BACKOUTTIME >= @DATEBEGIN@
+		AND P.BACKOUTTIME < @DATEEND@
+		AND P.PROCEDUREID IN ( 11, 128, 141, 130, 142,132,129,133,131,104, 120,143,123,140,121,122,124,125,106,105,127,12,66,79,107,113,126,78,80,134,13) 
+		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)
+		AND (GDD.TESTFLAG = @TESTFLAG@ OR @TESTFLAG@ IS NULL)
+	GROUP BY
+		GROUPING SETS ( TO_CHAR( P.AUDITDATE, 'YYYYMM' ), ( ) )
+),
 重烧损坯数 AS
 (
 	SELECT
@@ -683,6 +750,12 @@ SELECT
 	NVL(质量登记次品数.重烧登记次品数_一部全部,0) - NVL(质量登记次品数改判.重烧登记次品数_一部全部,0) AS 重烧登记次品数_一部全部,
 	NVL(质量登记次品数.重烧登记次品数_二部全部,0) - NVL(质量登记次品数改判.重烧登记次品数_二部全部,0) AS 重烧登记次品数_二部全部,
 	NVL(质量登记次品数.重烧登记次品数_三部全部,0) - NVL(质量登记次品数改判.重烧登记次品数_三部全部,0) AS 重烧登记次品数_三部全部,
+
+	NVL(质量登记损坯数.质量登记损坯数_一部小件,0) - NVL(质量登记损坯数撤销.质量登记损坯数_一部小件,0) AS 质量登记损坯数_一部小件,
+	NVL(质量登记损坯数.质量登记损坯数_一部大件,0) - NVL(质量登记损坯数撤销.质量登记损坯数_一部大件,0) AS 质量登记损坯数_一部大件,
+	NVL(质量登记损坯数.质量登记损坯数_一部全部,0) - NVL(质量登记损坯数撤销.质量登记损坯数_一部全部,0) AS 质量登记损坯数_一部全部,
+	NVL(质量登记损坯数.质量登记损坯数_二部全部,0) - NVL(质量登记损坯数撤销.质量登记损坯数_二部全部,0) AS 质量登记损坯数_二部全部,
+	NVL(质量登记损坯数.质量登记损坯数_三部全部,0) - NVL(质量登记损坯数撤销.质量登记损坯数_三部全部,0) AS 质量登记损坯数_三部全部,
 	
 	NVL(重烧损坯数.重烧损坯数_一部小件,0) - NVL(重烧损坯数撤销.重烧损坯数_一部小件,0) AS 重烧损坯数_一部小件,
 	NVL(重烧损坯数.重烧损坯数_一部大件,0) - NVL(重烧损坯数撤销.重烧损坯数_一部大件,0) AS 重烧损坯数_一部大件,
@@ -715,6 +788,8 @@ FROM
 	LEFT JOIN 出窑数 ON 拼接日期.时间 = 出窑数.时间
 	LEFT JOIN 质量登记次品数 ON 拼接日期.时间 = 质量登记次品数.时间
 	LEFT JOIN 质量登记次品数改判 ON 拼接日期.时间 = 质量登记次品数改判.时间
+	LEFT JOIN 质量登记损坯数 ON 拼接日期.时间 = 质量登记损坯数.时间
+	LEFT JOIN 质量登记损坯数撤销 ON 拼接日期.时间 = 质量登记损坯数撤销.时间
 	LEFT JOIN 重烧损坯数 ON 拼接日期.时间 = 重烧损坯数.时间
 	LEFT JOIN 重烧损坯数撤销 ON 拼接日期.时间 = 重烧损坯数撤销.时间
 	LEFT JOIN 回收数 ON 拼接日期.时间 = 回收数.时间