소스 검색

维保单导出优化

wang-hai-cheng 5 년 전
부모
커밋
33887464fe

+ 14 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/entity/model/response/MtRecordResponse.java

@@ -93,6 +93,20 @@ public class MtRecordResponse extends MaintenanceRecord {
      */
     private String maintenanceAdvice;
 
+    /**
+     * 维保时长String类型
+     */
+    private String typeStr;
+
+    /**
+     * 是否有评价String类型
+     */
+    private String hasEvaluateStr;
+    /**
+     * 电梯类型String类型
+     */
+    private String categoryStr;
+
     private Collection<MaintenanceOption> mtOptions;
 
     private List<MtRecordImg> mtRecordImgs;

+ 14 - 15
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenanceRecordService.java

@@ -850,8 +850,8 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         headerAlias.put("registrationCode", "注册代码");
         headerAlias.put("planDate", "计划日期");
         headerAlias.put("workDate", "执行日期");
-        headerAlias.put("type", "维保类型");
-        headerAlias.put("hasEvaluate", "评价状态");
+        headerAlias.put("typeStr", "维保类型");
+        headerAlias.put("hasEvaluateStr", "评价状态");
         headerAlias.put("maintenanceAdvice", "保养建议");
         headerAlias.put("workerName", "维保工");
         headerAlias.put("repairDuration", "保养时长");
@@ -863,7 +863,8 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         for (String recordIdStr : recordIdArray) {
             long recordId = Long.parseLong(recordIdStr);
             mtRecordRequest.setId(recordId);
-            mtRecordResponses.add(getMtRecordResponse(mtRecordRequest));
+            MtRecordResponse mtRecordResponse = getMtRecordResponse(mtRecordRequest);
+            mtRecordResponses.add(mtRecordResponse);
         }
         Validate.notNull(mtRecordResponses, ValuePool.MAINTENANCE_RECORD_NOT_EXIST);
         //压缩文件夹
@@ -889,8 +890,8 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
             headerAlias.forEach(writer::addHeaderAlias);
             //如果为true,则不设置alias的字段将不被输出,false表示原样输出
             writer.setOnlyAlias(true);
+            writer.autoSizeColumnAll();
             writer.write(mtRecordResponses, true);
-//            writer.autoSizeColumnAll();
             writer.close();
             FileUtil.touch(excelFile);
 
@@ -1000,18 +1001,18 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         writer.setColumnWidth(3, 25);
         writer.setColumnWidth(4, 25);
         writer.merge(0, 0, 0, 5, mtRecordResponse.getProjectName(), false);
-        writer.merge(1, 1, 0, 1, "xxx电梯保养单", false);
-        writer.merge(1, 1, 2, 3, "单号:", false);
+        writer.merge(1, 1, 0, 1, mtRecordResponse.getCategoryStr() + "保养单", false);
+        writer.merge(1, 1, 2, 3, "单号:" + mtRecordResponse.getId(), false);
         writer.merge(1, 1, 4, 5, "设备编号:" + mtRecordResponse.getUseCompanyCode(), false);
         writer.merge(2, 2, 0, 1, "注册代码:" + mtRecordResponse.getRegistrationCode(), false);
         writer.merge(2, 2, 2, 3, "电梯位置:" + mtRecordResponse.getDevicePosition(), false);
         writer.merge(2, 2, 4, 5, "保养类型:" + mtRecordResponse.getType(), false);
-        writer.merge(3, 3, 0, 1, "保养时间:" + mtRecordResponse.getWorkDate(), false);
+        writer.merge(3, 3, 0, 1, "保养时间:" + mtRecordResponse.getWorkDate().toString().replace("T"," "), false);
         writer.merge(3, 3, 2, 3, "项目编号:" + mtRecordResponse.getProjectCode(), false);
         writer.merge(3, 3, 4, 5, "项目名称:" + mtRecordResponse.getProjectName(), false);
         writer.merge(4, 4, 0, 1, "计划保养时间:" + mtRecordResponse.getPlanDate(), false);
-        writer.merge(4, 4, 2, 3, "停梯时间:" + mtRecordResponse.getStopDate(), false);
-        writer.merge(4, 4, 4, 5, "恢梯时间:" + mtRecordResponse.getRecoveryDate(), false);
+        writer.merge(4, 4, 2, 3, "停梯时间:" + mtRecordResponse.getStopDate().toString().replace("T"," "), false);
+        writer.merge(4, 4, 4, 5, "恢梯时间:" + mtRecordResponse.getRecoveryDate().toString().replace("T"," "), false);
         writer.writeCellValue(0, 5, "保养时长");
         writer.merge(5, 5, 1, 5, mtRecordResponse.getRepairDuration(), false);
         writer.writeCellValue(0, 6, "序号");
@@ -1037,7 +1038,7 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
             writer.writeCellValue(5, 6 + i, maintenance);
         }
         writer.writeCellValue(0, 7 + i, "保养建议");
