From 4982f58106f8b8b516259ffcf93d68b125b2aac2 Mon Sep 17 00:00:00 2001 From: xjm Date: Thu, 26 Sep 2024 10:06:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=B9=E8=AE=AD=E8=AE=B0=E5=BD=95=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xyt/controller/PersonnelPlanLogController.java | 13 +++++++++++++ .../xyt/entity/vo/PersonnelPlanLogStatisticsVo.java | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) 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; } }