package com.hw.dms.domain;

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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hw.system.api.domain.SysFile;
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_fault_instance
 *
 * @author Open Platform
 * @date 2024-01-23
 */
public class DmsBillsFaultInstance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键标识;此表不会长期保存 */
    private Long repairInstanceId;

    /** 报修来源类型(1检修，2点检，3巡检，9其他) */
    @Excel(name = "报修来源类型(1检修，2点检，3巡检，9其他)")
    private String faultSourceType;

    /** 报修来源ID，根据报修来源类型关联来源主键 */
    @Excel(name = "报修来源ID，根据报修来源类型关联来源主键")
    private Long faultSourceId;

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

    /** 工单编号 */
    @Excel(name = "工单编号")
    private String billsFaultCode;

    /** 工单状态：0-待维修，1-维修中，2-维修完成，3-待检修，4-检修中，5-检修完成 */
    @Excel(name = "工单状态：0-待维修，1-维修中，2-维修完成，3-待检修，4-检修中，5-检修完成")
    private String billsStatus;

    /** 申请人 */
    @Excel(name = "申请人")
    private String applyUser;

    /** 申请时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyTime;

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

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

    /** 工单类型（1手工创建,2自动创建） */
    @Excel(name = "工单类型", readConverterExp = "1=手工创建,2自动创建")
    private String instanceType;

    private String deviceCode;

    private String deviceName;

    private String deviceLocation;

    private String deviceSpec;

    private String imgUrl;

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

    private Long instanceActivityId;

    private String faultType;

    private String faultDescription;

    private String designOperations;

    private Long deviceId;

    private String repairType;

    private Long outsrcId;

    private String processHandleResolution;

    private List<String> fileUrls;

    private List<SysFile> sysFiles;

    private List<DmsInstanceFile> dmsInstanceFiles;

    public Long getInstanceActivityId() {
        return instanceActivityId;
    }

    public void setInstanceActivityId(Long instanceActivityId) {
        this.instanceActivityId = instanceActivityId;
    }

    private List<DmsFaultInstanceActivity> dmsFaultInstanceActivityList;


    public List<SysFile> getSysFiles() {
        return sysFiles;
    }

    public void setSysFiles(List<SysFile> sysFiles) {
        this.sysFiles = sysFiles;
    }

    public String getImgUrl() {
        return imgUrl;
    }

    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }

    public String getFaultType() {
        return faultType;
    }

    public void setFaultType(String faultType) {
        this.faultType = faultType;
    }

    public String getFaultDescription() {
        return faultDescription;
    }

    public void setFaultDescription(String faultDescription) {
        this.faultDescription = faultDescription;
    }

    public String getDesignOperations() {
        return designOperations;
    }

    public void setDesignOperations(String designOperations) {
        this.designOperations = designOperations;
    }

    public Long getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(Long deviceId) {
        this.deviceId = deviceId;
    }

    public String getRepairType() {
        return repairType;
    }

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

    public Long getOutsrcId() {
        return outsrcId;
    }

    public void setOutsrcId(Long outsrcId) {
        this.outsrcId = outsrcId;
    }

    public String getProcessHandleResolution() {
        return processHandleResolution;
    }

    public void setProcessHandleResolution(String processHandleResolution) {
        this.processHandleResolution = processHandleResolution;
    }

    public void setRepairInstanceId(Long repairInstanceId)
    {
        this.repairInstanceId = repairInstanceId;
    }

    public Long getRepairInstanceId()
    {
        return repairInstanceId;
    }
    public void setFaultSourceType(String faultSourceType)
    {
        this.faultSourceType = faultSourceType;
    }

    public String getFaultSourceType()
    {
        return faultSourceType;
    }
    public void setFaultSourceId(Long faultSourceId)
    {
        this.faultSourceId = faultSourceId;
    }

    public Long getFaultSourceId()
    {
        return faultSourceId;
    }
    public void setWfProcessId(Long wfProcessId)
    {
        this.wfProcessId = wfProcessId;
    }

    public Long getWfProcessId()
    {
        return wfProcessId;
    }
    public void setBillsFaultCode(String billsFaultCode)
    {
        this.billsFaultCode = billsFaultCode;
    }

    public String getBillsFaultCode()
    {
        return billsFaultCode;
    }
    public void setBillsStatus(String billsStatus)
    {
        this.billsStatus = billsStatus;
    }

    public String getBillsStatus()
    {
        return billsStatus;
    }
    public void setApplyUser(String applyUser)
    {
        this.applyUser = applyUser;
    }

    public String getApplyUser()
    {
        return applyUser;
    }
    public void setApplyTime(Date applyTime)
    {
        this.applyTime = applyTime;
    }

    public Date getApplyTime()
    {
        return applyTime;
    }
    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 setRequireEndTime(Date requireEndTime)
    {
        this.requireEndTime = requireEndTime;
    }

    public Date getRequireEndTime()
    {
        return requireEndTime;
    }
    public void setInstanceType(String instanceType)
    {
        this.instanceType = instanceType;
    }

    public String getInstanceType()
    {
        return instanceType;
    }

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getDeviceLocation() {
        return deviceLocation;
    }

    public void setDeviceLocation(String deviceLocation) {
        this.deviceLocation = deviceLocation;
    }

    public String getDeviceSpec() {
        return deviceSpec;
    }

    public void setDeviceSpec(String deviceSpec) {
        this.deviceSpec = deviceSpec;
    }

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

    public String getIsFlag()
    {
        return isFlag;
    }

    public List<String> getFileUrls() {
        return fileUrls;
    }

    public void setFileUrls(List<String> fileUrls) {
        this.fileUrls = fileUrls;
    }

    public List<DmsFaultInstanceActivity> getDmsFaultInstanceActivityList() {
        return dmsFaultInstanceActivityList;
    }

    public void setDmsFaultInstanceActivityList(List<DmsFaultInstanceActivity> dmsFaultInstanceActivityList) {
        this.dmsFaultInstanceActivityList = dmsFaultInstanceActivityList;
    }

    public List<DmsInstanceFile> getDmsInstanceFiles() {
        return dmsInstanceFiles;
    }

    public void setDmsInstanceFiles(List<DmsInstanceFile> dmsInstanceFiles) {
        this.dmsInstanceFiles = dmsInstanceFiles;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("repairInstanceId", getRepairInstanceId())
            .append("faultSourceType", getFaultSourceType())
            .append("faultSourceId", getFaultSourceId())
            .append("wfProcessId", getWfProcessId())
            .append("billsFaultCode", getBillsFaultCode())
            .append("billsStatus", getBillsStatus())
            .append("applyUser", getApplyUser())
            .append("applyTime", getApplyTime())
            .append("realBeginTime", getRealBeginTime())
            .append("realEndTime", getRealEndTime())
            .append("requireEndTime", getRequireEndTime())
            .append("instanceType", getInstanceType())
            .append("isFlag", getIsFlag())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
