From 8ec0064cd95292f14027006a8be47c1a71f69af9 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期三, 31 十二月 2025 17:02:57 +0800
Subject: [PATCH] 添加查询所有玻璃数据
---
mes-processes/mes-plcSend/src/main/java/com/mes/interaction/vehicle/handler/LoadVehicleLogicHandler.java | 81 ++++++++++++++++++++--------------------
1 files changed, 40 insertions(+), 41 deletions(-)
diff --git a/mes-processes/mes-plcSend/src/main/java/com/mes/interaction/vehicle/handler/LoadVehicleLogicHandler.java b/mes-processes/mes-plcSend/src/main/java/com/mes/interaction/vehicle/handler/LoadVehicleLogicHandler.java
index 457da90..2a298e2 100644
--- a/mes-processes/mes-plcSend/src/main/java/com/mes/interaction/vehicle/handler/LoadVehicleLogicHandler.java
+++ b/mes-processes/mes-plcSend/src/main/java/com/mes/interaction/vehicle/handler/LoadVehicleLogicHandler.java
@@ -138,7 +138,7 @@
Map<String, Object> params,
Map<String, Object> logicParams) {
- String deviceId = deviceConfig.getDeviceId();
+ String deviceId = String.valueOf(deviceConfig.getId());
log.info("鎵ц澶ц溅璁惧鎿嶄綔: deviceId={}, deviceName={}, operation={}",
deviceId, deviceConfig.getDeviceName(), operation);
@@ -147,7 +147,6 @@
VehicleStatus status = statusManager.getVehicleStatus(deviceId);
if (status != null && !status.isAvailable()) {
// 瀵逛簬 feedGlass 鎿嶄綔锛屽鏋滅姸鎬佹槸 EXECUTING锛屽厑璁哥户缁墽琛�
- // 鍥犱负瀹氭椂鍣ㄥ彲鑳戒細閲嶅璋冪敤锛屾垨鑰呴渶瑕佺瓑寰呬换鍔″畬鎴�
if ("feedGlass".equals(operation) && status.isExecuting()) {
log.debug("杞﹁締 {} 褰撳墠鐘舵�佷负 EXECUTING锛屼絾鍏佽缁х画鎵ц feedGlass锛堝畾鏃跺櫒閲嶅璋冪敤锛�", deviceId);
// 鍏佽缁х画鎵ц锛屼笉杩斿洖閿欒
@@ -289,7 +288,7 @@
Map<String, Object> logicParams) {
VehicleTask task = new VehicleTask();
- task.setTaskId(generateTaskId(deviceConfig.getDeviceId()));
+ task.setTaskId(generateTaskId(String.valueOf(deviceConfig.getId())));
task.setTaskName("澶ц溅璁惧-" + operation);
task.setOperation(operation);
@@ -365,7 +364,7 @@
Boolean triggerRequest = (Boolean) params.getOrDefault("triggerRequest", autoFeed);
List<GlassInfo> plannedGlasses = planGlassLoading(glassInfos, vehicleCapacity, glassGap,
- deviceConfig.getDeviceId());
+ String.valueOf(deviceConfig.getId()));
if (plannedGlasses == null) {
// 鐜荤拑娌℃湁闀垮害鏃惰繑鍥瀗ull琛ㄧず閿欒
return DevicePlcVO.OperationResult.builder()
@@ -437,7 +436,7 @@
// 濡傛灉鎵ц鎴愬姛锛屾洿鏂颁綅缃俊鎭埌鐘舵��
if (Boolean.TRUE.equals(result.getSuccess())) {
VehicleStatus status = statusManager.getOrCreateVehicleStatus(
- deviceConfig.getDeviceId(), deviceConfig.getDeviceName());
+ String.valueOf(deviceConfig.getId()), deviceConfig.getDeviceName());
if (positionCode != null || positionValue != null) {
VehiclePosition position = new VehiclePosition(positionCode, positionValue);
status.setCurrentPosition(position);
@@ -522,15 +521,15 @@
// 閲嶇疆鏃讹紝娓呴櫎浠诲姟骞舵仮澶嶄负绌洪棽鐘舵�侊紝鍋滄鐩戞帶
if (Boolean.TRUE.equals(result.getSuccess())) {
- statusManager.clearVehicleTask(deviceConfig.getDeviceId());
- statusManager.updateVehicleStatus(deviceConfig.getDeviceId(), VehicleState.IDLE);
- stopStateMonitoring(deviceConfig.getDeviceId());
+ statusManager.clearVehicleTask(String.valueOf(deviceConfig.getId()));
+ statusManager.updateVehicleStatus(String.valueOf(deviceConfig.getId()), VehicleState.IDLE);
+ stopStateMonitoring(String.valueOf(deviceConfig.getId()));
handleStopTaskMonitor(deviceConfig);
handleStopIdleMonitor(deviceConfig);
updateDeviceOnlineStatus(deviceConfig, true);
} else {
// 鍗充究閲嶇疆澶辫触锛屼篃灏濊瘯鍋滄鍐呴儴鐩戞帶锛岄伩鍏嶄换鍔″彇娑堝悗浠嶇劧鍙嶅鍐橮LC
- stopStateMonitoring(deviceConfig.getDeviceId());
+ stopStateMonitoring(String.valueOf(deviceConfig.getId()));
handleStopTaskMonitor(deviceConfig);
handleStopIdleMonitor(deviceConfig);
}
@@ -637,15 +636,15 @@
// 娓呯┖鍚庯紝鎭㈠涓虹┖闂茬姸鎬侊紝鍋滄鐩戞帶
if (Boolean.TRUE.equals(result.getSuccess())) {
- statusManager.clearVehicleTask(deviceConfig.getDeviceId());
- statusManager.updateVehicleStatus(deviceConfig.getDeviceId(), VehicleState.IDLE);
- stopStateMonitoring(deviceConfig.getDeviceId());
+ statusManager.clearVehicleTask(String.valueOf(deviceConfig.getId()));
+ statusManager.updateVehicleStatus(String.valueOf(deviceConfig.getId()), VehicleState.IDLE);
+ stopStateMonitoring(String.valueOf(deviceConfig.getId()));
handleStopTaskMonitor(deviceConfig);
handleStopIdleMonitor(deviceConfig);
updateDeviceOnlineStatus(deviceConfig, true);
} else {
// 鍐欏叆澶辫触涔熷皾璇曞仠姝㈢洃鎺э紝閬垮厤浠诲姟鍙栨秷鍚庝粛鏃ц繍琛�
- stopStateMonitoring(deviceConfig.getDeviceId());
+ stopStateMonitoring(String.valueOf(deviceConfig.getId()));
handleStopTaskMonitor(deviceConfig);
handleStopIdleMonitor(deviceConfig);
}
@@ -662,7 +661,7 @@
deviceStatusService.updateDeviceOnlineStatus(deviceConfig.getId(), status);
} catch (Exception e) {
log.warn("鍚屾璁惧鍦ㄧ嚎鐘舵�佸埌鏁版嵁搴撳け璐�: deviceId={}, online={}, error={}",
- deviceConfig.getDeviceId(), online, e.getMessage());
+ String.valueOf(deviceConfig.getId()), online, e.getMessage());
}
}
@@ -870,7 +869,7 @@
* 瀹氭湡妫�鏌ュぇ杞︾殑 state1~6锛屽綋妫�娴嬪埌 state=1 鏃惰嚜鍔ㄥ崗璋冨崸杞珛璁惧
*/
private void startStateMonitoring(DeviceConfig deviceConfig, Map<String, Object> logicParams) {
- String deviceId = deviceConfig.getDeviceId();
+ String deviceId = String.valueOf(deviceConfig.getId());
// 濡傛灉宸茬粡鍦ㄧ洃鎺э紝鍏堝仠姝㈡棫鐨勭洃鎺т换鍔�
stopStateMonitoring(deviceId);
@@ -941,7 +940,7 @@
* 妫�鏌ュぇ杞︾姸鎬佸苟鍗忚皟鍗ц浆绔嬭澶囷紙鍐呴儴鏂规硶锛岀敱鐩戞帶绾跨▼璋冪敤锛�
*/
private void checkAndCoordinateState(DeviceConfig deviceConfig) {
- String deviceId = deviceConfig.getDeviceId();
+ String deviceId = String.valueOf(deviceConfig.getId());
List<String> alreadyCoordinated = coordinatedStates.get(deviceId);
if (alreadyCoordinated == null) {
alreadyCoordinated = new CopyOnWriteArrayList<>();
@@ -1229,7 +1228,7 @@
Map<String, Object> params,
Map<String, Object> logicParams) {
- String deviceId = deviceConfig.getDeviceId();
+ String deviceId = String.valueOf(deviceConfig.getId());
// 鍋滄鏃х殑鐩戞帶浠诲姟
handleStopIdleMonitor(deviceConfig);
@@ -1287,7 +1286,7 @@
* 鍋滄绌洪棽鐩戞帶
*/
private DevicePlcVO.OperationResult handleStopIdleMonitor(DeviceConfig deviceConfig) {
- String deviceId = deviceConfig.getDeviceId();
+ String deviceId = String.valueOf(deviceConfig.getId());
ScheduledFuture<?> future = idleMonitoringTasks.remove(deviceId);
if (future != null && !future.isCancelled()) {
future.cancel(false);
@@ -1308,7 +1307,7 @@
Map<String, Object> params,
Map<String, Object> logicParams) {
- String deviceId = deviceConfig.getDeviceId();
+ String deviceId = String.valueOf(deviceConfig.getId());
PlcClient plcClient = getPlcClient(deviceConfig);
if (plcClient == null) {
return DevicePlcVO.OperationResult.builder()
@@ -1701,7 +1700,7 @@
*/
private Integer getCurrentPosition(DeviceConfig deviceConfig, Map<String, Object> logicParams) {
// 浠庣姸鎬佺鐞嗗櫒鑾峰彇
- VehicleStatus status = statusManager.getVehicleStatus(deviceConfig.getDeviceId());
+ VehicleStatus status = statusManager.getVehicleStatus(String.valueOf(deviceConfig.getId()));
if (status != null && status.getCurrentPosition() != null) {
return status.getCurrentPosition().getPositionValue();
}
@@ -1792,7 +1791,7 @@
Map<String, Object> params,
Map<String, Object> logicParams) {
- String deviceId = deviceConfig.getDeviceId();
+ String deviceId = String.valueOf(deviceConfig.getId());
// 鍋滄鏃х殑鐩戞帶浠诲姟
handleStopTaskMonitor(deviceConfig);
@@ -1833,7 +1832,7 @@
MesTaskInfo taskInfo,
Map<String, Object> logicParams) {
- String deviceId = deviceConfig.getDeviceId();
+ String deviceId = String.valueOf(deviceConfig.getId());
PlcClient plcClient = getPlcClient(deviceConfig);
if (plcClient == null) {
return;
@@ -1887,7 +1886,7 @@
if (taskInfo.brokenGlassIndices != null && taskInfo.brokenGlassIndices.contains(i)) {
updateStateIfNeeded(deviceConfig, plcClient, stateValues, stateField, 8, taskInfo);
log.info("鐜荤拑鏍囪涓虹牬鎹�: deviceId={}, stateField={}, glassIndex={}",
- deviceConfig.getDeviceId(), stateField, i);
+ String.valueOf(deviceConfig.getId()), stateField, i);
continue;
}
@@ -1895,7 +1894,7 @@
if (elapsed >= state3TimeoutTime && (currentState == null || currentState < 2)) {
updateStateIfNeeded(deviceConfig, plcClient, stateValues, stateField, 3, taskInfo);
log.warn("浠诲姟瓒呮椂鏈畬鎴�: deviceId={}, stateField={}, elapsed={}ms, expectedTime={}ms",
- deviceConfig.getDeviceId(), stateField, elapsed, state2Time);
+ String.valueOf(deviceConfig.getId()), stateField, elapsed, state2Time);
continue;
}
@@ -1972,7 +1971,7 @@
// 娉ㄦ剰锛氬鏋滃綋鍓峴tate宸茬粡鏄�3锛堟湭瀹屾垚锛夋垨8锛堢牬鎹燂級锛屼笉鍐嶆洿鏂�
if (currentState != null && (currentState == 3 || currentState == 8)) {
log.debug("浠诲姟鐘舵�佸凡涓哄紓甯哥姸鎬侊紝涓嶅啀鏇存柊: deviceId={}, stateField={}, currentState={}, targetState={}",
- deviceConfig.getDeviceId(), stateField, currentState, targetState);
+ String.valueOf(deviceConfig.getId()), stateField, currentState, targetState);
return false;
}
@@ -1984,12 +1983,12 @@
plcClient.writeData(payload);
log.info("浠诲姟鐘舵�佸凡鏇存柊鍒癙LC: deviceId={}, stateField={}, currentState={}, targetState={}",
- deviceConfig.getDeviceId(), stateField, currentState, targetState);
+ String.valueOf(deviceConfig.getId()), stateField, currentState, targetState);
// 杩斿洖true琛ㄧず鐘舵�佸彂鐢熶簡鍙樺寲
return true;
} catch (Exception e) {
log.error("鍐欏叆PLC state瀛楁澶辫触: deviceId={}, stateField={}, targetState={}, error={}",
- deviceConfig.getDeviceId(), stateField, targetState, e.getMessage());
+ String.valueOf(deviceConfig.getId()), stateField, targetState, e.getMessage());
return false;
}
}
@@ -2067,11 +2066,11 @@
.map(g -> g.glassId)
.collect(java.util.stream.Collectors.joining(","));
log.info("宸茬粰MES姹囨姤({}浠诲姟): deviceId={}, glassCount={}, glassIds=[{}]",
- taskType, deviceConfig.getDeviceId(), taskInfo.glasses.size(), glassIds);
+ taskType, String.valueOf(deviceConfig.getId()), taskInfo.glasses.size(), glassIds);
// 澶氳澶囦换鍔″満鏅笅锛屼笉鍦ㄨ繖閲岄樆濉炵瓑寰匨ES纭锛岀敱浠诲姟寮曟搸瀹氭椂璋冪敤checkMesConfirm
} catch (Exception e) {
- log.error("缁橫ES姹囨姤寮傚父: deviceId={}", deviceConfig.getDeviceId(), e);
+ log.error("缁橫ES姹囨姤寮傚父: deviceId={}", String.valueOf(deviceConfig.getId()), e);
}
}
@@ -2082,7 +2081,7 @@
public DevicePlcVO.OperationResult checkMesConfirm(DeviceConfig deviceConfig,
Map<String, Object> params,
Map<String, Object> logicParams) {
- String deviceId = deviceConfig.getDeviceId();
+ String deviceId = String.valueOf(deviceConfig.getId());
PlcClient plcClient = getPlcClient(deviceConfig);
if (plcClient == null) {
return DevicePlcVO.OperationResult.builder()
@@ -2167,9 +2166,9 @@
} catch (Exception e) {
log.warn("MES纭瓒呮椂鏃舵竻绌轰换鍔$姸鎬佸け璐�: deviceId={}, error={}", deviceId, e.getMessage());
}
- statusManager.updateVehicleStatus(deviceConfig.getDeviceId(), VehicleState.ERROR);
- statusManager.clearVehicleTask(deviceConfig.getDeviceId());
- currentTasks.remove(deviceConfig.getDeviceId());
+ statusManager.updateVehicleStatus(String.valueOf(deviceConfig.getId()), VehicleState.ERROR);
+ statusManager.clearVehicleTask(String.valueOf(deviceConfig.getId()));
+ currentTasks.remove(String.valueOf(deviceConfig.getId()));
handleStopTaskMonitor(deviceConfig);
return DevicePlcVO.OperationResult.builder()
@@ -2196,11 +2195,11 @@
// 浠诲姟瀹屾垚锛屾仮澶嶄负绌洪棽鐘舵��
statusManager.updateVehicleStatus(
- deviceConfig.getDeviceId(), VehicleState.IDLE);
- statusManager.clearVehicleTask(deviceConfig.getDeviceId());
+ String.valueOf(deviceConfig.getId()), VehicleState.IDLE);
+ statusManager.clearVehicleTask(String.valueOf(deviceConfig.getId()));
// 绉婚櫎浠诲姟璁板綍锛堝鏋滄湁锛�
- currentTasks.remove(deviceConfig.getDeviceId());
+ currentTasks.remove(String.valueOf(deviceConfig.getId()));
// 鍋滄浠诲姟鐩戞帶
handleStopTaskMonitor(deviceConfig);
@@ -2210,7 +2209,7 @@
payload.put("plcRequest", 1);
plcClient.writeData(payload);
- log.info("MES浠诲姟宸茬‘璁ゅ畬鎴�: deviceId={}", deviceConfig.getDeviceId());
+ log.info("MES浠诲姟宸茬‘璁ゅ畬鎴�: deviceId={}", String.valueOf(deviceConfig.getId()));
String taskType = (taskInfo != null && taskInfo.isOutbound) ? "鍑虹墖" : "杩涚墖";
return DevicePlcVO.OperationResult.builder()
.success(true)
@@ -2234,7 +2233,7 @@
.data(data)
.build();
} catch (Exception e) {
- log.error("妫�鏌ES纭鐘舵�佸紓甯�: deviceId={}", deviceConfig.getDeviceId(), e);
+ log.error("妫�鏌ES纭鐘舵�佸紓甯�: deviceId={}", String.valueOf(deviceConfig.getId()), e);
return DevicePlcVO.OperationResult.builder()
.success(false)
.message("妫�鏌ES纭鐘舵�佸紓甯�: " + e.getMessage())
@@ -2250,7 +2249,7 @@
private DevicePlcVO.OperationResult handleMarkBroken(DeviceConfig deviceConfig,
Map<String, Object> params,
Map<String, Object> logicParams) {
- String deviceId = deviceConfig.getDeviceId();
+ String deviceId = String.valueOf(deviceConfig.getId());
MesTaskInfo taskInfo = currentTasks.get(deviceId);
if (taskInfo == null) {
return DevicePlcVO.OperationResult.builder()
@@ -2342,7 +2341,7 @@
payload.put("plcReport", 0);
plcClient.writeData(payload);
} catch (Exception e) {
- log.error("娓呯┖浠诲姟鐘舵�佸紓甯�: deviceId={}", deviceConfig.getDeviceId(), e);
+ log.error("娓呯┖浠诲姟鐘舵�佸紓甯�: deviceId={}", String.valueOf(deviceConfig.getId()), e);
}
}
@@ -2350,7 +2349,7 @@
* 鍋滄浠诲姟鐩戞帶
*/
private DevicePlcVO.OperationResult handleStopTaskMonitor(DeviceConfig deviceConfig) {
- String deviceId = deviceConfig.getDeviceId();
+ String deviceId = String.valueOf(deviceConfig.getId());
ScheduledFuture<?> future = taskMonitoringTasks.remove(deviceId);
if (future != null && !future.isCancelled()) {
future.cancel(false);
--
Gitblit v1.8.0