Parcourir la source

欠点表数据 修订

张忠帅 il y a 1 an
Parent
commit
1a0df6282b
2 fichiers modifiés avec 226 ajouts et 217 suppressions
  1. 225 201
      wwwroot/mes/rpt/rpt304/rpt.ashx
  2. 1 16
      wwwroot/mes/rpt/rpt304/rpt_index.html

+ 225 - 201
wwwroot/mes/rpt/rpt304/rpt.ashx

@@ -26,26 +26,28 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                 //读取报表数据
                 sqlStr = @"WITH 
 							产品汇总缺陷 AS ( 
-									SELECT
-									CASE WHEN  GD.GOODSCODE IS NULL THEN  '总计' ELSE TO_CHAR( GD.GOODSCODE )  END GOODSCODE,
-									GD.GOODSSPECIFICATION,
-									GD.GOODSNAME,
-								    TO_CHAR(COUNT( DISTINCT CASE WHEN  MDF.DEFECTTYPEID=1 AND MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL THEN DF.BARCODE ELSE NULL END )) AS 成型半检缺陷__缺陷汇总,
+										SELECT
+																 CASE WHEN  GROUPING_ID(good.GOODSCODE,gtp.GOODSTYPENAME) =2   THEN '小计'
+												WHEN  GROUPING_ID(good.GOODSCODE,gtp.GOODSTYPENAME) =3   THEN '总计'ELSE to_char(good.GOODSCODE) END AS GOODSCODE,
+									GROUPING_ID(good.GOODSCODE,gtp.GOODSTYPENAME) AS GID,
+									good.GOODSSPECIFICATION,
+									good.GOODSNAME,gtp.GOODSTYPENAME,
+									TO_CHAR(COUNT( DISTINCT CASE WHEN  MDF.DEFECTTYPEID=1  AND MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型半检缺陷__缺陷汇总,
 									
-									SUM( CASE WHEN df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '20' ) THEN 1 ELSE 0 END ) AS 精修缺陷_打磨缺陷_缺陷汇总,
+									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 精修缺陷_打磨缺陷_缺陷汇总,
 									
-									SUM( CASE WHEN df.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN 1 ELSE 0 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 精修缺陷_刷洗缺陷_缺陷汇总,
 									
-									TO_CHAR(COUNT( DISTINCT CASE WHEN MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL AND (MDF.DEFECTTYPEID =4)THEN DF.BARCODE ELSE NULL END )) AS 施釉擦坯缺陷_施釉缺陷_缺陷汇总,
+									TO_CHAR(COUNT( DISTINCT  CASE WHEN df.DEFECTCODE IN ( '36','37','38','39','40','41','42','43','44') THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 施釉擦坯缺陷_施釉缺陷_缺陷汇总,
 																
-									TO_CHAR(COUNT( DISTINCT CASE WHEN MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL AND (MDF.DEFECTTYPEID =5 or MDF.DEFECTCODE='20' )THEN DF.BARCODE 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 MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL  THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END ))AS 施釉擦坯缺陷_擦坯缺陷_缺陷汇总,
 																
-									TO_CHAR(COUNT( DISTINCT CASE WHEN MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL AND (MDF.DEFECTTYPEID =6 )THEN DF.BARCODE ELSE NULL END )) AS 烧成缺陷_装窑缺陷_缺陷汇总,
-
-									TO_CHAR(COUNT( DISTINCT CASE WHEN MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL AND (MDF.DEFECTTYPEID =7 )THEN DF.BARCODE ELSE NULL END )) AS 烧成缺陷_烧窑缺陷_缺陷汇总,
-
-									TO_CHAR(COUNT( DISTINCT CASE WHEN MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL AND (MDF.DEFECTTYPEID =8 )THEN DF.BARCODE ELSE NULL END )) AS 烧成缺陷_出窑缺陷_缺陷汇总,
+									TO_CHAR(COUNT( DISTINCT  CASE WHEN df.DEFECTCODE IN ( '61','62','63','64','65','66','67') THEN to_char(DF.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(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END ))AS 烧成缺陷_烧窑缺陷_缺陷汇总,
 									
+									TO_CHAR(COUNT( DISTINCT  CASE WHEN df.DEFECTCODE IN ( '83','84')  THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 烧成缺陷_出窑缺陷_缺陷汇总,
+
 									SUM( CASE WHEN df.DEFECTCODE IN ( '86', '87','086', '88'  ) THEN 1 ELSE 0 END ) AS 原料缺陷_缺陷汇总,
 									
 									SUM( CASE WHEN df.DEFECTCODE IN ( '91', '92', '93', '083', '084') THEN 1 ELSE 0 END ) AS 冷修_缺陷汇总,
@@ -61,215 +63,235 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 									SUM( CASE WHEN df.DEFECTCODE IN ( '98'  ) THEN 1 ELSE 0 END ) AS 研磨_缺陷汇总,									
 	
 									SUM( CASE WHEN df.DEFECTCODE IN ( '99', '100', '099', '0100' ) THEN 1 ELSE 0 END ) AS 其他_缺陷汇总
-									
-									
-											FROM
-	                            TP_PM_PRODUCTIONDATA PD
 
-                                LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
-                                LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID AND MD.DICTIONARYTYPE = 'TPC002'
-                                LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID 
-                                LEFT JOIN TP_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID 
-                                LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID 
+							FROM
+								TP_PM_DEFECT df
+									LEFT JOIN TP_PM_GROUTINGDAILYDETAIL gd ON  df.BARCODE = gd.BARCODE 
+									LEFT JOIN TP_PM_PRODUCTIONDATA PD ON PD.BARCODE=DF.BARCODE 
+									INNER JOIN TP_PM_PRODUCTIONDATA PDS ON PDS.BARCODE=PD.BARCODE
+									LEFT JOIN TP_MST_GOODS good on good.GOODSID=PD.GOODSID
+									LEFT JOIN TP_MST_GOODSTYPE gtp ON good.GOODSTYPEID=gtp.GOODSTYPEID
+									 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID 
 												
-											WHERE
-												 PD.PROCEDUREID=16 AND PD.VALUEFLAG=1 
-												AND df.CREATETIME >= @DATEBEGIN@
-												AND df.CREATETIME <  @DATEEND@  
-											GROUP BY
-												Grouping sets ( ( GD.GOODSCODE, GD.GOODSNAME,GD.GOODSSPECIFICATION), ( ) ) 
+												
+												 
+											WHERE df.VALUEFLAG=1
+												AND PD.PROCEDUREID=16 AND PD.VALUEFLAG=1 
+												AND PD.CREATETIME >= @DATEBEGIN@
+												AND PD.CREATETIME <=  @DATEEND@  
+												GROUP BY
+												Grouping sets ( ( good.GOODSCODE, good.GOODSNAME,good.GOODSSPECIFICATION,gtp.GOODSTYPENAME ), ( gtp.GOODSTYPENAME) ,()) 
 											),
 											产品明细缺陷 AS (
 											SELECT
-								CASE WHEN  gd.GOODSCODE IS NULL THEN  '总计' ELSE TO_CHAR( gd.GOODSCODE )  END GOODSCODE,
-								gd.GOODSNAME,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '01' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_坯脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '02' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_棕眼,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '03' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂底,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '04' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂圈,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '05' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂鼻子,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '06' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂水道,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '07' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂管,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '08' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_沾接裂,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '09' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂眼,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '10' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_糙活,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '11' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_板折,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '12' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_变形,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '13' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_渣,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '14' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_管道渣,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '15' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_孔眼不良,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '16' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_堵眼,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '17' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_眼歪,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '18' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_丢气孔,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '19' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_眼,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '20' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_坯磕,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '21' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_漏气,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '22' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_空泡,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '23' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_水封不良,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '24' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_漏水,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '25' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_卡球,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '26' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_冲刷不好,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '27' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_泥埂,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '28' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_断浆迹,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '29' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_模迹,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '30' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_重皮,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '31' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_气泡,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '32' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_眼扁,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '33' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_水绺,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '34' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '001' )THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_贴码不良,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '002' )THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_干补不良,
-
-count(distinct CASE WHEN df.DEFECTCODE IN ( '1' )THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_内漏不合格,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '2' )THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_外漏不合格,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '3' )THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_试水不合格,
-
-count(distinct CASE WHEN df.DEFECTCODE IN ( '10' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_糙活,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '12' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_变形,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '13' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_渣,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '14' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_管道渣,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '15' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_孔眼不良,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '16' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_睹眼,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '17' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_眼歪,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '18' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_丢气孔,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '19' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_丢眼,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '20' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_坯磕,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '01' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_坯脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '02' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_棕眼,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '03' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂底,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '04' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂圈,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '05' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂鼻子,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '06' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂水道,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '07' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂管,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '08' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_沾接裂,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '09' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂眼,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '10' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_糙活,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '25' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_卡球,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '34' ) THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '36' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_滚釉,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '37' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_釉薄,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '38' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_釉不匀,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '39' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_釉磕,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '40' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_釉脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '41' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_釉沾,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '42' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_釉绺,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '43' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_针孔,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '44' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_色脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '47' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_灌釉不良,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '48' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_擦脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '49' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_崩标,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '50' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_倒标,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '51' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_标污,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '52' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_错标,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '53' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_丢标,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '54' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_标错位,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '55' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_未灌釉,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '56' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_灌磕,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '20' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_坯磕,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '57' ) THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_碱石,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '61' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_落脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '62' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_装沾,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '63' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_装磕,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '64' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_装裂,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '65' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_装走,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '66' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_装脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '67' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_缺釉,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '69' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_水滴,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '70' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_窑脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '71' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_烧裂,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '43' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_针孔,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '73' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_风惊,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '74' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_烧生,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '75' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_串烟,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '76' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_烧坑,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '77' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_桔釉,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '78' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_过火,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '79' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_火燎,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '80' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_烧走,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '83' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_出窑缺陷_磕碰,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '84' ) THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_出窑缺陷_划釉,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '86' ) THEN DF.BARCODE ELSE NULL END ) AS 原料缺陷_泥料缺陷_铜脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '87' ) THEN DF.BARCODE ELSE NULL END ) AS 原料缺陷_泥料缺陷_料脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '086' )THEN DF.BARCODE ELSE NULL END ) AS 原料缺陷_釉料缺陷_铜脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '88' ) THEN DF.BARCODE ELSE NULL END ) AS 原料缺陷_釉料缺陷_铁脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '91' ) THEN DF.BARCODE ELSE NULL END ) AS 冷修缺陷_修补不良,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '92' ) THEN DF.BARCODE ELSE NULL END ) AS 冷修缺陷_漏修,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '93' ) THEN DF.BARCODE ELSE NULL END ) AS 冷修缺陷_漏检,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '083' ) THEN DF.BARCODE ELSE NULL END ) AS 冷修缺陷_磕碰,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '084' ) THEN DF.BARCODE ELSE NULL END ) AS 冷修缺陷_划釉,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '091' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧修补缺陷_修补不良,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '092' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧修补缺陷_漏修,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '093' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧修补缺陷_漏检,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '96' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧修补缺陷_白点,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '061' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_落脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '062' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_装沾,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '063' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_装磕,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '064' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_装裂,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '065' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_装走,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '066' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_装脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '067' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_缺釉,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '069' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_水滴,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '070' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_窑脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '071' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_烧裂,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '43' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_针孔,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '073' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_风惊,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '074' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_烧生,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '075' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_串烟,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '076' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_烧坑,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '077' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_桔釉,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '078' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_过火,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '079' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_火燎,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '080' ) THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_烧走,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '0083' )THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_出窑缺陷_磕碰,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '0084' )THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_出窑缺陷_划釉,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '98' )  THEN DF.BARCODE ELSE NULL END ) AS 研磨缺陷_研磨不良,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '99' ) THEN DF.BARCODE ELSE NULL END ) AS 其他_隧道窑其他蹦脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '100' ) THEN DF.BARCODE ELSE NULL END ) AS 其他_隧道窑其他试验不良,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '099' ) THEN DF.BARCODE ELSE NULL END ) AS 其他_梭式窑其他蹦脏,
-count(distinct CASE WHEN df.DEFECTCODE IN ( '0100' ) THEN DF.BARCODE ELSE NULL END ) AS 其他_梭式窑其他试验不良
+								 CASE WHEN  GROUPING_ID(GD.GOODSCODE,gtp.GOODSTYPENAME) =2   THEN '小计'
+											WHEN  GROUPING_ID(GD.GOODSCODE,gtp.GOODSTYPENAME) =3   THEN '总计'ELSE to_char(GD.GOODSCODE) END AS GOODSCODE,
+									GROUPING_ID(GD.GOODSCODE,gtp.GOODSTYPENAME) AS GID,
+								gd.GOODSNAME,gtp.GOODSTYPENAME,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '01' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_坯脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '02' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_棕眼,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '03' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂底,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '04' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂圈,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '05' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂鼻子,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '06' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂水道,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '07' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂管,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '08' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_沾接裂,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '09' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂眼,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '10' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_糙活,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '11' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_板折,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '12' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_变形,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '13' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_渣,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '14' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_管道渣,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '15' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_孔眼不良,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '16' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_堵眼,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '17' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_眼,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '18' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_丢气孔,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '19' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_丢眼,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '20' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_坯磕,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '21' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_漏气,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '22' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_空泡,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '23' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_水封不良,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '24' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_漏水,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '25' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_卡球,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '26' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_冲刷不好,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '27' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_泥埂,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '28' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_断浆迹,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '29' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_模迹,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '30' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_重皮,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '31' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_气泡,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '32' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_眼扁,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '33' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_水绺,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '34' )  THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_裂,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '001' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_贴码不良,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '002' ) THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_干补不良,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '1' )   THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_内漏不合格,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '2' )   THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_外漏不合格,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '3' )   THEN DF.BARCODE ELSE NULL END ) AS 成型半检缺陷_试水不合格,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '10' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_糙活,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '12' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_变形,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '13' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_渣,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '14' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_管道渣,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '15' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_孔眼不良,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '16' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_睹眼,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '17' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_眼歪,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '18' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_丢气孔,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '19' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_丢眼,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '20' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_打磨缺陷_坯磕,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '01' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_坯脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '02' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_棕眼,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '03' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂底,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '04' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂圈,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '05' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂鼻子,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '06' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂水道,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '07' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂管,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '08' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_沾接裂,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '09' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂眼,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '10' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_糙活,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '25' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_卡球,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '34' )  THEN DF.BARCODE ELSE NULL END ) AS 精修缺陷_刷洗缺陷_裂,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '36' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_滚釉,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '37' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_釉薄,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '38' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_釉不匀,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '39' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_釉磕,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '40' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_釉脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '41' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_釉沾,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '42' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_釉绺,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '43' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_针孔,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '44' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_施釉缺陷_色脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '47' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_灌釉不良,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '48' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_擦脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '49' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_崩标,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '50' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_倒标,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '51' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_标污,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '52' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_错标,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '53' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_丢标,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '54' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_标错位,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '55' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_未灌釉,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '56' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_灌磕,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '20' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_坯磕,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '57' )  THEN DF.BARCODE ELSE NULL END ) AS 施釉擦坯缺陷_擦坯缺陷_碱石,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '61' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_落脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '62' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_装沾,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '63' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_装磕,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '64' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_装裂,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '65' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_装走,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '66' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_装脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '67' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_装窑缺陷_缺釉,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '69' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_水滴,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '70' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_窑脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '71' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_烧裂,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '43' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_针孔,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '73' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_风惊,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '74' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_烧生,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '75' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_串烟,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '76' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_烧坑,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '77' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_桔釉,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '78' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_过火,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '79' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_火燎,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '80' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_烧窑缺陷_烧走,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '83' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_出窑缺陷_磕碰,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '84' )  THEN DF.BARCODE ELSE NULL END ) AS 烧成缺陷_出窑缺陷_划釉,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '86' )  THEN DF.BARCODE ELSE NULL END ) AS 原料缺陷_泥料缺陷_铜脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '87' )  THEN DF.BARCODE ELSE NULL END ) AS 原料缺陷_泥料缺陷_料脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '086' ) THEN DF.BARCODE ELSE NULL END ) AS 原料缺陷_釉料缺陷_铜脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '88' )  THEN DF.BARCODE ELSE NULL END ) AS 原料缺陷_釉料缺陷_铁脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '91' )  THEN DF.BARCODE ELSE NULL END ) AS 冷修缺陷_修补不良,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '92' )  THEN DF.BARCODE ELSE NULL END ) AS 冷修缺陷_漏修,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '93' )  THEN DF.BARCODE ELSE NULL END ) AS 冷修缺陷_漏检,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '083' )  THEN DF.BARCODE ELSE NULL END ) AS 冷修缺陷_磕碰,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '084' )  THEN DF.BARCODE ELSE NULL END ) AS 冷修缺陷_划釉,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '091' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧修补缺陷_修补不良,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '092' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧修补缺陷_漏修,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '093' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧修补缺陷_漏检,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '96' )   THEN DF.BARCODE ELSE NULL END ) AS 回烧修补缺陷_白点,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '061' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_落脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '062' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_装沾,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '063' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_装磕,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '064' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_装裂,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '065' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_装走,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '066' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_装脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '067' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_装窑缺陷_缺釉,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '069' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_水滴,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '070' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_窑脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '071' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_烧裂,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '43' )   THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_针孔,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '073' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_风惊,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '074' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_烧生,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '075' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_串烟,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '076' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_烧坑,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '077' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_桔釉,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '078' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_过火,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '079' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_火燎,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '080' )  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_烧窑缺陷_烧走,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '0083')  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_出窑缺陷_磕碰,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '0084')  THEN DF.BARCODE ELSE NULL END ) AS 回烧缺陷_出窑缺陷_划釉,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '98' )   THEN DF.BARCODE ELSE NULL END ) AS 研磨缺陷_研磨不良,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '99' )  THEN DF.BARCODE ELSE NULL END ) AS 其他_隧道窑其他蹦脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '100' )  THEN DF.BARCODE ELSE NULL END ) AS 其他_隧道窑其他试验不良,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '099' )  THEN DF.BARCODE ELSE NULL END ) AS 其他_梭式窑其他蹦脏,
+count( DISTINCT CASE WHEN df.DEFECTCODE IN ( '0100')  THEN DF.BARCODE ELSE NULL END ) AS 其他_梭式窑其他试验不良
 							FROM
 								TP_PM_DEFECT df
 									LEFT JOIN TP_PM_GROUTINGDAILYDETAIL gd ON  df.BARCODE = gd.BARCODE 
