From ac09ee9c9f39cb9d452b57504e5c79321e0371eb Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期四, 03 四月 2025 15:34:34 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java | 54 ++++++++++++-
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java | 10 +-
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java | 27 ++++--
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java | 6 -
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java | 30 -------
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LiftCommandModeType.java | 4
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java | 4 +
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/FyxcDevpThread.java | 21 ++--
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java | 36 ++++----
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java | 7 +
10 files changed, 115 insertions(+), 84 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java
index 63022f5..d15a292 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java
@@ -119,11 +119,6 @@
return motionList;
}
- BasConveyorSta basConveyorStaDest = basConveyorStaService.selectBySiteNo(task.getDestSite());
- if (basConveyorStaDest == null) {
- return motionList;
- }
-
//妫�娴嬬┛姊溅鏄惁鏈変换鍔$粦瀹�
boolean shuttleResult = Utils.checkShuttleHasBinding(shuttleDevice, task.getTaskNo());
if (shuttleResult) {
@@ -158,7 +153,6 @@
dto.setLiftNo(transferLiftDevice.getId().intValue());
dto.setLev(Utils.getLev(task.getDestLoc()));
dto.setStaNo(Integer.parseInt(task.getDestSite()));
- dto.setDevpNo(basConveyorStaDest.getConveyorDeviceId().intValue());
dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
}))
));
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java
index 386c3c6..ef67e16 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java
@@ -95,11 +95,13 @@
motion.setMotionCtg(MotionCtgType.LIFT_WITH_GOODS.val());
if (null != origin) {
- motion.setOrigin(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), origin.getLev())));
- motion.setOriDrt(origin.getStaNo());//婧愮珯
+// motion.setOrigin(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), origin.getLev())));
+// motion.setOriDrt(origin.getStaNo());//婧愮珯
+ motion.setOrigin(String.valueOf(origin.getStaNo()));
}
- motion.setTarget(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), target.getLev())));
- motion.setTarDrt(target.getStaNo());//鐩爣绔�
+// motion.setTarget(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), target.getLev())));
+// motion.setTarDrt(target.getStaNo());//鐩爣绔�
+ motion.setTarget(String.valueOf(target.getStaNo()));
if (target.getDevpNo() != null) {
motion.setDockNo(String.valueOf(target.getDevpNo()));//杈撻�佺嚎ID
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
index c8680e1..615f3a8 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
@@ -113,12 +113,6 @@
// return false;
// }
- //鍒ゆ柇鐩爣绔欐槸鍚︽湁鎵樼洏
- Integer conveyorDeviceId = Integer.parseInt(motion.getDockNo());
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, conveyorDeviceId);
- if (devpThread == null) {
- return false;
- }
// //*************鏍囧噯绯荤粺浠g爜********************
// StaProtocol staProtocol = devpThread.getStation().get(motion.getTarDrt());
// if (staProtocol == null) {
@@ -135,29 +129,7 @@
// }
// //*************************************************
-
- //*************姝や唬鐮佷负鍏夋嘲瀹氬埗浠g爜********************
- Integer tarDrt = motion.getTarDrt();
- if (tarDrt == 31001) {
- tarDrt = 31004;
- }
-
- StaProtocol staProtocol = devpThread.getStation().get(tarDrt);
- if (staProtocol == null) {
- return false;
- }
- if (!staProtocol.isAutoing()) {
- return false;
- }
- if (staProtocol.isLoading()) {
- return false;
- }
- if (staProtocol.getWorkNo().intValue() != 0) {
- return false;
- }
- //*************************************************
-
- command = liftThread.getPalletInOutCommand(assignCommand.getDeviceTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), motion.getOriDrt(), motion.getTarDrt(), LiftCommandModeType.PALLET_INOUT);
+ command = liftThread.getPalletInOutCommand(assignCommand.getDeviceTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), motion.getOriDrt(), motion.getTarDrt(), task.getTaskSts() < 100 ? LiftCommandModeType.PALLET_IN : LiftCommandModeType.PALLET_OUT);
list.addAll(command);
motion.setTemp(String.valueOf(assignCommand.getDeviceTaskNo()));
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LiftCommandModeType.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LiftCommandModeType.java
index 1c74b5b..2ca1d57 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LiftCommandModeType.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/LiftCommandModeType.java
@@ -4,11 +4,13 @@
NONE(-1, "鏈煡绫诲瀷"),
MOVE(1, "鎻愬崌鏈哄崌闄�"),
- PALLET_INOUT(2, "鎵樼洏鍑哄叆"),
+// PALLET_INOUT(2, "鎵樼洏鍑哄叆"),
LOCK(3, "閿佸畾鎻愬崌鏈�"),
UNLOCK(4, "瑙i攣鎻愬崌鏈�"),
RESET(5, "澶嶄綅"),
MOVE_CAR(6, "鎻愬崌鏈哄崌闄嶅皬杞�"),
+ PALLET_IN(7, "鎵樼洏鍏�"),
+ PALLET_OUT(8, "鎵樼洏鍑�"),
;
public Integer id;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
index 71a47fc..cbc2831 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
@@ -170,18 +170,23 @@
continue;
}
- // 鑾峰彇鏉$爜鎵弿浠俊鎭�
- DeviceBarcode deviceBarcode = deviceBarcodeService.getById(basConveyorSta.getBarcodeId());
- if(deviceBarcode == null) {
- continue;
- }
- BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, Integer.parseInt(deviceBarcode.getDeviceId()));
- if (barcodeThread == null) {
- continue;
- }
- String barcode = barcodeThread.getBarcode();
+// // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+// DeviceBarcode deviceBarcode = deviceBarcodeService.getById(basConveyorSta.getBarcodeId());
+// if(deviceBarcode == null) {
+// continue;
+// }
+// BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, Integer.parseInt(deviceBarcode.getDeviceId()));
+// if (barcodeThread == null) {
+// continue;
+// }
+// String barcode = barcodeThread.getBarcode();
+// if (!Cools.isEmpty(barcode)) {
+// News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", deviceBarcode.getId(), barcode);
+// }
+
+ String barcode = staProtocol.getBarcode();
if (!Cools.isEmpty(barcode)) {
- News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", deviceBarcode.getId(), barcode);
+ News.info("鏉$爜鎵弿鍣ㄦ娴嬫潯鐮佷俊鎭細{}", barcode);
}
// 鍒ゆ柇閲嶅宸ヤ綔妗�
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java
index 377f800..8460486 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/LiftDispatcher.java
@@ -78,6 +78,13 @@
}
String liftLocNo = Utils.getLocNo(Utils.getRow(standby.getDeviceStandbyLoc()), Utils.getBay(standby.getDeviceStandbyLoc()), Utils.getLev(locNo));
+
+ if (locNo.equals(liftLocNo)) {
+ finalDistance = 100;
+ recentLiftThread = liftThread;
+ continue;
+ }
+
List<NavigateNode> nodeList = navigateUtils.calc(locNo, liftLocNo, NavigationMapType.NONE.id, null);
if (nodeList == null) {
continue;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java
index 1971cbf..09eb424 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/ShuttleDispatcher.java
@@ -84,6 +84,10 @@
continue;
}
+ if (shuttleProtocol.getCurrentLocNo() == null) {
+ continue;
+ }
+
int shuttleLev = Utils.getLev(shuttleProtocol.getCurrentLocNo());
if (shuttleLev == lev) {
currentLevDevices.add(device);
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/FyxcDevpThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/FyxcDevpThread.java
index f5a37ec..eced132 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/FyxcDevpThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/FyxcDevpThread.java
@@ -158,9 +158,8 @@
// staProtocol.setWorkMode((int) siemensS7Net.getByteTransform().TransInt16(result.Content, i * 40 + 8));// 宸ヤ綔妯″紡
- staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 18 + 10)); // 宸ヤ綔鍙�
- staProtocol.setStaNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, i * 18 + 14)); // 鐩爣绔�
-
+ staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt16(result.Content, i * 18 + 10)); // 宸ヤ綔鍙�
+ staProtocol.setStaNo((short) siemensS7Net.getByteTransform().TransInt16(result.Content, i * 18 + 12)); // 鐩爣绔�
if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
staProtocol.setPakMk(true);
@@ -245,6 +244,7 @@
@Override
public boolean writeWorkNo(int siteId, short workNo) {
int index = staNos1.indexOf(siteId);
+ index += 1;
OperateResult write = siemensS7Net.Write("DB83." + (index *8+6),(int) workNo); // 宸ヤ綔鍙�
@@ -266,6 +266,7 @@
@Override
public boolean writeStaNo(int siteId,short staNo) {
int index = staNos1.indexOf(siteId);
+ index += 1;
OperateResult write = siemensS7Net.Write("DB101." + (index * 8 + 4),(int) staNo); // 鐩爣绔�
@@ -287,27 +288,27 @@
@Override
public boolean writeWorkSta(int siteId, short workNo, short staNo) {
int index = staNos1.indexOf(siteId);
+ index += 1;
short[] array = new short[2];
array[0] = workNo;
array[1] = staNo;
-
- String workNoAddress = "DB101." + (index * 8 + 6);
- String staNoAddress = "DB101." + (index * 8 + 4);
+ String workNoAddress = "DB83." + (index * 8 + 6);
+ String staNoAddress = "DB83." + (index * 8 + 4);
OperateResult write1 = null; // 宸ヤ綔鍙�
OperateResult write2 = null; // 鐩爣绔�
//浠诲姟涓嬪彂娆℃暟
int writeCount = 0;
do {
- write1 = siemensS7Net.Write(workNoAddress, (int) workNo); // 宸ヤ綔鍙�
- write2 = siemensS7Net.Write(staNoAddress, (int) staNo);
+ write1 = siemensS7Net.Write(workNoAddress, workNo); // 宸ヤ綔鍙�
+ write2 = siemensS7Net.Write(staNoAddress, staNo);
if ((write1.IsSuccess && write2.IsSuccess)) {
OperateResultExOne<byte[]> readResult = siemensS7Net.Read(staNoAddress, (short) 8);
if (readResult.IsSuccess) {
- int staNo2 = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0);
- int workNo2 = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 4);
+ int staNo2 = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0);
+ int workNo2 = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 4);
if (workNo == workNo2 && staNo == staNo2) {
//浠诲姟鍛戒护鍐欏叆鎴愬姛
log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋},{}锛屽啓鍏ユ鏁�={}", siteId, JSON.toJSON(workNo), JSON.toJSON(staNo), writeCount);
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java
index c03eb2c..0be1c20 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java
@@ -286,20 +286,16 @@
}
LiftDispatcher liftDispatcher = SpringUtils.getBean(LiftDispatcher.class);
- Integer lev = liftDispatcher.getLiftLevOffset(this.device.getId().intValue(), liftProtocol.getLev());
- if (null == lev){
- News.error("鎻愬崌鏈鸿幏鍙栧綋鍓嶅眰涓虹┖");
- response.setMessage("鎻愬崌鏈鸿幏鍙栧綋鍓嶅眰涓虹┖");
- return response;
+
+ Integer origin = command.getOriginLev();
+ Integer target = command.getTargetLev();
+ if (command.getMode() == 2) {
+ origin = liftDispatcher.getLiftLevOffset(this.device.getId().intValue(), liftProtocol.getLev());
+ target = liftDispatcher.getLiftLevOffset(this.device.getId().intValue(), command.getTargetLev());
}
- array[1] = lev.shortValue();
- Integer targetLev = liftDispatcher.getLiftLevOffset(this.device.getId().intValue(), command.getTargetLev());
- if (null == targetLev){
- News.error("鎻愬崌鏈鸿幏鍙栫洰鏍囧眰涓虹┖");
- response.setMessage("鎻愬崌鏈鸿幏鍙栫洰鏍囧眰涓虹┖");
- return response;
- }
- array[2] = targetLev.shortValue();
+
+ array[1] = origin.shortValue();
+ array[2] = target.shortValue();
OperateResult result = siemensS7Net.Write("DB83.0", array);
if (result != null && result.IsSuccess) {
@@ -413,12 +409,16 @@
public List<LiftCommand> getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) {
/**
* 浠诲姟绫诲瀷
- * 1=绉绘墭鐩橈紱鍗囬檷鏈哄皢婧愮珯鍙版墭鐩樼Щ鍒扮洰鏍囩珯鍙�
- * 2=绉诲皬杞︼紝鍗囬檷鏈虹Щ鍒扮洰鏍囧眰锛岀瓑寰�
+ 1=绉绘墭鐩橈紱鍗囬檷鏈哄皢婧愮珯鍙版墭鐩樼Щ鍒扮洰鏍囩珯鍙�
+ 2=鎹㈠眰锛屽崌闄嶆満绉诲埌鐩爣灞傦紝绛夊緟
+ 3=鍏ュ簱鎵樼洏,鍗囬檷鏈哄皢婧愮珯鍙版墭鐩樼Щ鍒扮洰鏍囧眰鏁帮紱
+ 4=鍑哄簱鎵樼洏锛屽崌闄嶆満灏嗘簮绔欏彴鎵樼洏绉诲埌鐩爣绔欏彴
*/
short taskMode = 2;
- if (mode.equals(LiftCommandModeType.PALLET_INOUT)) {
- taskMode = 1;
+ if (mode.equals(LiftCommandModeType.PALLET_IN)) {
+ taskMode = 3;
+ } else if (mode.equals(LiftCommandModeType.PALLET_OUT)) {
+ taskMode = 4;
}
// 寮�濮嬩换鍔�
@@ -435,7 +435,7 @@
LiftCommand command = new LiftCommand();
command.setLiftNo(Integer.valueOf(this.device.getDeviceNo()));
command.setBody(JSON.toJSONString(array));
- command.setMode(LiftCommandModeType.MOVE.id);
+ command.setMode(mode.id);
command.setOriginLev(sourceLev);
command.setTargetLev(targetLev);
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java
index ab95590..e6fa940 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java
@@ -62,6 +62,7 @@
private static final boolean DEBUG = false;//璋冭瘯妯″紡
+ private List<JSONObject> socketReadResults = new ArrayList<>();
private List<JSONObject> socketResults = new ArrayList<>();
//鍘熷璁惧鏁版嵁
@@ -82,6 +83,7 @@
while (true) {
try {
listenSocketMessage();
+ listenInit();//鐩戝惉鍒濆鍖栦簨浠�
} catch (Exception e) {
e.printStackTrace();
}
@@ -137,7 +139,6 @@
Thread otherThread = new Thread(() -> {
while (true) {
try {
- listenInit();//鐩戝惉鍒濆鍖栦簨浠�
saveLog();//淇濆瓨鏁版嵁
} catch (Exception e) {
e.printStackTrace();
@@ -223,7 +224,19 @@
}
JSONObject result = JSON.parseObject(sb.toString());//寰楀埌鍝嶅簲缁撴灉闆�
- if (!socketResults.isEmpty() && socketResults.size() >= 5) {
+
+ String msgType = result.getString("msgType");
+ if ("responseMsg".equals(msgType)) {
+ JSONObject response = result.getJSONObject("response");
+ JSONObject body = response.getJSONObject("body");
+ if (body.containsKey("workingMode")) {
+ //read
+ socketReadResults.add(body);
+ return;
+ }
+ }
+
+ if (!socketResults.isEmpty() && socketResults.size() >= 20) {
socketResults.remove(0);//娓呯悊澶磋妭鐐�
}
socketResults.add(result);//娣诲姞鏁版嵁
@@ -307,7 +320,18 @@
//----------璇诲彇鍥涘悜绌挎杞︾姸鎬�-----------
NyShuttleHttpCommand readStatusCommand = getReadStatusCommand(Integer.parseInt(device.getDeviceNo()));
- JSONObject data = requestCommand(readStatusCommand);
+ requestCommandAsync(readStatusCommand);//璇锋眰鐘舵��
+
+ if (this.socketReadResults.isEmpty()) {
+ if (System.currentTimeMillis() - shuttleProtocol.getLastOnlineTime() > 1000 * 60) {
+ //鏈�鍚庝竴娆′笂绾挎椂闂磋秴杩�60s锛岃瀹氱绾�
+ this.shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.OFFLINE);
+ }
+ return;
+ }
+
+ JSONObject data = this.socketReadResults.get(0);
+ this.socketReadResults.remove(0);
if (data == null) {
if (System.currentTimeMillis() - shuttleProtocol.getLastOnlineTime() > 1000 * 60) {
//鏈�鍚庝竴娆′笂绾挎椂闂磋秴杩�60s锛岃瀹氱绾�
@@ -356,13 +380,17 @@
///璇诲彇鍥涘悜绌挎杞︾姸鎬�-end
//灏忚溅澶勪簬杩愯涓紝灏嗘爣璁扮疆涓簍rue
- if (shuttleProtocol.getDeviceStatus() == 1) {
+ if (shuttleProtocol.getDeviceStatus() == 0) {
shuttleProtocol.setPakMk(true);
}
- if (shuttleProtocol.getProtocolStatusType() == null && shuttleProtocol.getDeviceStatus().intValue() == 0) {
+ if (shuttleProtocol.getProtocolStatusType() == null && shuttleProtocol.getDeviceStatus().intValue() == 1) {
//灏忚溅绌洪棽鐘舵�併�佸皬杞︿换鍔$姸鎬佷负鏈煡锛岃瀹氭浘绂荤嚎杩囷紝闇�瑕佸浣嶆垚绌洪棽
shuttleProtocol.setProtocolStatusType(ShuttleProtocolStatusType.IDLE);
+ }
+
+ if (shuttleProtocol.getProtocolStatusType().equals(ShuttleProtocolStatusType.OFFLINE) && shuttleProtocol.getDeviceStatus().intValue() == 1) {
+ this.shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
}
this.originDeviceData = data;
@@ -1109,6 +1137,22 @@
return result;//杩斿洖Body缁撴灉闆�
}
+ private void requestCommandAsync(NyShuttleHttpCommand httpCommand) throws IOException {
+ if (this.socket == null) {
+ return;
+ }
+
+ //鍘嬬缉鏁版嵁鍖�
+ JSONObject data = JSON.parseObject(JSON.toJSONString(httpCommand));
+ data.remove("nodes");
+
+ // 鑾峰彇杈撳嚭娴�
+ OutputStreamWriter writer = new OutputStreamWriter(this.socket.getOutputStream());
+ writer.write(JSON.toJSONString(data) + "\r\n");
+ writer.flush();
+// System.out.println("Sent message to server: " + JSON.toJSONString(httpCommand));
+ }
+
private JSONObject filterBodyData(JSONObject data) {
Object response = data.get("response");
if (response == null) {
--
Gitblit v1.9.1