package com.yida.data.school.dto.userLeave;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.data.common.core.common.BaseDTO;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class LeaveRequestPageDTO extends BaseDTO {

    @ApiModelProperty("请假人姓名")
    private String requestUserName;
    @ApiModelProperty("请假类型：0教师请假，1学生请假")
    private Integer requestType;
    @ApiModelProperty("所属学校ID")
    private Long schoolId;
    @ApiModelProperty("审核状态：0待审核，3审核中,4已审核(包含1已通过，2已拒绝)")
    private Integer status;
    private List<Integer> statusList;
    private List<Long> studentIdList;
    @ApiModelProperty("请假主体ID集合")
    private List<Long> idList;

    @ApiModelProperty(value = "开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startDateTime;

    @ApiModelProperty(value = "结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endDateTime;

    private Long campusId;
    private Long sectionId;
    private Long gradeId;
    private Long classId;

    @ApiModelProperty("mysql查询学生列表. 0：不查询, 1：查询")
    private Integer selectStudentId;
}
