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

搜索列变化的页面缓存问题,蹦脏加入成型工序

konghe 1 год назад
Родитель
Сommit
fe708cdd21

+ 8 - 8
wwwroot/mes/rpt/rpt201/rpt.ashx

@@ -40,10 +40,10 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                                TO_CHAR( ( SUM( CASE WHEN DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN 1 ELSE 0 END ) / COUNT( DISTINCT PD.BARCODE ) * 100 ), ''fm99990.00'' ) || ''%''
 	                              ELSE
                                     TO_CHAR(SUM( CASE WHEN DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN 1 ELSE 0 END )) END' AS DEFECTCODE,
-	                            MDF.DEFECTNAME 
+	                           DECODE(DEFECTCODE,'099' ,'回烧蹦脏','99','本烧蹦脏',MDF.DEFECTNAME) DEFECTNAME  
                             FROM
 	                            TP_MST_DEFECT MDF 
-                            WHERE  MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' )
+                            WHERE  MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' )
 	                            AND MDF.VALUEFLAG = 1 ORDER BY  MDF.DEFECTID");
                 for (int i = 0; i < dt.Rows.Count; i++) {
                     if (i > 0) defect += ",";
@@ -53,10 +53,10 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                 DataTable dts = conn.ExecuteDatatable(@"	SELECT DISTINCT
 	                            MDF.DEFECTID,
 	                             'TO_CHAR( COUNT( DISTINCT  CASE WHEN   DF.DEFECTCODE IS NOT NULL  AND  DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN to_char(pd.BARCODE||DF.DEFECTCODE ) ELSE NULL END ) )' AS DEFECTCODE,
-	                            MDF.DEFECTNAME 
+	                           DECODE(DEFECTCODE,'099' ,'回烧蹦脏','99','本烧蹦脏',MDF.DEFECTNAME) DEFECTNAME
                             FROM
 	                            TP_MST_DEFECT MDF 
-                            WHERE MDF.DEFECTCODE in ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' )
+                            WHERE MDF.DEFECTCODE in ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' )
 	                            AND MDF.VALUEFLAG = 1 ORDER BY  MDF.DEFECTID");
                 for (int i = 0; i < dts.Rows.Count; i++) {
                     if (i > 0) sumdefect += ",";
@@ -73,13 +73,13 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                                TO_CHAR(TP_MST_DataDictionary.DICTIONARYVALUE) AS 釉色,
 	                                TO_CHAR(logo.LOGONAME) AS 商标,
 	                                TO_CHAR(COUNT(DISTINCT PD.BARCODE)) 出窑量,
-                                    TO_CHAR(COUNT( DISTINCT CASE WHEN  (  MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) ) AND MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL THEN TO_CHAR(DF.BARCODE||MDF.DEFECTCODE) ELSE NULL END )) AS 缺陷量,
-	                                  TO_CHAR((COUNT( DISTINCT CASE WHEN  (  MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) ) AND MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL THEN TO_CHAR(DF.BARCODE||MDF.DEFECTCODE) ELSE NULL END  )/COUNT(DISTINCT PD.BARCODE) * 100), 'fm99990.00') || '%' 缺陷率,
+                                    TO_CHAR(COUNT( DISTINCT CASE WHEN  (  MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) AND MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL THEN TO_CHAR(DF.BARCODE||MDF.DEFECTCODE) ELSE NULL END )) AS 缺陷量,
+	                                  TO_CHAR((COUNT( DISTINCT CASE WHEN  (  MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) AND MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL THEN TO_CHAR(DF.BARCODE||MDF.DEFECTCODE) ELSE NULL END  )/COUNT(DISTINCT PD.BARCODE) * 100), 'fm99990.00') || '%' 缺陷率,
                                     {DEFECT}
                                 FROM
 	                              TP_PM_PRODUCTIONDATA PD
                                   LEFT JOIN TP_PM_DEFECT DF ON DF.BARCODE = PD.BARCODE AND DF.VALUEFLAG=1  AND DF.PROCEDUREID NOT IN(61,28)
-                                  LEFT JOIN TP_MST_DEFECT MDF ON MDF.DEFECTID=DF.DEFECTID AND MDF.VALUEFLAG=1 AND (   MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) )
+                                  LEFT JOIN TP_MST_DEFECT MDF ON MDF.DEFECTID=DF.DEFECTID AND MDF.VALUEFLAG=1 AND (   MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) )
                                   LEFT JOIN TP_MST_GOODS good on good.GOODSID=PD.GOODSID
                                   LEFT JOIN TP_MST_LOGO logo ON logo.LOGOID=pd.LOGOID
                                   LEFT JOIN TP_PM_GROUTINGDAILYDETAIL gd ON gd.barcode=pd.barcode
@@ -151,7 +151,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 FROM
 	                             TP_PM_PRODUCTIONDATA PD
                                   LEFT JOIN TP_PM_DEFECT df ON DF.BARCODE=PD.BARCODE AND DF.VALUEFLAG=1 AND DF.PROCEDUREID NOT IN(61,28)
-                                  LEFT JOIN TP_MST_DEFECT MDF ON MDF.DEFECTID=DF.DEFECTID AND MDF.VALUEFLAG=1 AND ( MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) )
+                                  LEFT JOIN TP_MST_DEFECT MDF ON MDF.DEFECTID=DF.DEFECTID AND MDF.VALUEFLAG=1 AND ( MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) )
                                   LEFT JOIN TP_MST_GOODS good on good.GOODSID=PD.GOODSID
                                   LEFT JOIN TP_MST_LOGO logo ON logo.LOGOID=pd.LOGOID
                                   LEFT JOIN TP_PM_GROUTINGDAILYDETAIL gd ON gd.barcode=pd.barcode

+ 12 - 12
wwwroot/mes/rpt/rpt211/rpt.ashx

@@ -32,16 +32,16 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 															THEN  TO_CHAR(  ( count(distinct CASE WHEN 基础数据.缺陷ID IN( '''||MDF.DEFECTID||''') THEN to_char(基础数据.缺陷条码||基础数据.缺陷ID) ELSE null END ) / COUNT(DISTINCT 出窑条码) * 100 ), ''fm99990.00'' ) || ''%''
 	                              ELSE
                                     TO_CHAR(count(distinct CASE WHEN 基础数据.缺陷ID IN( '''||MDF.DEFECTID||''') THEN to_char(基础数据.缺陷条码||基础数据.缺陷ID) ELSE null END )) END' AS DEFECTCODE,
