package com.hw.dms.domain;

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

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

    /** 计划ID,关联dms_plan_inspect的plan_inspect_id */
    @Excel(name = "计划ID,关联dms_plan_inspect的plan_inspect_id")
    private Long planInspectId;

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

    /** 检查类型(1巡检,2点检) */
    @Excel(name = "检查类型(1巡检,2点检)")
    private String inspectType;

    /** 巡检编号 */
    @Excel(name = "巡检编号")
    private String billsInspectCode;

    /** 巡检线路,关联dms_base_inspect_route的inspect_route_id */
    @Excel(name = "巡检线路,关联dms_base_inspect_route的inspect_route_id")
    private Long inspectRouteId;

    /** 设备总数 */
    @Excel(name = "设备总数")
    private Long deviceAmount;

    /** 计划巡检时间 */
    @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 planEndTime;

    /** 实际开始时间 */
    @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 realEndTime;

    /** 执行人员 */
    @Excel(name = "执行人员")
    private String performer;

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

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

    private String routeName;

    /**多个状态时使用，以,隔开*/
    private String inspectStatusStr;

    private List<DmsInspectInstanceDetail> dmsInspectInstanceDetailList;

    public void setInspectInstanceId(Long inspectInstanceId)
    {
        this.inspectInstanceId = inspectInstanceId;
    }

    public Long getInspectInstanceId()
    {
        return inspectInstanceId;
    }
    public void setPlanInspectId(Long planInspectId)
    {
        this.planInspectId = planInspectId;
    }

    public Long getPlanInspectId()
    {
        return planInspectId;
    }
    public void setWfProcessId(Long wfProcessId)
    {
        this.wfProcessId = wfProcessId;
    }

    public Long getWfProcessId()
    {
        return wfProcessId;
    }
    public void setInspectType(String inspectType)
    {
        this.inspectType = inspectType;
    }

    public String getInspectType()
    {
        return inspectType;
    }
    public void setBillsInspectCode(String billsInspectCode)
    {
        this.billsInspectCode = billsInspectCode;
    }

    public String getBillsInspectCode()
    {
        return billsInspectCode;
    }
    public void setInspectRouteId(Long inspectRouteId)
    {
        this.inspectRouteId = inspectRouteId;
    }

    public Long getInspectRouteId()
    {
        return inspectRouteId;
    }
    public void setDeviceAmount(Long deviceAmount)
    {
        this.deviceAmount = deviceAmount;
    }

    public Long getDeviceAmount()
    {
        return deviceAmount;
    }

    public Date getPlanBeginTime() {
        return planBeginTime;
    }

    public void setPlanBeginTime(Date planBeginTime) {
        this.planBeginTime = planBeginTime;
    }

    public Date getPlanEndTime() {
        return planEndTime;
    }

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

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

    public Date getRealBeginTime()
    {
        return realBeginTime;
    }
    public void setRealEndTime(Date realEndTime)
    {
        this.realEndTime = realEndTime;
    }

    public Date getRealEndTime()
    {
        return realEndTime;
    }
    public void setPerformer(String performer)
    {
        this.performer = performer;
    }

    public String getPerformer()
    {
        return performer;
    }
    public void setInspectStatus(String inspectStatus)
    {
        this.inspectStatus = inspectStatus;
    }

    public String getInspectStatus()
    {
        return inspectStatus;
    }
    public void setIsFlag(String isFlag)
    {
        this.isFlag = isFlag;
    }

    public String getIsFlag()
    {
        return isFlag;
    }

    public String getRouteName() {
        return routeName;
    }

    public void setRouteName(String routeName) {
        this.routeName = routeName;
    }

    public String getInspectStatusStr() {
        return inspectStatusStr;
    }

    public void setInspectStatusStr(String inspectStatusStr) {
        this.inspectStatusStr = inspectStatusStr;
    }

    public List<DmsInspectInstanceDetail> getDmsInspectInstanceDetailList() {
        return dmsInspectInstanceDetailList;
    }

    public void setDmsInspectInstanceDetailList(List<DmsInspectInstanceDetail> dmsInspectInstanceDetailList) {
        this.dmsInspectInstanceDetailList = dmsInspectInstanceDetailList;
    }

    @Override
    public String toString() {
        return "DmsBillsInspectInstance{" +
                "inspectInstanceId=" + inspectInstanceId +
                ", planInspectId=" + planInspectId +
                ", wfProcessId=" + wfProcessId +
                ", inspectType='" + inspectType + '\'' +
                ", billsInspectCode='" + billsInspectCode + '\'' +
                ", inspectRouteId=" + inspectRouteId +
                ", deviceAmount=" + deviceAmount +
                ", planBeginTime=" + planBeginTime +
                ", planEndTime=" + planEndTime +
                ", realBeginTime=" + realBeginTime +
                ", realEndTime=" + realEndTime +
                ", performer='" + performer + '\'' +
                ", inspectStatus='" + inspectStatus + '\'' +
                ", isFlag='" + isFlag + '\'' +
                '}';
    }
}
