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 { protected final String[] getHeaders() { return new String[]{ "委托方", "检查计划", "项目名称", "检查类型", "检查内容(节点1)", "检查内容(节点2)", "检查内容(节点3)", "检查内容(节点4)", "检查部位", "设备租赁单位", "设备维保单位", "设备生产单位", "打分评价", "模糊评价", "问题描述", "问题备注", "规范条款", "隐患等级", "复核情况", "创建时间" }; } @Override public String getName() { return "设备问题"; } @Override protected List 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 deviceScoreMap, Integer deviceId){ if(deviceScoreMap == null) return "-"; return deviceScoreMap.get(deviceId) == null ? "-" : deviceScoreMap.get(deviceId).toString(); } }