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.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 任务详情完整客户端对象
 * <p>
 * 用于任务详情列表查询，在TaskDetailCO基础上扩展了反馈统计和异常记录信息，
 * 包含反馈次数、反馈状态、当前周期是否已反馈、异常列表等字段。
 * 通过联表查询获取清单名称、任务级别、责任岗位、评分部门/人员名称等关联信息。
 */
@Data
public class TaskDetailFullCO extends ClientObject {
//   当前节点是否反馈（按反馈周期划分时间筛选反馈表），异常列表（反馈周期，异常类型）
    @ApiModelProperty(value = "主键ID")
    private Long id;
    @ApiModelProperty(value = "任务详情UUID")
    private String taskDetailId;
    @ApiModelProperty(value = "任务清单UUID")
    private String taskListId;
    @ApiModelProperty(value = "执行内容")
    private String executeContent;
    @ApiModelProperty(value = "反馈周期类型：1-每月 2-季度 3-半年 4-年")
    private Integer feedbackCycleType;
    @ApiModelProperty(value = "任务分值")
    private BigDecimal taskScore;
    @ApiModelProperty(value = "当前得分（任务评分）")
    private BigDecimal taskRating;
    @ApiModelProperty(value = "任务状态：1-进行中 2-已完成 3-已关闭")
    private Integer taskStatus;
    @ApiModelProperty(value = "反馈次数")
    private Integer feedbackCount;
    @ApiModelProperty(value = "反馈状态：1-正常 2-异常")
    private Integer feedbackStatus;
    @ApiModelProperty(value = "当前节点是否反馈")
    private Boolean currentPeriodFeedback;
    @ApiModelProperty(value = "异常列表")
    private List<FeedbackExceptionCO> exceptionList;
}
