package com.zcloud.safetyDutyList.dto.clientobject.tasklist;

import com.alibaba.cola.dto.ClientObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 执行反馈客户端对象
 * <p>
 * 用于向前端返回反馈列表和详情数据，
 * 包含反馈内容、周期标识、反馈人信息等字段。
 * 通过联表查询获取执行内容、清单名称、反馈人姓名、部门名称、公司名称等关联信息。
 */
@Data
public class FeedbackCO extends ClientObject {
    @ApiModelProperty(value = "主键")
    private Long id;
    @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 = "反馈时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime feedbackTime;
    @ApiModelProperty(value = "反馈周期开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime feedbackPeriodStartTime;
    @ApiModelProperty(value = "反馈周期结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime feedbackPeriodEndTime;
    @ApiModelProperty(value = "反馈周期标识")
    private String feedbackPeriodFlag;
    @ApiModelProperty(value = "反馈周期类型")
    private Integer feedbackCycleType;
    @ApiModelProperty(value = "反馈内容")
    private String feedbackContent;
    @ApiModelProperty(value = "反馈人ID")
    private Long feedbackUserId;
    @ApiModelProperty(value = "反馈人姓名")
    private String feedbackUserName;
    @ApiModelProperty(value = "反馈人公司ID")
    private Long feedbackCorpId;
    @ApiModelProperty(value = "反馈人公司名称")
    private String feedbackCorpName;
    @ApiModelProperty(value = "反馈人部门ID")
    private Long feedbackDepartmentId;
    @ApiModelProperty(value = "反馈人部门名称")
    private String feedbackDepartmentName;
    @ApiModelProperty(value = "执行内容")
    private String executeContent;
    @ApiModelProperty(value = "清单名称")
    private String taskListName;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
}
