Bladeren bron

增加判断条件 valuefalg

张忠帅 1 jaar geleden
bovenliggende
commit
1164fa50cc

+ 7 - 5
wwwroot/mes/rpt/rpt102/rpt.ashx

@@ -24,6 +24,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 			if (context.Request["m"].ToString() == "master")
 			{
 				DateTime dateBegin = Convert.ToDateTime(context.Request["datebeginMaster"]);
+				DateTime dateEnd = Convert.ToDateTime(context.Request["dateendMaster"]);
 				string KilnID = context.Request["kilnidMaster"];
 				string sqlStr = "";
 				if (KilnID == "1")
@@ -56,8 +57,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                             TP_PM_PRODUCTIONDATA pd
                                             LEFT JOIN TP_MST_GOODS gd ON gd.GOODSID=pd.GOODSID
                                             WHERE pd.VALUEFLAG=1
-                                            AND pd.CREATETIME>= (select TRUNC(@DATETIME@)+0/86400   from   dual  )
-                                            AND pd.CREATETIME<= (select TRUNC(@DATETIME@)+1-1/86400   from   dual ) 
+                                            AND pd.CREATETIME>= @DATETIME@
+                                            AND pd.CREATETIME<= @dateEnd@
                                             AND pd.PROCEDUREID IN(14,16)
                                             AND pd.KILNID =@KILNID@
                                             )P
@@ -172,8 +173,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         TP_PM_PRODUCTIONDATA pd
                                         LEFT JOIN TP_MST_GOODS gd ON gd.GOODSID=pd.GOODSID
                                         WHERE pd.VALUEFLAG=1
-                                        AND pd.CREATETIME>= (select trunc(@DATETIME@, 'mm')   from   dual   )
-                                        AND pd.CREATETIME<= (select TRUNC(@DATETIME@)+1-1/86400   from   dual ) 
+                                        AND pd.CREATETIME>=  (ADD_MONTHS(TRUNC(SYSDATE, 'MM'), -1) + 25)
+                                        AND pd.CREATETIME<= (ADD_MONTHS(TRUNC(SYSDATE, 'MM'), 0) + 24)+23/24 +59/(24*60)  
                                         AND pd.PROCEDUREID IN(26,28)
                                         AND pd.KILNID =@KILNID@
                                         )P
@@ -182,8 +183,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				}
 
 				//获取查询条件
-				List<CDAParameter> sqlPara = new List<CDAParameter>();
+				List<CDAParameter> sqlPara = new List<CDAParameter>(); 
 				sqlPara.Add(new CDAParameter("DATETIME", dateBegin, DataType.DateTime));
+                sqlPara.Add(new CDAParameter("dateEnd", dateEnd, DataType.DateTime));
 				sqlPara.Add(new CDAParameter("KILNID", KilnID, DataType.Char));
 				//sqlPara.Add(new CDAParameter("PROCEDUREID", context.Request["procedureidMaster"]));
 				//获取分页参数

+ 11 - 5
wwwroot/mes/rpt/rpt102/rpt_index.html

@@ -23,7 +23,9 @@
                 <form id="ffMaster">
                     <div>
                         开始日期:
-                        <input class="easyui-datebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:120px; height:32px;">
+                        <input class="easyui-datetimebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:180px; height:32px;">
+                        截止日期:
+                        <input class="easyui-datetimebox" id="dateendMaster" name="dateendMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:180px; height:32px;">
                         窑炉:
                         <input class="easyui-combobox" id="kilnidMaster" name="kilnidMaster" data-options="required:true,prompt:'窑炉',tipPosition:'top',url:'../rpt.ashx?m=getKiln&select=1',method:'get',valueField:'KILNID',textField:'KILNNAME',panelHeight:'200px',editable:'true'" style="width:100px;height:32px;">
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="toClear()">清空</a>
@@ -48,15 +50,19 @@
 
         $(document).ready(function () {
             var ctime = new Date();
-            var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate();
-            $("#datebeginMaster").datebox("setValue", beginDate);
+            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);
         });
 
         // 清空恢复默认值
         function toClear() {
             var ctime = new Date();
-            var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate();
-            $("#datebeginMaster").datebox("setValue", beginDate);
+            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);
         }
 
         //搜索提交

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

@@ -88,7 +88,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                   LEFT JOIN TP_PC_GROUTINGLINE GDL ON GDL.GROUTINGLINEID=gd.GROUTINGLINEID
                                   LEFT JOIN TP_MST_DataDictionary ON TP_MST_DataDictionary.DICTIONARYID=gd.GLAZETYPEID AND TP_MST_DataDictionary.DictionaryType = 'TPC002'
                                 WHERE
