package com.zd.chemical.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import com.zd.common.core.web.domain.BaseEntity;

import java.util.Date;

/**
 * 化学品申购任务对象 act_applytask
 *
 * @author zd
 * @date 2022-08-17
 */
@ApiModel("化学品申购任务")
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
public class ActApplytask extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    @ApiModelProperty(value = "${comment}")
    private Long id;
    /** 规则因子对应的申请表id。 */
    @Excel(name = "规则因子对应的申请表id。")
    @ApiModelProperty(value = "规则因子对应的申请表id。")
    private Long taskId;
    /** 任务名称 */
    @Excel(name = "任务名称")
    @Length(message = "任务名称长度不能超过50")
    @ApiModelProperty(value = "任务名称")
    private String taskName;
    /** 任务类别(1是对应的化学品申请) 目前只有这个，后期可以扩加 */
    @Excel(name = "任务类别(1是对应的化学品申请) 目前只有这个，后期可以扩加")
    @ApiModelProperty(value = "任务类别(1是对应的化学品申请) 目前只有这个，后期可以扩加")
    private Integer taskType;
    /** 记录当前步数，用于后期图形化展示 */
    @Excel(name = "记录当前步数，用于后期图形化展示")
    @ApiModelProperty(value = "记录当前步数，用于后期图形化展示")
    private Long nowStep;
    /** 记录下一步，用于环节审批提前预知，如无下一步，那么返回-1做记录 */
    @Excel(name = "记录下一步，用于环节审批提前预知，如无下一步，那么返回-1做记录")
    @ApiModelProperty(value = "记录下一步，用于环节审批提前预知，如无下一步，那么返回-1做记录")
    private Long nextStep;
    /** 审批状态（0是审批中，1是审批通过，2是审批拒绝） */
    @Excel(name = "审批状态（0是审批中，1是审批通过，2是审批拒绝）")
    @ApiModelProperty(value = "审批状态（0是审批中，1是审批通过，2是审批拒绝）")
    private Integer approvalStatus;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date overTime;

    /** 拒绝审批内容 */
    @Excel(name = "拒绝审批内容")
    @ApiModelProperty(value = "拒绝审批内容")
    private String refuseContent;
}
