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

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

/**
 * 监控调阅任务对象 core_monitoring_retrieval_task
 *
 * @author xunmei
 * @date 2023-08-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("core_monitoring_retrieval_task")
@ApiModel(value = "CoreMonitoringRetrievalTask对象" , description = "监控调阅任务")
public class CoreMonitoringRetrievalTask 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 Integer ymdYear;

    /** 半年 */
    private Integer ymdHalfyear;

    /** 季度 */
    private Integer ymdQuarter;

    /** 月 */
    private Integer ymdMonth;

    /** 周 */
    private Integer ymdWeek;

    /** 日 */
    private Integer ymdDay;

    /** 周期无周期、每日、每周、每月、每季度、每半年、每年（0-6） */
    private Integer 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 Integer status;

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

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

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

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

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

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

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
@Override
public String toString(){
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)


                .append("id" ,getId())


                .append("planId" ,getPlanId())


                .append("taskName" ,getTaskName())


                .append("orgId" ,getOrgId())


                .append("orgPath" ,getOrgPath())


                .append("orgName" ,getOrgName())


                .append("ymdDate" ,getYmdDate())


                .append("ymdYear" ,getYmdYear())


                .append("ymdHalfyear" ,getYmdHalfyear())


                .append("ymdQuarter" ,getYmdQuarter())


                .append("ymdMonth" ,getYmdMonth())


                .append("ymdWeek" ,getYmdWeek())


                .append("ymdDay" ,getYmdDay())


                .append("cycle" ,getCycle())


                .append("planStartTime" ,getPlanStartTime())


                .append("planEndTime" ,getPlanEndTime())


                .append("startTime" ,getStartTime())


                .append("endTime" ,getEndTime())


                .append("status" ,getStatus())


                .append("roleId" ,getRoleId())


                .append("retrievalUser" ,getRetrievalUser())


                .append("orderNum" ,getOrderNum())


                .append("batchNum" ,getBatchNum())


                .append("submitTime" ,getSubmitTime())


                .append("exceptionCount" ,getExceptionCount())
        .toString();
        }
        }
