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

打磨擦洗缺陷核对修改

张忠帅 1 год назад
Родитель
Сommit
e40bd8d9f1

+ 26 - 20
wwwroot/mes/rpt/rpt203/rpt.ashx

@@ -66,19 +66,22 @@ 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  THEN DF.BARCODE ELSE NULL END )/COUNT(DISTINCT PD.BARCODE) * 100), 'fm99990.00') || '%' 缺陷率,
+                              		TO_CHAR(COUNT( DISTINCT  CASE WHEN df.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '20' ) THEN to_char(DF.BARCODE||df.DEFECTCODE ) ELSE NULL END ))缺陷量,
+	                                TO_CHAR( (COUNT( DISTINCT CASE WHEN DF.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
-	                            TP_PM_PRODUCTIONDATA PD
-								LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
-								INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (5,36,52)
-                                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  )
+	                          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
+												INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (4,36,53)
+												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_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)  
 	                                AND PD.CREATETIME >= @DATEBEGIN@ AND PD.CREATETIME < @DATEEND@ 
 	                                AND PD.VALUEFLAG = 1
@@ -102,15 +105,18 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 														{DEFECTSUM}                              
     
 												 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_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 (SELECT DISTINCT
-	                            MDF.DEFECTCODE  FROM TP_MST_INHERITANCEDEFECTS MDF   WHERE DEFECTPROCEDUREID=4 )
+											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
+												INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (4,36,53)
+												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_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) 
 												      AND PD.CREATETIME >= @DATEBEGIN@

+ 32 - 28
wwwroot/mes/rpt/rpt204/rpt.ashx

@@ -67,23 +67,25 @@ 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  THEN DF.BARCODE ELSE NULL END )/COUNT(DISTINCT PD.BARCODE) * 100), 'fm99990.00') || '%' 缺陷率,
+									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 IS NOT NULL AND DF.BARCODE IS NOT NULL  THEN DF.BARCODE ELSE NULL END )/COUNT(DISTINCT PD.BARCODE) * 100), 'fm99990.00') || '%' 缺陷率,
                                     {DEFECT}
                                 FROM
-	                            TP_PM_PRODUCTIONDATA PD
-								LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
-								INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID=4
-                                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=5)
+	                         	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_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_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
+												LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID and STF.JOBS=4
                                 WHERE
 	                                PD.PROCEDUREID IN ( 16) 
 	                                AND PD.CREATETIME >= @DATEBEGIN@
@@ -109,19 +111,21 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 														{DEFECTSUM}                              
     
 												 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_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=5)
+									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_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_PC_CLASSESDETAIL CLS ON CLS.CLASSESSETTINGID=PDC.CLASSESSETTINGID
+												LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID and STF.JOBS=4
 												 WHERE
 												     PD.PROCEDUREID IN ( 16) 
 												      AND PD.CREATETIME >= @DATEBEGIN@

+ 20 - 22
wwwroot/mes/rpt/rpt212/rpt.ashx

