Commit b900e65ecd58693efb138fd4c0390f136196858d
1 parent
d7f03be7
养护计划优化提交
Showing
5 changed files
with
45 additions
and
5 deletions
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanCommitRespVO.java
| ... | ... | @@ -67,11 +67,14 @@ public class MaintainPlanCommitRespVO { |
| 67 | 67 | @ExcelProperty("养护类型") |
| 68 | 68 | private Integer planTypeId; |
| 69 | 69 | |
| 70 | - | |
| 71 | 70 | @Schema(description = "本次完成百分比") |
| 72 | 71 | @ExcelProperty("本次完成百分比") |
| 73 | 72 | private Integer finishPercent; |
| 74 | 73 | |
| 74 | + @Schema(description = "完成次数") | |
| 75 | + @ExcelProperty("完成次数") | |
| 76 | + private Integer planFinishNum; | |
| 77 | + | |
| 75 | 78 | @Schema(description = "完成时间") |
| 76 | 79 | @ExcelProperty("完成时间") |
| 77 | 80 | private LocalDateTime finishTime; | ... | ... |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadRespVO.java
| 1 | 1 | package com.zteits.urbanops.module.garden.controller.admin.road.vo; |
| 2 | 2 | |
| 3 | +import com.fasterxml.jackson.databind.annotation.JsonSerialize; | |
| 4 | +import com.zteits.urbanops.module.garden.util.TwoDecimalFloatSerializer; | |
| 3 | 5 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | 6 | import lombok.*; |
| 5 | 7 | import java.util.*; |
| ... | ... | @@ -46,18 +48,22 @@ public class RoadRespVO { |
| 46 | 48 | |
| 47 | 49 | @Schema(description = "行道树绿化面积", requiredMode = Schema.RequiredMode.REQUIRED) |
| 48 | 50 | @ExcelProperty("行道树绿化面积") |
| 51 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | |
| 49 | 52 | private Float greenBeltTreeArea; |
| 50 | 53 | |
| 51 | 54 | @Schema(description = "绿化带面积", requiredMode = Schema.RequiredMode.REQUIRED) |
| 52 | 55 | @ExcelProperty("绿化带面积") |
| 56 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | |
| 53 | 57 | private Float greenBeltArea; |
| 54 | 58 | |
| 55 | 59 | @Schema(description = "总绿化带面积", requiredMode = Schema.RequiredMode.REQUIRED) |
| 56 | 60 | @ExcelProperty("总绿化带面积") |
| 61 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | |
| 57 | 62 | private Float totalArea; |
| 58 | 63 | |
| 59 | 64 | @Schema(description = "行道树(棵)面积", requiredMode = Schema.RequiredMode.REQUIRED) |
| 60 | 65 | @ExcelProperty("行道树(棵)面积") |
| 66 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | |
| 61 | 67 | private Float treeArea; |
| 62 | 68 | |
| 63 | 69 | @Schema(description = "起点经度", requiredMode = Schema.RequiredMode.REQUIRED) | ... | ... |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/road/RoadDO.java
| 1 | 1 | package com.zteits.urbanops.module.garden.dal.dataobject.road; |
| 2 | 2 | |
| 3 | +import com.fasterxml.jackson.databind.annotation.JsonSerialize; | |
| 4 | +import com.zteits.urbanops.module.garden.util.TwoDecimalFloatSerializer; | |
| 3 | 5 | import lombok.*; |
| 4 | 6 | import java.util.*; |
| 5 | 7 | import java.time.LocalDateTime; |
| ... | ... | @@ -58,18 +60,22 @@ public class RoadDO extends BaseDO { |
| 58 | 60 | /** |
| 59 | 61 | * 行道树绿化面积 |
| 60 | 62 | */ |
| 63 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | |
| 61 | 64 | private Float greenBeltTreeArea; |
| 62 | 65 | /** |
| 63 | 66 | * 绿化带面积 |
| 64 | 67 | */ |
| 68 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | |
| 65 | 69 | private Float greenBeltArea; |
| 66 | 70 | /** |
| 67 | 71 | * 总绿化带面积 |
| 68 | 72 | */ |
| 73 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | |
| 69 | 74 | private Float totalArea; |
| 70 | 75 | /** |
| 71 | 76 | * 行道树(棵)面积 |
| 72 | 77 | */ |
| 78 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | |
| 73 | 79 | private Float treeArea; |
| 74 | 80 | /** |
| 75 | 81 | * 起点经度 | ... | ... |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/TwoDecimalFloatSerializer.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.util; | |
| 2 | + | |
| 3 | +import com.fasterxml.jackson.core.JsonGenerator; | |
| 4 | +import com.fasterxml.jackson.databind.JsonSerializer; | |
| 5 | +import com.fasterxml.jackson.databind.SerializerProvider; | |
| 6 | + | |
| 7 | +import java.io.IOException; | |
| 8 | +import java.math.BigDecimal; | |
| 9 | +import java.math.RoundingMode; | |
| 10 | + | |
| 11 | +public class TwoDecimalFloatSerializer extends JsonSerializer<Float> { | |
| 12 | + @Override | |
| 13 | + public void serialize(Float value, JsonGenerator gen, SerializerProvider serializers) throws IOException { | |
| 14 | + if (value == null) { | |
| 15 | + gen.writeNull(); | |
| 16 | + } else { | |
| 17 | + // 转为 BigDecimal 并保留两位小数,避免浮点误差 | |
| 18 | + BigDecimal bd = BigDecimal.valueOf(value) | |
| 19 | + .setScale(2, RoundingMode.HALF_UP); | |
| 20 | + gen.writeString(bd.toString()); // 输出为字符串:"5.00" | |
| 21 | + } | |
| 22 | + } | |
| 23 | +} | |
| 24 | + | ... | ... |
urbanops-module-garden/src/main/resources/mapper/maintainplan/MaintainPlanCommitMapper.xml
| ... | ... | @@ -27,16 +27,17 @@ |
| 27 | 27 | a.end_time, |
| 28 | 28 | a.company_id, |
| 29 | 29 | a.dept_id, |
| 30 | - a.finish_num, | |
| 31 | 30 | c.finish_time, |
| 32 | - c.user_name | |
| 31 | + c.user_name, | |
| 32 | + c.finish_percent | |
| 33 | 33 | FROM |
| 34 | 34 | garden_maintain_plan_detail a, |
| 35 | 35 | garden_maintain_plan b, |
| 36 | - (SELECT plan_no,finish_time,user_id,user_name FROM garden_maintain_plan_commit ORDER BY id ASC LIMIT 1) c | |
| 36 | + garden_maintain_plan_commit c | |
| 37 | 37 | WHERE |
| 38 | 38 | a.batch_no = b.batch_no |
| 39 | - AND a.plan_no = c.plan_no | |
| 39 | + AND a.plan_no = c.plan_no | |
| 40 | + AND b.batch_no = c.batch_no | |
| 40 | 41 | <if test="req.planNo != null and req.planNo !=''"> |
| 41 | 42 | and a.plan_no = #{req.planNo} |
| 42 | 43 | </if> | ... | ... |