瀏覽代碼

除数为0处理

zhaops 4 年之前
父節點
當前提交
e7a35757d3
共有 1 個文件被更改,包括 17 次插入12 次删除
  1. 17 12
      src/main/java/com/diagbot/facade/ConsoleFacade.java

+ 17 - 12
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -880,6 +880,7 @@ public class ConsoleFacade {
             return null;
         }
 
+        item.setDeptName("全院");
 
         //总病历数
         Integer mrNum = records
@@ -889,22 +890,32 @@ public class ConsoleFacade {
         if (mrNum == null || mrNum == 0) {
             return null;
         }
+        item.setMrNum(mrNum);
         //核查病历数
         Integer checkedNum = records
                 .stream()
                 .map(HomePageImproveDTO::getCheckedNum)
                 .reduce(0, Integer::sum);
-        //核查病历占比
-        Double checkedPercent = BigDecimal.valueOf(checkedNum)
-                .divide(BigDecimal.valueOf(mrNum), 4, RoundingMode.HALF_UP)
-                .doubleValue();
-        String checkedPercentStr
-                = df.format(BigDecimal.valueOf(checkedPercent).multiply(BigDecimal.valueOf(100))) + "%";
+        item.setCheckedNum(checkedNum);
+        if (mrNum != null && !mrNum.equals(0)) {
+            //核查病历占比
+            Double checkedPercent = BigDecimal.valueOf(checkedNum)
+                    .divide(BigDecimal.valueOf(mrNum), 4, RoundingMode.HALF_UP)
+                    .doubleValue();
+            String checkedPercentStr
+                    = df.format(BigDecimal.valueOf(checkedPercent).multiply(BigDecimal.valueOf(100))) + "%";
+            item.setCheckedPercent(checkedPercent);
+            item.setCheckedPercentStr(checkedPercentStr);
+        }
         //带病案首页的病历数
         Integer homePageMRNum = records
                 .stream()
                 .map(HomePageImproveDTO::getHomePageMRNum)
                 .reduce(0, Integer::sum);
+        item.setHomePageMRNum(homePageMRNum);
+        if (homePageMRNum == null || homePageMRNum.equals(0)) {
+            return item;
+        }
         //改善病历数
         Integer improveNum = records
                 .stream()
@@ -939,12 +950,6 @@ public class ConsoleFacade {
         String improveToFullPercentStr
                 = df.format(BigDecimal.valueOf(improveToFullPercent).multiply(BigDecimal.valueOf(100))) + "%";
 
-        item.setDeptName("全院");
-        item.setMrNum(mrNum);
-        item.setCheckedNum(checkedNum);
-        item.setCheckedPercent(checkedPercent);
-        item.setCheckedPercentStr(checkedPercentStr);
-        item.setHomePageMRNum(homePageMRNum);
         item.setImproveNum(improveNum);
         item.setImprovePercent(improvePercent);
         item.setImprovePercentStr(improvePercentStr);