package com.base.plan.model.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author cxl
 * @since 2022-06-24
 */
@Getter
@Setter
@TableName("alg_scheme_window_pass")  //     测控列表、数传列表
@ApiModel(value = "AlgSchemeWindowPass对象", description = "")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AlgSchemeWindowPass implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("uuid")
    @TableId("id")
    private String id;

    @ApiModelProperty("方案需求窗口id")
    @TableField("scheme_step_window_id")
    private String schemeStepWindowId;

    @ApiModelProperty("alg_window_pass可见窗口弧段信息表里的弧段id")
    @TableField("pass_id")
    private String passId;

    @ApiModelProperty("状态，0未选用，1选用，-1没有弧段")
    @TableField("pass_status")
    private String passStatus;

    @ApiModelProperty("弧段选用失败原因")
    @TableField("pass_failed_reason")
    private String passFailedReason;

    @ApiModelProperty("创建时间")
    @TableField("created_date")
    private LocalDateTime createdDate;

    @ApiModelProperty("创建人")
    @TableField("created_by")
    private String createdBy;

    @ApiModelProperty("最后修改人")
    @TableField("last_modified_by")
    private String lastModifiedBy;

    @ApiModelProperty("最后修改时间")
    @TableField("last_modified_date")
    private LocalDateTime lastModifiedDate;

    @ApiModelProperty("版本号")
    @TableField("version")
    private BigDecimal version;

    @ApiModelProperty("状态")
    @TableField("status")
    private BigDecimal status;

    @ApiModelProperty("任务类型，1测控，2接收")
    @TableField("pass_type")
    private Integer passType;

    @ApiModelProperty("开始时间")
    @TableField("start_time")
    private Date startTime;

    @ApiModelProperty("结束时间")
    @TableField("end_time")
    private Date endTime;

    @ApiModelProperty("站ID")
    @TableField("station_id")
    private String stationId;

    @ApiModelProperty("站址")
    @TableField("station_name")
    private String stationName;

    @ApiModelProperty("站址")
    @TableField("station_code")
    private String stationCode;

    @ApiModelProperty("圈号")
    @TableField("pass_num")
    private Integer passNum;

    @ApiModelProperty("卫星")
    @TableField("satellite_id")
    private String satelliteId;

    @ApiModelProperty("计算时间")
    @TableField("total_time")
    private long totalTime;

    @ApiModelProperty("是否为默认窗口，1是 2否")
    @TableField("is_defalut")
    private Integer isDefalut;

    @ApiModelProperty("测控结束时间与发控时间差值")
    @TableField(exist = false)
    private long differTime;


}
