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

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.LocalDate;
import java.time.LocalDateTime;

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

    @Column(name = "process_status")
    private String processStatus;

    @Column(name = "pressurized_time_taken")
    private String pressurizedTimeTaken;

    @Column(name = "warrant_req_take_time")
    private String warrantReqTakeTime;

    @Column(name = "is_ivsgt_stop")
    private String isIvsgtStop;

    @Column(name = "eviction_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate evictionDt;

    @Column(name = "direct_handover_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate directHandoverDt;

    @Column(name = "handover_sea_point_lon")
    private String handoverSeaPointLon;

    @Column(name = "handover_sea_point_lat")
    private String handoverSeaPointLat;

    @Column(name = "handover_sea_point_detail")
    private String handoverSeaPointDetail;

    @Column(name = "handover_boat")
    private String handoverBoat;

    @Column(name = "middle_takeover_boat")
    private String middleTakeoverBoat;

    @Column(name = "consignment_start_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate consignmentStartDt;

    @Column(name = "consignment_end_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate consignmentEndDt;

    @Column(name = "confiscation_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate confiscationDt;

    @Column(name = "boat_disposal_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate boatDisposalDt;

    @Column(name = "boat_disposal_type")
    private String boatDisposalType;

    @Column(name = "return_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate returnDt;

    @Column(name = "exile_cnt")
    private Integer exileCnt;

    @Column(name = "exile_dt")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate exileDt;

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

    @Column(name = "immigration_office_name")
    private String immigrationOfficeName;

    @Column(name = "immigration_office_officer_name")
    private String immigrationOfficeOfficerName;

    @Column(name = "immigration_office_officer_contact")
    private String immigrationOfficeOfficerContact;

    @Column(name = "sentencing_court")
    private String sentencingCourt;

    @Column(name = "sentencing_detail")
    private String sentencingDetail;

    @Column(name = "execution_detail")
    private String executionDetail;

    @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;
}