-									LEFT JOIN TP_PM_PRODUCTIONDATA PD ON PD.PRODUCTIONDATAID=DF.PRODUCTIONDATAID 
+									LEFT JOIN TP_PM_PRODUCTIONDATA PD ON PD.BARCODE=DF.BARCODE 
+									LEFT JOIN TP_MST_GOODS good on good.GOODSID=PD.GOODSID
+									LEFT JOIN TP_MST_GOODSTYPE gtp ON good.GOODSTYPEID=gtp.GOODSTYPEID
+									LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID 
 							WHERE
-								df.VALUEFLAG = 1 
-								AND df.CREATETIME >= @DATEBEGIN@
-								AND df.CREATETIME <  @DATEEND@  
-								AND PD.VALUEFLAG=1 AND PD.PROCEDUREID=16	
+								df.VALUEFLAG=1
+												AND PD.PROCEDUREID=16 AND PD.VALUEFLAG=1 
+												AND PD.CREATETIME >= @DATEBEGIN@
+												AND PD.CREATETIME <=  @DATEEND@  
 								GROUP BY
-												Grouping sets ( ( gd.GOODSCODE, gd.GOODSNAME ), ( ) ) 
+												Grouping sets ( ( gd.GOODSCODE, gd.GOODSNAME,gtp.GOODSTYPENAME ), ( gtp.GOODSTYPENAME) ,()) 
 								),
