package com.estate.expert.admin.io.processor.impl.record; import com.estate.expert.admin.domain.exam.record.warning.WarningRecord; 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.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; /** * 正确做法记录处理器 * * 用于处理正确做法记录信息的读取和写入 */ public class WarningRecordProcessor extends RowDataProcessorBase { protected final String[] getHeaders() { return new String[]{ "委托方", "检查计划", "项目名称", "检查类型", "检查内容(节点1)", "检查内容(节点2)", "检查内容(节点3)", "检查内容(节点4)", "检查内容(节点5)", "检查内容(节点6)", "问题描述", "问题备注", "规范条款", "创建时间" }; } @Override public String getName() { return "正确做法"; } @Override protected List buildRowData(WarningRecord data) { 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), ProcessorHelper.getHierarchyName(data, 4), ProcessorHelper.getHierarchyName(data, 5), data.getProblem().getDescription(), data.getRemark() == null ? "" : data.getRemark(), ProcessorHelper.getSpec(data), formatDateTime(data.getCreateTime())); } private String formatDateTime(LocalDateTime dateTime) { return dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); } }