package gmt.stddecoder.vo;

import gmt.common.util.GmtUtils;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class SARVO extends HeaderVO{
	private int Altitude; 
	private int PosAcc        	;
	private int LonInt           ;
	private int LatInt           ;
	private double Lon              ;
	private double Lat              ;
	private double SOG              ;
	private double COG              ;
	private int NaviStatus       ;
	private String commState;
	private String syncState;
	private String slotTimeOut;
	private String subMessage;
	private String slotInc;
	private String numberOffSlot;
	private String slotOffSet;
	private String keepFlag;
	private int altitudeSesor;
	private int dte;
	private int modeFlag;
	private int raim;
	private int isRepeat;
	private LocalDateTime bsUTC;
	private String bsUTCStr;
	private int timeStamp;
	private int mSec;

	public SARVO() {
		Altitude   		= 4095;
		PosAcc     		= 0;
		LonInt     		= 108600000;
		LatInt     		= 54600000;
		Lon        		= 181;
		Lat        		= 91;
		SOG        		= 1023;
		COG        		= 3600;
		NaviStatus 		= 15;
		commState  		= "";
		syncState  		= "";
		slotTimeOut 	= "";
		subMessage 		= "";
		slotInc    		= "";
		numberOffSlot   = "";
		slotOffSet      = "";
		keepFlag        = "";
		altitudeSesor   = 0;
		dte             = 0;
		modeFlag        = 0;
		raim            = 0;
		isRepeat        = 0;
		bsUTC           = GmtUtils.defaultTime();
		bsUTCStr        = "";
		timeStamp       = 0;
		mSec            = 0;
		
	}
	
	public String getCommState() {
		return commState;
	}

	public void setCommState(String commState) {
		this.commState = commState;
	}

	public String getSyncState() {
		return syncState;
	}

	public void setSyncState(String syncState) {
		this.syncState = syncState;
	}

	public String getSlotTimeOut() {
		return slotTimeOut;
	}

	public void setSlotTimeOut(String slotTimeOut) {
		this.slotTimeOut = slotTimeOut;
	}

	public String getSubMessage() {
		return subMessage;
	}

	public void setSubMessage(String subMessage) {
		this.subMessage = subMessage;
	}

	public String getSlotInc() {
		return slotInc;
	}

	public void setSlotInc(String slotInc) {
		this.slotInc = slotInc;
	}

	public String getNumberOffSlot() {
		return numberOffSlot;
	}

	public void setNumberOffSlot(String numberOffSlot) {
		this.numberOffSlot = numberOffSlot;
	}

	public String getSlotOffSet() {
		return slotOffSet;
	}

	public void setSlotOffSet(String slotOffSet) {
		this.slotOffSet = slotOffSet;
	}

	public String getKeepFlag() {
		return keepFlag;
	}

	public void setKeepFlag(String keepFlag) {
		this.keepFlag = keepFlag;
	}

	public int getAltitudeSesor() {
		return altitudeSesor;
	}

	public void setAltitudeSesor(int altitudeSesor) {
		this.altitudeSesor = altitudeSesor;
	}

	public int getDte() {
		return dte;
	}

	public void setDte(int dte) {
		this.dte = dte;
	}

	public int getModeFlag() {
		return modeFlag;
	}

	public void setModeFlag(int modeFlag) {
		this.modeFlag = modeFlag;
	}

	public int getRaim() {
		return raim;
	}

	public void setRaim(int raim) {
		this.raim = raim;
	}

	public int getIsRepeat() {
		return isRepeat;
	}

	public void setIsRepeat(int isRepeat) {
		this.isRepeat = isRepeat;
	}

	public LocalDateTime getBsUTC() {
		return bsUTC;
	}

	public void setBsUTC(LocalDateTime bsUTC) {
		this.bsUTC = bsUTC;
	}

	public String getBsUTCStr() {
		return bsUTCStr;
	}

	public void setBsUTCStr(String bsUTCStr) {
		this.bsUTCStr = bsUTCStr;
	}

	public int getTimeStamp() {
		return timeStamp;
	}

	public void setTimeStamp(int timeStamp) {
		this.timeStamp = timeStamp;
	}

	public int getmSec() {
		return mSec;
	}

	public void setmSec(int mSec) {
		this.mSec = mSec;
	}

	public int getAltitude() {
		return Altitude;
	}

	public void setAltitude(int altitude) {
		Altitude = altitude;
	}

	public int getPosAcc() {
		return PosAcc;
	}

	public void setPosAcc(int posAcc) {
		PosAcc = posAcc;
	}

	public int getLonInt() {
		return LonInt;
	}

	public void setLonInt(int lonInt) {
		LonInt = lonInt;
	}

	public int getLatInt() {
		return LatInt;
	}

	public void setLatInt(int latInt) {
		LatInt = latInt;
	}

	public double getLon() {
		return Lon;
	}

	public void setLon(double lon) {
		Lon = lon;
	}

	public double getLat() {
		return Lat;
	}

	public void setLat(double lat) {
		Lat = lat;
	}

	public double getSOG() {
		return SOG;
	}

	public void setSOG(double sOG) {
		SOG = sOG;
	}

	public double getCOG() {
		return COG;
	}

	public void setCOG(double cOG) {
		COG = cOG;
	}

	public int getNaviStatus() {
		return NaviStatus;
	}

	public void setNaviStatus(int naviStatus) {
		NaviStatus = naviStatus;
	}

	public String getString() {
		return  
				"TargetSensor : "+this.targetSensor+"\n"+
				"packetID : "+this.packetID+"\n"+
				"ShipID : "+this.shipID+"\n"+
				"DateTime : "+this.dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"))+"\n"+
				"AreaID : "+this.areaID+"\n"+
				"MsgType : "+this.msgType+"\n"+
				"DataLength : "+this.dataLength+"\n"+
				"Altitude       : "+String.valueOf(this.Altitude)      +"\n"+
				"PosAcc         : "+String.valueOf(this.PosAcc)        +"\n"+
				"LonInt         : "+String.valueOf(this.LonInt)        +"\n"+
				"LatInt         : "+String.valueOf(this.LatInt)        +"\n"+
				"Lon            : "+String.valueOf(this.Lon)           +"\n"+
				"Lat            : "+String.valueOf(this.Lat)           +"\n"+
				"SOG            : "+String.valueOf(this.SOG)           +"\n"+
				"COG            : "+String.valueOf(this.COG)           +"\n"+
				"NaviStatus     : "+String.valueOf(this.NaviStatus)    +"\n"+
				"CommState      : "+this.commState     +"\n"+
				"syncState      : "+this.syncState     +"\n"+
				"slotTimeOut    : "+this.slotTimeOut     +"\n"+
				"subMessage     : "+this.subMessage     +"\n"+
				"slotInc        : "+this.slotInc     +"\n"+
				"numberOffSlot  : "+this.numberOffSlot     +"\n"+
				"slotOffSet     : "+this.slotOffSet     +"\n"+
				"keepFlag       : "+this.keepFlag     +"\n"+
				"altitudeSesor  : "+String.valueOf(this.altitudeSesor)     +"\n"+
				"dte      		: "+String.valueOf(this.dte)      +"\n"+
				"modeFlag       : "+String.valueOf(this.modeFlag)      +"\n"+
				"raim      		: "+String.valueOf(this.raim)      +"\n"+
				"isRepeat     	: "+String.valueOf(this.isRepeat)      +"\n"+
				"bsUTCStr       : "+this.bsUTCStr      +"\n"+
				"timeStamp      : "+String.valueOf(this.timeStamp)      +"\n"+
				"mSec      		: "+String.valueOf(this.mSec);
				
	}                           
	
}
