From 84634ebce23d72162cb8fd1b6dd02cbcdd52db96 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期五, 14 十一月 2025 12:02:01 +0800
Subject: [PATCH] 空托自动出库调整
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 78 ++++++++++++++++++++-------------------
1 files changed, 40 insertions(+), 38 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 84a094a..8ae7b7b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -153,7 +153,7 @@
errMsg = "鍙宠秴闄�";
back = true;
}
- if (!back && staProtocol.getWeight() > 1000) {
+ if (!back && staProtocol.getWeight() > 15000) {
errMsg = "瓒呴噸鎴栨湭璇诲彇";
back = true;
}
@@ -183,13 +183,14 @@
if (!staProtocol.isPakMk()) {
continue;
}
- staProtocol.setWorkNo(wrkNo);
+ staProtocol.setWorkNo(wrkNo);//閫�鍥� 宸ヤ綔鍙�:10000
News.info("{}PLC鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg, wrkNo);
- wrkNo++;
+// wrkNo++;
staProtocol.setStaNo(inSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
log.error("杈撻�佺嚎涓嬪彂1锛�" + wrkNo + "," + inSta.getBackSta());
+ break;//瓒呴檺鎵樼洏閫�鍥炰笉鐢熸垚宸ヤ綔妗�
}
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
@@ -204,7 +205,7 @@
staProtocol.setWorkNo(wrkNo);
News.info("{}barcode鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg, wrkNo);
- wrkNo++;
+// wrkNo++;
staProtocol.setStaNo(inSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -223,6 +224,13 @@
// }
News.error(barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,璇锋煡鐪媁CS杈撻�佺嚎鐣岄潰,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑浠诲姟,宸ヤ綔鍙�=" + wrkMast.getWrkNo()));
+ staProtocol.setWorkNo(wrkMast.getWrkNo());
+ staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
continue;
// barcodeThread.setBarcode("");
// staProtocol.setWorkNo(wrkMast.getWrkNo());
@@ -311,7 +319,7 @@
continue;
}
staProtocol.setWorkNo(wrkNo);
- wrkNo++;
+// wrkNo++;
staProtocol.setStaNo(inSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -323,7 +331,7 @@
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
}
// }
-// News.error(methodName + ":璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+ News.error(methodName + ":璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
@@ -337,7 +345,7 @@
}
}
-// News.infoNoLog(""+mark+" - 0"+" - 缁勬墭 ===銆嬫墽琛屽畬鎴�");
+ News.infoNoLog(""+mark+" - 0"+" - 缁勬墭 ===銆嬫墽琛屽畬鎴�");
}
@@ -468,7 +476,7 @@
// 閫�鍥�
// if (back) {
// log.info("errmsg: " + errMsg);
-//// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
+// News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
// MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(5, errMsg));
// if (!staProtocol.isLoading()) {
// continue;
@@ -503,7 +511,7 @@
//
//
// if (!Cools.isEmpty(barcode)) {
-//// News.info(""+mark+" - 1"+" - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
+// News.info(""+mark+" - 1"+" - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
// if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
// continue;
// }
@@ -520,7 +528,7 @@
staProtocol = staProtocol.clone();
}
-// // 鍏ュ嚭搴撴ā寮忓垽鏂�
+ // 鍏ュ嚭搴撴ā寮忓垽鏂�
// if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) {
@@ -1198,14 +1206,18 @@
} else {
staProtocol = staProtocol.clone();
}
- StaProtocol staProtocol1 = devpThread.getStation().get(crnStn.getStaNo() - 1);
+ StaProtocol staProtocol1 = staProtocol.getSiteId()==101?devpThread.getStation().get(crnStn.getStaNo() + 1):devpThread.getStation().get(crnStn.getStaNo() - 1);
+// StaProtocol staProtocol1 = devpThread.getStation().get(crnStn.getStaNo() - 1);
+// StaProtocol staProtocol1 = devpThread.getStation().get(crnStn.getStaNo() + 1);
if (staProtocol1 == null) {
News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol);
break;
} else {
staProtocol1 = staProtocol1.clone();
}
- StaProtocol staProtocol2 = devpThread.getStation().get(crnStn.getStaNo() - 2);
+ StaProtocol staProtocol2 = staProtocol.getSiteId()==101?devpThread.getStation().get(crnStn.getStaNo() + 2):devpThread.getStation().get(crnStn.getStaNo());
+// StaProtocol staProtocol2 = devpThread.getStation().get(crnStn.getStaNo() - 2);
+// StaProtocol staProtocol2 = devpThread.getStation().get(crnStn.getStaNo() + 2);
if (staProtocol2 == null) {
News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol);
break;
@@ -1213,7 +1225,7 @@
staProtocol2 = staProtocol2.clone();
}
//鍑哄叆鍙h緭閫佺嚎鍙厑璁稿瓨鍦ㄤ竴涓墭鐩�
- if(staProtocol.isLoading() || staProtocol1.isLoading() || staProtocol2.isLoading() ) {
+ if(staProtocol.isLoading() || staProtocol1.isLoading() || staProtocol2.isLoading() || staProtocol.getWorkNo() != 0 || staProtocol1.getWorkNo() != 0 || staProtocol2.getWorkNo() != 0) {
break;
}
@@ -1544,7 +1556,10 @@
// 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔锛屼换鍔″彿:" + crnProtocol.getTaskNo());
-
+ if (crnProtocol.getTaskNo() == 9999){
+ crnThread.setResetFlag(true);
+ continue;
+ }
// 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue());
if (wrkMast == null) {
@@ -1554,9 +1569,7 @@
// 鍏ュ簱 + 搴撲綅杞Щ ==> 4.鍏ュ簱瀹屾垚
if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
wrkMast.setWrkSts(4L);
- } else if (wrkMast.getIoType()==120 && wrkMast.getWrkSts()==2){
- wrkMast.setWrkSts(5L);
- }else {
+ } else {
continue;
}
Date now = new Date();
@@ -1773,7 +1786,7 @@
LedCommand ledCommand = new LedCommand();
ledCommand.setWorkNo(dto.getWorkNo());
ledCommand.setIoType(1);
- ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
+ ledCommand.setTitle("绌烘澘鍏ュ簱");
ledCommand.setLocNo(dto.getLocNo());
ledCommand.setStaNo(dto.getStaNo());
commands.add(ledCommand);
@@ -1810,7 +1823,7 @@
}
}
}
-// News.infoNoLog(""+mark+" - 0"+" - 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐ф墽琛屽畬鎴�");
+ News.infoNoLog(""+mark+" - 0"+" - 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐ф墽琛屽畬鎴�");
}
/**
@@ -2410,10 +2423,14 @@
public synchronized void autoEmptyOut() {
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ StaProtocol staProtocol1 = devpThread.getStation().get(103);
+ if (staProtocol1.isAutoing()&&staProtocol1.isLoading()){
+ return;
+ }
List<Integer> list = new ArrayList<>();
- list.add(101);
+ list.add(103);//绌烘墭鐩樺嚭搴撶洰鏍囩珯闆嗗悎
Map<Integer, Integer> map = new HashMap<>();
- map.put(101, 102);
+ map.put(103, 103);
for (Integer site : list) {
WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("sta_no", map.get(site)));
if (!Cools.isEmpty(wrkMast)) {
@@ -3244,21 +3261,6 @@
CrnSlave.CrnStn crnStn = crn.getCrnInStn().get(0);
News.info("鍫嗗灈鏈烘棤浠诲姟鑷姩鍥炲叆搴撳彛寰呮満==>>" + crnProtocol.getCrnNo() + "鍙峰爢鍨涙満");
- //鐢熸垚鍥炲師鐐瑰伐浣滄。 浣欏閿愰簰
- WrkMast wrkMast=new WrkMast();
- wrkMast.setWrkNo(9999);//宸ヤ綔鍙�
- wrkMast.setIoTime(new Date());
- wrkMast.setWrkSts(2L);//宸ヤ綔鐘舵��
- wrkMast.setIoType(120);//浠诲姟绫诲瀷 120.鍫嗗灈鏈哄洖鍘熺偣
- wrkMast.setIoPri(13.0);//浼樺厛绾�
- wrkMast.setCrnNo(1);//鍫嗗灈鏈哄彿
- wrkMast.setSourceStaNo(0);//婧愮珯
- wrkMast.setStaNo(0);//鐩爣绔�
- wrkMast.setSourceLocNo("");//婧愬簱浣�
- wrkMast.setLocNo("");//鐩爣搴撲綅
- if (wrkMastMapper.insert(wrkMast)==0){
- throw new CoolException("淇濆瓨宸ヤ綔妗f暟鎹姸鎬佸け璐�");
- }
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
// if (crnProtocol.getCrnNo()==3 || crnProtocol.getCrnNo()==4){
@@ -3278,14 +3280,14 @@
crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
// crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡: 鍫嗗灈鏈虹Щ鍔�
- crnCommand.setTaskMode(CrnTaskModeType.X_MOVE);//浣欏閿愰簰鍥炲師鐐逛换鍔$被鍨�
+ crnCommand.setTaskMode(CrnTaskModeType.X_MOVE);//浣欏閿愰簰鍥炲師鐐逛换鍔℃ā寮�: 绔欎綅杞Щ
crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓
crnCommand.setSourcePosY((short) 1); // 婧愬簱浣嶅垪
crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
crnCommand.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞�
- crnCommand.setCommand((short) 1);
+ crnCommand.setCommand((short) 1);//浠诲姟纭浣�
// }
if (!MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, crnCommand))) {
News.error("鍫嗗灈鏈虹Щ鍔ㄥ懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnProtocol.getCrnNo(), JSON.toJSON(crnCommand));
--
Gitblit v1.9.1