package com.ruoyi.project.pssr.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

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

/**
 * pssr审批管理对象 t_pssr_approve
 *
 * @author ssy
 * @date 2024-09-23
 */
public class TPssrApprove extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 唯一标识ID */
    private Long approveId;

    /** 从表id */
    @Excel(name = "从表id")
    private Long subId;

    /** 从表id */
    @Excel(name = "主表id")
    private Long aboveallId;

    /** 申请编号 */
    @Excel(name = "申请编号")
    private String apNo;

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

    /** 审批状态 */
    @Excel(name = "审批状态")
    private Long approveStatus;
    private String confirm1Name;
    private String confirm2Name;
    private List<Long> fileIds;
    private List<TPssrFile> fileList;

    private String reason;
    
    private Long fileNum;

    public Long getFileNum() {
        return fileNum;
    }

    public void setFileNum(Long fileNum) {
        this.fileNum = fileNum;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public List<TPssrFile> getFileList() {
        return fileList;
    }

    public void setFileList(List<TPssrFile> fileList) {
        this.fileList = fileList;
    }

    public List<Long> getFileIds() {
        return fileIds;
    }

    public void setFileIds(List<Long> fileIds) {
        this.fileIds = fileIds;
    }

    public String getConfirm1Name() {
        return confirm1Name;
    }

    public void setConfirm1Name(String confirm1Name) {
        this.confirm1Name = confirm1Name;
    }

    public String getConfirm2Name() {
        return confirm2Name;
    }

    public void setConfirm2Name(String confirm2Name) {
        this.confirm2Name = confirm2Name;
    }

    /** 子表确认人 */
    @Excel(name = "子表确认人")
    private String subApprover;

    /** 子表负责人 */
    @Excel(name = "子表负责人")
    private String subCharge;

    /** 删除状态 */
    private Long delFlag;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createrCode;

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

    /** 修改人 */
    @Excel(name = "修改人")
    private String updaterCode;

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

    /** 部门编号 */
    @Excel(name = "部门编号")
    private Long deptId;
    
    private String deptName;

    private String sn;

    private Long cbpMgr;
    private Long ctmMgr;
    private Long ctaMgr;
    private Long plantMgr;

    public String getSn() {
        return sn;
    }

    public void setSn(String sn) {
        this.sn = sn;
    }

    public Long getCbpMgr() {
        return cbpMgr;
    }

    public void setCbpMgr(Long cbpMgr) {
        this.cbpMgr = cbpMgr;
    }

    public Long getCtmMgr() {
        return ctmMgr;
    }

    public void setCtmMgr(Long ctmMgr) {
        this.ctmMgr = ctmMgr;
    }

    public Long getCtaMgr() {
        return ctaMgr;
    }

    public void setCtaMgr(Long ctaMgr) {
        this.ctaMgr = ctaMgr;
    }

    public Long getPlantMgr() {
        return plantMgr;
    }

    public void setPlantMgr(Long plantMgr) {
        this.plantMgr = plantMgr;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    public void setApproveId(Long approveId)
    {
        this.approveId = approveId;
    }

    public Long getApproveId()
    {
        return approveId;
    }

    public Long getAboveallId() {
        return aboveallId;
    }

    public void setAboveallId(Long aboveallId) {
        this.aboveallId = aboveallId;
    }

    public void setSubId(Long subId)
    {
        this.subId = subId;
    }

    public Long getSubId()
    {
        return subId;
    }
    public void setApNo(String apNo)
    {
        this.apNo = apNo;
    }

    public String getApNo()
    {
        return apNo;
    }
    public void setProcessId(String processId)
    {
        this.processId = processId;
    }

    public String getProcessId()
    {
        return processId;
    }
    public void setApproveStatus(Long approveStatus)
    {
        this.approveStatus = approveStatus;
    }

    public Long getApproveStatus()
    {
        return approveStatus;
    }
    public void setSubApprover(String subApprover)
    {
        this.subApprover = subApprover;
    }

    public String getSubApprover()
    {
        return subApprover;
    }
    public void setSubCharge(String subCharge)
    {
        this.subCharge = subCharge;
    }

    public String getSubCharge()
    {
        return subCharge;
    }
    public void setDelFlag(Long delFlag)
    {
        this.delFlag = delFlag;
    }

    public Long getDelFlag()
    {
        return delFlag;
    }
    public void setCreaterCode(String createrCode)
    {
        this.createrCode = createrCode;
    }

    public String getCreaterCode()
    {
        return createrCode;
    }
    public void setCreatedate(Date createdate)
    {
        this.createdate = createdate;
    }

    public Date getCreatedate()
    {
        return createdate;
    }
    public void setUpdaterCode(String updaterCode)
    {
        this.updaterCode = updaterCode;
    }

    public String getUpdaterCode()
    {
        return updaterCode;
    }
    public void setUpdatedate(Date updatedate)
    {
        this.updatedate = updatedate;
    }

    public Date getUpdatedate()
    {
        return updatedate;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setRemarks(String remarks)
    {
        this.remarks = remarks;
    }

    public String getRemarks()
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("approveId", getApproveId())
            .append("subId", getSubId())
            .append("apNo", getApNo())
            .append("processId", getProcessId())
            .append("approveStatus", getApproveStatus())
            .append("subApprover", getSubApprover())
            .append("subCharge", getSubCharge())
            .append("delFlag", getDelFlag())
            .append("createrCode", getCreaterCode())
            .append("createdate", getCreatedate())
            .append("updaterCode", getUpdaterCode())
            .append("updatedate", getUpdatedate())
            .append("deptId", getDeptId())
            .append("remarks", getRemarks())
            .toString();
    }
}
