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();
|
}
|
}
|