package com.bonus.system.holiday.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.bonus.common.core.web.domain.BaseBean;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;

/**
 * LeaveApply
 *
 */
@Data
public class HolidayBean  extends BaseBean {

    /**
     * 编号
     */
    @Excel(name = "序号", width = 10.0,height = 20.0, orderNum = "0")
    private long id;

    /**
     * 所属部门编号
     */
    private Long orgId;
    /**
     * 所属部门名称
     */
    @Excel(name = "部门名称", width = 20.0,height = 20.0, orderNum = "2")
    private String orgName;

    /**
     * 请假人用户编号
     */
    private Long userId;

    /**
     * 用户编号用来判断是否是本人
     */
    private Long userIds;
    /**
     * 请假人姓名
     */
    @Excel(name = "姓名", width = 10.0,height = 20.0, orderNum = "1")
    private String userName;

    /**
     * 请假开始日期
     */
    private LocalDate leaveStartDate;
    /**
     * 请假开始时段1上午2下午
     */
    @Excel(name = "请假开始日期", width = 20.0,height = 20.0, orderNum = "4")
    private String leaveStartInterval;
    /**
     * 请假结束日期
     */
    private LocalDate leaveEndDate;
    /**
     * 请假结束时段1上午2下午
     */
    @Excel(name = "请假结束日期", width = 20.0,height = 20.0, orderNum = "5")
    private String leaveEndInterval;
    /**
     * 请假时长
     */
    @Excel(name = "请假时长", width = 20.0,height = 20.0, orderNum = "6")
    private Double leaveDuration;
    /**
     * 请假事由
     */
    private String leaveReason;

    /**
     * 请假类型
     */
    private String leaveType;

    /**
     * 请假类型
     */
    private String type;

    /**
     * 请假日期
     */
    @Excel(name = "请假日期", width = 20.0,height = 20.0, orderNum = "3")
    private String leaveDate;


    /**
     * 数据来源1新增2导入
     */
    private String source;

    /**
     * 审批意见
     */
    private String examineOpinion;
    /**
     * 审批状态0审核中1通过2不通过
     */
    @Excel(name = "审批状态", width = 20.0,height = 20.0, orderNum = "7")
    private String examineStatus;
    /**
     * 审批时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date examineTime;
    /**
     * 审批人编号
     */
    private Long examineUserId;

    /**
     * 导出类型 1 查询 2 审批
     */
    private String exportType;

    /**
     * 自己项目部所在分公司下的所有项目部id
     */
    private List<String> orgList;

    /**
     * 代理主持工作人员（多个自动隔开）
     */
    private String hostUserId;

    /**
     * 地点
     */
    private String location;

    /**
     * 是否请示领导 1 是 0 否
     */
    private String isAgree;

    /**
     * 备注
     */
    private String remark;

    /**
     *  角色类型 1:人资专员和管理员;2:考勤员
     */
    private String roleType;
    private String[] orgListId;

    /**一键审批ID*/
    private List<Long> ids;

}
