|
@@ -55,8 +55,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
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 ( '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 ( '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 ( '83','84') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_出窑,
|
|
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 (SELECT DEFECTCODE FROM TP_MST_DEFECT WHERE DEFECTTYPEID NOT IN(1,4,5,6,7,8)
|
|
|
|
|
- AND DF.DEFECTCODE NOT IN('10','12','13','14','15','16','17','18','19','20','01','02','03','04','05','06','07','08','09','10','25','34')) THEN PD.BARCODE ELSE NULL END) 其他缺陷
|
|
|
|
|
|
|
+ COUNT(DISTINCT CASE WHEN DF.DEFECTCODE IN ('99','100') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 其他缺陷
|
|
|
FROM(
|
|
FROM(
|
|
|
SELECT * FROM(
|
|
SELECT * FROM(
|
|
|
SELECT
|
|
SELECT
|
|
@@ -94,9 +93,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
) )WHERE rownums=1
|
|
) )WHERE rownums=1
|
|
|
) PD
|
|
) PD
|
|
|
LEFT JOIN TP_PM_DEFECT df ON DF.BARCODE=PD.BARCODE AND DF.VALUEFLAG=1
|
|
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.GOODSTYPENAME),())
|
|
|
|
|
|
|
+ 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.GOODSTYPENAME),())
|
|
|
),
|
|
),
|
|
|
工序对应出窑量 AS (
|
|
工序对应出窑量 AS (
|
|
|
SELECT
|
|
SELECT
|
|
@@ -221,37 +220,30 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
{
|
|
{
|
|
|
sqlStr = @" WITH 数据源 AS (SELECT
|
|
sqlStr = @" WITH 数据源 AS (SELECT
|
|
|
CASE WHEN GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME) =2 THEN '小计'
|
|
CASE WHEN GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME) =2 THEN '小计'
|
|
|
- WHEN GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME) =3 THEN '总计'ELSE to_char(PD.GOODSCODE) END AS 产品编码,
|
|
|
|
|
- GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME) AS GID,
|
|
|
|
|
|
|
+ WHEN GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME) =3 THEN '总计'ELSE to_char(PD.GOODSCODE) END AS 产品编码,
|
|
|
|
|
+ GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME) AS GID,
|
|
|
PD.GOODSNAME 产品名称,
|
|
PD.GOODSNAME 产品名称,
|
|
|
PD.LOGONAME 商标,
|
|
PD.LOGONAME 商标,
|
|
|
PD.DICTIONARYVALUE 釉色,
|
|
PD.DICTIONARYVALUE 釉色,
|
|
|
PD.GOODSSPECIFICATION 产品规格,
|
|
PD.GOODSSPECIFICATION 产品规格,
|
|
|
- PD.GOODSTYPENAME 产品类别,
|
|
|
|
|
|
|
+ PD.GOODSTYPENAME 产品类别,
|
|
|
COUNT(DISTINCT PD.BARCODE ) as 出窑量_出窑量,
|
|
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 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 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 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 PD.BARCODE ELSE NULL END) 成型缺陷_成A,
|
|
|
|
|
- COUNT(DISTINCT CASE WHEN instr(PD.GROUTINGLINECODE, 'B') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN PD.BARCODE ELSE NULL END) 成型缺陷_成B,
|
|
|
|
|
- COUNT(DISTINCT CASE WHEN instr(PD.GROUTINGLINECODE, 'C') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN PD.BARCODE ELSE NULL END) 成型缺陷_成C,
|
|
|
|
|
- COUNT(DISTINCT CASE WHEN PD.HIGHPRESSUREFLAG=1 AND DEFECT.DEFECTTYPEID=1 THEN PD.BARCODE 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) 成型缺陷_半检,
|
|
|
|
|
-
|
|
|
|
|
- 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 ( '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 ( '83','84') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_出窑,
|
|
|
|
|
-
|
|
|
|
|
- COUNT(DISTINCT CASE WHEN DF.DEFECTCODE IN (SELECT DEFECTCODE FROM TP_MST_DEFECT WHERE DEFECTTYPEID NOT IN(1,4,5,6,7,8)
|
|
|
|
|
- AND DF.DEFECTCODE NOT IN('10','12','13','14','15','16','17','18','19','20','01','02','03','04','05','06','07','08','09','10','25','34')) 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) 成型缺陷_半检,
|
|
|
|
|
+ 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 ( '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(
|
|
FROM(SELECT * FROM(
|
|
|
SELECT
|
|
SELECT
|
|
|
BARCODE,REWORKPROCEDUREID,GROUTINGLINECODE,GOODSCODE,GOODSNAME,LOGONAME,GOODSLEVELTYPEID,GOODSSPECIFICATION,DICTIONARYVALUE,
|
|
BARCODE,REWORKPROCEDUREID,GROUTINGLINECODE,GOODSCODE,GOODSNAME,LOGONAME,GOODSLEVELTYPEID,GOODSSPECIFICATION,DICTIONARYVALUE,
|
|
@@ -523,8 +515,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
TO_CHAR(烧成窑缺陷_擦坯) AS 烧成窑缺陷_擦坯,
|
|
TO_CHAR(烧成窑缺陷_擦坯) AS 烧成窑缺陷_擦坯,
|
|
|
TO_CHAR(烧成窑缺陷_装窑) AS 烧成窑缺陷_装窑,
|
|
TO_CHAR(烧成窑缺陷_装窑) AS 烧成窑缺陷_装窑,
|
|
|
TO_CHAR(烧成窑缺陷_烧窑) AS 烧成窑缺陷_烧窑,
|
|
TO_CHAR(烧成窑缺陷_烧窑) AS 烧成窑缺陷_烧窑,
|
|
|
- TO_CHAR(烧成窑缺陷_出窑) AS 烧成窑缺陷_出窑,
|
|
|
|
|
- TO_CHAR(其他缺陷) AS 其他缺陷
|
|
|
|
|
|
|
+ TO_CHAR(烧成窑缺陷_出窑) AS 烧成窑缺陷_出窑
|
|
|
FROM 数据源
|
|
FROM 数据源
|
|
|
UNION ALL
|
|
UNION ALL
|
|
|
SELECT
|
|
SELECT
|
|
@@ -548,8 +539,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
|
|
|
to_Char(擦坯出窑量),
|
|
to_Char(擦坯出窑量),
|
|
|
to_Char(装窑出窑量),
|
|
to_Char(装窑出窑量),
|
|
|
to_Char(烧窑出窑量),
|
|
to_Char(烧窑出窑量),
|
|
|
- to_Char(卸窑出窑量),
|
|
|
|
|
- to_Char(出窑量_出窑量 )
|
|
|
|
|
|
|
+ to_Char(卸窑出窑量)
|
|
|
FROM
|
|
FROM
|
|
|
工序对应出窑量
|
|
工序对应出窑量
|
|
|
LEFT JOIN 数据源 ON 1=1
|
|
LEFT JOIN 数据源 ON 1=1
|
|
@@ -577,8 +567,8 @@ 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( 烧成窑缺陷_擦坯, 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 数据源
|
|
FROM 数据源
|
|
|
WHERE GID=3 ) ORDER BY 产品类别,产品编码 ";
|
|
WHERE GID=3 ) ORDER BY 产品类别,产品编码 ";
|
|
|
}
|
|
}
|