package com.yida.data.attendance.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.data.common.core.common.BaseDTO;
import com.yida.data.common.core.entity.attendance.attendance.AttendanceResult;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import java.time.LocalDate;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

@Data
public class AttendanceCountPageDTO extends BaseDTO<AttendanceResult> {

    @ApiModelProperty("开始日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private LocalDate startDate;

    @ApiModelProperty("结束日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private LocalDate endDate;

    @ApiModelProperty("状态")
    private Integer status;
    @ApiModelProperty("学校")
    private Long schoolId;
    @ApiModelProperty("考勤规则")
    private Long ruleId;
    @ApiModelProperty("所属部门，职能部门")
    private Long deptId;
    @ApiModelProperty("所属部门，学区")
    private Long campusId;
    @ApiModelProperty("所属部门，学段")
    private Long sectionId;
    @ApiModelProperty("所属部门，年级")
    private Long gradeId;
    @ApiModelProperty("所属部门，班级")
    private Long classId;
    @ApiModelProperty("学生姓名或者学号/职工姓名或者手机号：支持模糊匹配")
    private String nameOrNumber;
    @ApiModelProperty("统计类型：0=教职工考勤，1=学生考勤")
    @NotNull
    private Integer type;
    @ApiModelProperty("用户ID集合")
    private List<Long> userIdList;

}
