diff --git a/src/main/java/com/gunshi/project/xyt/controller/PersonnelPlanLogController.java b/src/main/java/com/gunshi/project/xyt/controller/PersonnelPlanLogController.java index e93bd2b..1b33507 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/PersonnelPlanLogController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/PersonnelPlanLogController.java @@ -27,6 +27,8 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.io.Serializable; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDate; import java.util.*; @@ -174,6 +176,9 @@ public class PersonnelPlanLogController extends AbstractCommonFileController{ if (Objects.isNull(echartsData1)) { echartsData1 = new PersonnelPlanLogStatisticsVo.EchartsData(); } + if (Objects.isNull(echartsData2)) { + echartsData2 = new PersonnelPlanLogStatisticsVo.EchartsData(); + } int finalI = i; List list = planLogs.stream() .filter(item -> @@ -216,11 +221,19 @@ public class PersonnelPlanLogController extends AbstractCommonFileController{ echartsData1.setMonth(finalI) .setNum2(list.stream().mapToInt(PersonnelPlan::getNumPeople).sum()); + + if ( echartsData1.getNum1() > 0 && echartsData1.getNum2() > 0){ + echartsData1.setRate(new BigDecimal(echartsData1.getNum1()).divide(new BigDecimal(echartsData1.getNum2()), 4, RoundingMode.HALF_UP)); + } map1.put(i, echartsData1); echartsData2 .setMonth(finalI) .setNum2(list.size()); + + if (echartsData1.getNum1() > 0 && echartsData1.getNum2() > 0){ + echartsData2.setRate(new BigDecimal(echartsData2.getNum1()).divide(new BigDecimal(echartsData2.getNum2()), 4, RoundingMode.HALF_UP)); + } map2.put(i, echartsData2); } } diff --git a/src/main/java/com/gunshi/project/xyt/entity/vo/PersonnelPlanLogStatisticsVo.java b/src/main/java/com/gunshi/project/xyt/entity/vo/PersonnelPlanLogStatisticsVo.java index a5e61a0..de41331 100644 --- a/src/main/java/com/gunshi/project/xyt/entity/vo/PersonnelPlanLogStatisticsVo.java +++ b/src/main/java/com/gunshi/project/xyt/entity/vo/PersonnelPlanLogStatisticsVo.java @@ -53,6 +53,6 @@ public class PersonnelPlanLogStatisticsVo { private Integer num2 = 0; @Schema(description="完成率") - private BigDecimal rate; + private BigDecimal rate = BigDecimal.ZERO; } }