package jnpf.model.attendance.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import jnpf.model.attendance.vo.LeaveShiftVo;
import lombok.Data;

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

@Data
public class UserLeaveApprove {
    /**
     * 请假申请ID
     */
    private String id;
    /**
     * 用户ID
     */
    private String userId;
    /**
     * 单位（1-小时 2-天 3-半天)
     */
    private Integer unit;
    /**
     * 请假类型单位（1 上半天 2 下半天)
     */
    private Integer startTimeType;
    /**
     * 请假类型单位（1 上半天 2 下半天)
     */
    private Integer endTimeType;
    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
    /**
     * 请假时长秒
     */
    private Integer applicationDuration;
    /**
     * 未抵扣时长秒
     */
    private Integer unDeductedTime;
    /**
     * 请假时长天（当请假类型为天/半天时生效）
     */
    private BigDecimal applicationDurationDay;
    /**
     * 未抵扣时长天（当请假类型为天/半天时生效）
     */
    private BigDecimal undeductedTimeDay;
    /**
     * 是否使用余额抵扣(0-否 1-是)
     */
    private Integer balanceStatus;
    /**
     * 是否选中带薪抵扣(0-未选中 1-选中)
     */
    private Integer paid;
    /**
     * 是否选中非带薪抵扣(0-未选中 1-选中)
     */
    private Integer noPaid;
    /**
     * 涉及班次JSON
     */
    private String shiftInvolved;
    /**
     * 涉及班次JSON转换
     */
    private LeaveShiftVo leaveShiftVo;
    /**
     * 券使用记录
     */
    private List<BalanceRecord> balanceRecordList;
    /**
     * 配置的请假类型编码
     */
    private String leaveTypeCode;
    /**
     * 配置的请假类型名称
     */
    private String leaveTypeName;
}
