From 50bd430e1ec54267a132a059a9c67cf2ea8c5cdc Mon Sep 17 00:00:00 2001 From: gengby <858962040@qq.com> Date: Wed, 22 Oct 2025 12:05:39 +0800 Subject: [PATCH] =?UTF-8?q?rev:=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/acs/agv/rest/AgvController.java | 2 +- .../org/nl/acs/agv/server/AgvService.java | 19 +++++ .../acs/agv/server/impl/AgvServiceImpl.java | 43 +++++++++++ .../acs/ext/wms/rest/XGToAcsController.java | 17 +++++ .../acs/ext/wms/service/XGToAcsService.java | 4 ++ .../acs/ext/wms/service/impl/XGToAcsImpl.java | 19 +++++ .../resources/config/application-prod.yml | 4 +- qd/src/router/routers.js | 6 ++ qd/src/views/bigscreen/agv.js | 19 +++++ qd/src/views/bigscreen/agvControler.vue | 72 +++++++++++++++++++ 10 files changed, 202 insertions(+), 3 deletions(-) create mode 100644 qd/src/views/bigscreen/agv.js create mode 100644 qd/src/views/bigscreen/agvControler.vue diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/agv/rest/AgvController.java b/hd/nladmin-system/src/main/java/org/nl/acs/agv/rest/AgvController.java index 5569cb6..475e83e 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/agv/rest/AgvController.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/agv/rest/AgvController.java @@ -109,7 +109,7 @@ public class AgvController { @PostMapping ("/inBlockGroup") @Log("请求进入") - @ApiOperation("请求离开") + @ApiOperation("请求进入") public ResponseEntity inBlockGroup(@RequestBody JSONObject requestParam) { return new ResponseEntity<>(agvService.inBlockGroup(requestParam), HttpStatus.OK); } diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvService.java b/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvService.java index 0d962ba..7fabd97 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvService.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvService.java @@ -215,4 +215,23 @@ public interface AgvService { * @return */ JSONObject outBlockGroup(JSONObject requestParam); + + + /** + * 仙工AGV暂停 + * + * @param requestParam + * @return + */ + HttpResponse gotoSitePause(JSONObject requestParam); + + /** + * 仙工AGV恢复 + * + * @param requestParam + * @return + */ + HttpResponse gotoSiteResume(JSONObject requestParam); + + } diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java b/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java index b9b94d1..e426af2 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java @@ -7,6 +7,7 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSON; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import net.sf.json.JSONArray; @@ -2172,6 +2173,48 @@ public class AgvServiceImpl implements AgvService { return resp; } + @Override + public HttpResponse gotoSitePause(JSONObject requestParam) { + if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.FORKAGV).toString(), "1")) { + String agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL); + String agvport = acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT); + + agvurl = agvurl + ":" + agvport + "/gotoSitePause"; + log.info("暂停{} agv请求:{}", requestParam, agvurl); + + HttpResponse result = HttpRequest.post(agvurl) + .body(JSON.toJSONString(requestParam)) + .timeout(20000)//超时,毫秒 + .execute(); + log.info("暂停{} agv请求反馈:{}", requestParam, result); + + return result; + } else { + return null; + } + } + + @Override + public HttpResponse gotoSiteResume(JSONObject requestParam) { + if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.FORKAGV).toString(), "1")) { + String agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL); + String agvport = acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT); + + agvurl = agvurl + ":" + agvport + "/gotoSiteResume"; + log.info("恢复{} agv请求:{}", requestParam, agvurl); + + HttpResponse result = HttpRequest.post(agvurl) + .body(JSON.toJSONString(requestParam)) + .timeout(20000)//超时,毫秒 + .execute(); + log.info("恢复{} agv请求反馈:{}", result, result); + + return result; + } else { + return null; + } + } + String hexToString(int i) { return (i < 16 ? "0" + Integer.toHexString(i) : Integer.toHexString(i)).toUpperCase(); diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/rest/XGToAcsController.java b/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/rest/XGToAcsController.java index 00c9223..9d128ab 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/rest/XGToAcsController.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/rest/XGToAcsController.java @@ -26,4 +26,21 @@ public class XGToAcsController { public ResponseEntity xgAGVQueryWlsStatus(@RequestBody JSONObject requestParam) { return new ResponseEntity<>(XGToAcsService.xgAGVQueryWlsStatus(requestParam), HttpStatus.OK); } + + + @PostMapping ("/api/agv/start") + @Log("恢复AGV") + @ApiOperation("恢复AGV") + public ResponseEntity start(@RequestBody JSONObject requestParam) { + XGToAcsService.start(requestParam); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping ("/api/agv/stop") + @Log("暂停AGV") + @ApiOperation("暂停AGV") + public ResponseEntity stop(@RequestBody JSONObject requestParam) { + XGToAcsService.stop(requestParam); + return new ResponseEntity<>(HttpStatus.OK); + } } diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/XGToAcsService.java b/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/XGToAcsService.java index 82c69ed..341c67a 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/XGToAcsService.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/XGToAcsService.java @@ -9,4 +9,8 @@ public interface XGToAcsService { * @return Map */ public JSONObject xgAGVQueryWlsStatus(JSONObject from); + + void start(JSONObject requestParam); + + void stop(JSONObject requestParam); } diff --git a/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/XGToAcsImpl.java b/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/XGToAcsImpl.java index cb30879..0491858 100644 --- a/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/XGToAcsImpl.java +++ b/hd/nladmin-system/src/main/java/org/nl/acs/ext/wms/service/impl/XGToAcsImpl.java @@ -1,14 +1,17 @@ package org.nl.acs.ext.wms.service.impl; +import cn.hutool.http.HttpResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.nl.acs.agv.server.AgvService; import org.nl.acs.config.server.AcsConfigService; import org.nl.acs.device.address.service.AddressService; import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.ext.wms.service.XGToAcsService; import org.nl.acs.log.service.LogServer; +import org.nl.exception.BadRequestException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @@ -28,6 +31,10 @@ public class XGToAcsImpl implements XGToAcsService { @Autowired AcsToWmsService acsToWmsService; + + @Autowired + private AgvService agvService; + @Override public JSONObject xgAGVQueryWlsStatus(JSONObject from) { JSONArray datas = JSONArray.fromObject(from); @@ -51,5 +58,17 @@ public class XGToAcsImpl implements XGToAcsService { log.info("updateDeviceGoodsFromWms--------------:输出参数" + resultJson.toString()); return resultJson; } + + @Override + public void start(JSONObject requestParam) { + requestParam.put("vehicles", new JSONArray()); + agvService.gotoSiteResume(requestParam); + } + + @Override + public void stop(JSONObject requestParam) { + requestParam.put("vehicles", new JSONArray()); + agvService.gotoSitePause(requestParam); + } } diff --git a/hd/nladmin-system/src/main/resources/config/application-prod.yml b/hd/nladmin-system/src/main/resources/config/application-prod.yml index 97cc5ae..04233b3 100644 --- a/hd/nladmin-system/src/main/resources/config/application-prod.yml +++ b/hd/nladmin-system/src/main/resources/config/application-prod.yml @@ -8,9 +8,9 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy - url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:tg_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true + url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3307}/${DB_NAME:yq_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true username: ${DB_USER:root} - password: ${DB_PWD:mysql} + password: ${DB_PWD:123456} # 初始连接数 initial-size: 5 # 最小连接数 diff --git a/qd/src/router/routers.js b/qd/src/router/routers.js index 78bcbe4..a6fe956 100644 --- a/qd/src/router/routers.js +++ b/qd/src/router/routers.js @@ -18,6 +18,12 @@ export const constantRouterMap = [ hidden: true, meta: { title: '呼叫看板' } }, + { + path: '/bigscreen/agvControler', + component: (resolve) => require(['@/views/bigscreen/agvControler'], resolve), + hidden: true, + meta: { title: 'AGV控制', requiresAuth: false } + }, { path: '/bigscreen/request', component: (resolve) => require(['@/views/bigscreen/request'], resolve), diff --git a/qd/src/views/bigscreen/agv.js b/qd/src/views/bigscreen/agv.js new file mode 100644 index 0000000..93d2c44 --- /dev/null +++ b/qd/src/views/bigscreen/agv.js @@ -0,0 +1,19 @@ +import request from '@/utils/request' + +export function start(data) { + return request({ + url: '/api/agv/start', + method: 'post', + data + }) +} + +export function stop(data) { + return request({ + url: '/api/agv/stop', + method: 'post', + data + }) +} + +export default { start, stop } diff --git a/qd/src/views/bigscreen/agvControler.vue b/qd/src/views/bigscreen/agvControler.vue new file mode 100644 index 0000000..f1f5888 --- /dev/null +++ b/qd/src/views/bigscreen/agvControler.vue @@ -0,0 +1,72 @@ + + + + +