From e799e2a380619abd1a290f67d158cbbae6d3e4f1 Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Fri, 3 Apr 2026 14:40:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/pms/controller/EamController.java | 16 ++ .../pms/data/EamDefectRecordExportData.java | 150 ++++++++++++++++++ .../sys/modules/pms/mapper/EamMapper.java | 2 + .../sys/modules/pms/service/EamService.java | 2 + .../pms/service/Impl/EamServiceImpl.java | 8 + src/main/resources/mapper/pms/EamMapper.xml | 119 ++++++++++++++ 6 files changed, 297 insertions(+) create mode 100644 src/main/java/com/xujie/sys/modules/pms/data/EamDefectRecordExportData.java 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 e8af3695..3cd6a0d9 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 @@ -2322,6 +2322,22 @@ public class EamController { return R.ok().put("page", page); } + /** + * 故障记录导出 + */ + @PostMapping(value="/eamDefectRecordExportExcel") + public void eamDefectRecordExportExcel(@RequestBody EamWorkOrderInData data, HttpServletResponse response) throws IOException { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + String fileName = URLEncoder.encode("设备维修记录", "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-Disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + + List list = eamService.eamDefectRecordExport(data); + EasyExcel.write(response.getOutputStream(), EamDefectRecordExportData.class) + .sheet("设备维修记录") + .doWrite(list); + } + /** * 获取用户bu */ diff --git a/src/main/java/com/xujie/sys/modules/pms/data/EamDefectRecordExportData.java b/src/main/java/com/xujie/sys/modules/pms/data/EamDefectRecordExportData.java new file mode 100644 index 00000000..b61a3d62 --- /dev/null +++ b/src/main/java/com/xujie/sys/modules/pms/data/EamDefectRecordExportData.java @@ -0,0 +1,150 @@ +package com.xujie.sys.modules.pms.data; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class EamDefectRecordExportData { + @ExcelProperty("紧急程度") + @ColumnWidth(13) + private String urgency; + + @ExcelProperty("维修结论") + @ColumnWidth(14) + private String result; + + @ExcelProperty("BU") + @ColumnWidth(10) + private String buDesc; + + @ExcelProperty("处置措施") + @ColumnWidth(12) + private String disposalMeasures; + + @ExcelProperty("工单编码") + @ColumnWidth(15) + private String orderNo; + + @ExcelProperty("反馈单号") + @ColumnWidth(15) + private String planID; + + @ExcelProperty("反馈描述") + @ColumnWidth(40) + private String feedBackDesc; + + @ExcelProperty("故障编码") + @ColumnWidth(13) + private String defectID; + + @ExcelProperty("故障名称") + @ColumnWidth(23) + private String defectDesc; + + @ExcelProperty("设备编码") + @ColumnWidth(15) + private String objectID; + + @ExcelProperty("设备名称") + @ColumnWidth(23) + private String objectDesc; + + @ExcelProperty("机台名称") + @ColumnWidth(23) + private String resourceDesc; + + @ExcelProperty("设备部门") + @ColumnWidth(19) + private String departmentName; + + @ExcelProperty("报修人员名称") + @ColumnWidth(17) + private String createBy; + + @ExcelProperty("报修方式") + @ColumnWidth(17) + private String repairReportingType; + + @ExcelProperty("状态") + @ColumnWidth(15) + private String status; + + @ExcelProperty("计划执行人员") + @ColumnWidth(21) + private String planOperatorName; + + @ExcelProperty("实际执行人员") + @ColumnWidth(21) + private String actualOperatorName; + + @ExcelProperty("计划执行日期") + @ColumnWidth(17) + private String planDate; + + @ExcelProperty("故障时间") + @ColumnWidth(17) + private String createdDate; + + @ExcelProperty("到达时间") + @ColumnWidth(17) + private String reachDate; + + @ExcelProperty("实际执行时间") + @ColumnWidth(17) + private String actualDate; + + @ExcelProperty("维修响应时长(m)") + @ColumnWidth(15) + private BigDecimal responseTime; + + @ExcelProperty("工作时长(m)") + @ColumnWidth(15) + private BigDecimal workTime; + + @ExcelProperty("备注说明") + @ColumnWidth(33) + private String remark; + + @ExcelProperty("难度等级") + @ColumnWidth(15) + private String difficultyLevel; + + @ExcelProperty("难度备注") + @ColumnWidth(33) + private String difficultyRemark; + + @ExcelProperty("单据来源") + @ColumnWidth(15) + private String documentSource; + + @ExcelProperty("维修项目编码") + @ColumnWidth(15) + private String itemNo; + + @ExcelProperty("维修项目名称") + @ColumnWidth(23) + private String itemDesc; + + @ExcelProperty("维修项目备注") + @ColumnWidth(33) + private String itemRemark; + + @ExcelProperty("值类型") + @ColumnWidth(15) + private String valueType; + + @ExcelProperty("缺省值") + @ColumnWidth(15) + private String defaultValue; + + @ExcelProperty("最大值") + @ColumnWidth(15) + private BigDecimal maxValue; + + @ExcelProperty("最小值") + @ColumnWidth(15) + private BigDecimal minValue; +} diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java index c587befa..6ed946e8 100644 --- a/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java +++ b/src/main/java/com/xujie/sys/modules/pms/mapper/EamMapper.java @@ -535,4 +535,6 @@ public interface EamMapper { List eamWorkOrderSearchList(@Param("query") EamWorkOrderInData inData); List eamWorkOrderSearchForDefectExport(@Param("query") EamWorkOrderInData inData); + + List eamDefectRecordExport(@Param("query") EamWorkOrderInData inData); } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/EamService.java b/src/main/java/com/xujie/sys/modules/pms/service/EamService.java index 7cc39bd9..267d12c4 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/EamService.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/EamService.java @@ -1225,4 +1225,6 @@ public interface EamService { List eamWorkOrderSearchList(EamWorkOrderInData data); List eamWorkOrderSearchForDefectExport(EamWorkOrderInData data); + + List eamDefectRecordExport(EamWorkOrderInData data); } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java index 4f7b3332..498aa761 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamServiceImpl.java @@ -3401,6 +3401,14 @@ public class EamServiceImpl implements EamService { return new PageUtils(resultList); } + @Override + public List eamDefectRecordExport(EamWorkOrderInData data) { + if (StringUtils.isNotBlank(data.getDepartmentName())) { + data.setDeptArr(data.getDepartmentName().split(";")); + } + return this.eamMapper.eamDefectRecordExport(data); + } + /** * 获取用户角色列表 * @return diff --git a/src/main/resources/mapper/pms/EamMapper.xml b/src/main/resources/mapper/pms/EamMapper.xml index 90d044cc..06a717d1 100644 --- a/src/main/resources/mapper/pms/EamMapper.xml +++ b/src/main/resources/mapper/pms/EamMapper.xml @@ -3366,6 +3366,125 @@ + +