From 944175e5277aa5362da613262e24336bf3647a13 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 23 十月 2024 13:53:40 +0800 Subject: [PATCH] # --- zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java | 41 +++++++++++++++++++++++++---------------- 1 files changed, 25 insertions(+), 16 deletions(-) diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java index fa70bef..381ac11 100644 --- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java +++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java @@ -93,11 +93,15 @@ @SuppressWarnings("all") @Transactional - public void generateBusAndTask(OpenBusSubmitParam busSubmitParam, String memo) { + public Bus generateBusAndTask(OpenBusSubmitParam busSubmitParam, String memo) { + String errorMsg = busService.checkoutValid(busSubmitParam); + if (!Cools.isEmpty(errorMsg)) { + throw new BusinessException(errorMsg); + } String batch = busSubmitParam.getBatch(); List<TaskDto> taskDtoList = busSubmitParam.getTaskList(); if (Cools.isEmpty(taskDtoList)) { - throw new BusinessException("taskDtoList 涓嶈兘涓虹┖"); + throw new BusinessException("taskList can't be empty!"); } // 浼樺厛绾ф帓搴� @@ -116,7 +120,7 @@ bus.setMemo(memo); if (!busService.save(bus)) { - throw new BusinessException("浠诲姟淇濆瓨澶辫触"); + throw new BusinessException("Internal Server Error!"); } // 淇濆瓨浠诲姟 @@ -124,7 +128,7 @@ task.setBusId(bus.getId()); task.setTaskSts(TaskStsType.INIT.val()); if (!taskService.save(task)) { - throw new BusinessException(task.getSeqNum() + "浠诲姟淇濆瓨澶辫触"); + throw new BusinessException("seqNum:" + task.getSeqNum() + " failed to save!"); } // 淇敼搴撲綅鐘舵�� @@ -136,44 +140,44 @@ case LOC_TO_LOC: oriLoc = locService.getById(task.getOriLoc()); if (!oriLoc.getLocSts().equals(LocStsType.STOCK.val())) { - throw new BusinessException("oriLoc锛�" + task.getOriLoc$() + " 涓嶆槸鍦ㄥ簱鐘舵��"); + throw new BusinessException("oriLoc锛�" + task.getOriLoc$() + " is not in STOCK status"); } oriLoc.setLocSts(LocStsType.PAKOUT.val()); oriLoc.setUpdateTime(now); if (!locService.updateById(oriLoc)) { - throw new BusinessException("oriLoc锛�" + task.getOriLoc$() + " 淇敼搴撲綅鐘舵�佸け璐�"); + throw new BusinessException("oriLoc锛�" + task.getOriLoc$() + " failed to update"); } destLoc = locService.getById(task.getDestLoc()); if (!destLoc.getLocSts().equals(LocStsType.IDLE.val())) { - throw new BusinessException("destLoc锛�" + task.getDestLoc$() + " 涓嶆槸绌洪棽鐘舵��"); + throw new BusinessException("destLoc锛�" + task.getDestLoc$() + " is not in IDLE status"); } destLoc.setLocSts(LocStsType.PAKIN.val()); destLoc.setUpdateTime(now); if (!locService.updateById(destLoc)) { - throw new BusinessException("destLoc锛�" + task.getDestLoc$() + " 淇敼搴撲綅鐘舵�佸け璐�"); + throw new BusinessException("destLoc锛�" + task.getDestLoc$() + " failed to update"); } break; case LOC_TO_STA: oriLoc = locService.getById(task.getOriLoc()); if (!oriLoc.getLocSts().equals(LocStsType.STOCK.val())) { - throw new BusinessException("oriLoc锛�" + task.getOriLoc$() + " 涓嶆槸鍦ㄥ簱鐘舵��"); + throw new BusinessException("oriLoc锛�" + task.getOriLoc$() + " is not in STOCK status"); } oriLoc.setLocSts(LocStsType.PAKOUT.val()); oriLoc.setUpdateTime(now); if (!locService.updateById(oriLoc)) { - throw new BusinessException("oriLoc锛�" + task.getOriLoc$() + " 淇敼搴撲綅鐘舵�佸け璐�"); + throw new BusinessException("oriLoc锛�" + task.getOriLoc$() + " failed to update"); } break; case STA_TO_LOC: destLoc = locService.getById(task.getDestLoc()); if (!destLoc.getLocSts().equals(LocStsType.IDLE.val())) { - throw new BusinessException("destLoc锛�" + task.getDestLoc$() + " 涓嶆槸绌洪棽鐘舵��"); + throw new BusinessException("destLoc锛�" + task.getDestLoc$() + " is not in IDLE status"); } destLoc.setLocSts(LocStsType.PAKIN.val()); destLoc.setUpdateTime(now); if (!locService.updateById(destLoc)) { - throw new BusinessException("destLoc锛�" + task.getDestLoc$() + " 淇敼搴撲綅鐘舵�佸け璐�"); + throw new BusinessException("destLoc锛�" + task.getDestLoc$() + " failed to update"); } break; case STA_TO_STA: @@ -183,7 +187,7 @@ } } - + return bus; } /** @@ -281,8 +285,9 @@ return 0; } }); - if (taskList.size() > agv.getStage()) { - taskList = taskList.subList(0, agv.getStage()); + Integer backpack = agvService.getBackpack(agv); + if (taskList.size() > backpack) { + taskList = taskList.subList(0, backpack); } /** @@ -349,7 +354,7 @@ } - if (backpackLev > agv.getStage()) { + if (backpackLev > backpack) { throw new BusinessException("瑙f瀽Task澶辫触,AGV鑳岀瘬宸叉弧......"); } @@ -994,6 +999,7 @@ } for (Action action : actionList) { action.setActionSts(ActionStsType.ISSUED.val()); + action.setStartTime(now); action.setUpdateTime(now); if (!actionService.updateById(action)) { throw new BusinessException(action.getPriority() + " - " + action.getName() + "鍔ㄤ綔鏇存柊澶辫触"); @@ -1143,6 +1149,7 @@ if (null != action) { action.setActionSts(ActionStsType.FINISH.val()); + action.setEndTime(now); action.setUpdateTime(now); if (!actionService.updateById(action)) { log.error("Action [{}] 鏇存柊澶辫触 锛侊紒锛�", action.getPriority() + " - " + action.getName()); @@ -1175,6 +1182,7 @@ ); if (null != action) { action.setActionSts(ActionStsType.FINISH.val()); + action.setEndTime(now); action.setUpdateTime(now); if (!actionService.updateById(action)) { log.error("Action [{}] 鏇存柊澶辫触 锛侊紒锛�", action.getPriority() + " - " + action.getName()); @@ -1249,6 +1257,7 @@ ); for (Action action : actionList) { action.setActionSts(ActionStsType.FINISH.val()); + action.setEndTime(now); action.setUpdateTime(now); if (!actionService.updateById(action)) { log.error("Action [{}] 鏇存柊澶辫触 锛侊紒锛�", action.getPriority() + " - " + action.getName()); -- Gitblit v1.9.1