Commit b900e65ecd58693efb138fd4c0390f136196858d

Authored by 王富生
1 parent d7f03be7

养护计划优化提交

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>
... ...