Explorar el Código

缺陷算法修改

张忠帅 hace 1 año
padre
commit
c2ae2ebf2e

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

@@ -180,7 +180,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                             //存在值 按第二下拉框值 进行条件筛选
                             if (context.Request["linesection"].ToString() == "高压")
                             {
-                                sqlStr += " AND GL.HIGHPRESSUREFLAG =1 ";
+                                sqlStr += " AND GDL.HIGHPRESSUREFLAG =1 ";
                             }
                             else
                             {
@@ -194,7 +194,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                     else {
                         if (context.Request["linecodeMaster"].ToString() == "高压")
                         {
-                            sqlStr +=   "  AND GL.HIGHPRESSUREFLAG =1 ";
+                            sqlStr +=   "  AND GDL.HIGHPRESSUREFLAG =1 ";
                         }
                         else {
                             sqlStr +=   "  AND GDL.GROUTINGLINECODE LIKE '%"+context.Request["linecodeMaster"] + "%' ";

+ 30 - 27
wwwroot/mes/rpt/rpt202/rpt.ashx

@@ -24,36 +24,38 @@ 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 defect = "";
-				DataTable dt = conn.ExecuteDatatable(@"SELECT
-								DISTINCT MDF.DEFECTCODE AS DC,
-	                            'CASE WHEN GD.GOODSNAME IS NULL 
+				 DateTime dateBegin = Convert.ToDateTime(context.Request["datebeginMaster"]);
+                DateTime dateEnd = Convert.ToDateTime(context.Request["dateendMaster"]);
+                string defect = "";
+
+                DataTable dt = conn.ExecuteDatatable(@"SELECT DISTINCT
+	                            MDF.DEFECTID,
+	                            'CASE WHEN gd.GOODSNAME IS NULL 
                                   THEN
-	                                TO_CHAR(  ( SUM( CASE WHEN DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN 1 ELSE 0 END ) / COUNT( DISTINCT PD.BARCODE ) * 100 ), ''fm99990.00'' ) || ''%''
+	                                TO_CHAR( ( COUNT( DISTINCT  CASE WHEN   DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN to_char(pd.BARCODE||DF.DEFECTCODE ) ELSE NULL 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,
+                                   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 ) ) END
+' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
                             FROM
-	                            TP_MST_INHERITANCEDEFECTS MDF 
+	                            TP_MST_DEFECT MDF 
                             WHERE
-	                            DEFECTPROCEDUREID=3  and MDF.DEFECTCODE NOT IN ('1','2','3','001','002')  ORDER BY  MDF.DEFECTCODE
-	                            ");
-				for (int i = 0; i < dt.Rows.Count; i++)
-				{
-					if (i > 0) defect += ",";
-					defect += dt.Rows[i]["DEFECTCODE"].ToString() + " " + dt.Rows[i]["DEFECTNAME"].ToString();
-				}
-			string sumdefect = "";
-              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.DEFECTTYPEID = 1 
+	                            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();
+                }
+                string sumdefect = "";
+                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 
                             FROM
-	                            TP_MST_INHERITANCEDEFECTS MDF 
+	                            TP_MST_DEFECT MDF 
                             WHERE
-	                            DEFECTPROCEDUREID=3 and MDF.DEFECTCODE NOT IN ('1','2','3','001','002')  ORDER BY  MDF.DEFECTCODE ");
+	                            MDF.DEFECTTYPEID = 1 
+	                            AND MDF.VALUEFLAG = 1 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();
@@ -73,12 +75,12 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                     {DEFECT}
                                 FROM
 	                            TP_PM_PRODUCTIONDATA PD
-
+								INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=PD.BARCODE AND PDC.PROCEDUREID IN (	40,6,31) AND PDC.VALUEFLAG=1		
                                 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  AND DF.VALUEFLAG=1
-                                LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTTYPEID =1
+                                LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.VALUEFLAG=1
+                                LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND  MDF.DEFECTTYPEID = 1 
                                 WHERE
 	                                PD.PROCEDUREID IN ( 16) 
 	                                AND PD.CREATETIME >= @DATEBEGIN@
@@ -105,13 +107,14 @@ public class rpt : IHttpHandler, IReadOnlySessionState
     
 												 FROM
 												     TP_PM_PRODUCTIONDATA PD
+												INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=PD.BARCODE AND PDC.PROCEDUREID IN (	40,6,31)AND PDC.VALUEFLAG=1
 												 LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE=PD.BARCODE
 												 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_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND MDF.DEFECTTYPEID =1
+												 LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE 
+												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND  MDF.DEFECTTYPEID = 1 
 												 WHERE
 												     PD.PROCEDUREID IN ( 16) 
 												      AND PD.CREATETIME >= @DATEBEGIN@

+ 9 - 10
wwwroot/mes/rpt/rpt203/rpt.ashx

@@ -28,11 +28,12 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				string defect = "";
 				DataTable dt = conn.ExecuteDatatable(@"SELECT
 	                         DISTINCT MDF.DEFECTCODE AS DC,
-	                            'CASE WHEN GD.GOODSNAME IS NULL 
+	                            'CASE WHEN gd.GOODSNAME IS NULL 
                                   THEN
-	                                TO_CHAR(  ( SUM( CASE WHEN DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN 1 ELSE 0 END ) / COUNT( DISTINCT PD.BARCODE ) * 100 ), ''fm99990.00'' ) || ''%''
+	                                TO_CHAR( ( COUNT( DISTINCT  CASE WHEN   DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN to_char(pd.BARCODE||DF.DEFECTCODE ) ELSE NULL 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,
+                                   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 ) ) END
+' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
                             FROM
 	                            TP_MST_INHERITANCEDEFECTS MDF 
@@ -47,7 +48,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 			string sumdefect = "";
               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,
+	                           '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 
                             FROM
 	                            TP_MST_INHERITANCEDEFECTS MDF 
@@ -77,9 +78,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  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  )
+												LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.VALUEFLAG=1
+												LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE IN ('10', '12', '13', '14', '15', '16', '17', '18', '19', '20' )
 												LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 												LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID AND STF.JOBS=3
                                 WHERE PD.PROCEDUREID IN (16)  
@@ -112,9 +112,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  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  )
+												LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.VALUEFLAG=1
+												LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE IN ('10', '12', '13', '14', '15', '16', '17', '18', '19', '20'  )
 												LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 												LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID AND STF.JOBS=3
 												 WHERE

+ 9 - 16
wwwroot/mes/rpt/rpt204/rpt.ashx

@@ -29,11 +29,12 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				string defect = "";
 				DataTable dt = conn.ExecuteDatatable(@"SELECT
 	                         DISTINCT MDF.DEFECTCODE AS DC,
-	                            'CASE WHEN GD.GOODSNAME IS NULL 
+	                             'CASE WHEN gd.GOODSNAME IS NULL 
                                   THEN
-	                                TO_CHAR(  ( SUM( CASE WHEN DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN 1 ELSE 0 END ) / COUNT( DISTINCT PD.BARCODE ) * 100 ), ''fm99990.00'' ) || ''%''
+	                                TO_CHAR( ( COUNT( DISTINCT  CASE WHEN   DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN to_char(pd.BARCODE||DF.DEFECTCODE ) ELSE NULL 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,
+                                   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 ) ) END
+' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
                             FROM
 	                            TP_MST_INHERITANCEDEFECTS MDF 
@@ -48,7 +49,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				string sumdefect = "";
               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,
+	                           '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 
                             FROM
 	                            TP_MST_INHERITANCEDEFECTS MDF 
@@ -67,7 +68,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  df.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) 缺陷量,
+									TO_CHAR(COUNT( DISTINCT  CASE WHEN  df.DEFECTCODE IN (  '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) 缺陷量,
 	                                TO_CHAR( (COUNT( DISTINCT  CASE WHEN  df.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )/COUNT(DISTINCT PD.BARCODE) * 100), 'fm99990.00') || '%' 缺陷率,
                                     {DEFECT}
                                 FROM
@@ -78,12 +79,8 @@ 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.BARCODE = DF.BARCODE  AND DF.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 (4) )  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_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34' )  AND DF.VALUEFLAG=1
+													INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (5,36,52) 
 												LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 												LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID and STF.JOBS=4
                                 WHERE
@@ -118,11 +115,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.BARCODE = DF.BARCODE  AND DF.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 (4) )  AND DF.VALUEFLAG=1
+                                        		LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34' )  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 and STF.JOBS=4

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

@@ -29,11 +29,12 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				string defect = "";
 				DataTable dt = conn.ExecuteDatatable(@"SELECT
 	                            DISTINCT MDF.DEFECTCODE AS DFCODE,
-	                            'CASE WHEN GD.GOODSNAME IS NULL 
+	                            'CASE WHEN gd.GOODSNAME IS NULL 
                                   THEN
-	                                TO_CHAR(  ( SUM( CASE WHEN DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN 1 ELSE 0 END ) / COUNT( DISTINCT PD.BARCODE ) * 100 ), ''fm99990.00'' ) || ''%''
+	                                TO_CHAR( ( COUNT( DISTINCT  CASE WHEN   DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN to_char(pd.BARCODE||DF.DEFECTCODE ) ELSE NULL 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,
+                                   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 ) ) END
+' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
                              	FROM TP_MST_DEFECT MDF
 															where DEFECTTYPEID=4  ORDER BY  MDF.DEFECTCODE

+ 7 - 6
wwwroot/mes/rpt/rpt206/rpt.ashx

@@ -30,11 +30,12 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				string defect = "";
 				DataTable dt = conn.ExecuteDatatable(@"SELECT 
 																	DISTINCT MDF.DEFECTCODE AS DC,
-                                                                  'CASE WHEN GD.GOODSNAME IS NULL 
-                                                                                                  THEN
-	                                                                                                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,
+                                                                 'CASE WHEN gd.GOODSNAME IS NULL 
+                                  THEN
+	                                TO_CHAR( ( COUNT( DISTINCT  CASE WHEN   DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN to_char(pd.BARCODE||DF.DEFECTCODE ) ELSE NULL END ) / COUNT( DISTINCT PD.BARCODE ) * 100 ), ''fm99990.00'' ) || ''%''
+	                              ELSE
+                                   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 ) ) END
+' AS DEFECTCODE,
 	                                                                                            MDF.DEFECTNAME  	
 															FROM TP_MST_DEFECT MDF
 															where DEFECTTYPEID=5 or  MDF.DEFECTCODE='20' ORDER BY  MDF.DEFECTCODE
@@ -46,7 +47,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				}
 					string sumdefect = "";
               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,
+                                                       '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 
 												FROM TP_MST_DEFECT MDF
 															where DEFECTTYPEID=5 or  MDF.DEFECTCODE='20' ORDER BY  MDF.DEFECTCODE");

+ 8 - 7
wwwroot/mes/rpt/rpt207/rpt.ashx

@@ -29,11 +29,12 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				string defect = "";
 				DataTable dt = conn.ExecuteDatatable(@"SELECT
 	                         DISTINCT MDF.DEFECTCODE AS DC,
-	                            'CASE WHEN GD.GOODSNAME IS NULL 
+	                            'CASE WHEN gd.GOODSNAME IS NULL 
                                   THEN
-	                                TO_CHAR(  ( SUM( CASE WHEN DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN 1 ELSE 0 END ) / COUNT( DISTINCT PD.BARCODE ) * 100 ), ''fm99990.00'' ) || ''%''
+	                                TO_CHAR( ( COUNT( DISTINCT  CASE WHEN   DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN to_char(pd.BARCODE||DF.DEFECTCODE ) ELSE NULL 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,
+                                   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 ) ) END
+' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
                           FROM TP_MST_DEFECT MDF
 															where DEFECTTYPEID=6 ORDER BY  MDF.DEFECTCODE
@@ -45,7 +46,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				}
 			string sumdefect = "";
               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,
+                                                        '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 
 													 
 	                          FROM TP_MST_DEFECT MDF
@@ -73,8 +74,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.DEFECTID = MDF.DEFECTID AND MDF.DEFECTTYPEID =6
+                                LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE 
+                                LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE IN('61','62','63','64','65','66','67') AND DF.VALUEFLAG=1
                                 WHERE
 	                                PD.PROCEDUREID IN ( 16) 
 	                                AND PD.CREATETIME >= @DATEBEGIN@
@@ -107,7 +108,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   AND DF.VALUEFLAG=1
-												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND MDF.DEFECTTYPEID =6
+												 LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTCODE = MDF.DEFECTCODE AND MDF.DEFECTCODE IN('61','62','63','64','65','66','67')
 												 WHERE
 												     PD.PROCEDUREID IN ( 16) 
 												      AND PD.CREATETIME >= @DATEBEGIN@

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

@@ -30,11 +30,12 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				string defect = "";
 				DataTable dt = conn.ExecuteDatatable(@"SELECT
 	                            DISTINCT MDF.DEFECTCODE AS DC,
-	                            'CASE WHEN GD.GOODSNAME IS NULL 
+	                            'CASE WHEN gd.GOODSNAME IS NULL 
                                   THEN
-	                                TO_CHAR(  ( SUM( CASE WHEN DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN 1 ELSE 0 END ) / COUNT( DISTINCT PD.BARCODE ) * 100 ), ''fm99990.00'' ) || ''%''
+	                                TO_CHAR( ( COUNT( DISTINCT  CASE WHEN   DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN to_char(pd.BARCODE||DF.DEFECTCODE ) ELSE NULL 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,
+                                   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 ) ) END
+' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
                             FROM TP_MST_DEFECT MDF
 															where MDF.VALUEFLAG=1 AND(DEFECTTYPEID=7 or  MDF.DEFECTCODE=43) ORDER BY  MDF.DEFECTCODE
@@ -46,7 +47,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				}
 			string sumdefect = "";
               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,
+                                                        '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 
 	                         FROM TP_MST_DEFECT MDF
 															where MDF.VALUEFLAG=1 AND(DEFECTTYPEID=7 or  MDF.DEFECTCODE=43) ORDER BY  MDF.DEFECTCODE");

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

@@ -30,11 +30,12 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				string defect = "";
 				DataTable dt = conn.ExecuteDatatable(@"SELECT
 	                            DISTINCT MDF.DEFECTCODE AS DC,
-	                            'CASE WHEN GD.GOODSNAME IS NULL 
+	                             'CASE WHEN gd.GOODSNAME IS NULL 
                                   THEN
-	                                TO_CHAR(  ( SUM( CASE WHEN DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN 1 ELSE 0 END ) / COUNT( DISTINCT PD.BARCODE ) * 100 ), ''fm99990.00'' ) || ''%''
+	                                TO_CHAR( ( COUNT( DISTINCT  CASE WHEN   DF.DEFECTCODE = '''||MDF.DEFECTCODE||''' THEN to_char(pd.BARCODE||DF.DEFECTCODE ) ELSE NULL 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,
+                                   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 ) ) END
+' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
                             FROM
 	                            TP_MST_DEFECT MDF 
@@ -47,7 +48,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				}
 				string sumdefect = "";
               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,
+                                                        '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 
                             FROM
 	                            TP_MST_DEFECT MDF 

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

@@ -36,9 +36,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                                TO_CHAR(GD.GOODSSPECIFICATION) AS 产品规格,
 	                                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 TO_CHAR(DF.BARCODE||MDF.DEFECTCODE) ELSE NULL END ))缺陷量,
 	                                TO_CHAR( (COUNT( DISTINCT CASE WHEN 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 DF.BARCODE)/COUNT(DISTINCT PD.BARCODE) * 100), 'fm99990.00') || '%' 缺陷率,
                             CASE WHEN GD.GOODSNAME IS NULL THEN
 									TO_CHAR( ( SUM( CASE WHEN DF.DEFECTCODE = '87' THEN 1 ELSE 0 END ) / COUNT( DISTINCT PD.BARCODE ) * 100 ),'fm99990.00' ) || '%' 
 										ELSE TO_CHAR( SUM( CASE WHEN DF.DEFECTCODE = '87' THEN 1 ELSE 0 END ) ) END 原料泥料料脏,

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

@@ -106,7 +106,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                             //存在值 按第二下拉框值 进行条件筛选
                         if (context.Request["linesection"].ToString() == "高压")
                         {
-                            sqlStr += " AND GL.HIGHPRESSUREFLAG =1 ";
+                            sqlStr += " AND gl.HIGHPRESSUREFLAG =1 ";
                         }
                         else
                         {
@@ -118,7 +118,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                     else { 
                            if (context.Request["linecodeMaster"].ToString() == "高压")
                     {
-                        sqlStr +=   " AND GL.HIGHPRESSUREFLAG =1 ";
+                        sqlStr +=   " AND gl.HIGHPRESSUREFLAG =1 ";
                     }
                     else {
                         sqlStr +=   " AND GDL.GROUTINGLINECODE LIKE '%"+context.Request["linecodeMaster"] + "%' ";

+ 2 - 3
wwwroot/mes/rpt/rpt212/rpt.ashx

@@ -82,9 +82,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  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  )
+												LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.VALUEFLAG=1
+												LEFT JOIN TP_MST_DEFECT MDF ON DF.DEFECTID = MDF.DEFECTID AND MDF.DEFECTCODE IN ('10', '12', '13', '14', '15', '16', '17', '18', '19', '20'  )
 												LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 												LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID AND STF.JOBS IN(3,5)
                                         WHERE

+ 11 - 16
wwwroot/mes/rpt/rpt213/rpt.ashx

@@ -27,11 +27,11 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				DateTime dateEnd = Convert.ToDateTime(context.Request["dateendMaster"]);
 				string defect = "";
 				DataTable dt = conn.ExecuteDatatable(@"		SELECT
-													 DISTINCT MDF.DEFECTCODE AS DC,		 MDF.DEFECTID,
-	                            'CASE WHEN GROUPING_ID(基础数据.工号,基础数据.姓名,部门.部门,基础数据.产品名称,基础数据.产品规格,基础数据.釉色,基础数据.商标)=127 
-															THEN  TO_CHAR(  ( SUM( CASE WHEN 基础数据.缺陷ID = '''||MDF.DEFECTID||''' THEN 1 ELSE 0 END ) / COUNT(DISTINCT 出窑条码) * 100 ), ''fm99990.00'' ) || ''%''
+												 DISTINCT MDF.DEFECTCODE AS DC,			 MDF.DEFECTID,
+	                            'CASE WHEN GROUPING_ID(基础数据.工号,基础数据.姓名,基础数据.产品名称,基础数据.产品规格,基础数据.釉色,基础数据.商标)=126 
+															THEN  	TO_CHAR(( COUNT( DISTINCT  CASE WHEN  缺陷ID IS NOT NULL AND 基础数据.缺陷编码 = '''||MDF.DEFECTCODE||''' THEN to_char(缺陷条码||基础数据.缺陷ID ) ELSE NULL END ) / COUNT(DISTINCT 出窑条码) * 100 ), ''fm99990.00'' ) || ''%''
 	                              ELSE
-                                    TO_CHAR(SUM( CASE WHEN 基础数据.缺陷ID = '''||MDF.DEFECTID||''' THEN 1 ELSE 0 END )) END' AS DEFECTCODE,
+                                    TO_CHAR( COUNT( DISTINCT  CASE WHEN  缺陷ID IS NOT NULL AND 基础数据.缺陷编码 = '''||MDF.DEFECTCODE||''' THEN to_char(缺陷条码||基础数据.缺陷ID ) ELSE NULL END ) ) END' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
 															FROM TP_PC_DEFECTPROCEDUREJOBS JOBS
 															LEFT JOIN  TP_MST_DEFECT MDF  ON mdf.DEFECTID=JOBS.DEFECTID 
@@ -43,7 +43,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				}
 				string sumdefect = "";
               DataTable dts = conn.ExecuteDatatable(@"	SELECT DISTINCT MDF.DEFECTCODE AS DC,		 MDF.DEFECTID,
-	                            'TO_CHAR(SUM( CASE WHEN  基础数据.PROCEDUREID IN (5,36,52) AND  MDF.DEFECTCODE = '''||DEFECTCODE||''' THEN 1 ELSE 0 END ))' AS DEFECTCODE,
+	                            ' TO_CHAR( COUNT( DISTINCT  CASE WHEN  缺陷ID IS NOT NULL AND 基础数据.缺陷编码 = '''||MDF.DEFECTCODE||''' THEN to_char(缺陷条码||基础数据.缺陷ID ) ELSE NULL END ) ) ' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
                            FROM TP_PC_DEFECTPROCEDUREJOBS JOBS
 															LEFT JOIN  TP_MST_DEFECT MDF  ON mdf.DEFECTID=JOBS.DEFECTID 
@@ -71,22 +71,17 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         		PD.BARCODE 出窑条码,
                                         		DF.BARCODE 缺陷条码,
                                         		DF.DEFECTID 缺陷ID,
-											df.DEFECTCODE,
+											df.DEFECTCODE 缺陷编码,
 											PDC.PROCEDUREID
 											FROM
                                         		TP_PM_PRODUCTIONDATA PD
                                         		LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
                                         		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_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.BARCODE = DF.BARCODE  AND DF.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 (4) )  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
+												INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (5,36,52) 
+												LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34' )  AND DF.VALUEFLAG=1
 												LEFT JOIN TP_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
 												LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID and STF.JOBS IN(4,5)
 
@@ -118,8 +113,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 											TO_CHAR(基础数据.釉色)釉色,
 											TO_CHAR(基础数据.商标)商标,
 											TO_CHAR(COUNT(DISTINCT 出窑条码)) 出窑量,
-											TO_CHAR(COUNT( DISTINCT  CASE WHEN 基础数据.PROCEDUREID IN (5,36,52) AND 基础数据.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(基础数据.缺陷条码||基础数据.DEFECTCODE ) ELSE NULL END )) 缺陷量,
-											TO_CHAR( (COUNT( DISTINCT  CASE WHEN 基础数据.PROCEDUREID IN (5,36,52) AND 基础数据.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(基础数据.缺陷条码||基础数据.DEFECTCODE ) ELSE NULL END )/COUNT(DISTINCT 出窑条码) * 100), 'fm99990.00') || '%' 缺陷率,
+											TO_CHAR(COUNT( DISTINCT  CASE WHEN 基础数据.PROCEDUREID IN (5,36,52) AND 基础数据.缺陷编码 IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(基础数据.缺陷条码||基础数据.缺陷编码 ) ELSE NULL END )) 缺陷量,
+											TO_CHAR( (COUNT( DISTINCT  CASE WHEN 基础数据.PROCEDUREID IN (5,36,52) AND 基础数据.缺陷编码 IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(基础数据.缺陷条码||基础数据.缺陷编码 ) ELSE NULL END )/COUNT(DISTINCT 出窑条码) * 100), 'fm99990.00') || '%' 缺陷率,
 											{DEFECT}
 											FROM 基础数据
 											LEFT JOIN 部门 ON 部门.GROUTINGLINEID=基础数据.GROUTINGLINEID

+ 16 - 22
wwwroot/mes/rpt/rpt214/rpt.ashx

@@ -29,34 +29,27 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 				string defect = "";
 				DataTable dt = conn.ExecuteDatatable(@"	
 							SELECT
-	                          DISTINCT MDF.DEFECTCODE AS DC,  	 MDF.DEFECTID,
-	                            'CASE WHEN GROUPING_ID(基础数据.工号,基础数据.姓名,部门.部门,基础数据.产品名称,基础数据.产品规格,基础数据.釉色,基础数据.商标)=127 
-															THEN  TO_CHAR(  ( SUM( CASE WHEN 基础数据.缺陷ID = '''||MDF.DEFECTID||''' THEN 1 ELSE 0 END )
-																				/ COUNT(DISTINCT 出窑条码) * 100 ), ''fm99990.00'' ) || ''%''
+												 DISTINCT MDF.DEFECTCODE AS DC,			 MDF.DEFECTID,
+	                            'CASE WHEN GROUPING_ID(基础数据.工号,基础数据.姓名,基础数据.产品名称,基础数据.产品规格,基础数据.釉色,基础数据.商标)=126 
+															THEN  	TO_CHAR(( COUNT( DISTINCT  CASE WHEN  缺陷ID IS NOT NULL AND 基础数据.缺陷编码 = '''||MDF.DEFECTCODE||''' THEN to_char(缺陷条码||基础数据.缺陷ID ) ELSE NULL END ) / COUNT(DISTINCT 出窑条码) * 100 ), ''fm99990.00'' ) || ''%''
 	                              ELSE
-                                    TO_CHAR(SUM( CASE WHEN 基础数据.缺陷ID = '''||MDF.DEFECTID||''' THEN 1 ELSE 0 END )) END' AS DEFECTCODE,
+                                    TO_CHAR( COUNT( DISTINCT  CASE WHEN  缺陷ID IS NOT NULL AND 基础数据.缺陷编码 = '''||MDF.DEFECTCODE||''' THEN to_char(缺陷条码||基础数据.缺陷ID ) ELSE NULL END ) ) END' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
-                            FROM
-	                            TP_MST_DEFECT MDF 
-                            WHERE
-	                            MDF.DEFECTTYPEID = 1 
-	                            AND MDF.VALUEFLAG = 1 ORDER BY  MDF.DEFECTID");//半检获取 成型全部缺陷
+															FROM TP_MST_DEFECT MDF
+															where DEFECTTYPEID=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();
 				}
 
-
-				string sumdefect = "";
-              DataTable dts = conn.ExecuteDatatable(@"	SELECT  DISTINCT MDF.DEFECTCODE AS DC,  	 MDF.DEFECTID,
-	                            'TO_CHAR(SUM( CASE WHEN MDF.DEFECTCODE = '''||DEFECTCODE||''' THEN 1 ELSE 0 END ))' AS DEFECTCODE,
+						string sumdefect = "";
+              DataTable dts = conn.ExecuteDatatable(@"SELECT
+	                           DISTINCT MDF.DEFECTCODE AS DC,			 MDF.DEFECTID,
+	                            'TO_CHAR( COUNT( DISTINCT  CASE WHEN  缺陷ID IS NOT NULL AND 基础数据.缺陷编码 = '''||MDF.DEFECTCODE||''' THEN to_char(缺陷条码||基础数据.缺陷ID ) ELSE NULL END ) )' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
-                             FROM
-	                            TP_MST_DEFECT MDF 
-                            WHERE
-	                            MDF.DEFECTTYPEID = 1 
-	                            AND MDF.VALUEFLAG = 1 ORDER BY  MDF.DEFECTID");
+                           	FROM TP_MST_DEFECT MDF
+															where DEFECTTYPEID=1  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();
@@ -77,7 +70,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LG.LOGONAME AS 商标,
                                         	PD.BARCODE 出窑条码,
                                         	DF.BARCODE 缺陷条码,
-                                        	DF.DEFECTID 缺陷ID
+                                        	DF.DEFECTID 缺陷ID,
+											DF.DEFECTCODE 缺陷编码
                                         FROM
                                         	TP_PM_PRODUCTIONDATA PD
                                         	LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
@@ -86,7 +80,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  AND DF.DEFECTID IN (
+                                        	LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.DEFECTID IN (
 												SELECT   DISTINCT  	 MDF.DEFECTID
 																  FROM
 																      TP_MST_DEFECT MDF 
@@ -110,7 +104,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	MD.DICTIONARYVALUE ,
                                         	LG.LOGONAME ,
                                         	PD.BARCODE ,
-                                        	DF.BARCODE ,DF.DEFECTID
+                                        	DF.BARCODE ,DF.DEFECTID,DF.DEFECTCODE
                                         )
                                         SELECT * FROM(
                                         SELECT

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

@@ -91,7 +91,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 											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
-											LEFT JOIN TP_MST_JOBS jobs ON jobs.JOBSID=stf.JOBS
+											LEFT JOIN TP_MST_JOBS jobs ON jobs.JOBSID=CLS.SJOBSID
                                         WHERE
                                         	PD.PROCEDUREID IN (16) AND STF.JOBS=22
                                             AND PD.CREATETIME >= @DATEBEGIN@
@@ -117,7 +117,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         SELECT
                                         GROUPING_ID(基础数据.工号,基础数据.姓名,部门.部门,基础数据.产品名称,基础数据.产品规格,基础数据.釉色,基础数据.商标,基础数据.工序) AS GID,
                                         CASE when GROUPING_ID(基础数据.工号,基础数据.姓名,部门.部门,基础数据.产品名称,基础数据.产品规格,基础数据.釉色,基础数据.商标,基础数据.工序)=254 THEN TO_CHAR(基础数据.工序)
-																				when GROUPING_ID(基础数据.工号,基础数据.姓名,部门.部门,基础数据.产品名称,基础数据.产品规格,基础数据.釉色,基础数据.商标,基础数据.工序)=255 THEN '总计'
+											 when GROUPING_ID(基础数据.工号,基础数据.姓名,部门.部门,基础数据.产品名称,基础数据.产品规格,基础数据.釉色,基础数据.商标,基础数据.工序)=255 THEN '总计'
                                         	 when GROUPING_ID(基础数据.工号,基础数据.姓名,部门.部门,基础数据.产品名称,基础数据.产品规格,基础数据.釉色,基础数据.商标)=31 THEN'小计'ELSE NULL  END AS 统计方式,TO_CHAR(基础数据.工号) AS 工号,
                                        TO_CHAR(基础数据.姓名)姓名,
 										TO_CHAR(基础数据.产品编码)产品编码,

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

@@ -79,10 +79,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.BARCODE = DF.BARCODE  AND DF.DEFECTID IN (
-													SELECT  DISTINCT 		 MDF.DEFECTID
-															FROM TP_MST_DEFECT MDF
-															where DEFECTTYPEID=6 )  AND DF.VALUEFLAG=1
+                                        	LEFT JOIN TP_PM_DEFECT DF ON PD.BARCODE = DF.BARCODE  AND DF.DEFECTCODE IN('61','62','63','64','65','66','67')  AND DF.VALUEFLAG=1
 											INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (	55,13) 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 - 9
wwwroot/mes/rpt/rpt304/rpt.ashx

@@ -62,7 +62,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 									
 									TO_CHAR(COUNT( DISTINCT CASE WHEN df.DEFECTCODE IN ( '98'  ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 研磨_缺陷汇总,									
 									
-									TO_CHAR(COUNT( DISTINCT CASE WHEN df.DEFECTCODE IN ( '99', '100', '099', '0100' ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 其他_缺陷汇总
+									TO_CHAR(COUNT( DISTINCT CASE WHEN df.DEFECTCODE IN ( '99', '100') THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 其他_缺陷汇总
 
 							FROM
 								TP_PM_DEFECT df
@@ -464,10 +464,8 @@ WHERE rownums=1
 								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 其他__缺陷率
+								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 其他_隧道窑其他_缺陷率
 								FROM 检验数
 									LEFT JOIN 产品 ON 检验数.GOODSCODE=产品.GOODSCODE
 									LEFT JOIN  产品明细缺陷  s ON 产品.GOODSCODE=s.GOODSCODE
@@ -610,8 +608,6 @@ f.原料缺陷_缺陷汇总 AS 原料缺陷__缺陷汇总,
 								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( 打磨擦洗出窑数.质量登记, 1 ), 0, 1, NVL( 打磨擦洗出窑数.质量登记, 1 ) ) ) * 100, 'fm99990.00' ) || '%' ) AS 其他_缺陷率
 							FROM 检验数
@@ -756,8 +752,6 @@ 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 其他__缺陷率
 								FROM 检验数 

+ 25 - 35
wwwroot/mes/rpt/rpt305/rpt.ashx

@@ -55,8 +55,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '61','62','63','64','65','66','67') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_装窑,
 									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '69','70','71','43','73','74','75','76','77','78','79','80') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END ))AS 烧成窑缺陷_烧窑,
 									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '83','84')  THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_出窑,
-                                                COUNT(DISTINCT CASE WHEN    DF.DEFECTCODE IN (SELECT DEFECTCODE  FROM TP_MST_DEFECT WHERE DEFECTTYPEID NOT IN(1,4,5,6,7,8)
-                                                AND DF.DEFECTCODE NOT IN('10','12','13','14','15','16','17','18','19','20','01','02','03','04','05','06','07','08','09','10','25','34')) THEN PD.BARCODE ELSE NULL END) 其他缺陷
+                                                COUNT(DISTINCT CASE WHEN  DF.DEFECTCODE IN ('99','100') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 其他缺陷
                                                 FROM(
                                                 SELECT * FROM(
                                                          SELECT
@@ -94,9 +93,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												) )WHERE rownums=1
                                                 ) PD
                                                 LEFT JOIN TP_PM_DEFECT df ON DF.BARCODE=PD.BARCODE AND DF.VALUEFLAG=1
-																								LEFT JOIN TP_MST_DEFECT DEFECT ON DEFECT.DEFECTID=DF.DEFECTID AND DEFECT.VALUEFLAG=1   
-																								INNER JOIN TP_PM_PRODUCTIONDATA PDS ON PDS.BARCODE = PD.BARCODE
-																								 GROUP BY Grouping sets((PD.GOODSCODE ,PD.GOODSNAME ,PD.LOGONAME ,PD.DICTIONARYVALUE,PD.GOODSSPECIFICATION,PD.GOODSTYPENAME),(PD.GOODSTYPENAME),())
+												LEFT JOIN TP_MST_DEFECT DEFECT ON DEFECT.DEFECTID=DF.DEFECTID AND DEFECT.VALUEFLAG=1   
+												INNER JOIN TP_PM_PRODUCTIONDATA PDS ON PDS.BARCODE = PD.BARCODE
+												GROUP BY Grouping sets((PD.GOODSCODE ,PD.GOODSNAME ,PD.LOGONAME ,PD.DICTIONARYVALUE,PD.GOODSSPECIFICATION,PD.GOODSTYPENAME),(PD.GOODSTYPENAME),())
                                                  ),
 													 工序对应出窑量 AS (
 											    SELECT
@@ -221,37 +220,30 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                 {
                            sqlStr = @"  WITH 数据源 AS (SELECT
                                                 CASE WHEN  GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME) =2   THEN '小计'
-																										 WHEN  GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME) =3   THEN '总计'ELSE to_char(PD.GOODSCODE) END AS 产品编码,
-																										GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME) AS GID,
+													WHEN  GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME) =3   THEN '总计'ELSE to_char(PD.GOODSCODE) END AS 产品编码,
+													GROUPING_ID(PD.GOODSCODE,PD.GOODSTYPENAME) AS GID,
                                                 PD.GOODSNAME 产品名称,
                                                 PD.LOGONAME 商标,
                                                 PD.DICTIONARYVALUE 釉色,
                                                 PD.GOODSSPECIFICATION 产品规格,
-																								PD.GOODSTYPENAME 产品类别,
+												PD.GOODSTYPENAME 产品类别,
                                                 COUNT(DISTINCT PD.BARCODE ) as 出窑量_出窑量,
-																							COUNT(DISTINCT CASE WHEN   PD.GOODSLEVELTYPEID IN (4,5) THEN PD.BARCODE ELSE NULL END) AS 出窑量_产量,
+												COUNT(DISTINCT CASE WHEN   PD.GOODSLEVELTYPEID IN (4,5) THEN PD.BARCODE ELSE NULL END) AS 出窑量_产量,
                                                 COUNT(DISTINCT CASE WHEN   PD.GOODSLEVELTYPEID NOT IN (4,5) AND PD.GOODSLEVELTYPEID IS NOT NULL   THEN PD.BARCODE ELSE NULL END) AS 出窑量_残品,
                                                 COUNT(DISTINCT CASE WHEN   DEFECTTYPEID IN (9,10) THEN PD.BARCODE ELSE NULL END) 原料缺陷,
-                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'A') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN PD.BARCODE ELSE NULL END) 成型缺陷_成A,
-                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'B') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN PD.BARCODE ELSE NULL END) 成型缺陷_成B,
-                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'C') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN PD.BARCODE ELSE NULL END) 成型缺陷_成C,
-                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND DEFECT.DEFECTTYPEID=1 THEN PD.BARCODE ELSE NULL END) 成型缺陷_高压,
-                                              TO_CHAR(COUNT( DISTINCT  CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '20' ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
-									
-									TO_CHAR(COUNT( DISTINCT  CASE WHEN PDS.PROCEDUREID IN (5,36,52) AND df.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_擦洗,
-                                                COUNT(DISTINCT CASE WHEN   DEFECT.DEFECTTYPEID=1 THEN PD.BARCODE ELSE NULL END) 成型缺陷_半检,
-                                                
-									TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '36','37','38','39','40','41','42','43','44') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_施釉,
-                                            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '47','48','49','50','51','52','53','54','55','56','20','57')AND DF.DEFECTCODE IS NOT NULL AND PD.BARCODE IS NOT NULL  THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END ))AS 烧成窑缺陷_擦坯,
-																
-									TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '61','62','63','64','65','66','67') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_装窑,
-									
-									TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '69','70','71','43','73','74','75','76','77','78','79','80') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END ))AS 烧成窑缺陷_烧窑,
-									
-									TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '83','84')  THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_出窑,
-
-                                                COUNT(DISTINCT CASE WHEN    DF.DEFECTCODE IN (SELECT DEFECTCODE  FROM TP_MST_DEFECT WHERE DEFECTTYPEID NOT IN(1,4,5,6,7,8)
-                                                AND DF.DEFECTCODE NOT IN('10','12','13','14','15','16','17','18','19','20','01','02','03','04','05','06','07','08','09','10','25','34')) THEN PD.BARCODE ELSE NULL END) 其他缺陷
+                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'A') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成A,
+                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'B') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成B,
+                                                COUNT(DISTINCT CASE WHEN   instr(PD.GROUTINGLINECODE, 'C') > 0 AND PD.HIGHPRESSUREFLAG=0 AND DEFECT.DEFECTTYPEID=1 THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_成C,
+                                                COUNT(DISTINCT CASE WHEN   PD.HIGHPRESSUREFLAG=1 AND DEFECT.DEFECTTYPEID=1 THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 成型缺陷_高压,
+                                                TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (4,36,53) AND df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '20' ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_打磨,
+									            TO_CHAR(COUNT( DISTINCT   CASE WHEN PDS.PROCEDUREID IN (5,36,52) AND df.DEFECTCODE IN ( '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '25', '34') THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END )) AS 成型缺陷_擦洗,
+                                                COUNT(DISTINCT CASE WHEN  DEFECT.DEFECTTYPEID=1 THEN PD.BARCODE ELSE NULL END) 成型缺陷_半检,
+									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '36','37','38','39','40','41','42','43','44') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_施釉,
+                                                TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '47','48','49','50','51','52','53','54','55','56','20','57')AND DF.DEFECTCODE IS NOT NULL AND PD.BARCODE IS NOT NULL  THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END ))AS 烧成窑缺陷_擦坯,
+												TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '070','071','43','073','074','075','076','077','078','079','069','080'') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_装窑,
+									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '69','70','71','43','73','74','75','76','77','78','79','80') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END ))AS 烧成窑缺陷_烧窑,
+									            TO_CHAR(COUNT( DISTINCT  CASE WHEN DF.DEFECTCODE IN ( '0083','0084')  THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END )) AS 烧成窑缺陷_出窑,
+                                                COUNT(DISTINCT CASE WHEN  DF.DEFECTCODE IN ('099','0100') THEN to_char(PD.BARCODE||DF.DEFECTCODE ) ELSE NULL END) 其他缺陷
                                                 FROM(SELECT * FROM(
                                                  SELECT
                                                       BARCODE,REWORKPROCEDUREID,GROUTINGLINECODE,GOODSCODE,GOODSNAME,LOGONAME,GOODSLEVELTYPEID,GOODSSPECIFICATION,DICTIONARYVALUE,
@@ -523,8 +515,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         TO_CHAR(烧成窑缺陷_擦坯) AS 烧成窑缺陷_擦坯,
                                         TO_CHAR(烧成窑缺陷_装窑) AS 烧成窑缺陷_装窑,
                                         TO_CHAR(烧成窑缺陷_烧窑) AS 烧成窑缺陷_烧窑,
-                                        TO_CHAR(烧成窑缺陷_出窑) AS 烧成窑缺陷_出窑,
-                                        TO_CHAR(其他缺陷) AS 其他缺陷
+                                        TO_CHAR(烧成窑缺陷_出窑) AS 烧成窑缺陷_出窑
                                         FROM 数据源
  UNION ALL                                    
                                 SELECT
@@ -548,8 +539,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 																	to_Char(擦坯出窑量),
 																	to_Char(装窑出窑量),
 																	to_Char(烧窑出窑量),
-																	to_Char(卸窑出窑量),
-																	to_Char(出窑量_出窑量 )
+																	to_Char(卸窑出窑量)
                                 FROM
 	                                工序对应出窑量
 	                                LEFT JOIN 数据源 ON 1=1 
@@ -577,8 +567,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                       DECODE( NVL(  烧成窑缺陷_擦坯, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_擦坯, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
                                       DECODE( NVL(  烧成窑缺陷_装窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_装窑, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
                                       DECODE( NVL(  烧成窑缺陷_烧窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_烧窑, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  烧成窑缺陷_出窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_出窑, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) ,
-                                      DECODE( NVL(  其他缺陷, 0 ), 0, '0%', TO_CHAR( (    ( NVL(其他缺陷, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 
+                                      DECODE( NVL(  烧成窑缺陷_出窑, 0 ), 0, '0%', TO_CHAR( (    ( NVL(烧成窑缺陷_出窑, 0 ) / DECODE( NVL( 出窑量_出窑量, 1 ), 0, 1, NVL(  出窑量_出窑量, 1 ) ) ) ) * 100, 'fm99990.00' ) || '%' ) 
+                                     
                                         FROM 数据源
                                         WHERE GID=3 )  ORDER BY 产品类别,产品编码 ";
                     }

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

@@ -34,7 +34,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                             GOODSCODE,
                                             COUNT( BARCODE) NUMS
                                             FROM TP_PM_PRODUCTIONDATA
-                                            WHERE CREATETIME>=@DATEBEGIN@ AND CREATETIME<date'2024-2-1' AND PROCEDUREID=8 AND VALUEFLAG=1
+                                            WHERE CREATETIME>=@DATEBEGIN@ AND CREATETIME<@DATEEND@  AND PROCEDUREID=7 AND VALUEFLAG=1
                                             GROUP BY GOODSCODE
                                             ),
                                             施釉转出 AS (
@@ -60,9 +60,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 											期初 AS (
 											SELECT
 											GOODSCODE 产品编码,
-											COUNT(DISTINCT GROUTINGDAILYDETAILID) AS 期初数量
-											FROM TP_PM_INPRODUCTION_BAKBYMONTH
-											WHERE BACKUPMONTH=@DATEBEGIN@
+											COUNT(DISTINCT BARCODE) AS 期初数量
+											FROM TP_PM_INPRODUCTION
+											WHERE  PROCEDUREID=8
 											GROUP BY GOODSCODE
 											)
 											SELECT

+ 1 - 2
wwwroot/mes/rpt/rpt308/rpt.ashx

@@ -57,8 +57,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 												GOODSCODE 产品编码,
 												COUNT(DISTINCT GROUTINGDAILYDETAILID) AS 期初数量
 												FROM TP_PM_INPRODUCTION_BAKBYMONTH
-												WHERE BACKUPMONTH=@DATEBEGIN@
-												AND PROCEDUREID IN( 55,13)
+												WHERE  PROCEDUREID =11
 												GROUP BY GOODSCODE
 												)
 												SELECT