package cn.iocoder.yudao.module.system.controller.admin.attendance.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

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

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;

@Data
@Accessors(chain = true)
public class ExportAttendanceExcelDTO {

    @Schema(description = "报表类型 1月度统计 2每日统计")
    private Integer type;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
    @Schema(description = "开始时间")
    @NotNull(message = "开始时间不可以为空")
    private Date startTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
    @Schema(description = "结束时间")
    @NotNull(message = "结束时间不可以为空")
    private Date endTime;

    @Schema(description = "人员范围 1全公司 2考勤组 3员工")
    private Integer memberRange;

    @Schema(description = "人员范围对应的目标ids 全公司则不用传 考勤组则传考勤组id 员工则传员工id")
    private List<Long> targetIds;
}
