package com.ruoyi.system.domain.visit;

import java.io.Serializable;
import java.util.Date;

public class VisitFreePlanModel implements Serializable {

    private String id;

    /**
     * 走访标题
     *
     * @mbg.generated
     */
    private String planTitle;

    /**
     * 走访类型
     *
     * @mbg.generated
     */
    private String planType;

    /**
     * 任务类型
     *
     * @mbg.generated
     */
    private String taskType;

    /**
     * 走访状态  1、草稿、2、已发布、3、发布中 4即将超期
     *
     * @mbg.generated
     */
    private String planStatus;

    /**
     * 计划走访网格
     *
     * @mbg.generated
     */
    private String planWgCode;

    /**
     * 计划走访开始时间
     *
     * @mbg.generated
     */
    private String startTime;

    /**
     * 计划走访结束时间
     *
     * @mbg.generated
     */
    private String endTime;

    /**
     * 是否 无限制走访 0 否 1 是
     *
     * @mbg.generated
     */
    private String unlimited;

    /**
     * 计划走访总数
     *
     * @mbg.generated
     */
    private Long planAllNum;

    /**
     * 计划走访企业总数
     *
     * @mbg.generated
     */
    private Long planComNum = 0L;

    /**
     * 计划走访商铺总数
     *
     * @mbg.generated
     */
    private Long planShopNum;

    /**
     * 计划走访房屋总数
     *
     * @mbg.generated
     */
    private Long planHouseNum;

    /**
     * 计划走访人口总数
     *
     * @mbg.generated
     */
    private Long planPeopleNum;

    /**
     * 创建时间
     *
     * @mbg.generated
     */
    private Date createTime;

    /**
     * 创建人
     *
     * @mbg.generated
     */
    private String createBy;

    /**
     * 修改时间
     *
     * @mbg.generated
     */
    private Date updateTime;

    /**
     * 最后修改人
     *
     * @mbg.generated
     */
    private String updateBy;

    /**
     * 1:有效 0:无效
     *
     * @mbg.generated
     */
    private String isValid;

    /**
     * 报错信息
     *
     * @mbg.generated
     */
    private String exceptionDesc;

    /**
     * 说明
     *
     * @mbg.generated
     */
    private String planExplain;

    /**
     * 自由走访F/更新走访U
     */
    private String visitType;

    private static final long serialVersionUID = 1L;

    public String getId() {
        return id;
    }

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

    public String getPlanTitle() {
        return planTitle;
    }

    public void setPlanTitle(String planTitle) {
        this.planTitle = planTitle;
    }

    public String getPlanType() {
        return planType;
    }

    public void setPlanType(String planType) {
        this.planType = planType;
    }

    public String getTaskType() {
        return taskType;
    }

    public void setTaskType(String taskType) {
        this.taskType = taskType;
    }

    public String getPlanStatus() {
        return planStatus;
    }

    public void setPlanStatus(String planStatus) {
        this.planStatus = planStatus;
    }

    public String getPlanWgCode() {
        return planWgCode;
    }

