Sfoglia il codice sorgente

项目相关实体

lichaoliu 4 anni fa
parent
commit
2f1381a265

BIN
dowload/template/项目储备导入模板.xlsx


+ 5 - 0
src/main/java/com/migao/config/properties/SystemProperties.java

@@ -56,6 +56,11 @@ public class SystemProperties {
      * 文件存储绝对路径
      */
     public String fileStoreDirPath;
+
+    /**
+     * 模板地址
+     */
+    public String fileTemplateDir;
     /**
      * 负载服务器配置
      */

+ 7 - 0
src/main/java/com/migao/controller/ProjectStoreController.java

@@ -132,4 +132,11 @@ public class ProjectStoreController {
         return projectService.export(projectPageQueryReq);
     }
 
+    @ApiOperationSupport(order = 10)
+    @ApiOperation("导入模板下载")
+    @PostMapping(value = "/template")
+    public ResponseBean<?> template() {
+        return projectService.template();
+    }
+
 }

+ 14 - 13
src/main/java/com/migao/entity/vo/res/ProjectQueryRes.java

@@ -2,6 +2,7 @@ package com.migao.entity.vo.res;
 
 import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.migao.util.LocalDateTimeConverter;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -25,26 +26,18 @@ public class ProjectQueryRes {
     @ApiModelProperty(value = "主键")
     private Integer id;
 
-    @ExcelProperty(value = "资本性(万元)")
-    @ApiModelProperty(value = "资本性(万元)")
-    private String capital;
+    @ExcelProperty(value = "项目名称")
+    @ApiModelProperty(value = "项目名称")
+    private String name;
 
     @ExcelProperty(value = "项目内容")
     @ApiModelProperty(value = "项目内容")
     private String content;
 
-    @ExcelProperty(value = "成本性(万元)")
-    @ApiModelProperty(value = "成本性(万元)")
-    private String cost;
-
     @ExcelProperty(value = "重要等级")
     @ApiModelProperty(value = "重要等级")
     private String level;
 
-    @ExcelProperty(value = "项目名称")
-    @ApiModelProperty(value = "项目名称")
-    private String name;
-
     @ExcelProperty(value = "可研情况")
     @ApiModelProperty(value = "可研情况")
     private String progress;
@@ -65,6 +58,14 @@ public class ProjectQueryRes {
     @ApiModelProperty(value = "总投资(万元)")
     private String totalInvestment;
 
+    @ExcelProperty(value = "资本性(万元)")
+    @ApiModelProperty(value = "资本性(万元)")
+    private String capital;
+
+    @ExcelProperty(value = "成本性(万元)")
+    @ApiModelProperty(value = "成本性(万元)")
+    private String cost;
+
     @ExcelProperty(value = "二级分类")
     @ApiModelProperty(value = "二级分类")
     private String twoClassify;
@@ -82,8 +83,8 @@ public class ProjectQueryRes {
     private String reserveStatus;
 
 
-    @ExcelProperty(value = "创建时间")
+    @ExcelProperty(value = "创建时间", converter = LocalDateTimeConverter.class)
     @ApiModelProperty(value = "创建时间")
-   private LocalDateTime createTime;
+    private LocalDateTime createTime;
 
 }

+ 3 - 0
src/main/java/com/migao/service/ProjectService.java

@@ -77,4 +77,7 @@ public interface ProjectService {
     ResponseBean<PageBean<ProjectQueryRes>> pageQueryControl(ProjectPageQueryReq projectPageQueryReq);
 
     ResponseBean<?> insertSubProject(SubProjectInsertReq subProjectInsertReq);
+
+    ResponseBean<?> template();
+
 }

+ 9 - 0
src/main/java/com/migao/service/impl/ProjectServiceImpl.java

@@ -340,4 +340,13 @@ public class ProjectServiceImpl implements ProjectService {
         projectMapper.updateById(parProject);
         return ResponseBuilder.ok();
     }
+
+    @Override
+    public ResponseBean<?> template() {
+        String filePath = StringUtils.join(
+                systemProperties.getDownloadPrefix()+
+                systemProperties.getFileTemplateDir()+"/项目储备导入模板.xlsx"
+        );
+        return ResponseBuilder.ok(filePath);
+    }
 }

+ 31 - 0
src/main/java/com/migao/util/BaseWriteConverter.java

@@ -0,0 +1,31 @@
+package com.migao.util;
+
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.enums.CellDataTypeEnum;
+import com.alibaba.excel.metadata.CellData;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+
+/**
+ * 写Excel时继承该自定义转换器
+ *
+ * @param <T>
+ */
+abstract class BaseWriteConverter<T> implements Converter<T> {
+    private T t;
+
+    @Override
+    public Class supportJavaTypeKey() {
+        return t.getClass();
+    }
+
+    @Override
+    public CellDataTypeEnum supportExcelTypeKey() {
+        return CellDataTypeEnum.STRING;
+    }
+
+    @Override
+    public T convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+        return t;
+    }
+}

+ 26 - 0
src/main/java/com/migao/util/LocalDateTimeConverter.java

@@ -0,0 +1,26 @@
+package com.migao.util;
+
+import com.alibaba.excel.metadata.CellData;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * 转换器示例
+ */
+public class LocalDateTimeConverter extends BaseWriteConverter<LocalDateTime> {
+
+    @Override
+    public CellData convertToExcelData(LocalDateTime value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+        String date = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(value);
+        return new CellData(date);
+    }
+
+    @Override
+    public LocalDateTime convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+        String date = cellData.getStringValue();
+        return LocalDateTime.parse(date, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+    }
+}