package com.hw.dms.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hw.common.core.annotation.Excel;
import com.hw.common.core.web.domain.BaseEntity;

/**
 * 保养计划信息对象 dms_plan_maint
 *
 * @author xins
 * @date 2024-01-08
 */
public class DmsPlanMaint extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键标识 */
    private Long planMaintId;

    /** 计划编号 */
    @Excel(name = "计划编号")
    private String planMaintCode;

    /** 保养级别：1-日常保养；2-月度保养；3-年度保养 */
    @Excel(name = "保养级别：1-日常保养；2-月度保养；3-年度保养")
    private Long maintLevel;

    /** 保养组别 */
    @Excel(name = "保养组别")
    private String maintGroup;

    /** 保养负责人 */
    @Excel(name = "保养负责人")
    private String maintSupervisor;

    /** 本次保养时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "本次保养时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date maintTime;
    @Excel(name = "关联sys_job主键")
    private Long jobId;

    @Excel(name = "时限")
    private Long timeLimit;



    /** 循环周期 */
    @Excel(name = "循环周期")
    private Long cyclePeriod;

    /** 保养状态：1-待保养；2-保养中；3-已完成 */
    @Excel(name = "保养状态：1-待保养；2-保养中；3-已完成")
    private Long maintStatus;

    /** 创建方式：1-人工创建；2-自动创建 */
    @Excel(name = "创建方式：1-人工创建；2-自动创建")
    private Long createMethod;

    /** 是否标识：1-是；2-否 */
    @Excel(name = "是否标识：1-是；2-否")
    private Long isFlag;

    private String cronExpression;
    private Long timeLimitDays;
    private Long timeLimitHours;


    public Long getTimeLimitDays() {
        return timeLimitDays;
    }

    public void setTimeLimitDays(Long timeLimitDays) {
        this.timeLimitDays = timeLimitDays;
    }

    public Long getTimeLimitHours() {
        return timeLimitHours;
    }

    public void setTimeLimitHours(Long timeLimitHours) {
        this.timeLimitHours = timeLimitHours;
    }

    public String getCronExpression() {
        return cronExpression;
    }

    public void setCronExpression(String cronExpression) {
        this.cronExpression = cronExpression;
    }

    public Long getJobId() {
        return jobId;
    }

    public void setJobId(Long jobId) {
        this.jobId = jobId;
    }

    public Long getTimeLimit() {
        return timeLimit;
    }

    public void setTimeLimit(Long timeLimit) {
        this.timeLimit = timeLimit;
    }

    /** 保养计划明细信息 */
    private List<DmsPlanMaintDetail> dmsPlanMaintDetailList;

    public void setPlanMaintId(Long planMaintId)
    {
        this.planMaintId = planMaintId;
    }

    public Long getPlanMaintId()
    {
        return planMaintId;
    }
    public void setPlanMaintCode(String planMaintCode)
    {
        this.planMaintCode = planMaintCode;
    }

    public String getPlanMaintCode()
    {
        return planMaintCode;
    }
    public void setMaintLevel(Long maintLevel)
    {
        this.maintLevel = maintLevel;
    }

    public Long getMaintLevel()
    {
        return maintLevel;
    }
    public void setMaintGroup(String maintGroup)
    {
        this.maintGroup = maintGroup;
    }

    public String getMaintGroup()
    {
        return maintGroup;
    }
    public void setMaintSupervisor(String maintSupervisor)
    {
        this.maintSupervisor = maintSupervisor;
    }

    public String getMaintSupervisor()
    {
        return maintSupervisor;
    }
    public void setMaintTime(Date maintTime)
    {
        this.maintTime = maintTime;
    }

    public Date getMaintTime()
    {
        return maintTime;
    }
    public void setCyclePeriod(Long cyclePeriod)
    {
        this.cyclePeriod = cyclePeriod;
    }

    public Long getCyclePeriod()
    {
        return cyclePeriod;
    }
    public void setMaintStatus(Long maintStatus)
    {
        this.maintStatus = maintStatus;
    }

    public Long getMaintStatus()
    {
        return maintStatus;
    }
    public void setCreateMethod(Long createMethod)
    {
        this.createMethod = createMethod;
    }

    public Long getCreateMethod()
    {
        return createMethod;
    }
    public void setIsFlag(Long isFlag)
    {
        this.isFlag = isFlag;
    }

    public Long getIsFlag()
    {
        return isFlag;
    }

    public List<DmsPlanMaintDetail> getDmsPlanMaintDetailList()
    {
        return dmsPlanMaintDetailList;
    }

    public void setDmsPlanMaintDetailList(List<DmsPlanMaintDetail> dmsPlanMaintDetailList)
    {
        this.dmsPlanMaintDetailList = dmsPlanMaintDetailList;
    }

    @Override
    public String toString() {
        return "DmsPlanMaint{" +
                "planMaintId=" + planMaintId +
                ", planMaintCode='" + planMaintCode + '\'' +
                ", maintLevel=" + maintLevel +
                ", maintGroup='" + maintGroup + '\'' +
                ", maintSupervisor='" + maintSupervisor + '\'' +
                ", maintTime=" + maintTime +
                ", jobId=" + jobId +
                ", timeLimit=" + timeLimit +
                ", cyclePeriod=" + cyclePeriod +
                ", maintStatus=" + maintStatus +
                ", createMethod=" + createMethod +
                ", isFlag=" + isFlag +
                ", cronExpression='" + cronExpression + '\'' +
                ", dmsPlanMaintDetailList=" + dmsPlanMaintDetailList +
                '}';
    }
}
