diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml
index c04583b7d5..4acd534d5b 100644
--- a/epmet-module/gov-project/gov-project-server/pom.xml
+++ b/epmet-module/gov-project/gov-project-server/pom.xml
@@ -65,6 +65,25 @@
4.3
compile
+
+ com.alibaba
+ easyexcel
+ 3.0.3
+
+
+ poi
+ org.apache.poi
+
+
+ poi-ooxml
+ org.apache.poi
+
+
+ poi-ooxml-schemas
+ org.apache.poi
+
+
+
io.github.openfeign
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java
index f7d44f5f94..66074acfa2 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java
@@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@@ -397,5 +398,21 @@ public class ProjectTraceController {
PageData result = projectTraceService.approvaledList(formDTO);
return new Result>().ok(result);
}
+
+ /**
+ * 【网格员工作统计】项目列表 导出
+ *
+ * @Param tokenDto
+ * @Param formDTO
+ * @Return
+ * @Author zhaoqifeng
+ * @Date 2022/1/5 14:58
+ */
+ @PostMapping("pcwork/approvaled-list/export")
+ public void approvaledListExport(HttpServletResponse response, @LoginUser TokenDto tokenDto, @RequestBody ApprovaledListFromDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
+ formDTO.setCustomerId(tokenDto.getCustomerId());
+ projectTraceService.approvaledListExport(response, formDTO);
+ }
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ApprovaledListExcel.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ApprovaledListExcel.java
new file mode 100644
index 0000000000..ef08b3cc39
--- /dev/null
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ApprovaledListExcel.java
@@ -0,0 +1,29 @@
+package com.epmet.excel;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description
+ * @Author zhaoqifeng
+ * @Date 2022/1/5 15:00
+ */
+@Getter
+@Setter
+@EqualsAndHashCode
+public class ApprovaledListExcel {
+ @ExcelProperty("项目事件标题")
+ private String title;
+ @ExcelProperty("项目事件类别")
+ private String projectCategory;
+ @ExcelProperty("发生地点")
+ private String locateAddress;
+ @ExcelProperty("发生日期")
+ private String happenTime;
+ @ExcelProperty("网格员")
+ private String staffName;
+ @ExcelProperty("提交日期")
+ private String createdTime;
+}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java
index eb25d072a4..133711aea9 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java
@@ -5,6 +5,7 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
+import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@@ -194,4 +195,14 @@ public interface ProjectTraceService {
* @Date 2022/1/4 15:33
*/
PageData approvaledList(ApprovaledListFromDTO formDTO);
+
+ /**
+ * 【网格员工作统计】项目列表导出
+ *
+ * @Param formDTO
+ * @Return {@link PageData< ApprovaledListResultDTO>}
+ * @Author zhaoqifeng
+ * @Date 2022/1/4 15:33
+ */
+ void approvaledListExport(HttpServletResponse response, ApprovaledListFromDTO formDTO);
}
diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java
index 76aab37e9c..d9cffa07c0 100644
--- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java
+++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java
@@ -1,5 +1,8 @@
package com.epmet.service.impl;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg;
@@ -19,10 +22,7 @@ import com.epmet.commons.tools.scan.param.TextTaskDTO;
import com.epmet.commons.tools.scan.result.SyncScanResult;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.user.LoginUserUtil;
-import com.epmet.commons.tools.utils.ConvertUtils;
-import com.epmet.commons.tools.utils.IpUtils;
-import com.epmet.commons.tools.utils.Result;
-import com.epmet.commons.tools.utils.ScanContentUtils;
+import com.epmet.commons.tools.utils.*;
import com.epmet.constant.*;
import com.epmet.dao.ProjectOrgRelationDao;
import com.epmet.dao.ProjectProcessAttachmentDao;
@@ -34,6 +34,7 @@ import com.epmet.dto.ProjectStaffDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.*;
+import com.epmet.excel.ApprovaledListExcel;
import com.epmet.feign.*;
import com.epmet.send.SendMqMsgUtil;
import com.epmet.service.*;
@@ -50,6 +51,7 @@ import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.stream.Collectors;
@@ -930,6 +932,42 @@ public class ProjectTraceServiceImpl implements ProjectTraceS
return result;
}
+ /**
+ * 【网格员工作统计】项目列表导出
+ *
+ * @param formDTO
+ * @Param formDTO
+ * @Return {@link PageData< ApprovaledListResultDTO>}
+ * @Author zhaoqifeng
+ * @Date 2022/1/4 15:33
+ */
+ @Override
+ public void approvaledListExport(HttpServletResponse response, ApprovaledListFromDTO formDTO) {
+ formDTO.setPageNo(NumConstant.ONE);
+ formDTO.setPageSize(NumConstant.ONE_THOUSAND);
+ ExcelWriter excelWriter = null;
+ try {
+ excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("直接立项记录.xlsx", response)).build();
+ WriteSheet writeSheet = EasyExcel.writerSheet().build();
+ writeSheet.setClazz(ApprovaledListExcel.class);
+ Integer num;
+ //一千条一循环分批写入
+ do {
+ List list = approvaledList(formDTO).getList();
+ List data = ConvertUtils.sourceToTarget(list, ApprovaledListExcel.class);
+ excelWriter.write(data, writeSheet);
+ num = data.size();
+ formDTO.setPageNo(formDTO.getPageNo() + NumConstant.ONE);
+ } while (num > NumConstant.ZERO && num.compareTo(formDTO.getPageSize()) == NumConstant.ZERO);
+ } catch (Exception e) {
+ e.printStackTrace();
+ } finally {
+ if (excelWriter != null) {
+ excelWriter.finish();
+ }
+ }
+ }
+
private List queryStaffListRes(List staffList,String currentUserId) {
List staffIdList = staffList.stream().map(TickStaffFormDTO::getStaffId).collect(Collectors.toList());
staffIdList.add(currentUserId);