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

修改 柱状图 后台缺陷数量统计方式

张忠帅 2 лет назад
Родитель
Сommit
c455b0f2ea
1 измененных файлов с 13 добавлено и 24 удалено
  1. 13 24
      wwwroot/main/Procedure/synthesis2/rpt.ashx

+ 13 - 24
wwwroot/main/Procedure/synthesis2/rpt.ashx

@@ -444,21 +444,15 @@ WHERE
             }
             else if (context.Request["m"].ToString() == "procedureday")
             {
-                string sqlStr = @"
-				WITH PD AS (
+                string sqlStr = @"WITH PD AS (
 					SELECT
 						1 AS FK,
-						SUM( CASE WHEN -- 	D.DEFECTPROCEDUREID IN ( 1, 17, 88, 92, 118 )
-								DT.DEFECTTYPENAME LIKE '成型%' THEN 1 ELSE 0 END ) AS 成型一检,
-							SUM( CASE WHEN -- 	 D.DEFECTPROCEDUREID IN ( 2, 93, 94 )
-									DT.DEFECTTYPENAME LIKE '%改洗%' THEN 1 ELSE 0 END ) AS 改洗,
-								SUM( CASE WHEN -- 	D.DEFECTPROCEDUREID IN ( 61, 95 )
-										DT.DEFECTTYPENAME LIKE '%检验%' THEN 1 ELSE 0 END ) AS 二检,
-									SUM( CASE WHEN -- 			D.DEFECTPROCEDUREID IN ( 81, 62, 64, 115, 98, 71, 72, 3, 4 )
-											DT.DEFECTTYPENAME LIKE '%施釉%' THEN 1 ELSE 0 END ) AS 施釉,
-										SUM( CASE WHEN -- 				D.DEFECTPROCEDUREID IN ( 65, 99, 5, 9, 10, 14, 16, 101, 102, 103, 60 )
-												DT.DEFECTTYPENAME IN ( '刮边', '登窑' ) THEN 1 ELSE 0 END ) AS 刮登,
-											SUM( CASE WHEN DT.DEFECTTYPENAME LIKE '%烧成%' THEN 1 ELSE 0 END ) AS 烧成 
+						COUNT( DISTINCT CASE WHEN  DT.DEFECTTYPENAME LIKE '成型%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 成型一检,
+						COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%改洗%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 改洗,
+						COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%检验%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 二检,
+						COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%施釉%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 施釉,
+						COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME IN ( '刮边', '登窑' ) THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 刮登,
+						COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%烧成%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 烧成 
 										FROM
 											TP_PM_DEFECT D
 											INNER JOIN TP_MST_GOODS G ON D.GOODSID = G.GOODSID
@@ -513,17 +507,12 @@ WHERE
 				WITH PD AS (
 					SELECT
 						1 AS FK,
-						SUM( CASE WHEN -- 	D.DEFECTPROCEDUREID IN ( 1, 17, 88, 92, 118 )
-								DT.DEFECTTYPENAME LIKE '成型%' THEN 1 ELSE 0 END ) AS 成型一检,
-							SUM( CASE WHEN -- 	 D.DEFECTPROCEDUREID IN ( 2, 93, 94 )
-									DT.DEFECTTYPENAME LIKE '%改洗%' THEN 1 ELSE 0 END ) AS 改洗,
-								SUM( CASE WHEN -- 	D.DEFECTPROCEDUREID IN ( 61, 95 )
-										DT.DEFECTTYPENAME LIKE '%检验%' THEN 1 ELSE 0 END ) AS 二检,
-									SUM( CASE WHEN -- 			D.DEFECTPROCEDUREID IN ( 81, 62, 64, 115, 98, 71, 72, 3, 4 )
-											DT.DEFECTTYPENAME LIKE '%施釉%' THEN 1 ELSE 0 END ) AS 施釉,
-										SUM( CASE WHEN -- 				D.DEFECTPROCEDUREID IN ( 65, 99, 5, 9, 10, 14, 16, 101, 102, 103, 60 )
-												DT.DEFECTTYPENAME IN ( '刮边', '登窑' ) THEN 1 ELSE 0 END ) AS 刮登,
-											SUM( CASE WHEN DT.DEFECTTYPENAME LIKE '%烧成%' THEN 1 ELSE 0 END ) AS 烧成 
+						COUNT( DISTINCT CASE WHEN  DT.DEFECTTYPENAME LIKE '成型%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 成型一检,
+						COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%改洗%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 改洗,
+						COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%检验%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 二检,
+						COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%施釉%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 施釉,
+						COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME IN ( '刮边', '登窑' ) THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 刮登,
+						COUNT( DISTINCT CASE WHEN DT.DEFECTTYPENAME LIKE '%烧成%' THEN TO_CHAR(D.BARCODE) ELSE NULL END ) AS 烧成 
 										FROM
 											TP_PM_DEFECT D
 											INNER JOIN TP_MST_GOODS G ON D.GOODSID = G.GOODSID