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，
 * 用于MyBatis-Plus操作反馈数据的持久化对象。
 * 联表查询时通过@TableField(exist=false)映射关联表的虚拟字段。
 */
@Data
@TableName("safety_accountability_feedback")
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class FeedbackDO extends BaseDO {
    @ApiModelProperty(value = "反馈UUID（业务主键）")
    private String feedbackId;
    @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 LocalDateTime feedbackTime;
    @ApiModelProperty(value = "反馈周期开始时间")
    private LocalDateTime feedbackPeriodStartTime;
    @ApiModelProperty(value = "反馈周期结束时间")
    private LocalDateTime feedbackPeriodEndTime;
    @ApiModelProperty(value = "反馈周期标识")
    private String feedbackPeriodFlag;
    @ApiModelProperty(value = "反馈内容")
    private String feedbackContent;
    @ApiModelProperty(value = "反馈人ID")
    private Long feedbackUserId;
    @ApiModelProperty(value = "反馈人公司ID")
    private Long feedbackCorpId;
    @ApiModelProperty(value = "反馈人部门ID")
    private Long feedbackDepartmentId;

    @ApiModelProperty(value = "执行内容")
    @TableField(exist = false)
    private String executeContent;
    @ApiModelProperty(value = "清单名称")
    @TableField(exist = false)
    private String taskListName;
    @ApiModelProperty(value = "反馈人姓名")
    @TableField(exist = false)
    private String feedbackUserName;
    @ApiModelProperty(value = "反馈人部门名称")
    @TableField(exist = false)
    private String feedbackDepartmentName;
    @ApiModelProperty(value = "反馈人公司名称")
    @TableField(exist = false)
    private String feedbackCorpName;
}
