package com.ruoyi.system.domain.form;

import java.io.Serializable;

public class MdForm implements Serializable {

    /**
     * uuid
     */
    private String id;

    /**
     * 表单名称
     */
    private String name;

    /**
     * 背景图片
     */
    private String img;

    /**
     * 分类ID
     */
    private String categoryId;

    /**
     * 填报数量
     */
    private Integer recordNum;

    /**
     * 收集方式 fix-定时 cycle-周期
     */
    private String collectMode;

    /**
     * 开始日期（定时）
     */
    private Long fixStart;

    /**
     * 截止日期（定时）
     */
    private Long fixEnd;

    /**
     * 周期维度 ww-周/m-月/q-季度
     */
    private String cycleType;

    /**
     * 持续天数(周期)
     */
    private Integer cycleLast;

    /**
     * 当前周期
     */
    private String cycleNow;

    /**
     * 是否默认数据 0-否 1-是
     */
    private Integer cycleDef;

    /**
     * 提醒时间
     */
    private Integer mindTime;

    /**
     * 是否定量收集 0-否 1-是
     */
    private Integer needRation;

    /**
     * 收集上限数量
     */
    private Integer rationNum;

    /**
     * 发布时间
     */
    private Long publishTime;

    /**
     * 发布方式 0-部分 1-全部
     */
    private Integer publishMode;

    /**
     * 发布状态 0-未发布 1-收集中 2-已结束
     */
    private Integer publishStatus;

    /**
     * 状态 1-正常 0-删除
     */
    private Integer status;

    /**
     * 创建时间
     */
    private Long createTime;

    /**
     * 删除时间
     */
    private Long deleteTime;

    /**
     * 所属用户
     */
    private String ownUser;
    /**
     * 所属用户真实名
     */
    private String ownUserName;

    /**
     * 所属部门
     */
    private String ownDept;


    private Integer isSend;

    /**
     * 表单定义
     */
    private String formConfig;

    /**
     * 部分发布的用户列表（逗号分隔）
     */
    private String publishUser;

    /**
     * 表单查看类型1:同部门，2：所有人，3：仅自己：4自己选人
     *
     * @return
     */
    private Integer readType;

    public Integer getReadType() {
        return readType;
    }

    public void setReadType(Integer readType) {
        this.readType = readType;
    }

    public String getOwnUserName() {
        return ownUserName;
    }

    public void setOwnUserName(String ownUserName) {
        this.ownUserName = ownUserName;
    }

    private static final long serialVersionUID = 1L;

    public Integer getIsSend() {
        return isSend;
    }

