Prechádzať zdrojové kódy

修改统计报表排序按完成率排降序,与App保持一致

jingyuanchao 1 rok pred
rodič
commit
a2b9a09c39

+ 10 - 16
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillTaskServiceImpl.java

@@ -753,22 +753,16 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
                 result.add(reportVo);
             }
         }
-        if (!SecurityUtils.isApp()) {
-            return result;
-        }
-        result.forEach(r -> {
-            if (r.getFinishRate().contains("%")) {
-                r.setFinishRate(r.getFinishRate().replace("%", ""));
-            }
-        });
-        List<CoreDrillTaskReportVo> reportVoList = result.stream().sorted(Comparator.comparing(vo -> Double.valueOf(vo.getFinishRate()))).collect(Collectors.toList());
-        Collections.reverse(reportVoList);
-        reportVoList.forEach(r -> {
-            if (!r.getFinishRate().contains("%")) {
-                r.setFinishRate(r.getFinishRate() + "%");
-            }
-        });
-        return reportVoList;
+        if (ObjectUtil.isNotEmpty(result)){
+            return result.stream()
+                    .filter(r->ObjectUtil.isNotEmpty(r.getFinishRate()))
+                    .sorted(Comparator.comparing(CoreDrillTaskReportVo::getFinishRate, (rate1, rate2) -> {
+                        double r1 = Double.parseDouble(rate1.replace("%", ""));
+                        double r2 = Double.parseDouble(rate2.replace("%", ""));
+                        return Double.compare(r2, r1); // 降序排序
+                    })).collect(Collectors.toList());
+        }
+        return result;
     }
 
     private String calculateScore(List<CoreDrillTaskReportVo> childrenOrgData) {

+ 9 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingTaskServiceImpl.java

@@ -770,6 +770,15 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
             reportVo.setFinishRate(calculatePercent(totalFinish, totalShouldFinish));
             result.add(reportVo);
         }
+        if (ObjectUtil.isNotEmpty(result)){
+            return result.stream()
+                    .filter(r->ObjectUtil.isNotEmpty(r.getFinishRate()))
+                    .sorted(Comparator.comparing(CoreEduTrainingTaskReportVo::getFinishRate, (rate1, rate2) -> {
+                        double r1 = Double.parseDouble(rate1.replace("%", ""));
+                        double r2 = Double.parseDouble(rate2.replace("%", ""));
+                        return Double.compare(r2, r1); // 降序排序
+                    })).collect(Collectors.toList());
+        }
         return result;
     }
 

+ 10 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/reportForms/monitor/service/impl/MonitorAccessReportServiceImpl.java

@@ -163,7 +163,7 @@ public class MonitorAccessReportServiceImpl implements MonitorAccessReportServic
 
 
         // 使用流式处理来遍历sysOrgs
-        return sysOrgs.stream()
+        List<MonitoringAccessVO> collect = sysOrgs.stream()
                 .map(s -> {
                     MonitoringAccessVO monitoringAccessVO = new MonitoringAccessVO();
                     // 从缓存中获取SysOrg对象
@@ -187,7 +187,7 @@ public class MonitorAccessReportServiceImpl implements MonitorAccessReportServic
                             .filter(r -> ObjectUtil.equal(OrgTypeEnum.YINGYE_WANGDIAN.getCode(), r.getType()))
                             .filter(r -> r.getPath().startsWith(s.getPath()))
                             .count();*/
-                    int orgNum=monitorAccessReportMapper.selectOrgNumByPathAndType(s.getPath(), OrgTypeEnum.YINGYE_WANGDIAN.getCode());
+                    int orgNum = monitorAccessReportMapper.selectOrgNumByPathAndType(s.getPath(), OrgTypeEnum.YINGYE_WANGDIAN.getCode());
                     monitoringAccessDTO.setOrgPath(s.getPath());
                     MonitoringAccessVO monitoringAccessVO1;
                     String avg;
@@ -215,6 +215,14 @@ public class MonitorAccessReportServiceImpl implements MonitorAccessReportServic
                     return monitoringAccessVO;
                 })
                 .collect(Collectors.toList());
