package com.jeeplus.business.evection.service.dto;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.business.project.domain.JyProject;
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 EvectionDTO extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 关联项目id
     */
    private String projectId;
    @Excel(name = "项目",width = 16)
    private String projectName;

    /**
     * 出差人员id
     */
    private String evectionMen;
    @Excel(name = "出差人员",width = 16)
    private String userName;

    /**
     * 出差起使时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @Excel(name = "出差开始时间",width = 16,exportFormat = "yyyy-MM-dd")
    private Date startTime;

    /**
     * 出差截至时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @Excel(name = "出差结束时间",width = 16,exportFormat = "yyyy-MM-dd")
    private Date endTime;

    /**
     * 备注
     */
    private String remarks;

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

    /**
     * 申请人
     */
    private String createById;
    private String updateById;
    /**
     * 申请人部门
     */
    private String createOffice;

    /**
     * 申请人部门
     */
    private String officeId;
    @Excel(name = "申请人",width = 16)
    private String createName;
    @Excel(name = "申请人部门",width = 16)
    private String officeName;
    @Excel(name = "申请时间",width = 16,exportFormat = "yyyy-MM-dd")
    private Date createTime;

    private String status;

    /**
     * 出差原因
     */
    private String evectionReason;

    private List<JyProject> projectList;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date[] useDate;

    /**
     * 目的地
     */
    private String targetCity;
    @Excel(name = "目的地",width = 16)
    private String cityName;

    /*
    申请时间
     */
    private String[] createDates;

    private List<WorkAttachmentInfo> files;
    @Excel(name = "状态",width = 16)
    private String evectionStatus;
}
