From 9e6f7031f7a49babcde53531f9aef3ade071e940 Mon Sep 17 00:00:00 2001 From: sjh Date: Mon, 18 Nov 2024 22:02:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=81=B5=E6=95=8F=E6=84=9F?= =?UTF-8?q?=E7=9F=A5=E5=A4=A7=E5=B1=8F-=E6=9B=B4=E6=8D=A2SQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/datav/RiskDataController.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/biutag/supervision/controller/datav/RiskDataController.java b/src/main/java/com/biutag/supervision/controller/datav/RiskDataController.java index 9b4ba52..2c1814f 100644 --- a/src/main/java/com/biutag/supervision/controller/datav/RiskDataController.java +++ b/src/main/java/com/biutag/supervision/controller/datav/RiskDataController.java @@ -47,7 +47,7 @@ public class RiskDataController { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String beginTimeStr = dateFormat.format(beginTime); String endTimeStr = dateFormat.format(endTime); - String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(COUNT(DISTINCT c.id) / COUNT(DISTINCT d.blameIdCode), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN sup_depart b ON a.membersCode = b.pid INNER JOIN negative c ON b.id = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 23 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(AVG(e.totalPersonNumber), 0) AS totalPersonNumber, ROUND(COUNT(DISTINCT c.id) / AVG(e.totalPersonNumber), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN sup_depart b ON a.membersCode = b.pid INNER JOIN (SELECT membersCode, membersName, SUM(police_size + aux_size) totalPersonNumber FROM negative_group_members a1, sup_depart a2, sup_depart_police_size a3 WHERE a1.membersCode = a2.pid AND a2.id = a3.depart_id GROUP BY membersCode, membersName) e ON a.membersCode = e.membersCode INNER JOIN negative c ON b.id = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 23 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + beginTimeStr + " 00:00:00' AND '" + endTimeStr + " 23:59:59' GROUP BY a.membersCode, a.membersName ORDER BY problemNumber DESC;"; return Result.success(statisticsService.riskStatisticsBigOrg(sql, type)); } @@ -58,7 +58,7 @@ public class RiskDataController { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String beginTimeStr = dateFormat.format(beginTime); String endTimeStr = dateFormat.format(endTime); - String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(COUNT(DISTINCT c.id) / COUNT(DISTINCT d.blameIdCode), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN negative c ON a.membersCode = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 17 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(AVG(b.police_size + b.aux_size), 0) AS totalPersonNumber, ROUND(COUNT(DISTINCT c.id) / AVG(b.police_size + b.aux_size), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN sup_depart_police_size b ON a.membersCode = b.depart_id INNER JOIN negative c ON a.membersCode = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 17 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + beginTimeStr + " 00:00:00' AND '" + endTimeStr + " 23:59:59' GROUP BY a.membersCode, a.membersName ORDER BY problemNumber DESC LIMIT 10;"; return Result.success(statisticsService.riskStatisticsBigOrg(sql, type)); } @@ -69,7 +69,7 @@ public class RiskDataController { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String beginTimeStr = dateFormat.format(beginTime); String endTimeStr = dateFormat.format(endTime); - String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(COUNT(DISTINCT c.id) / COUNT(DISTINCT d.blameIdCode), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN negative c ON a.membersCode = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 20 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(AVG(b.police_size + b.aux_size), 0) AS totalPersonNumber, ROUND(COUNT(DISTINCT c.id) / AVG(b.police_size + b.aux_size), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN sup_depart_police_size b ON a.membersCode = b.depart_id INNER JOIN negative c ON a.membersCode = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 20 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + beginTimeStr + " 00:00:00' AND '" + endTimeStr + " 23:59:59' GROUP BY a.membersCode, a.membersName ORDER BY problemNumber DESC LIMIT 10;"; return Result.success(statisticsService.riskStatisticsBigOrg(sql, type)); } @@ -128,7 +128,7 @@ public class RiskDataController { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String beginTimeStr = dateFormat.format(beginTime); String endTimeStr = dateFormat.format(endTime); - String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(COUNT(DISTINCT c.id) / COUNT(DISTINCT d.blameIdCode), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN sup_depart b ON a.membersCode = b.pid INNER JOIN negative c ON b.id = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 24 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(AVG(e.totalPersonNumber), 0) AS totalPersonNumber, ROUND(COUNT(DISTINCT c.id) / AVG(e.totalPersonNumber), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN sup_depart b ON a.membersCode = b.pid INNER JOIN (SELECT membersCode, membersName, SUM(police_size + aux_size) totalPersonNumber FROM negative_group_members a1, sup_depart a2, sup_depart_police_size a3 WHERE a1.membersCode = a2.pid AND a2.id = a3.depart_id GROUP BY membersCode, membersName) e ON a.membersCode = e.membersCode INNER JOIN negative c ON b.id = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 24 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + beginTimeStr + " 00:00:00' AND '" + endTimeStr + " 23:59:59' GROUP BY a.membersCode, a.membersName ORDER BY problemNumber DESC;"; return Result.success(statisticsService.riskStatisticsBigOrg(sql, type)); } @@ -139,7 +139,7 @@ public class RiskDataController { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String beginTimeStr = dateFormat.format(beginTime); String endTimeStr = dateFormat.format(endTime); - String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(COUNT(DISTINCT c.id) / COUNT(DISTINCT d.blameIdCode), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN negative c ON a.membersCode = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 18 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(AVG(b.police_size + b.aux_size), 0) AS totalPersonNumber, ROUND(COUNT(DISTINCT c.id) / AVG(b.police_size + b.aux_size), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN sup_depart_police_size b ON a.membersCode = b.depart_id INNER JOIN negative c ON a.membersCode = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 18 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + beginTimeStr + " 00:00:00' AND '" + endTimeStr + " 23:59:59' GROUP BY a.membersCode, a.membersName ORDER BY problemNumber DESC LIMIT 10;"; return Result.success(statisticsService.riskStatisticsBigOrg(sql, type)); } @@ -150,7 +150,7 @@ public class RiskDataController { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String beginTimeStr = dateFormat.format(beginTime); String endTimeStr = dateFormat.format(endTime); - String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(COUNT(DISTINCT c.id) / COUNT(DISTINCT d.blameIdCode), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN negative c ON a.membersCode = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 21 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(AVG(b.police_size + b.aux_size), 0) AS totalPersonNumber, ROUND(COUNT(DISTINCT c.id) / AVG(b.police_size + b.aux_size), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN sup_depart_police_size b ON a.membersCode = b.depart_id INNER JOIN negative c ON a.membersCode = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 21 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + beginTimeStr + " 00:00:00' AND '" + endTimeStr + " 23:59:59' GROUP BY a.membersCode, a.membersName ORDER BY problemNumber DESC LIMIT 10;"; return Result.success(statisticsService.riskStatisticsBigOrg(sql, type)); } @@ -210,7 +210,7 @@ public class RiskDataController { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String beginTimeStr = dateFormat.format(beginTime); String endTimeStr = dateFormat.format(endTime); - String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(COUNT(DISTINCT c.id) / COUNT(DISTINCT d.blameIdCode), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN sup_depart b ON a.membersCode = b.pid INNER JOIN negative c ON b.id = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 25 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(AVG(e.totalPersonNumber), 0) AS totalPersonNumber, ROUND(COUNT(DISTINCT c.id) / AVG(e.totalPersonNumber), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN sup_depart b ON a.membersCode = b.pid INNER JOIN (SELECT membersCode, membersName, SUM(police_size + aux_size) totalPersonNumber FROM negative_group_members a1, sup_depart a2, sup_depart_police_size a3 WHERE a1.membersCode = a2.pid AND a2.id = a3.depart_id GROUP BY membersCode, membersName) e ON a.membersCode = e.membersCode INNER JOIN negative c ON b.id = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 25 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + beginTimeStr + " 00:00:00' AND '" + endTimeStr + " 23:59:59' GROUP BY a.membersCode, a.membersName ORDER BY problemNumber DESC;"; return Result.success(statisticsService.riskStatisticsBigOrg(sql, type)); } @@ -221,7 +221,7 @@ public class RiskDataController { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String beginTimeStr = dateFormat.format(beginTime); String endTimeStr = dateFormat.format(endTime); - String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, IF(COUNT(DISTINCT d.blameIdCode) = 0, 0, ROUND(COUNT(DISTINCT c.id) / COUNT(DISTINCT d.blameIdCode), 1)) AS avgProblemNumber FROM negative_group_members a INNER JOIN negative c ON a.membersCode = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 19 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(AVG(b.police_size + b.aux_size), 0) AS totalPersonNumber, ROUND(COUNT(DISTINCT c.id) / AVG(b.police_size + b.aux_size), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN sup_depart_police_size b ON a.membersCode = b.depart_id INNER JOIN negative c ON a.membersCode = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 19 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + beginTimeStr + " 00:00:00' AND '" + endTimeStr + " 23:59:59' GROUP BY a.membersCode, a.membersName ORDER BY problemNumber DESC LIMIT 10;"; return Result.success(statisticsService.riskStatisticsBigOrg(sql, type)); } @@ -232,7 +232,7 @@ public class RiskDataController { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String beginTimeStr = dateFormat.format(beginTime); String endTimeStr = dateFormat.format(endTime); - String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, IF(COUNT(DISTINCT d.blameIdCode) = 0, 0, ROUND(COUNT(DISTINCT c.id) / COUNT(DISTINCT d.blameIdCode), 1)) AS avgProblemNumber FROM negative_group_members a INNER JOIN negative c ON a.membersCode = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 22 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + String sql = "SELECT a.membersCode, a.membersName, COUNT(DISTINCT c.id) AS problemNumber, COUNT(DISTINCT d.blameIdCode) AS personNumber, ROUND(AVG(b.police_size + b.aux_size), 0) AS totalPersonNumber, ROUND(COUNT(DISTINCT c.id) / AVG(b.police_size + b.aux_size), 1) AS avgProblemNumber FROM negative_group_members a INNER JOIN sup_depart_police_size b ON a.membersCode = b.depart_id INNER JOIN negative c ON a.membersCode = c.involveDepartId LEFT JOIN negative_blame d ON c.id = d.negativeId WHERE groupId = 22 AND checkStatus IN (1, 2) AND c.discoveryTime BETWEEN '" + beginTimeStr + " 00:00:00' AND '" + endTimeStr + " 23:59:59' GROUP BY a.membersCode, a.membersName ORDER BY problemNumber DESC LIMIT 10;"; return Result.success(statisticsService.riskStatisticsBigOrg(sql, type)); }