-	                                PD.PROCEDUREID IN (16)  
+	                                PD.PROCEDUREID IN (16)  AND DF.VALUEFLAG=1
 	                                AND PD.CREATETIME >= @DATEBEGIN@
                                     AND PD.CREATETIME < @DATEEND@ ".Replace("{DEFECT}",defect);
                 if (context.Request["linecodeMaster"] != null && context.Request["linecodeMaster"] != "") { //判断首个下拉框是否有值

+ 1 - 1
wwwroot/mes/rpt/rpt202/rpt.ashx

@@ -77,7 +77,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.VALUEFLAG=1
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTTYPEID =1
                                 WHERE
 	                                PD.PROCEDUREID IN ( 16) 

+ 2 - 2
wwwroot/mes/rpt/rpt203/rpt.ashx

@@ -76,7 +76,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.VALUEFLAG=1
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE IN (SELECT DISTINCT
 	                            MDF.DEFECTCODE FROM TP_MST_INHERITANCEDEFECTS MDF  WHERE DEFECTPROCEDUREID=4  )
                                 WHERE PD.PROCEDUREID IN (16)  
@@ -108,7 +108,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												 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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.VALUEFLAG=1
 												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND MDF.DEFECTCODE IN (SELECT DISTINCT
 	                            MDF.DEFECTCODE  FROM TP_MST_INHERITANCEDEFECTS MDF   WHERE DEFECTPROCEDUREID=4 )
 												 WHERE

+ 2 - 2
wwwroot/mes/rpt/rpt204/rpt.ashx

@@ -77,7 +77,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID   AND DF.VALUEFLAG=1
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE in(SELECT DISTINCT
 	                            MDF.DEFECTCODE
                             FROM
@@ -115,7 +115,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												 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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID   AND DF.VALUEFLAG=1
 												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE in(SELECT DISTINCT
 	                            MDF.DEFECTCODE
                             FROM

+ 4 - 4
wwwroot/mes/rpt/rpt205/rpt.ashx

@@ -62,7 +62,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                                TO_CHAR(MD.DICTIONARYVALUE) AS 釉色,
 	                                TO_CHAR(LG.LOGONAME) AS 商标,
 	                                TO_CHAR(COUNT(DISTINCT PD.BARCODE)) 出窑量,
-                                TO_CHAR(COUNT( DISTINCT CASE WHEN MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL  THEN DF.BARCODE ELSE NULL END ))缺陷量,
+                                TO_CHAR(COUNT( DISTINCT CASE WHEN MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL or  MDF.DEFECTCODE='20' THEN DF.BARCODE ELSE NULL END ))缺陷量,
 	                                TO_CHAR( (COUNT( DISTINCT CASE WHEN MDF.DEFECTCODE IS NOT NULL AND DF.BARCODE IS NOT NULL  THEN DF.BARCODE ELSE NULL END )/COUNT(DISTINCT PD.BARCODE) * 100), 'fm99990.00') || '%' 缺陷率,
                                     {DEFECT}
                                 FROM
@@ -72,7 +72,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 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 AND MDF.DEFECTTYPEID =4
+                                LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND (MDF.DEFECTTYPEID =4 or  MDF.DEFECTCODE='20')
                                 WHERE
 	                                PD.PROCEDUREID IN ( 16) 
 	                                AND PD.CREATETIME >= @DATEBEGIN@
@@ -104,8 +104,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												 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.DEFECTCODE = MDF.DEFECTCODE AND MDF.DEFECTTYPEID =4 or  MDF.DEFECTCODE='20'
+												 LEFT JOIN TP_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID   AND DF.VALUEFLAG=1
+												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND ( MDF.DEFECTTYPEID =4 or  MDF.DEFECTCODE='20')
 												 WHERE
 												     PD.PROCEDUREID IN ( 16) 
 												      AND PD.CREATETIME >= @DATEBEGIN@

+ 4 - 5
wwwroot/mes/rpt/rpt206/rpt.ashx

@@ -75,9 +75,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 LEFT JOIN TP_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID 
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTID IN (
 													SELECT  DISTINCT 		 MDF.DEFECTID
-															FROM TP_PC_DEFECTPROCEDUREJOBS JOBS
-															LEFT JOIN  TP_MST_DEFECT MDF  ON mdf.DEFECTID=JOBS.DEFECTID 
-															WHERE jobs.JOBSID IN (22)or  MDF.DEFECTCODE='20' )
+															FROM TP_MST_DEFECT MDF
+															where DEFECTTYPEID=5 or  MDF.DEFECTCODE='20' )
                                 WHERE
 	                                PD.PROCEDUREID IN ( 16) 
 	                                AND PD.CREATETIME >= @DATEBEGIN@
@@ -108,8 +107,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												 LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
 												 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_LOGO LG ON PD.LOGOID = LG.LOGOID  
+												 LEFT JOIN TP_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID   AND DF.VALUEFLAG=1
 												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND MDF.DEFECTCODE IN ( '47','48','49','50','51','52','53','54','55','56','20','57')
 												 WHERE
 												     PD.PROCEDUREID IN ( 16) 

+ 2 - 2
wwwroot/mes/rpt/rpt207/rpt.ashx

@@ -47,7 +47,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
               DataTable dts = conn.ExecuteDatatable(@"SELECT DISTINCT MDF.DEFECTCODE AS DC,
                                                         'TO_CHAR(SUM( CASE WHEN DF.DEFECTCODE = '''||DEFECTCODE||''' THEN 1 ELSE 0 END ))' AS DEFECTCODE,
 	                                                   MDF.DEFECTNAME 
-													 FROM
+													 
 	                          FROM TP_MST_DEFECT MDF
 															where DEFECTTYPEID=6  ORDER BY  MDF.DEFECTCODE");
                 for (int i = 0; i < dts.Rows.Count; i++) {
@@ -106,7 +106,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												 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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID   AND DF.VALUEFLAG=1
 												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND MDF.DEFECTTYPEID =6
 												 WHERE
 												     PD.PROCEDUREID IN ( 16) 

+ 2 - 2
wwwroot/mes/rpt/rpt208/rpt.ashx

@@ -73,7 +73,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.VALUEFLAG=1
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTTYPEID =7
                                 WHERE
 	                                PD.PROCEDUREID IN ( 16) 
@@ -106,7 +106,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												 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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.VALUEFLAG=1
 												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND MDF.DEFECTTYPEID =7
 												 WHERE
 												     PD.PROCEDUREID IN ( 16) 

+ 2 - 2
wwwroot/mes/rpt/rpt209/rpt.ashx

@@ -75,7 +75,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID   AND DF.VALUEFLAG=1
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTTYPEID =8
                                 WHERE
 	                                PD.PROCEDUREID IN ( 16) 
@@ -108,7 +108,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												 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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.VALUEFLAG=1
 												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND MDF.DEFECTTYPEID =8
 												 WHERE
 												     PD.PROCEDUREID IN ( 16) 

+ 2 - 2
wwwroot/mes/rpt/rpt210/rpt.ashx

@@ -57,7 +57,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.VALUEFLAG=1
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE in('87','88','086','86')
                                 WHERE
 	                                PD.PROCEDUREID IN ( 16) 
@@ -90,7 +90,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.VALUEFLAG=1
                                 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE in('87','88','086','86')
 									WHERE
 	                                PD.PROCEDUREID IN ( 16) 

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

@@ -150,7 +150,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         基础数据.商标,
                                         TO_CHAR(COUNT(DISTINCT 出窑条码)) 出窑量,
                                         TO_CHAR(COUNT( DISTINCT CASE WHEN  缺陷类别 =1  THEN 缺陷条码 ELSE NULL END )) 缺陷量,
-                                        TO_CHAR( (COUNT(DISTINCT 缺陷条码)/COUNT(DISTINCT 出窑条码) * 100), 'fm99990.00') || '%' 缺陷率,
+                                           TO_CHAR( ((COUNT( DISTINCT CASE WHEN  缺陷类别 =1  THEN 缺陷条码 ELSE NULL END ))/COUNT(DISTINCT 出窑条码) * 100), 'fm99990.00') || '%' 缺陷率,
                                         {DEFECT}
                                         FROM 基础数据
                                         LEFT JOIN 部门 ON 部门.GROUTINGLINEID=基础数据.GROUTINGLINEID
@@ -200,7 +200,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 																					基础数据.产品规格,
 																					基础数据.釉色,
 																					基础数据.商标), (基础数据.工号,基础数据.姓名,部门.部门),(部门.部门),() ))
-							WHERE GID IN (111,127) )   ORDER BY 姓名,统计方式,部门,工号,出窑量,产品名称,产品编码 ".Replace("{DEFECT}", defect).Replace("{sumdefect}", sumdefect);
+							WHERE GID IN (111,127) )   ORDER BY 姓名,工号,GID,统计方式,部门,工号,出窑量,产品名称,产品编码 ASC".Replace("{DEFECT}", defect).Replace("{sumdefect}", sumdefect);
 
                 //获取查询条件
                 List<CDAParameter> sqlPara = new List<CDAParameter>();

+ 1 - 1
wwwroot/mes/rpt/rpt212/rpt.ashx

@@ -84,7 +84,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 													SELECT  DISTINCT 		 MDF.DEFECTID
 															FROM TP_PC_DEFECTPROCEDUREJOBS JOBS
 															LEFT JOIN  TP_MST_DEFECT MDF  ON mdf.DEFECTID=JOBS.DEFECTID 
-															WHERE jobs.JOBSID IN (3) )
+															WHERE jobs.JOBSID IN (3) )  AND DF.VALUEFLAG=1
 											INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (5,36,52)AND PDC.VALUEFLAG=1
 											LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 											LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID

+ 1 - 1
wwwroot/mes/rpt/rpt213/rpt.ashx

@@ -83,7 +83,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 														SELECT  DISTINCT 		 MDF.DEFECTID
 																FROM TP_PC_DEFECTPROCEDUREJOBS JOBS
 																LEFT JOIN  TP_MST_DEFECT MDF  ON mdf.DEFECTID=JOBS.DEFECTID 
-																WHERE jobs.JOBSID IN (4) )
+																WHERE jobs.JOBSID IN (4) )  AND DF.VALUEFLAG=1
 												INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID=4 AND PDC.VALUEFLAG=1
 												LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 												LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID

+ 1 - 1
wwwroot/mes/rpt/rpt214/rpt.ashx

@@ -92,7 +92,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 																      TP_MST_DEFECT MDF 
 																  WHERE
 																      MDF.DEFECTTYPEID = 1 
-																      AND MDF.VALUEFLAG = 1 )
+																      AND MDF.VALUEFLAG = 1 )  AND DF.VALUEFLAG=1
 											INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (	40,6,31)AND PDC.VALUEFLAG=1
 											LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 											LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID

+ 3 - 3
wwwroot/mes/rpt/rpt215/rpt.ashx

@@ -35,7 +35,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                     TO_CHAR(SUM( CASE WHEN 基础数据.缺陷ID = '''||MDF.DEFECTID||''' THEN 1 ELSE 0 END )) END' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
 															FROM TP_MST_DEFECT MDF
-															where DEFECTTYPEID=4 or  MDF.DEFECTCODE='20' ORDER BY  MDF.DEFECTID" );//半检获取 成型全部缺陷
+															where DEFECTTYPEID=4 OR  MDF.DEFECTCODE='20' ORDER BY  MDF.DEFECTID" );//半检获取 成型全部缺陷
 				for (int i = 0; i < dt.Rows.Count; i++)
 				{
 					if (i > 0) defect += ",";
@@ -47,7 +47,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                            'TO_CHAR(SUM( CASE WHEN MDF.DEFECTCODE = '''||DEFECTCODE||''' THEN 1 ELSE 0 END ))' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
                            	FROM TP_MST_DEFECT MDF
-															where DEFECTTYPEID=4 or  MDF.DEFECTCODE='20' ORDER BY  MDF.DEFECTID");
+															where DEFECTTYPEID=4 OR  MDF.DEFECTCODE='20' ORDER BY  MDF.DEFECTID");
                 for (int i = 0; i < dts.Rows.Count; i++) {
                     if (i > 0) sumdefect += ",";
                     sumdefect += dts.Rows[i]["DEFECTCODE"].ToString()+" "+dts.Rows[i]["DEFECTNAME"].ToString();
@@ -85,7 +85,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LEFT JOIN TP_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.DEFECTID IN (
 													SELECT  DISTINCT 		 MDF.DEFECTID
 															FROM TP_MST_DEFECT MDF
-															where DEFECTTYPEID=4 or  MDF.DEFECTCODE='20')
+															where DEFECTTYPEID=4 OR MDF.DEFECTCODE='20')  AND DF.VALUEFLAG=1
 											INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (	10,37,41) AND PDC.VALUEFLAG=1
 											LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 											LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID

+ 1 - 1
wwwroot/mes/rpt/rpt216/rpt.ashx

@@ -85,7 +85,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LEFT JOIN TP_MST_LOGO LG ON PD.LOGOID = LG.LOGOID
                                         	LEFT JOIN TP_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.DEFECTID IN (
 													SELECT  DISTINCT 		 MDF.DEFECTID FROM TP_MST_DEFECT MDF
-															where DEFECTTYPEID=5 or  MDF.DEFECTCODE='20'or  MDF.DEFECTCODE='20')
+															where DEFECTTYPEID=5 or  MDF.DEFECTCODE='20')  AND DF.VALUEFLAG=1
 											INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (10,37,41)AND PDC.VALUEFLAG=1
 											LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 											LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID 

+ 1 - 1
wwwroot/mes/rpt/rpt217/rpt.ashx

@@ -82,7 +82,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LEFT JOIN TP_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.DEFECTID IN (
 													SELECT  DISTINCT 		 MDF.DEFECTID
 															FROM TP_MST_DEFECT MDF
-															where DEFECTTYPEID=6 )
+															where DEFECTTYPEID=6 )  AND DF.VALUEFLAG=1
 											INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (	55,13,25) AND PDC.VALUEFLAG=1
 											LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 											LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID

+ 1 - 1
wwwroot/mes/rpt/rpt218/rpt.ashx

@@ -82,7 +82,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LEFT JOIN TP_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.DEFECTID IN (SELECT  DISTINCT
 															 MDF.DEFECTID
 															FROM TP_MST_DEFECT MDF
-															where DEFECTTYPEID=7 ORDER BY  MDF.DEFECTID)
+															where DEFECTTYPEID=7 )  AND DF.VALUEFLAG=1
 											INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (30,39,57) AND PDC.VALUEFLAG=1
 											LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 											LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID

+ 1 - 1
wwwroot/mes/rpt/rpt219/rpt.ashx

@@ -83,7 +83,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LEFT JOIN TP_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.DEFECTID IN (
 													SELECT  DISTINCT 		 MDF.DEFECTID
 															 FROM TP_MST_DEFECT MDF
-															where DEFECTTYPEID=8 )
+															where DEFECTTYPEID=8 )  AND DF.VALUEFLAG=1
 											INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (14,26,56) AND PDC.VALUEFLAG=1
 											LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 											LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID

+ 1 - 1
wwwroot/mes/rpt/rpt220/rpt.ashx

@@ -75,7 +75,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 													SELECT  DISTINCT 		 MDF.DEFECTID
 															FROM TP_PC_DEFECTPROCEDUREJOBS JOBS
 															LEFT JOIN  TP_MST_DEFECT MDF  ON mdf.DEFECTID=JOBS.DEFECTID 
-															WHERE jobs.JOBSID IN (10) )
+															WHERE jobs.JOBSID IN (10) )  AND DF.VALUEFLAG=1
 											INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (30,39,57)
 											LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 											LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID

+ 1 - 1
wwwroot/mes/rpt/rpt221/rpt.ashx

@@ -55,7 +55,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 														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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID  AND DF.VALUEFLAG=1
 														INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE = GDL.BARCODE 
 														AND PDC.PROCEDUREID IN ( 14, 26, 56 )
 														LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID = PDC.CLASSESSETTINGID

+ 1 - 1
wwwroot/mes/rpt/rpt223/rpt.ashx

@@ -68,7 +68,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 									  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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID   AND DF.VALUEFLAG=1
 									  LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTTYPEID =1
 									  WHERE
 									      PD.PROCEDUREID IN ( 16) 

+ 1 - 1
wwwroot/mes/rpt/rpt224/rpt.ashx

@@ -87,7 +87,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                                     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 
+                                                    LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID   AND DF.VALUEFLAG=1
                                                     INNER JOIN TP_PM_PRODUCTIONDATA pds ON pds.BARCODE=pd.BARCODE
                                                     WHERE
 	                                                  PD.PROCEDUREID IN ( 16) 

+ 1 - 1
wwwroot/mes/rpt/rpt225/rpt.ashx

@@ -80,7 +80,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                                     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_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID   AND DF.VALUEFLAG=1
                                                     LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID 
                                                     WHERE
 	                                                        PD.PROCEDUREID IN ( 16) 

+ 1 - 1
wwwroot/mes/rpt/rpt226/rpt.ashx

@@ -60,7 +60,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                                     PD.USERCODE AS 工号,
                                                     STF.STAFFNAME AS 姓名
                                                     FROM TP_PM_PRODUCTIONDATA PD
-                                                    LEFT JOIN TP_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID 
+                                                    LEFT JOIN TP_PM_DEFECT DF ON PD.PRODUCTIONDATAID = DF.PRODUCTIONDATAID   AND DF.VALUEFLAG=1
                                                     LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
                                                     LEFT JOIN TP_MST_GOODS GD ON PD.GOODSID = GD.GOODSID
                                                     LEFT JOIN TP_MST_DataDictionary MD ON GD.GLAZETYPEID = MD.DICTIONARYID 

+ 4 - 4
wwwroot/mes/rpt/rpt226/rpt_index.html

@@ -25,9 +25,9 @@
                 <form id="ffMaster">
                     <div>
                         开始日期:
-                        <input class="easyui-datetimebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:120px; height:32px;">
+                        <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:120px; height:32px;">
+                        <input class="easyui-datetimebox" id="dateendMaster" name="dateendMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width: 190px; 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>
@@ -51,7 +51,7 @@
         $(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();
+            var endDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate() + " 23:59:59";
             $("#datebeginMaster").datetimebox("setValue", beginDate);
             $("#dateendMaster").datetimebox("setValue", endDate);
         });
@@ -60,7 +60,7 @@
         function toClear() {
             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();
+            var endDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate() + " 23:59:59";
             $("#datebeginMaster").datetimebox("setValue", beginDate);
             $("#dateendMaster").datetimebox("setValue", endDate);
         }

+ 1 - 1
wwwroot/mes/rpt/rpt303/rpt.ashx

@@ -60,7 +60,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                 TO_CHAR(count(DISTINCT case when DFC.DEFECTTYPEID NOT IN (1,4,6,7,8,2,3,59,10) AND DF.VALUEFLAG=1 THEN p.BARCODE ELSE NULL END  ))其他缺陷
                                 FROM TP_PM_PRODUCTIONDATA p
 																INNER JOIN TP_PM_GROUTINGDAILYDETAIL gd on gd.BARCODE=p.BARCODE
-                                LEFT JOIN TP_PM_DEFECT df on  df.PRODUCTIONDATAID=p.PRODUCTIONDATAID
+                                LEFT JOIN TP_PM_DEFECT df on  df.PRODUCTIONDATAID=p.PRODUCTIONDATAID  AND DF.VALUEFLAG=1
                                 LEFT JOIN TP_MST_DEFECT DFC ON DFC.DEFECTID=DF.DEFECTID
 																WHERE P.CREATETIME >=@DATEBEGIN@
 																AND P.CREATETIME <=@DATEEND@

+ 162 - 161
wwwroot/mes/rpt/rpt304/rpt.ashx

@@ -64,15 +64,15 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 									
 									
 											FROM TP_PM_PRODUCTIONDATA PD
-											LEFT JOIN TP_PM_DEFECT df ON PD.PRODUCTIONDATAID=DF.PRODUCTIONDATAID 
+											LEFT JOIN TP_PM_DEFECT df ON PD.BARCODE=DF.BARCODE 
 												LEFT JOIN TP_PM_GROUTINGDAILYDETAIL gd ON  df.BARCODE = gd.BARCODE 
 												LEFT JOIN TP_MST_GOODS gds ON gds.GOODSCODE=gd.GOODSCODE
 												LEFT JOIN TP_MST_DEFECT MDF ON MDF.DEFECTID=DF.DEFECTID AND MDF.VALUEFLAG=1  
 												
 											WHERE
-												df.VALUEFLAG = 1 AND PD.PROCEDUREID=16 AND PD.VALUEFLAG=1 
-												AND df.CREATETIME >= @DATEBEGIN@ 
-												AND df.CREATETIME < @DATEEND@ 
+												 PD.PROCEDUREID=16 AND PD.VALUEFLAG=1 
+												AND df.CREATETIME >= @DATEBEGIN@  
+												AND df.CREATETIME <  @DATEEND@ 
 											GROUP BY
 												Grouping sets ( ( gd.GOODSCODE, gd.GOODSNAME,gds.GOODSSPECIFICATION), ( ) ) 
 											),
@@ -222,8 +222,8 @@ SUM( CASE WHEN df.DEFECTCODE IN ( '0100' ) THEN 1 ELSE 0 END ) AS 其他_梭式
 									LEFT JOIN TP_PM_GROUTINGDAILYDETAIL gd ON  df.BARCODE = gd.BARCODE 
 							WHERE
 								df.VALUEFLAG = 1 
-								AND df.CREATETIME >= @DATEBEGIN@ 
-								AND df.CREATETIME < @DATEEND@ 
+								AND df.CREATETIME >= @DATEBEGIN@  
+								AND df.CREATETIME <  @DATEEND@ 
 								GROUP BY
 												Grouping sets ( ( gd.GOODSCODE, gd.GOODSNAME ), ( ) ) 
 								),
@@ -248,22 +248,23 @@ SUM( CASE WHEN df.DEFECTCODE IN ( '0100' ) THEN 1 ELSE 0 END ) AS 其他_梭式
 								WHERE
 									VALUEFLAG = 1 
 									AND PROCEDUREID = 16 
-									AND CREATETIME >= @DATEBEGIN@  
-									AND CREATETIME < @DATEEND@ 
+									AND CREATETIME >= @DATEBEGIN@   
+									AND CREATETIME <  @DATEEND@ 
 								) PD
 								GROUP BY
 												Grouping sets ( ( pd.GOODSCODE, pd.GOODSNAME ), ( ) ) 
+								),
+								产品 AS (
+								SELECT * FROM TP_MST_GOODS WHERE VALUEFLAG=1
 								)
-								
-								
 								SELECT
-								f.GOODSCODE AS 产品编码,
-								f.GOODSNAME AS 产品名称,
-								f.GOODSSPECIFICATION AS 产品规格,
-								t.检验量,
-								t.合格量,
-								t.残品,
-								DECODE( NVL( t.合格量, 0 ), 0, '0%', TO_CHAR( ( NVL( t.合格量, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 合格率,
+								检验数.GOODSCODE 产品编码,
+								检验数.GOODSNAME 产品名称,
+								产品.GOODSSPECIFICATION 产品规格,
+								检验数.检验量,
+								检验数.合格量,
+								检验数.残品,
+								DECODE( NVL( 检验数.合格量, 0 ), 0, '0%', TO_CHAR( ( NVL( 检验数.合格量, 0 ) / DECODE( NVL( 检验数.检验量, 1 ), 0, 1, NVL( 检验数.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 合格率,
 								to_char(s.成型半检缺陷_坯脏) AS 成型半检缺陷__坯脏,
 								to_char(s.成型半检缺陷_棕眼) AS 成型半检缺陷__棕眼,
 								to_char(s.成型半检缺陷_裂底) AS 成型半检缺陷__裂底,
@@ -299,7 +300,7 @@ SUM( CASE WHEN df.DEFECTCODE IN ( '0100' ) THEN 1 ELSE 0 END ) AS 其他_梭式
 								to_char(s.成型半检缺陷_水绺) AS 成型半检缺陷__水绺,
 								to_char(s.成型半检缺陷_裂) AS 成型半检缺陷__裂,
 								f.成型半检缺陷__缺陷汇总,
-								DECODE( NVL( f.成型半检缺陷__缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.成型半检缺陷__缺陷汇总, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) 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(s.精修缺陷_打磨缺陷_糙活) AS 精修缺陷_打磨缺陷_糙活,
 								to_char(s.精修缺陷_打磨缺陷_变形) AS 精修缺陷_打磨缺陷_变形,
 								to_char(s.精修缺陷_打磨缺陷_渣) AS 精修缺陷_打磨缺陷_渣,
@@ -311,7 +312,7 @@ SUM( CASE WHEN df.DEFECTCODE IN ( '0100' ) THEN 1 ELSE 0 END ) AS 其他_梭式
 								to_char(s.精修缺陷_打磨缺陷_丢眼) AS 精修缺陷_打磨缺陷_丢眼,
 								to_char(s.精修缺陷_打磨缺陷_坯磕) AS 精修缺陷_打磨缺陷_坯磕,
 								f.精修缺陷_打磨缺陷_缺陷汇总,
-								DECODE( NVL( f.精修缺陷_打磨缺陷_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.精修缺陷_打磨缺陷_缺陷汇总, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) 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(s.精修缺陷_刷洗缺陷_坯脏) AS 精修缺陷_刷洗缺陷_坯脏,
 								to_char(s.精修缺陷_刷洗缺陷_棕眼) AS 精修缺陷_刷洗缺陷_棕眼,
 								to_char(s.精修缺陷_刷洗缺陷_裂底) AS 精修缺陷_刷洗缺陷_裂底,
@@ -325,7 +326,7 @@ SUM( CASE WHEN df.DEFECTCODE IN ( '0100' ) THEN 1 ELSE 0 END ) AS 其他_梭式
 								to_char(s.精修缺陷_刷洗缺陷_卡球) AS 精修缺陷_刷洗缺陷_卡球,
 								to_char(s.精修缺陷_刷洗缺陷_裂) AS 精修缺陷_刷洗缺陷_裂,
 								f.精修缺陷_刷洗缺陷_缺陷汇总,
-								DECODE( NVL( f.精修缺陷_刷洗缺陷_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.精修缺陷_刷洗缺陷_缺陷汇总, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) 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(s.施釉擦坯缺陷_施釉缺陷_滚釉) AS 施釉擦坯缺陷_施釉缺陷_滚釉,
 								to_char(s.施釉擦坯缺陷_施釉缺陷_釉薄) AS 施釉擦坯缺陷_施釉缺陷_釉薄,
 								to_char(s.施釉擦坯缺陷_施釉缺陷_釉不匀) AS 施釉擦坯缺陷_施釉缺陷_釉不匀,
@@ -337,7 +338,7 @@ SUM( CASE WHEN df.DEFECTCODE IN ( '0100' ) THEN 1 ELSE 0 END ) AS 其他_梭式
 								to_char(s.施釉擦坯缺陷_施釉缺陷_色脏) AS 施釉擦坯缺陷_施釉缺陷_色脏,
 
 								f.施釉擦坯缺陷_施釉缺陷_缺陷汇总,
-								DECODE( NVL( f.施釉擦坯缺陷_施釉缺陷_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.施釉擦坯缺陷_施釉缺陷_缺陷汇总, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) 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(s.施釉擦坯缺陷_擦坯缺陷_灌釉不良) AS 施釉擦坯缺陷_擦坯缺陷_灌釉不良,
 							to_char(s.施釉擦坯缺陷_擦坯缺陷_擦脏) AS 施釉擦坯缺陷_擦坯缺陷_擦脏,
 							to_char(s.施釉擦坯缺陷_擦坯缺陷_崩标) AS 施釉擦坯缺陷_擦坯缺陷_崩标,
@@ -352,7 +353,7 @@ SUM( CASE WHEN df.DEFECTCODE IN ( '0100' ) THEN 1 ELSE 0 END ) AS 其他_梭式
 							to_char(s.施釉擦坯缺陷_擦坯缺陷_碱石) AS 施釉擦坯缺陷_擦坯缺陷_碱石,
 
 								f.施釉擦坯缺陷_擦坯缺陷_缺陷汇总,
-								DECODE( NVL( f.施釉擦坯缺陷_擦坯缺陷_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.施釉擦坯缺陷_擦坯缺陷_缺陷汇总, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) 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(s.烧成缺陷_装窑缺陷_落脏) AS 烧成缺陷_装窑缺陷_落脏,
 								to_char(s.烧成缺陷_装窑缺陷_装沾) AS 烧成缺陷_装窑缺陷_装沾,
 								to_char(s.烧成缺陷_装窑缺陷_装磕) AS 烧成缺陷_装窑缺陷_装磕,
@@ -362,7 +363,7 @@ SUM( CASE WHEN df.DEFECTCODE IN ( '0100' ) THEN 1 ELSE 0 END ) AS 其他_梭式
 								to_char(s.烧成缺陷_装窑缺陷_缺釉) AS 烧成缺陷_装窑缺陷_缺釉,
 
 								f.烧成缺陷_装窑缺陷_缺陷汇总,
-								DECODE( NVL( f.烧成缺陷_装窑缺陷_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.烧成缺陷_装窑缺陷_缺陷汇总, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) 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(s.烧成缺陷_烧窑缺陷_水滴) AS 烧成缺陷_烧窑缺陷_水滴,
 								to_char(s.烧成缺陷_烧窑缺陷_窑脏) AS 烧成缺陷_烧窑缺陷_窑脏,
 								to_char(s.烧成缺陷_烧窑缺陷_烧裂) AS 烧成缺陷_烧窑缺陷_烧裂,
@@ -376,168 +377,168 @@ SUM( CASE WHEN df.DEFECTCODE IN ( '0100' ) THEN 1 ELSE 0 END ) AS 其他_梭式
 								to_char(s.烧成缺陷_烧窑缺陷_火燎) AS 烧成缺陷_烧窑缺陷_火燎,
 								to_char(s.烧成缺陷_烧窑缺陷_烧走) AS 烧成缺陷_烧窑缺陷_烧走,
 								f.烧成缺陷_烧窑缺陷_缺陷汇总,
-								DECODE( NVL( f.烧成缺陷_烧窑缺陷_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.烧成缺陷_烧窑缺陷_缺陷汇总, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) 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(s.烧成缺陷_出窑缺陷_磕碰)AS 烧成缺陷_出窑缺陷_磕碰,
 								TO_CHAR(s.烧成缺陷_出窑缺陷_划釉)AS 烧成缺陷_出窑缺陷_划釉,
 								f.烧成缺陷_出窑缺陷_缺陷汇总,
-								DECODE( NVL( f.烧成缺陷_出窑缺陷_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.烧成缺陷_出窑缺陷_缺陷汇总, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) 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(s.原料缺陷_泥料缺陷_铜脏) AS 原料缺陷_泥料缺陷_铜脏,
 								TO_CHAR(s.原料缺陷_泥料缺陷_料脏) AS 原料缺陷_泥料缺陷_料脏,
 								TO_CHAR(s.原料缺陷_釉料缺陷_铜脏) AS 原料缺陷_釉料缺陷_铜脏, 
 								TO_CHAR(s.原料缺陷_釉料缺陷_铁脏) AS 原料缺陷_釉料缺陷_铁脏,
 								f.原料缺陷_缺陷汇总 AS 原料缺陷__缺陷汇总,
-								DECODE( NVL( f.原料缺陷_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.原料缺陷_缺陷汇总, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) 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(s.其他_隧道窑其他蹦脏) AS 其他__隧道窑其他蹦脏,
 								to_char(s.其他_隧道窑其他试验不良) AS 其他__隧道窑其他试验不良,
 								to_char(s.其他_梭式窑其他蹦脏) AS 其他__梭式窑其他蹦脏,
 								to_char(s.其他_梭式窑其他试验不良) AS 其他__梭式窑其他试验不良,
 								f.其他_缺陷汇总 AS 其他__缺陷汇总,
-								DECODE( NVL( f.其他_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.其他_缺陷汇总, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 其他__缺陷率
-
-								FROM  产品汇总缺陷 f
-								LEFT JOIN  产品明细缺陷  s ON f.GOODSCODE=s.GOODSCODE
-								LEFT JOIN 	检验数  t on t.GOODSCODE=s.GOODSCODE
-								WHERE f.GOODSCODE<>'总计'
-								UNION ALL
+								DECODE( NVL( f.其他_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.其他_缺陷汇总, 0 ) / DECODE( NVL( 检验数.检验量, 1 ), 0, 1, NVL( 检验数.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 其他__缺陷率
+								FROM 检验数
+									LEFT JOIN 产品 ON 检验数.GOODSCODE=产品.GOODSCODE
+									LEFT JOIN  产品明细缺陷  s ON 产品.GOODSCODE=s.GOODSCODE
+									LEFT JOIN 产品汇总缺陷 f ON f.GOODSCODE=产品.GOODSCODE 
+									WHERE 检验数.GOODSCODE<>'总计'
+											UNION ALL
 									SELECT
-								f.GOODSCODE AS 产品编码,
-								f.GOODSNAME AS 产品名称,
-								f.GOODSSPECIFICATION AS 产品规格,
-								t.检验量,
-								t.合格量,
-								t.残品,
-								DECODE( NVL( t.合格量, 0 ), 0, '0%', TO_CHAR( ( NVL( t.合格量, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 合格率,
-								DECODE( NVL( s.成型半检缺陷_坯脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_坯脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_棕眼, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_棕眼, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_裂底, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_裂底, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_裂圈, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_裂圈, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_裂鼻子, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_裂鼻子, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_裂水道, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_裂水道, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_裂管, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_裂管, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_沾接裂, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_沾接裂, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_裂眼, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_裂眼, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_糙活, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_糙活, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_板折, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_板折, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_变形, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_变形, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_渣, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_渣, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_管道渣, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_管道渣, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_孔眼不良, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_孔眼不良, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_堵眼, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_堵眼, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_眼歪, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_眼歪, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_丢气孔, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_丢气孔, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_丢眼, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_丢眼, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_坯磕, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_坯磕, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_漏气, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_漏气, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_空泡, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_空泡, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_水封不良, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_水封不良, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_漏水, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_漏水, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_卡球, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_卡球, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_冲刷不好, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_冲刷不好, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_泥埂, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_泥埂, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_断浆迹, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_断浆迹, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_模迹, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_模迹, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_重皮, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_重皮, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_气泡, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_气泡, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_眼扁, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_眼扁, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_水绺, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_水绺, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.成型半检缺陷_裂, 0 ), 0, '0%', TO_CHAR( ( NVL( s.成型半检缺陷_裂, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+								检验数.GOODSCODE,
+								检验数.GOODSNAME,
+								产品.GOODSSPECIFICATION,
+								检验数.检验量,
+								检验数.合格量,
+								检验数.残品,
+								DECODE( NVL( 检验数.合格量, 0 ), 0, '0%', TO_CHAR( ( NVL( 检验数.合格量, 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' ) || '%' ),
+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' ) || '%' ),
+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' ) || '%' ),
+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' ) || '%' ),
+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' ) || '%' ),
+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' ) || '%' ),
+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' ) || '%' ),
+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' ) || '%' ),
+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( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 成型半检缺陷__缺陷率,
-DECODE( NVL( s.精修缺陷_打磨缺陷_糙活, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_打磨缺陷_糙活, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_打磨缺陷_变形, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_打磨缺陷_变形, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_打磨缺陷_渣, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_打磨缺陷_渣, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_打磨缺陷_管道渣, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_打磨缺陷_管道渣, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_打磨缺陷_孔眼不良, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_打磨缺陷_孔眼不良, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_打磨缺陷_睹眼, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_打磨缺陷_睹眼, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_打磨缺陷_眼歪, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_打磨缺陷_眼歪, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_打磨缺陷_丢气孔, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_打磨缺陷_丢气孔, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_打磨缺陷_丢眼, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_打磨缺陷_丢眼, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_打磨缺陷_坯磕, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_打磨缺陷_坯磕, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+								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' ) || '%' ),
+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' ) || '%' ),
+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( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 精修缺陷_打磨缺陷_缺陷率,
-DECODE( NVL( s.精修缺陷_刷洗缺陷_坯脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_刷洗缺陷_坯脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_刷洗缺陷_棕眼, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_刷洗缺陷_棕眼, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_刷洗缺陷_裂底, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_刷洗缺陷_裂底, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_刷洗缺陷_裂圈, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_刷洗缺陷_裂圈, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_刷洗缺陷_裂鼻子, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_刷洗缺陷_裂鼻子, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_刷洗缺陷_裂水道, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_刷洗缺陷_裂水道, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_刷洗缺陷_裂管, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_刷洗缺陷_裂管, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_刷洗缺陷_沾接裂, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_刷洗缺陷_沾接裂, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_刷洗缺陷_裂眼, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_刷洗缺陷_裂眼, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_刷洗缺陷_糙活, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_刷洗缺陷_糙活, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_刷洗缺陷_卡球, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_刷洗缺陷_卡球, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.精修缺陷_刷洗缺陷_裂, 0 ), 0, '0%', TO_CHAR( ( NVL( s.精修缺陷_刷洗缺陷_裂, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+								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' ) || '%' ),
+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' ) || '%' ),
+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( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 精修缺陷_刷洗缺陷_缺陷率,
-DECODE( NVL( s.施釉擦坯缺陷_施釉缺陷_滚釉, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_施釉缺陷_滚釉, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_施釉缺陷_釉薄, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_施釉缺陷_釉薄, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_施釉缺陷_釉不匀, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_施釉缺陷_釉不匀, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_施釉缺陷_釉磕, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_施釉缺陷_釉磕, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_施釉缺陷_釉脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_施釉缺陷_釉脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_施釉缺陷_釉沾, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_施釉缺陷_釉沾, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_施釉缺陷_釉绺, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_施釉缺陷_釉绺, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_施釉缺陷_针孔, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_施釉缺陷_针孔, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_施釉缺陷_色脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_施釉缺陷_色脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+								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' ) || '%' ),
+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' ) || '%' ),
+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( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 施釉擦坯缺陷_施釉缺陷_缺陷率,
-DECODE( NVL( s.施釉擦坯缺陷_擦坯缺陷_灌釉不良, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_擦坯缺陷_灌釉不良, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_擦坯缺陷_擦脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_擦坯缺陷_擦脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_擦坯缺陷_崩标, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_擦坯缺陷_崩标, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_擦坯缺陷_倒标, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_擦坯缺陷_倒标, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_擦坯缺陷_标污, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_擦坯缺陷_标污, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_擦坯缺陷_错标, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_擦坯缺陷_错标, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_擦坯缺陷_丢标, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_擦坯缺陷_丢标, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_擦坯缺陷_标错位, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_擦坯缺陷_标错位, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_擦坯缺陷_未灌釉, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_擦坯缺陷_未灌釉, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_擦坯缺陷_灌磕, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_擦坯缺陷_灌磕, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_擦坯缺陷_坯磕, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_擦坯缺陷_坯磕, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.施釉擦坯缺陷_擦坯缺陷_碱石, 0 ), 0, '0%', TO_CHAR( ( NVL( s.施釉擦坯缺陷_擦坯缺陷_碱石, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+								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' ) || '%' ),
+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' ) || '%' ),
+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( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 施釉擦坯缺陷_擦坯缺陷_缺陷率,
-DECODE( NVL( s.烧成缺陷_装窑缺陷_落脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_装窑缺陷_落脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_装窑缺陷_装沾, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_装窑缺陷_装沾, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_装窑缺陷_装磕, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_装窑缺陷_装磕, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_装窑缺陷_装裂, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_装窑缺陷_装裂, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_装窑缺陷_装走, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_装窑缺陷_装走, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_装窑缺陷_装脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_装窑缺陷_装脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_装窑缺陷_缺釉, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_装窑缺陷_缺釉, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+								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' ) || '%' ),
+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( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 烧成缺陷_装窑缺陷_缺陷率,
-DECODE( NVL( s.烧成缺陷_烧窑缺陷_水滴, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_烧窑缺陷_水滴, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_烧窑缺陷_窑脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_烧窑缺陷_窑脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_烧窑缺陷_烧裂, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_烧窑缺陷_烧裂, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_烧窑缺陷_针孔, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_烧窑缺陷_针孔, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_烧窑缺陷_风惊, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_烧窑缺陷_风惊, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_烧窑缺陷_烧生, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_烧窑缺陷_烧生, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_烧窑缺陷_串烟, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_烧窑缺陷_串烟, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_烧窑缺陷_烧坑, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_烧窑缺陷_烧坑, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_烧窑缺陷_桔釉, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_烧窑缺陷_桔釉, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_烧窑缺陷_过火, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_烧窑缺陷_过火, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_烧窑缺陷_火燎, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_烧窑缺陷_火燎, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_烧窑缺陷_烧走, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_烧窑缺陷_烧走, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+								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' ) || '%' ),
+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' ) || '%' ),
+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( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 烧成缺陷_烧窑缺陷_缺陷率,
-DECODE( NVL( s.烧成缺陷_出窑缺陷_磕碰, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_出窑缺陷_磕碰, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.烧成缺陷_出窑缺陷_划釉, 0 ), 0, '0%', TO_CHAR( ( NVL( s.烧成缺陷_出窑缺陷_划釉, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+								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' ) || '%' ),
 f.烧成缺陷_出窑缺陷_缺陷汇总,
-								DECODE( NVL( f.烧成缺陷_出窑缺陷_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.烧成缺陷_出窑缺陷_缺陷汇总, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 烧成缺陷_出窑缺陷_缺陷率,
-DECODE( NVL( s.原料缺陷_泥料缺陷_铜脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.原料缺陷_泥料缺陷_铜脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.原料缺陷_泥料缺陷_料脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.原料缺陷_泥料缺陷_料脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.原料缺陷_釉料缺陷_铜脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.原料缺陷_釉料缺陷_铜脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.原料缺陷_釉料缺陷_铁脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.原料缺陷_釉料缺陷_铁脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+								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.原料缺陷_缺陷汇总 AS 原料缺陷__缺陷汇总,
-								DECODE( NVL( f.原料缺陷_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.原料缺陷_缺陷汇总, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 原料缺陷__缺陷率,
-DECODE( NVL( s.其他_隧道窑其他蹦脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.其他_隧道窑其他蹦脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.其他_隧道窑其他试验不良, 0 ), 0, '0%', TO_CHAR( ( NVL( s.其他_隧道窑其他试验不良, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.其他_梭式窑其他蹦脏, 0 ), 0, '0%', TO_CHAR( ( NVL( s.其他_梭式窑其他蹦脏, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
-DECODE( NVL( s.其他_梭式窑其他试验不良, 0 ), 0, '0%', TO_CHAR( ( NVL( s.其他_梭式窑其他试验不良, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ),
+								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.其他_缺陷汇总 AS 其他_缺陷汇总,
-								DECODE( NVL( f.其他_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.其他_缺陷汇总, 0 ) / DECODE( NVL( t.检验量, 1 ), 0, 1, NVL( t.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 其他_缺陷率
-
-								FROM  产品汇总缺陷 f
-								LEFT JOIN  产品明细缺陷  s ON f.GOODSCODE=s.GOODSCODE
-								LEFT JOIN 	检验数  t on t.GOODSCODE=s.GOODSCODE
-								WHERE f.GOODSCODE='总计'";
+								DECODE( NVL( f.其他_缺陷汇总, 0 ), 0, '0%', TO_CHAR( ( NVL( f.其他_缺陷汇总, 0 ) / DECODE( NVL( 检验数.检验量, 1 ), 0, 1, NVL( 检验数.检验量, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 其他_缺陷率
+							FROM 检验数
+									LEFT JOIN 产品 ON 检验数.GOODSCODE=产品.GOODSCODE
+									LEFT JOIN  产品明细缺陷  s ON 产品.GOODSCODE=s.GOODSCODE
+									LEFT JOIN 产品汇总缺陷 f ON f.GOODSCODE=产品.GOODSCODE 
+								WHERE 检验数.GOODSCODE='总计'";
             }
             //获取查询条件
             List<CDAParameter> sqlPara = new List<CDAParameter>();

+ 1 - 1
wwwroot/mes/rpt/rpt305/rpt.ashx

@@ -68,7 +68,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                                 pd.PROCEDUREID AS  PROCEDUREID
                                                 FROM
                                                 TP_PM_PRODUCTIONDATA pd
-                                                LEFT JOIN TP_PM_DEFECT df ON DF.PRODUCTIONDATAID=PD.PRODUCTIONDATAID AND DF.VALUEFLAG=1
+                                                LEFT JOIN TP_PM_DEFECT df ON DF.PRODUCTIONDATAID=PD.PRODUCTIONDATAID AND DF.VALUEFLAG=1 
                                                 LEFT JOIN TP_MST_DEFECT DEFECT ON DEFECT.DEFECTID=DF.DEFECTID AND DEFECT.VALUEFLAG=1
                                                 LEFT JOIN TP_MST_GOODS good on good.GOODSID=PD.GOODSID
                                                 LEFT JOIN TP_MST_LOGO logo ON logo.LOGOID=pd.LOGOID