From 466cc943089116f996db0c2f249878a74fb1cc10 Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期六, 28 三月 2026 16:02:15 +0800
Subject: [PATCH] 最后可运行版本
---
src/main/java/com/zy/asrs/entity/WaitPakin.java | 34 -----
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 68 ++++------
src/main/java/com/zy/asrs/enums/RcsRetMethodEnum.java | 2
src/main/java/com/zy/common/utils/HikUtils.java | 24 +++
src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java | 150 +++++++++++++-----------
src/main/java/com/zy/asrs/entity/AgvTask.java | 7 +
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 4
src/main/resources/application.yml | 27 ++--
8 files changed, 158 insertions(+), 158 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/AgvTask.java b/src/main/java/com/zy/asrs/entity/AgvTask.java
index 26dbb36..5a30f73 100644
--- a/src/main/java/com/zy/asrs/entity/AgvTask.java
+++ b/src/main/java/com/zy/asrs/entity/AgvTask.java
@@ -4,7 +4,6 @@
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.service.BasCrnpService;
@@ -345,6 +344,12 @@
@TableField("task_no")
private String taskNo;
+ /**
+ * PDA涓嬪彂浠诲姟
+ */
+ @TableField("is_PDA")
+ private String isPDA;
+
public String getYmd$(){
if (Cools.isEmpty(this.ymd)){
return "";
diff --git a/src/main/java/com/zy/asrs/entity/WaitPakin.java b/src/main/java/com/zy/asrs/entity/WaitPakin.java
index a18b5bf..701cf6b 100644
--- a/src/main/java/com/zy/asrs/entity/WaitPakin.java
+++ b/src/main/java/com/zy/asrs/entity/WaitPakin.java
@@ -32,32 +32,9 @@
/**
* 浠撳簱鍙�
*/
- @ApiModelProperty(value= "瑙勬牸")
- private String lgnum;
-
- /**
- * 浠撳簱鍙�
- */
- @ApiModelProperty(value= "鍨嬪彿")
- private String type;
-
- /**
- * 浠撳簱鍙�
- */
@ApiModelProperty(value= "鏉$爜")
private String color;
- /**
- * 浠撳簱鍙�
- */
- @ApiModelProperty(value= "鎵瑰彿")
- private String supplier;
-
- /**
- * 浠撳簱鍙�
- */
- @ApiModelProperty(value= "鍗曟嵁缂栧彿")
- private String warehouse;
/**
* 浠撳簱鍙�
@@ -72,22 +49,11 @@
private Double anfme;
/**
- * 鍗曚綅
- */
- @ApiModelProperty(value= "鍗曚綅")
- private String altme;
-
- /**
* 鎵樼洏鏉$爜
*/
@ApiModelProperty(value= "鎵樼洏鏉$爜")
private String zpallet;
- /**
- * 鐢ㄦ埛ID
- */
- @ApiModelProperty(value= "瀹㈡埛鍚嶇О")
- private String bname;
@ApiModelProperty(value= "搴撲綅鍙�")
@TableField("loc_no")
diff --git a/src/main/java/com/zy/asrs/enums/RcsRetMethodEnum.java b/src/main/java/com/zy/asrs/enums/RcsRetMethodEnum.java
index 609a395..007c8d6 100644
--- a/src/main/java/com/zy/asrs/enums/RcsRetMethodEnum.java
+++ b/src/main/java/com/zy/asrs/enums/RcsRetMethodEnum.java
@@ -10,7 +10,7 @@
APPLY_IN_OFF_STATION("applyInOffStation", "鍙栬揣绂荤珯璇锋眰"),
APPLY_OFF_STATION("applyOutOffStation", "鏀捐揣绂荤珯璇锋眰"),
ARRIVE_ON_STATION("arriveOnStation", "鍒扮珯瀹屾垚"),
- ARRIVE_PUT_STATION("arrivePutStation", "鏀捐揣鍒扮珯瀹屾垚"),
+ /*ARRIVE_PUT_STATION("arrivePutStation", "鏀捐揣鍒扮珯瀹屾垚"),*/
ARRIVE_OFF_STATION("arriveOffStation", "绂荤珯瀹屾垚"),
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 c3e5bc2..6254a79 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -172,8 +172,8 @@
&& staProtocol.isInEnable()
&& !staProtocol.isEmptyMk()
&& staProtocol.getWorkNo() > 9990
- && staProtocol.getWorkNo() <9998
- && (staProtocol.isEmptyOutType() || staProtocol.getSiteId() == 301 || staProtocol.getSiteId() == 304)
+ && staProtocol.getWorkNo() < 9998
+ && (staProtocol.getSiteId() == 307 || staProtocol.getSiteId() == 301 || staProtocol.getSiteId() == 304)
&& staProtocol.isPakMk()) {
News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
Short wrkNo = 9981;
@@ -215,12 +215,6 @@
String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯";
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
}
- log.error("杈撻�佺嚎寮傚父缁勬墭閫�鍥�={}", errMsg);
- staProtocol.setWorkNo(wrkNo);
-
- staProtocol.setStaNo(bark);
-// devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
continue;
}
} else {
@@ -235,16 +229,6 @@
String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯";
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
}
- log.error("杈撻�佺嚎寮傚父缁勬墭閫�鍥�={}", errMsg);
- staProtocol.setWorkNo(wrkNo);
-
- staProtocol.setStaNo(bark);
-// devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- continue;
- }
- WaitPakin waitPakin = waitPakinMapper.selectByBarcode(barcode);
- if (waitPakin == null){
continue;
}
// 鍒ゆ柇閲嶅宸ヤ綔妗�
@@ -291,7 +275,17 @@
SearchLocParam param = new SearchLocParam();
param.setBarcode(barcode);
- param.setIoType(1);
+
+ WaitPakin waitPakin = new WaitPakin();
+ List<WaitPakin> waitPakinList = waitPakinMapper.selectList(new EntityWrapper<WaitPakin>()
+ .eq("zpallet", param.getBarcode())
+ );
+ if (waitPakinList.isEmpty()) {
+ param.setIoType(10);
+ } else {
+ param.setIoType(1);
+ }
+
param.setSourceStaNo(inSta.getStaNo());
param.setLocType1(locTypeDto.getLocType1());
String response = new HttpHandler.Builder()
@@ -345,25 +339,19 @@
// }
} else {
News.error("" + mark + " - 5" + " - 璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
-// staProtocol.setWorkNo((short)9992);
-// staProtocol.setStaNo(inSta.getBackSta().shortValue());
-// devpThread.setPakMk(staProtocol.getSiteId(), false);
-// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-// if (!result) {
-// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
-// }
+ staProtocol.setWorkNo((short)9992);
+ staProtocol.setStaNo(inSta.getBackSta().shortValue());
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
// led 寮傚父鏄剧ず
if (ledThread != null) {
String errorMsg = jsonObject.getString("msg");
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
}
- log.error("杈撻�佺嚎寮傚父缁勬墭閫�鍥�={}", errMsg);
- staProtocol.setWorkNo(wrkNo);
-
- staProtocol.setStaNo(bark);
-// devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
}
} catch (Exception e) {
@@ -1140,11 +1128,11 @@
} else if (wrkMast.getStaNo() == 402) {
ip = "172.26.4.232";
} else if (wrkMast.getStaNo() == 307) {
- ip = "172.26.1.231";
- } else if (wrkMast.getStaNo() == 303) {
- ip = "172.26.1.232";
+ ip = "172.26.1.182";
+ } else if (wrkMast.getStaNo() == 301) {
+ ip = "172.26.1.180";
} else if (wrkMast.getStaNo() == 304) {
- ip = "172.26.1.233";
+ ip = "172.26.1.181";
}
SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss");
String newName = sf.format(new Date()) + "_" + locMast.getLocNo();
@@ -1291,7 +1279,7 @@
if (staProtocol.isEmptyOutType() || staProtocol.getSiteId() == 301 || staProtocol.getSiteId() == 304) {
boo1 = true;
}
- if (((staProtocol.getSiteId() == 301 || staProtocol.getSiteId() == 304) && staProtocol.isOutEnable()) || staProtocol.getSiteId()==307) {
+ if (((staProtocol.getSiteId() == 301 || staProtocol.getSiteId() == 304) && staProtocol.isOutEnable()) || staProtocol.getSiteId() == 307) {
boo2 = true;
}
@@ -1311,7 +1299,7 @@
break;
}
- // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
+ // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝0娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) {
String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo());
LocMast shallowLoc = locMastService.selectById(shallowLocNo);
@@ -1398,7 +1386,7 @@
wrkMast.setModiTime(now);
wrkMastMapper.updateById(wrkMast);
}
- } else if (staProtocol.getSiteId() == 304 && staProtocol.isAutoing() && staProtocol.isLoading() && !staProtocol.isOutEnable()){
+ } else if (staProtocol.getSiteId() == 304 && staProtocol.isAutoing() && staProtocol.isLoading() && !staProtocol.isOutEnable()) {
StaProtocol staProtocol1 = devpThread.getStation().get(301);
if (staProtocol1 == null) {
break;
@@ -2188,7 +2176,7 @@
// ledCommand.setTitle("骞舵澘鍏ュ簱");
// break;
default:
- News.error("" + mark + " - 1" + " - 浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType());
+// News.error("" + mark + " - 1" + " - 浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType());
break;
}
ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
diff --git a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
index 2cb7158..c3c0439 100644
--- a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
@@ -1,6 +1,7 @@
package com.zy.asrs.service.impl;
import com.alibaba.excel.util.StringUtils;
+import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
@@ -11,6 +12,7 @@
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
+import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.thread.SiemensDevpThread;
import lombok.extern.slf4j.Slf4j;
@@ -68,7 +70,12 @@
String slotCategory = values.getString("slotCategory");
String slotCode = values.getString("slotCode");
EntityWrapper<AgvTask> wrapper = new EntityWrapper<>();
- wrapper.eq("task_no", rcsReporterTask.getRobotTaskCode().substring(0, rcsReporterTask.getRobotTaskCode().length() - 2));
+ // 淇敼鍚庣殑閫昏緫锛氭湁"-"鍒欏幓鎺夋渶鍚庝竴涓�"-"鍙婂悗闈㈠唴瀹癸紝娌℃湁鍒欎繚鎸佸師鏍�
+ String taskNo = rcsReporterTask.getRobotTaskCode();
+ if (taskNo.contains("-")) {
+ taskNo = taskNo.substring(0, taskNo.lastIndexOf("-"));
+ }
+ wrapper.eq("task_no", taskNo);
AgvTask task = agvTaskService.selectOne(wrapper);
if (!Cools.isEmpty(task)) {
try {
@@ -100,7 +107,7 @@
rcsReturn.setData(data);
} else {
//鍑哄彂PLC绔欑偣鐨勬壂鐮佸櫒鎵爜
- boolean result = MessageQueue.offer(SlaveType.Devp, 1, new com.zy.core.model.Task(3, staProtocol));
+ boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(3, staProtocol));
if (result) {
log.info("鍏ュ簱绔欑偣={}瑙﹀彂鎵爜鎴愬姛", staProtocol.getSiteId());
// 杩斿洖RCS
@@ -134,7 +141,6 @@
transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
transParent.setStationId(task.getStaNo());
- transParent.setStartStation(task.getSourceStaNo());
transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
//08-1鏄┖鎵樼洏杞簭浠诲姟
//08-2鏄墿鏂欒浆搴忎换鍔�
@@ -169,7 +175,26 @@
//鏀捐揣瀹屾垚 --銆媋gv宸茬粡绂诲紑
case TASK_END: {
- if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) {
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
+ if (task.getStaNo().equals("Q-E1")){
+ // 鏇存柊浠诲姟鐘舵�佺瓑鍐呴儴閫昏緫
+ task.setWrkSts(304L); // 301 浠诲姟涓嬪彂銆�302 浠诲姟鎵ц銆�303 浠诲姟涓柇銆�304 浠诲姟缁撴潫
+ task.setModiTime(new Date());
+ agvTaskService.updateById(task);
+ // 杩斿洖RCS
+ rcsReturn.setCode("SUCCESS");
+ rcsReturn.setMessage("");
+
+ JSONObject data = new JSONObject();
+ data.put("robotTaskCode", robotTaskCode);
+ rcsReturn.setData(data);
+ }
+
+ else if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) {
Integer sourceStaNo = Integer.valueOf(task.getStaNo());
SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
@@ -190,8 +215,8 @@
if (boo) {
staProtocol.setWorkNo(wrkNo);//绌烘枡鏋跺埌浣嶄俊鍙风偣
staProtocol.setStaNo(Short.valueOf("0"));
- boolean result = MessageQueue.offer(SlaveType.Devp, 1, new com.zy.core.model.Task(2, staProtocol));
- log.info("AGV鏀捐揣瀹屾垚锛岀粰绔欑偣鍐�9991宸ヤ綔鍙�,涓嬪彂浠诲姟:{},绔欑偣:{},agv浠诲姟鍙�:{}", result, task.getStaNo(), task.getTaskNo());
+ boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ log.info("AGV鏀捐揣瀹屾垚锛岀粰绔欑偣鍐�9997宸ヤ綔鍙�,涓嬪彂浠诲姟:{},绔欑偣:{},agv浠诲姟鍙�:{}", result, task.getStaNo(), task.getTaskNo());
if (result) {
// 鏇存柊浠诲姟鐘舵�佺瓑鍐呴儴閫昏緫
task.setWrkSts(304L); // 301 浠诲姟涓嬪彂銆�302 浠诲姟鎵ц銆�303 浠诲姟涓柇銆�304 浠诲姟缁撴潫
@@ -200,6 +225,7 @@
// 杩斿洖RCS
rcsReturn.setCode("SUCCESS");
rcsReturn.setMessage("");
+
JSONObject data = new JSONObject();
data.put("robotTaskCode", robotTaskCode);
rcsReturn.setData(data);
@@ -224,7 +250,6 @@
transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
transParent.setStationId(task.getStaNo());
- transParent.setStartStation(task.getSourceStaNo());
transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
//08-1鏄┖鎵樼洏杞簭浠诲姟
//08-2鏄墿鏂欒浆搴忎换鍔�
@@ -299,8 +324,7 @@
TransParent transParent = new TransParent();
transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
- transParent.setStationId(task.getStaNo());
- transParent.setStartStation(task.getSourceStaNo());
+ transParent.setStationId(task.getSourceStaNo());
transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
//08-1鏄┖鎵樼洏杞簭浠诲姟
//08-2鏄墿鏂欒浆搴忎换鍔�
@@ -341,9 +365,11 @@
if (staProtocol != null && !staProtocol.isLoading() && !staProtocol.isEmptyOutType()) {
staProtocol.setWorkNo((short) 0);
staProtocol.setStaNo((short) 0);
- boolean result = MessageQueue.offer(SlaveType.Devp, 1, new com.zy.core.model.Task(2, staProtocol));
+ boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
log.info("AGV鍙栬揣瀹屾垚锛岀粰绔欑偣鍐�0宸ヤ綔鍙�,涓嬪彂浠诲姟:{},绔欑偣:{},agv浠诲姟鍙�:{}", result, task.getStaNo(), task.getTaskNo());
if (result) {
+ task.setWrkSts(303L);
+ agvTaskService.updateById(task);
// 杩斿洖RCS
rcsReturn.setCode("SUCCESS");
rcsReturn.setMessage("");
@@ -358,15 +384,12 @@
data.put("robotTaskCode", robotTaskCode);
rcsReturn.setData(data);
}
-
}
} else {
-
TransParent transParent = new TransParent();
transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
- transParent.setStationId(task.getStaNo());
- transParent.setStartStation(task.getSourceStaNo());
+ transParent.setStationId(task.getSourceStaNo());
transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
//08-1鏄┖鎵樼洏杞簭浠诲姟
//08-2鏄墿鏂欒浆搴忎换鍔�
@@ -400,6 +423,7 @@
break;
//AGV鍙栬揣绂荤珯璇锋眰
case APPLY_IN_OFF_STATION: {
+
//濡傛灉鏄珛搴撶珯鐐圭洿鎺ュ厑璁哥绔�
if (task.getSourceStaNo().equals("401") || task.getSourceStaNo().equals("402") || task.getSourceStaNo().equals("307")) {
RcsTaskContinue rcsTaskContinue = new RcsTaskContinue();
@@ -428,12 +452,20 @@
}
}
} else {
+
+ // 寤惰繜澶勭悊锛岀‘淇濆埌绔欏畬鎴愪俊鍙蜂紭鍏堝鐞�
+ try {
+ Thread.sleep(5000); // 鐫$湢5绉�
+ } catch (InterruptedException e)
+ {
+ Thread.currentThread().interrupt();
+ }
+
//濡傛灉鏄伐浣嶉渶瑕佸儚mes璇锋眰绂荤珯
TransParent transParent = new TransParent();
transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
- transParent.setStationId(task.getStaNo());
- transParent.setStartStation(task.getSourceStaNo());
+ transParent.setStationId(values.getString("slotName"));
transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
//08-1鏄┖鎵樼洏杞簭浠诲姟
//08-2鏄墿鏂欒浆搴忎换鍔�
@@ -467,7 +499,7 @@
//AGV鏀捐揣绂荤珯璇锋眰
case APPLY_OFF_STATION: {
//濡傛灉鏄珛搴撶珯鐐圭洿鎺ュ厑璁哥绔�
- if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) {
+ if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307") || task.getTaskType().equals("AGV琛ョ┖鏂欐灦")) {
RcsTaskContinue rcsTaskContinue = new RcsTaskContinue();
rcsTaskContinue.setRobotTaskCode(task.getTaskNo() + "-" + (task.getCtnType() - 1));
rcsTaskContinue.setTriggerType("TASK");
@@ -478,7 +510,7 @@
if (!StringUtils.isEmpty(response) && response.contains("code")) {
RcsReturn rcsReturn1 = JSONObject.parseObject(response, RcsReturn.class);
if ("SUCCESS".equals(rcsReturn1.getCode())) {
- // 杩斿洖RCS
+// 杩斿洖RCS
rcsReturn.setCode("SUCCESS");
rcsReturn.setMessage("");
JSONObject data = new JSONObject();
@@ -494,12 +526,19 @@
}
}
} else {
+ // 寤惰繜澶勭悊锛岀‘淇濆埌绔欏畬鎴愪俊鍙蜂紭鍏堝鐞�
+ try {
+ Thread.sleep(5000); // 鐫$湢5绉�
+ } catch (InterruptedException e)
+ {
+ Thread.currentThread().interrupt();
+ }
+
//濡傛灉鏄伐浣嶉渶瑕佸儚mes璇锋眰绂荤珯
TransParent transParent = new TransParent();
transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
- transParent.setStationId(task.getStaNo());
- transParent.setStartStation(task.getSourceStaNo());
+ transParent.setStationId(values.getString("slotName"));
transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
//08-1鏄┖鎵樼洏杞簭浠诲姟
//08-2鏄墿鏂欒浆搴忎换鍔�
@@ -533,7 +572,7 @@
}
//鍒扮珯瀹屾垚
case ARRIVE_ON_STATION: {
- if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) {
+ if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || values.getString("slotName").equals("307")) {
// 杩斿洖RCS
rcsReturn.setCode("SUCCESS");
rcsReturn.setMessage("");
@@ -544,53 +583,7 @@
TransParent transParent = new TransParent();
transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
- transParent.setStationId(task.getStaNo());
- transParent.setStartStation(task.getSourceStaNo());
- transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
- //08-1鏄┖鎵樼洏杞簭浠诲姟
- //08-2鏄墿鏂欒浆搴忎换鍔�
- if (task.getTaskType().equals("ZX-AGV-08-1")) {
- transParent.setTransType("08-1");
- } else if (task.getTaskType().equals("ZX-AGV-08-2")) {
- transParent.setTransType("08-2");
- } else if (task.getTaskType().equals("PP-AGV")) {
- transParent.setTransType("10");
- } else if (task.getTaskType().equals("ZP-AGV")) {
- transParent.setTransType("11");
- }
- int i = AGVArrivalCompletedFit(transParent);
- if (i == 1) {
- rcsReturn.setCode("SUCCESS");
- rcsReturn.setMessage("");
- JSONObject data = new JSONObject();
- data.put("robotTaskCode", robotTaskCode);
- rcsReturn.setData(data);
- } else {
- // 杩斿洖RCS
- rcsReturn.setCode("Err_Internal");
- rcsReturn.setMessage("");
- JSONObject data = new JSONObject();
- data.put("robotTaskCode", robotTaskCode);
- rcsReturn.setData(data);
- }
- }
- break;
- }
- //鍒扮珯瀹屾垚
- case ARRIVE_PUT_STATION: {
- if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) {
- // 杩斿洖RCS
- rcsReturn.setCode("SUCCESS");
- rcsReturn.setMessage("");
- JSONObject data = new JSONObject();
- data.put("robotTaskCode", robotTaskCode);
- rcsReturn.setData(data);
- } else {
- TransParent transParent = new TransParent();
- transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
- transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
- transParent.setStationId(task.getStaNo());
- transParent.setStartStation(task.getSourceStaNo());
+ transParent.setStationId(values.getString("slotName"));
transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
//08-1鏄┖鎵樼洏杞簭浠诲姟
//08-2鏄墿鏂欒浆搴忎换鍔�
@@ -781,4 +774,25 @@
return 0;
}
+
+ public void agvPause(StaProtocol staProtocol){
+ if (staProtocol.isHighError()) {
+ String url = HIK_URL + "/api/robot/controller/zone/pause";
+ try {
+
+ System.out.println("瓒呴珮鎶ヨ");
+ JSONObject params = null;
+ params.put("zoneCode", "GK307");
+ params.put("mapCode", "BB");
+ params.put("invoke", "FREEZE");
+ String response = RcsServiceImpl.sendPost(url, JSONObject.toJSONString(params));
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (!StringUtils.isEmpty(response) && (jsonObject.getString("code").equals("SUCCESS") || jsonObject.getInteger("code") == 200)) {
+ System.out.println("鏆傚仠鎴愬姛");
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
}
diff --git a/src/main/java/com/zy/common/utils/HikUtils.java b/src/main/java/com/zy/common/utils/HikUtils.java
index 57b32ee..9ffd902 100644
--- a/src/main/java/com/zy/common/utils/HikUtils.java
+++ b/src/main/java/com/zy/common/utils/HikUtils.java
@@ -15,6 +15,18 @@
public void startPic(String ip, String filename) {
try {
+ if (hikUrl == null || "".equals(hikUrl)) {
+ News.error("hikUrl閰嶇疆涓虹┖锛屾棤娉曡繘琛屾媿鎽�");
+ return;
+ }
+ if (ip == null || "".equals(ip)) {
+ News.error("IP鍦板潃涓虹┖锛屾棤娉曡繘琛屾媿鎽�");
+ return;
+ }
+ if (filename == null || "".equals(filename)) {
+ News.error("鏂囦欢鍚嶄负绌猴紝鏃犳硶杩涜鎷嶆憚");
+ return;
+ }
HashMap<String, Object> data = new HashMap<>();
data.put("ip", ip);
data.put("filename", filename);
@@ -25,13 +37,23 @@
.setJson(JSON.toJSONString(data))
.build()
.doPost();
+ if (response == null || "".equals(response)) {
+ News.error("璇锋眰鎺ュ彛澶辫触锛岃繑鍥炲�间负绌�");
+ return;
+ }
JSONObject jsonObject = JSON.parseObject(response);
- if (jsonObject.getInteger("code").equals(200)) {
+ if (jsonObject == null) {
+ News.error("瑙f瀽鍝嶅簲澶辫触锛岃繑鍥炲�间笉鏄湁鏁堢殑JSON");
+ return;
+ }
+ Boolean success = jsonObject.getBoolean("success");
+ if (success != null && success) {
News.error("璇锋眰鎺ュ彛鎴愬姛锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", hikUrl + "/capture", JSON.toJSONString(data), response);
} else {
News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", hikUrl + "/capture", JSON.toJSONString(data), response);
}
} catch (Exception e) {
+ News.error("鎷嶆憚澶辫触锛歿}", e.getMessage());
e.printStackTrace();
}
}
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 3f28a03..b59e508 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -13,6 +13,7 @@
import com.zy.asrs.entity.DeviceDataLog;
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.DeviceDataLogService;
+import com.zy.asrs.service.impl.RcsServiceImpl;
import com.zy.common.utils.News;
import com.zy.core.DevpThread;
import com.zy.core.cache.MessageQueue;
@@ -250,6 +251,9 @@
staProtocol1.setRightError(status1[4]);
staProtocol1.setWeightError(status1[5]);
staProtocol1.setBarcodeError(status1[6]);
+
+ RcsServiceImpl rcsService = new RcsServiceImpl();
+ rcsService.agvPause(staProtocol1);
}
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index dcb0e91..3f4cd2c 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -38,8 +38,9 @@
#mes瀵规帴
mes:
-
- url: http://172.26.160.5:80/dev-api/basicmodel/WmsFit/Api/
+ # url: http://192.9.100.173:8088/prod-api/basicmodel/WmsFit/Api/
+ url: http://172.26.160.73:8080/basicmodel/WmsFit/Api/
+ # url: http://172.26.160.5:8080/basicmodel/WmsFit/Api/
#榛樿鎺ュ彛鎿嶄綔浜哄憳id
defaultUserId: 30
@@ -48,22 +49,22 @@
switch: false
url: http://172.26.11.98:80/rcs/rtas/
-zyHikUrl: 127.0.0.1:8000
+zyHikUrl: 172.26.1.189:8000
# 涓嬩綅鏈洪厤缃�
wcs-slave:
# 鍙屾繁
doubleDeep: true
# 鍙屾繁搴撲綅鎺掑彿
- doubleLocs: 1
+ doubleLocs: 3
# 宸︽繁搴撲綅鎺掑彿
# doubleLocsLeft: 4,7,11,15,19,23
# 鍙虫繁搴撲綅鎺掑彿
- doubleLocsRight: 1
+ doubleLocsRight: 3
# 宸︽祬搴撲綅鎺掑彿
- shallowLocsLeft: 2
+ shallowLocsLeft: 4
# 鍙虫祬搴撲綅鎺掑彿
- shallowLocsRight: 2
+ shallowLocsRight: 4
# 涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁�
groupCount: 2
# 鍫嗗灈鏈�1
@@ -80,42 +81,42 @@
crnInStn[0]:
devpPlcId: ${wcs-slave.devp[0].id}
staNo: 301
- row: 2
+ row: 4
bay: 1
lev: 1
# 鍫嗗灈鏈哄叆搴撶珯鐐�
crnInStn[1]:
devpPlcId: ${wcs-slave.devp[0].id}
staNo: 307
- row: 3
+ row: 5
bay: 5
lev: 1
# 鍫嗗灈鏈哄叆搴撶珯鐐�
crnInStn[2]:
devpPlcId: ${wcs-slave.devp[0].id}
staNo: 304
- row: 3
+ row: 5
bay: 1
lev: 1
# 鍫嗗灈鏈哄嚭搴撶珯鐐�
crnOutStn[0]:
devpPlcId: ${wcs-slave.devp[0].id}
staNo: 304
- row: 3
+ row: 5
bay: 1
lev: 1
# 鍫嗗灈鏈哄嚭搴撶珯鐐�
crnOutStn[1]:
devpPlcId: ${wcs-slave.devp[0].id}
staNo: 307
- row: 3
+ row: 5
bay: 5
lev: 1
# 鍫嗗灈鏈哄嚭搴撶珯鐐�
crnOutStn[2]:
devpPlcId: ${wcs-slave.devp[0].id}
staNo: 301
- row: 2
+ row: 4
bay: 1
lev: 1
# 杈撻�佺嚎1
--
Gitblit v1.9.1