From 63252fedcfd5e82d4eabffc32a9d26ea35124ecb Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 6 Jan 2022 15:06:35 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E3=80=90=E7=BD=91=E6=A0=BC=E5=91=98?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=BB=9F=E8=AE=A1=E3=80=91=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/excel/ApprovaledListExcel.java | 2 ++ .../service/impl/ProjectTraceServiceImpl.java | 24 +++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) 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 index ef08b3cc39..3e4022712a 100644 --- 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 @@ -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; 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 33f0e8ec45..1c1a61949c 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 @@ -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 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 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 queryStaffListRes(List staffList,String currentUserId) { List staffIdList = staffList.stream().map(TickStaffFormDTO::getStaffId).collect(Collectors.toList()); staffIdList.add(currentUserId); From e16cc960438cb9b53317b40fbb414007ee36f0c9 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 6 Jan 2022 15:41:55 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E3=80=90=E7=BD=91=E6=A0=BC=E5=91=98?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=BB=9F=E8=AE=A1=E3=80=91=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/ProjectTraceServiceImpl.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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 3985ddcfcf..245efb9bd5 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 @@ -52,6 +52,7 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.net.URLEncoder; import java.util.*; import java.util.stream.Collectors; @@ -957,9 +958,12 @@ public class ProjectTraceServiceImpl implements ProjectTraceS String sheetName = getSheetName(staff.getRealName(), formDTO.getStartTime(), formDTO.getEndTime()); try { - excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("直接立项记录.xlsx", response)).build(); + String name = URLEncoder.encode(sheetName, "UTF-8"); + response.setCharacterEncoding("UTF-8"); + response.setHeader("Content-disposition", "attachment;"); + + excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel(name, response)).build(); WriteSheet writeSheet = EasyExcel.writerSheet(sheetName).build(); - writeSheet.setClazz(ApprovaledListExcel.class); Integer num; //一千条一循环分批写入 do { @@ -981,9 +985,9 @@ public class ProjectTraceServiceImpl implements ProjectTraceS private String getSheetName(String staffName, String startTime, String endTime) { StringBuilder sb = new StringBuilder(staffName); String s = staffName; - if (startTime == null && endTime != null) { + if (StringUtils.isBlank(startTime) && StringUtils.isNotBlank(endTime)) { sb.append("截止").append(endTime); - } else if (startTime != null && endTime != null) { + } else if (StringUtils.isNotBlank(startTime) && StringUtils.isNotBlank(endTime)) { sb.append(startTime) .append("至") .append(endTime);