Pārlūkot izejas kodu

驾驶舱比例计算

jiawuxian 1 gadu atpakaļ
vecāks
revīzija
61f80e37d0

+ 17 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/utils/NumberUtils.java

@@ -19,4 +19,21 @@ public class NumberUtils {
             return (divisor.floatValue() / total.floatValue());
         }
     }
+
+    /**
+     * 计算比例
+     *
+     * @param total
+     * @param divisor
+     * @return
+     */
+    public static float computeRate(Float total, Float divisor) {
+        if (ObjectUtil.equal(total, 0F) || ObjectUtil.isNull(total)) {
+            return 1F;
+        } else if (ObjectUtil.equal(divisor, 0F) || ObjectUtil.isNull(divisor)) {
+            return 0F;
+        } else {
+            return (divisor / total);
+        }
+    }
 }

+ 3 - 10
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/board/service/impl/AppCockpitServiceImpl.java

@@ -91,11 +91,7 @@ public class AppCockpitServiceImpl implements AppCockpitService {
         childrenStatistic.forEach(i -> {
             AppTaskRankingVo vo = new AppTaskRankingVo();
             vo.setOrgName(i.getOrgName());
-            if (ObjectUtil.equal(i.getTaskTotal(), 0F)) {
-                vo.setRate(1);
-            } else {
-                vo.setRate(i.getCompletedCount() / i.getTaskTotal());
-            }
+            vo.setRate(NumberUtils.computeRate(i.getTaskTotal(),i.getCompletedCount()));
             r.add(vo);
         });
         r.sort(new Comparator<AppTaskRankingVo>() {
@@ -308,11 +304,8 @@ public class AppCockpitServiceImpl implements AppCockpitService {
         AppOverviewItemVo questionVo = new AppOverviewItemVo();
         questionVo.setShouldComplete(question.get().getTotal());
         questionVo.setCurrentCompletedCount(question.get().getCompleted());
-        if (ObjectUtil.equal(questionVo.getShouldComplete(), 0)) {
-            questionVo.setCurrentCompletedRate(1F);
-        } else {
-            questionVo.setCurrentCompletedRate(questionVo.getCurrentCompletedCount().floatValue() / questionVo.getShouldComplete());
-        }
+        questionVo.setCurrentCompletedRate(NumberUtils.computeRate(questionVo.getShouldComplete(),questionVo.getCurrentCompletedCount()));
+
         vo.getTaskInfo().put("问题整改", questionVo);
         return vo;
     }

+ 1 - 5
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/board/service/impl/CockpitServiceImpl.java

@@ -279,11 +279,7 @@ public class CockpitServiceImpl implements CockpitService {
         }
 
         r.forEach(i -> {
-            if (ObjectUtil.equal(i.getTaskTotal(), 0F)) {
-                i.setCompletedRate(1F);
-            } else {
-                i.setCompletedRate(i.getCompletedCount() / i.getTaskTotal());
-            }
+            i.setCompletedRate(NumberUtils.computeRate(i.getTaskTotal(), i.getCompletedCount()));
         });
 
         r.sort(Comparator.comparing(TaskStatisticVo::getCompletedRate));