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; /** * 综合问题记录处理器 * * 用于处理综合问题记录信息的读取和写入 */ public class SystemErrorRecordProcessor extends RowDataProcessorBase { protected final String[] getHeaders() { return new String[]{ "委托方", "检查计划", "项目名称", "施工单位", "监理单位", "建设单位", "打分评价", "模糊评价", "检查类型", "检查内容(节点1)", "检查内容(节点2)", "检查内容(节点3)", "检查内容(节点4)", "检查内容(节点5)", "检查内容(节点6)", "检查部位", "问题描述", "问题备注", "规范条款", "隐患等级", "复核情况", "创建时间" }; } @Override public String getName() { return "综合问题"; } @Override protected List buildRowData(ErrorRecord data) { if(data.getDevice() != null) // 没有设备信息的为综合问题记录 return null; var checkTask = data.getCheckTask(); var project = checkTask.getProject(); var plan = checkTask.getPlan(); return List.of( DeletedObjectUtil.beautifyDeletedString(project.getClient().getName()), DeletedObjectUtil.beautifyDeletedString(plan.getName()), DeletedObjectUtil.beautifyDeletedString(project.getName()), project.getConstructionCompanyInfo() != null ? project.getConstructionCompanyInfo().getName() : "", project.getSupervisorCompanyInfo() != null ? project.getSupervisorCompanyInfo().getName() : "", project.getConstructionCompanyInfo() != null ? project.getConstructionCompanyInfo().getName() : "", checkTask.getSystemScore() == null ? "-" : checkTask.getSystemScore().toString(), checkTask.getSystemFuzzy() == null ? "-" : checkTask.getSystemFuzzy().toString(), plan.getType().getDesc(), ProcessorHelper.getHierarchyName(data, 5), ProcessorHelper.getHierarchyName(data, 4), ProcessorHelper.getHierarchyName(data, 3), ProcessorHelper.getHierarchyName(data, 2), ProcessorHelper.getHierarchyName(data, 1), ProcessorHelper.getHierarchyName(data, 0), data.getProblemPart(), data.getProblem().getDescription(), data.getRemark(), ProcessorHelper.getSpec(data), data.getLevel().getDesc(), ProcessorHelper.getReviewStateStr(data), ProcessorHelper.formatDateTime(data.getCreateTime()) ); } }