Commit f3b978d1f8535d361e95cf3bf75cdc1c1d3f65e5

Authored by 王富生
1 parent f7518567

抢险任务提交update

urbanops-framework/urbanops-spring-boot-starter-excel/src/main/java/com/zteits/urbanops/framework/excel/core/convert/ListToStringConverter.java 0 → 100644
  1 +package com.zteits.urbanops.framework.excel.core.convert;
  2 +import cn.idev.excel.converters.Converter;
  3 +import cn.hutool.core.collection.CollectionUtil;
  4 +import cn.idev.excel.enums.CellDataTypeEnum;
  5 +import cn.idev.excel.metadata.GlobalConfiguration;
  6 +import cn.idev.excel.metadata.data.WriteCellData;
  7 +import cn.idev.excel.metadata.property.ExcelContentProperty;
  8 +
  9 +import java.util.List;
  10 +
  11 +/**
  12 + * List 转 Excel 字符串转换器(将List用逗号拼接成字符串)
  13 + */
  14 +public class ListToStringConverter implements Converter<List<?>> {
  15 +
  16 + @Override
  17 + public Class<?> supportJavaTypeKey() {
  18 + // 声明支持的Java类型:List
  19 + return List.class;
  20 + }
  21 +
  22 + @Override
  23 + public CellDataTypeEnum supportExcelTypeKey() {
  24 + // Excel单元格类型:字符串
  25 + return CellDataTypeEnum.STRING;
  26 + }
  27 +
  28 + @Override
  29 + public WriteCellData<?> convertToExcelData(List<?> value, ExcelContentProperty contentProperty,
  30 + GlobalConfiguration globalConfiguration) {
  31 + // 核心转换逻辑:List为空返回空字符串,否则用逗号拼接
  32 + if (CollectionUtil.isEmpty(value)) {
  33 + return new WriteCellData<>("");
  34 + }
  35 + String joinStr = String.join(",", value.stream()
  36 + .map(Object::toString)
  37 + .toArray(String[]::new));
  38 + return new WriteCellData<>(joinStr);
  39 + }
  40 +}
0 \ No newline at end of file 41 \ No newline at end of file
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/emergencytask/EmergencyTaskController.java
@@ -98,7 +98,7 @@ public class EmergencyTaskController { @@ -98,7 +98,7 @@ public class EmergencyTaskController {
98 98
99 @GetMapping("/export-excel") 99 @GetMapping("/export-excel")
100 @Operation(summary = "导出抢险任务主 Excel") 100 @Operation(summary = "导出抢险任务主 Excel")
101 - @PreAuthorize("@ss.hasPermission('garden:emergency-task:export')") 101 + //@PreAuthorize("@ss.hasPermission('garden:emergency-task:export')")
102 @ApiAccessLog(operateType = EXPORT) 102 @ApiAccessLog(operateType = EXPORT)
103 public void exportEmergencyTaskExcel(@Valid EmergencyTaskPageReqVO pageReqVO, 103 public void exportEmergencyTaskExcel(@Valid EmergencyTaskPageReqVO pageReqVO,
104 HttpServletResponse response) throws IOException { 104 HttpServletResponse response) throws IOException {
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/emergencytask/vo/EmergencyTaskRespVO.java
1 package com.zteits.urbanops.module.garden.controller.admin.emergencytask.vo; 1 package com.zteits.urbanops.module.garden.controller.admin.emergencytask.vo;
2 2
3 -import com.baomidou.mybatisplus.annotation.TableField;  
4 -import com.zteits.urbanops.framework.mybatis.core.type.StringArrayToListTypeHandler;  
5 -import com.zteits.urbanops.framework.mybatis.core.type.StringListTypeHandler; 3 +import com.zteits.urbanops.framework.excel.core.convert.ListToStringConverter;
6 import com.zteits.urbanops.module.garden.dal.dataobject.emergencytask.EmergencyMachineryDO; 4 import com.zteits.urbanops.module.garden.dal.dataobject.emergencytask.EmergencyMachineryDO;
7 import io.swagger.v3.oas.annotations.media.Schema; 5 import io.swagger.v3.oas.annotations.media.Schema;
8 import lombok.*; 6 import lombok.*;
9 import java.util.*; 7 import java.util.*;
10 -import org.springframework.format.annotation.DateTimeFormat;  
11 import java.time.LocalDateTime; 8 import java.time.LocalDateTime;
12 import cn.idev.excel.annotation.*; 9 import cn.idev.excel.annotation.*;
13 10
@@ -57,8 +54,7 @@ public class EmergencyTaskRespVO { @@ -57,8 +54,7 @@ public class EmergencyTaskRespVO {
57 private LocalDateTime rescueStartTime; 54 private LocalDateTime rescueStartTime;
58 55
59 @Schema(description = "抢险中照片", requiredMode = Schema.RequiredMode.REQUIRED) 56 @Schema(description = "抢险中照片", requiredMode = Schema.RequiredMode.REQUIRED)
60 - @ExcelProperty("抢险中照片")  
61 - @TableField(typeHandler = StringArrayToListTypeHandler.class) 57 + @ExcelProperty(value="抢险中照片", converter = ListToStringConverter.class)
62 private List<String> emergencyImg; 58 private List<String> emergencyImg;
63 59
64 @Schema(description = "树种(如:国槐)") 60 @Schema(description = "树种(如:国槐)")
@@ -78,8 +74,7 @@ public class EmergencyTaskRespVO { @@ -78,8 +74,7 @@ public class EmergencyTaskRespVO {
78 private Integer personnelCount; 74 private Integer personnelCount;
79 75
80 @Schema(description = "抢险结束照片", requiredMode = Schema.RequiredMode.REQUIRED) 76 @Schema(description = "抢险结束照片", requiredMode = Schema.RequiredMode.REQUIRED)
81 - @ExcelProperty("抢险结束照片")  
82 - @TableField(typeHandler = StringArrayToListTypeHandler.class) 77 + @ExcelProperty(value="抢险结束照片", converter = ListToStringConverter.class)
83 private List<String> emergencyEndImg; 78 private List<String> emergencyEndImg;
84 79
85 @Schema(description = "备注") 80 @Schema(description = "备注")
@@ -130,6 +125,7 @@ public class EmergencyTaskRespVO { @@ -130,6 +125,7 @@ public class EmergencyTaskRespVO {
130 @ExcelProperty("更新者") 125 @ExcelProperty("更新者")
131 private String updaterName; 126 private String updaterName;
132 127
  128 + @ExcelProperty(value="机械信息", converter = ListToStringConverter.class)
133 private List<EmergencyMachineryDO> emergencyMachineryList; 129 private List<EmergencyMachineryDO> emergencyMachineryList;
134 130
135 @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "20800") 131 @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "20800")