package com.ruoyi.pay.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 应出勤报业务对象 pay_require_attendance_report
 *
 * @author ruoyi
 * @date 2025-05-12
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class PayRequireAttendanceReportBo extends BaseEntity {

    /**
     * 主键
     */
   // @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 租户id
     */
    @NotNull(message = "租户id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long tenantId;

    /**
     * 年份
     */
    @NotBlank(message = "年份不能为空", groups = { AddGroup.class, EditGroup.class })
    private String year;

    /**
     * 月份
     */
    @NotBlank(message = "月份不能为空", groups = { AddGroup.class, EditGroup.class })
    private String month;

    /**
     * 员工id
     */
    @NotNull(message = "员工id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long employeeId;

    /**
     * 员工姓名
     */
    @NotBlank(message = "员工姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String empName;

    /**
     * 部门名称
     */
    @NotBlank(message = "部门名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deptName;

    /**
     * 休息类别
     */
   // @NotBlank(message = "休息类别不能为空", groups = { AddGroup.class, EditGroup.class })
    private String restType;

    /**
     * 应出勤天数
     */
    @NotNull(message = "应出勤天数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long requireDays;

    /**
     * 出勤天数
     */
    @NotNull(message = "出勤天数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long avtiveDays;

    /**
     * 出勤小时数
     */
    //@NotNull(message = "出勤小时数不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal attendanceHours;

    /**
     * 加班小时数
     */
   // @NotNull(message = "加班小时数不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal overtimeHours;

    /**
     * 放假天数
     */
   // @NotNull(message = "放假天数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long holidays;

    /**
     * 放假小时数
     */
   // @NotNull(message = "放假小时数不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal holidayHours;

    /**
     *
     */
   // @NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal leaveDays;

    /**
     * 备注
     */
   // @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;


}
