From 259e38eb55c12b501427702d551d4de61182406c Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期六, 13 十二月 2025 15:03:12 +0800
Subject: [PATCH] 接口对接功能完善
---
src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java | 93 +++++++++++++++++++++++++++++++---------------
1 files changed, 62 insertions(+), 31 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 4ffaa27..d743466 100644
--- a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
@@ -1,10 +1,12 @@
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.zy.asrs.entity.*;
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;
@@ -25,10 +27,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;
@@ -55,7 +54,7 @@
@Resource
private BlockTaskMapper blockTaskMapper;
@Resource
- private TaskDetlServiceImpl taskDetlService;
+ private TaskDetlService taskDetlService;
@Resource
private WrkMastService wrkMastService;
@@ -172,7 +171,7 @@
* @param rcsFactory 1 娴峰悍锛�2 鍗庢檽锛�
* @return
*/
- public int submitTask(RcsTaskSubmit rcsTaskSubmit, int rcsFactory){
+ public RcsReturn submitTask(RcsTaskSubmit rcsTaskSubmit, int rcsFactory){
// String response = "";
// boolean success = false;
@@ -218,22 +217,46 @@
// }
// }
// return success ? 1 : 0;
+ RcsReturn rcsReturn = new RcsReturn();
+ boolean success = false;
+ String url = rcsFactory == 2 ? HX_URL : HIK_URL + "api/robot/controller/task/submit";
+ String response = "";
+ try {
+ response = sendPost(url, JSONObject.toJSONString(rcsTaskSubmit));
+ if (!StringUtils.isEmpty(response) && response.contains("code")) {
+ rcsReturn = JSONObject.parseObject(response, RcsReturn.class);
+ if ("SUCCESS".equals(rcsReturn.getCode())) {
+ // 妯℃嫙杩斿洖
+// rcsReturn.setCode("SUCCESS");
+// JSONObject jsonObject = new JSONObject();
+// jsonObject.put("robotTaskCode",4);
+// rcsReturn.setData(jsonObject);
+ success = true;
- String url = rcsFactory == 2 ? HX_URL :HIK_URL + "api/robot/controller/task/submit";
- String response = sendPost(url, JSONObject.toJSONString(rcsTaskSubmit));
-
- if (!StringUtils.isEmpty(response) && response.contains("code")){
- RcsReturn rcsReturn = JSONObject.parseObject(response, RcsReturn.class);
- if("SUCCESS".equals(rcsReturn.getCode())) {
- JSONObject data = rcsReturn.getData();
- String robotTaskCode = data.getString("robotTaskCode");
- if (robotTaskCode.equals(rcsTaskSubmit.getRobotTaskCode())){
- return 1;
+ log.info("鍛煎彨agv鎼繍鎴愬姛锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", url, JSON.toJSONString(rcsTaskSubmit), response);
+ } else {
+ log.error("鍛煎彨agv鎼繍澶辫触锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", url, JSON.toJSONString(rcsTaskSubmit), response);
}
}
+ } catch (Exception e) {
+ log.error("鍛煎彨agv鎼繍寮傚父", e);
+ } finally {
+ try {
+ // 淇濆瓨鎺ュ彛鏃ュ織
+ apiLogService.save(
+ "鍛煎彨agv鎼繍",
+ url,
+ null,
+ "127.0.0.1",
+ JSON.toJSONString(rcsTaskSubmit),
+ response,
+ success
+ );
+ } catch (Exception e) {
+ log.error("鍛煎彨agv鎼繍淇濆瓨鎺ュ彛鏃ュ織寮傚父", e);
+ }
}
-
- return 0;
+ return rcsReturn;
}
/**
@@ -333,7 +356,7 @@
try {
// q3,q8=1
- if ("1".equals(carrierType)) { //AGV
+// if ("1".equals(carrierType)) { //AGV
EntityWrapper<Task> wrapper = new EntityWrapper<>();
wrapper.eq("task_no", robotTaskCode);
Task task = taskService.selectOne(wrapper);
@@ -403,13 +426,20 @@
mesService.applyOutStation(apply);
} else if (RcsRetMethodEnum.ARRIVE_OFF_STATION.getCode().equals(method)) {
mesService.outStation(apply);
+ // agv缁х画鎵ц
+
+ TransInOutStationAllow inOutStationAllow = new TransInOutStationAllow();
+ inOutStationAllow.setTaskno(robotTaskCode);
+ inOutStationAllow.setStatus("Y");
+ inOutStationAllow.setAgvCode("agv001");
+ mesService.allowOutStation(inOutStationAllow);
}
} break;
case ARRIVE_ON_STATION: {
// TODO: 濡傛灉浜х嚎鏄繍杈撹捣鐐癸紝鍒欎笉鍙戦�佸埌绔欏畬鎴愶紝鏆傛椂璋冭瘯浣跨敤lG锛屾湭瀹炵幇鍒ゆ柇
- if (rcsReporterTask.getCurrentSeq() == 0 && task.getSourceStaNo().startsWith("LG")) {
- break;
- }
+// if (rcsReporterTask.getCurrentSeq() == 0 && task.getSourceStaNo().startsWith("LG") || task.getSourceStaNo().startsWith("LL")) {
+// break;
+// }
EntityWrapper<TaskDetl> wapper2 = new EntityWrapper<>();
wapper2.eq("wrk_no", task.getWrkNo())
@@ -419,7 +449,7 @@
TransArrivalStation arrivalStation = new TransArrivalStation();
arrivalStation.setTaskno(robotTaskCode);
arrivalStation.setTaskname(memo.getString("taskName"));
- arrivalStation.setTuoPanId(taskDetl.getZpallet()); // memo.getString("TuoPanId")
+ arrivalStation.setTuoPanId(taskDetl == null ? "":taskDetl.getZpallet()); // memo.getString("TuoPanId")
arrivalStation.setProductLineId(memo.getString("ProductLineId"));
String transType = memo.getString("TransType");
arrivalStation.setDaotype(transType);
@@ -431,18 +461,19 @@
arrivalStation.setOrderNo(memo.getString("OrderNo"));
arrivalStation.setAgvCode(singleRobotCode);
arrivalStation.setItemno(memo.getString("Itemno"));
- String memo2 = taskDetl.getMemo();
- List<String> itemBarCode = new ArrayList<>();
- Matcher matcher = Pattern.compile("\"([^\"]*)\"").matcher(memo2);
- while (matcher.find()) {
- itemBarCode.add(matcher.group(1));
- }
- arrivalStation.setItemBarcode(itemBarCode);
+ String memo2 = taskDetl == null ? "":taskDetl.getMemo();
+ String[] array = memo2.split(",");
+// List<String> itemBarCode = new ArrayList<>();
+// Matcher matcher = Pattern.compile("\"([^\"]*)\"").matcher(memo2);
+// while (matcher.find()) {
+// itemBarCode.add(matcher.group(1));
+// }
+ arrivalStation.setItemBarcode(Arrays.asList(array));
mesService.arriveOnStation(arrivalStation);
} break;
default: {} break;
}
- }
+// }
// else if ("CTU".equals(carrierType)) { //CTU
// EntityWrapper<WrkMast> wrapper = new EntityWrapper<>();
// wrapper.eq("task_no", robotTaskCode);
--
Gitblit v1.9.1