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