ArrivalEntity.java 2.92 KB
package com.bsth.data.arrival;

/**
 * 
 * @ClassName: ArrivalEntity 
 * @Description: TODO(进出站实体) 
 * @author PanZhao 
 * @date 2016年8月19日 上午9:32:20 
 *
 */
public class ArrivalEntity {
	
	/** 设备号*/
	private String deviceId;
	
	private String nbbm;
	
	/** 站点名称 */
	private String stopName;
	
	/** 时间戳*/
	private Long ts;
	
	/** 线路编码*/
	private String lineCode;

	/** 上下行*/
	private Integer upDown;

	/**站点编码*/
	private String stopNo;
	
	/** 0: 进 1:出*/
	private Integer inOut;

	private Long createDate;
	
	/**分区字段,当年的第几周*/
	private Integer weeksYear;
	
	//5分钟内不允许多次进同一个站,出同一个站。 忽略走向
	private final static int EQ_RANGE = 1000 * 60 * 5;
	
	public ArrivalEntity(){}
	
	public ArrivalEntity(String deviceId, long ts, String lineCode, int upDown, String stopNo, int inOut, long createDate,
			int weeksYear, String stopName) {
		
		this.deviceId = deviceId;
		this.ts = ts;
		this.lineCode = lineCode;
		this.upDown = upDown;
		this.stopNo = stopNo;
		this.stopName = stopName;
		this.inOut = inOut;
		this.createDate = createDate;
	}

	@Override
	public boolean equals(Object obj) {
		ArrivalEntity a2 = (ArrivalEntity)obj;
		
		return this.toString().equals(a2.toString())
				&& Math.abs(this.ts - a2.ts) < EQ_RANGE;
	}
	
	@Override
	public int hashCode() {
		return this.toString().hashCode();
	}
	

	@Override
	public String toString() {
		return this.deviceId + "_" + this.inOut + "_" + this.stopName;
	}

	public String getLineCode() {
		return lineCode;
	}

	public void setLineCode(String lineCode) {
		this.lineCode = lineCode;
	}

	public Integer getUpDown() {
		return upDown;
	}

	public void setUpDown(Integer upDown) {
		this.upDown = upDown;
	}

	public String getStopNo() {
		return stopNo;
	}

	public void setStopNo(String stopNo) {
		this.stopNo = stopNo;
	}

	public Integer getInOut() {
		return inOut;
	}

	public void setInOut(Integer inOut) {
		this.inOut = inOut;
	}

	public Long getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Long createDate) {
		this.createDate = createDate;
	}

	public Integer getWeeksYear() {
		return weeksYear;
	}

	public void setWeeksYear(Integer weeksYear) {
		this.weeksYear = weeksYear;
	}

	public String getDeviceId() {
		return deviceId;
	}

	public void setDeviceId(String deviceId) {
		this.deviceId = deviceId;
	}

	public Long getTs() {
		return ts;
	}

	public void setTs(Long ts) {
		this.ts = ts;
	}

	public String getStopName() {
		return stopName;
	}

	public void setStopName(String stopName) {
		this.stopName = stopName;
	}
	
	public String getId(){
		return this.deviceId + "_" + this.ts;
	}

	public String getNbbm() {
		return nbbm;
	}

	public void setNbbm(String nbbm) {
		this.nbbm = nbbm;
	}
	
}