package com.hw.dms.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

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_bills_maint_instance
 *
 * @author Open Platform
 * @date 2024-02-29
 */
public class DmsBillsMaintInstance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    /** 保养计划ID,关联dms_plan_maint的plan_maint_id */
    @Excel(name = "保养计划ID,关联dms_plan_maint的plan_maint_id")
    private Long planMaintId;

    /** 工单流程ID，关联wf_process的wf_process_id */
    @Excel(name = "工单流程ID，关联wf_process的wf_process_id")
    private Long wfProcessId;

    /** 保养单号 */
    @Excel(name = "保养单号")
    private String billsMaintCode;

    /** 计划保养时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划保养时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planBeginTime;

    /** 实际开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date realBeginTime;

    /** 计划完成时间;根据计划的时限计算 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划完成时间;根据计划的时限计算", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planEndTime;

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

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

    /** 保养完成率 */
    @Excel(name = "保养完成率")
    private BigDecimal maintCompRate;

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

    private String maintStatusStr;

    private List<DmsBillsMaintDetail> dmsBillsMaintDetailList;

    public Long getMaintLevel() {
        return maintLevel;
    }

    public void setMaintLevel(Long maintLevel) {
        this.maintLevel = maintLevel;
    }

    public String getMaintGroup() {
        return maintGroup;
    }

    public void setMaintGroup(String maintGroup) {
        this.maintGroup = maintGroup;
    }

    public String getMaintSupervisor() {
        return maintSupervisor;
    }

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

    public void setMaintInstanceId(Long maintInstanceId)
    {
        this.maintInstanceId = maintInstanceId;
    }

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

    public Long getPlanMaintId()
    {
        return planMaintId;
    }
    public void setWfProcessId(Long wfProcessId)
    {
        this.wfProcessId = wfProcessId;
    }

    public Long getWfProcessId()
    {
        return wfProcessId;
    }
    public void setBillsMaintCode(String billsMaintCode)
    {
        this.billsMaintCode = billsMaintCode;
    }

    public String getBillsMaintCode()
    {
        return billsMaintCode;
    }
    public void setPlanBeginTime(Date planBeginTime)
    {
        this.planBeginTime = planBeginTime;
    }

    public Date getPlanBeginTime()
    {
        return planBeginTime;
    }
    public void setRealBeginTime(Date realBeginTime)
    {
        this.realBeginTime = realBeginTime;
    }

    public Date getRealBeginTime()
    {
        return realBeginTime;
    }
    public void setPlanEndTime(Date planEndTime)
    {
        this.planEndTime = planEndTime;
    }

    public Date getPlanEndTime()
    {
        return planEndTime;
    }
    public void setRealEndTime(Date realEndTime)
    {
        this.realEndTime = realEndTime;
    }

    public Date getRealEndTime()
    {
        return realEndTime;
    }
    public void setMaintStatus(Long maintStatus)
    {
        this.maintStatus = maintStatus;
    }

    public Long getMaintStatus()
    {
        return maintStatus;
    }
    public void setMaintCompRate(BigDecimal maintCompRate)
    {
        this.maintCompRate = maintCompRate;
    }

    public BigDecimal getMaintCompRate()
    {
        return maintCompRate;
    }
    public void setIsFlag(Long isFlag)
    {
        this.isFlag = isFlag;
    }

    public Long getIsFlag()
    {
        return isFlag;
    }

    public String getMaintStatusStr() {
        return maintStatusStr;
    }

    public void setMaintStatusStr(String maintStatusStr) {
        this.maintStatusStr = maintStatusStr;
    }

    public List<DmsBillsMaintDetail> getDmsBillsMaintDetailList() {
        return dmsBillsMaintDetailList;
    }

    public void setDmsBillsMaintDetailList(List<DmsBillsMaintDetail> dmsBillsMaintDetailList) {
        this.dmsBillsMaintDetailList = dmsBillsMaintDetailList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("maintInstanceId", getMaintInstanceId())
            .append("planMaintId", getPlanMaintId())
            .append("wfProcessId", getWfProcessId())
            .append("billsMaintCode", getBillsMaintCode())
            .append("planBeginTime", getPlanBeginTime())
            .append("realBeginTime", getRealBeginTime())
            .append("planEndTime", getPlanEndTime())
            .append("realEndTime", getRealEndTime())
            .append("maintStatus", getMaintStatus())
            .append("maintCompRate", getMaintCompRate())
            .append("isFlag", getIsFlag())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
