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_repair
 *
 * @author Open Platform
 * @date 2024-01-15
 */
public class DmsPlanRepair extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

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

    /** 检修类型(1、简单检修，2、整体检修) */
    @Excel(name = "检修类型(1、简单检修，2、整体检修)")
    private String repairType;

    /** 检修组别 */
    @Excel(name = "检修组别")
    private String repairGroup;

    /** 检修负责人 */
    @Excel(name = "检修负责人")
    private String repairSupervisor;

    /** 本次检修时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "本次检修时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date repairTime;

    /** 检修完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检修完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date repairEndTime;

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

    /** 检修状态：1-待检修；2-检修中；3-已完成 */
    @Excel(name = "检修状态：1-待检修；2-检修中；3-已完成")
    private String repairStatus;

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

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

    private String cronExpression;

    public String getCronExpression() {
        return cronExpression;
    }

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

    private Long timeLimit;

    private Long jobId;

    public Long getTimeLimit() {
        return timeLimit;
    }
    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 void setTimeLimit(Long timeLimit) {
        this.timeLimit = timeLimit;
    }

    public Long getJobId() {
        return jobId;
    }

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

    /** 检修计划明细信息 */
    private List<DmsPlanRepairDetail> dmsPlanRepairDetailList;

    public void setPlanRepairId(Long planRepairId)
    {
        this.planRepairId = planRepairId;
    }

    public Long getPlanRepairId()
    {
        return planRepairId;
    }
    public void setPlanRepairCode(String planRepairCode)
    {
        this.planRepairCode = planRepairCode;
    }

    public String getPlanRepairCode()
    {
        return planRepairCode;
    }
    public void setRepairType(String repairType)
    {
        this.repairType = repairType;
    }

    public String getRepairType()
    {
        return repairType;
    }
    public void setRepairGroup(String repairGroup)
    {
        this.repairGroup = repairGroup;
    }

    public String getRepairGroup()
    {
        return repairGroup;
    }
    public void setRepairSupervisor(String repairSupervisor)
    {
        this.repairSupervisor = repairSupervisor;
    }

    public String getRepairSupervisor()
    {
        return repairSupervisor;
    }
    public void setRepairTime(Date repairTime)
    {
        this.repairTime = repairTime;
    }

    public Date getRepairTime()
    {
        return repairTime;
    }
    public void setRepairEndTime(Date repairEndTime)
    {
        this.repairEndTime = repairEndTime;
    }

    public Date getRepairEndTime()
    {
        return repairEndTime;
    }
    public void setCyclePeriod(Long cyclePeriod)
    {
        this.cyclePeriod = cyclePeriod;
    }

    public Long getCyclePeriod()
    {
        return cyclePeriod;
    }
    public void setRepairStatus(String repairStatus)
    {
        this.repairStatus = repairStatus;
    }

    public String getRepairStatus()
    {
        return repairStatus;
    }
    public void setCreateMethod(String createMethod)
    {
        this.createMethod = createMethod;
    }

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

    public String getIsFlag()
    {
        return isFlag;
    }

    public List<DmsPlanRepairDetail> getDmsPlanRepairDetailList()
    {
        return dmsPlanRepairDetailList;
    }

    public void setDmsPlanRepairDetailList(List<DmsPlanRepairDetail> dmsPlanRepairDetailList)
    {
        this.dmsPlanRepairDetailList = dmsPlanRepairDetailList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("planRepairId", getPlanRepairId())
            .append("planRepairCode", getPlanRepairCode())
            .append("repairType", getRepairType())
            .append("repairGroup", getRepairGroup())
            .append("repairSupervisor", getRepairSupervisor())
            .append("repairTime", getRepairTime())
            .append("repairEndTime", getRepairEndTime())
            .append("cyclePeriod", getCyclePeriod())
            .append("repairStatus", getRepairStatus())
            .append("createMethod", getCreateMethod())
            .append("isFlag", getIsFlag())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("dmsPlanRepairDetailList", getDmsPlanRepairDetailList())
            .toString();
    }
}