    public void setPlanWgCode(String planWgCode) {
        this.planWgCode = planWgCode;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getUnlimited() {
        return unlimited;
    }

    public void setUnlimited(String unlimited) {
        this.unlimited = unlimited;
    }

    public Long getPlanAllNum() {
        return planAllNum;
    }

    public void setPlanAllNum(Long planAllNum) {
        this.planAllNum = planAllNum;
    }

    public Long getPlanComNum() {
        return planComNum;
    }

    public void setPlanComNum(Long planComNum) {
        this.planComNum = planComNum;
    }

    public Long getPlanShopNum() {
        return planShopNum;
    }

    public void setPlanShopNum(Long planShopNum) {
        this.planShopNum = planShopNum;
    }

    public Long getPlanHouseNum() {
        return planHouseNum;
    }

    public void setPlanHouseNum(Long planHouseNum) {
        this.planHouseNum = planHouseNum;
    }

    public Long getPlanPeopleNum() {
        return planPeopleNum;
    }

    public void setPlanPeopleNum(Long planPeopleNum) {
        this.planPeopleNum = planPeopleNum;
    }

    public Date getCreateTime() {
        return createTime;
    }

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

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public String getIsValid() {
        return isValid;
    }

    public void setIsValid(String isValid) {
        this.isValid = isValid;
    }

    public String getExceptionDesc() {
        return exceptionDesc;
    }

    public void setExceptionDesc(String exceptionDesc) {
        this.exceptionDesc = exceptionDesc;
    }

    public String getPlanExplain() {
        return planExplain;
    }

    public void setPlanExplain(String planExplain) {
        this.planExplain = planExplain;
    }

    public String getVisitType() {
        return visitType;
    }

    public void setVisitType(String visitType) {
        this.visitType = visitType;
    }

    @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(", planTitle=").append(planTitle);
        sb.append(", planType=").append(planType);
        sb.append(", taskType=").append(taskType);
        sb.append(", planStatus=").append(planStatus);
        sb.append(", planWgCode=").append(planWgCode);
        sb.append(", startTime=").append(startTime);
        sb.append(", endTime=").append(endTime);
        sb.append(", unlimited=").append(unlimited);
        sb.append(", planAllNum=").append(planAllNum);
        sb.append(", planComNum=").append(planComNum);
        sb.append(", planShopNum=").append(planShopNum);
        sb.append(", planHouseNum=").append(planHouseNum);
        sb.append(", planPeopleNum=").append(planPeopleNum);
        sb.append(", createTime=").append(createTime);
        sb.append(", createBy=").append(createBy);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", updateBy=").append(updateBy);
        sb.append(", isValid=").append(isValid);
        sb.append(", exceptionDesc=").append(exceptionDesc);
        sb.append(", planExplain=").append(planExplain);
        sb.append(", visitType=").append(visitType);
        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;
        }
        VisitFreePlanModel other = (VisitFreePlanModel) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
                && (this.getPlanTitle() == null ? other.getPlanTitle() == null : this.getPlanTitle().equals(other.getPlanTitle()))
                && (this.getPlanType() == null ? other.getPlanType() == null : this.getPlanType().equals(other.getPlanType()))
                && (this.getTaskType() == null ? other.getTaskType() == null : this.getTaskType().equals(other.getTaskType()))
                && (this.getPlanStatus() == null ? other.getPlanStatus() == null : this.getPlanStatus().equals(other.getPlanStatus()))
                && (this.getPlanWgCode() == null ? other.getPlanWgCode() == null : this.getPlanWgCode().equals(other.getPlanWgCode()))
                && (this.getStartTime() == null ? other.getStartTime() == null : this.getStartTime().equals(other.getStartTime()))
                && (this.getEndTime() == null ? other.getEndTime() == null : this.getEndTime().equals(other.getEndTime()))
                && (this.getUnlimited() == null ? other.getUnlimited() == null : this.getUnlimited().equals(other.getUnlimited()))
                && (this.getPlanAllNum() == null ? other.getPlanAllNum() == null : this.getPlanAllNum().equals(other.getPlanAllNum()))
                && (this.getPlanComNum() == null ? other.getPlanComNum() == null : this.getPlanComNum().equals(other.getPlanComNum()))
                && (this.getPlanShopNum() == null ? other.getPlanShopNum() == null : this.getPlanShopNum().equals(other.getPlanShopNum()))
                && (this.getPlanHouseNum() == null ? other.getPlanHouseNum() == null : this.getPlanHouseNum().equals(other.getPlanHouseNum()))
                && (this.getPlanPeopleNum() == null ? other.getPlanPeopleNum() == null : this.getPlanPeopleNum().equals(other.getPlanPeopleNum()))
                && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
                && (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
                && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
                && (this.getUpdateBy() == null ? other.getUpdateBy() == null : this.getUpdateBy().equals(other.getUpdateBy()))
                && (this.getIsValid() == null ? other.getIsValid() == null : this.getIsValid().equals(other.getIsValid()))
                && (this.getExceptionDesc() == null ? other.getExceptionDesc() == null : this.getExceptionDesc().equals(other.getExceptionDesc()))
                && (this.getVisitType() == null ? other.getVisitType() == null : this.getVisitType().equals(other.getVisitType()))
                && (this.getPlanExplain() == null ? other.getPlanExplain() == null : this.getPlanExplain().equals(other.getPlanExplain()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getPlanTitle() == null) ? 0 : getPlanTitle().hashCode());
        result = prime * result + ((getPlanType() == null) ? 0 : getPlanType().hashCode());
        result = prime * result + ((getTaskType() == null) ? 0 : getTaskType().hashCode());
        result = prime * result + ((getPlanStatus() == null) ? 0 : getPlanStatus().hashCode());
        result = prime * result + ((getPlanWgCode() == null) ? 0 : getPlanWgCode().hashCode());
        result = prime * result + ((getStartTime() == null) ? 0 : getStartTime().hashCode());
        result = prime * result + ((getEndTime() == null) ? 0 : getEndTime().hashCode());
        result = prime * result + ((getUnlimited() == null) ? 0 : getUnlimited().hashCode());
        result = prime * result + ((getPlanAllNum() == null) ? 0 : getPlanAllNum().hashCode());
        result = prime * result + ((getPlanComNum() == null) ? 0 : getPlanComNum().hashCode());
        result = prime * result + ((getPlanShopNum() == null) ? 0 : getPlanShopNum().hashCode());
        result = prime * result + ((getPlanHouseNum() == null) ? 0 : getPlanHouseNum().hashCode());
        result = prime * result + ((getPlanPeopleNum() == null) ? 0 : getPlanPeopleNum().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getUpdateBy() == null) ? 0 : getUpdateBy().hashCode());
        result = prime * result + ((getIsValid() == null) ? 0 : getIsValid().hashCode());
        result = prime * result + ((getExceptionDesc() == null) ? 0 : getExceptionDesc().hashCode());
        result = prime * result + ((getPlanExplain() == null) ? 0 : getPlanExplain().hashCode());
        return result;
    }
}