package com.djhk.uav.airspace.domain;

import com.djhk.common.annotation.Excel;
import com.djhk.common.annotation.Excels;
import com.djhk.common.core.domain.BaseEntity;
import com.djhk.common.core.domain.entity.SysDept;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

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

@Data
public class AirplaneApply extends BaseEntity {

    /**
     * 主键序号
     */
    private Long id;

    /**
     * 飞行申报名称
     */
    @Excel(name = "飞行申报名称")
    private String name;
    private String deptName;

    /**
     * 申请状态码
     */
    @Excel(name = "申请状态", readConverterExp = "0=发起申请,1=审批中 2=批准 3=不予批准")
    private String sts;


    /**
     * 申请人联系方式
     */
    @Excel(name = "申请人联系方式")
    private String tel;

    /**
     * 类型
     */
    private String type;
    /**
     * 组织id
     */
    private Long deptId;

    /**
     * 任务性质 0 飞行任务 1 飞行训练
     */
    private String taskProp;


    /** 计划飞行时间 */
//    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "计划飞行时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date flyTime;

    /**
     * 飞手列表
     */
    @Excel(name = "飞手列表")
    private List<UavOperator> uavOperators;

    /**
     * 无人机列表
     */
    @Excel(name = "无人机列表")
    private List<UavInfo> uavInfos;

    /**
     * 空域列表
     */
    @Excel(name = "空域列表")
    private List<AirspaceApply> airspaceApplies;

    /** 部门对象 */
    @Excels({
            @Excel(name = "部门名称", targetAttr = "deptName", type = Excel.Type.EXPORT),
            @Excel(name = "部门负责人", targetAttr = "leader", type = Excel.Type.EXPORT)
    })
    private SysDept dept;

    /**
     * 申请空域名称
     */
    @Excel(name = "申请空域名称")
    private List<String> airspaceName;

    /**
     * 申请无人机名称
     */
    @Excel(name = "申请无人机名称")
    private List<String> uavInfoName;

    /**
     * 申请飞手
     */
    @Excel(name = "申请无人机名称")
    private List<String> uavOperatorName;


    /**
     * equCode
     */
    private List<String> airUAV;


    /**
     * 类型
     */
    private Boolean isShowStatus;


    /**
     * 申请附件
     */
    private String proUrl;

    /**
     * 批复附件
     */
    private String finalUrl;

    /**
     * 是否能修改
     */
    private String handle;
}