+        //按照accessRate排降序
+        return collect.stream()
+                .filter(r -> ObjectUtil.isNotEmpty(r.getAccessRate()))
+                .sorted(Comparator.comparing(MonitoringAccessVO::getAccessRate, (rate1, rate2) -> {
+                    double r1 = Double.parseDouble(rate1.replace("%", ""));
+                    double r2 = Double.parseDouble(rate2.replace("%", ""));
+                    return Double.compare(r2, r1); // 降序排序
+                })).collect(Collectors.toList());
     }
 
     // 方法引用:从缓存中获取SysOrg对象

+ 37 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/reportForms/resumption/service/impl/ResumptionReportServiceImpl.java

@@ -33,6 +33,7 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
+import java.util.stream.Collectors;
 
 /**
  * @author :LuoWei
@@ -167,6 +168,15 @@ public class ResumptionReportServiceImpl implements ResumptionReportService {
         completableFutureList.forEach(x -> {
             resumptionDayVOS.add(x.join());
         });
+        if (ObjectUtil.isNotEmpty(resumptionDayVOS)){
+            return resumptionDayVOS.stream()
+                    .filter(r->ObjectUtil.isNotEmpty(r.getTotalRate()))
+                    .sorted(Comparator.comparing(ResumptionDayVO::getTotalRate, (rate1, rate2) -> {
+                        double r1 = Double.parseDouble(rate1.replace("%", ""));
+                        double r2 = Double.parseDouble(rate2.replace("%", ""));
+                        return Double.compare(r2, r1); // 降序排序
+                    })).collect(Collectors.toList());
+        }
         return resumptionDayVOS;
     }
 
@@ -448,6 +458,15 @@ public class ResumptionReportServiceImpl implements ResumptionReportService {
         completableFutureList.forEach(x -> {
             intrusionTestReportVOList.add(x.join());
         });
+        if (ObjectUtil.isNotEmpty(intrusionTestReportVOList)){
+            return intrusionTestReportVOList.stream()
+                    .filter(r->ObjectUtil.isNotEmpty(r.getRealityRate()))
+                    .sorted(Comparator.comparing(IntrusionTestReportVO::getRealityRate, (rate1, rate2) -> {
+                        double r1 = Double.parseDouble(rate1.replace("%", ""));
+                        double r2 = Double.parseDouble(rate2.replace("%", ""));
+                        return Double.compare(r2, r1); // 降序排序
+                    })).collect(Collectors.toList());
+        }
         return intrusionTestReportVOList;
     }
 
@@ -575,6 +594,15 @@ public class ResumptionReportServiceImpl implements ResumptionReportService {
         if (!showOrgName) {
             intrusionTestReportVOList.removeIf(r -> ObjectUtil.equal(0, r.getNetworkNumber()));
         }
+        if (ObjectUtil.isNotEmpty(intrusionTestReportVOList)){
+            return intrusionTestReportVOList.stream()
+                    .filter(r->ObjectUtil.isNotEmpty(r.getRealityRate()))
+                    .sorted(Comparator.comparing(LhSelfBankInspectionReport::getRealityRate, (rate1, rate2) -> {
+                        double r1 = Double.parseDouble(rate1.replace("%", ""));
+                        double r2 = Double.parseDouble(rate2.replace("%", ""));
+                        return Double.compare(r2, r1); // 降序排序
+                    })).collect(Collectors.toList());
+        }
         return intrusionTestReportVOList;
     }
 
@@ -659,6 +687,15 @@ public class ResumptionReportServiceImpl implements ResumptionReportService {
         completableFutureList.forEach(x -> {
             intrusionTestReportVOList.add(x.join());
         });
+        if (ObjectUtil.isNotEmpty(intrusionTestReportVOList)){
+            return intrusionTestReportVOList.stream()
+                    .filter(r->ObjectUtil.isNotEmpty(r.getRealityRate()))
+                    .sorted(Comparator.comparing(IntrusionTestReportVO::getRealityRate, (rate1, rate2) -> {
+                        double r1 = Double.parseDouble(rate1.replace("%", ""));
+                        double r2 = Double.parseDouble(rate2.replace("%", ""));
+                        return Double.compare(r2, r1); // 降序排序
+                    })).collect(Collectors.toList());
+        }
         return intrusionTestReportVOList;
     }
 

+ 34 - 6
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/reportForms/safetyInspect/service/impl/SafetyInspectServiceImpl.java

@@ -32,6 +32,7 @@ import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
+import java.util.stream.Collectors;
 
 /**
  * @author :LuoWei
@@ -136,11 +137,30 @@ public class SafetyInspectServiceImpl implements SafetyInspectService {
         completableFutureList.forEach(x -> {
             safetyInspectVOList.add(x.join());
         });
+        if (ObjectUtil.isNotEmpty(safetyInspectVOList)) {
+            return safetyInspectVOList.stream()
+                    .filter(r->ObjectUtil.isNotEmpty(r.getInspectRate()))
+                    .sorted(Comparator.comparing(SafetyInspectVO::getInspectRate, (rate1, rate2) -> {
+                        double r1 = Double.parseDouble(rate1.replace("%", ""));
+                        double r2 = Double.parseDouble(rate2.replace("%", ""));
+                        return Double.compare(r2, r1); // 降序排序 inspectRate
+                    })/*.thenComparing(SafetyInspectVO::getInspectCoverRate, (cover1, cover2) -> {
+                        double c1 = Double.parseDouble(cover1.replace("%", ""));
+                        double c2 = Double.parseDouble(cover2.replace("%", ""));
+                        return Double.compare(c2, c1); // 降序排序 inspectCoverRate
+                    }).thenComparing(SafetyInspectVO::getRectificationRate, (rect1, rect2) -> {
+                        double r1 = Double.parseDouble(rect1.replace("%", ""));
+                        double r2 = Double.parseDouble(rect2.replace("%", ""));
+                        return Double.compare(r2, r1); // 降序排序 rectificationRate
+                    })*/)
+                    .collect(Collectors.toList());
+        }
+
+
         return safetyInspectVOList;
     }
 
