Quellcode durchsuchen

绩效分析报告页面接口优化改造

chenshudong vor 3 Wochen
Ursprung
Commit
a406f84a11

+ 2 - 2
airport-admin/src/main/java/com/sundot/airport/web/controller/item/PerformanceDimensionController.java

@@ -1153,7 +1153,7 @@ public class PerformanceDimensionController {
1153 1153
      * 获取查获效率数据
1154 1154
      */
1155 1155
     private List<SeizureEfficiencyRankDto> getSeizureEfficiencyData(BaseLargeScreenQueryParamDto dto, Integer dimension) {
1156
-        SeizureEfficiencyDto result = seizureEfficiencyService.getSeizureEfficiency(dto);
1156
+        SeizureEfficiencyDto result = seizureEfficiencyService.getSeizureEfficiency(dto, dimension);
1157 1157
         switch (dimension) {
1158 1158
             case 1:
1159 1159
                 return result.getIndividualRankList();
@@ -1172,7 +1172,7 @@ public class PerformanceDimensionController {
1172 1172
      * 获取巡检合格率数据
1173 1173
      */
1174 1174
     private List<CheckEfficiencyRankDto> getInspectionData(BaseLargeScreenQueryParamDto dto, Integer dimension) {
1175
-        CheckEfficiencyDto result = checkEfficiencyService.getCheckEfficiency(dto);
1175
+        CheckEfficiencyDto result = checkEfficiencyService.getCheckEfficiency(dto, dimension);
1176 1176
         switch (dimension) {
1177 1177
             case 1:
1178 1178
                 return result.getIndividualRankList();

+ 3 - 3
airport-admin/src/main/java/com/sundot/airport/web/controller/item/PerformanceMetricsController.java

@@ -85,7 +85,7 @@ public class PerformanceMetricsController {
85 85
      */
86 86
     @GetMapping("/list")
87 87
     public AjaxResult list(BaseLargeScreenQueryParamDto dto) {
88
-        SeizureEfficiencyDto result = seizureEfficiencyService.getSeizureEfficiency(dto);
88
+        SeizureEfficiencyDto result = seizureEfficiencyService.getSeizureEfficiency(dto, null);
89 89
         return success(result);
90 90
     }
91 91
 
@@ -387,7 +387,7 @@ public class PerformanceMetricsController {
387 387
         BaseLargeScreenQueryParamDto dto = new BaseLargeScreenQueryParamDto();
388 388
         dto.setStartDate(param.getStartTime());
389 389
         dto.setEndDate(param.getEndTime());
390
-        SeizureEfficiencyDto result = seizureEfficiencyService.getSeizureEfficiency(dto);
390
+        SeizureEfficiencyDto result = seizureEfficiencyService.getSeizureEfficiency(dto, param.getDimension());
391 391
         if (param.getDimension() == 1) {
392 392
             // 个人维度
393 393
             rankList = result.getIndividualRankList();
@@ -920,7 +920,7 @@ public class PerformanceMetricsController {
920 920
         BaseLargeScreenQueryParamDto dto = new BaseLargeScreenQueryParamDto();
921 921
         dto.setStartDate(param.getStartTime());
922 922
         dto.setEndDate(param.getEndTime());
923
-        CheckEfficiencyDto result = checkEfficiencyService.getCheckEfficiency(dto);
923
+        CheckEfficiencyDto result = checkEfficiencyService.getCheckEfficiency(dto, param.getDimension());
924 924
         if (param.getDimension() == 1) {
925 925
             // 个人维度
926 926
             rankList = result.getIndividualRankList();

+ 3 - 2
airport-check/src/main/java/com/sundot/airport/check/service/ICheckEfficiencyService.java

@@ -14,8 +14,9 @@ public interface ICheckEfficiencyService {
14 14
     /**
15 15
      * 查询巡检合格率统计
16 16
      *
17
-     * @param dto 查询参数
17
+     * @param dto       查询参数
18
+     * @param dimension 统计维度:1-人员、2-班级、3-科级、4-大队级
18 19
      * @return 巡检合格率统计结果
19 20
      */
20
-    public CheckEfficiencyDto getCheckEfficiency(BaseLargeScreenQueryParamDto dto);
21
+    public CheckEfficiencyDto getCheckEfficiency(BaseLargeScreenQueryParamDto dto, Integer dimension);
21 22
 }

+ 70 - 61
airport-check/src/main/java/com/sundot/airport/check/service/impl/CheckEfficiencyServiceImpl.java

@@ -47,11 +47,12 @@ public class CheckEfficiencyServiceImpl implements ICheckEfficiencyService {
47 47
     /**
48 48
      * 查询巡检合格率统计
49 49
      *
50
-     * @param dto 查询参数
50
+     * @param dto       查询参数
51
+     * @param dimension 统计维度:1-人员、2-班级、3-科级、4-大队级
51 52
      * @return 巡检合格率统计结果
52 53
      */
53 54
     @Override
54
-    public CheckEfficiencyDto getCheckEfficiency(BaseLargeScreenQueryParamDto dto) {
55
+    public CheckEfficiencyDto getCheckEfficiency(BaseLargeScreenQueryParamDto dto, Integer dimension) {
55 56
         CheckEfficiencyDto result = new CheckEfficiencyDto();
56 57
         List<CheckLargeScreenHomePageItemDto> itemListAll = iCheckLargeScreenService.getCheckLargeScreenHomePageItemDtoListAndNull(dto);
57 58
 //        List<SysDept> deptList = sysDeptService.selectDeptInfoAll(new SysDept());
@@ -59,75 +60,83 @@ public class CheckEfficiencyServiceImpl implements ICheckEfficiencyService {
59 60
         List<SysDept> deptList = sysDeptService.selectChildrenDeptById(topSiteId);
60 61
 
61 62
         // 获取大队效率排行
62
-        List<SysDept> brigadeDeptList = deptList.stream().filter(item -> StrUtil.equals(DeptType.BRIGADE.getCode(), item.getDeptType())).collect(Collectors.toList());
63
-        List<CheckEfficiencyRankDto> brigadeSeizureList = brigadeDeptList
64
-                .stream()
65
-                .map(item -> {
66
-                    CheckEfficiencyRankDto rankDto = new CheckEfficiencyRankDto();
67
-                    rankDto.setId(item.getDeptId());
68
-                    rankDto.setName(item.getDeptName());
69
-                    rankDto.setPassRate(calculate(itemListAll, item.getDeptId()));
70
-                    return rankDto;
71
-                })
72
-                .collect(Collectors.toList());
73
-        brigadeSeizureList.sort((a, b) -> b.getPassRate().compareTo(a.getPassRate()));
74
-        for (int i = 0; i < brigadeSeizureList.size(); i++) {
75
-            brigadeSeizureList.get(i).setRank(i + 1);
63
+        if (dimension == null || dimension == 4) {
64
+            List<SysDept> brigadeDeptList = deptList.stream().filter(item -> StrUtil.equals(DeptType.BRIGADE.getCode(), item.getDeptType())).collect(Collectors.toList());
65
+            List<CheckEfficiencyRankDto> brigadeSeizureList = brigadeDeptList
66
+                    .stream()
67
+                    .map(item -> {
68
+                        CheckEfficiencyRankDto rankDto = new CheckEfficiencyRankDto();
69
+                        rankDto.setId(item.getDeptId());
70
+                        rankDto.setName(item.getDeptName());
71
+                        rankDto.setPassRate(calculate(itemListAll, item.getDeptId()));
72
+                        return rankDto;
73
+                    })
74
+                    .collect(Collectors.toList());
75
+            brigadeSeizureList.sort((a, b) -> b.getPassRate().compareTo(a.getPassRate()));
76
+            for (int i = 0; i < brigadeSeizureList.size(); i++) {
77
+                brigadeSeizureList.get(i).setRank(i + 1);
78
+            }
79
+            result.setBrigadeRankList(brigadeSeizureList);
76 80
         }
77
-        result.setBrigadeRankList(brigadeSeizureList);
78 81
 
79 82
         // 获取科室效率排行
80
-        List<SysDept> departmentDeptList = deptList.stream().filter(item -> StrUtil.equals(DeptType.MANAGER.getCode(), item.getDeptType())).collect(Collectors.toList());
81
-        List<CheckEfficiencyRankDto> departmentSeizureList = departmentDeptList
82
-                .stream()
83
-                .map(item -> {
84
-                    CheckEfficiencyRankDto rankDto = new CheckEfficiencyRankDto();
85
-                    rankDto.setId(item.getDeptId());
86
-                    rankDto.setName(item.getDeptName());
87
-                    rankDto.setPassRate(calculate(itemListAll, item.getDeptId()));
88
-                    return rankDto;
89
-                })
90
-                .collect(Collectors.toList());
91
-        departmentSeizureList.sort((a, b) -> b.getPassRate().compareTo(a.getPassRate()));
92
-        for (int i = 0; i < departmentSeizureList.size(); i++) {
93
-            departmentSeizureList.get(i).setRank(i + 1);
83
+        if (dimension == null || dimension == 3) {
84
+            List<SysDept> departmentDeptList = deptList.stream().filter(item -> StrUtil.equals(DeptType.MANAGER.getCode(), item.getDeptType())).collect(Collectors.toList());
85
+            List<CheckEfficiencyRankDto> departmentSeizureList = departmentDeptList
86
+                    .stream()
87
+                    .map(item -> {
88
+                        CheckEfficiencyRankDto rankDto = new CheckEfficiencyRankDto();
89
+                        rankDto.setId(item.getDeptId());
90
+                        rankDto.setName(item.getDeptName());
91
+                        rankDto.setPassRate(calculate(itemListAll, item.getDeptId()));
92
+                        return rankDto;
93
+                    })
94
+                    .collect(Collectors.toList());
95
+            departmentSeizureList.sort((a, b) -> b.getPassRate().compareTo(a.getPassRate()));
96
+            for (int i = 0; i < departmentSeizureList.size(); i++) {
97
+                departmentSeizureList.get(i).setRank(i + 1);
98
+            }
99
+            result.setDepartmentRankList(departmentSeizureList);
94 100
         }
95
-        result.setDepartmentRankList(departmentSeizureList);
96 101
 
97 102
         // 获取班组效率排行
98
-        List<SysDept> teamDeptList = deptList.stream().filter(item -> StrUtil.equals(DeptType.TEAMS.getCode(), item.getDeptType())).collect(Collectors.toList());
99
-        List<CheckEfficiencyRankDto> teamSeizureList = teamDeptList
100
-                .stream()
101
-                .map(item -> {
102
-                    CheckEfficiencyRankDto rankDto = new CheckEfficiencyRankDto();
103
-                    rankDto.setId(item.getDeptId());
104
-                    rankDto.setName(item.getDeptName());
105
-                    rankDto.setPassRate(calculate(itemListAll, item.getDeptId()));
106
-                    return rankDto;
107
-                })
108
-                .collect(Collectors.toList());
109
-        teamSeizureList.sort((a, b) -> b.getPassRate().compareTo(a.getPassRate()));
110
-        for (int i = 0; i < teamSeizureList.size(); i++) {
111
-            teamSeizureList.get(i).setRank(i + 1);
103
+        if (dimension == null || dimension == 2) {
104
+            List<SysDept> teamDeptList = deptList.stream().filter(item -> StrUtil.equals(DeptType.TEAMS.getCode(), item.getDeptType())).collect(Collectors.toList());
105
+            List<CheckEfficiencyRankDto> teamSeizureList = teamDeptList
106
+                    .stream()
107
+                    .map(item -> {
108
+                        CheckEfficiencyRankDto rankDto = new CheckEfficiencyRankDto();
109
+                        rankDto.setId(item.getDeptId());
110
+                        rankDto.setName(item.getDeptName());
111
+                        rankDto.setPassRate(calculate(itemListAll, item.getDeptId()));
112
+                        return rankDto;
113
+                    })
114
+                    .collect(Collectors.toList());
115
+            teamSeizureList.sort((a, b) -> b.getPassRate().compareTo(a.getPassRate()));
116
+            for (int i = 0; i < teamSeizureList.size(); i++) {
117
+                teamSeizureList.get(i).setRank(i + 1);
118
+            }
119
+            result.setTeamRankList(teamSeizureList);
112 120
         }
113
-        result.setTeamRankList(teamSeizureList);
114 121
 
115 122
         // 获取个人效率排行
116
-        List<CheckEfficiencyRankDto> individualSeizureList = itemListAll
117
-                .stream()
118
-                .map(item -> {
119
-                    CheckEfficiencyRankDto rankDto = new CheckEfficiencyRankDto();
120
-                    rankDto.setId(item.getId());
121
-                    rankDto.setName(item.getName());
122
-                    rankDto.setPassRate(item.getPassRate());
123
-                    return rankDto;
124
-                })
125
-                .collect(Collectors.toList());
126
-        individualSeizureList.sort((a, b) -> b.getPassRate().compareTo(a.getPassRate()));
127
-        for (int i = 0; i < individualSeizureList.size(); i++) {
128
-            individualSeizureList.get(i).setRank(i + 1);
123
+        if (dimension == null || dimension == 1) {
124
+            List<CheckEfficiencyRankDto> individualSeizureList = itemListAll
125
+                    .stream()
126
+                    .map(item -> {
127
+                        CheckEfficiencyRankDto rankDto = new CheckEfficiencyRankDto();
128
+                        rankDto.setId(item.getId());
129
+                        rankDto.setName(item.getName());
130
+                        rankDto.setPassRate(item.getPassRate());
131
+                        return rankDto;
132
+                    })
133
+                    .collect(Collectors.toList());
134
+            individualSeizureList.sort((a, b) -> b.getPassRate().compareTo(a.getPassRate()));
135
+            for (int i = 0; i < individualSeizureList.size(); i++) {
136
+                individualSeizureList.get(i).setRank(i + 1);
137
+            }
138
+            result.setIndividualRankList(individualSeizureList);
129 139
         }
130
-        result.setIndividualRankList(individualSeizureList);
131 140
 
132 141
         return result;
133 142
     }

+ 3 - 2
airport-item/src/main/java/com/sundot/airport/item/service/SeizureEfficiencyService.java

@@ -14,8 +14,9 @@ public interface SeizureEfficiencyService {
14 14
     /**
15 15
      * 查询查获效率统计
16 16
      *
17
-     * @param dto 查询参数
17
+     * @param dto       查询参数
18
+     * @param dimension 统计维度:1-人员、2-班级、3-科级、4-大队级
18 19
      * @return 查获效率统计结果
19 20
      */
20
-    public SeizureEfficiencyDto getSeizureEfficiency(BaseLargeScreenQueryParamDto dto);
21
+    public SeizureEfficiencyDto getSeizureEfficiency(BaseLargeScreenQueryParamDto dto, Integer dimension);
21 22
 }

+ 15 - 6
airport-item/src/main/java/com/sundot/airport/item/service/impl/SeizureEfficiencyServiceImpl.java

@@ -31,11 +31,12 @@ public class SeizureEfficiencyServiceImpl implements SeizureEfficiencyService {
31 31
     /**
32 32
      * 查询查获效率统计
33 33
      *
34
-     * @param dto 查询参数
34
+     * @param dto       查询参数
35
+     * @param dimension 统计维度:1-人员、2-班级、3-科级、4-大队级
35 36
      * @return 查获效率统计结果
36 37
      */
37 38
     @Override
38
-    public SeizureEfficiencyDto getSeizureEfficiency(BaseLargeScreenQueryParamDto dto) {
39
+    public SeizureEfficiencyDto getSeizureEfficiency(BaseLargeScreenQueryParamDto dto, Integer dimension) {
39 40
         SeizureEfficiencyDto result = new SeizureEfficiencyDto();
40 41
         if (dto.getEndDate() != null) {
41 42
             //结束时间减一天
@@ -57,16 +58,24 @@ public class SeizureEfficiencyServiceImpl implements SeizureEfficiencyService {
57 58
         }
58 59
 
59 60
         // 获取大队效率排行
60
-        result.setBrigadeRankList(getBrigadeEfficiencyRank(dto));
61
+        if (dimension == null || dimension == 4) {
62
+            result.setBrigadeRankList(getBrigadeEfficiencyRank(dto));
63
+        }
61 64
 
62 65
         // 获取科室效率排行
63
-        result.setDepartmentRankList(getDepartmentEfficiencyRank(dto));
66
+        if (dimension == null || dimension == 3) {
67
+            result.setDepartmentRankList(getDepartmentEfficiencyRank(dto));
68
+        }
64 69
 
65 70
         // 获取班组效率排行
66
-        result.setTeamRankList(getTeamEfficiencyRank(dto));
71
+        if (dimension == null || dimension == 2) {
72
+            result.setTeamRankList(getTeamEfficiencyRank(dto));
73
+        }
67 74
 
68 75
         // 获取个人效率排行
69
-        result.setIndividualRankList(getIndividualEfficiencyRank(dto));
76
+        if (dimension == null || dimension == 1) {
77
+            result.setIndividualRankList(getIndividualEfficiencyRank(dto));
78
+        }
70 79
 
71 80
         return result;
72 81
     }