package jnpf.model.attendance.vo.attendance;


import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;


@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AttendanceLeaveRulesVo {

    /**
     * 规则id
     */
    private String id;

    /**
     * 假期规则名称
     */
    private String name;

    /**
     * 2.0假期类型Id
     */
    private String leaveTypeId;

    /** 假期类型名称 */
    private String leaveTypeName;

    /**
     * 单位 :  1 :小时 2: 天 3:半天
     */
    private Integer unit;

    /** 类型的名称 */
    private String unitName;

    /**
     * 单次最大时长(天)
     */
    private Integer duration;

    /**
     * 是否发放余额 0：不发放 1：发放余额
     */
    private Integer distributeBalance;

    /**
     * 存休抵扣：0.不能使用1.可以使用
     */
    private Integer retirementLeave;

    /**
     * 适配范围：0.全部1.指定组织/成员
     */
    private Integer scopeOfAdaptation;

    /**
     * 1启用、0停用
     */
    private int state;

    /**
     * 内置 0:非内置 1:内置
     */
    private Integer builtIn;

    /**
     * 发放余额设置
     */
    private AttendanceLeaveGrantSettingVo leaveGrantSetting;

    /**
     * 列表使用 组织数
     */
    private Integer organizeNum;

    /**
     * 列表使用 成员数
     */
    private Integer userIdNum;

    /**
     * scopeOfAdaptation=1 使用 组织列表
     */
    private List<String> organizeList;

    /**
     * scopeOfAdaptation=1 使用 成员列表
     */
    private List<String> userIdList;

    /**
     * 剩余余额
     */
    private BigDecimal balance;
}
