package com.ruoyi.project.reliability.domain;

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

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import com.ruoyi.project.intact.domain.TIntactApprove;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.poi.ss.formula.functions.T;

/**
 * 可靠性管理申请对象 t_kekao_approve
 *
 * @author ruoyi
 * @date 2022-07-08
 */
public class TKekaoApprove extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 申请人id */
    @Excel(name = "申请人id")
    private Long userId;

    /** 可靠性清单的id */
    @Excel(name = "设备ids")
    private String devId;

    /** 设备类型： */
    @Excel(name = "设备类型：")
    private Long devType;

    /** 审批类型 */
    @Excel(name = "审批类型")
    private Long approveType;

    /** 内容 */
    @Excel(name = "内容")
    private String content;

    /** 附件url */
    @Excel(name = "附件url")
    private String fileUrls;

    /** 回执url */
    @Excel(name = "回执url")
    private String reUrls;

    /** 申请状态 0:审批中 1-通过 2-拒绝 */
    @Excel(name = "申请状态 0:审批中 1-通过 2-拒绝")
    private Long status;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creattime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endtime;

    /** 流程id */
    @Excel(name = "流程id")
    private String processId;

    /** 政府回执时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "政府回执时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date govDate;

    /** 延期日期 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "延期日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date delayDate;

    /** 延期原因 */
    @Excel(name = "延期原因")
    private String delayReason;

    /** 延期措施 */
    @Excel(name = "延期措施")
    private String delayMeasure;

    /** 延期安全声明 */
    @Excel(name = "延期安全声明")
    private String delayNotice;

    /** 申请编号（唯一） */
    @Excel(name = "申请编号", readConverterExp = "唯=一")
    private String apNo;

    /** 检查日期 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "检查日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkDate;

    /** 报告ids */
    @Excel(name = "报告ids")
    private String reportId;

    /** 月报告ids */
    @Excel(name = "月报告ids")
    private String monthId;

    /** 删除标识 */
    private Long delFlag;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;

    @TableField(exist = false)
    private List<Object> devList;

    @TableField(exist = false)
    private List<TKekaoApprove> files;

    @TableField(exist = false)
    private String userName;

    /**
     * 审核人员
     */
    @TableField(exist = false)
    private Long auditor;

    /**
     * 审批人员
     */
    @TableField(exist = false)
    private Long approver;
    /**
     * 可靠性经理
     */
    @TableField(exist = false)
    private Long kkxjl;

    public TKekaoApprove() {
    }



    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setDevId(String devId)
    {
        this.devId = devId;
    }

    public String getDevId()
    {
        return devId;
    }
    public void setDevType(Long devType)
    {
        this.devType = devType;
    }

    public Long getDevType()
    {
        return devType;
    }
    public void setApproveType(Long approveType)
    {
        this.approveType = approveType;
    }

    public Long getApproveType()
    {
        return approveType;
    }
    public void setContent(String content)
    {
        this.content = content;
    }

    public String getContent()
    {
        return content;
    }
    public void setFileUrls(String fileUrls)
    {
        this.fileUrls = fileUrls;
    }

    public String getFileUrls()
    {
        return fileUrls;
    }
    public void setReUrls(String reUrls)
    {
        this.reUrls = reUrls;
    }

    public String getReUrls()
    {
        return reUrls;
    }
    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }
    public void setCreattime(Date creattime)
    {
        this.creattime = creattime;
    }

    public Date getCreattime()
    {
        return creattime;
    }
    public void setEndtime(Date endtime)
    {
        this.endtime = endtime;
    }

    public Date getEndtime()
    {
        return endtime;
    }
    public void setProcessId(String processId)
    {
        this.processId = processId;
    }

    public String getProcessId()
    {
        return processId;
    }
    public void setGovDate(Date govDate)
    {
        this.govDate = govDate;
    }

    public Date getGovDate()
    {
        return govDate;
    }
    public void setDelayDate(Date delayDate)
    {
        this.delayDate = delayDate;
    }

    public Date getDelayDate()
    {
        return delayDate;
    }
    public void setDelayReason(String delayReason)
    {
        this.delayReason = delayReason;
    }

    public String getDelayReason()
    {
        return delayReason;
    }
    public void setDelayMeasure(String delayMeasure)
    {
        this.delayMeasure = delayMeasure;
    }

    public String getDelayMeasure()
    {
        return delayMeasure;
    }
    public void setDelayNotice(String delayNotice)
    {
        this.delayNotice = delayNotice;
    }

    public String getDelayNotice()
    {
        return delayNotice;
    }
    public void setApNo(String apNo)
    {
        this.apNo = apNo;
    }

    public String getApNo()
    {
        return apNo;
    }
    public void setCheckDate(Date checkDate)
    {
        this.checkDate = checkDate;
    }

    public Date getCheckDate()
    {
        return checkDate;
    }
    public void setReportId(String reportId)
    {
        this.reportId = reportId;
    }

    public String getReportId()
    {
        return reportId;
    }
    public void setMonthId(String monthId)
    {
        this.monthId = monthId;
    }

    public String getMonthId()
    {
        return monthId;
    }
    public void setDelFlag(Long delFlag)
    {
        this.delFlag = delFlag;
    }

    public Long getDelFlag()
    {
        return delFlag;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }


    public List<Object> getDevList() {
        return devList;
    }

    public void setDevList(List<Object> devList) {
        this.devList = devList;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public List<TKekaoApprove> getFiles() {
        return files;
    }

    public void setFiles(List<TKekaoApprove> files) {
        this.files = files;
    }

    public Long getAuditor() {
        return auditor;
    }

    public void setAuditor(Long auditor) {
        this.auditor = auditor;
    }

    public Long getApprover() {
        return approver;
    }

    public void setApprover(Long approver) {
        this.approver = approver;
    }

    public Long getKkxjl() {
        return kkxjl;
    }

    public void setKkxjl(Long kkxjl) {
        this.kkxjl = kkxjl;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("devId", getDevId())
            .append("devType", getDevType())
            .append("approveType", getApproveType())
            .append("content", getContent())
            .append("fileUrls", getFileUrls())
            .append("reUrls", getReUrls())
            .append("status", getStatus())
            .append("creattime", getCreattime())
            .append("endtime", getEndtime())
            .append("processId", getProcessId())
            .append("govDate", getGovDate())
            .append("delayDate", getDelayDate())
            .append("delayReason", getDelayReason())
            .append("delayMeasure", getDelayMeasure())
            .append("delayNotice", getDelayNotice())
            .append("apNo", getApNo())
            .append("checkDate", getCheckDate())
            .append("reportId", getReportId())
            .append("monthId", getMonthId())
            .append("delFlag", getDelFlag())
            .append("deptId", getDeptId())
            .toString();
    }
}
