package com.zcloud.safetyDutyList.persistence.dataobject.tasklist;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jjb.saas.framework.repository.basedo.BaseDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 反馈异常数据对象
 * <p>
 * 对应数据库表safety_accountability_feedback_exception，
 * 用于MyBatis-Plus操作反馈异常数据的持久化对象。
 * 联表查询时通过@TableField(exist=false)映射关联表的虚拟字段。
 */
@Data
@TableName("safety_accountability_feedback_exception")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class FeedbackExceptionDO extends BaseDO {
    @ApiModelProperty(value = "反馈异常UUID（业务主键）")
    private String feedbackExceptionId;
    @ApiModelProperty(value = "任务详情UUID")
    private String taskDetailId;
    @ApiModelProperty(value = "任务执行UUID")
    private String taskExecutionId;
    @ApiModelProperty(value = "任务清单UUID")
    private String taskListId;
    @ApiModelProperty(value = "清单下发记录UUID")
    private String taskIssueId;
    @ApiModelProperty(value = "异常周期标识")
    private String exceptionPeriodFlag;
    @ApiModelProperty(value = "异常周期开始时间")
    private LocalDateTime exceptionPeriodStartTime;
    @ApiModelProperty(value = "异常周期结束时间")
    private LocalDateTime exceptionPeriodEndTime;
    @ApiModelProperty(value = "异常类型：1-未按时反馈 2-反馈内容异常 3-其他")
    private Integer exceptionType;
    @ApiModelProperty(value = "反馈异常信息")
    private String exceptionContent;
    @ApiModelProperty(value = "异常时间")
    private LocalDateTime exceptionTime;

    @ApiModelProperty(value = "清单名称")
    @TableField(exist = false)
    private String taskListName;
    @ApiModelProperty(value = "执行内容")
    @TableField(exist = false)
    private String executeContent;
    @ApiModelProperty(value = "异常类型名称")
    @TableField(exist = false)
    private String exceptionTypeName;
}
