Browse Source

【网格员工作统计】项目列表导出

master
zhaoqifeng 4 years ago
parent
commit
6bc5f8ecec
  1. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ApprovaledListExcel.java
  2. 23
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java

2
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ApprovaledListExcel.java

@ -1,6 +1,7 @@
package com.epmet.excel; package com.epmet.excel;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@ -13,6 +14,7 @@ import lombok.Setter;
@Getter @Getter
@Setter @Setter
@EqualsAndHashCode @EqualsAndHashCode
@ColumnWidth(20)
public class ApprovaledListExcel { public class ApprovaledListExcel {
@ExcelProperty("项目事件标题") @ExcelProperty("项目事件标题")
private String title; private String title;

23
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java

@ -949,9 +949,16 @@ public class ProjectTraceServiceImpl<ProjectTagService> implements ProjectTraceS
formDTO.setPageNo(NumConstant.ONE); formDTO.setPageNo(NumConstant.ONE);
formDTO.setPageSize(NumConstant.ONE_THOUSAND); formDTO.setPageSize(NumConstant.ONE_THOUSAND);
ExcelWriter excelWriter = null; ExcelWriter excelWriter = null;
CustomerStaffInfoCacheResult staff = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId());
if (null == staff) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "获取工作人员信息失败");
}
String sheetName = getSheetName(staff.getRealName(), formDTO.getStartTime(), formDTO.getEndTime());
try { try {
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("直接立项记录.xlsx", response)).build(); excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("直接立项记录.xlsx", response)).build();
WriteSheet writeSheet = EasyExcel.writerSheet().build(); WriteSheet writeSheet = EasyExcel.writerSheet(sheetName).build();
writeSheet.setClazz(ApprovaledListExcel.class); writeSheet.setClazz(ApprovaledListExcel.class);
Integer num; Integer num;
//一千条一循环分批写入 //一千条一循环分批写入
@ -971,6 +978,20 @@ public class ProjectTraceServiceImpl<ProjectTagService> implements ProjectTraceS
} }
} }
private String getSheetName(String staffName, String startTime, String endTime) {
StringBuilder sb = new StringBuilder(staffName);
String s = staffName;
if (startTime == null && endTime != null) {
sb.append("截止").append(endTime);
} else if (startTime != null && endTime != null) {
sb.append(startTime)
.append("至")
.append(endTime);
}
sb.append("的上报事件(直接立项)记录");
return sb.toString();
}
private List<StaffListResultDTO> queryStaffListRes(List<TickStaffFormDTO> staffList,String currentUserId) { private List<StaffListResultDTO> queryStaffListRes(List<TickStaffFormDTO> staffList,String currentUserId) {
List<String> staffIdList = staffList.stream().map(TickStaffFormDTO::getStaffId).collect(Collectors.toList()); List<String> staffIdList = staffList.stream().map(TickStaffFormDTO::getStaffId).collect(Collectors.toList());
staffIdList.add(currentUserId); staffIdList.add(currentUserId);

Loading…
Cancel
Save