package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus;

import com.dbnt.faisp.config.BaseModel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.time.LocalDateTime;

@Getter
@Setter
@NoArgsConstructor
@MappedSuperclass
public class CrackdownStatusBaseEntity extends BaseModel {

    @Column(name = "case_num")
    private String caseNum;

    @Column(name = "napo_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private LocalDateTime napoDt;

    @Column(name = "napo_sea_point_lon")
    private String napoSeaPointLon;

    @Column(name = "napo_sea_point_lat")
    private String napoSeaPointLat;

    @Column(name = "napo_sea_point_detail")
    private String napoSeaPointDetail;

    @Column(name = "invasion_type")
    private String invasionType;

    @Column(name = "nll")
    private String nll;

    @Column(name = "case_agency")
    private String caseAgency;

    @Column(name = "case_police_officer")
    private String casePoliceOfficer;

    @Column(name = "crackdown_boat")
    private String crackdownBoat;

    @Column(name = "crackdown_police")
    private String crackdownPolice;

    @Column(name = "mmsi")
    private String mmsi;

    @Column(name = "field_ivsgt")
    private String fieldIvsgt;

    @Column(name = "obstr_exspd_cnt")
    private Integer obstrExspdCnt;

    @Column(name = "person_damage_cnt")
    private Integer personDamageCnt;

    @Column(name = "person_damage_amount")
    private Integer personDamageAmount;

    @Column(name = "person_damage_detail")
    private String personDamageDetail;

    @Column(name = "material_damage_cnt")
    private Integer materialDamageCnt;

    @Column(name = "material_damage_amount")
    private Integer materialDamageAmount;

    @Column(name = "material_damage_detail")
    private String materialDamageDetail;

    @Column(name = "field_ivsgt_napo_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private LocalDateTime fieldIvsgtNapoDt;

    @Column(name = "field_ivsgt_release_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private LocalDateTime fieldIvsgtReleaseDt;

    @Column(name = "field_ivsgt_time_taken")
    private String fieldIvsgtTimeTaken;

    @Column(name = "pressurized_start_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private LocalDateTime pressurizedStartDt;

    @Column(name = "pressurized_end_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private LocalDateTime pressurizedEndDt;

    @Column(name = "distance")
    private String distance;

    @Column(name = "wrt_organ")
    private String wrtOrgan;

    @Column(name = "wrt_part")
    private String wrtPart;

    @Column(name = "wrt_user_seq")
    private Integer wrtUserSeq;

    @Column(name = "wrt_user_grd")
    private String wrtUserGrd;

    @Column(name = "wrt_user_nm")
    private String wrtUserNm;

    @Column(name = "wrt_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    private LocalDateTime wrtDt;
}
