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-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java | 75 +++++++++++++++++++++---------------- 1 files changed, 42 insertions(+), 33 deletions(-) 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; -- Gitblit v1.9.1