package com.base.biz.model.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.base.orbit.utils.DateUtils;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;

@Data
@TableName("fz_task_info")
public class FzTaskInfo {

    @TableId
    private String id;
    @ApiModelProperty("任务批次号")
    private String messageId;
    @ApiModelProperty("任务标识号")
    private String reqId;
    @ApiModelProperty("需求名称")
    private String reqName;
    @ApiModelProperty("需求来源描述")
    private String reqSrc;
    @ApiModelProperty("需求提出时间")
    private Date reqTime;
    @ApiModelProperty("需求类型")
    private String scoutType;
    @ApiModelProperty("是否应急")
    private String isEmergency;
    @ApiModelProperty("是否星上定标")
    private String isStarcalibration;
    @ApiModelProperty("")
    private String isOnboard;
    @ApiModelProperty("是否精确需求")
    private String isPrecise;
    @ApiModelProperty("是否电磁静默")
    private String isEmcon;
    @ApiModelProperty("国家/地区")
    private String countryName;
    @ApiModelProperty("目标编号")
    private String targetId;
    @ApiModelProperty("目标名称")
    private String targetName;
    @ApiModelProperty("需求有效期开始时间")
    private Date reqStartTime;
    @ApiModelProperty("需求有效期结束时间")
    private Date reqEndTime;
    @ApiModelProperty("应急需求ID")
    private String emergencyReqId;
    @ApiModelProperty("目标观测时长要求")
    private String targetPreprocess;
    @ApiModelProperty("需求有效期内的最大观测频次要求")
    private String reqTimes;
    @ApiModelProperty("最小观测间隔时间（小时）")
    private String reqInterval;
    @ApiModelProperty("需求优先级（必填）")
    private String priority;
    @ApiModelProperty("卫星要求，英文逗号隔开")
    private String satellite;
    @ApiModelProperty("接收站名")
    private String receivingStation;
    @ApiModelProperty("接收开始时间")
    private Date receivingStartTime;
    @ApiModelProperty("接收结束时间")
    private Date receivingEndTime;
    @ApiModelProperty("分辨率要求")
    private String resolution;
    @ApiModelProperty("工作模式")
    private String workMode;
    @ApiModelProperty("传感器代号")
    @TableField(value = "sensor_id")
    private String sensorID;
    @ApiModelProperty("传感器模式")
    private String sensorMode;
    @ApiModelProperty("保留字段")
    private String sensorBand;
    @ApiModelProperty("侧摆角度要求 （-XX，XX）英文符号")
    private String pitchAngle;
    @ApiModelProperty("区域对应的范围")
    private String centerLocation;
    @ApiModelProperty("目标运动先验信息")
    private String priorInfo;
    @ApiModelProperty("产品等级")
    private String productLevel;
    @ApiModelProperty("指定区域切片中心点经纬度")
    private String centerLocationSlice;
    @ApiModelProperty("产品目的地")
    private String productDest;
    @ApiModelProperty("载荷id")
    private String payloadIds;
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;
    @ApiModelProperty("修改时间")
    private LocalDateTime updateTime;
    @ApiModelProperty("当前任务步骤状态 0待执行 1执行中 2成功 3失败")
    private String fzTaskState;
    @ApiModelProperty("错误信息")
    private String errorInfo;
    @ApiModelProperty("当前步骤 TASK_GET,TASK_ACCESS_COMPUTE,TASK_PLANNING,TASK_MAKE_PUBLISH")
    private String fzTaskStep;
    @ApiModelProperty("覆盖率")
    private String coverageResult;
    @ApiModelProperty("任务id")
    private String taskId;

}