Browse Source

新增:

1.备忘录-人员关怀、难点堵点、工作日志的word导出接口
dev
wangxianzhang 3 years ago
parent
commit
f52ab1b8d5
  1. 2
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoConcernDTO.java
  2. 12
      epmet-module/gov-project/gov-project-server/pom.xml
  3. 61
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoConcernController.java
  4. 48
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java
  5. 39
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoWorkDiaryController.java
  6. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoConcernEntity.java
  7. BIN
      epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_concern_export_template.docx
  8. BIN
      epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_difficulty_export_template.docx
  9. BIN
      epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_work_diary_export_template.docx

2
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;
/** /**
* 关怀对象地址 * 关怀对象地址

12
epmet-module/gov-project/gov-project-server/pom.xml

@ -148,6 +148,18 @@
<skipTests>true</skipTests> <skipTests>true</skipTests>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins> </plugins>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<resources> <resources>

61
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoConcernController.java

@ -1,7 +1,12 @@
package com.epmet.controller; 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.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.page.PageData;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; 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.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.MemoConcernDTO; import com.epmet.dto.MemoConcernDTO;
import com.epmet.dto.MemoWorkDiaryDTO;
import com.epmet.service.MemoConcernService; import com.epmet.service.MemoConcernService;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.net.URL;
import java.util.Map; import java.util.Map;
@ -67,6 +78,56 @@ public class MemoConcernController {
return new Result(); 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<String, Object> 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();
}
}
}
} }

48
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java

@ -1,7 +1,12 @@
package com.epmet.controller; 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.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.page.PageData;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; 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.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.MemoDifficultyDTO; import com.epmet.dto.MemoDifficultyDTO;
import com.epmet.dto.MemoWorkDiaryDTO;
import com.epmet.service.MemoDifficultyService; import com.epmet.service.MemoDifficultyService;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.net.URL;
import java.util.Map; import java.util.Map;
@ -67,6 +78,43 @@ public class MemoDifficultyController {
return new Result(); 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<String, Object> 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();
}
}
}
} }

39
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoWorkDiaryController.java

@ -1,7 +1,10 @@
package com.epmet.controller; 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.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData; 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.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; 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.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.MemoWorkDiaryDTO; import com.epmet.dto.MemoWorkDiaryDTO;
import com.epmet.service.MemoWorkDiaryService; import com.epmet.service.MemoWorkDiaryService;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.*; 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.Map;
import java.util.Optional;
/** /**
@ -67,6 +79,33 @@ public class MemoWorkDiaryController {
return new Result(); 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<String, Object> 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();
}
}
}
} }

2
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;
/** /**
* 关怀对象地址 * 关怀对象地址

BIN
epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_concern_export_template.docx

Binary file not shown.

BIN
epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_difficulty_export_template.docx

Binary file not shown.

BIN
epmet-module/gov-project/gov-project-server/src/main/resources/templates/memo_work_diary_export_template.docx

Binary file not shown.
Loading…
Cancel
Save