Directive80.java 4 KB
package com.bsth.vehicle.directive.entity;

import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Embeddable;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.NamedAttributeNode;
import javax.persistence.NamedEntityGraph;
import javax.persistence.NamedEntityGraphs;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 * 
 * @ClassName: DriverReport
 * @Description: TODO(驾驶员上报)
 * @author PanZhao
 * @date 2016年6月8日 下午12:36:42
 *
 */
@Entity
@Table(name = "bsth_v_report_80")
@NamedEntityGraphs({
    @NamedEntityGraph(name = "directive80_c0", attributeNodes = {
            @NamedAttributeNode("c0")
    })
})
public class Directive80 {

	@Id
	@GeneratedValue
	private Integer id;

	/**
	 * 设备编号
	 */
	private String deviceId;

	/**
	 * 时间戳(ms)
	 */
	private Long timestamp;

	/**
	 * 一级协议 0xC0
	 */
	private Short operCode;
	
	private DriverReportData data;
	
	/**
	 * c0 回复
	 */
	@OneToOne(cascade = CascadeType.ALL, fetch=FetchType.LAZY)
	private DirectiveC0 c0;
	
	/** 调度员是否确认 */
	private boolean confirm;
	
	/** 处理人 */
	private String handleUser;
	
	/** 处理结果 0:同意  -1:不同意 */
	private int confirmRs;
	
	/** 处理时间 */
	private Date handleTime;
	
	@Embeddable
	public static class DriverReportData {

		/**
		 * 0x86
		 */
		private Short operCode2;

		/**
		 * 请求代码 0xa1 恢复运营 0xa2 申请调档 0xa3 出场请求 0xa5 进场请求 0xa7 加油请求 0x50 车辆故障 0x70
		 * 路阻报告 0x60 事故报告 0x11 扣证纠纷 0x12 报警
		 */
		private Short requestCode;
		
		/**
		 * 线路编码
		 */
		private Integer lineId;
		
		/**
		 * 车辆内部编码
		 */
		@Transient
		private String nbbm;
		
		public Short getOperCode2() {
			return operCode2;
		}

		public void setOperCode2(Short operCode2) {
			this.operCode2 = operCode2;
		}

		public Short getRequestCode() {
			return requestCode;
		}

		public void setRequestCode(Short requestCode) {
			this.requestCode = requestCode;
		}

		public Integer getLineId() {
			return lineId;
		}

		public void setLineId(Integer lineId) {
			this.lineId = lineId;
		}

		public String getNbbm() {
			return nbbm;
		}

		public void setNbbm(String nbbm) {
			this.nbbm = nbbm;
		}
	}
	
	@Transient
	private String timeStr;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getDeviceId() {
		return deviceId;
	}

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

	public Long getTimestamp() {
		return timestamp;
	}

	public void setTimestamp(Long timestamp) {
		this.timestamp = timestamp;
	}

	public Short getOperCode() {
		return operCode;
	}

	public void setOperCode(Short operCode) {
		this.operCode = operCode;
	}

	public DriverReportData getData() {
		return data;
	}

	public void setData(DriverReportData data) {
		this.data = data;
	}

	public DirectiveC0 getC0() {
		return c0;
	}

	public void setC0(DirectiveC0 c0) {
		this.c0 = c0;
	}

	public boolean isConfirm() {
		return confirm;
	}

	public void setConfirm(boolean confirm) {
		this.confirm = confirm;
	}

	public int getConfirmRs() {
		return confirmRs;
	}

	public void setConfirmRs(int confirmRs) {
		this.confirmRs = confirmRs;
	}

	public String getHandleUser() {
		return handleUser;
	}

	public void setHandleUser(String handleUser) {
		this.handleUser = handleUser;
	}

	public String getTimeStr() {
		return timeStr;
	}

	public void setTimeStr(String timeStr) {
		this.timeStr = timeStr;
	}

	public Date getHandleTime() {
		return handleTime;
	}

	public void setHandleTime(Date handleTime) {
		this.handleTime = handleTime;
	}
}