-	                            MDF.DEFECTNAME 
+	                            DECODE(DEFECTCODE,'099' ,'回烧蹦脏','99','本烧蹦脏',MDF.DEFECTNAME) DEFECTNAME  
 														 FROM
 	                            TP_MST_DEFECT MDF 
                             WHERE
-	                           (  MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ))
+	                           (  MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ))
 	                            AND MDF.VALUEFLAG = 1   ORDER BY  MDF.DEFECTID");
                 for (int i = 0; i < dt.Rows.Count; i++)
                 {
                     if (i > 0) defect += ",";
-                    defect += dt.Rows[i]["DEFECTCODE"].ToString() + " " + dt.Rows[i]["DEFECTNAME"].ToString();
+                    defect += dt.Rows[i]["DEFECTCODE"].ToString() + " " + (dt.Rows[i]["DEFECTNAME"].ToString());
                 }
 
                 		string sumdefect = "";
@@ -51,11 +51,11 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 															THEN  TO_CHAR(  ( count( DISTINCT CASE WHEN 基础数据.缺陷ID IN( '''||MDF.DEFECTID||''') THEN to_char(基础数据.缺陷条码||基础数据.缺陷ID) ELSE null END ) / COUNT(DISTINCT 出窑条码) * 100 ), ''fm99990.00'' ) || ''%''
 	                              ELSE
                                     TO_CHAR(count( DISTINCT CASE WHEN 基础数据.缺陷ID IN( '''||MDF.DEFECTID||''') THEN to_char(基础数据.缺陷条码||基础数据.缺陷ID) ELSE null END )) END' AS DEFECTCODE,
-	                            MDF.DEFECTNAME 
+	                            DECODE(DEFECTCODE,'099' ,'回烧蹦脏','99','本烧蹦脏',MDF.DEFECTNAME) DEFECTNAME   
 															 FROM
 	                            TP_MST_DEFECT MDF 
                             WHERE
-	                             (  MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ))
+	                             (  MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ))
 	                            AND MDF.VALUEFLAG = 1  ORDER BY  MDF.DEFECTID");
                 for (int i = 0; i < dts.Rows.Count; i++) {
                     if (i > 0) sumdefect += ",";
@@ -88,7 +88,7 @@ row_number() over (partition by 出窑条码 order by GOODSLEVELTYPEID DESC ) as
                                         	PD.BARCODE 出窑条码,
                                         	DF.BARCODE 缺陷条码,
                                         	DF.DEFECTID 缺陷ID,
-                                        	MDF.DEFECTTYPEID 缺陷类别,
+                                        	MDF.DEFECTCODE 缺陷类别,
 											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
@@ -103,7 +103,7 @@ row_number() over (partition by 出窑条码 order by GOODSLEVELTYPEID DESC ) as
                                         	AND MD.DICTIONARYTYPE = 'TPC002'
                                         	LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID
                                         	LEFT JOIN TP_PM_DEFECT DF ON DF.BARCODE = PD.BARCODE AND DF.VALUEFLAG=1  AND DF.PROCEDUREID NOT IN(61,28)
-                                            LEFT JOIN TP_MST_DEFECT MDF ON MDF.DEFECTID=DF.DEFECTID AND MDF.VALUEFLAG=1 AND ( MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) )
+                                            LEFT JOIN TP_MST_DEFECT MDF ON MDF.DEFECTID=DF.DEFECTID AND MDF.VALUEFLAG=1 AND ( MDF.DEFECTCODE in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) )
                                         	LEFT JOIN TP_MST_USER us ON us.USERID=gdl.USERID
 											LEFT JOIN TP_MST_USERSTAFF us ON us.USERID=gdl.USERID
 											LEFT JOIN TP_HR_STAFF  staff ON staff.STAFFID=us.STAFFID 
@@ -155,12 +155,12 @@ row_number() over (partition by 出窑条码 order by GOODSLEVELTYPEID DESC ) as
                     基础数据.釉色,
                     基础数据.商标,
                      TO_CHAR(COUNT(DISTINCT 基础数据.出窑条码)) 出窑量,