-    private SafetyInspectVO getOneOrgSafetyInspectData(SysOrg org,SafetyInspectDTO safetyInspectDTO)
-    {
+    private SafetyInspectVO getOneOrgSafetyInspectData(SysOrg org, SafetyInspectDTO safetyInspectDTO) {
         SafetyInspectVO safetyInspectVO = new SafetyInspectVO();
 
         safetyInspectVO.setCity(org.getAffiliatedArea());
@@ -259,11 +279,19 @@ public class SafetyInspectServiceImpl implements SafetyInspectService {
         completableFutureList.forEach(x -> {
             safetyInspectVOList.add(x.join());
         });
+        if (ObjectUtil.isNotEmpty(safetyInspectVOList)){
+            return safetyInspectVOList.stream()
+                    .filter(r->ObjectUtil.isNotEmpty(r.getInspectRate()))
+                    .sorted(Comparator.comparing(SelfInspectVO::getInspectRate, (rate1, rate2) -> {
+                        double r1 = Double.parseDouble(rate1.replace("%", ""));
+                        double r2 = Double.parseDouble(rate2.replace("%", ""));
+                        return Double.compare(r2, r1); // 降序排序
+                    })).collect(Collectors.toList());
+        }
         return safetyInspectVOList;
     }
 
-    private SelfInspectVO getOneOrgSelfInspectData(SysOrg org,SafetyInspectDTO safetyInspectDTO)
-    {
+    private SelfInspectVO getOneOrgSelfInspectData(SysOrg org, SafetyInspectDTO safetyInspectDTO) {
         SelfInspectVO safetyInspectVoResult = new SelfInspectVO();
         SafetyInspectVO safetyInspectVOS;
         Map map1;
@@ -297,7 +325,7 @@ public class SafetyInspectServiceImpl implements SafetyInspectService {
     }
 
     @Override
-    public void export(SafetyInspectDTO safetyInspectDTO, HttpServletResponse response) throws IOException,ExecutionException, InterruptedException, TimeoutException {
+    public void export(SafetyInspectDTO safetyInspectDTO, HttpServletResponse response) throws IOException, ExecutionException, InterruptedException, TimeoutException {
         String orgName = null;
         SysOrg sysOrg;
         if (null == safetyInspectDTO.getOrgId()) {
@@ -333,7 +361,7 @@ public class SafetyInspectServiceImpl implements SafetyInspectService {
     }
 
     @Override
-    public void selfInspectExport(SafetyInspectDTO safetyInspectDTO, HttpServletResponse response) throws IOException,ExecutionException, InterruptedException, TimeoutException {
+    public void selfInspectExport(SafetyInspectDTO safetyInspectDTO, HttpServletResponse response) throws IOException, ExecutionException, InterruptedException, TimeoutException {
         String orgName = null;
         SysOrg sysOrg;
         if (null == safetyInspectDTO.getOrgId()) {

+ 1 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/reportForms/MonitorAccessReportMapper.xml

@@ -41,7 +41,7 @@
         ( a.`status` = 2, 1, 0 )),0) AS realityAccessNumber,
         IF(COUNT( a.id )=0 or 	IFNULL(	SUM(
         IF
-        ( a.`status` = 2, 1, 0 )),0)=0,'0%',IFNULL(CONCAT (ROUND(SUM( IF ( a.`status` = 2, 1, 0 ))/ COUNT( a.id )* 100,2) , '%' ),'0%')) AS accessRate
+        ( a.`status` = 2, 1, 0 )),0)=0,'0.00%',IFNULL(CONCAT (ROUND(SUM( IF ( a.`status` = 2, 1, 0 ))/ COUNT( a.id )* 100,2) , '%' ),'0%')) AS accessRate
         FROM
         core_monitoring_retrieval_task a
 

+ 4 - 4
soc-modules/soc-modules-core/src/main/resources/mapper/reportForms/ResumptionReportMapper.xml

@@ -174,7 +174,7 @@
         (
         IFNULL( SUM( IF ( a.`status` = 3, 1, 0 )), 0 )= 0
         OR COUNT( a.id )= 0,
-        '0%',
+        '0.00%',
         CONCAT(
         ROUND(
         IFNULL( SUM( IF ( a.`status` = 3, 1, 0 )), 0 )/ COUNT( a.id )* 100,
@@ -234,7 +234,7 @@
         (
         IFNULL( SUM( IF ( a.`status` = 3, 1, 0 )), 0 )= 0
         OR COUNT( a.id )= 0,
-        '0%',
+        '0.00%',
         CONCAT(
         ROUND(
         IFNULL( SUM( IF ( a.`status` = 3, 1, 0 )), 0 )/ COUNT( a.id )* 100,
@@ -247,7 +247,7 @@
         (
         SUM( a.exception_reform_count )= 0
         OR IFNULL( a.exception_count, 0 )= 0,
-        '0%',
+        '0.00%',
         CONCAT(ROUND(SUM( a.exception_reform_count )/ IFNULL( a.exception_count, 0 )* 100,2) , '%' )) AS realityRectificationRate
         FROM
         (
@@ -291,7 +291,7 @@
         ),
         '%'
         ),
-        '0%'
+        '0.00%'
         ) AS realityRectificationRate
         FROM
                 core_resumption a