package com.xunmei.common.core.domain.retrieval.vo;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xunmei.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 监控调阅任务对象 core_monitoring_retrieval_task
 *
 * @author xunmei
 * @date 2023-08-25
 */
@Data
@ApiModel(value = "CoreMonitoringRetrievalTask对象", description = "监控调阅任务")
public class CoreMonitoringRetrievalTaskVo extends BaseEntity {
    private static final long serialVersionUID = 1L;

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

    /**
     * 计划id
     */
    private Long planId;

    /**
     * 任务名称
     */
    @ApiModelProperty(value = "任务名称")
    private String taskName;

    /**
     * 调阅机构
     */
    private Long orgId;

    /**
     * 调阅机构
     */
    private String orgPath;

    /**
     * 调阅机构
     */
    @ApiModelProperty(value = "调阅机构")
    private String orgName;

    /**
     * 年月日
     */
    private Date ymdDate;

    /**
     * 年
     */
    private Long ymdYear;

    /**
     * 半年
     */
    private Long ymdHalfyear;

    /**
     * 季度
     */
    private Long ymdQuarter;

    /**
     * 月
     */
    private Long ymdMonth;

    /**
     * 周
     */
    private Long ymdWeek;

    /**
     * 日
     */
    private Long ymdDay;

    /**
     * 周期无周期、每日、每周、每月、每季度、每半年、每年（0-6）
     */
    private Long cycle;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "开始时间")
    private Date planStartTime;

    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "结束时间")
    private Date planEndTime;

    /**
     * 调阅开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "调阅开始时间")
    private Date startTime;

    /**
     * 调阅结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "调阅结束时间")
    private Date endTime;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private Long status;

    private String statusText;

    /**
     * 角色id
     */
    private Long roleId;

    private String roleName;

    /**
     * 调阅人
     */
    private Long retrievalUser;

    private String retrievalUserName;

    /**
     * 第几次调阅（根据计划的频次计算的来）
     */
    private Long orderNum;

    /**
     * 批次号（同一计划多频次为一个批次号）
     */
    private Long batchNum;

    /**
     * 提交时间
     */
    private Date submitTime;

    /**
     * 异常数
     */
    @ApiModelProperty(value = "异常数")
    private Long exceptionCount;


    private Integer no;
}
