From 7146978793989951933e7d14325296740cdba920 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 18 十月 2024 14:46:11 +0800 Subject: [PATCH] # --- zy-acs-flow/src/config/setting.js | 2 zy-acs-flow/src/map/http.js | 12 ++- zy-acs-flow/src/map/insight/agv/AgvControl.jsx | 5 + zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java | 75 ++++++++++++++----------- zy-acs-flow/src/map/Notification.jsx | 2 zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/param/HandlerPublishParam.java | 30 ++++++++- zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskTypeType.java | 9 +- 7 files changed, 84 insertions(+), 51 deletions(-) diff --git a/zy-acs-flow/src/config/setting.js b/zy-acs-flow/src/config/setting.js index a59789d..a87151d 100644 --- a/zy-acs-flow/src/config/setting.js +++ b/zy-acs-flow/src/config/setting.js @@ -9,6 +9,8 @@ export const PREFIX_BASE_URL = '/api/'; +export const HANDLE_APP_KEY = 'xltys1995'; + export const SPA_NAME = 'COOL'; export const SPA_VERSION = '1'; diff --git a/zy-acs-flow/src/map/Notification.jsx b/zy-acs-flow/src/map/Notification.jsx index 0053ec1..ed98f84 100644 --- a/zy-acs-flow/src/map/Notification.jsx +++ b/zy-acs-flow/src/map/Notification.jsx @@ -49,7 +49,7 @@ onClose={handleClose} severity={notification.severity} sx={{ width: '300px', zIndex: 2000 }} - variant="outlined" // Optional: Use filled variant for better visibility + variant="filled" // standard' | 'filled' | 'outlined > {notification.message} </Alert> diff --git a/zy-acs-flow/src/map/http.js b/zy-acs-flow/src/map/http.js index 5ee59a0..2da92f2 100644 --- a/zy-acs-flow/src/map/http.js +++ b/zy-acs-flow/src/map/http.js @@ -1,6 +1,7 @@ import request from '@/utils/request'; import * as Tool from './tool'; import { DEVICE_TYPE } from './constants'; +import { HANDLE_APP_KEY } from '@/config/setting'; let notify; let mapContainer; @@ -145,14 +146,15 @@ }) } -export const handleControlAgv = async (agvNo, form, callback) => { - await request.post('/map/agv/info', { - agvNo: agvNo, - }, { - headers: { 'Content-Type': 'application/x-www-form-urlencoded' } +export const handleControlAgv = async (param, callback) => { + await request.post('/handler/control/agv', param, { + headers: { + 'appKey': HANDLE_APP_KEY + } }).then((res) => { const { code, msg, data } = res.data; if (code === 200) { + notify.success(msg); if (callback) { callback(data) } diff --git a/zy-acs-flow/src/map/insight/agv/AgvControl.jsx b/zy-acs-flow/src/map/insight/agv/AgvControl.jsx index 9d9c32b..a350946 100644 --- a/zy-acs-flow/src/map/insight/agv/AgvControl.jsx +++ b/zy-acs-flow/src/map/insight/agv/AgvControl.jsx @@ -53,8 +53,9 @@ const onSubmit = (data) => { if (curAgvNo) { - console.log(data); - handleControlAgv(curAgvNo, data); + handleControlAgv({ agvNo: curAgvNo, ...data }, () => { + + }); } }; diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/param/HandlerPublishParam.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/param/HandlerPublishParam.java index 2679bb6..367dc60 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/param/HandlerPublishParam.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/domain/param/HandlerPublishParam.java @@ -11,14 +11,34 @@ private String agvNo; - private TaskTypeType taskType; + private TaskTypeType taskMode; - private String startCode; + // id - private String endCode; + private Long startCode; - private String startLocNo; + private Long endCode; - private String endLocNo; + private Long startLocNo; + + private Long endLocNo; + + private Long startStaNo; + + private Long endStaNo; + + // uuid + + private String startCodeStr; + + private String endCodeStr; + + private String startLocNoStr; + + private String endLocNoStr; + + private String startStaNoStr; + + private String endStaNoStr; } diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java index 7b50d99..0d31355 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java @@ -3,6 +3,9 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.acs.common.utils.Utils; +import com.zy.acs.framework.common.Cools; +import com.zy.acs.framework.common.R; +import com.zy.acs.framework.common.SnowflakeIdWorker; import com.zy.acs.manager.common.domain.param.HandlerPublishParam; import com.zy.acs.manager.common.exception.BusinessException; import com.zy.acs.manager.core.service.AvoidWaveCalculator; @@ -10,18 +13,12 @@ import com.zy.acs.manager.core.service.ThreadPoolRegulator; import com.zy.acs.manager.core.service.TrafficService; import com.zy.acs.manager.core.service.astart.MapDataDispatcher; -import com.zy.acs.manager.manager.entity.Agv; -import com.zy.acs.manager.manager.entity.AgvDetail; -import com.zy.acs.manager.manager.entity.Loc; -import com.zy.acs.manager.manager.entity.Task; +import com.zy.acs.manager.manager.entity.*; import com.zy.acs.manager.manager.enums.ActionStsType; import com.zy.acs.manager.manager.enums.LocStsType; import com.zy.acs.manager.manager.enums.TaskStsType; import com.zy.acs.manager.manager.service.*; import com.zy.acs.manager.system.controller.BaseController; -import com.zy.acs.framework.common.Cools; -import com.zy.acs.framework.common.R; -import com.zy.acs.framework.common.SnowflakeIdWorker; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; @@ -38,7 +35,7 @@ */ @Slf4j @RestController -@RequestMapping("/handler") +@RequestMapping("/api/handler") public class HandlerController extends BaseController { public static final String APP_KEY = "xltys1995"; @@ -68,11 +65,11 @@ @Autowired private AvoidWaveCalculator avoidWaveCalculator; - @RequestMapping(value = "/publish", method = {RequestMethod.GET, RequestMethod.POST}) + @RequestMapping(value = "/control/agv", method = {RequestMethod.GET, RequestMethod.POST}) @Transactional - public R publish(@RequestHeader String appKey, + public R controlAgv(@RequestHeader String appKey, @RequestBody HandlerPublishParam param) { - if (Cools.isEmpty(param.getAgvNo(), param.getTaskType(), appKey)) { + if (Cools.isEmpty(param.getAgvNo(), param.getTaskMode(), appKey)) { return R.error(); } if (!APP_KEY.equals(appKey)) { @@ -101,36 +98,58 @@ } // generate - switch (param.getTaskType()) { + switch (param.getTaskMode()) { case MOVE: - if (Cools.isEmpty(param.getEndCode())) { + Code endCode = null; + if (!Cools.isEmpty(param.getEndCode())) { + endCode = codeService.getById(param.getEndCode()); + } + if (!Cools.isEmpty(param.getEndCodeStr())) { + endCode = codeService.selectByData(param.getEndCodeStr()); + } + if (null == endCode) { return R.error(); } - if (null == codeService.selectByData(param.getEndCode())) { - return R.error(); - } - if (!mainService.buildMinorTask(agv, agvDetail, param.getTaskType(), param.getEndCode())) { + if (!mainService.buildMinorTask(agv, agvDetail, param.getTaskMode(), endCode.getData())) { return R.error(); } break; case TO_CHARGE: case TO_STANDBY: - if (!mainService.buildMinorTask(agv, agvDetail, param.getTaskType(), null)) { + if (!mainService.buildMinorTask(agv, agvDetail, param.getTaskMode(), null)) { return R.error(); } break; case LOC_TO_LOC: - if (Cools.isEmpty(param.getStartLocNo(), param.getEndLocNo())) { - return R.error(); + // oriLoc + Loc oriLoc = null; + if (!Cools.isEmpty(param.getStartLocNo())) { + oriLoc = locService.getById(param.getStartLocNo()); } - Loc oriLoc = locService.selecatByLocNo(param.getStartLocNo()); + if (!Cools.isEmpty(param.getStartLocNoStr())) { + oriLoc = locService.selecatByLocNo(param.getStartLocNoStr()); + } if (null == oriLoc) { return R.error(); } - Loc destLoc = locService.selecatByLocNo(param.getEndLocNo()); + if (!oriLoc.getLocSts().equals(LocStsType.STOCK.val())) { + throw new BusinessException("oriLoc锛�" + oriLoc.getLocNo() + " 涓嶆槸鍦ㄥ簱鐘舵��"); + } + // destLoc + Loc destLoc = null; + if (!Cools.isEmpty(param.getEndLocNo())) { + destLoc = locService.getById(param.getEndLocNo()); + } + if (!Cools.isEmpty(param.getEndLocNoStr())) { + destLoc = locService.selecatByLocNo(param.getEndLocNoStr()); + } if (null == destLoc) { return R.error(); } + if (!destLoc.getLocSts().equals(LocStsType.IDLE.val())) { + throw new BusinessException("destLoc锛�" + destLoc.getLocNo() + " 涓嶆槸绌洪棽鐘舵��"); + } + // task Task task = new Task(); @@ -142,7 +161,7 @@ task.setOriLoc(oriLoc.getId()); task.setDestLoc(destLoc.getId()); - task.setTaskType(param.getTaskType().val()); + task.setTaskType(param.getTaskMode().val()); task.setTaskSts(TaskStsType.WAITING.val()); task.setPriority(999); @@ -153,26 +172,16 @@ } // loc - oriLoc = locService.getById(task.getOriLoc()); - if (!oriLoc.getLocSts().equals(LocStsType.STOCK.val())) { - throw new BusinessException("oriLoc锛�" + task.getOriLoc$() + " 涓嶆槸鍦ㄥ簱鐘舵��"); - } oriLoc.setLocSts(LocStsType.PAKOUT.val()); oriLoc.setUpdateTime(now); if (!locService.updateById(oriLoc)) { throw new BusinessException("oriLoc锛�" + task.getOriLoc$() + " 淇敼搴撲綅鐘舵�佸け璐�"); - } - - destLoc = locService.getById(task.getDestLoc()); - if (!destLoc.getLocSts().equals(LocStsType.IDLE.val())) { - throw new BusinessException("destLoc锛�" + task.getDestLoc$() + " 涓嶆槸绌洪棽鐘舵��"); } destLoc.setLocSts(LocStsType.PAKIN.val()); destLoc.setUpdateTime(now); if (!locService.updateById(destLoc)) { throw new BusinessException("destLoc锛�" + task.getDestLoc$() + " 淇敼搴撲綅鐘舵�佸け璐�"); } - break; default: break; diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskTypeType.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskTypeType.java index e26ee8c..e5695b4 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskTypeType.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/enums/TaskTypeType.java @@ -8,13 +8,12 @@ public enum TaskTypeType { MOVE, - STA_TO_LOC, - LOC_TO_STA, - STA_TO_STA, - LOC_TO_LOC, TO_CHARGE, TO_STANDBY, - + LOC_TO_LOC, + LOC_TO_STA, + STA_TO_LOC, + STA_TO_STA, ; TaskTypeType() { -- Gitblit v1.9.1