    public void setIsSend(Integer isSend) {
        this.isSend = isSend;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getImg() {
        return img;
    }

    public void setImg(String img) {
        this.img = img;
    }

    public String getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(String categoryId) {
        this.categoryId = categoryId;
    }

    public Integer getRecordNum() {
        return recordNum;
    }

    public void setRecordNum(Integer recordNum) {
        this.recordNum = recordNum;
    }

    public String getCollectMode() {
        return collectMode;
    }

    public void setCollectMode(String collectMode) {
        this.collectMode = collectMode;
    }

    public Long getFixStart() {
        return fixStart;
    }

    public void setFixStart(Long fixStart) {
        this.fixStart = fixStart;
    }

    public Long getFixEnd() {
        return fixEnd;
    }

    public void setFixEnd(Long fixEnd) {
        this.fixEnd = fixEnd;
    }

    public String getCycleType() {
        return cycleType;
    }

    public void setCycleType(String cycleType) {
        this.cycleType = cycleType;
    }

    public Integer getCycleLast() {
        return cycleLast;
    }

    public void setCycleLast(Integer cycleLast) {
        this.cycleLast = cycleLast;
    }

    public String getCycleNow() {
        return cycleNow;
    }

    public void setCycleNow(String cycleNow) {
        this.cycleNow = cycleNow;
    }

    public Integer getCycleDef() {
        return cycleDef;
    }

    public void setCycleDef(Integer cycleDef) {
        this.cycleDef = cycleDef;
    }

    public Integer getMindTime() {
        return mindTime;
    }

    public void setMindTime(Integer mindTime) {
        this.mindTime = mindTime;
    }

    public Integer getNeedRation() {
        return needRation;
    }

    public void setNeedRation(Integer needRation) {
        this.needRation = needRation;
    }

    public Integer getRationNum() {
        return rationNum;
    }

    public void setRationNum(Integer rationNum) {
        this.rationNum = rationNum;
    }

    public Long getPublishTime() {
        return publishTime;
    }

    public void setPublishTime(Long publishTime) {
        this.publishTime = publishTime;
    }

    public Integer getPublishMode() {
        return publishMode;
    }

    public void setPublishMode(Integer publishMode) {
        this.publishMode = publishMode;
    }

    public Integer getPublishStatus() {
        return publishStatus;
    }

    public void setPublishStatus(Integer publishStatus) {
        this.publishStatus = publishStatus;
    }

    public Integer getStatus() {
        return status;
    }

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

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public Long getDeleteTime() {
        return deleteTime;
    }

    public void setDeleteTime(Long deleteTime) {
        this.deleteTime = deleteTime;
    }

    public String getOwnUser() {
        return ownUser;
    }

    public void setOwnUser(String ownUser) {
        this.ownUser = ownUser;
    }

    public String getOwnDept() {
        return ownDept;
    }

    public void setOwnDept(String ownDept) {
        this.ownDept = ownDept;
    }

    public String getFormConfig() {
        return formConfig;
    }

    public void setFormConfig(String formConfig) {
        this.formConfig = formConfig;
    }

    public String getPublishUser() {
        return publishUser;
    }

    public void setPublishUser(String publishUser) {
        this.publishUser = publishUser;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", name=").append(name);
        sb.append(", img=").append(img);
        sb.append(", categoryId=").append(categoryId);
        sb.append(", recordNum=").append(recordNum);
        sb.append(", collectMode=").append(collectMode);
        sb.append(", fixStart=").append(fixStart);
        sb.append(", fixEnd=").append(fixEnd);
        sb.append(", cycleType=").append(cycleType);
        sb.append(", cycleLast=").append(cycleLast);
        sb.append(", cycleNow=").append(cycleNow);
        sb.append(", cycleDef=").append(cycleDef);
        sb.append(", mindTime=").append(mindTime);
        sb.append(", needRation=").append(needRation);
        sb.append(", rationNum=").append(rationNum);
        sb.append(", publishTime=").append(publishTime);
        sb.append(", publishMode=").append(publishMode);
        sb.append(", publishStatus=").append(publishStatus);
        sb.append(", status=").append(status);
        sb.append(", createTime=").append(createTime);
        sb.append(", deleteTime=").append(deleteTime);
        sb.append(", ownUser=").append(ownUser);
        sb.append(", ownDept=").append(ownDept);
        sb.append(", formConfig=").append(formConfig);
        sb.append(", publishCom=").append(publishUser);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        MdForm other = (MdForm) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
                && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
                && (this.getImg() == null ? other.getImg() == null : this.getImg().equals(other.getImg()))
                && (this.getCategoryId() == null ? other.getCategoryId() == null : this.getCategoryId().equals(other.getCategoryId()))
                && (this.getRecordNum() == null ? other.getRecordNum() == null : this.getRecordNum().equals(other.getRecordNum()))
                && (this.getCollectMode() == null ? other.getCollectMode() == null : this.getCollectMode().equals(other.getCollectMode()))
                && (this.getFixStart() == null ? other.getFixStart() == null : this.getFixStart().equals(other.getFixStart()))
                && (this.getFixEnd() == null ? other.getFixEnd() == null : this.getFixEnd().equals(other.getFixEnd()))
                && (this.getCycleType() == null ? other.getCycleType() == null : this.getCycleType().equals(other.getCycleType()))
                && (this.getCycleLast() == null ? other.getCycleLast() == null : this.getCycleLast().equals(other.getCycleLast()))
                && (this.getCycleNow() == null ? other.getCycleNow() == null : this.getCycleNow().equals(other.getCycleNow()))
                && (this.getCycleDef() == null ? other.getCycleDef() == null : this.getCycleDef().equals(other.getCycleDef()))
                && (this.getMindTime() == null ? other.getMindTime() == null : this.getMindTime().equals(other.getMindTime()))
                && (this.getNeedRation() == null ? other.getNeedRation() == null : this.getNeedRation().equals(other.getNeedRation()))
                && (this.getRationNum() == null ? other.getRationNum() == null : this.getRationNum().equals(other.getRationNum()))
                && (this.getPublishTime() == null ? other.getPublishTime() == null : this.getPublishTime().equals(other.getPublishTime()))
                && (this.getPublishMode() == null ? other.getPublishMode() == null : this.getPublishMode().equals(other.getPublishMode()))
                && (this.getPublishStatus() == null ? other.getPublishStatus() == null : this.getPublishStatus().equals(other.getPublishStatus()))
                && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
                && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
                && (this.getDeleteTime() == null ? other.getDeleteTime() == null : this.getDeleteTime().equals(other.getDeleteTime()))
                && (this.getOwnUser() == null ? other.getOwnUser() == null : this.getOwnUser().equals(other.getOwnUser()))
                && (this.getOwnDept() == null ? other.getOwnDept() == null : this.getOwnDept().equals(other.getOwnDept()))
                && (this.getFormConfig() == null ? other.getFormConfig() == null : this.getFormConfig().equals(other.getFormConfig()))
                && (this.getPublishUser() == null ? other.getPublishUser() == null : this.getPublishUser().equals(other.getPublishUser()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
        result = prime * result + ((getImg() == null) ? 0 : getImg().hashCode());
        result = prime * result + ((getCategoryId() == null) ? 0 : getCategoryId().hashCode());
        result = prime * result + ((getRecordNum() == null) ? 0 : getRecordNum().hashCode());
        result = prime * result + ((getCollectMode() == null) ? 0 : getCollectMode().hashCode());
        result = prime * result + ((getFixStart() == null) ? 0 : getFixStart().hashCode());
        result = prime * result + ((getFixEnd() == null) ? 0 : getFixEnd().hashCode());
        result = prime * result + ((getCycleType() == null) ? 0 : getCycleType().hashCode());
        result = prime * result + ((getCycleLast() == null) ? 0 : getCycleLast().hashCode());
        result = prime * result + ((getCycleNow() == null) ? 0 : getCycleNow().hashCode());
        result = prime * result + ((getCycleDef() == null) ? 0 : getCycleDef().hashCode());
        result = prime * result + ((getMindTime() == null) ? 0 : getMindTime().hashCode());
        result = prime * result + ((getNeedRation() == null) ? 0 : getNeedRation().hashCode());
        result = prime * result + ((getRationNum() == null) ? 0 : getRationNum().hashCode());
        result = prime * result + ((getPublishTime() == null) ? 0 : getPublishTime().hashCode());
        result = prime * result + ((getPublishMode() == null) ? 0 : getPublishMode().hashCode());
        result = prime * result + ((getPublishStatus() == null) ? 0 : getPublishStatus().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getDeleteTime() == null) ? 0 : getDeleteTime().hashCode());
        result = prime * result + ((getOwnUser() == null) ? 0 : getOwnUser().hashCode());
        result = prime * result + ((getOwnDept() == null) ? 0 : getOwnDept().hashCode());
        result = prime * result + ((getFormConfig() == null) ? 0 : getFormConfig().hashCode());
        result = prime * result + ((getPublishUser() == null) ? 0 : getPublishUser().hashCode());
        return result;
    }
}