Kaynağa Gözat

解决选择没有班级的年级,计算出勤率报错的问题

dzx 1 yıl önce
ebeveyn
işleme
891385f4c8

+ 7 - 2
src/main/java/com/xjrsoft/module/attendance/controller/StatisticsController.java

@@ -179,8 +179,13 @@ public class StatisticsController {
             statisticsVo.setAbsenteeismCount(statisticsVo.getAllCount() - statisticsVo.getLeaveCount() - statisticsVo.getActualCount());
 
             //计算出勤率
-            BigDecimal divide = BigDecimal.valueOf(statisticsVo.getActualCount()).divide(BigDecimal.valueOf(statisticsVo.getAllCount()), 4, RoundingMode.HALF_UP);
-            statisticsVo.setAttendanceRate(divide.doubleValue());
+            if(statisticsVo.getAllCount() != null && statisticsVo.getAllCount() != 0){
+                BigDecimal divide = BigDecimal.valueOf(statisticsVo.getActualCount()).divide(BigDecimal.valueOf(statisticsVo.getAllCount()), 4, RoundingMode.HALF_UP);
+                statisticsVo.setAttendanceRate(divide.doubleValue());
+            }else{
+                statisticsVo.setAttendanceRate(0D);
+            }
+
         }
 
         return RT.ok(statisticsVo);