package com.ruoyi.cs.domain;

import lombok.Data;
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;

/**
 * 审核流程节点规则配置对象 cs_approval_config
 *
 * @author cc
 * @date 2024-04-30
 */
@Data
public class CsApprovalConfig extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 审核配置ID */
    private String approvalConfigId;

    /** 节点类型[0-审核、1-抄送、2-执行] */
    @Excel(name = "节点类型[0-审核、1-抄送、2-执行]")
    private String nodeType;

    /** 工单ID*/
    @Excel(name = "工单ID")
    private String formId;

    /** 工单类型(0-资源，1-工单) */
    @Excel(name = "工单类型(0-资源，1-工单)")
    private String formType;

    /** 审批节点人员相同时自动通过[1：true；0：false] */
    @Excel(name = "审批节点人员相同时自动通过[1：true；0：false]")
    private Integer approvalAutoPass;

    /** 审批人类型[1:发起人自己；2:指定角色；3:指定人员；4:表单内人员]；注：1/3/4存userid、2存roleId */
    @Excel(name = "审批人类型[1:发起人自己；2:指定角色；3:指定人员；4:表单内人员]；注：1/3/4存userid、2存roleId")
    private Integer currentNodeApproverType;

    /** 待审批人userId */
    @Excel(name = "待审批人serId")
    private Long currentNodeApprover;

    /** 允许审批人转交[1：true;2：false] */
    @Excel(name = "允许审批人转交[1：true;2：false]")
    private Integer careOf;

    /** 审批类型[1:并行：2：串行] */
    @Excel(name = "审批类型[1:并行：2：串行]")
    private Integer approvalType;

    /** 审批节点[取值：1~N 从小到大；0：发起节点 、1：是第一个节点、 2：第二个节点 N：是第N个节点；最大的是结束节点] */
    @Excel(name = "审批节点[取值：1~N 从小到大；0：发起节点 、1：是第一个节点、 2：第二个节点 N：是第N个节点；最大的是结束节点]")
    private Long approvalNode;

    /** 抄送人类型[3:指定人员；] */
    @Excel(name = "抄送人类型[3:指定人员]",readConverterExp = "3=指定人员")
    private Integer carbonCopyRecipientsType;

    /** 抄送人userId 数组格式 */
    @Excel(name = "抄送人userId")
    private String carbonCopyRecipients;

    /** 审批人角色(执行部门)ID */
    @Excel(name = "审批人角色(执行部门)ID")
    private Long roleId;

    /** 角色名 */
    @Excel(name = "角色名")
    private String roleName;

    /** 用户名 */
    @Excel(name = "用户名")
    private String userName;

    /** 节点配置分组ID */
    @Excel(name = "节点配置分组ID")
    private String groupId;

    /** 可见字段：[{"bt": false, "kj": true, "kx": true, "field": "create_time", "children": "purchase_requisition_details"}];
kj:可见；kx:可写；kb:必填。如果是最后一个节点就需要单独拉一个配置 */
//    @Excel(name = "可见字段：[{"bt": false, "kj": true, "kx": true, "field": "create_time", "children": "purchase_requisition_details"}];
//kj:可见；kx:可写；kb:必填。如果是最后一个节点就需要单独拉一个配置")
    private String visibleFields;

    /** 删除标志(0-未删，1-已删) */
    private String delFlag;

    /** 转交审核配置ID */
    private String transfereeConfigId;

    /** 是否部门负责人（0否 1是） */
    private String isLeader;

    private String approvalInfoId;

}
