LedKit.java 4.4 KB
package com.air.led;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.jfinal.log.Log;
import com.air.model.AirPortCar;
import com.air.model.AirPortCarStatus;
import com.jfinal.kit.HttpKit;
import com.jfinal.log.Log;
import com.jfinal.plugin.activerecord.Db;

/**
 * Depiction:
 * <p>
 * Modify:
 * <p>
 * Author: Kevin Lynn
 * <p>
 * Create Date:2017年8月22日 下午2:51:17
 * 
 */
public class LedKit {
	final static String LED_API = "http://10.50.3.66:8080/LEDAPI.ashx";
	final static String APP_KEY = "93FCC7C01F0E410EACC0A1692BD1B7A1";

	public LedKit() {
	}

	/**
	 * 显示某个货站中某个码头的下一辆车牌信息
	 * 
	 * @param stationArea
	 *            货站区域代码
	 * @param port
	 *            码头编码
	 * @param isPickUp
	 *            是否为提货
	 */
	public static void nextCar(String stationArea, int port, boolean isPickUp) {
		Map<String, Object> maps = new HashMap<String, Object>();
		maps.put("stationArea", stationArea);
		maps.put("portNo", port);

		String sql = "select * from " + AirPortCar.dao.table();
		sql += " where stationArea='" + stationArea + "'";
		sql += " and isPickup=" + isPickUp + "";
		sql += " and status=" + AirPortCarStatus.ENTER.ordinal();
		sql += " and portNo=" + port;
		String orderBy = " order by ID asc";
		sql += orderBy;
		AirPortCar model = AirPortCar.dao.findFirst(sql);
		String carNo = "空闲";
		if (model != null) {
			carNo = model.getCarNo();
		}
		LedKit.senPortLedScreen(carNo, stationArea, port, isPickUp);
	}

	/**
	 * 
	 * @param msg
	 *            码头LED要显示的信息
	 * @param stationArea
	 *            码头所属货站区域代码
	 * @param portNo
	 *            码头编号
	 * @param isPickUp
	 *            是否为提货业务
	 */
	public static void senPortLedScreen(String msg, String stationArea, int portNo, boolean isPickUp) {
		try {
			final Map<String, String> queryParas = new HashMap<String, String>();
			queryParas.put("appkey", APP_KEY);
            System.out.println(msg+stationArea+portNo+isPickUp);
			LedJson led = new LedJson(Led.getLed(portNo, isPickUp), 1, msg);
			queryParas.put("jsonValues", led.toString());
            System.out.println(queryParas);
			new Thread() {
				public void run() {
					String msg=  HttpKit.get(LED_API, queryParas);
					System.out.println(msg);
					
				}
			}.start();
		} catch (Exception e) {
		}
	}

	/**
	 * 
	 * @param msg
	 *            大屏要显示的信息
	 * @param stationArea
	 *            大屏所属货站区域代码
	 */
	public static void sendBigLedScreen(String msg, String stationArea) {
		try {
			final Map<String, String> queryParas = new HashMap<String, String>();
			queryParas.put("appkey", APP_KEY);

			LedJson led = new LedJson(Led.getBigLed(), 1, msg);
			queryParas.put("jsonValues", led.toString());
			new Thread() {
				public void run() {
					HttpKit.get(LED_API, queryParas);
				}
			}.start();
		} catch (Exception e) {
		}
	}

	/**
	 * 
	 * @param portNo
	 * @param isPickUp
	 * @param carNo
	 * @param stationArea
	 * @return
	 */
	public static String bigLedText(int portNo, boolean isPickup, String carNo, String stationArea) {
		Map<String, Object> maps = new HashMap<String, Object>();
		maps.put("stationArea", stationArea);
		maps.put("portNo", portNo);
		maps.put("isPickup", isPickup);
		maps.put("status", AirPortCarStatus.ENTER.ordinal());
		List<AirPortCar> dataList = AirPortCar.dao.search(maps);
		int count = dataList != null ? dataList.size() : 0;
		if (count > 0) {
			count = count - 1;
		}
		StringBuilder sb = new StringBuilder();
		sb.append("车牌号:" + carNo + "\r\n");

		sb.append("请进入");
		sb.append(portNo);
		sb.append("号码头\r\n");

		sb.append("前面有");
		sb.append(count);
		sb.append("辆车");

		return sb.toString();
	}

	// 大屏复位
	public static void recovery() {
		// 0 待进场;1 已进场;2 已离场;
		Number number = Db.queryNumber("select count(*) from WDS_AirPortCar where status=1");
		int count = number.intValue();
		if (count < 5) {
			try {
				final Map<String, String> queryParas = new HashMap<String, String>();
				queryParas.put("appkey", APP_KEY);

				LedJson led = new LedJson(Led.getBigLed(), 0, "空闲");
				queryParas.put("jsonValues", led.toString());
				new Thread() {
					public void run() {
						HttpKit.get(LED_API, queryParas);
					}
				}.start();
			} catch (Exception e) {
			}
		}
	}
}