package jnpf.model.attendance.dto;

import lombok.AllArgsConstructor;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import java.math.BigDecimal;

@Data
@AllArgsConstructor
public class AttendanceShiftPeriodDto {
    /**
     * 时段工时(天 保留一位小数)
     */
    @Max(value = 1, message = "时段工时不能大于1")
    private BigDecimal timeSlotDay;
    /**
     * 计薪工时(小时 保留2位小数)
     */
    @Max(value = 24, message = "计薪工时不能大于24")
    private BigDecimal payrollHours;
    /**
     * 允许休息时间(0否 1是)
     */
    private Integer breakEnable;
    /**
     * 休息结束时间点
     */
    private String breakEndPoint;
    /**
     * 休息结束当日还是次日，1当日 2次日
     */
    private Integer breakEndType;
    /**
     * 休息开始时间点
     */
    private String breakStartPoint;
    /**
     * 休息开始当日还是次日，1当日 2次日
     */
    private Integer breakStartType;
    /**
     * 打卡开始时间点
     */
    private String clockStartPoint;
    /**
     * 打卡开始时间点 当日还是次日，1当日 2次日
     */
    private Integer clockStartPointType;
    /**
     * 允许早退(0否 1是)
     */
    private Integer earlyEnable;
    /**
     * 早退时间点
     */
    private String earlyPoint;
    /**
     * 早退当日还是次日，1当日 2次日
     */
    private Integer earlyType;
    /**
     * 考勤班制-时段主键（不传则新增）
     */
    private String id;
    /**
     * 上班缺卡时间点
     */
    private String inLackPoint;
    /**
     * 上班缺卡 当日还是次日，1当日 2次日
     */
    private Integer inLackPointType;
    /**
     * 上班时间点
     */
    private String inPoint;
    /**
     * 上班当日还是次日，1当日 2次日
     */
    private Integer inType;
    /**
     * 允许迟到(0否 1是)
     */
    private Integer lateEnable;
    /**
     * 迟到时间点
     */
    private String latePoint;
    /**
     * 迟到当日还是次日，1当日 2次日
     */
    private Integer lateType;
    /**
     * 允许次日下班(0否 1是)
     */
    private Integer nextDayEnable;
    /**
     * 下班缺卡时间点
     */
    private String outLackPoint;
    /**
     * 下班缺卡当日还是次日，1当日 2次日
     */
    private Integer outLackType;
    /**
     * 下班时间点
     */
    private String outPoint;
    /**
     * 下班当日还是次日，1当日 2次日
     */
    private Integer outType;
}
