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)); }