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

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalTime;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 考勤排班管理 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AttendanceSchedulingManageRespVO {

    @Schema(description = "排班ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21430")
    @ExcelProperty("排班ID")
    private Long id;

    @Schema(description = "班次名称，如早班、中班、晚班等", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @ExcelProperty("班次名称，如早班、中班、晚班等")
    private String shiftName;

    @Schema(description = "上班时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("上班时间")
    @JsonFormat(pattern = "HH:mm")
    private LocalTime startTime;

    @Schema(description = "下班时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("下班时间")
    @JsonFormat(pattern = "HH:mm")
    private LocalTime endTime;

    @Schema(description = "备注信息")
    @ExcelProperty("备注信息")
    private String remarks;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("状态")
    private Integer status;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @Schema(description = "租户编号", example = "1")
    @ExcelProperty("租户编号")
    private Long tenantId;

}