package org.dromara.quality.domain.vo.qualityinspection;

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.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.quality.domain.QltQualityInspection;
import org.dromara.system.domain.vo.SysOssVo;

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


/**
 * 质量-检查工单视图对象 qlt_quality_inspection
 *
 * @author lcj
 * @date 2025-04-16
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = QltQualityInspection.class)
public class QltQualityInspectionVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 巡检类型
     */
    @ExcelProperty(value = "巡检类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "quality_inspection_check_type")
    private String inspectionType;

    /**
     * 巡检标题
     */
    @ExcelProperty(value = "巡检标题")
    private String inspectionHeadline;

    /**
     * 巡检结果
     */
    @ExcelProperty(value = "巡检结果")
    private String inspectionResult;

    /**
     * 工单状态（1通知 2整改 3验证）
     */
    @ExcelProperty(value = "工单状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "quality_inspection_status_type")
    private String inspectionStatus;

    /**
     * 巡检附件
     */
    private String inspectionFile;

    /**
     * 巡检附件列表
     */
    private List<SysOssVo> inspectionFileList;

    /**
     * 班组id
     */
    private Long teamId;

    /**
     * 整改人（班组长）
     */
    private Long corrector;

    /**
     * 整改人姓名
     */
    private String correctorName;

    /**
     * 是否回复（1回复 2不回复）
     */
    private String isReply;

    /**
     * 回复期限日期
     */
    private Date replyPeriodDate;

    /**
     * 整改反馈
     */
    private String rectificationResult;

    /**
     * 整改时间
     */
    private Date rectificationTime;

    /**
     * 整改附件
     */
    private String rectificationFile;

    /**
     * 整改附件列表
     */
    private List<SysOssVo> rectificationFileList;

    /**
     * 验证结果
     */
    private String verificationResult;

    /**
     * 验证状态（1通过 2未通过）
     */
    private String verificationType;

    /**
     * 验证时间
     */
    private Date verificationTime;

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

    /**
     * 创建者
     */
    @ExcelProperty(value = "创建者")
    private String createBy;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createTime;


}