-                    TO_CHAR(COUNT(DISTINCT 基础数据.出窑条码) - COUNT(DISTINCT CASE WHEN GOODSLEVELTYPEID NOT IN (4)  AND  (基础数据.缺陷类别 =1 OR 基础数据.缺陷ID=126) THEN 基础数据.出窑条码 ELSE NULL END )) 优级品量,
-                      DECODE(NVL((COUNT( DISTINCT 基础数据.出窑条码 ) - COUNT(DISTINCT CASE WHEN GOODSLEVELTYPEID NOT IN (4) AND (基础数据.缺陷类别 = 1 OR 基础数据.缺陷ID= 126) THEN 基础数据.出窑条码 ELSE NULL END)),0),0,'0%',
-	TO_CHAR((NVL((COUNT(DISTINCT 基础数据.出窑条码) - COUNT(DISTINCT CASE WHEN GOODSLEVELTYPEID NOT IN (4) AND (基础数据.缺陷类别 = 1 OR 基础数据.缺陷ID = 126) THEN 基础数据.出窑条码 ELSE NULL END ) ) ,0 ) / 
+                    TO_CHAR(COUNT(DISTINCT 基础数据.出窑条码) - COUNT(DISTINCT CASE WHEN GOODSLEVELTYPEID NOT IN (4)  AND  (基础数据.缺陷类别 in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' )) THEN 基础数据.出窑条码 ELSE NULL END )) 优级品量,
+                      DECODE(NVL((COUNT( DISTINCT 基础数据.出窑条码 ) - COUNT(DISTINCT CASE WHEN GOODSLEVELTYPEID NOT IN (4) AND (基础数据.缺陷类别 in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' )) THEN 基础数据.出窑条码 ELSE NULL END)),0),0,'0%',
+	TO_CHAR((NVL((COUNT(DISTINCT 基础数据.出窑条码) - COUNT(DISTINCT CASE WHEN GOODSLEVELTYPEID NOT IN (4) AND (基础数据.缺陷类别 in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' )) THEN 基础数据.出窑条码 ELSE NULL END ) ) ,0 ) / 
 	DECODE(NVL( COUNT( DISTINCT 基础数据.出窑条码 ), 1 ),0,1,NVL( COUNT( DISTINCT 基础数据.出窑条码 ), 1 ) ) ) * 100,'fm99990.00' ) || '%' ) AS 优级品率,
-					TO_CHAR(COUNT(distinct CASE WHEN   (基础数据.缺陷类别 =1 OR 基础数据.缺陷ID=126) THEN TO_CHAR(基础数据.缺陷条码|| 基础数据.缺陷ID) ELSE NULL END )) 缺陷量,
-					TO_CHAR( (COUNT(DISTINCT CASE WHEN   (基础数据.缺陷类别 =1 OR 基础数据.缺陷ID=126) THEN TO_CHAR(基础数据.缺陷条码|| 基础数据.缺陷ID) ELSE NULL END ) /COUNT(DISTINCT 基础数据.出窑条码) * 100), 'fm99990.00') || '%' 缺陷率,
+					TO_CHAR(COUNT(distinct CASE WHEN   (基础数据.缺陷类别 in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' )) THEN TO_CHAR(基础数据.缺陷条码|| 基础数据.缺陷ID) ELSE NULL END )) 缺陷量,
+					TO_CHAR( (COUNT(DISTINCT CASE WHEN   (基础数据.缺陷类别 in('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' )) THEN TO_CHAR(基础数据.缺陷条码|| 基础数据.缺陷ID) ELSE NULL END ) /COUNT(DISTINCT 基础数据.出窑条码) * 100), 'fm99990.00') || '%' 缺陷率,
 					{DEFECT}
                     FROM 基础数据
                     LEFT JOIN 部门 ON 部门.GROUTINGLINEID=基础数据.GROUTINGLINEID

+ 28 - 6
wwwroot/mes/rpt/rpt304/rpt.ashx

@@ -30,7 +30,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
             string sqlStr = "";
             if(context.Request["m"].ToString()=="master"){
                 //读取报表数据
-                if (context.Request["procedureMaster"] == "回烧")
+                if (context.Request["procedureMaster"] == "2")
                 {
                     kilproc = "28";//出窑工序
                     FunctionalTesting = "61";//功能检测
@@ -50,7 +50,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 										 WHEN GROUPING_ID(good.GOODSCODE,gtp.GOODSTYPENAME,SUBSTR(gtp.GOODSTYPECODE, 0, 6))=6 AND SUBSTR(gtp.GOODSTYPECODE, 0, 6)='001002' THEN '小件'
 										 ELSE TO_CHAR(gtp.GOODSTYPENAME )END GOODSTYPENAME,
 									SUBSTR(gtp.GOODSTYPECODE, 0, 6)  AS GOODSTYPECODE,
-									TO_CHAR(COUNT( DISTINCT CASE WHEN   df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) AND PDS.VALUEFLAG=1  THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型半检缺陷__缺陷汇总,
+									TO_CHAR(COUNT( DISTINCT CASE WHEN   df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) AND PDS.VALUEFLAG=1  THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL 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', '23', '25', '35' ) AND PDS.VALUEFLAG=1 THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 精修缺陷_打磨缺陷_缺陷汇总,
 									
@@ -518,6 +518,14 @@ SELECT
 								TO_CHAR(nvl(s.回烧缺陷_出窑缺陷_划釉,0))AS 回烧缺陷_出窑缺陷_划釉,
 								nvl(f.回烧缺陷_出窑缺陷_缺陷汇总,0) AS 回烧缺陷_出窑缺陷_缺陷汇总,
 								DECODE( NVL( f.回烧缺陷_出窑缺陷_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.回烧缺陷_出窑缺陷_缺陷汇总, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 回烧缺陷_出窑缺陷_缺陷率,
+
+								TO_CHAR(nvl(s.回烧修补缺陷_修补不良,0)) AS  回烧缺陷_回烧修补缺陷_修补不良,
+								TO_CHAR(nvl(s.回烧修补缺陷_漏修,0)) AS 回烧缺陷_回烧修补缺陷_漏修,
+								TO_CHAR(nvl(s.回烧修补缺陷_漏检,0)) AS  回烧缺陷_回烧修补缺陷_漏检,
+								TO_CHAR(nvl(s.回烧修补缺陷_白点,0)) AS 回烧缺陷_回烧修补缺陷_白点,
+								nvl(f.回烧修补_缺陷汇总,0) AS 回烧缺陷_回烧修补缺陷_缺陷汇总,
+								DECODE( NVL( f.回烧修补_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.回烧修补_缺陷汇总, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 回烧缺陷_回烧修补缺陷_缺陷率,
+
 								TO_CHAR(nvl(s.原料缺陷_泥料缺陷_铜脏,0)) AS 原料缺陷_泥料缺陷_铜脏,
 								TO_CHAR(nvl(s.原料缺陷_泥料缺陷_料脏,0)) AS 原料缺陷_泥料缺陷_料脏,
 								TO_CHAR(nvl(s.原料缺陷_釉料缺陷_铜脏,0)) AS 原料缺陷_釉料缺陷_铜脏, 
@@ -668,6 +676,14 @@ DECODE( NVL( s.回烧缺陷_出窑缺陷_磕碰, 0 ), 0, '0%', TO_CHAR( ( NVL( s
 DECODE( NVL( s.回烧缺陷_出窑缺陷_划釉, 0 ), 0, '0%', TO_CHAR( ( NVL( s.回烧缺陷_出窑缺陷_划釉, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
 f.回烧缺陷_出窑缺陷_缺陷汇总,
 								DECODE( NVL( f.回烧缺陷_出窑缺陷_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.回烧缺陷_出窑缺陷_缺陷汇总, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 回烧缺陷_出窑缺陷_缺陷率,
+
+DECODE( NVL( s.回烧修补缺陷_修补不良, 0 ), 0, '0%', TO_CHAR( ( NVL( s.回烧修补缺陷_修补不良, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+DECODE( NVL( s.回烧修补缺陷_漏修, 0 ), 0, '0%', TO_CHAR( ( NVL( s.回烧修补缺陷_漏修, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+DECODE( NVL( s.回烧修补缺陷_漏检, 0 ), 0, '0%', TO_CHAR( ( NVL( s.回烧修补缺陷_漏检, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+DECODE( NVL( s.回烧修补缺陷_白点, 0 ), 0, '0%', TO_CHAR( ( NVL( s.回烧修补缺陷_白点, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+f.回烧修补_缺陷汇总,
+								DECODE( NVL( f.回烧修补_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.回烧修补_缺陷汇总, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 回烧修补缺陷__缺陷率,
+
 DECODE( NVL( s.原料缺陷_泥料缺陷_铜脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.原料缺陷_泥料缺陷_铜脏, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
 DECODE( NVL( s.原料缺陷_泥料缺陷_料脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.原料缺陷_泥料缺陷_料脏, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
 DECODE( NVL( s.原料缺陷_釉料缺陷_铜脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.原料缺陷_釉料缺陷_铜脏, 0 ) / DECODE( NVL( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
@@ -817,6 +833,12 @@ DECODE( NVL( s.其他_隧道窑其他试验不良, 0 ), 0, '0%', TO_CHAR( ( NVL(
 								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 回烧修补缺陷_缺陷率,
 								to_char(检验数.检验量)		 AS 原料缺陷_泥料缺陷_铜脏,
 								to_char(检验数.检验量)		 AS 原料缺陷_泥料缺陷_料脏,
 								to_char(检验数.检验量)		 AS 原料缺陷_釉料缺陷_铜脏, 
@@ -834,7 +856,7 @@ DECODE( NVL( s.其他_隧道窑其他试验不良, 0 ), 0, '0%', TO_CHAR( ( NVL(
 ORDER BY 产品类别,产品编码";
 
                 }
-                else if(context.Request["procedureMaster"] == "本烧")
+                else if(context.Request["procedureMaster"] == "3")
                 {
                     sqlStr = @"WITH 
 							产品汇总缺陷 AS ( 
@@ -851,7 +873,7 @@ ORDER BY 产品类别,产品编码";
 										 WHEN GROUPING_ID(good.GOODSCODE,gtp.GOODSTYPENAME,SUBSTR(gtp.GOODSTYPECODE, 0, 6))=6 AND SUBSTR(gtp.GOODSTYPECODE, 0, 6)='001002' THEN '小件'
 										 ELSE TO_CHAR(gtp.GOODSTYPENAME )END GOODSTYPENAME,
 									SUBSTR(gtp.GOODSTYPECODE, 0, 6)  AS GOODSTYPECODE,
-									TO_CHAR(COUNT( DISTINCT CASE WHEN  df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) AND PDS.VALUEFLAG=1   THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型半检缺陷__缺陷汇总,
+									TO_CHAR(COUNT( DISTINCT CASE WHEN  df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) AND PDS.VALUEFLAG=1   THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL 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', '23', '25', '35' ) AND PDS.VALUEFLAG=1 THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 精修缺陷_打磨缺陷_缺陷汇总,
 									
@@ -1629,7 +1651,7 @@ DECODE( NVL( s.其他_隧道窑其他试验不良, 0 ), 0, '0%', TO_CHAR( ( NVL(
 )
 ORDER BY 产品类别,产品编码
 							";
-                }else if (context.Request["procedureMaster"] == "冷修") {
+                }else if (context.Request["procedureMaster"] == "1") {
                     kilproc = "28";//出窑工序
                     FunctionalTesting = "61";//功能检测
                     notInproc = "(16,60)";//排除工序
@@ -1648,7 +1670,7 @@ ORDER BY 产品类别,产品编码
 										 WHEN GROUPING_ID(good.GOODSCODE,gtp.GOODSTYPENAME,SUBSTR(gtp.GOODSTYPECODE, 0, 6))=6 AND SUBSTR(gtp.GOODSTYPECODE, 0, 6)='001002' THEN '小件'
 										 ELSE TO_CHAR(gtp.GOODSTYPENAME )END GOODSTYPENAME,
 									SUBSTR(gtp.GOODSTYPECODE, 0, 6)  AS GOODSTYPECODE,
-									TO_CHAR(COUNT( DISTINCT CASE WHEN   df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) AND PDS.VALUEFLAG=1  THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型半检缺陷__缺陷汇总,
+									TO_CHAR(COUNT( DISTINCT CASE WHEN   df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) AND PDS.VALUEFLAG=1  THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL 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', '23', '25', '35' ) AND PDS.VALUEFLAG=1 THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 精修缺陷_打磨缺陷_缺陷汇总,
 									

+ 24 - 7
wwwroot/mes/rpt/rpt304/rpt_index.html

@@ -34,13 +34,13 @@
 						数据源:
 						<input class="easyui-combobox" id="procedureMaster" name="procedureMaster" data-options="required:true,prompt:'请选择...',tipPosition:'top',
 		   data:[
-		   {'text':'冷修','value':'冷修'},
-		   {'text':'回烧','value':'回烧'},
-		   {'text':'本烧','value':'本烧'},
+		   {'text':'冷修','value':'1'},
+		   {'text':'回烧','value':'2'},
+		   {'text':'本烧','value':'3'},
 		   ],valueField:'value',textField:'text',panelHeight:'200px',editable:'true'" style="width:160px;height:32px;">
 						<!--产品名称:<input class="easyui-combobox" id="goodsid" name="goodsid" data-options="required:false,prompt:'',tipPosition:'top',url:'../rpt.ashx?m=getGoods&select=1',method:'get',valueField:'GOODSNAME',textField:'GOODSNAME',panelHeight:'300px',editable:'true',multiple:true" style="width:120px;height:32px;">-->
 						<a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="toClear()">清空</a>
-						<a href="javascript:void(0)" id="btnSearchSubmit" title="搜索" class="easyui-linkbutton" plain="false" onclick="tbSearchSubmit()">搜索</a>
+						<a href="javascript:void(0)" id="btnSearchSubmit" title="搜索" class="easyui-linkbutton" plain="false" onclick="responUrl()">搜索</a>
 					</div>
 				</form>
 			</div>
@@ -201,7 +201,7 @@
             $("#datebeginMaster").datetimebox("setValue", beginDate);
             $("#dateendMaster").datetimebox("setValue", endDate);
 
-			//tbSearchSubmit();
+			tbSearchSubmit();
 
 		});
 		function toClear() {
@@ -211,9 +211,26 @@
             $("#datebeginMaster").datetimebox("setValue", beginDate);
             $("#dateendMaster").datetimebox("setValue", endDate);
 		}
-
+		 function getQueryString(name) {
+            var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
+            var r = window.location.search.substr(1).match(reg);
+            if (r != null) {
+                return unescape(r[2]);
+            }
+            return null;
+        }
+        function responUrl() {
+            location.href = "rpt_index.html?sd=" + $("#datebeginMaster").datetimebox("getValue") + "&ed=" + $("#dateendMaster").datetimebox("getValue") + "&t=" + $("#procedureMaster").combobox("getValue");
+        }
         //搜索提交
-		function tbSearchSubmit() {
+        function tbSearchSubmit() {
+            if (getQueryString("sd"))
+                $("#datebeginMaster").datetimebox("setValue", getQueryString("sd"));
+            if (getQueryString("ed"))
+                $("#dateendMaster").datetimebox("setValue", getQueryString("ed"));
+            if (getQueryString("t"))
+				$("#procedureMaster").combobox("setValue", getQueryString("t"));
+
 			if ($('#ffMaster').form("validate")) {
 				$('#DataGridMaster').datagridLoad({
 					title: '',

+ 79 - 72
wwwroot/mes/rpt/rpt305/rpt.ashx

@@ -11,6 +11,7 @@ using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Curtain.DataAccess;
 using DK.XuWei.WebMes;
+using System.Net;
 
 public class rpt : IHttpHandler, IReadOnlySessionState
 {
@@ -23,12 +24,13 @@ public class rpt : IHttpHandler, IReadOnlySessionState
             DateTime dateBegin = Convert.ToDateTime(context.Request["datebeginMaster"]);
             DateTime dateEnd = Convert.ToDateTime(context.Request["dateendMaster"]);
             string test = context.Request["procedureMaster"];
-            string procedure = context.Request["procedureMaster"];
+            string procedure = WebUtility.HtmlDecode(test);
+            
             //主表
             string sqlStr = "";
             if (context.Request["m"].ToString() == "master")
             {
-                if (procedure == "本烧")
+                if (procedure == "3")
                 {
                         sqlStr = @" WITH 数据源 AS (
                                         SELECT
@@ -55,9 +57,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 											SUM(成型缺陷_成A) 成型缺陷_成A,SUM(成型缺陷_成B) 成型缺陷_成B,
 											SUM(成型缺陷_成C) 成型缺陷_成C,SUM(成型缺陷_高压) 成型缺陷_高压, 
 											SUM(成型缺陷_打磨) 成型缺陷_打磨,SUM(成型缺陷_擦洗) 成型缺陷_擦洗,
-											SUM(成型缺陷_半检) 成型缺陷_半检,SUM(烧成缺陷_施釉)烧成缺陷_施釉,
-											SUM(烧成缺陷_擦坯) 烧成缺陷_擦坯,SUM(烧成缺陷_装窑) 烧成缺陷_装窑, 
-											SUM(烧成缺陷_烧窑) 烧成缺陷_烧窑,SUM(烧成缺陷_出窑) 烧成缺陷_出窑, SUM(其他缺陷) 其他缺陷
+											SUM(成型缺陷_半检) 成型缺陷_半检,SUM(烧成缺陷_施釉)烧成缺陷_施釉,
+											SUM(烧成缺陷_擦坯) 烧成缺陷_擦坯,SUM(烧成缺陷_装窑) 烧成缺陷_装窑, 
+											SUM(烧成缺陷_烧窑) 烧成缺陷_烧窑,SUM(烧成缺陷_出窑) 烧成缺陷_出窑, SUM(其他缺陷) 其他缺陷
 										FROM(
                                     SELECT		pd.GOODSCODE,LUSTERWAREWEIGHT,
 												PD.GOODSNAME ,
@@ -70,17 +72,17 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												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   DEFECTTYPEID IN (9,10) THEN PD.BARCODE ELSE NULL END) 原料缺陷,
-                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'A') > 0 AND PD.HIGHPRESSUREFLAG=0 AND (df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) ) 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 (df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) ) 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 (df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成C,
-                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND ( df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_高压,																	TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '23', '25' , '35'  ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
+                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'A') > 0 AND PD.HIGHPRESSUREFLAG=0 AND (df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) 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 (df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) 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 (df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成C,
+                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND ( df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_高压,																	TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '23', '25' , '35'  ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
 									            TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (5,36,52) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '28', '34', '35' ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_擦洗,
                                                 COUNT(DISTINCT CASE WHEN  df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','19','20','25','26','27','28','29','30','12','13','14','15','16','17','18','23','31','32','33','34','35') AND DEFECT.VALUEFLAG=1  THEN PD.BARCODE||df.DEFECTCODE 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', '11' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成缺陷_装窑,
-									            TO_CHAR(COUNT( DISTINCT  CASE WHEN PDS.PROCEDUREID IN (30,39,57) AND DF.DEFECTCODE IN ( '69','70','71','43','73','74','75','76','77','78','79','80') THEN 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 ( '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', '11' ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成缺陷_装窑,
+									            TO_CHAR(COUNT( DISTINCT  CASE WHEN PDS.PROCEDUREID IN (30,39,57) AND DF.DEFECTCODE IN ( '69','70','71','43','73','74','75','76','77','78','79','80') THEN 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 ('99','100') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 其他缺陷
                                                 FROM(
                                                SELECT * FROM(
@@ -174,11 +176,11 @@ 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 原料缺陷,
+                                        TO_CHAR(烧成缺陷_施釉) AS 烧成缺陷_施釉,
+                                        TO_CHAR(烧成缺陷_擦坯) AS 烧成缺陷_擦坯,
+                                        TO_CHAR(烧成缺陷_装窑) AS 烧成缺陷_装窑,
+                                        TO_CHAR(烧成缺陷_烧窑) AS 烧成缺陷_烧窑,
+                                        TO_CHAR(烧成缺陷_出窑) AS 烧成缺陷_出窑, TO_CHAR(原料缺陷) AS 原料缺陷,
                                         TO_CHAR(其他缺陷) AS 其他缺陷
                                         FROM 数据源
                                           UNION ALL                                    
@@ -239,22 +241,22 @@ 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' ) || '%' ) 烧成缺陷_烧窑,
+                                      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 数据源
 										LEFT JOIN 工序对应出窑量 ON 1=1
                                         WHERE 数据源.GID=7 )  ORDER BY 产品类别,产品编码";
                 }
-                else if (procedure == "回烧")
+                else if (procedure == "2")
                 {
                            sqlStr = @" WITH 数据源 AS (
                                         SELECT
@@ -281,9 +283,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 											SUM(成型缺陷_成A) 成型缺陷_成A,SUM(成型缺陷_成B) 成型缺陷_成B,
 											SUM(成型缺陷_成C) 成型缺陷_成C,SUM(成型缺陷_高压) 成型缺陷_高压, 
 											SUM(成型缺陷_打磨) 成型缺陷_打磨,SUM(成型缺陷_擦洗) 成型缺陷_擦洗,
-											SUM(成型缺陷_半检) 成型缺陷_半检,SUM(烧成缺陷_施釉)烧成缺陷_施釉,
-											SUM(烧成缺陷_擦坯) 烧成缺陷_擦坯,SUM(烧成缺陷_装窑) 烧成缺陷_装窑, 
-											SUM(烧成缺陷_烧窑) 烧成缺陷_烧窑,SUM(烧成缺陷_出窑) 烧成缺陷_出窑, SUM(其他缺陷) 其他缺陷
+											SUM(成型缺陷_半检) 成型缺陷_半检,SUM(烧成缺陷_施釉)烧成缺陷_施釉,
+											SUM(烧成缺陷_擦坯) 烧成缺陷_擦坯,SUM(烧成缺陷_装窑) 烧成缺陷_装窑, 
+											SUM(烧成缺陷_烧窑) 烧成缺陷_烧窑,SUM(烧成缺陷_出窑) 烧成缺陷_出窑,SUM(烧成缺陷_回烧修补) 烧成缺陷_回烧修补, SUM(其他缺陷) 其他缺陷
 										FROM(
                                     SELECT		pd.GOODSCODE,LUSTERWAREWEIGHT,
 												PD.GOODSNAME ,
@@ -296,17 +298,18 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												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   DEFECTTYPEID IN (9,10) THEN PD.BARCODE ELSE NULL END) 原料缺陷,
-                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'A') > 0 AND PD.HIGHPRESSUREFLAG=0 AND (df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) ) 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 (  df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' )' ) 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 ( df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成C,
-                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND (  df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_高压,																	TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '23', '25' , '35'  ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
+                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'A') > 0 AND PD.HIGHPRESSUREFLAG=0 AND (df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) 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 (  df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) 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 ( df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成C,
+                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND (  df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_高压,																	TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '23', '25' , '35'  ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
 									            TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (5,36,52) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '28', '34', '35' ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_擦洗,
                                                 COUNT(DISTINCT CASE WHEN  DEFECT.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','19','20','25','26','27','28','29','30','12','13','14','15','16','17','18','23','31','32','33','34','35') AND DEFECT.VALUEFLAG=1 THEN PD.BARCODE||df.DEFECTCODE 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', '11' ) 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 ( '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', '11' ) 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 ( '96','091','092','093') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成缺陷_回烧修补,
                                                 COUNT(DISTINCT CASE WHEN  DF.DEFECTCODE IN ('99','100') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 其他缺陷
                                                 FROM(
                                               SELECT * FROM( SELECT * FROM(
@@ -409,11 +412,11 @@ 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 原料缺陷,
+                                        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 数据源
                                           UNION ALL                                    
@@ -429,7 +432,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                                '',
                                     '',
                                     '',
-                                    '','','','',
+                                    '','','','','',
 	                                
 									to_Char(成A出窑量),
 									to_Char(成B出窑量),
@@ -474,22 +477,23 @@ 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' ) || '%' ) 烧成缺陷_烧窑,
+                                      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 数据源
 										LEFT JOIN 工序对应出窑量 ON 1=1
                                         WHERE 数据源.GID=7 )  ORDER BY 产品类别,产品编码 ";
                 }
-                else if (procedure == "冷修") { 
+                else if (procedure == "1") { 
                     sqlStr = @" WITH 数据源 AS (
                                         SELECT
                                        GROUPING_ID(GOODSCODE,GOODSTYPENAME,GOODSTYPENAMESIX) GID,
@@ -515,9 +519,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 											SUM(成型缺陷_成A) 成型缺陷_成A,SUM(成型缺陷_成B) 成型缺陷_成B,
 											SUM(成型缺陷_成C) 成型缺陷_成C,SUM(成型缺陷_高压) 成型缺陷_高压, 
 											SUM(成型缺陷_打磨) 成型缺陷_打磨,SUM(成型缺陷_擦洗) 成型缺陷_擦洗,
-											SUM(成型缺陷_半检) 成型缺陷_半检,SUM(烧成缺陷_施釉)烧成缺陷_施釉,
-											SUM(烧成缺陷_擦坯) 烧成缺陷_擦坯,SUM(烧成缺陷_装窑) 烧成缺陷_装窑, 
-											SUM(烧成缺陷_烧窑) 烧成缺陷_烧窑,SUM(烧成缺陷_出窑) 烧成缺陷_出窑, SUM(其他缺陷) 其他缺陷
+											SUM(成型缺陷_半检) 成型缺陷_半检,SUM(烧成缺陷_施釉)烧成缺陷_施釉,
+											SUM(烧成缺陷_擦坯) 烧成缺陷_擦坯,SUM(烧成缺陷_装窑) 烧成缺陷_装窑, 
+											SUM(烧成缺陷_烧窑) 烧成缺陷_烧窑,SUM(烧成缺陷_出窑) 烧成缺陷_出窑,SUM(烧成缺陷_冷修) 烧成缺陷_冷修, SUM(其他缺陷) 其他缺陷
 										FROM(
                                     SELECT		pd.GOODSCODE,LUSTERWAREWEIGHT,
 												PD.GOODSNAME ,
@@ -530,17 +534,18 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												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   DEFECTTYPEID IN (9,10) THEN PD.BARCODE ELSE NULL END) 原料缺陷,
-                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'A') > 0 AND PD.HIGHPRESSUREFLAG=0 AND ( df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) ) 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 ( df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' )' ) 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 (  df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成C,
-                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND ( df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','1' ,'2' ,'3' ) ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_高压,																	TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '23', '25' , '35'  ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
+                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'A') > 0 AND PD.HIGHPRESSUREFLAG=0 AND ( df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) 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 ( df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) 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 (  df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成C,
+                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND ( df.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29','30','31','32','33','34','35','001','002','099','99','1' ,'2' ,'3' ) ) THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_高压,																	TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '23', '25' , '35'  ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
 									            TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (5,36,52) AND PDS.VALUEFLAG=1 AND df.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '28', '34', '35' ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_擦洗,
                                                 COUNT(DISTINCT CASE WHEN DEFECT.DEFECTCODE IN ('01','02','03','04','05','06','07','08','09','10','19','20','25','26','27','28','29','30','12','13','14','15','16','17','18','23','31','32','33','34','35') AND DEFECT.VALUEFLAG=1 THEN PD.BARCODE||df.DEFECTCODE 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', '11' ) 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 ( '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', '11' ) 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 ( '083','084','91','92','93')  THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成缺陷_冷修,
                                                 COUNT(DISTINCT CASE WHEN  DF.DEFECTCODE IN ('99','100') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 其他缺陷
                                                 FROM(
                                                SELECT * FROM(SELECT * FROM(
@@ -641,11 +646,12 @@ 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 烧成缺陷_施釉,
+                                        TO_CHAR(烧成缺陷_擦坯) AS 烧成缺陷_擦坯,
+                                        TO_CHAR(烧成缺陷_装窑) AS 烧成缺陷_装窑,
+                                        TO_CHAR(烧成缺陷_烧窑) AS 烧成缺陷_烧窑,
+                                        TO_CHAR(烧成缺陷_出窑) AS 烧成缺陷_出窑,
+                                        TO_CHAR(烧成缺陷_冷修) AS 烧成缺陷_冷修,
                                         TO_CHAR(原料缺陷) AS 原料缺陷,
                                         TO_CHAR(其他缺陷) AS 其他缺陷
                                         FROM 数据源
@@ -662,7 +668,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                                '',
                                     '',
                                     '',
-                                    '','','','',
+                                    '','','','','',
 	                                
 									to_Char(成A出窑量),
 									to_Char(成B出窑量),
@@ -708,15 +714,16 @@ 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' ) || '%' ) 烧成缺陷_烧窑,
+                                      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 数据源

+ 111 - 93
wwwroot/mes/rpt/rpt305/rpt_index.html

@@ -1,118 +1,136 @@
 <!DOCTYPE html>
 <html>
 <head>
-	<meta charset="utf-8" />
-	<meta name="keywords" content="dongke,mes,ibossmes">
-	<meta name="description" content="制造企业生产过程执行管理系统">
-	<meta name="author" content="xuwei">
-	<title>东科软件</title>
-	<script src="/plugins/xeasyui/xeasyui.min.js"></script>
-	<link href="/plugins/xeasyui/toolbar.min.css" rel="stylesheet" />
+    <meta charset="utf-8" />
+    <meta name="keywords" content="dongke,mes,ibossmes">
+    <meta name="description" content="制造企业生产过程执行管理系统">
+    <meta name="author" content="xuwei">
+    <title>东科软件</title>
+    <script src="/plugins/xeasyui/xeasyui.min.js"></script>
+    <link href="/plugins/xeasyui/toolbar.min.css" rel="stylesheet" />
 </head>
 <body class="easyui-layout">
 
-	<!--上部工具条-->
-	<!--中部主体-->
-	<div data-options="border:false,region:'center',title:'',iconCls:'icon-grid'">
-		<!--工具条-->
-		<div id="tb" class="i-toolbar">
-			<a href="javascript:void(0)" id="btnSearch" title="搜索" class="easyui-linkbutton" iconcls="icon-search" plain="true" toggle="true" onclick="tbSearch()">搜索</a>
-			<a href="javascript:void(0)" id="btnExport" title="导出" class="easyui-linkbutton" iconcls="icon-excel" plain="true" onclick="tbExport()">导出</a>
-			<!--<a href="javascript:void(0)" id="btnColumn" class="easyui-menubutton" data-options="menu:'#btnColumnMenu',iconCls:'icon-undo'">列显示</a>
-	<div id="btnColumnMenu" style="width:150px;"></div>-->
-			<a href="javascript:void(0)" id="btnReload" title="刷新" class="easyui-linkbutton" iconcls="icon-reload" plain="true" onclick="tbReload()">刷新</a>
-			<a href="javascript:void(0)" id="btnHelp" title="帮助" class="easyui-linkbutton" iconcls="icon-help" plain="true" onclick="tbHelp()">帮助</a>
-
-
-			<div id="tbSearchDiv" style="display:block;padding:10px;">
-				<form id="ffMaster">
-					<div>
-						开始日期:
-						<input class="easyui-datetimebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:190px; height:32px;">
-						截止日期:
-						<input class="easyui-datetimebox" id="dateendMaster" name="dateendMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width: 190px; height: 32px;">
-						数据源:
-	<input class="easyui-combobox" id="procedureMaster" name="procedureMaster" data-options="required:true,prompt:'请选择...',tipPosition:'top',
+    <!--上部工具条-->
+    <!--中部主体-->
+    <div data-options="border:false,region:'center',title:'',iconCls:'icon-grid'">
+        <!--工具条-->
+        <div id="tb" class="i-toolbar">
+            <a href="javascript:void(0)" id="btnSearch" title="搜索" class="easyui-linkbutton" iconcls="icon-search" plain="true" toggle="true" onclick="tbSearch()">搜索</a>
+            <a href="javascript:void(0)" id="btnExport" title="导出" class="easyui-linkbutton" iconcls="icon-excel" plain="true" onclick="tbExport()">导出</a>
+            <!--<a href="javascript:void(0)" id="btnColumn" class="easyui-menubutton" data-options="menu:'#btnColumnMenu',iconCls:'icon-undo'">列显示</a>
+            <div id="btnColumnMenu" style="width:150px;"></div>-->
+            <a href="javascript:void(0)" id="btnReload" title="刷新" class="easyui-linkbutton" iconcls="icon-reload" plain="true" onclick="tbReload()">刷新</a>
+            <a href="javascript:void(0)" id="btnHelp" title="帮助" class="easyui-linkbutton" iconcls="icon-help" plain="true" onclick="tbHelp()">帮助</a>
+
+
+            <div id="tbSearchDiv" style="display:block;padding:10px;">
+                <form id="ffMaster">
+                    <div>
+                        开始日期:
+                        <input class="easyui-datetimebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:190px; height:32px;">
+                        截止日期:
+                        <input class="easyui-datetimebox" id="dateendMaster" name="dateendMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width: 190px; height: 32px;">
+                        数据源:
+                        <input class="easyui-combobox" id="procedureMaster" name="procedureMaster" data-options="required:true,prompt:'请选择...',tipPosition:'top',
 		   data:[
-		   {'text':'冷修','value':'冷修'},
-		   {'text':'回烧','value':'回烧'},
-		   {'text':'本烧','value':'本烧'},
+		   {'text':'冷修','value':'1'},
+		   {'text':'回烧','value':'2'},
+		   {'text':'本烧','value':'3'},
 		   ],valueField:'value',textField:'text',panelHeight:'200px',editable:'true'" style="width:160px;height:32px;">
-						<!--产品名称:<input class="easyui-combobox" id="goodsid" name="goodsid" data-options="required:false,prompt:'',tipPosition:'top',url:'../rpt.ashx?m=getGoods&select=1',method:'get',valueField:'GOODSNAME',textField:'GOODSNAME',panelHeight:'300px',editable:'true',multiple:true" style="width:180px;height:32px;">-->
-						<a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="toClear()">清空</a>
-						<a href="javascript:void(0)" id="btnSearchSubmit" title="搜索" class="easyui-linkbutton" plain="false" onclick="tbSearchSubmit()">搜索</a>
-					</div>
-				</form>
-			</div>
-		</div>
-	
-
-		<table class="easyui-datagrid"
-			   id="DataGridMaster"
-			   data-options="toolbar: '#tb',method:'get',border:false,singleSelect:true,fit:true,fitColumns:true">
-			<thead>
-			</thead>
-		</table>
-	</div>
-
-
-	<script type="text/javascript">
-
-		function formatterUA(value, row, index) {
-			return Math.round(value * 10000) / 100 + '%';
-		}
-		$(document).ready(function () {
-			var ctime = new Date();
-			var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate() + " 00:00:00";
-			var endDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate() + " 23:59:59";
+                        <!--产品名称:<input class="easyui-combobox" id="goodsid" name="goodsid" data-options="required:false,prompt:'',tipPosition:'top',url:'../rpt.ashx?m=getGoods&select=1',method:'get',valueField:'GOODSNAME',textField:'GOODSNAME',panelHeight:'300px',editable:'true',multiple:true" style="width:180px;height:32px;">-->
+                        <a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="toClear()">清空</a>
+                        <a href="javascript:void(0)" id="btnSearchSubmit" title="搜索" class="easyui-linkbutton" plain="false" onclick="responUrl()">搜索</a>
+                    </div>
+                </form>
+            </div>
+        </div>
+
+
+        <table class="easyui-datagrid"
+               id="DataGridMaster"
+               data-options="toolbar: '#tb',method:'get',border:false,singleSelect:true,fit:true,fitColumns:true">
+            <thead>
+            </thead>
+        </table>
+    </div>
+
+
+    <script type="text/javascript">
+
+        function formatterUA(value, row, index) {
+            return Math.round(value * 10000) / 100 + '%';
+        }
+        $(document).ready(function () {
+            var ctime = new Date();
+            var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate() + " 00:00:00";
+            var endDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate() + " 23:59:59";
             $("#datebeginMaster").datetimebox("setValue", beginDate);
             $("#dateendMaster").datetimebox("setValue", endDate);
 
-			//tbSearchSubmit();
+            tbSearchSubmit();
 
-		});
-		function toClear() {
-			var ctime = new Date();
-			var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate() ;
+        });
+        function toClear() {
+            var ctime = new Date();
+            var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate();
             var endDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate() + " 23:59:59";
             $("#datebeginMaster").datetimebox("setValue", beginDate);
             $("#dateendMaster").datetimebox("setValue", endDate);
-		}
-
+        }
+        function getQueryString(name) {
+            var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
+            var r = window.location.search.substr(1).match(reg);
+            if (r != null) {
+                return unescape(r[2]);
+            }
+            return null;
+        }
+        function responUrl() {
+            location.href = "rpt_index.html?sd=" + $("#datebeginMaster").datetimebox("getValue") + "&ed=" + $("#dateendMaster").datetimebox("getValue") + "&t=" + $("#procedureMaster").combobox("getValue");
+        }
         //搜索提交
-		function tbSearchSubmit() {
-			if ($('#ffMaster').form("validate")) {
-				$('#DataGridMaster').datagridLoad({
-					title: '',
-					idField: 'SID',
-					queryParams: $('#ffMaster').serializeJson(),
-					url: 'rpt.ashx?m=master&id=' + request('id'),
-					fixWidth: 160,
-					mergeWidth: 100,
-					splitChar: '_',
-					columnMenu: '#btnColumnMenu',
-					columnMoving: true,
+        function tbSearchSubmit() {
+            if (getQueryString("sd"))
+                $("#datebeginMaster").datetimebox("setValue", getQueryString("sd"));
+            if (getQueryString("ed"))
+                $("#dateendMaster").datetimebox("setValue", getQueryString("ed"));
+            if (getQueryString("t"))
+                $("#procedureMaster").combobox("setValue", getQueryString("t"));
+            if ($('#ffMaster').form("validate")) {
+
+
+                $('#DataGridMaster').datagridLoad({
+                    title: '',
+                    idField: 'SID',
+                    queryParams: $('#ffMaster').serializeJson(),
+                    url: 'rpt.ashx?m=master&id=' + request('id') + '&date=' + new Date(),
+                    fixWidth: 160,
+                    mergeWidth: 100,
+                    splitChar: '_',
+                    columnMenu: '#btnColumnMenu',
+                    columnMoving: true,
                     pagination: true,
                     pagelist: [10000, 50, 100, 50, 1000, 5000],
-                    pageSize: 10000
+                    pageSize: 10000, cache: false
                 })
-					
+
             };
         }
 
         //导出
 
         function tbExport() {
-            $('#DataGridMaster').datagrid('toExcel', '(成品质量分析汇总表(此表包括冷修、重烧质量分析表))' + $("#datebeginMaster").datetimebox("getValue") + '_' + $("#dateendMaster").datetimebox("getValue")+'.xls');
+            $('#DataGridMaster').datagrid('toExcel', '(成品质量分析汇总表(此表包括冷修、重烧质量分析表))' + $("#datebeginMaster").datetimebox("getValue") + '_' + $("#dateendMaster").datetimebox("getValue") + '.xls');
         }
 
-		//搜索按钮
-		function tbSearch() {
-			$('#tbSearchDiv').toggle();
-			$('#toolbarLayout').panel('resize', { height: 'auto' });
-			$('body').layout('resize');
-			$('#tableTabs').tabs('resize');
-		}
+        //搜索按钮
+        function tbSearch() {
+            $('#tbSearchDiv').toggle();
+            $('#toolbarLayout').panel('resize', { height: 'auto' });
+            $('body').layout('resize');
+            $('#tableTabs').tabs('resize');
+        }
         function tbHelp() {
             $('#DataGridMaster').datagridDialog({
                 title: '帮助',
@@ -121,11 +139,11 @@
                 url: '成品质量分析汇总表(此表包括冷修、重烧质量分析表).html'
             });
         }
-		//刷新
-		function tbReload() {
-			tbSearchSubmit();
-		}
+        //刷新
+        function tbReload() {
+            tbSearchSubmit();
+        }
 
-	</script>
+    </script>
 </body>
 </html>