-        writer.merge(7 + i, 7 + i, 1, 2, "保养建议内容", false);
+        writer.merge(7 + i, 7 + i, 1, 2, mtRecordResponse.getMaintenanceAdvice() != null ? mtRecordResponse.getMaintenanceAdvice() : "", false);
         writer.writeCellValue(3, 7 + i, "客户意见");
         String advice = "";
         if (mtRecordResponse.getEvaluation() != null) {
@@ -1049,13 +1050,13 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         writer.writeCellValue(0, 8 + i, "工作标记");
         writer.merge(8 + i, 8 + i, 1, 5, "√:已保养项 / :无需保养项 ×:需修理项目", false);
         writer.writeCellValue(0, 9 + i, "配件费");
-        writer.merge(9 + i, 9 + i, 1, 2, "配件费内容", false);
+        writer.merge(9 + i, 9 + i, 1, 2, mtRecordResponse.getPartsCost() != null ? mtRecordResponse.getPartsCost() : "", false);
         writer.writeCellValue(3, 9 + i, "更换配件");
-        writer.merge(9 + i, 9 + i, 4, 5, "更换配件内容", false);
+        writer.merge(9 + i, 9 + i, 4, 5, mtRecordResponse.getSparepart() != null ? mtRecordResponse.getSparepart() : "", false);
         writer.writeCellValue(0, 10 + i, "维保人员");
         writer.merge(10 + i, 10 + i, 1, 2, mtRecordResponse.getWorkerName(), false);
         writer.writeCellValue(3, 10 + i, "工时费");
-        writer.merge(10 + i, 10 + i, 4, 5, "工时费内容", false);
+        writer.merge(10 + i, 10 + i, 4, 5, mtRecordResponse.getManCost() != null ? mtRecordResponse.getManCost() : "", false);
         writer.writeCellValue(0, 11 + i, "服务态度");
         StringBuilder level = new StringBuilder();
         if (mtRecordResponse.getEvaluation() != null) {
@@ -1074,10 +1075,8 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         writer.merge(11 + i, 11 + i, 4, 5, level.toString(), false);
         writer.merge(12 + i, 18 + i, 0, 0, "维保签名", false);
         writer.merge(12 + i, 18 + i, 1, 2, "", false);
-//        writer.merge(12 + i, 12 + i, 1, 2, "维保签名图片", false);
         writer.merge(12 + i, 18 + i, 3, 3, "客户签名", false);
         writer.merge(12 + i, 18 + i, 4, 5, "", false);
-//        writer.merge(12 + i, 12 + i, 4, 5, "客户签名图片", false);
         signImg(mtRecordResponse, wb, writer, 12 + i);
         writer.flush(new FileOutputStream(new File(maintenanceExcelDir)), true).close();
     }

+ 14 - 0
lift-business-service/src/main/resources/mapper/maintenance/MaintenanceRecordMapper.xml

@@ -292,6 +292,20 @@
         pr.address,
         ev.star_level,
         li.device_position,
+        case li.category
+            when 1 then '曳引梯'
+            when 2 then '液压梯'
+            when 3 then '杂物梯'
+            when 4 then '自动扶梯'
+            when 5 then '自动人行道'
+            else '其他' end categoryStr,
+        case mr.type
+            when 1 then '半月保'
+            when 2 then '季度保'
+            when 3 then '半年保'
+            when 4 then '全年保'
+            else '其他' end AS typeStr,
+        if(has_evaluate = 1,'已评价','未评价') AS hasEvaluateStr,
         TimeStampDiff(MINUTE ,mr.stop_date,mr.recovery_date) AS repair_diff
         FROM
         maintenance_record mr