package com.zd.system.api.laboratory.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

@ApiModel("管控工作明细表")
public class LabGradeManageWorkDetailVO {

    /**
     * 管控记录ID
     */
    @ApiModelProperty(value = "管控记录ID")
    private Long recordId;
    @ApiModelProperty(value = "是否过期，0 否，1 是")
    private Integer isExpired = 0;

    /**
     * 实验室id
     */
    @ApiModelProperty(value = "实验室id")
    private Long subId;
    /**
     * 规则ID
     */
    @ApiModelProperty("规则ID")
    private Long ruleId;
    /**
     * 用户规则明细ID
     */
    @ApiModelProperty("用户规则明细ID")
    private Long ruleUserId;
    /**
     * 规则名称
     */
    @ApiModelProperty("规则名称")
    private String ruleName;
    /**
     * 规则描述
     */
    @ApiModelProperty("规则描述")
    private String ruleRemark;

    @ApiModelProperty("规则类型：日管控，月管控..")
    private String ruleType;
    @ApiModelProperty("执行周期")
    private String cycle;
    /**
     * 截止执行时间- 通过创建时间 + cycle 周期计算
     */
    @JsonFormat(pattern = "yyyy年MM月dd日")
    @ApiModelProperty("截止执行时间")
    private Date endDate;
    /**
     * 执行状态（1 未执行，2 已执行）
     */
    @ApiModelProperty("执行状态（1 未执行，2 已执行）")
    private Integer status;
    /**
     * 实际执行时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "执行时间")
    private Date carryTime;
    /**
     * 需要上传材料（0 否，1 是）
     */
    @ApiModelProperty("需要上传材料（0 否，1 是）")
    private Integer isUpload;
    /**
     * 是否全部执行（0 否，1 是）
     */
    @ApiModelProperty(value = "是否全部执行（0 否，1 是）")
    private Integer isAll;

    /**
     * 1是文档，2是视频，3是图片
     */
    @ApiModelProperty(value = "1是文档，2是视频，3是图片")
    private String fileFormat;

    public Long getRuleId() {
        return ruleId;
    }

    public void setRuleId(Long ruleId) {
        this.ruleId = ruleId;
    }

    public String getRuleName() {
        return ruleName;
    }

    public void setRuleName(String ruleName) {
        this.ruleName = ruleName;
    }

    public String getRuleRemark() {
        return ruleRemark;
    }

    public void setRuleRemark(String ruleRemark) {
        this.ruleRemark = ruleRemark;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCarryTime() {
        return carryTime;
    }

    public void setCarryTime(Date carryTime) {
        this.carryTime = carryTime;
    }

    public Integer getIsUpload() {
        return isUpload;
    }

    public void setIsUpload(Integer isUpload) {
        this.isUpload = isUpload;
    }

    public Long getRuleUserId() {
        return ruleUserId;
    }

    public void setRuleUserId(Long ruleUserId) {
        this.ruleUserId = ruleUserId;
    }

    public Long getRecordId() {
        return recordId;
    }

    public void setRecordId(Long recordId) {
        this.recordId = recordId;
    }

    public Long getSubId() {
        return subId;
    }

    public void setSubId(Long subId) {
        this.subId = subId;
    }

    public String getRuleType() {
        return ruleType;
    }

    public void setRuleType(String ruleType) {
        this.ruleType = ruleType;
    }

    public Integer getIsExpired() {
        return isExpired;
    }

    public void setIsExpired(Integer isExpired) {
        this.isExpired = isExpired;
    }

    public Integer getIsAll() {
        return isAll;
    }

    public void setIsAll(Integer isAll) {
        this.isAll = isAll;
    }

    public String getCycle() {
        return cycle;
    }

    public void setCycle(String cycle) {
        this.cycle = cycle;
    }

    public String getFileFormat() {
        return fileFormat;
    }

    public void setFileFormat(String fileFormat) {
        this.fileFormat = fileFormat;
    }
}
