From 60201c8530488c402b8b44b215b8d48c60d6679a Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期四, 19 六月 2025 19:43:21 +0800
Subject: [PATCH] #改造
---
src/main/java/com/zy/core/enums/RgvStatusType.java | 4 +-
src/main/java/com/zy/core/thread/RgvThread.java | 22 +++++++++++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 27 +------------
src/main/java/com/zy/asrs/entity/BasRgvOpt.java | 15 +++++++
src/main/java/com/zy/core/model/command/RgvCommand.java | 23 +++++++++++
5 files changed, 64 insertions(+), 27 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/BasRgvOpt.java b/src/main/java/com/zy/asrs/entity/BasRgvOpt.java
index 359c686..57cc786 100644
--- a/src/main/java/com/zy/asrs/entity/BasRgvOpt.java
+++ b/src/main/java/com/zy/asrs/entity/BasRgvOpt.java
@@ -158,7 +158,7 @@
this.wrkNo1 = taskNo;
this.rgvNo = rgvNo;
this.sendTime = now;
- this.mode = command.getTaskModeType1().name();
+ this.mode = command.getTaskModeTypeString();
this.sourceRow = rgvPoi;//灏忚溅褰撳墠浣嶇疆
this.sourceSta = command.getSourceStaNo1().intValue();
this.posSta = command.getDestinationStaNo1().intValue();
@@ -179,6 +179,19 @@
this.updateBy = 9999L;
this.memo = "婕父浠诲姟瑙﹀彂";
}
+ public BasRgvOpt(Integer taskNo,int rgvNo,int rgvPoi) {
+ Date now = new Date();
+ this.wrkNo1 = taskNo;
+ this.rgvNo = rgvNo;
+ this.sendTime = now;
+ this.mode = "浠诲姟鍙栨秷";
+ this.sourceRow = rgvPoi;//灏忚溅褰撳墠浣嶇疆
+ this.sourceSta = rgvPoi;
+ this.posSta = 0;
+ this.updateTime = now;
+ this.updateBy = 9999L;
+ this.memo = "浠诲姟鍙栨秷";
+ }
public BasRgvOpt(Integer wrkNo1,Integer wrkNo2,Integer rgvNo,Date sendTime,String mode,Integer sourceRow,Integer sourceBay,Integer sourceLev,Integer sourceSta,Integer posRow,Integer posBay,Integer posLev,Integer posSta,Integer response,Date updateTime,Long updateBy,String memo) {
this.wrkNo1 = wrkNo1;
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 ff462b8..bf37cde 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -516,7 +516,7 @@
log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId());
continue;
}
- if (rgvProtocol.getStatusType() == RgvStatusType.WAITING || rgvProtocol.getStatusType() == RgvStatusType.WAITING101) {
+ if (rgvProtocol.getStatusType() == RgvStatusType.WAITING) {
log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}", rgvProtocol.getRgvNo(), rgvProtocol.getStatusType(), rgvProtocol);
}
// 鍙湁褰揜GV绛夊緟WCS纭銆佽嚜鍔�
@@ -577,15 +577,6 @@
}
} catch (Exception e){}
wrkMastService.updateById(wrkMast);
- } else if (rgvProtocol.getStatusType() == RgvStatusType.WAITING101
- && rgvProtocol.getModeType() == RgvModeType.AUTO
- && rgvProtocol.getTaskNo1() != 0
- ){
- boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo());
- if (!rgvComplete) {
- log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�", rgvProtocol.getRgvNo());
- break;
- }
}
} catch (Exception e) {
log.error("灏忚溅澶嶄綅绾跨▼鎶ラ敊锛�" + e);
@@ -610,20 +601,9 @@
) {
RgvCommand rgvCommand = new RgvCommand();
- rgvCommand.setRgvNo(rgvProtocol.getRgvNo());
- rgvCommand.setAckFinish1((short) 0); // 宸ヤ綅1浠诲姟瀹屾垚纭浣�
- rgvCommand.setTaskNo1(rgvProtocol.getTaskNo1());
- rgvCommand.setTaskMode1(RgvTaskModeType.CANCEL); // 宸ヤ綅1浠诲姟妯″紡: 鍙栨秷
- rgvCommand.setSourceStaNo1((short)-1); //宸ヤ綅1璧风偣
- rgvCommand.setDestinationStaNo1((short)-1); //宸ヤ綅1鐩爣绔欑偣
- rgvCommand.setCommand((short) 1); //宸ヤ綅1浠诲姟纭
- rgvCommand.setRgvSome((short) 1);
- if (!MessageQueue.offer(SlaveType.Rgv, rgvProtocol.getRgvNo(), new Task(4, rgvCommand))) {
+ if (!MessageQueue.offer(SlaveType.Rgv, rgvProtocol.getRgvNo(), new Task(6, rgvCommand))) {
//
log.error("RGV鍙栨秷鍛戒护涓嬪彂澶辫触锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvProtocol.getRgvNo(), JSON.toJSON(rgvCommand));
-// wrkMast.setLogErrTime(new Date());
-// wrkMast.setLogErrMemo("RGV鍙栨秷鍛戒护涓嬪彂澶辫触锛孯GV鍙�={"+rgvProtocol.getRgvNo()+"}===>璺宠繃");
-// wrkMastService.updateById(wrkMast);
continue;
}
log.info("RGV鍙栨秷鍛戒护涓嬪彂鎴愬姛锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvProtocol.getRgvNo(), JSON.toJSON(rgvCommand));
@@ -636,10 +616,9 @@
Date now = new Date();
wrkMast.setWrkSts(1L);
- wrkMast.setRgvNo(null);
+ wrkMast.setRgvNo(0);
wrkMast.setAppeTime(now);
wrkMast.setLogErrTime(now);
- wrkMast.setRgvNo(null);
wrkMast.setLogErrMemo("RGV鐢宠鍙栨秷浠诲姟锛孯GV鍙�={"+rgvProtocol.getRgvNo()+"}锛屽彇娑堟椂闂达細"+now);
diff --git a/src/main/java/com/zy/core/enums/RgvStatusType.java b/src/main/java/com/zy/core/enums/RgvStatusType.java
index a2413db..1e306f5 100644
--- a/src/main/java/com/zy/core/enums/RgvStatusType.java
+++ b/src/main/java/com/zy/core/enums/RgvStatusType.java
@@ -13,10 +13,10 @@
Outbound_operation_in_progress(7, "鍑虹珯杩愯涓�","#21618C"),
Outbound_completed(8, "鍑虹珯瀹屾垚","#85C1E9"),
ROAM(11, "婕父","#95A5A6"),
- CANCEL(12, "绛夊緟鍙栨秷","#95A5A6"),
+ CANCEL(101, "绛夊緟鍙栨秷","#95A5A6"),
WALK(20, "璧拌","#F1C40F"),
WAITING(100, "浠诲姟鎵ц瀹屾垚绛夊緟纭","#AED6F1"),
- WAITING101(101, "浠诲姟鎵ц瀹屾垚绛夊緟纭","#AED6F1"),
+// WAITING101(101, "浠诲姟鎵ц瀹屾垚绛夊緟纭","#AED6F1"),
SOS110(110, "鎶ヨ","#E74C3C"),
SOS(999, "鏈煡","#FF0000")
;
diff --git a/src/main/java/com/zy/core/model/command/RgvCommand.java b/src/main/java/com/zy/core/model/command/RgvCommand.java
index d8dab77..43cbbca 100644
--- a/src/main/java/com/zy/core/model/command/RgvCommand.java
+++ b/src/main/java/com/zy/core/model/command/RgvCommand.java
@@ -107,6 +107,29 @@
this.taskMode2 = RgvTaskModeType.get(type2).id.shortValue();
}
+ public String getTaskModeTypeString() {
+ switch (taskModeType1){
+ case PUT:
+ return "鏀捐揣";
+ case NONE:
+ return "瀹屾垚";
+ case FETCH:
+ return "鍙栬揣";
+ case FETCH_PUT:
+ return "鍙栨斁璐�";
+ case X_MOVE:
+ return "绔欎綅绉昏浆";
+ case FETCH_5:
+ return "婊″彇";
+ case PUT_6:
+ return "婊℃斁";
+ case CANCEL:
+ return "娓呴敊";
+ default:
+ return "鏈煡";
+ }
+ }
+
public static void main(String[] args) {
Date date = new Date();
Calendar cal = Calendar.getInstance();
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 3a0abbd..df76d8e 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -139,6 +139,10 @@
Long aLong = (Long) task.getData();
rgvOpt(aLong);
write5(aLong);
+ //宸ヤ綅1鍐欏叆鍙栨秷鏁版嵁
+ case 6:
+ rgvOpt();
+ write6();
break;
default:
break;
@@ -374,6 +378,15 @@
log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒");
}
}
+ private void rgvOpt() {
+ try{
+ BasRgvOptService basRgvOptService = SpringUtils.getBean(BasRgvOptService.class);
+ BasRgvOpt basRgvOpt = new BasRgvOpt(rgvProtocol.getTaskNo1().intValue(), rgvProtocol.getRgvNo(), rgvProtocol.getRgvPosI());
+ basRgvOptService.insert(basRgvOpt);
+ }catch (Exception e){
+ log.error("RGV鍐欏叆鍛戒护淇濆瓨澶辫触锛侊紒");
+ }
+ }
private boolean write(RgvCommand command) throws InterruptedException {
if (null == command) {
log.error("RGV鍐欏叆鍛戒护涓虹┖");
@@ -525,6 +538,15 @@
}
}
+ private void write6(){
+ try {
+ siemensNet.Write("DB24.11.1", true);
+
+ } catch (Exception ignore) {
+ log.error("鍐欏叆RGV plc宸ヤ綅1婕父鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+ }
+ }
+
private boolean write3(RgvCommand command) throws InterruptedException {
if (null == command) {
log.error("RGV鍐欏叆鍛戒护涓虹┖");
--
Gitblit v1.9.1