|
@@ -33,11 +33,11 @@ import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
@Slf4j
|
|
|
-public class EventThread implements Runnable{
|
|
|
+public class EventThread implements Runnable {
|
|
|
private String eventName;
|
|
|
|
|
|
public EventThread(String eventName) {
|
|
|
- this.eventName=eventName;
|
|
|
+ this.eventName = eventName;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -46,52 +46,53 @@ public class EventThread implements Runnable{
|
|
|
* @param eventName 服务.事件名 比如led.ready
|
|
|
*/
|
|
|
public void handlerEvent(String eventName) {
|
|
|
- SerialSetting serialSetting= SysConfig.serialSetting;
|
|
|
- LedFactory ledFactory= SystemObject.ledFactory;
|
|
|
- WeighbridgeFactory weighbridgeFactory=SystemObject.weighbridgeFactory;
|
|
|
- ElectronFactory electronFactory= SystemObject.electronFactory;
|
|
|
- PLCHadnler plcHadnler= SpringUtil.getBean(PLCHadnler.class);
|
|
|
- CaptureFactory captureFactory=SystemObject.captureFactory;
|
|
|
- CaputreSetting caputreSetting=SysConfig.caputreSetting;
|
|
|
- // log.info("event:{}", eventName);
|
|
|
+ SerialSetting serialSetting = SysConfig.serialSetting;
|
|
|
+ LedFactory ledFactory = SystemObject.ledFactory;
|
|
|
+ WeighbridgeFactory weighbridgeFactory = SystemObject.weighbridgeFactory;
|
|
|
+ ElectronFactory electronFactory = SystemObject.electronFactory;
|
|
|
+ PLCHadnler plcHadnler = SpringUtil.getBean(PLCHadnler.class);
|
|
|
+ CaptureFactory captureFactory = SystemObject.captureFactory;
|
|
|
+ CaputreSetting caputreSetting = SysConfig.caputreSetting;
|
|
|
+ log.info("event:{}", eventName);
|
|
|
SysConfig.eventDTOList.stream().filter(eventDTO -> StrUtil.equals(eventName, eventDTO.getName()))
|
|
|
.findFirst().ifPresent(eventDTO -> {
|
|
|
- List<String> actionList = eventDTO.getActionList().getAction();
|
|
|
- //依次执行动作
|
|
|
- for (String action:actionList) {
|
|
|
- String module = StrUtil.subBefore(action, ".", true);
|
|
|
- String command = StrUtil.subAfter(action, ".", true);
|
|
|
+ List<String> actionList = eventDTO.getActionList().getAction();
|
|
|
+ //依次执行动作
|
|
|
+ for (String action : actionList) {
|
|
|
+ log.info("action :{}", action);
|
|
|
+ String module = StrUtil.subBefore(action, ".", true);
|
|
|
+ String command = StrUtil.subAfter(action, ".", true);
|
|
|
// 中断事件动作
|
|
|
- if (DeviceCache.isInterrupt()){
|
|
|
- //停止读数
|
|
|
- CommonWeighbridgeHandler.isStart=false;
|
|
|
- DeviceCache.setInterrupt(false);
|
|
|
- break;
|
|
|
- }
|
|
|
- if (StrUtil.equals(module, ModuleEnum.INFRARED_MODULE.getModuleEn())) {
|
|
|
- //动作属于红外
|
|
|
- } else if (StrUtil.equals(module, ModuleEnum.LED_MODULE.getModuleEn())) {
|
|
|
- //动作属于led
|
|
|
- ledFactory.handler(serialSetting.getLed().getBrand()).handlerAction(command);
|
|
|
- } else if (StrUtil.equals(module, ModuleEnum.WEIGHBRIDGE_MODULE.getModuleEn())) {
|
|
|
- //动作属于地磅
|
|
|
- weighbridgeFactory.handler(serialSetting.getWeighbridge().getBrand()).handlerAction(command);
|
|
|
- }else if (StrUtil.equals(module, ModuleEnum.CAPTURE_MODULE.getModuleEn())) {
|
|
|
- //动作属于抓拍单元--车牌识别
|
|
|
- captureFactory.handler(caputreSetting.getBrand()).handlerAction(command);
|
|
|
- }else if (StrUtil.equals(module, ModuleEnum.PLC_MODULE.getModuleEn())) {
|
|
|
- //动作属于plc
|
|
|
- plcHadnler.handlerAction(command);
|
|
|
- }else if (StrUtil.equals(module, ModuleEnum.ELECTRON_MODULE.getModuleEn())) {
|
|
|
- //动作属于电子车牌
|
|
|
- electronFactory.handler(serialSetting.getElectron().getBrand()).handlerAction(command);
|
|
|
- } else if (StrUtil.equals(module, ModuleEnum.CENTER_MODULE.getModuleEn())) {
|
|
|
- //动作属于中心总线
|
|
|
- handlerAction(command);
|
|
|
- }
|
|
|
- ThreadUtil.sleep(250);
|
|
|
- }
|
|
|
- });
|
|
|
+ if (DeviceCache.isInterrupt()) {
|
|
|
+ //停止读数
|
|
|
+ CommonWeighbridgeHandler.isStart = false;
|
|
|
+ DeviceCache.setInterrupt(false);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if (StrUtil.equals(module, ModuleEnum.INFRARED_MODULE.getModuleEn())) {
|
|
|
+ //动作属于红外
|
|
|
+ } else if (StrUtil.equals(module, ModuleEnum.LED_MODULE.getModuleEn())) {
|
|
|
+ //动作属于led
|
|
|
+ ledFactory.handler(serialSetting.getLed().getBrand()).handlerAction(command);
|
|
|
+ } else if (StrUtil.equals(module, ModuleEnum.WEIGHBRIDGE_MODULE.getModuleEn())) {
|
|
|
+ //动作属于地磅
|
|
|
+ weighbridgeFactory.handler(serialSetting.getWeighbridge().getBrand()).handlerAction(command);
|
|
|
+ } else if (StrUtil.equals(module, ModuleEnum.CAPTURE_MODULE.getModuleEn())) {
|
|
|
+ //动作属于抓拍单元--车牌识别
|
|
|
+ captureFactory.handler(caputreSetting.getBrand()).handlerAction(command);
|
|
|
+ } else if (StrUtil.equals(module, ModuleEnum.PLC_MODULE.getModuleEn())) {
|
|
|
+ //动作属于plc
|
|
|
+ plcHadnler.handlerAction(command);
|
|
|
+ } else if (StrUtil.equals(module, ModuleEnum.ELECTRON_MODULE.getModuleEn())) {
|
|
|
+ //动作属于电子车牌
|
|
|
+ electronFactory.handler(serialSetting.getElectron().getBrand()).handlerAction(command);
|
|
|
+ } else if (StrUtil.equals(module, ModuleEnum.CENTER_MODULE.getModuleEn())) {
|
|
|
+ //动作属于中心总线
|
|
|
+ handlerAction(command);
|
|
|
+ }
|
|
|
+ ThreadUtil.sleep(250);
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
}
|
|
|
|
|
@@ -104,7 +105,7 @@ public class EventThread implements Runnable{
|
|
|
if (StrUtil.contains(action, CenterActionCommand.SLEEP_COMMAND)) {
|
|
|
//休眠
|
|
|
handlerSleep(action);
|
|
|
- }else if (StrUtil.contains(action, CenterActionCommand.SUBMIT)){
|
|
|
+ } else if (StrUtil.contains(action, CenterActionCommand.SUBMIT)) {
|
|
|
handlerSubmit();
|
|
|
}
|
|
|
}
|
|
@@ -127,53 +128,52 @@ public class EventThread implements Runnable{
|
|
|
* @param
|
|
|
*/
|
|
|
private void handlerSubmit() {
|
|
|
- String api=SysConfig.managerSetting.getServerUrl()+"/open/submit";
|
|
|
- String bodyParams=JSONUtil.toJsonStr(EventDataManager.getCacheData());
|
|
|
- if (StrUtil.isEmpty(bodyParams)){
|
|
|
+ String api = SysConfig.managerSetting.getServerUrl() + "/open/submit";
|
|
|
+ String bodyParams = JSONUtil.toJsonStr(EventDataManager.getCacheData());
|
|
|
+ if (StrUtil.isEmpty(bodyParams)) {
|
|
|
return;
|
|
|
}
|
|
|
- log.info("Req:{}",bodyParams);
|
|
|
- EventBus eventBus= SpringUtil.getBean(EventBus.class);
|
|
|
+ log.info("Req:{}", bodyParams);
|
|
|
+ EventBus eventBus = SpringUtil.getBean(EventBus.class);
|
|
|
HttpResponse response = request(api, bodyParams);
|
|
|
- log.info("提交通道数据-返回结果:{}",response.body());
|
|
|
- if (response.getStatus() == 200){
|
|
|
+ log.info("提交通道数据-返回结果:{}", response.body());
|
|
|
+ if (response.getStatus() == 200) {
|
|
|
String body = response.body();
|
|
|
JSONObject jsonObject = JSONUtil.parseObj(body);
|
|
|
// 返回数据解密
|
|
|
String data = WordHandlerUtils.AESDecrypt(jsonObject.get("data").toString());
|
|
|
- log.info("data:{}",data);
|
|
|
+ log.info("data:{}", data);
|
|
|
CommandBO commandBO = JSONUtil.toBean(data, CommandBO.class);
|
|
|
LedOptions options = new LedOptions().setLine("04").setShowType("00");
|
|
|
- if (jsonObject.getInt("code")==200){
|
|
|
+ if (jsonObject.getInt("code") == 200) {
|
|
|
log.info("抬杆放行============");
|
|
|
- eventBus.startEvent(ModuleEnum.PLC_MODULE.getModuleEn()+"."+ PLCEvent.RAILING_RISE);
|
|
|
+ eventBus.startEvent(ModuleEnum.PLC_MODULE.getModuleEn() + "." + PLCEvent.RAILING_RISE);
|
|
|
options.setColor("02");
|
|
|
- if (ModuleEnum.LED_MODULE.getModuleEn().equalsIgnoreCase(commandBO.getCommand().getModule())){
|
|
|
+ if (ModuleEnum.LED_MODULE.getModuleEn().equalsIgnoreCase(commandBO.getCommand().getModule())) {
|
|
|
SystemObject.ledFactory.handler(SysConfig.serialSetting.getLed().getBrand())
|
|
|
- .sendMsg(commandBO.getCommand().getExtra(),options);
|
|
|
+ .sendMsg(commandBO.getCommand().getExtra(), options);
|
|
|
}
|
|
|
- if (SysConfig.channelSetting.getChannelType()==0){
|
|
|
- // EventDataManager.cleanData();
|
|
|
- // eventBus.startEvent(ModuleEnum.PLC_MODULE.getModuleEn()+"."+ PLCEvent.IDLE);
|
|
|
- }
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
options.setColor("01");
|
|
|
- if (ModuleEnum.LED_MODULE.getModuleEn().equalsIgnoreCase(commandBO.getCommand().getModule())){
|
|
|
+ if (ModuleEnum.LED_MODULE.getModuleEn().equalsIgnoreCase(commandBO.getCommand().getModule())) {
|
|
|
SystemObject.ledFactory.handler(SysConfig.serialSetting.getLed().getBrand())
|
|
|
- .sendMsg(commandBO.getCommand().getExtra(),options);
|
|
|
- }else {
|
|
|
- eventBus.startEvent(commandBO.getCommand().getModule()+"."+ commandBO.getCommand().getCommand());
|
|
|
+ .sendMsg(commandBO.getCommand().getExtra(), options);
|
|
|
+ } else {
|
|
|
+ eventBus.startEvent(commandBO.getCommand().getModule() + "." + commandBO.getCommand().getCommand());
|
|
|
+ }
|
|
|
+ if (SysConfig.channelSetting.getChannelType() == 1) {
|
|
|
+ eventBus.startEvent(ModuleEnum.PLC_MODULE.getModuleEn() + "." + PLCEvent.CHECK_ADMIN_FAILED);
|
|
|
}
|
|
|
}
|
|
|
- }else {
|
|
|
- eventBus.startEvent(ModuleEnum.PLC_MODULE.getModuleEn()+"."+ PLCEvent.CHECK_FAILED);
|
|
|
+ } else {
|
|
|
+ eventBus.startEvent(ModuleEnum.PLC_MODULE.getModuleEn() + "." + PLCEvent.SUBMIT_TIMEOUT);
|
|
|
}
|
|
|
|
|
|
// 重置记录的设备触发时间
|
|
|
DeviceCache.resetTimeMap();
|
|
|
}
|
|
|
|
|
|
- public HttpResponse request(String url,String json) {
|
|
|
+ public HttpResponse request(String url, String json) {
|
|
|
|
|
|
HttpResponse res = null;
|
|
|
// url = "http://192.168.1.8:9191/open/submit";
|
|
@@ -198,9 +198,8 @@ public class EventThread implements Runnable{
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
- public void run(){
|
|
|
+ public void run() {
|
|
|
handlerEvent(eventName);
|
|
|
}
|
|
|
}
|