From 701542ac0a90cf0e3a0a81ec2bb8066b5de68e75 Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期六, 28 三月 2026 11:21:17 +0800
Subject: [PATCH] 更新为正式部署许可证
---
src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java | 131 ++++++++++++++++++++++++++++++++++++-------
1 files changed, 109 insertions(+), 22 deletions(-)
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 e77e4a2..85db2cb 100644
--- a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
@@ -5,13 +5,16 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.mes.MesReturn;
import com.zy.asrs.entity.mes.TransArrivalStation;
+import com.zy.asrs.entity.mes.TransInOutStationAllow;
import com.zy.asrs.entity.mes.TransParent;
import com.zy.asrs.entity.rcs.*;
import com.zy.asrs.enums.RcsRetMethodEnum;
import com.zy.asrs.mapper.BlockStationMapper;
import com.zy.asrs.mapper.BlockTaskMapper;
import com.zy.asrs.service.*;
+import com.zy.asrs.task.core.ReturnT;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -26,10 +29,7 @@
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -51,6 +51,8 @@
private String inOk;
@Value("${mes.defaultUserId}")
public long defaultUserId;
+ @Value("${mes.url}")
+ private String url;
@Resource
@@ -232,11 +234,7 @@
if (!StringUtils.isEmpty(response) && response.contains("code")){
RcsReturn rcsReturn = JSONObject.parseObject(response, RcsReturn.class);
if("SUCCESS".equals(rcsReturn.getCode())||"200".equals(rcsReturn.getCode())) {
- JSONObject data = rcsReturn.getData();
- String robotTaskCode = data.getString("RobotTaskCode");
- if (robotTaskCode.equals(rcsTaskSubmit.getRobotTaskCode())){
- return 1;
- }
+ return 1;
}
}
@@ -253,10 +251,11 @@
public int continueTask(Object rcsTaskContinue, int rcsFactory){
String url = rcsFactory == 2 ? HX_URL+inOk :HIK_URL + "api/robot/controller/task/extend/continue";
+
String response = sendPost(url, JSONObject.toJSONString(rcsTaskContinue));
if (!StringUtils.isEmpty(response) && response.contains("code")){
RcsReturn rcsReturn = JSONObject.parseObject(response, RcsReturn.class);
- if("200".equals(rcsReturn.getCode())) {
+ if("SUCCESS".equals(rcsReturn.getCode())||"200".equals(rcsReturn.getCode())) {
return 1;
}
}
@@ -264,6 +263,20 @@
return 0;
}
+ public int applyIn(JSONObject rcsTaskContinue, int rcsFactory){
+
+ String url = rcsFactory == 2 ? HX_URL+"eqpt/notify/traffic" :HIK_URL + "api/robot/controller/task/extend/continue";
+
+ String response = sendPost(url, JSONObject.toJSONString(rcsTaskContinue));
+ if (!StringUtils.isEmpty(response) && response.contains("code")){
+ RcsReturn rcsReturn = JSONObject.parseObject(response, RcsReturn.class);
+ if("SUCCESS".equals(rcsReturn.getCode())||"200".equals(rcsReturn.getCode())) {
+ return 1;
+ }
+ }
+
+ return 0;
+ }
/**
* 2.1.4浠诲姟鍙栨秷鎺ュ彛
*
@@ -324,9 +337,13 @@
public RcsReturn reporterTask(RcsReporterTask rcsReporterTask) {
RcsReturn rcsReturn = new RcsReturn();
-
- String robotTaskCode = rcsReporterTask.getRobotTaskCode();
String singleRobotCode = rcsReporterTask.getSingleRobotCode();
+ // 淇敼鍚庣殑閫昏緫锛氭湁"-"鍒欏幓鎺夋渶鍚庝竴涓�"-"鍙婂悗闈㈠唴瀹癸紝娌℃湁鍒欎繚鎸佸師鏍�
+ String robotTaskCode = rcsReporterTask.getRobotTaskCode();
+ if (robotTaskCode.contains("-")) {
+ robotTaskCode = robotTaskCode.substring(0, robotTaskCode.lastIndexOf("-"));
+ }
+
//鍗庢檽AGV鐘舵�佸弽棣堬紝鍙婄敵璇�
if(Cools.isEmpty(rcsReporterTask.getExtra())){
if(Cools.isEmpty(rcsReporterTask.getMethod())){
@@ -363,11 +380,33 @@
rcsReturn.setData(data);
return rcsReturn;
}
- // 鏇存柊浠诲姟鐘舵�佺瓑鍐呴儴閫昏緫
- task.setWrkSts(304L); // 301 浠诲姟涓嬪彂銆�302 浠诲姟鎵ц銆�303 浠诲姟涓柇銆�304 浠诲姟缁撴潫
- task.setModiTime(new Date());
- task.setModiUser(defaultUserId);
- taskService.updateById(task);
+ HashMap<String,Object> map = new HashMap<>();
+ map.put("taskno", task.getTaskNo());
+ map.put("agvFactory", "2");
+ String mesUrl = url+"AGVArrivalCompletedFit";
+ String response = RcsServiceImpl.sendPost(mesUrl, JSONObject.toJSONString(map));
+ if (!StringUtils.isEmpty(response) && response.contains("Success")){
+ MesReturn mesReturn = JSONObject.parseObject(response, MesReturn.class);
+ if("1".equals(mesReturn.getSuccess())) {
+ task.setWrkSts(305L);//浠诲姟鐘舵�佷粠304--銆�305
+ task.setModiTime(new Date());
+ taskService.updateById(task);
+ }else {
+ rcsReturn.setCode("Err_RobotCodeNotMatch");
+ rcsReturn.setMessage("");
+ JSONObject data = new JSONObject();
+ data.put("robotTaskCode", robotTaskCode);
+ rcsReturn.setData(data);
+ return rcsReturn;
+ }
+ }else {
+ rcsReturn.setCode("Err_RobotCodeNotMatch");
+ rcsReturn.setMessage("");
+ JSONObject data = new JSONObject();
+ data.put("robotTaskCode", robotTaskCode);
+ rcsReturn.setData(data);
+ return rcsReturn;
+ }
} break;
case "APPLY_IN_STATION":
case "APPLY_OFF_STATION":
@@ -378,6 +417,7 @@
apply.setAgvCode(singleRobotCode);
String transType = memo.getString("TransType");
apply.setTransType(transType);
+ apply.setAgvFactory(1);
apply.setProductLineId(memo.getString("ProductLineId"));
apply.setStationId(task.getSourceStaNo());
//agv鍏ョ珯鐢宠
@@ -445,7 +485,7 @@
String slotCode = values.getString("slotCode");
try {
// q3,q8=1
- if ("1".equals(carrierType)) { //AGV
+
EntityWrapper<Task> wrapper = new EntityWrapper<>();
wrapper.eq("task_no", robotTaskCode);
Task task = taskService.selectOne(wrapper);
@@ -561,7 +601,7 @@
}
break;
}
- }
+
// 杩斿洖RCS
rcsReturn.setCode("SUCCESS");
rcsReturn.setMessage("");
@@ -658,11 +698,13 @@
* @return
*/
public RcsReturn hxApplyInLine(TransParent apply) {
-
RcsReturn rcsReturn = new RcsReturn();
-
String robotTaskCode = apply.getTaskno();
String singleRobotCode = apply.getAgvCode();
+ apply.setAgvCode("1");
+ apply.setAgvFactory(2);
+ String fullEmptyEnex = apply.getFullEmptyEnex();
+ int allowInOrOut = 0;
//鍗庢檽AGV鐢宠
if(Cools.isEmpty(apply.getMethod())){
log.error("鍗庢檽AGV涓婃姤鐘舵�丮ethod涓虹┖锛�");
@@ -702,10 +744,55 @@
data.put("robotTaskCode", robotTaskCode);
rcsReturn.setData(data);
//娴峰悍AGV鐘舵�佸弽棣堬紝鍙婄敵璇�
-
return rcsReturn;
}
+
+ public RcsReturn hxOutStation(TransParent param) {
+ RcsReturn rcsReturn = new RcsReturn();
+ String robotTaskCode = param.getTaskno();
+ if (Cools.isEmpty(param.getMethod())) {
+ log.error("鍗庢檽AGV涓婃姤鐘舵�丮ethod涓虹┖锛�");
+ rcsReturn.setCode("Err_Internal");
+ rcsReturn.setMessage("鍗庢檽AGV涓婃姤鐘舵�丮ethod涓虹┖");
+ JSONObject data = new JSONObject();
+ data.put("robotTaskCode", robotTaskCode);
+ rcsReturn.setData(data);
+ } else {
+ String method = param.getMethod();
+ param.setStationId(param.getAreaNo());
+ param.setAgvCode("1");
+ if (method.equals("APPLY_OUT_STATION")) {
+ if (mesService.outStation(param) == 1) {
+ // 杩斿洖RCS
+ rcsReturn.setCode("SUCCESS");
+ rcsReturn.setMessage("鍗庢檽AGV涓婃姤鐘舵�佹垚鍔�");
+ JSONObject data = new JSONObject();
+ data.put("robotTaskCode", robotTaskCode);
+ rcsReturn.setData(data);
+ return rcsReturn;
+ }
+ }else if (method.equals("APPLY_IN_STATION")) {
+ if (mesService.applyInStation(param) == 1) {
+ // 杩斿洖RCS
+ rcsReturn.setCode("SUCCESS");
+ rcsReturn.setMessage("鍗庢檽AGV涓婃姤鐘舵�佹垚鍔�");
+ JSONObject data = new JSONObject();
+ data.put("robotTaskCode", robotTaskCode);
+ rcsReturn.setData(data);
+ return rcsReturn;
+ }
+ }
+ }
+ log.error("鍗庢檽AGV涓婃姤鐘舵�佸け璐ワ紒");
+ rcsReturn.setCode("Err_Internal");
+ rcsReturn.setMessage("鍗庢檽AGV涓婃姤鐘舵�丮ethod澶辫触");
+ JSONObject data = new JSONObject();
+ data.put("robotTaskCode", robotTaskCode);
+ rcsReturn.setData(data);
+
+ return rcsReturn;
+ }
// endregion
// region httpUtil
--
Gitblit v1.9.1