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

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.data.common.core.entity.user.EduStaff;
import com.yida.data.common.core.entity.user.EduStudent;
import com.yida.data.common.core.entity.userLeave.EduLeaveRequestProcessRecord;
import com.yida.data.common.core.entity.userLeave.EduLeaveRequestUserView;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * Entity
 *
 * @author wjm
 * @date 2022-12-01 10:51:19
 */
@Data
public class EduLeaveRequestUserVO {

    /**
     *
     */
    @ApiModelProperty(value = "")
    private Long id;

    /**
     * 请假人ID
     */
    @ApiModelProperty(value = "请假人ID")
    private Long userId;

    /**
     * 请假人姓名
     */
    @ApiModelProperty(value = "请假人姓名")
    private String userName;

    /**
     * 请假人所属部门
     */
    @ApiModelProperty(value = "请假人所属部门")
    private String userDeptName;

    /**
     * 1：病假，2：事假，0：其他，3年假，4调休假，5婚嫁，6产假，7陪产假
     */
    @ApiModelProperty(value = "1：病假，2：事假，0：其他，3年假，4调休假，5婚嫁，6产假，7陪产假")
    private Integer type;
    /**
     * 0教师请假，1学生请假
     */
    @ApiModelProperty(value = "0教师请假，1学生请假")
    private Integer requestType;

    @ApiModelProperty(value = "请假去向")
    private String requestFor;

    /**
     * 请假理由
     */
    @ApiModelProperty(value = "请假理由")
    private String requestReason;

    /**
     * 审核不通过原因
     */
    @ApiModelProperty(value = "审核不通过原因")
    private String refuseReason;

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

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

    /**
     * 审核状态:审核状态:默认0待审核审核，1已通过，2已拒绝，3审核中
     */
    @ApiModelProperty(value = "审核状态:默认0待审核审核，1已通过，2已拒绝，3审核中")
    private Integer status;

    /**
     * 图片路径，用逗号分割
     */
    @ApiModelProperty(value = "图片路径，用逗号分割")
    private String picUrl;

    /**
     *
     */
    @ApiModelProperty(value = "")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createDate;

    /**
     *
     */
    @ApiModelProperty(value = "")
    private Long createId;

    /**
     *
     */
    @ApiModelProperty(value = "")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateDate;

    /**
     *
     */
    @ApiModelProperty(value = "")
    private Long updateId;


    /**
     * 审核流程
     */
    @ApiModelProperty(value = "审核流程")
    List<EduLeaveRequestUserView> eduLeaveRequestUserViewList;

    /**
     * 学生信息
     */
    private EduStudent student;
    /**
     * 职工信息
     */
    private EduStaff staff;
}