From e5c9788832373a622555fdc799c402fc0b3f5a01 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 17 六月 2024 08:10:48 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/service/impl/MainServiceImpl.java | 126 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 126 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index feb3c7f..3562bc7 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -693,6 +693,9 @@
// 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触
wrkMast.setWrkSts(14L);
+ if (wrkMast.getStaNo() == 104 && wrkMast.getWrkSts() == 12L) {
+ wrkMast.setWrkSts(16L);
+ }
wrkMast.setCrnEndTime(new Date());
if (wrkMastMapper.updateById(wrkMast) != 0) {
// 澶嶄綅鍫嗗灈鏈�
@@ -1101,6 +1104,9 @@
if (wrkMastMapper.selectWorking(slave.getId()) != null) {
break;
// return;
+ }
+ if(crnStn.getStaNo() == 105) {
+ continue;
}
News.warnNoLog(""+mark+" - 2"+" - 12"+" - 鍛戒护涓嬪彂 : 宸ヤ綔鍙�={},婧愭帓={},婧愬垪={},婧愬眰={},鐩爣鎺�={},鐩爣鍒�={},鐩爣灞�={}",wrkMast.getWrkNo().shortValue()
@@ -2992,4 +2998,124 @@
}
}
+ /**
+ * 鍒ゆ柇106绔欑偣鐘舵�侊紝鏈夌墿+鏈変换鍔″彿锛屽垯鐢熸垚绉诲簱浠诲姟
+ */
+ public synchronized void generateOutbound() {
+ WrkMast wrkMast = wrkMastMapper.selectBy104();
+ if (wrkMast == null) {
+ return;
+ }
+ BasCrnp basCrnp = basCrnpService.selectById(1);
+ if (!basCrnp.getInEnable().equals("Y") && !basCrnp.getOutEnable().equals("Y")) {
+ return;
+ }
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, 1);
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ return;
+ }
+ // 鍫嗗灈鏈烘帶鍒惰繃婊�
+ if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+ return;
+ }
+
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(1) != null) {
+ return;
+ }
+
+ LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
+ // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX(sourceSta.getRow1().shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY(sourceSta.getBay1().shortValue()); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue()); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX((short) 3); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY((short) 3); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
+ crnCommand.setTraySize(sourceSta.getLocType1() == 2); //搴撲綅绫诲瀷
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+ News.error("鍒�106绔欑偣鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
+ Date now = new Date();
+ wrkMast.setWrkSts(12L);
+ wrkMast.setCrnStrTime(now);
+ wrkMast.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ News.error("鍒�106绔欑偣淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ }
+
+ }
+
+ public synchronized void autoMoveLoc() {
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_sts", 16L));
+
+ // 鍒ゆ柇婧愮珯鐐规儏鍐� 鏈変换鍔″彿锛屾湁鐗╋紝鑷姩
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ StaProtocol staProtocol106 = devpThread.getStation().get(106);
+ StaProtocol staProtocol105 = devpThread.getStation().get(105);
+ if (staProtocol106 == null) {
+ return;
+ } else {
+ staProtocol106 = staProtocol106.clone();
+ }
+ if (staProtocol105 == null) {
+ return;
+ } else {
+ staProtocol105 = staProtocol105.clone();
+ }
+
+
+ // 鍒ゆ柇鍑哄簱绔欑偣鎯呭喌
+
+
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭� 骞� 鍒ゆ柇鏄惁鍙叆鍑�
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, 2);
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ return;
+ }
+ BasCrnp basCrnp = basCrnpService.selectById(2);
+ if (!basCrnp.getInEnable().equals("Y") && !basCrnp.getOutEnable().equals("Y")) {
+ return;
+ }
+
+ // 鍫嗗灈鏈烘帶鍒惰繃婊�
+ if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+ return;
+ }
+
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(2) != null) {
+ return;
+ }
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(2); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX((short) 6); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY((short) 3); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX((short) 7); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY((short) 28); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
+ crnCommand.setTraySize(true); //搴撲綅绫诲瀷
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+ News.error("106绉诲簱2鍙峰爢鍨涙満鍛戒护涓嬪彂澶辫触锛屽爢鍨涙満鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ }
+// else {
+// wrkMast.setCrnNo(2);
+// wrkMastMapper.updateById(wrkMast);
+// }
+ News.infoNoLog("106绉诲簱2鍙峰爢鍨涙満鍏ュ嚭搴撲綔涓氫笅鍙戯細搴撲綅绉昏浆瀹屾垚");
+ }
}
--
Gitblit v1.9.1