From e8f60d7055699454dd135ec2293019a44dc9f5f7 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 13 十月 2023 08:12:46 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 124 +++++++++++++++++++++++++++++++++++++---
src/main/webapp/views/console.html | 14 +++-
src/main/java/com/zy/core/MainProcess.java | 2
3 files changed, 125 insertions(+), 15 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 309f246..d516740 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1190,16 +1190,6 @@
return false;
}
- NyShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
- if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
- //灏忚溅杩樺湪杈撻�佺珯鐐�
- //璋冨害灏忚溅閬胯
- boolean result = Utils.searchEmptyGroupToMoveShuttle(Utils.getLev(wrkMast.getSourceLocNo()), wrkMast.getShuttleNo(), shuttleThread);
- if (!result) {
- return false;
- }
- }
-
//鑾峰彇鍑哄簱绔欑偣(鐩爣绔�)
BasDevp basDevp = basDevpService.selectById(wrkMast.getStaNo());
if (basDevp == null) {
@@ -1218,6 +1208,7 @@
if (liftProtocol == null) {
return false;
}
+
if (!liftProtocol.isIdle()) {
return false;
}
@@ -1237,6 +1228,16 @@
return false;//鎵句笉鍒扮珯鐐�
}
Integer startSta = liftStaProtocol.getStaNo();
+
+ NyShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
+ if (shuttleProtocol.getCurrentLocNo().equals(liftStaProtocol.getLocNo())) {
+ //灏忚溅杩樺湪杈撻�佺珯鐐�
+ //璋冨害灏忚溅閬胯
+ boolean result = Utils.searchEmptyGroupToMoveShuttle(Utils.getLev(wrkMast.getSourceLocNo()), wrkMast.getShuttleNo(), shuttleThread);
+ if (!result) {
+ return false;
+ }
+ }
//鑾风洰鏍囩珯婧愮珯瀵瑰簲鐨勮緭閫佺珯鐐�
BasDevp targetBasDevp = basDevpService.selectById(wrkMast.getStaNo());
@@ -2003,6 +2004,40 @@
targetSta = (short) 317;
if (wrkMast.getStaNo() != 303 && wrkMast.getStaNo() != 317) {
+ //鍚慉GV鍙戣捣缁勬墭璇锋眰
+// try {
+// HashMap<String, Object> param = new HashMap<>();
+// param.put("wrkNo", wrkMast.getWrkNo());
+// String response = new HttpHandler.Builder()
+// .setUri(wmsUrl)
+// .setPath("/openAGV")
+// .setJson(JSON.toJSONString(param))
+// .build()
+// .doPost();
+// JSONObject jsonObject = JSON.parseObject(response);
+// Integer code = jsonObject.getInteger("code");
+// if (code.equals(200)) {//AGV缁勬墭鎴愬姛
+// //瑕嗙洊宸ヤ綔妗g洰鏍囩珯
+// wrkMast.setStaNo(targetSta.intValue());
+// wrkMast.setShuttleNo(null);//閲婃斁灏忚溅
+// if (wrkMastMapper.updateById(wrkMast) > 0) {
+// //鍚�300绔欏啓鍏ョ洰鏍囩珯
+// staProtocol = staProtocol.clone();
+// staProtocol.setStaNo(targetSta);//绉诲姩鍒扮洰鏍囩珯
+// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+// try {
+// Thread.sleep(500);
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// continue;
+// }
+// }
+// } catch (Exception e) {
+// e.printStackTrace();
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+// }
+
//瑕嗙洊宸ヤ綔妗g洰鏍囩珯
wrkMast.setStaNo(targetSta.intValue());
wrkMast.setShuttleNo(null);//閲婃斁灏忚溅
@@ -2056,11 +2091,75 @@
if (wrkMast.getInvWh() == null) {
wrkMast.setInvWh("Y");//鏍囪宸茬粡涓嬪彂鏈烘鑷備换鍔�
if (wrkMastMapper.updateById(wrkMast) > 0) {
- RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetls.size(), "317");
+ RobotUtils.sendTask(staProtocol317.getWorkNo().toString(), wrkDetls.size(), "317");
}
}
}
}
+ }
+
+ /**
+ * AGV琛ヨ揣(閫氱煡AGV鍙栬揣)
+ */
+ public void agvRestockInto() {
+ //妫�娴�309鍜�312绔欐槸鍚﹁嚜鍔ㄣ�佹湁鐗�
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol309 = devpThread.getStation().get(309);
+ StaProtocol staProtocol312 = devpThread.getStation().get(312);
+ if (staProtocol309 == null || staProtocol312 == null) {
+ continue;
+ }
+
+ if (staProtocol309.isAutoing() && staProtocol309.isLoading()) {
+ // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 11);//308绔欐潯鐮佸櫒
+ if (barcodeThread == null) {
+ continue;
+ }
+ String barcode = barcodeThread.getBarcode();
+ if(!Cools.isEmpty(barcode)) {
+ //閫氱煡AGV鍙栬揣
+ agvRestockCall("CS-301-001-01@3", barcode);
+ }
+ } else if (staProtocol312.isAutoing() && staProtocol312.isLoading()) {
+ // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, 12);//311绔欐潯鐮佸櫒
+ if (barcodeThread == null) {
+ continue;
+ }
+ String barcode = barcodeThread.getBarcode();
+ if(!Cools.isEmpty(barcode)) {
+ //閫氱煡AGV鍙栬揣
+ agvRestockCall("CS-302-001-01@3", barcode);
+ }
+ }
+ }
+ }
+
+ //閫氱煡AGV鍙栬揣
+ private boolean agvRestockCall(String staNo, String barcode) {
+ try {
+ HashMap<String, Object> param = new HashMap<>();
+ param.put("staNo", staNo);
+ param.put("barcode", barcode);
+ String response = new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath("/callAGV")
+ .setJson(JSON.toJSONString(param))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ Integer code = jsonObject.getInteger("code");
+ if (code.equals(200)) {//鍛煎彨AGV
+ return true;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ }
+ return false;
}
// 300绔欐嫞鏂�
@@ -2991,6 +3090,9 @@
wrkMast.setModiTime(now);
wrkMastMapper.updateById(wrkMast);
+ shuttleProtocol.setShuttleNo((short) 0);//閲婃斁灏忚溅
+ shuttleProtocol.setToken(0);//閲婃斁灏忚溅
+
if (wrkMast.getWrkSts() == 111) {
// 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
if (wrkMastLocMapper.save(wrkMast.getWrkNo()) <= 0) {
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 1af7af5..117f541 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -72,6 +72,8 @@
mainService.storeEmptyPlt();
// AGV琛ヨ揣(鏈烘鑷傛嫞鏂�)
mainService.agvRestockByRobot();
+ // AGV琛ヨ揣(閫氱煡AGV鍙栬揣)
+ mainService.agvRestockInto();
// 300绔欐嫞鏂�
mainService.pick300();
// 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index 37e92a7..f03c349 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -187,7 +187,7 @@
<li><span>鏉$爜鍚嶇О</span><span class="right">鎵爜鏃堕棿</span></li>
</div>
<div id="barcode1" class="table-body">
- <li v-for="(item,index) in codeList" :key="index"><span>{{item.barcode}}</span><span class="right">{{item.time}}</span></li>
+ <li v-for="(item,index) in codeList1" :key="index"><span>{{item.barcode}}</span><span class="right">{{item.time}}</span></li>
</div>
</div>
<div class="tablebox">
@@ -195,7 +195,7 @@
<li><span>鏉$爜鍚嶇О</span><span class="right">鎵爜鏃堕棿</span></li>
</div>
<div id="barcode2" class="table-body">
-
+ <li v-for="(item,index) in codeList2" :key="index"><span>{{item.barcode}}</span><span class="right">{{item.time}}</span></li>
</div>
</div>
</div>
@@ -340,7 +340,8 @@
liftList: [], //鎻愬崌鏈洪泦鍚�
systemStatus: true,//绯荤粺杩愯鐘舵��
consoleInterval: null,//瀹氭椂鍣ㄥ瓨鍌ㄥ彉閲�
- codeList: [],//鏉$爜List
+ codeList1: [],//鏉$爜List
+ codeList2: [],//鏉$爜List
},
created() {
this.init()
@@ -670,7 +671,12 @@
success:function (res) {
if(res.code === 200){
let data = JSON.parse(res.data)
- that.codeList = data
+ if(data.length<=5){
+ that.codeList1 = data
+ } else {
+ tData1 = data.slice(0,5)
+ tData2 = data.splice(5,10)
+ }
}
}
})
--
Gitblit v1.9.1