“mitao”
2026-01-20 4e5beb844f03daec12f2b039365730b0683f8a9e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package com.estate.expert.admin.io.processor.impl.record;
 
import com.estate.expert.admin.domain.exam.record.error.ErrorRecord;
import com.estate.expert.admin.io.processor.RowDataProcessorBase;
import com.estate.expert.admin.io.processor.util.ProcessorHelper;
import com.estate.expert.admin.utils.DeletedObjectUtil;
 
import java.util.List;
import java.util.Map;
 
/**
 * 设备问题记录处理器
 * 
 * 用于处理设备问题记录信息的读取和写入
 */
public class DeviceErrorRecordProcessor extends RowDataProcessorBase<ErrorRecord> {
 
    protected final String[] getHeaders() {
        return new String[]{
            "委托方", "检查计划", "项目名称", "检查类型",
            "检查内容(节点1)", "检查内容(节点2)", "检查内容(节点3)", "检查内容(节点4)",
            "检查部位", "设备租赁单位", "设备维保单位",
            "设备生产单位", "打分评价", "模糊评价", "问题描述", "问题备注", "规范条款", "隐患等级", "复核情况", "创建时间"
        };
    }
 
    @Override
    public String getName() {
        return "设备问题";
    }
 
    @Override
    protected List<String> buildRowData(ErrorRecord data) {
        if(data.getDevice() == null) // 有设备信息的为设备记录
            return null;
 
        var props = data.getDevice().getProperties();
        return List.of(
                DeletedObjectUtil.beautifyDeletedString(data.getCheckTask().getProject().getClient().getName()),
                DeletedObjectUtil.beautifyDeletedString(data.getCheckTask().getPlan().getName()),
                DeletedObjectUtil.beautifyDeletedString(data.getCheckTask().getProject().getName()),
                data.getCheckTask().getPlan().getType().getDesc(),
                ProcessorHelper.getHierarchyName(data, 0),
                ProcessorHelper.getHierarchyName(data, 1),
                ProcessorHelper.getHierarchyName(data, 2),
                ProcessorHelper.getHierarchyName(data, 3),
                data.getProblemPart() == null ? "" : data.getProblemPart(),
                props.get("工程起重机械租赁单位") == null ? "" : props.get("工程起重机械租赁单位"),
                props.get("工程起重机械维保单位") == null ? "" : props.get("工程起重机械维保单位"),
                props.get("工程起重机械生产单位") == null ? "" : props.get("工程起重机械生产单位"),
                getDeviceScore(data.getCheckTask().getDeviceScoreMap(), data.getDevice().getId()),
                getDeviceScore(data.getCheckTask().getDeviceFuzzyMap(), data.getDevice().getId()),
                data.getProblem().getDescription(),
                data.getRemark(),
                ProcessorHelper.getSpec(data),
                data.getLevel().getDesc(),
                ProcessorHelper.getReviewStateStr(data),
                ProcessorHelper.formatDateTime(data.getCreateTime())
        );
    }
 
    private String getDeviceScore(Map<Integer, Float> deviceScoreMap, Integer deviceId){
        if(deviceScoreMap == null)
            return "-";
        return deviceScoreMap.get(deviceId) == null ? "-" : deviceScoreMap.get(deviceId).toString();
    }
}