package com.aucma.dms.domain;

import com.aucma.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;



/**
 * 润滑计划对象 dms_plan_lube
 *
 * @author Open Platform
 * @date 2024-02-26
 */
public class DmsPlanLube extends DmsBaseEntity
{
    private static final long serialVersionUID = 1L;

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

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

    /** 润滑级别：1-日常润滑；2-月度润滑；3-年度润滑 */
    @Excel(name = "润滑级别：1-日常润滑；2-月度润滑；3-年度润滑")
    private String lubeLevel;

    /** 润滑组别 */
    @Excel(name = "润滑组别")
    private String lubeGroup;

    /** 润滑负责人 */
    @Excel(name = "润滑负责人")
    private String lubeSupervisor;

    /** 本次润滑时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "本次润滑时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lubeTime;

    /** 时限（单位：s） */
    @Excel(name = "时限", readConverterExp = "单=位：s")
    private Long timeLimit;

    /** 关联sys_job主键 */
    @Excel(name = "关联sys_job主键")
    private Long jobId;

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

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

    /** 是否标识：1-是；0-否 */
    @Excel(name = "是否标识：1-是；0-否")
    private String isFlag;
    private Long timeLimitDays;
    private Long timeLimitHours;
    private String cronExpression;

    private List<DmsPlanLubeDetail> dmsPlanLubeDetailList;

    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 void setPlanLubeId(Long planLubeId)
    {
        this.planLubeId = planLubeId;
    }

    public Long getPlanLubeId()
    {
        return planLubeId;
    }
    public void setPlanLubeCode(String planLubeCode)
    {
        this.planLubeCode = planLubeCode;
    }

    public String getPlanLubeCode()
    {
        return planLubeCode;
    }
    public void setLubeLevel(String lubeLevel)
    {
        this.lubeLevel = lubeLevel;
    }

    public String getLubeLevel()
    {
        return lubeLevel;
    }
    public void setLubeGroup(String lubeGroup)
    {
        this.lubeGroup = lubeGroup;
    }

    public String getLubeGroup()
    {
        return lubeGroup;
    }
    public void setLubeSupervisor(String lubeSupervisor)
    {
        this.lubeSupervisor = lubeSupervisor;
    }

    public String getLubeSupervisor()
    {
        return lubeSupervisor;
    }
    public void setLubeTime(Date lubeTime)
    {
        this.lubeTime = lubeTime;
    }

    public Date getLubeTime()
    {
        return lubeTime;
    }
    public void setTimeLimit(Long timeLimit)
    {
        this.timeLimit = timeLimit;
    }

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

    public Long getJobId()
    {
        return jobId;
    }
    public void setCyclePeriod(String cyclePeriod)
    {
        this.cyclePeriod = cyclePeriod;
    }

    public String getCyclePeriod()
    {
        return cyclePeriod;
    }
    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<DmsPlanLubeDetail> getDmsPlanLubeDetailList() {
        return dmsPlanLubeDetailList;
    }

    public void setDmsPlanLubeDetailList(List<DmsPlanLubeDetail> dmsPlanLubeDetailList) {
        this.dmsPlanLubeDetailList = dmsPlanLubeDetailList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("planLubeId", getPlanLubeId())
                .append("planLubeCode", getPlanLubeCode())
                .append("lubeLevel", getLubeLevel())
                .append("lubeGroup", getLubeGroup())
                .append("lubeSupervisor", getLubeSupervisor())
                .append("lubeTime", getLubeTime())
                .append("timeLimit", getTimeLimit())
                .append("jobId", getJobId())
                .append("cyclePeriod", getCyclePeriod())
                .append("createMethod", getCreateMethod())
                .append("isFlag", getIsFlag())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
