From d8415a9733082b783e89b75ffef51dd725829a6e Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期日, 07 七月 2024 16:04:01 +0800
Subject: [PATCH] #agv对接完成
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/AgvTaskParam.java | 40 +++++
zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java | 80 +++++++++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/CreateOutTaskParam.java | 2
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/AgvTaskCreateParam.java | 39 ++++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java | 100 ++++++++++++
zy-asrs-common/src/main/java/com/zy/asrs/common/utils/OKHttpUtil.java | 101 ++++++++++++
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java | 116 +++++++++++++
7 files changed, 464 insertions(+), 14 deletions(-)
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java
index 4f05b6e..95ccf7c 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/HttpHandler.java
@@ -2,7 +2,12 @@
import okhttp3.*;
+import javax.net.ssl.*;
import java.io.IOException;
+import java.security.KeyStore;
+import java.security.SecureRandom;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
@@ -124,11 +129,14 @@
* @return the HttpHandler instance
*/
private OkHttpClient getClient(Integer timeout, TimeUnit timeUnit){
- return new OkHttpClient
- .Builder()
- .connectTimeout(timeout, timeUnit)
- .readTimeout(timeout, timeUnit)
- .build();
+// return new OkHttpClient
+// .Builder()
+// .sslSocketFactory(getSSLSocketFactory(),getX509TrustManager())
+// .hostnameVerifier(getHostnameVerifier())
+// .connectTimeout(timeout, timeUnit)
+// .readTimeout(timeout, timeUnit)
+// .build();
+ return OKHttpUtil.getInstance();
}
/**
@@ -208,5 +216,67 @@
}
}
+ /**
+ * description 蹇界暐https璇佷功楠岃瘉
+ */
+ private static HostnameVerifier getHostnameVerifier() {
+ HostnameVerifier hostnameVerifier = new HostnameVerifier() {
+ @Override
+ public boolean verify(String s, SSLSession sslSession) {
+ return true;
+ }
+ };
+ return hostnameVerifier;
+ }
+
+ /**
+ * description 蹇界暐https璇佷功楠岃瘉
+ */
+ private static SSLSocketFactory getSSLSocketFactory() {
+ try {
+ SSLContext sslContext = SSLContext.getInstance("SSL");
+ sslContext.init(null, getTrustManager(), new SecureRandom());
+ return sslContext.getSocketFactory();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private static X509TrustManager getX509TrustManager() {
+ X509TrustManager trustManager = null;
+ try {
+ TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
+ trustManagerFactory.init((KeyStore) null);
+ TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
+ if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) {
+ throw new IllegalStateException("Unexpected default trust managers:" + Arrays.toString(trustManagers));
+ }
+ trustManager = (X509TrustManager) trustManagers[0];
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return trustManager;
+ }
+
+ private static TrustManager[] getTrustManager() {
+ TrustManager[] trustAllCerts = new TrustManager[]{
+ new X509TrustManager() {
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) {
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) {
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return new X509Certificate[]{};
+ }
+ }
+ };
+ return trustAllCerts;
+ }
}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/OKHttpUtil.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/OKHttpUtil.java
new file mode 100644
index 0000000..ef14a7b
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/utils/OKHttpUtil.java
@@ -0,0 +1,101 @@
+package com.zy.asrs.common.utils;
+
+
+import okhttp3.ConnectionPool;
+import okhttp3.OkHttpClient;
+
+import java.net.Proxy;
+import java.security.KeyStore;
+import java.security.SecureRandom;
+import java.security.cert.X509Certificate;
+import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
+import javax.net.ssl.*;
+
+public class OKHttpUtil {
+ private static OkHttpClient okHttpClient;
+ public static ConnectionPool connectionPool = new ConnectionPool(10, 5, TimeUnit.MINUTES);
+
+ public static OkHttpClient getInstance() {
+ if (okHttpClient == null) { //鍔犲悓姝ュ畨鍏�
+ synchronized (OkHttpClient.class) {
+ if (okHttpClient == null) { //okhttp鍙互缂撳瓨鏁版嵁....鎸囧畾缂撳瓨璺緞
+ okHttpClient = new OkHttpClient.Builder()//鏋勫缓鍣�
+ .proxy(Proxy.NO_PROXY) //鏉ュ睆钄界郴缁熶唬鐞�
+ .connectionPool(connectionPool)
+ .sslSocketFactory(getSSLSocketFactory(), getX509TrustManager())
+ .hostnameVerifier(getHostnameVerifier())
+ .connectTimeout(10, TimeUnit.SECONDS)//杩炴帴瓒呮椂
+ .writeTimeout(600, TimeUnit.SECONDS)//鍐欏叆瓒呮椂
+ .readTimeout(600, TimeUnit.SECONDS)//璇诲彇瓒呮椂
+ .build();
+ okHttpClient.dispatcher().setMaxRequestsPerHost(200);
+ okHttpClient.dispatcher().setMaxRequests(200);
+ }
+ }
+ }
+ return okHttpClient;
+ }
+
+ /**
+ * description 蹇界暐https璇佷功楠岃瘉
+ */
+ private static HostnameVerifier getHostnameVerifier() {
+ HostnameVerifier hostnameVerifier = new HostnameVerifier() {
+ @Override
+ public boolean verify(String s, SSLSession sslSession) {
+ return true;
+ }
+ };
+ return hostnameVerifier;
+ }
+ /**
+ * description 蹇界暐https璇佷功楠岃瘉
+ */
+ private static SSLSocketFactory getSSLSocketFactory() {
+ try {
+ SSLContext sslContext = SSLContext.getInstance("SSL");
+ sslContext.init(null, getTrustManager(), new SecureRandom());
+ return sslContext.getSocketFactory();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private static X509TrustManager getX509TrustManager() {
+ X509TrustManager trustManager = null;
+ try {
+ TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
+ trustManagerFactory.init((KeyStore) null);
+ TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
+ if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) {
+ throw new IllegalStateException("Unexpected default trust managers:" + Arrays.toString(trustManagers));
+ }
+ trustManager = (X509TrustManager) trustManagers[0];
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return trustManager;
+ }
+
+ private static TrustManager[] getTrustManager() {
+ TrustManager[] trustAllCerts = new TrustManager[]{
+ new X509TrustManager() {
+ @Override
+ public void checkClientTrusted(X509Certificate[] chain, String authType) {
+ }
+
+ @Override
+ public void checkServerTrusted(X509Certificate[] chain, String authType) {
+ }
+
+ @Override
+ public X509Certificate[] getAcceptedIssuers() {
+ return new X509Certificate[]{};
+ }
+ }
+ };
+ return trustAllCerts;
+ }
+}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java
index 970bd2c..9aa18b1 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java
@@ -1,7 +1,9 @@
package com.zy.asrs.wcs.core.controller;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.common.utils.HttpHandler;
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.R;
import com.zy.asrs.framework.common.SnowflakeIdWorker;
@@ -24,11 +26,10 @@
import com.zy.asrs.wcs.system.controller.BaseController;
import com.zy.asrs.wcs.system.entity.Dict;
import com.zy.asrs.wcs.system.service.DictService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.*;
@@ -40,6 +41,7 @@
@RequestMapping("/openapi")
public class OpenController extends BaseController {
+ private static final Logger log = LoggerFactory.getLogger(OpenController.class);
@Autowired
private SnowflakeIdWorker snowflakeIdWorker;
@Autowired
@@ -62,6 +64,29 @@
private BasConveyorStaService basConveyorStaService;
+ @PostMapping("/agvPickupComplete")
+ public Map<String, Object> agvPickupComplete(@RequestBody AgvTaskParam agvTaskParam) {
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("code","0");
+ map.put("message","鎴愬姛");
+ map.put("reqCode", "");
+ log.info("agv璇锋眰鍙栬揣瀹屾垚锛寃ms浠诲姟鍙�:"+JSON.toJSONString(agvTaskParam));
+ return map;
+
+ }
+
+ @PostMapping("/agvTaskComplete")
+ public Map<String, Object> agvTaskComplete(@RequestBody AgvTaskParam agvTaskParam) {
+ HashMap<String, Object> map = new HashMap<>();
+ map.put("code","0");
+ map.put("message","鎴愬姛");
+ map.put("reqCode", "");
+ log.info("agv璇锋眰浠诲姟瀹屾垚锛寃ms浠诲姟鍙�:"+JSON.toJSONString(agvTaskParam));
+ return map;
+ }
+
+
+ //鍙栨秷wcs浠诲姟
@PostMapping("/cancelWcsTask")
public HashMap<String,Object> cancelWcsTask(@RequestBody CreateWcsTaskParam param){
HashMap<String, Object> map = new HashMap<>();
@@ -154,6 +179,20 @@
ArrayList<String> outlist = new ArrayList<>();
outlist.add("2");outlist.add("9");
if (inlist.contains(param.getTrkType())){
+ try {
+ AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam();
+ getInRequestParam(agvTaskCreateParam,param);
+ boolean httpRequest = doHttpRequest(agvTaskCreateParam, "172.18.16.248:443", "/rcs/rtas/api/robot/controller/task/submit");
+ if (!httpRequest){
+ map.put("success", "0");
+ map.put("message", "杞彂AGV浠诲姟鍑洪敊");
+ map.put("result", "");
+ map.put("requestPK", param.getRequestPK());
+ return map;
+ }
+ }catch (Exception e){
+
+ }
CreateInTaskParam createInTaskParam = new CreateInTaskParam();
createInTaskParam.setTaskNo(param.getRequestPK());
createInTaskParam.setDestLoc(getWMStoWCSLocNo(param.getToPos()));
@@ -184,12 +223,31 @@
}
}
} else if (outlist.contains(param.getTrkType())) {
+// try {
+// AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam();
+// getOutRequestParam(agvTaskCreateParam,param);
+// boolean httpRequest = doHttpRequest(agvTaskCreateParam, "172.18.16.94:8001", "/api/robot/controller/task/submit");
+// if (!httpRequest){
+// map.put("success", "0");
+// map.put("message", "杞彂AGV浠诲姟鍑洪敊");
+// map.put("result", "");
+// map.put("requestPK", param.getRequestPK());
+// return map;
+// }
+// }catch (Exception e){
+// map.put("success", "0");
+// map.put("message", "杞彂AGV浠诲姟鍑洪敊");
+// map.put("result", "");
+// map.put("requestPK", param.getRequestPK());
+// return map;
+// }
CreateOutTaskParam createOutTaskParam = new CreateOutTaskParam();
createOutTaskParam.setTaskNo(param.getRequestPK());
createOutTaskParam.setOriginLoc(getWMStoWCSLocNo(param.getFrmPos()));
createOutTaskParam.setOriginSite("101");
createOutTaskParam.setDestSite("100");
createOutTaskParam.setPriority(Integer.valueOf(param.getTrkPrty()));
+ createOutTaskParam.setEndSite(param.getToPos());
R outTask = null;
try {
outTask = createOutTask(createOutTaskParam);
@@ -229,6 +287,54 @@
int lev = Integer.parseInt(loc.substring(10,12));
locNo = row +"-"+bay+"-"+lev;
return locNo;
+ }
+ private void getInRequestParam(AgvTaskCreateParam agvTaskCreateParam,CreateWcsTaskParam param){
+ List<AgvTaskCreateParam.AgvTaskParam> agvTaskParamList = Arrays.asList(
+ //璧峰浣�
+ new AgvTaskCreateParam.AgvTaskParam("SITE",param.getFrmPos(),0,1),
+ //鐩爣浣�
+ new AgvTaskCreateParam.AgvTaskParam("SITE","06YZ0001",1,1)
+ );
+ List<AgvTaskCreateParam.carrierInfoParam> carrierInfoParam = Arrays.asList(
+ //璧峰浣�
+ new AgvTaskCreateParam.carrierInfoParam()
+
+ );
+ agvTaskCreateParam.setTaskType("F01");
+ agvTaskCreateParam.setInitPriority(param.getTrkPrty());
+ agvTaskCreateParam.setRobotTaskCode(param.getRequestPK());
+ agvTaskCreateParam.setTargetRoute(agvTaskParamList);
+ agvTaskCreateParam.setCarrierInfo(carrierInfoParam);
+
+ }
+ private boolean doHttpRequest(AgvTaskCreateParam requestParam, String url, String path){
+ String response = "";
+ boolean success = false;
+ Map<String, Object> map = new HashMap<>();
+ map.put("Content-Type", "application/json;charset=UTF-8");
+ map.put("X-lr-request-id", requestParam.getRobotTaskCode());
+ map.put("X-lr-version", 4.1);
+ map.put("X-lr-trace-id", "{{$guid}}");
+ try {
+ response = new HttpHandler.Builder()
+ .setHeaders(map)
+ .setUri(url)
+ .setHttps(true)
+ .setPath(path)
+ .setJson(JSONObject.toJSONString(requestParam))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+
+ String code = jsonObject.get("code").toString();
+ if(code.equals("SUCCESS")){
+ success = true;
+ }
+ log.info("杞彂agv浠诲姟锛氳姹備綋:"+JSONObject.toJSONString(requestParam)+",杩斿洖鍊�:"+jsonObject);
+ }catch (Exception e){
+
+ }
+ return success;
}
//鐢熸垚鍏ュ簱浠诲姟
@@ -472,7 +578,7 @@
task.setIoTime(new Date());
task.setStartTime(new Date());
task.setStatus(1);
- task.setMemo("");
+ task.setMemo(param.getEndSite());
task.setShuttleNo(null);//绛夊緟涓荤嚎绋嬪垎閰嶅皬杞�
task.setRecordLoc("Y");//璁板綍搴撳瓨淇℃伅
task.setHostId(hostId);//涓存椂鎺у埗鍙厑璁竓ost涓�1
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/AgvTaskCreateParam.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/AgvTaskCreateParam.java
new file mode 100644
index 0000000..fc35f1f
--- /dev/null
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/AgvTaskCreateParam.java
@@ -0,0 +1,39 @@
+package com.zy.asrs.wcs.core.domain.param;
+
+import lombok.Data;
+
+import java.lang.reflect.Array;
+import java.util.List;
+
+@Data
+public class AgvTaskCreateParam {
+ private String robotTaskCode;
+ private String taskType;
+ private String initPriority;
+ private List<AgvTaskParam> targetRoute;
+ private List<carrierInfoParam> carrierInfo;
+
+
+ @Data
+ public static class AgvTaskParam {
+ private String type;
+ private String code;
+ private Integer seq;
+ private Integer autoStart;
+
+
+ public AgvTaskParam(String type, String code, Integer seq, Integer autoStart) {
+ this.type = type;
+ this.code = code;
+ this.seq = seq;
+ this.autoStart = autoStart;
+ }
+ }
+ @Data
+ public static class carrierInfoParam{
+ private String carrierType = "2";
+ private String carrierCode = "2";
+ }
+}
+
+
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/AgvTaskParam.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/AgvTaskParam.java
new file mode 100644
index 0000000..0795f77
--- /dev/null
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/AgvTaskParam.java
@@ -0,0 +1,40 @@
+package com.zy.asrs.wcs.core.domain.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AgvTaskParam {
+ private String robotTaskCode;
+ private String singleRobotCode;
+ private Integer currentSeq;
+ private extras extra;
+
+ @Data
+ public static class extras{
+ private String async;
+ private valuess values;
+ }
+ @Data
+ public static class valuess{
+ private String slotName;
+ private String carrierCategory;
+ private String method;
+ private String carrierCode;
+ private Integer x;
+ private String carrierType;
+ private Integer y;
+ private String slotCategory;
+ private String mapCode;
+ private Integer pileCount;
+ private String slotCode;
+ private String orgCode;
+ private String amrCategory;
+ private String amrType;
+ private String amrCode;
+ private String carrierDir;
+ }
+
+
+}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/CreateOutTaskParam.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/CreateOutTaskParam.java
index 886e3ad..b1223a4 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/CreateOutTaskParam.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/CreateOutTaskParam.java
@@ -19,5 +19,7 @@
//浼樺厛绾�
private Integer priority;
+ //agv鏀捐揣绔�
+ private String endSite;
}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java
index 88b3a52..489497e 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskTimer.java
@@ -1,7 +1,11 @@
package com.zy.asrs.wcs.core.timer;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.common.utils.HttpHandler;
+import com.zy.asrs.wcs.core.domain.param.AgvTaskCreateParam;
+import com.zy.asrs.wcs.core.domain.param.CreateWcsTaskParam;
import com.zy.asrs.wcs.core.entity.*;
import com.zy.asrs.wcs.core.model.enums.LocStsType;
import com.zy.asrs.wcs.core.model.enums.TaskStsType;
@@ -12,9 +16,7 @@
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
@Slf4j
@Component
@@ -30,13 +32,103 @@
private MotionLogService motionLogService;
@Autowired
private LocService locService;
+ @Autowired
+ private BasConveyorStaService basConveyorStaService;
+
+ @Scheduled(cron = "0/1 * * * * ? ")
+ @Transactional
+ public synchronized void sendOutTaskToAgv() {
+ ArrayList<Long> taskSts = new ArrayList<>();
+ taskSts.add(TaskStsType.COMPLETE_OUTBOUND.sts);
+
+ BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>().eq(BasConveyorSta::getSiteNo, 100));
+ if (basConveyorSta == null) {
+ return;
+ }
+ if (basConveyorSta.getWorkMode() != 2){
+ return;
+ }
+ if (basConveyorSta.getTaskNo() == 0){
+ return;
+ }
+ if (!basConveyorSta.getAutoing().equals("Y") || !basConveyorSta.getLoading().equals("Y")) {
+ return;
+ }
+
+ List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
+ .eq(Task::getStatus, 1)
+ .in(Task::getTaskSts, taskSts));
+ for (Task task : tasks) {
+ if (task.getTaskNo().equals(basConveyorSta.getTaskNo().toString())) {
+ AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam();
+ getOutRequestParam(agvTaskCreateParam,task);
+ boolean httpRequest = doHttpRequest(agvTaskCreateParam, "172.18.16.248:443", "/rcs/rtas/api/robot/controller/task/submit");
+ if (httpRequest){
+ task.setTaskSts(1000L);
+ taskService.updateById(task);
+ }else {
+ log.error("鍑哄簱浠诲姟鎺ㄩ�乺gv澶辫触"+task.getWmsTaskNo());
+ }
+ }
+ }
+ }
+
+ private void getOutRequestParam(AgvTaskCreateParam agvTaskCreateParam, Task param){
+ List<AgvTaskCreateParam.AgvTaskParam> agvTaskParamList = Arrays.asList(
+ //璧峰浣�
+ new AgvTaskCreateParam.AgvTaskParam("SITE","06YZ0001",0,1),
+ //鐩爣浣�
+ new AgvTaskCreateParam.AgvTaskParam("SITE",param.getMemo(),1,1)
+ );
+ List<AgvTaskCreateParam.carrierInfoParam> carrierInfoParam = Arrays.asList(
+ //璧峰浣�
+ new AgvTaskCreateParam.carrierInfoParam()
+
+ );
+ agvTaskCreateParam.setTaskType("F01");
+ agvTaskCreateParam.setInitPriority(param.getPriority().toString());
+ agvTaskCreateParam.setRobotTaskCode(param.getWmsTaskNo());
+ agvTaskCreateParam.setTargetRoute(agvTaskParamList);
+ agvTaskCreateParam.setCarrierInfo(carrierInfoParam);
+
+ }
+
+ private boolean doHttpRequest(AgvTaskCreateParam requestParam, String url, String path){
+ String response = "";
+ boolean success = false;
+ Map<String, Object> map = new HashMap<>();
+ map.put("Content-Type", "application/json;charset=UTF-8");
+ map.put("X-lr-request-id", requestParam.getRobotTaskCode());
+ map.put("X-lr-version", 4.1);
+ map.put("X-lr-trace-id", "{{$guid}}");
+ try {
+ response = new HttpHandler.Builder()
+ .setHeaders(map)
+ .setUri(url)
+ .setHttps(true)
+ .setPath(path)
+ .setJson(JSONObject.toJSONString(requestParam))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+
+ String code = jsonObject.get("code").toString();
+ if(code.equals("SUCCESS")){
+ success = true;
+ }
+
+ }catch (Exception e){
+
+ }
+ return success;
+ }
@Scheduled(cron = "0/1 * * * * ? ")
@Transactional
public synchronized void clearCompletedTask() {
ArrayList<Long> taskSts = new ArrayList<>();
taskSts.add(TaskStsType.COMPLETE_INBOUND.sts);
- taskSts.add(TaskStsType.COMPLETE_OUTBOUND.sts);
+// taskSts.add(TaskStsType.COMPLETE_OUTBOUND.sts);
taskSts.add(TaskStsType.COMPLETE_CHARGE.sts);
taskSts.add(TaskStsType.COMPLETE_MOVE.sts);
taskSts.add(TaskStsType.COMPLETE_MANUAL.sts);
--
Gitblit v1.9.1