package org.dromara.safety.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.core.domain.vo.IdAndNameVO;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.safety.domain.BusSafetyLog;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * 安全日志视图对象 bus_safety_log
 *
 * @author lcj
 * @date 2025-03-20
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = BusSafetyLog.class)
public class BusSafetyLogVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @ExcelProperty(value = "主键id")
    private Long id;

    /**
     * 项目id
     */
    @ExcelProperty(value = "项目id")
    private Long projectId;

    /**
     * 发生日期
     */
    @ExcelProperty(value = "发生日期")
    private String dateOfOccurrence;

    /**
     * 最高气温
     */
    @ExcelProperty(value = "最高气温")
    private Long airTemperatureMax;

    /**
     * 最低气温
     */
    @ExcelProperty(value = "最低气温")
    private Long airTemperatureMin;

    /**
     * 气候
     */
    @ExcelProperty(value = "气候", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "weather_type")
    private String weather;

    /**
     * 进展
     */
    @ExcelProperty(value = "进展")
    private String progress;

    /**
     * 作业内容
     */
    @ExcelProperty(value = "作业内容")
    private String jobContent;

    /**
     * 交底情况
     */
    @ExcelProperty(value = "交底情况")
    private String discloseCondition;

    /**
     * 活动情况
     */
    @ExcelProperty(value = "活动情况")
    private String activityCondition;

    /**
     * 检查情况
     */
    @ExcelProperty(value = "检查情况")
    private String examineCondition;

    /**
     * 实施情况
     */
    @ExcelProperty(value = "实施情况")
    private String implementCondition;

    /**
     * 安全检查情况
     */
    @ExcelProperty(value = "安全检查情况")
    private String safetyInspectionCondition;

    /**
     * 停工或加班情况
     */
    @ExcelProperty(value = "停工或加班情况")
    private String stoppageOrOvertime;

    /**
     * 其他情况
     */
    @ExcelProperty(value = "其他情况")
    private String otherCondition;

    /**
     * 文件id列表
     */
    @ExcelProperty(value = "文件id列表")
    private String fileId;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 创建人
     */
    private IdAndNameVO creator;

    /**
     * 创建时间
     */
    private Date createTime;

}
