package com.ruoyi.oa.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 维修审批对象 cmc_repair
 * 
 * @author cmc
 * @date 2026-07-01
 */
public class CmcRepair extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 维修id */
    private String repairId;

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

    /** 申请部门 */
    @Excel(name = "申请部门")
    private Long applyDept;

    /** 情况说明 */
    @Excel(name = "情况说明")
    private String applyReason;

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

    /** 维修类型 */
    @Excel(name = "维修类型")
    private String repairUsage;

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

    /** 部门审批人 */
    @Excel(name = "部门审批人")
    private Long deptUserId;

    /** 部门意见 */
    @Excel(name = "部门意见")
    private String deptComment;

    /** 部门审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "部门审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deptTime;

    /** 分管审批人 */
    @Excel(name = "分管审批人")
    private Long managerUserId;

    /** 分管审批意见 */
    @Excel(name = "分管审批意见")
    private String managerComment;

    /** 分管审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "分管审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date managerTime;

    /** 综合事务部审核人 */
    @Excel(name = "综合事务部审核人")
    private Long reviewerId;

    /** 综合事务部审核意见 */
    @Excel(name = "综合事务部审核意见")
    private String reviewerComment;

    /** 综合事务部审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "综合事务部审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewerTime;

    /** 综合事务部处理人 */
    @Excel(name = "综合事务部处理人")
    private Long handlerId;

    /** 综合事务部处理情况 */
    @Excel(name = "综合事务部处理情况")
    private String handlerComment;

    /** 综合事务部处理时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "综合事务部处理时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date repairTime;

    /** 维修费用 */
    @Excel(name = "维修费用")
    private BigDecimal repairMoney;

    /** 关联项目id */
    @Excel(name = "关联项目")
    private String projectId;

    /** 关联设备id */
    @Excel(name = "关联设备")
    private Integer deviceId;

    public void setRepairId(String repairId) 
    {
        this.repairId = repairId;
    }

    public String getRepairId() 
    {
        return repairId;
    }
    public void setApplier(Long applier) 
    {
        this.applier = applier;
    }

    public Long getApplier() 
    {
        return applier;
    }
    public void setApplyDept(Long applyDept) 
    {
        this.applyDept = applyDept;
    }

    public Long getApplyDept() 
    {
        return applyDept;
    }
    public void setApplyReason(String applyReason) 
    {
        this.applyReason = applyReason;
    }

    public String getApplyReason() 
    {
        return applyReason;
    }
    public void setApplyDate(Date applyDate) 
    {
        this.applyDate = applyDate;
    }

    public Date getApplyDate() 
    {
        return applyDate;
    }
    public void setRepairUsage(String repairUsage) 
    {
        this.repairUsage = repairUsage;
    }

    public String getRepairUsage() 
    {
        return repairUsage;
    }
    public void setRepairDocument(String repairDocument) 
    {
        this.repairDocument = repairDocument;
    }

    public String getRepairDocument() 
    {
        return repairDocument;
    }
    public void setDeptUserId(Long deptUserId) 
    {
        this.deptUserId = deptUserId;
    }

    public Long getDeptUserId() 
    {
        return deptUserId;
    }
    public void setDeptComment(String deptComment) 
    {
        this.deptComment = deptComment;
    }

    public String getDeptComment() 
    {
        return deptComment;
    }
    public void setDeptTime(Date deptTime) 
    {
        this.deptTime = deptTime;
    }

    public Date getDeptTime() 
    {
        return deptTime;
    }
    public void setManagerUserId(Long managerUserId) 
    {
        this.managerUserId = managerUserId;
    }

    public Long getManagerUserId() 
    {
        return managerUserId;
    }
    public void setManagerComment(String managerComment) 
    {
        this.managerComment = managerComment;
    }

    public String getManagerComment() 
    {
        return managerComment;
    }
    public void setManagerTime(Date managerTime) 
    {
        this.managerTime = managerTime;
    }

    public Date getManagerTime() 
    {
        return managerTime;
    }
    public void setReviewerId(Long reviewerId) 
    {
        this.reviewerId = reviewerId;
    }

    public Long getReviewerId() 
    {
        return reviewerId;
    }
    public void setReviewerComment(String reviewerComment) 
    {
        this.reviewerComment = reviewerComment;
    }

    public String getReviewerComment() 
    {
        return reviewerComment;
    }
    public void setReviewerTime(Date reviewerTime) 
    {
        this.reviewerTime = reviewerTime;
    }

    public Date getReviewerTime() 
    {
        return reviewerTime;
    }
    public void setHandlerId(Long handlerId) 
    {
        this.handlerId = handlerId;
    }

    public Long getHandlerId() 
    {
        return handlerId;
    }
    public void setHandlerComment(String handlerComment) 
    {
        this.handlerComment = handlerComment;
    }

    public String getHandlerComment() 
    {
        return handlerComment;
    }
    public void setRepairTime(Date repairTime) 
    {
        this.repairTime = repairTime;
    }

    public Date getRepairTime() 
    {
        return repairTime;
    }
    public void setRepairMoney(BigDecimal repairMoney) 
    {
        this.repairMoney = repairMoney;
    }

    public BigDecimal getRepairMoney() 
    {
        return repairMoney;
    }
    public void setProjectId(String projectId)
    {
        this.projectId = projectId;
    }

    public String getProjectId()
    {
        return projectId;
    }
    public void setDeviceId(Integer deviceId)
    {
        this.deviceId = deviceId;
    }

    public Integer getDeviceId()
    {
        return deviceId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("repairId", getRepairId())
            .append("applier", getApplier())
            .append("applyDept", getApplyDept())
            .append("applyReason", getApplyReason())
            .append("applyDate", getApplyDate())
            .append("repairUsage", getRepairUsage())
            .append("repairDocument", getRepairDocument())
            .append("deptUserId", getDeptUserId())
            .append("deptComment", getDeptComment())
            .append("deptTime", getDeptTime())
            .append("managerUserId", getManagerUserId())
            .append("managerComment", getManagerComment())
            .append("managerTime", getManagerTime())
            .append("reviewerId", getReviewerId())
            .append("reviewerComment", getReviewerComment())
            .append("reviewerTime", getReviewerTime())
            .append("handlerId", getHandlerId())
            .append("handlerComment", getHandlerComment())
            .append("repairTime", getRepairTime())
            .append("repairMoney", getRepairMoney())
            .append("projectId", getProjectId())
            .append("deviceId", getDeviceId())
            .toString();
    }
}
