package cn.iocoder.yudao.module.smartfactory.controller.admin.attendance.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

@Schema(description = "管理后台 - 厂区员工考勤记录新增/修改 Request VO")
@Data
public class StaffAttendanceRecordSaveReqVO {

    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "146")
    @NotNull(message = "用户编号不能为空")
    private Long staffId;

    @Schema(description = "工厂id", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "工厂id不能为空")
    private Long factoryId;

    @Schema(description = "考勤方式 | 1.上个月26号-本月25号 2.本月初-本月底", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "考勤方式不能为空")
    private Integer type;

    @Schema(description = "考勤月份", requiredMode = Schema.RequiredMode.REQUIRED, example = "2025-11")
    @NotNull(message = "考勤月份不能为空")
    private String month;

    @Schema(description = "打卡记录", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "打卡记录不能为空")
    private List<AttendanceRecordVO> records;
}