-								检验数 AS (
-								SELECT
-								CASE WHEN  pd.GOODSCODE IS NULL THEN  '总计' ELSE TO_CHAR( pd.GOODSCODE )  END GOODSCODE,
-									pd.GOODSNAME ,
+								检验数 AS (		SELECT
+							 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 GOODSCODE,
+									GROUPING_ID(pd.GOODSCODE,pd.GOODSTYPENAME) AS GID,
+									pd.GOODSNAME ,PD.GOODSTYPENAME,
 									COUNT( DISTINCT pd.BARCODE ) AS 检验量,
 									SUM( CASE WHEN PD.GOODSLEVELTYPEID IN ( 4, 5 ) THEN 1 ELSE 0 END ) AS 合格量,
 								SUM( CASE WHEN PD.GOODSLEVELTYPEID  NOT IN ( 4, 5 ) THEN 1 ELSE 0  END ) 残品 
 							FROM
 								(
 								SELECT
-									PRODUCTIONDATAID,
-									BARCODE,
-									GOODSCODE,
-									GOODSNAME,
-									GOODSLEVELTYPEID,
-									REWORKPROCEDUREID 
+	PRODUCTIONDATAID,BARCODE,GOODSCODE,GOODSLEVELTYPEID,REWORKPROCEDUREID ,GOODSNAME,GOODSTYPENAME,
+row_number() over (partition by BARCODE order by GOODSLEVELTYPEID DESC ) as rownums 
+	FROM(
+	SELECT DISTINCT
+									PD.PRODUCTIONDATAID,
+									PD.BARCODE,
+									PD.GOODSCODE,
+									PD.GOODSNAME,
+									CASE WHEN PDS.GOODSLEVELTYPEID < PD.GOODSLEVELTYPEID  THEN PD.GOODSLEVELTYPEID 
+									     WHEN PD.GOODSLEVELTYPEID  < PDS.GOODSLEVELTYPEID THEN PDS.GOODSLEVELTYPEID
+											  WHEN PDS.GOODSLEVELTYPEID IS NULL  THEN PD.GOODSLEVELTYPEID
+											  WHEN PD.GOODSLEVELTYPEID  = PDS.GOODSLEVELTYPEID THEN PD.GOODSLEVELTYPEID
+											 ELSE NULL END GOODSLEVELTYPEID,
+									PD.REWORKPROCEDUREID ,gtp.GOODSTYPENAME
 								FROM
-									TP_PM_PRODUCTIONDATA 
+									TP_PM_PRODUCTIONDATA pd
+									LEFT JOIN TP_MST_GOODS good on good.GOODSID=PD.GOODSID
+									LEFT JOIN TP_MST_GOODSTYPE gtp ON good.GOODSTYPEID=gtp.GOODSTYPEID
+									LEFT  JOIN TP_PM_PRODUCTIONDATA pds ON PDS.BARCODE=PD.BARCODE AND PDS.PROCEDUREID=60
 								WHERE
-									VALUEFLAG = 1 
-									AND PROCEDUREID = 16 
-									AND CREATETIME >= @DATEBEGIN@ 
-									AND CREATETIME <  @DATEEND@  
+									PD.VALUEFLAG = 1 
+									AND PD.PROCEDUREID = 16 
+									AND PD.CREATETIME >= @DATEBEGIN@
+									AND PD.CREATETIME <=   @DATEEND@  
+									)
+
 								) PD
+								WHERE pd.rownums=1
 								GROUP BY
-												Grouping sets ( ( pd.GOODSCODE, pd.GOODSNAME ), ( ) ) 
-								),
+									Grouping sets ( ( pd.GOODSCODE, pd.GOODSNAME,PD.GOODSTYPENAME ), (PD.GOODSTYPENAME),() ) 						),
 								产品 AS (
-								SELECT TO_CHAR(GOODSCODE) AS GOODSCODE,GOODSNAME,GOODSSPECIFICATION FROM TP_MST_GOODS WHERE VALUEFLAG=1
+								SELECT TO_CHAR(GOODSCODE) AS GOODSCODE,GOODSNAME,GOODSSPECIFICATION,gtp.GOODSTYPENAME FROM TP_MST_GOODS
+								LEFT JOIN TP_MST_GOODSTYPE gtp ON TP_MST_GOODS.GOODSTYPEID=gtp.GOODSTYPEID
+								 WHERE TP_MST_GOODS.VALUEFLAG=1
 								UNION ALL
-								SELECT '总计' AS GOODSCODE,null,NULL FROM dual
+								SELECT '总计' AS GOODSCODE,null,NULL ,NULL FROM dual
 	
 								)
 						SELECT * FROM (
@@ -277,6 +299,7 @@ count(distinct CASE WHEN df.DEFECTCODE IN ( '0100' ) THEN DF.BARCODE ELSE NULL E
 								to_CHAR(检验数.GOODSCODE) AS  产品编码,
 								CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(产品.GOODSNAME) ELSE NULL END 产品名称,
 								CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(产品.GOODSSPECIFICATION) ELSE NULL END 产品规格,
+								CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(检验数.GOODSTYPENAME) ELSE NULL END 产品类别,
 								CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(检验数.检验量) ELSE NULL END 检验量,
 								CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(检验数.合格量) ELSE NULL END 合格量,
 								CASE WHEN 检验数.GOODSCODE <> '总计' THEN to_CHAR(检验数.残品) ELSE NULL END 残品,
@@ -424,6 +447,7 @@ count(distinct CASE WHEN df.DEFECTCODE IN ( '0100' ) THEN DF.BARCODE ELSE NULL E
 								to_Char(检验数.GOODSCODE),
 								to_Char(检验数.GOODSNAME),
 								to_Char(产品.GOODSSPECIFICATION),
+								to_Char(产品.GOODSTYPENAME),
 								to_Char(检验数.检验量),
 								to_Char(检验数.合格量),
 								to_Char(检验数.残品),
@@ -564,7 +588,7 @@ DECODE( NVL( s.其他_梭式窑其他试验不良, 0 ), 0, '0%', TO_CHAR( ( NVL(
 									LEFT JOIN  产品明细缺陷  s ON 产品.GOODSCODE=s.GOODSCODE
 									LEFT JOIN 产品汇总缺陷 f ON f.GOODSCODE=产品.GOODSCODE 
 								WHERE 检验数.GOODSCODE='总计')
-ORDER BY 产品编码
+ORDER BY 产品类别,产品编码
 							";
             }
             //获取查询条件

+ 1 - 16
wwwroot/mes/rpt/rpt304/rpt_index.html

@@ -226,22 +226,7 @@
 
 		//导出
 		function tbExport() {
-			////加载表头
-			//var fields1 = $('#DataGridMaster').datagrid('getColumnFields');
-			//var fields2 = $('#DataGridMaster').datagrid('getColumnFields', true);
-			//var fields = fields2.concat(fields1);
-			//var headers = [];
-			//for (var i = 0; i < fields.length; i++) {
-			//	//headers.push($('#DataGridMaster').datagrid('getColumnOption', fields[i])['title']);
-			//	headers.push(fields[i]);
-			//}
-			//	$('#DataGridMaster').datagridExport({
-			//		headers: headers,
-			//		fileName: '导出数据_' + $("#datebeginMaster").datetimebox("getValue") + '_' + $("#dateendMaster").datetimebox("getValue")+'_(卫生陶瓷欠点).xls',
-			//		workSheet: '卫生陶瓷欠点'
-			//	});
-
-            $('#DataGridMaster').datagrid('toExcel', 'dg.xls');	
+            $('#DataGridMaster').datagrid('toExcel', '导出数据_' + $("#datebeginMaster").datetimebox("getValue") + '_' + $("#dateendMaster").datetimebox("getValue") + '_(卫生陶瓷欠点).xls');
 		}
         //帮助事件
         function tbHelp() {