Browse Source

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

dev
zhaoqifeng 4 years ago
parent
commit
63252fedcf
  1. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ApprovaledListExcel.java
  2. 24
      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;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
@ -13,6 +14,7 @@ import lombok.Setter;
@Getter
@Setter
@EqualsAndHashCode
@ColumnWidth(20)
public class ApprovaledListExcel {
@ExcelProperty("项目事件标题")
private String title;

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

@ -47,7 +47,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@ -954,9 +953,16 @@ public class ProjectTraceServiceImpl<ProjectTagService> implements ProjectTraceS
formDTO.setPageNo(NumConstant.ONE);
formDTO.setPageSize(NumConstant.ONE_THOUSAND);
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 {
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("直接立项记录.xlsx", response)).build();
WriteSheet writeSheet = EasyExcel.writerSheet().build();
WriteSheet writeSheet = EasyExcel.writerSheet(sheetName).build();
writeSheet.setClazz(ApprovaledListExcel.class);
Integer num;
//一千条一循环分批写入
@ -976,6 +982,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) {
List<String> staffIdList = staffList.stream().map(TickStaffFormDTO::getStaffId).collect(Collectors.toList());
staffIdList.add(currentUserId);

Loading…
Cancel
Save