package com.jeeplus.pubmodules.holiday.service.dto;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.core.domain.BaseEntity;
import com.jeeplus.sys.domain.WorkAttachmentInfo;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

@Data
public class HolidayDTO extends BaseEntity {
    /**
     * 请假开始时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @Excel(name = "请假日期",width = 16,exportFormat = "yyyy-MM-dd")
    private Date startDay;

    private String beginTime;

    /**
     * 请假结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date endDay;

    private String endTime;

    /**
     * 请假天数
     */
    private String days;

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

    /*
    请假原因
     */
    private String reason;

    /**
     * 年假剩余天数
     */
    private String remainDays;

    /**
     * 员工入职日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date contractStartDate;

    /**
     * 用户id
     */
    private String userId;
    @Excel(name = "请假人",width = 16)
    private String createName;
    private String officeId;
    @Excel(name = "请假人部门",width = 16)
    private String officeName;
    private String[] dates;

    /**
     * 流程id
     */
    private String procInsId;
    /**
     * 流程信息
     */
    private String processDefinitionId;
    @TableField(exist = false)
    private String taskId;

    private String status;

    private List<WorkAttachmentInfo> files;
    @Excel(name = "请假状态",width = 16)
    private String driveApplyStatus;
    @Excel(name = "请假类型",width = 16)
    private String holidayType;
    @Excel(name = "请假天数",width = 16)
    private String holidayDays;
    @Excel(name = "请假发起时间",width = 16,exportFormat = "yyyy-MM-dd")
    private Date createTime;
}
