package xiaoqu.home.open.model.db2;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 任务计划
 * </p>
 *
 * @author wh
 * @since 2023-11-08
 */
@TableName("plan")
@ApiModel(value="Plan对象", description="任务计划")
public class Plan extends Model<Plan> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "创建id")
    @TableField("create_id")
    private Long createId;

    @ApiModelProperty(value = "创建人")
    @TableField("create_name")
    private String createName;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private Date createTime;

    @ApiModelProperty(value = "修改id")
    @TableField("modify_id")
    private Long modifyId;

    @ApiModelProperty(value = "修改人")
    @TableField("modify_name")
    private String modifyName;

    @ApiModelProperty(value = "修改时间")
    @TableField("modify_time")
    private Date modifyTime;

    @ApiModelProperty(value = "数据状态")
    @TableField("soft_delete")
    private Integer softDelete;

    @ApiModelProperty(value = "计划类型(0:计划;1:系统监控;2:指派)")
    @TableField("type")
    private Integer type;

    @ApiModelProperty(value = "任务类型id（assignment_type_id）")
    @TableField("task_type_id")
    private Long taskTypeId;

    @ApiModelProperty(value = "任务名称")
    @TableField("task_name")
    private String taskName;

    @ApiModelProperty(value = "是否为打包任务(0:否;1:是)")
    @TableField("package_status")
    private Integer packageStatus;

    @ApiModelProperty(value = "任务标准/任务触发条件")
    @TableField("task_standard")
    private String taskStandard;

    @ApiModelProperty(value = "任务方法/描述/要求")
    @TableField("task_content")
    private String taskContent;

    @ApiModelProperty(value = "任务人员操作类型(0:单人;1:多人)")
    @TableField("user_status")
    private Integer userStatus;

    @ApiModelProperty(value = "任务人员操作类型(0:不限;1:指定)")
    @TableField("user_type")
    private Integer userType;

    @ApiModelProperty(value = "任务生成类型(0:定时;1:人流)")
    @TableField("task_create_type")
    private Integer taskCreateType;

    @ApiModelProperty(value = "计划状态(0:启用;1:中止;2:结束)")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "是否跨域(0:否;1:是)")
    @TableField("is_cross")
    private Integer isCross;

    @ApiModelProperty(value = "匹配是(0:否;1:是)")
    @TableField("must_status")
    private Integer mustStatus;

    @ApiModelProperty(value = "匹配否(0:否;1:是)")
    @TableField("not_status")
    private Integer notStatus;

    @ApiModelProperty(value = "时薪类型")
    @TableField("wage_id")
    private Long wageId;

    @ApiModelProperty(value = "标准工时(分钟)")
    @TableField("working_timing")
    private Integer workingTiming;

    @ApiModelProperty(value = "转场时间(分钟)")
    @TableField("transition_timing")
    private Integer transitionTiming;

    @ApiModelProperty(value = "准备时间(分钟)")
    @TableField("ready_timing")
    private Integer readyTiming;

    @ApiModelProperty(value = "放宽冗余时间(分钟)")
    @TableField("redundance_timing")
    private Integer redundanceTiming;

    @ApiModelProperty(value = "计划开始时间")
    @TableField("start_time")
    private Date startTime;

    @ApiModelProperty(value = "计划结束时间")
    @TableField("end_time")
    private Date endTime;

    @ApiModelProperty(value = "重复方式(0:不重复;1:周期一次;2:周期多次;)")
    @TableField("circle_status")
    private Integer circleStatus;

    @ApiModelProperty(value = "重复周期(0:天;1:周;2:月;3:时)")
    @TableField("circle_type")
    private Integer circleType;

    @ApiModelProperty(value = "周期内编号（格式待定 周1-7，月1-31等）")
    @TableField("circle_no")
    private String circleNo;

    @ApiModelProperty(value = "要求执行时段类型（0：不限；1：自定义）")
    @TableField("action_time_type")
    private Integer actionTimeType;

    @ApiModelProperty(value = "任务生成开始时间（HH:MM）")
    @TableField("action_start_time")
    private String actionStartTime;

    @ApiModelProperty(value = "任务生成结束时间（HH:MM）")
    @TableField("action_end_time")
    private String actionEndTime;

    @ApiModelProperty(value = "跳过类型(0:不跳过;1:法定节假日;2:自定义日期)")
    @TableField("eliminate_type")
    private Integer eliminateType;

    @ApiModelProperty(value = "跳过日期list")
    @TableField("eliminate_time")
    private String eliminateTime;

    @ApiModelProperty(value = "过期类型（0:不过期;1:第二天过期;2:指定时间过期）")
    @TableField("expire_type")
    private Integer expireType;

    @ApiModelProperty(value = "过期时间")
    @TableField("expire_timing")
    private Integer expireTiming;

    @ApiModelProperty(value = "触发人次")
    @TableField("action_count")
    private Integer actionCount;

    @ApiModelProperty(value = "站点id")
    @TableField("district_id")
    private Long districtId;

    @ApiModelProperty(value = "物业id")
    @TableField("property_id")
    private Long propertyId;

    @ApiModelProperty(value = "代理id")
    @TableField("agent_id")
    private Long agentId;

    @ApiModelProperty(value = "站点名称")
    @TableField("district_name")
    private String districtName;

    @ApiModelProperty(value = "物业名称")
    @TableField("property_name")
    private String propertyName;

    @ApiModelProperty(value = "代理名称")
    @TableField("agent_name")
    private String agentName;

    @ApiModelProperty(value = "计划积分(预留)")
    @TableField("point")
    private Double point;

    @ApiModelProperty(value = "积分开关")
    @TableField("point_status")
    private Integer pointStatus;

    @ApiModelProperty(value = "计划启用日期类型(0:系统默认;1:自定义启用日期)")
    @TableField("start_status")
    private Integer startStatus;

    @ApiModelProperty(value = "池排序")
    @TableField("pool_order")
    private Integer poolOrder;

    @ApiModelProperty(value = "组排序")
    @TableField("group_order")
    private Integer groupOrder;

    @ApiModelProperty(value = "任务排序")
    @TableField("task_order")
    private Integer taskOrder;

    @ApiModelProperty(value = "时薪工时")
    @TableField("wage_hour")
    private Double wageHour;

    @TableField("notice_flag")
    private Integer noticeFlag;

    @TableField("task_flag")
    private Integer taskFlag;

    @TableField("clock_flag")
    private Integer clockFlag;

    @ApiModelProperty(value = "任务要求")
    @TableField("task_require")
    private String taskRequire;


    public Long getId() {
        return id;
    }

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

    public Long getCreateId() {
        return createId;
    }

    public void setCreateId(Long createId) {
        this.createId = createId;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public Date getCreateTime() {
        return createTime;
    }

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

    public Long getModifyId() {
        return modifyId;
    }

    public void setModifyId(Long modifyId) {
        this.modifyId = modifyId;
    }

    public String getModifyName() {
        return modifyName;
    }

    public void setModifyName(String modifyName) {
        this.modifyName = modifyName;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public Integer getSoftDelete() {
        return softDelete;
    }

    public void setSoftDelete(Integer softDelete) {
        this.softDelete = softDelete;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Long getTaskTypeId() {
        return taskTypeId;
    }

    public void setTaskTypeId(Long taskTypeId) {
        this.taskTypeId = taskTypeId;
    }

    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    public Integer getPackageStatus() {
        return packageStatus;
    }

    public void setPackageStatus(Integer packageStatus) {
        this.packageStatus = packageStatus;
    }

    public String getTaskStandard() {
        return taskStandard;
    }

    public void setTaskStandard(String taskStandard) {
        this.taskStandard = taskStandard;
    }

    public String getTaskContent() {
        return taskContent;
    }

    public void setTaskContent(String taskContent) {
        this.taskContent = taskContent;
    }

    public Integer getUserStatus() {
        return userStatus;
    }

    public void setUserStatus(Integer userStatus) {
        this.userStatus = userStatus;
    }

    public Integer getUserType() {
        return userType;
    }

    public void setUserType(Integer userType) {
        this.userType = userType;
    }

    public Integer getTaskCreateType() {
        return taskCreateType;
    }

    public void setTaskCreateType(Integer taskCreateType) {
        this.taskCreateType = taskCreateType;
    }

    public Integer getStatus() {
        return status;
    }

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

    public Integer getIsCross() {
        return isCross;
    }

    public void setIsCross(Integer isCross) {
        this.isCross = isCross;
    }

    public Integer getMustStatus() {
        return mustStatus;
    }

    public void setMustStatus(Integer mustStatus) {
        this.mustStatus = mustStatus;
    }

    public Integer getNotStatus() {
        return notStatus;
    }

    public void setNotStatus(Integer notStatus) {
        this.notStatus = notStatus;
    }

    public Long getWageId() {
        return wageId;
    }

    public void setWageId(Long wageId) {
        this.wageId = wageId;
    }

    public Integer getWorkingTiming() {
        return workingTiming;
    }

    public void setWorkingTiming(Integer workingTiming) {
        this.workingTiming = workingTiming;
    }

    public Integer getTransitionTiming() {
        return transitionTiming;
    }

    public void setTransitionTiming(Integer transitionTiming) {
        this.transitionTiming = transitionTiming;
    }

    public Integer getReadyTiming() {
        return readyTiming;
    }

    public void setReadyTiming(Integer readyTiming) {
        this.readyTiming = readyTiming;
    }

    public Integer getRedundanceTiming() {
        return redundanceTiming;
    }

    public void setRedundanceTiming(Integer redundanceTiming) {
        this.redundanceTiming = redundanceTiming;
    }

    public Date getStartTime() {
        return startTime;
    }

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

    public Date getEndTime() {
        return endTime;
    }

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

    public Integer getCircleStatus() {
        return circleStatus;
    }

    public void setCircleStatus(Integer circleStatus) {
        this.circleStatus = circleStatus;
    }

    public Integer getCircleType() {
        return circleType;
    }

    public void setCircleType(Integer circleType) {
        this.circleType = circleType;
    }

    public String getCircleNo() {
        return circleNo;
    }

    public void setCircleNo(String circleNo) {
        this.circleNo = circleNo;
    }

    public Integer getActionTimeType() {
        return actionTimeType;
    }

    public void setActionTimeType(Integer actionTimeType) {
        this.actionTimeType = actionTimeType;
    }

    public String getActionStartTime() {
        return actionStartTime;
    }

    public void setActionStartTime(String actionStartTime) {
        this.actionStartTime = actionStartTime;
    }

    public String getActionEndTime() {
        return actionEndTime;
    }

    public void setActionEndTime(String actionEndTime) {
        this.actionEndTime = actionEndTime;
    }

    public Integer getEliminateType() {
        return eliminateType;
    }

    public void setEliminateType(Integer eliminateType) {
        this.eliminateType = eliminateType;
    }

    public String getEliminateTime() {
        return eliminateTime;
    }

    public void setEliminateTime(String eliminateTime) {
        this.eliminateTime = eliminateTime;
    }

    public Integer getExpireType() {
        return expireType;
    }

    public void setExpireType(Integer expireType) {
        this.expireType = expireType;
    }

    public Integer getExpireTiming() {
        return expireTiming;
    }

    public void setExpireTiming(Integer expireTiming) {
        this.expireTiming = expireTiming;
    }

    public Integer getActionCount() {
        return actionCount;
    }

    public void setActionCount(Integer actionCount) {
        this.actionCount = actionCount;
    }

    public Long getDistrictId() {
        return districtId;
    }

    public void setDistrictId(Long districtId) {
        this.districtId = districtId;
    }

    public Long getPropertyId() {
        return propertyId;
    }

    public void setPropertyId(Long propertyId) {
        this.propertyId = propertyId;
    }

    public Long getAgentId() {
        return agentId;
    }

    public void setAgentId(Long agentId) {
        this.agentId = agentId;
    }

    public String getDistrictName() {
        return districtName;
    }

    public void setDistrictName(String districtName) {
        this.districtName = districtName;
    }

    public String getPropertyName() {
        return propertyName;
    }

    public void setPropertyName(String propertyName) {
        this.propertyName = propertyName;
    }

    public String getAgentName() {
        return agentName;
    }

    public void setAgentName(String agentName) {
        this.agentName = agentName;
    }

    public Double getPoint() {
        return point;
    }

    public void setPoint(Double point) {
        this.point = point;
    }

    public Integer getPointStatus() {
        return pointStatus;
    }

    public void setPointStatus(Integer pointStatus) {
        this.pointStatus = pointStatus;
    }

    public Integer getStartStatus() {
        return startStatus;
    }

    public void setStartStatus(Integer startStatus) {
        this.startStatus = startStatus;
    }

    public Integer getPoolOrder() {
        return poolOrder;
    }

    public void setPoolOrder(Integer poolOrder) {
        this.poolOrder = poolOrder;
    }

    public Integer getGroupOrder() {
        return groupOrder;
    }

    public void setGroupOrder(Integer groupOrder) {
        this.groupOrder = groupOrder;
    }

    public Integer getTaskOrder() {
        return taskOrder;
    }

    public void setTaskOrder(Integer taskOrder) {
        this.taskOrder = taskOrder;
    }

    public Double getWageHour() {
        return wageHour;
    }

    public void setWageHour(Double wageHour) {
        this.wageHour = wageHour;
    }

    public Integer getNoticeFlag() {
        return noticeFlag;
    }

    public void setNoticeFlag(Integer noticeFlag) {
        this.noticeFlag = noticeFlag;
    }

    public Integer getTaskFlag() {
        return taskFlag;
    }

    public void setTaskFlag(Integer taskFlag) {
        this.taskFlag = taskFlag;
    }

    public Integer getClockFlag() {
        return clockFlag;
    }

    public void setClockFlag(Integer clockFlag) {
        this.clockFlag = clockFlag;
    }

    public String getTaskRequire() {
        return taskRequire;
    }

    public void setTaskRequire(String taskRequire) {
        this.taskRequire = taskRequire;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "Plan{" +
        "id=" + id +
        ", createId=" + createId +
        ", createName=" + createName +
        ", createTime=" + createTime +
        ", modifyId=" + modifyId +
        ", modifyName=" + modifyName +
        ", modifyTime=" + modifyTime +
        ", softDelete=" + softDelete +
        ", type=" + type +
        ", taskTypeId=" + taskTypeId +
        ", taskName=" + taskName +
        ", packageStatus=" + packageStatus +
        ", taskStandard=" + taskStandard +
        ", taskContent=" + taskContent +
        ", userStatus=" + userStatus +
        ", userType=" + userType +
        ", taskCreateType=" + taskCreateType +
        ", status=" + status +
        ", isCross=" + isCross +
        ", mustStatus=" + mustStatus +
        ", notStatus=" + notStatus +
        ", wageId=" + wageId +
        ", workingTiming=" + workingTiming +
        ", transitionTiming=" + transitionTiming +
        ", readyTiming=" + readyTiming +
        ", redundanceTiming=" + redundanceTiming +
        ", startTime=" + startTime +
        ", endTime=" + endTime +
        ", circleStatus=" + circleStatus +
        ", circleType=" + circleType +
        ", circleNo=" + circleNo +
        ", actionTimeType=" + actionTimeType +
        ", actionStartTime=" + actionStartTime +
        ", actionEndTime=" + actionEndTime +
        ", eliminateType=" + eliminateType +
        ", eliminateTime=" + eliminateTime +
        ", expireType=" + expireType +
        ", expireTiming=" + expireTiming +
        ", actionCount=" + actionCount +
        ", districtId=" + districtId +
        ", propertyId=" + propertyId +
        ", agentId=" + agentId +
        ", districtName=" + districtName +
        ", propertyName=" + propertyName +
        ", agentName=" + agentName +
        ", point=" + point +
        ", pointStatus=" + pointStatus +
        ", startStatus=" + startStatus +
        ", poolOrder=" + poolOrder +
        ", groupOrder=" + groupOrder +
        ", taskOrder=" + taskOrder +
        ", wageHour=" + wageHour +
        ", noticeFlag=" + noticeFlag +
        ", taskFlag=" + taskFlag +
        ", clockFlag=" + clockFlag +
        ", taskRequire=" + taskRequire +
        "}";
    }
}
