From 6c39d454e17ffe1b499927b3678f9cdb3e7a77ed Mon Sep 17 00:00:00 2001 From: qiankanghui Date: Wed, 5 Aug 2026 13:22:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(eam):=20=E4=BC=98=E5=8C=96=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=BB=B4=E4=BF=AE=E5=B7=A5=E5=8D=95=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增日期范围查询条件支持创建时间筛选 - 实现Excel导出时对特定列设置固定宽度 - 针对反馈描述、故障原因、处理方式等列设置50单位宽度 - 采用临时流处理方式实现Excel列宽精确控制 - 导入ByteArrayInputStream支持Excel工作簿操作 --- .../modules/pms/controller/EamController.java | 26 ++++++++++++++----- src/main/resources/mapper/pms/EamMapper.xml | 6 +++++ 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/xujie/sys/modules/pms/controller/EamController.java b/src/main/java/com/xujie/sys/modules/pms/controller/EamController.java index 69d7b7df..338a0145 100644 --- a/src/main/java/com/xujie/sys/modules/pms/controller/EamController.java +++ b/src/main/java/com/xujie/sys/modules/pms/controller/EamController.java @@ -34,6 +34,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.multipart.MultipartFile; import java.io.BufferedReader; +import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStreamReader; @@ -153,12 +154,25 @@ public class EamController { //获取数据 PageUtils page = eamService.eamWorkOrderSearchForDefect2(data); - // 写入Excel - EasyExcel.write(response.getOutputStream(), EamWorkOrderExportData.class) - //自适应列宽 - .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) - .sheet("设备维修组维修工单") - .doWrite(page.getList()); + // 写入Excel(先写入临时流,再设置特定列宽) + try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { + EasyExcel.write(outputStream, EamWorkOrderExportData.class) + //自适应列宽 + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) + .sheet("设备维修组维修工单") + .doWrite(page.getList()); + + try (XSSFWorkbook workbook = new XSSFWorkbook(new ByteArrayInputStream(outputStream.toByteArray()))) { + XSSFSheet sheet = workbook.getSheetAt(0); + // 反馈描述(4)、故障原因(24)、处理方式(25)、预防措施(26)、备注说明(27) 设置50宽度 + sheet.setColumnWidth(4, 50 * 256); + sheet.setColumnWidth(24, 50 * 256); + sheet.setColumnWidth(25, 50 * 256); + sheet.setColumnWidth(26, 50 * 256); + sheet.setColumnWidth(27, 50 * 256); + workbook.write(response.getOutputStream()); + } + } } /** diff --git a/src/main/resources/mapper/pms/EamMapper.xml b/src/main/resources/mapper/pms/EamMapper.xml index 6412094c..d260fc08 100644 --- a/src/main/resources/mapper/pms/EamMapper.xml +++ b/src/main/resources/mapper/pms/EamMapper.xml @@ -1260,6 +1260,12 @@ AND a.repair_reporting_type = #{query.repairReportingType} + + AND b.CreatedDate >= #{query.createdStartDate} + + + AND #{query.createdEndDate} >= b.CreatedDate + AND a.repair_type = #{query.repairType}