Commit 64c89a157e76fc86a1c5cf03ff0b8cf905f9341a
Merge remote-tracking branch 'origin/dev' into dev
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,11 +67,14 @@ public class MaintainPlanCommitRespVO { | ||
| 67 | @ExcelProperty("养护类型") | 67 | @ExcelProperty("养护类型") |
| 68 | private Integer planTypeId; | 68 | private Integer planTypeId; |
| 69 | 69 | ||
| 70 | - | ||
| 71 | @Schema(description = "本次完成百分比") | 70 | @Schema(description = "本次完成百分比") |
| 72 | @ExcelProperty("本次完成百分比") | 71 | @ExcelProperty("本次完成百分比") |
| 73 | private Integer finishPercent; | 72 | private Integer finishPercent; |
| 74 | 73 | ||
| 74 | + @Schema(description = "完成次数") | ||
| 75 | + @ExcelProperty("完成次数") | ||
| 76 | + private Integer planFinishNum; | ||
| 77 | + | ||
| 75 | @Schema(description = "完成时间") | 78 | @Schema(description = "完成时间") |
| 76 | @ExcelProperty("完成时间") | 79 | @ExcelProperty("完成时间") |
| 77 | private LocalDateTime finishTime; | 80 | private LocalDateTime finishTime; |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadRespVO.java
| 1 | package com.zteits.urbanops.module.garden.controller.admin.road.vo; | 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 | import io.swagger.v3.oas.annotations.media.Schema; | 5 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | import lombok.*; | 6 | import lombok.*; |
| 5 | import java.util.*; | 7 | import java.util.*; |
| @@ -46,18 +48,22 @@ public class RoadRespVO { | @@ -46,18 +48,22 @@ public class RoadRespVO { | ||
| 46 | 48 | ||
| 47 | @Schema(description = "行道树绿化面积", requiredMode = Schema.RequiredMode.REQUIRED) | 49 | @Schema(description = "行道树绿化面积", requiredMode = Schema.RequiredMode.REQUIRED) |
| 48 | @ExcelProperty("行道树绿化面积") | 50 | @ExcelProperty("行道树绿化面积") |
| 51 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | ||
| 49 | private Float greenBeltTreeArea; | 52 | private Float greenBeltTreeArea; |
| 50 | 53 | ||
| 51 | @Schema(description = "绿化带面积", requiredMode = Schema.RequiredMode.REQUIRED) | 54 | @Schema(description = "绿化带面积", requiredMode = Schema.RequiredMode.REQUIRED) |
| 52 | @ExcelProperty("绿化带面积") | 55 | @ExcelProperty("绿化带面积") |
| 56 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | ||
| 53 | private Float greenBeltArea; | 57 | private Float greenBeltArea; |
| 54 | 58 | ||
| 55 | @Schema(description = "总绿化带面积", requiredMode = Schema.RequiredMode.REQUIRED) | 59 | @Schema(description = "总绿化带面积", requiredMode = Schema.RequiredMode.REQUIRED) |
| 56 | @ExcelProperty("总绿化带面积") | 60 | @ExcelProperty("总绿化带面积") |
| 61 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | ||
| 57 | private Float totalArea; | 62 | private Float totalArea; |
| 58 | 63 | ||
| 59 | @Schema(description = "行道树(棵)面积", requiredMode = Schema.RequiredMode.REQUIRED) | 64 | @Schema(description = "行道树(棵)面积", requiredMode = Schema.RequiredMode.REQUIRED) |
| 60 | @ExcelProperty("行道树(棵)面积") | 65 | @ExcelProperty("行道树(棵)面积") |
| 66 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | ||
| 61 | private Float treeArea; | 67 | private Float treeArea; |
| 62 | 68 | ||
| 63 | @Schema(description = "起点经度", requiredMode = Schema.RequiredMode.REQUIRED) | 69 | @Schema(description = "起点经度", requiredMode = Schema.RequiredMode.REQUIRED) |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/road/RoadDO.java
| 1 | package com.zteits.urbanops.module.garden.dal.dataobject.road; | 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 | import lombok.*; | 5 | import lombok.*; |
| 4 | import java.util.*; | 6 | import java.util.*; |
| 5 | import java.time.LocalDateTime; | 7 | import java.time.LocalDateTime; |
| @@ -58,18 +60,22 @@ public class RoadDO extends BaseDO { | @@ -58,18 +60,22 @@ public class RoadDO extends BaseDO { | ||
| 58 | /** | 60 | /** |
| 59 | * 行道树绿化面积 | 61 | * 行道树绿化面积 |
| 60 | */ | 62 | */ |
| 63 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | ||
| 61 | private Float greenBeltTreeArea; | 64 | private Float greenBeltTreeArea; |
| 62 | /** | 65 | /** |
| 63 | * 绿化带面积 | 66 | * 绿化带面积 |
| 64 | */ | 67 | */ |
| 68 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | ||
| 65 | private Float greenBeltArea; | 69 | private Float greenBeltArea; |
| 66 | /** | 70 | /** |
| 67 | * 总绿化带面积 | 71 | * 总绿化带面积 |
| 68 | */ | 72 | */ |
| 73 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | ||
| 69 | private Float totalArea; | 74 | private Float totalArea; |
| 70 | /** | 75 | /** |
| 71 | * 行道树(棵)面积 | 76 | * 行道树(棵)面积 |
| 72 | */ | 77 | */ |
| 78 | + @JsonSerialize(using = TwoDecimalFloatSerializer.class) | ||
| 73 | private Float treeArea; | 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,16 +27,17 @@ | ||
| 27 | a.end_time, | 27 | a.end_time, |
| 28 | a.company_id, | 28 | a.company_id, |
| 29 | a.dept_id, | 29 | a.dept_id, |
| 30 | - a.finish_num, | ||
| 31 | c.finish_time, | 30 | c.finish_time, |
| 32 | - c.user_name | 31 | + c.user_name, |
| 32 | + c.finish_percent | ||
| 33 | FROM | 33 | FROM |
| 34 | garden_maintain_plan_detail a, | 34 | garden_maintain_plan_detail a, |
| 35 | garden_maintain_plan b, | 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 | WHERE | 37 | WHERE |
| 38 | a.batch_no = b.batch_no | 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 | <if test="req.planNo != null and req.planNo !=''"> | 41 | <if test="req.planNo != null and req.planNo !=''"> |
| 41 | and a.plan_no = #{req.planNo} | 42 | and a.plan_no = #{req.planNo} |
| 42 | </if> | 43 | </if> |