package com.yuchen.saas.flow.api.vo.business;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * <p>
 * 
 * </p>
 *
 * @author zhouhanwei
 * @since 2024-02-22
 */
@Data
public class SaasFlowFormStaffApplySettingListDetailsVO {

    /**
     * id
     */
    @ApiModelProperty(name = "id", value = "id")
    private Long id;
    /**
     * 客户id
     */
    @ApiModelProperty(name = "customerId", value = "客户id")
    private Long customerId;
    /**
     * 表单流程标识
     */
    @ApiModelProperty(name = "formFlowCode", value = "表单流程标识")
    private String formFlowCode;
    /**
     * 表单ID
     */
    @ApiModelProperty(name = "flowProcessId", value = "表单ID")
    private Long flowProcessId;
    /**
     * 表单名称
     */
    @ApiModelProperty(name = "formName", value = "表单名称")
    private String formName;
    private Long groupInfoId;

    @ApiModelProperty(name = "stopFlag", value = "true 开启审批流 false 停用审批流")
    private Boolean stopFlag;
    /**
     * 所属业务
     */
    @ApiModelProperty(name = "belongBusiness", value = "所属业务")
    private Long belongBusiness;
    /**
     * 可见类型（1：全员可见。2：指定部门可见。3：指定人员可见）
     */
    @ApiModelProperty(name = "visibilityType", value = "可见类型（1：全员可见。2：指定部门可见。3：指定人员可见）")
    private String visibilityType;
    /**
     * 最后操作人（组织用户id）
     */
    @ApiModelProperty(name = "lastOperator", value = "最后操作人（组织用户id）")
    private Long lastOperator;
    /**
     * 创建时间
     */
    @ApiModelProperty(name = "createTime", value = "创建时间")
    private Date createTime;

    @ApiModelProperty(name = "lastOperatorName", value = "最后操作人（中文）")
    private String lastOperatorName;
    /**
     * 最后操作时间
     */
    @ApiModelProperty(name = "lastOperatorTime", value = "最后操作时间")
    private Date lastOperatorTime;




    @ApiModelProperty(name = "visibilityTypeDetails", value = "可见类型明细")
    private List<VisibilityTypeDetails> visibilityTypeDetails;
    @Data
    public static class VisibilityTypeDetails{
        /**
         * id
         */
        @ApiModelProperty(name = "id", value = "id")
        private Long id;
        /**
         * 设置表id
         */
        @ApiModelProperty(name = "staffApplySettingId", value = "设置表id")
        private Long staffApplySettingId;
        /**
         * 可见类型（1：全员可见。2：指定部门可见。3：指定人员可见）
         */
        @ApiModelProperty(name = "visibilityType", value = "可见类型（1：全员可见。2：指定部门可见。3：指定人员可见）")
        private String visibilityType;
        /**
         * 可见类型为2为部门id，3：为组织用户id
         */
        @ApiModelProperty(name = "relatedId", value = "可见类型为2为部门id，3：为组织用户id")
        private String relatedId;

        @ApiModelProperty(name = "relatedName", value = "可见类型为2为部门id，3：为组织用户id")
        private String relatedName;
        /**
         * 客户id
         */
        @ApiModelProperty(name = "customerId", value = "客户id")
        private Long customerId;
    }
}