@@ -44,7 +44,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 MDF.DEFECTCODE = '''||DEFECTCODE||''' THEN 1 ELSE 0 END ))' AS DEFECTCODE,
+	                            'TO_CHAR(SUM( CASE WHEN 基础数据.PROCEDUREID IN (4,36,53) AND MDF.DEFECTCODE = '''||DEFECTCODE||''' THEN 1 ELSE 0 END ))' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
                            FROM TP_PC_DEFECTPROCEDUREJOBS JOBS
 															LEFT JOIN  TP_MST_DEFECT MDF  ON mdf.DEFECTID=JOBS.DEFECTID 
@@ -62,7 +62,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         (
                                         SELECT
                                         		GDL.GROUTINGLINEID,
-                                        	PDC.USERCODE AS 工号,
+                                        	STF.STAFFCODE AS 工号,
                                         	STF.STAFFNAME AS 姓名,
 											GD.GOODSCODE AS 产品编码,
                                         	GD.GOODSNAME AS 产品名称,
@@ -71,38 +71,37 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         	LG.LOGONAME AS 商标,
                                         	PD.BARCODE 出窑条码,
                                         	DF.BARCODE 缺陷条码,
-                                        	DF.DEFECTID 缺陷ID
+                                        	DF.DEFECTID 缺陷ID,
+											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_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_PC_DEFECTPROCEDUREJOBS JOBS
-															LEFT JOIN  TP_MST_DEFECT MDF  ON mdf.DEFECTID=JOBS.DEFECTID 
-															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
+												LEFT JOIN TP_PC_GROUTINGLINE gl ON gl.GROUTINGLINEID=gdl.GROUTINGLINEID
+												INNER JOIN TP_PM_PRODUCTIONDATA PDC ON PDC.BARCODE=GDL.BARCODE AND PDC.PROCEDUREID IN (4,36,53)
+												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_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) 
                                            AND PD.CREATETIME >= @DATEBEGIN@
                                            AND PD.CREATETIME < @DATEEND@ 
                                         	 
                                         	AND PD.VALUEFLAG = 1
-										GROUP BY GDL.GROUTINGLINEID,
-                                        	PDC.USERCODE ,
+								GROUP BY GDL.GROUTINGLINEID,
+                                        	STF.STAFFCODE ,
                                         	STF.STAFFNAME ,GD.GOODSCODE ,
                                         	GD.GOODSNAME ,
                                         	GD.GOODSSPECIFICATION ,
                                         	MD.DICTIONARYVALUE ,
                                         	LG.LOGONAME ,
                                         	PD.BARCODE ,
-                                        	DF.BARCODE ,DF.DEFECTID
+                                        	DF.BARCODE ,DF.DEFECTID,df.DEFECTCODE,PDC.PROCEDUREID
                                         )
                           SELECT * FROM(
                                         SELECT
@@ -117,8 +116,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         TO_CHAR(基础数据.釉色)釉色,
                                         TO_CHAR(基础数据.商标)商标,
                                         TO_CHAR(COUNT(DISTINCT 出窑条码)) 出窑量,
-                                        TO_CHAR(COUNT(DISTINCT 缺陷条码)) 缺陷量,
-                                        TO_CHAR( (COUNT(DISTINCT 缺陷条码)/COUNT(DISTINCT 出窑条码) * 100), 'fm99990.00') || '%' 缺陷率,
+                                        TO_CHAR(COUNT( DISTINCT  CASE WHEN 基础数据.PROCEDUREID IN (4,36,53) AND 基础数据.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '20' ) THEN to_char(基础数据.缺陷条码||基础数据.DEFECTCODE ) ELSE NULL END )) 缺陷量,
+                                        TO_CHAR( (COUNT( DISTINCT  CASE WHEN 基础数据.PROCEDUREID IN (4,36,53) AND 基础数据.DEFECTCODE IN ( '10', '12', '13', '14', '15', '16', '17', '18', '19', '20' ) THEN to_char(基础数据.缺陷条码||基础数据.DEFECTCODE ) ELSE NULL END )/COUNT(DISTINCT 出窑条码) * 100), 'fm99990.00') || '%' 缺陷率,
                                         {DEFECT}
                                         FROM 基础数据
                                         LEFT JOIN 部门 ON 部门.GROUTINGLINEID=基础数据.GROUTINGLINEID
@@ -152,7 +151,6 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 															FROM 基础数据
                                         LEFT JOIN 部门 ON 部门.GROUTINGLINEID=基础数据.GROUTINGLINEID
                                         LEFT JOIN TP_MST_DEFECT MDF ON 基础数据.缺陷ID = MDF.DEFECTID 
-                                        AND MDF.DEFECTTYPEID = 1 
 		) ORDER BY 姓名,GID,统计方式
 
 ".Replace("{DEFECTSUM}",sumdefect).Replace("{DEFECT}", defect);

+ 20 - 18
wwwroot/mes/rpt/rpt213/rpt.ashx

@@ -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 MDF.DEFECTCODE = '''||DEFECTCODE||''' THEN 1 ELSE 0 END ))' AS DEFECTCODE,
+	                            'TO_CHAR(SUM( CASE WHEN  基础数据.PROCEDUREID IN (5,36,52) AND  MDF.DEFECTCODE = '''||DEFECTCODE||''' THEN 1 ELSE 0 END ))' AS DEFECTCODE,
 	                            MDF.DEFECTNAME 
                            FROM TP_PC_DEFECTPROCEDUREJOBS JOBS
 															LEFT JOIN  TP_MST_DEFECT MDF  ON mdf.DEFECTID=JOBS.DEFECTID 
@@ -62,7 +62,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 											(
 											SELECT
                                         			GDL.GROUTINGLINEID,
-                                        		PDC.USERCODE AS 工号,
+                                        		STF.STAFFCODE AS 工号,
                                         		STF.STAFFNAME AS 姓名,GD.GOODSCODE AS 产品编码,
                                         		GD.GOODSNAME AS 产品名称,
                                         		GD.GOODSSPECIFICATION AS 产品规格,
@@ -70,7 +70,9 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                         		LG.LOGONAME AS 商标,
                                         		PD.BARCODE 出窑条码,
                                         		DF.BARCODE 缺陷条码,
-                                        		DF.DEFECTID 缺陷ID
+                                        		DF.DEFECTID 缺陷ID,
+											df.DEFECTCODE,
+											PDC.PROCEDUREID
 											FROM
                                         		TP_PM_PRODUCTIONDATA PD
                                         		LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GDL ON GDL.BARCODE = PD.BARCODE
@@ -79,29 +81,30 @@ 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_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=4 AND PDC.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
+												LEFT JOIN TP_HR_STAFF STF ON STF.STAFFID=CLS.STAFFID and STF.JOBS=4
+
 											WHERE
                                         		PD.PROCEDUREID IN ( 16) 
 											   AND PD.CREATETIME >= @DATEBEGIN@
 											   AND PD.CREATETIME < @DATEEND@ 
                                         	 
                                         		AND PD.VALUEFLAG = 1
-											GROUP BY GDL.GROUTINGLINEID,
-                                        		PDC.USERCODE ,
-                                        		STF.STAFFNAME ,GD.GOODSCODE,
-                                        		GD.GOODSNAME ,
-                                        		GD.GOODSSPECIFICATION ,
-                                        		MD.DICTIONARYVALUE ,
-                                        		LG.LOGONAME ,
-                                        		PD.BARCODE ,
-                                        		DF.BARCODE ,DF.DEFECTID
+										GROUP BY GDL.GROUTINGLINEID,
+                                        	STF.STAFFCODE ,
+                                        	STF.STAFFNAME ,GD.GOODSCODE ,
+                                        	GD.GOODSNAME ,
+                                        	GD.GOODSSPECIFICATION ,
+                                        	MD.DICTIONARYVALUE ,
+                                        	LG.LOGONAME ,
+                                        	PD.BARCODE ,
+                                        	DF.BARCODE ,DF.DEFECTID,df.DEFECTCODE,PDC.PROCEDUREID
 											)
 											SELECT * FROM(
 												 SELECT
@@ -115,8 +118,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 											TO_CHAR(基础数据.釉色)釉色,
 											TO_CHAR(基础数据.商标)商标,
 											TO_CHAR(COUNT(DISTINCT 出窑条码)) 出窑量,
-											TO_CHAR(COUNT(DISTINCT 缺陷条码)) 缺陷量,
-											TO_CHAR( (COUNT(DISTINCT 缺陷条码)/COUNT(DISTINCT 出窑条码) * 100), 'fm99990.00') || '%' 缺陷率,
+											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') || '%' 缺陷率,
 											{DEFECT}
 											FROM 基础数据
 											LEFT JOIN 部门 ON 部门.GROUTINGLINEID=基础数据.GROUTINGLINEID
@@ -150,7 +153,6 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 																FROM 基础数据
 											LEFT JOIN 部门 ON 部门.GROUTINGLINEID=基础数据.GROUTINGLINEID
 											LEFT JOIN TP_MST_DEFECT MDF ON 基础数据.缺陷ID = MDF.DEFECTID 
-											AND MDF.DEFECTTYPEID = 1 
 			)  ORDER BY 姓名,GID,统计方式
 
 ".Replace("{DEFECTSUM}",sumdefect).Replace("{DEFECT}", defect);