diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoConcernDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoConcernDTO.java
index 500e28d53e..2068008383 100644
--- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoConcernDTO.java
+++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoConcernDTO.java
@@ -40,7 +40,7 @@ public class MemoConcernDTO implements Serializable {
/**
* 关怀对象电话
*/
- private String phnoe;
+ private String phone;
/**
* 关怀对象地址
diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml
index 88e598b596..8604647c05 100644
--- a/epmet-module/gov-project/gov-project-server/pom.xml
+++ b/epmet-module/gov-project/gov-project-server/pom.xml
@@ -148,6 +148,18 @@
true
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+
+
+ xls
+ xlsx
+ doc
+ docx
+
+
+
${project.basedir}/src/main/java
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoConcernController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoConcernController.java
index 39d1beb1d4..bf3df91094 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoConcernController.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoConcernController.java
@@ -1,7 +1,12 @@
package com.epmet.controller;
+import cn.afterturn.easypoi.word.WordExportUtil;
+import cn.hutool.core.bean.BeanUtil;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
+import com.epmet.commons.tools.exception.EpmetErrorCode;
+import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
@@ -9,10 +14,16 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.MemoConcernDTO;
+import com.epmet.dto.MemoWorkDiaryDTO;
import com.epmet.service.MemoConcernService;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import java.net.URL;
import java.util.Map;
@@ -67,6 +78,56 @@ public class MemoConcernController {
return new Result();
}
+ @PostMapping("/{id}/exportWord")
+ public void exportWord(@PathVariable("id") String id, HttpServletResponse response) throws Exception {
+ URL resource = this.getClass().getClassLoader().getResource("templates/memo_concern_export_template.docx");
+
+ MemoConcernDTO data = memoConcernService.get(id);
+
+ if (data == null) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未找到id为" + id + "的关怀项目", "未找到该关怀项目");
+ }
+
+ Map map = BeanUtil.beanToMap(data);
+
+ // 创建时间
+ if (data.getCreatedTime() != null) {
+ String createTimeStr = DateUtils.format(data.getCreatedTime(), "yyyy年MM月dd日 HH:mm");
+ map.put("createTime", createTimeStr);
+ } else {
+ map.put("createTime", "");
+ }
+
+ // 预计关怀时间
+ if (data.getScheduledTime() != null) {
+ String scheduledTimeStr = DateUtils.format(data.getScheduledTime(), "yyyy年MM月dd日 HH:mm");
+ map.put("scheduledTime", scheduledTimeStr);
+ } else {
+ map.put("scheduledTime", "");
+ }
+
+ //状态
+ map.put("statusName", "0".equals(data.getStatus()) ? "未完成" : "已完成");
+
+ XWPFDocument doc = WordExportUtil.exportWord07(resource.getFile(), map);
+
+ String filePath = resource.getFile();
+ String suffix = filePath.substring(filePath.lastIndexOf("."));
+
+ response.setHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
+ response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
+ response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;fileName=人员关怀导入模板" + suffix);
+
+ ServletOutputStream fos = null;
+ try {
+ fos = response.getOutputStream();
+ doc.write(fos);
+ } finally {
+ if (fos != null) {
+ fos.close();
+ }
+ }
+ }
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java
index c932841cf8..012059e342 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java
@@ -1,7 +1,12 @@
package com.epmet.controller;
+import cn.afterturn.easypoi.word.WordExportUtil;
+import cn.hutool.core.bean.BeanUtil;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
+import com.epmet.commons.tools.exception.EpmetErrorCode;
+import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
@@ -9,10 +14,16 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.MemoDifficultyDTO;
+import com.epmet.dto.MemoWorkDiaryDTO;
import com.epmet.service.MemoDifficultyService;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import java.net.URL;
import java.util.Map;
@@ -67,6 +78,43 @@ public class MemoDifficultyController {
return new Result();
}
+ @PostMapping("/{id}/exportWord")
+ public void exportWord(@PathVariable("id") String id, HttpServletResponse response) throws Exception {
+ URL resource = this.getClass().getClassLoader().getResource("templates/memo_difficulty_export_template.docx");
+
+ MemoDifficultyDTO data = memoDifficultyService.get(id);
+
+ if (data == null) {
+ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "未找到id为" + id + "的难点堵点项", "未找到该难点堵点项");
+ }
+
+ Map map = BeanUtil.beanToMap(data);
+
+ String createTimeStr = DateUtils.format(data.getCreatedTime(), "yyyy年MM月dd日 HH:mm");
+ map.put("createTime", createTimeStr);
+
+ String scheduledTimeStr = DateUtils.format(data.getScheduledTime(), "yyyy年MM月dd日 HH:mm");
+ map.put("scheduledTime", scheduledTimeStr);
+
+ XWPFDocument doc = WordExportUtil.exportWord07(resource.getFile(), map);
+
+ String filePath = resource.getFile();
+ String suffix = filePath.substring(filePath.lastIndexOf("."));
+
+ response.setHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
+ response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
+ response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;fileName=工作日志导入模板" + suffix);
+
+ ServletOutputStream fos = null;
+ try {
+ fos = response.getOutputStream();
+ doc.write(fos);
+ } finally {
+ if (fos != null) {
+ fos.close();
+ }
+ }
+ }
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoWorkDiaryController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoWorkDiaryController.java
index 43faecbcab..2692fdf195 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoWorkDiaryController.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoWorkDiaryController.java
@@ -1,7 +1,10 @@
package com.epmet.controller;
+import cn.afterturn.easypoi.word.WordExportUtil;
+import cn.hutool.core.bean.BeanUtil;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
@@ -10,10 +13,19 @@ import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.MemoWorkDiaryDTO;
import com.epmet.service.MemoWorkDiaryService;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.HashMap;
import java.util.Map;
+import java.util.Optional;
/**
@@ -67,6 +79,33 @@ public class MemoWorkDiaryController {
return new Result();
}
+ @PostMapping("/{id}/exportWord")
+ public void exportWord(@PathVariable("id") String id, HttpServletResponse response) throws Exception {
+ URL resource = this.getClass().getClassLoader().getResource("templates/memo_work_diary_export_template.docx");
+ MemoWorkDiaryDTO data = memoWorkDiaryService.get(id);
+
+ Map map = BeanUtil.beanToMap(data);
+ String createTimeStr = DateUtils.format(data.getCreatedTime(), "yyyy年MM月dd日 HH:mm");
+ map.put("createTime", createTimeStr);
+
+ XWPFDocument doc = WordExportUtil.exportWord07(resource.getFile(), map);
+ String filePath = resource.getFile();
+ String suffix = filePath.substring(filePath.lastIndexOf("."));
+
+ response.setHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition");
+ response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.wordprocessingml.document");
+ response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;fileName=工作日志导入模板" + suffix);
+
+ ServletOutputStream fos = null;
+ try {
+ fos = response.getOutputStream();
+ doc.write(fos);
+ } finally {
+ if (fos != null) {
+ fos.close();
+ }
+ }
+ }
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoConcernEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoConcernEntity.java
index f897debb03..59a2770876 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoConcernEntity.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoConcernEntity.java
@@ -38,7 +38,7 @@ public class MemoConcernEntity extends BaseEpmetEntity {
/**
* 关怀对象电话
*/
- private String phnoe;
+ private String phone;
/**
* 关怀对象地址
diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_concern_export_template.docx b/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_concern_export_template.docx
new file mode 100644
index 0000000000..07d3c0e1f9
Binary files /dev/null and b/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_concern_export_template.docx differ
diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_difficulty_export_template.docx b/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_difficulty_export_template.docx
new file mode 100644
index 0000000000..c1e75911d0
Binary files /dev/null and b/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_difficulty_export_template.docx differ
diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_work_diary_export_template.docx b/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_work_diary_export_template.docx
new file mode 100644
index 0000000000..2e58a313b6
Binary files /dev/null and b/epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_work_diary_export_template.docx differ