From b900e65ecd58693efb138fd4c0390f136196858d Mon Sep 17 00:00:00 2001 From: wangfs <15029758498@163.com> Date: Fri, 19 Dec 2025 00:15:17 +0800 Subject: [PATCH] 养护计划优化提交 --- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitRespVO.java | 5 ++++- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadRespVO.java | 6 ++++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/road/RoadDO.java | 6 ++++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/TwoDecimalFloatSerializer.java | 24 ++++++++++++++++++++++++ urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanCommitMapper.xml | 9 +++++---- 5 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/TwoDecimalFloatSerializer.java diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitRespVO.java index 3e65525..564d07c 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitRespVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitRespVO.java @@ -67,11 +67,14 @@ public class MaintainPlanCommitRespVO { @ExcelProperty("养护类型") private Integer planTypeId; - @Schema(description = "本次完成百分比") @ExcelProperty("本次完成百分比") private Integer finishPercent; + @Schema(description = "完成次数") + @ExcelProperty("完成次数") + private Integer planFinishNum; + @Schema(description = "完成时间") @ExcelProperty("完成时间") private LocalDateTime finishTime; diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadRespVO.java index 702ff9c..51de8b8 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadRespVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadRespVO.java @@ -1,5 +1,7 @@ package com.zteits.urbanops.module.garden.controller.admin.road.vo; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.zteits.urbanops.module.garden.util.TwoDecimalFloatSerializer; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -46,18 +48,22 @@ public class RoadRespVO { @Schema(description = "行道树绿化面积", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("行道树绿化面积") + @JsonSerialize(using = TwoDecimalFloatSerializer.class) private Float greenBeltTreeArea; @Schema(description = "绿化带面积", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("绿化带面积") + @JsonSerialize(using = TwoDecimalFloatSerializer.class) private Float greenBeltArea; @Schema(description = "总绿化带面积", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("总绿化带面积") + @JsonSerialize(using = TwoDecimalFloatSerializer.class) private Float totalArea; @Schema(description = "行道树(棵)面积", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("行道树(棵)面积") + @JsonSerialize(using = TwoDecimalFloatSerializer.class) private Float treeArea; @Schema(description = "起点经度", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/road/RoadDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/road/RoadDO.java index 4dcf7a4..14a06b7 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/road/RoadDO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/road/RoadDO.java @@ -1,5 +1,7 @@ package com.zteits.urbanops.module.garden.dal.dataobject.road; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.zteits.urbanops.module.garden.util.TwoDecimalFloatSerializer; import lombok.*; import java.util.*; import java.time.LocalDateTime; @@ -58,18 +60,22 @@ public class RoadDO extends BaseDO { /** * 行道树绿化面积 */ + @JsonSerialize(using = TwoDecimalFloatSerializer.class) private Float greenBeltTreeArea; /** * 绿化带面积 */ + @JsonSerialize(using = TwoDecimalFloatSerializer.class) private Float greenBeltArea; /** * 总绿化带面积 */ + @JsonSerialize(using = TwoDecimalFloatSerializer.class) private Float totalArea; /** * 行道树(棵)面积 */ + @JsonSerialize(using = TwoDecimalFloatSerializer.class) private Float treeArea; /** * 起点经度 diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/TwoDecimalFloatSerializer.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/TwoDecimalFloatSerializer.java new file mode 100644 index 0000000..a165dc8 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/TwoDecimalFloatSerializer.java @@ -0,0 +1,24 @@ +package com.zteits.urbanops.module.garden.util; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; + +import java.io.IOException; +import java.math.BigDecimal; +import java.math.RoundingMode; + +public class TwoDecimalFloatSerializer extends JsonSerializer { + @Override + public void serialize(Float value, JsonGenerator gen, SerializerProvider serializers) throws IOException { + if (value == null) { + gen.writeNull(); + } else { + // 转为 BigDecimal 并保留两位小数,避免浮点误差 + BigDecimal bd = BigDecimal.valueOf(value) + .setScale(2, RoundingMode.HALF_UP); + gen.writeString(bd.toString()); // 输出为字符串:"5.00" + } + } +} + diff --git a/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanCommitMapper.xml b/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanCommitMapper.xml index ba2a731..4d3885b 100644 --- a/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanCommitMapper.xml +++ b/urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanCommitMapper.xml @@ -27,16 +27,17 @@ a.end_time, a.company_id, a.dept_id, - a.finish_num, c.finish_time, - c.user_name + c.user_name, + c.finish_percent FROM garden_maintain_plan_detail a, garden_maintain_plan b, - (SELECT plan_no,finish_time,user_id,user_name FROM garden_maintain_plan_commit ORDER BY id ASC LIMIT 1) c + garden_maintain_plan_commit c WHERE a.batch_no = b.batch_no - AND a.plan_no = c.plan_no + AND a.plan_no = c.plan_no + AND b.batch_no = c.batch_no and a.plan_no = #{req.planNo} -- libgit2 0.21.4