From e31d11ff9f7ca2fd32e06494ad1c325a46624983 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期日, 18 八月 2024 09:39:30 +0800
Subject: [PATCH] 空托回流
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 120 +++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 90 insertions(+), 30 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index bb9c5bc..4a19196 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1397,18 +1397,19 @@
}
}
- // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ // 鍏ュ簱鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
+ //crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
+ //crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
+ //crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
crnCommand.setDestinationPosX(locMast.getRow1().shortValue()); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞�
+ crnCommand.setSourceStaNo(crnStn.getPlatNo().shortValue()); // 婧愬簱浣嶆帓
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
} else {
@@ -1595,13 +1596,6 @@
log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType());
continue;
}
- //閫�搴撴ā寮忚烦杩�118銆�119鍑哄簱浠诲姟
- if (wrkMast.getStaNo()==118 || wrkMast.getStaNo()==119){
- RgvOneSign rgvOneSign = rgvOneSignMapper.selectOneSign();
- if (Cools.isEmpty(rgvOneSign) || rgvOneSign.getRgvOneSign()==1){
- continue;
- }
- }
// 鑾峰彇婧愬簱浣嶄俊鎭�
LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
if (!sourceSta.getLocSts().equals("R") && !sourceSta.getLocSts().equals("P")) {
@@ -1609,20 +1603,20 @@
continue;
}
// 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
- StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
- if (staProtocol == null) {
- break;
-// continue;
- } else {
- staProtocol = staProtocol.clone();
- }
+ //SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+ //StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+// if (staProtocol == null) {
+// break;
+//// continue;
+// } else {
+// staProtocol = staProtocol.clone();
+// }
// // 鍏ュ嚭搴撴ā寮忓垽鏂�
// if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { continue; }
- if (wrkMast.getStaNo() == 204 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
- continue;
- }
+// if (wrkMast.getStaNo() == 204 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
+// continue;
+// }
// 鏌ヨ绔欑偣璇︾粏淇℃伅
BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
@@ -1632,8 +1626,9 @@
// continue;
}
// 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
- if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
- && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
+ //if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
+ // && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
+ if (staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")) {
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
// 鍫嗗灈鏈烘帶鍒惰繃婊�
@@ -1692,7 +1687,7 @@
// return;
}
- // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
+ // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔� 鍑哄簱鍛戒护
CrnCommand crnCommand = new CrnCommand();
crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
@@ -1701,9 +1696,10 @@
crnCommand.setSourcePosX(sourceSta.getRow1().shortValue()); // 婧愬簱浣嶆帓
crnCommand.setSourcePosY(sourceSta.getBay1().shortValue()); // 婧愬簱浣嶅垪
crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue()); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(crnStn.getRow().shortValue()); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞�
+// crnCommand.setDestinationPosX(crnStn.getRow().shortValue()); // 鐩爣搴撲綅鎺�
+// crnCommand.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒�
+// crnCommand.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞�
+ crnCommand.setDestinationStaNo(crnStn.getPlatNo().shortValue());
if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
} else {
@@ -1729,8 +1725,8 @@
*/
private boolean crnEnabled(WrkMast wrkMast) {
- String url = "127.0.0.1";
- String path = "/ghwcs/ca";
+ String url = "http://192.168.14.249:8008";
+ String path = "/api/Task/DockStatus";
// 鑾峰彇璇锋眰澶�
Map<String,Object> headers = new HashMap<>();
@@ -2024,6 +2020,9 @@
// 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚
if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
wrkMast.setWrkSts(4L);
+ if (wrkMast.getIoType() == 3) {
+ wrkMast.setWrkSts(13L);
+ }
} else {
continue;
}
@@ -4617,4 +4616,65 @@
}
}
+ /**
+ * 浜屾ゼ绌烘墭鍥炴祦鍒颁竴妤硷紝3.绔欏埌绔欎换鍔�
+ */
+ public synchronized void emptyTrayReflux() {
+ for (CrnSlave crn : slaveProperties.getCrn()) {
+ List<WrkMast> wrkMastList = wrkMastMapper.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 2)
+ .eq("crn_no",crn.getId()).eq("io_type", 3));
+ for (WrkMast wrkMast : wrkMastList) {
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ continue;
+ }
+ if (crnProtocol.getStatusType() == CrnStatusType.IDLE
+ && crnProtocol.getTaskNo() == 0
+ && crnProtocol.getModeType() == CrnModeType.AUTO
+ && crnProtocol.getLoaded() == 0
+ && crnProtocol.getForkPos() == 0) {
+
+ CrnSlave.CrnStn crnStn = null;
+ for (CrnSlave.CrnStn crnStn1 : crn.getCrnInStn()){
+ if(crnStn1.getStaNo().equals(wrkMast.getStaNo())){
+ crnStn = crnStn1;
+ break;
+ }
+ }
+ if(Cools.isEmpty(crnStn)){
+ continue;
+ }
+
+ // 鍏ュ簱鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ //crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
+ //crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪
+ //crnCommand.setSourcePosZ(crnStn.getLev().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX(crnStn.getRow().shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY(crnStn.getBay().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ(crnStn.getLev().shortValue()); // 鐩爣搴撲綅灞�
+ crnCommand.setSourceStaNo(crnStn.getPlatNo().shortValue()); // 婧愬簱浣嶆帓
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓�
+ Date now = new Date();
+ wrkMast.setWrkSts(3L);
+ wrkMast.setCrnStrTime(now);
+ wrkMast.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ }
+ break;
+ }
+
+ }
+ }
+ }
}
--
Gitblit v1.9.1