LineConfigSt.java 4.75 KB
package com.bsth.entity.realcontrol;

import com.bsth.entity.Line;
import com.bsth.entity.LineSt;
import com.google.common.base.Splitter;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.persistence.*;
import java.util.List;

/**
 * 
 * @ClassName: LineConfig
 * @Description: TODO(线调 线路相关配置信息)
 * @author PanZhao
 * @date 2016年8月15日 下午1:57:56
 *
 */
@Entity
@Table(name = "bsth_c_line_config_st")
public class LineConfigSt {

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;
	
	@OneToOne
	private LineSt line;

	/** 开始运营时间 HH:mm */
	private String startOpt;

	/** 出场时间设置 0:真实出场(设备离开缓冲区时间) 1:请求出场时间 2:出站即出场 */
	private int outConfig;

	/** 出站既出场 对应的停车场  , 号分割多个*/
	private String twinsParks;

	/** 出站既出场 对应的起点站 */
	private String twinsStations;

	/** 调度指令模板 */
	private String schDirectiveTemp;

	/** 识别区间调头 */
	private boolean readReverse;

	/** 原线路回场 */
	private boolean inParkForSource;

	/** 自动执行 */
	private boolean autoExec;

	/**
	 * 到离站偏移值
	 */

	//上行进站
	private int upInDiff;
	//上行出站
	private int upOutDiff;
	//下行进站
	private int downInDiff;
	//下行出站
	private int downOutDiff;

	/**
	 * 应急停靠
	 */
	private boolean enableYjtk;
	/** HH:mm */
	private String yjtkStart;
	/** HH:mm */
	private String yjtkEnd;
	private int upStopMinute;
	private int downStopMinute;

	/**
	 * 使用第一个发车时间,不匹配最佳时间
	 */
	private boolean lockFirstOutTime;

	public Integer getId() {
		return id;
	}

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

	public LineSt getLine() {
		return line;
	}

	public void setLine(LineSt line) {
		this.line = line;
	}

	public String getStartOpt() {
		return startOpt;
	}

	public void setStartOpt(String startOpt) {
		this.startOpt = startOpt;
	}

	public int getOutConfig() {
		return outConfig;
	}

	public void setOutConfig(int outConfig) {
		this.outConfig = outConfig;
	}

	public String getSchDirectiveTemp() {
		return schDirectiveTemp;
	}

	public void setSchDirectiveTemp(String schDirectiveTemp) {
		this.schDirectiveTemp = schDirectiveTemp;
	}

	public boolean isReadReverse() {
		return readReverse;
	}

	public void setReadReverse(boolean readReverse) {
		this.readReverse = readReverse;
	}

	public boolean isInParkForSource() {
		return inParkForSource;
	}

	public void setInParkForSource(boolean inParkForSource) {
		this.inParkForSource = inParkForSource;
	}

	public int getUpInDiff() {
		return upInDiff;
	}

	public void setUpInDiff(int upInDiff) {
		this.upInDiff = upInDiff;
	}

	public int getUpOutDiff() {
		return upOutDiff;
	}

	public void setUpOutDiff(int upOutDiff) {
		this.upOutDiff = upOutDiff;
	}

	public int getDownInDiff() {
		return downInDiff;
	}

	public void setDownInDiff(int downInDiff) {
		this.downInDiff = downInDiff;
	}

	public int getDownOutDiff() {
		return downOutDiff;
	}

	public void setDownOutDiff(int downOutDiff) {
		this.downOutDiff = downOutDiff;
	}


	public String getYjtkStart() {
		return yjtkStart;
	}

	public void setYjtkStart(String yjtkStart) {
		this.yjtkStart = yjtkStart;
	}

	public String getYjtkEnd() {
		return yjtkEnd;
	}

	public void setYjtkEnd(String yjtkEnd) {
		this.yjtkEnd = yjtkEnd;
	}

	public int getUpStopMinute() {
		return upStopMinute;
	}

	public void setUpStopMinute(int upStopMinute) {
		this.upStopMinute = upStopMinute;
	}

	public int getDownStopMinute() {
		return downStopMinute;
	}

	public void setDownStopMinute(int downStopMinute) {
		this.downStopMinute = downStopMinute;
	}

	public boolean isEnableYjtk() {
		return enableYjtk;
	}

	public void setEnableYjtk(boolean enableYjtk) {
		this.enableYjtk = enableYjtk;
	}


	public boolean isLockFirstOutTime() {
		return lockFirstOutTime;
	}

	public void setLockFirstOutTime(boolean lockFirstOutTime) {
		this.lockFirstOutTime = lockFirstOutTime;
	}

	public boolean isAutoExec() {
		return autoExec;
	}

	public void setAutoExec(boolean autoExec) {
		this.autoExec = autoExec;
	}

	public String getTwinsParks() {
		return twinsParks;
	}

	public void setTwinsParks(String twinsParks) {
		this.twinsParks = twinsParks;
	}

	public String getTwinsStations() {
		return twinsStations;
	}

	public void setTwinsStations(String twinsStations) {
		this.twinsStations = twinsStations;
	}


	@Transient
	Logger logger = LoggerFactory.getLogger(this.getClass());


	public List<String> findTwinsParkList() {
		try{
			if(StringUtils.isEmpty(this.twinsParks))
				return null;
			return Splitter.on(",").splitToList(this.twinsParks);
		}catch (Exception e){
			logger.error("", e);
			return null;
		}
	}
}