From 994743fb1528d845e720db3223177bcac06e49ea Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期三, 22 四月 2026 15:24:34 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java |   86 +++++++++++++++++++++++--------------------
 1 files changed, 46 insertions(+), 40 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 64e4f2c..877c983 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
@@ -142,16 +142,19 @@
     @Transactional
     public R controlAgv(@RequestHeader String appKey,
                      @RequestBody HandlerPublishParam param) {
-        if (Cools.isEmpty(param.getAgvNo(), param.getTaskMode(), appKey)) {
-            return R.error();
+        if (param == null || Cools.isEmpty(param.getAgvNo(), param.getTaskMode(), appKey)) {
+            return R.error("鍙傛暟涓嶅畬鏁达紝璇锋鏌GV鍜屼换鍔℃ā寮�");
         }
         if (!APP_KEY.equals(appKey)) {
-            return R.error();
+            return R.error("appKey鏍¢獙澶辫触");
         }
 
         Boolean maintainLocSts = configService.getVal("maintainLocSts", Boolean.class);
         Date now = new Date();
         Agv agv = agvService.selectByUuid(param.getAgvNo());
+        if (agv == null) {
+            return R.error("AGV涓嶅瓨鍦�");
+        }
         AgvDetail agvDetail = agvDetailService.selectByAgvId(agv.getId());
 
         // check
@@ -164,11 +167,11 @@
                             .or().eq(Task::getTaskSts, TaskStsType.PROGRESS.val());
                 })) > 0) {
             log.info("{}鍙稟GV涓嶅彲鐢紝宸茬粡瀛樺湪杩涜涓殑浠诲姟...", agv.getUuid());
-            return R.error();
+            return R.error("褰撳墠AGV瀛樺湪杩涜涓殑浠诲姟锛屾棤娉曚笅鍙戞柊浠诲姟");
         }
         if (!agvService.judgeEnable(agv.getId())) {
             log.info("{}鍙稟GV涓嶅彲鐢紝浠诲姟鏃犳硶璁$畻...", agv.getUuid());
-            return R.error();
+            return R.error("褰撳墠AGV涓嶅彲鐢紝鏃犳硶涓嬪彂浠诲姟");
         }
 
         Task task = new Task();
@@ -204,7 +207,7 @@
                     endCode = codeService.getCacheByData(param.getEndCodeStr());
                 }
                 if (null == endCode) {
-                    return R.error();
+                    return R.error("鐩爣鐐逛笉瀛樺湪");
                 }
                 if (!agvAreaDispatcher.match(agv.getId(), endCode.getId())) {
                     throw new BusinessException("AGV " + agv.getUuid() + " failed to reach target code " + endCode.getData());
@@ -214,7 +217,7 @@
                 }
                 task = null;
                 if (!mainLockWrapService.buildMinorTask(agv.getId(), param.getTaskMode(), endCode.getData(), null)) {
-                    return R.error();
+                    return R.error("绉诲姩浠诲姟涓嬪彂澶辫触");
                 }
                 break;
             case TO_CHARGE:
@@ -224,7 +227,7 @@
                 }
                 task = null;
                 if (!mainLockWrapService.buildMinorTask(agv.getId(), param.getTaskMode(), null, null)) {
-                    return R.error();
+                    return R.error(TaskTypeType.TO_CHARGE.equals(param.getTaskMode()) ? "鍘诲厖鐢典换鍔′笅鍙戝け璐�" : "鍘诲緟鏈轰綅浠诲姟涓嬪彂澶辫触");
                 }
                 break;
             case LOC_TO_LOC:
@@ -236,7 +239,7 @@
                     oriLoc = locService.selectByLocNo(param.getStartLocNoStr());
                 }
                 if (null == oriLoc) {
-                    return R.error();
+                    return R.error("璧峰搴撲綅涓嶅瓨鍦�");
                 }
                 if (!agvAreaDispatcher.match(agv.getId(), oriLoc.getCode())) {
 //                    throw new BusinessException("AGV " + agv.getUuid() + " failed to reach target code " + oriLoc.getCode$());
@@ -261,7 +264,7 @@
                     destLoc = locService.selectByLocNo(param.getEndLocNoStr());
                 }
                 if (null == destLoc) {
-                    return R.error();
+                    return R.error("鐩爣搴撲綅涓嶅瓨鍦�");
                 }
                 if (!agvAreaDispatcher.match(agv.getId(), destLoc.getCode())) {
 //                    throw new BusinessException("AGV " + agv.getUuid() + " failed to reach target code " + destLoc.getCode$());
@@ -293,7 +296,7 @@
                     oriLoc = locService.selectByLocNo(param.getStartLocNoStr());
                 }
                 if (null == oriLoc) {
-                    return R.error();
+                    return R.error("璧峰搴撲綅涓嶅瓨鍦�");
                 }
                 if (!agvAreaDispatcher.match(agv.getId(), oriLoc.getCode())) {
 //                    throw new BusinessException("AGV " + agv.getUuid() + " failed to reach target code " + oriLoc.getCode$());
@@ -318,7 +321,7 @@
                     destSta = staService.selectByStaNo(param.getEndStaNoStr());
                 }
                 if (null == destSta) {
-                    return R.error();
+                    return R.error("鐩爣绔欑偣涓嶅瓨鍦�");
                 }
                 if (!agvAreaDispatcher.match(agv.getId(), destSta.getCode())) {
 //                    throw new BusinessException("AGV " + agv.getUuid() + " failed to reach target code " + destSta.getCode$());
@@ -344,7 +347,7 @@
                     oriSta = staService.selectByStaNo(param.getStartStaNoStr());
                 }
                 if (null == oriSta) {
-                    return R.error();
+                    return R.error("璧峰绔欑偣涓嶅瓨鍦�");
                 }
                 if (!agvAreaDispatcher.match(agv.getId(), oriSta.getCode())) {
 //                    throw new BusinessException("AGV " + agv.getUuid() + " failed to reach target code " + oriSta.getCode$());
@@ -362,7 +365,7 @@
                     destLoc = locService.selectByLocNo(param.getEndLocNoStr());
                 }
                 if (null == destLoc) {
-                    return R.error();
+                    return R.error("鐩爣搴撲綅涓嶅瓨鍦�");
                 }
                 if (!agvAreaDispatcher.match(agv.getId(), destLoc.getCode())) {
 //                    throw new BusinessException("AGV " + agv.getUuid() + " failed to reach target code " + destLoc.getCode$());
@@ -396,7 +399,7 @@
                     oriSta = staService.selectByStaNo(param.getStartStaNoStr());
                 }
                 if (null == oriSta) {
-                    return R.error();
+                    return R.error("璧峰绔欑偣涓嶅瓨鍦�");
                 }
                 if (!agvAreaDispatcher.match(agv.getId(), oriSta.getCode())) {
 //                    throw new BusinessException("AGV " + agv.getUuid() + " failed to reach target code " + oriSta.getCode$());
@@ -415,7 +418,7 @@
                     destSta = staService.selectByStaNo(param.getEndStaNoStr());
                 }
                 if (null == destSta) {
-                    return R.error();
+                    return R.error("鐩爣绔欑偣涓嶅瓨鍦�");
                 }
                 if (!agvAreaDispatcher.match(agv.getId(), destSta.getCode())) {
 //                    throw new BusinessException("AGV " + agv.getUuid() + " failed to reach target code " + destSta.getCode$());
@@ -449,11 +452,11 @@
     @PostMapping("/control/agv/charge/stop")
     public R stopCharging(@RequestHeader String appKey,
                           @RequestBody HandlerPublishParam param) {
-        if (Cools.isEmpty(param.getAgvNo(), appKey)) {
-            return R.error();
+        if (param == null || Cools.isEmpty(param.getAgvNo(), appKey)) {
+            return R.error("鍙傛暟涓嶅畬鏁达紝璇锋鏌GV");
         }
         if (!APP_KEY.equals(appKey)) {
-            return R.error();
+            return R.error("appKey鏍¢獙澶辫触");
         }
 
         Agv agv = agvService.selectByUuid(param.getAgvNo());
@@ -463,7 +466,7 @@
 
         if (!agvService.judgeEnable(agv.getId())) {
             log.info("{}鍙稟GV涓嶅彲鐢紝鍋滄鍏呯數澶辫触...", agv.getUuid());
-            return R.error();
+            return R.error("褰撳墠AGV涓嶅彲鐢紝鏃犳硶鏂紑鍏呯數");
         }
 
         AgvModel agvModel = agvModelService.getByAgvId(agv.getId());
@@ -483,11 +486,11 @@
     @Transactional
     public R cancelAgvTask(@RequestHeader String appKey,
                            @RequestBody HandlerPublishParam param) {
-        if (Cools.isEmpty(param.getAgvNo(), appKey)) {
-            return R.error();
+        if (param == null || Cools.isEmpty(param.getAgvNo(), appKey)) {
+            return R.error("鍙傛暟涓嶅畬鏁达紝璇锋鏌GV");
         }
         if (!APP_KEY.equals(appKey)) {
-            return R.error();
+            return R.error("appKey鏍¢獙澶辫触");
         }
 
         Agv agv = agvService.selectByUuid(param.getAgvNo());
@@ -497,7 +500,7 @@
 
         if (!agvService.judgeEnable(agv.getId())) {
             log.info("{}鍙稟GV涓嶅彲鐢紝鍙栨秷浠诲姟澶辫触...", agv.getUuid());
-            return R.error();
+            return R.error("褰撳墠AGV涓嶅彲鐢紝鏃犳硶鍙栨秷浠诲姟");
         }
 
         AgvModel agvModel = agvModelService.getByAgvId(agv.getId());
@@ -533,11 +536,11 @@
     @PostMapping("/control/agv/load/lift/up")
     public R liftAgvLoadPlatform(@RequestHeader String appKey,
                                  @RequestBody HandlerPublishParam param) {
-        if (Cools.isEmpty(param.getAgvNo(), appKey)) {
-            return R.error();
+        if (param == null || Cools.isEmpty(param.getAgvNo(), appKey)) {
+            return R.error("鍙傛暟涓嶅畬鏁达紝璇锋鏌GV");
         }
         if (!APP_KEY.equals(appKey)) {
-            return R.error();
+            return R.error("appKey鏍¢獙澶辫触");
         }
 
         Agv agv = agvService.selectByUuid(param.getAgvNo());
@@ -546,7 +549,7 @@
         }
         if (!agvService.judgeEnable(agv.getId())) {
             log.info("{}鍙稟GV涓嶅彲鐢紝涓惧崌澶辫触...", agv.getUuid());
-            return R.error();
+            return R.error("褰撳墠AGV涓嶅彲鐢紝鏃犳硶鎵ц杞借揣鍙颁妇鍗�");
         }
         AgvModel agvModel = agvModelService.getByAgvId(agv.getId());
         if (agvModel == null || !AgvModelType.UNDERDRIVE_AGV.toString().equals(agvModel.getType())) {
@@ -567,11 +570,11 @@
     @PostMapping("/control/agv/load/lift/down")
     public R downAgvLoadPlatform(@RequestHeader String appKey,
                                  @RequestBody HandlerPublishParam param) {
-        if (Cools.isEmpty(param.getAgvNo(), appKey)) {
-            return R.error();
+        if (param == null || Cools.isEmpty(param.getAgvNo(), appKey)) {
+            return R.error("鍙傛暟涓嶅畬鏁达紝璇锋鏌GV");
         }
         if (!APP_KEY.equals(appKey)) {
-            return R.error();
+            return R.error("appKey鏍¢獙澶辫触");
         }
 
         Agv agv = agvService.selectByUuid(param.getAgvNo());
@@ -580,7 +583,7 @@
         }
         if (!agvService.judgeEnable(agv.getId())) {
             log.info("{}鍙稟GV涓嶅彲鐢紝涓嬫斁澶辫触...", agv.getUuid());
-            return R.error();
+            return R.error("褰撳墠AGV涓嶅彲鐢紝鏃犳硶鎵ц杞借揣鍙颁笅闄�");
         }
         AgvModel agvModel = agvModelService.getByAgvId(agv.getId());
         if (agvModel == null || !AgvModelType.UNDERDRIVE_AGV.toString().equals(agvModel.getType())) {
@@ -597,10 +600,10 @@
     @RequestMapping(value = "/restore/agv", method = {RequestMethod.GET, RequestMethod.POST})
     public R restoreAgv(@RequestHeader String appKey, @RequestBody HandlerPublishParam param) {
         if (Cools.isEmpty(appKey)) {
-            return R.error();
+            return R.error("appKey涓嶈兘涓虹┖");
         }
         if (!APP_KEY.equals(appKey)) {
-            return R.error();
+            return R.error("appKey鏍¢獙澶辫触");
         }
 
         Agv agv = null;
@@ -658,14 +661,17 @@
     @RequestMapping(value = "/unlock", method = {RequestMethod.GET, RequestMethod.POST})
     public R unlockPath(@RequestHeader String appKey,
                               @RequestBody HandlerPublishParam param) throws ExecutionException, InterruptedException {
-        if (Cools.isEmpty(param.getAgvNo(), appKey)) {
-            return R.error();
+        if (param == null || Cools.isEmpty(param.getAgvNo(), appKey)) {
+            return R.error("鍙傛暟涓嶅畬鏁达紝璇锋鏌GV");
         }
         if (!APP_KEY.equals(appKey)) {
-            return R.error();
+            return R.error("appKey鏍¢獙澶辫触");
         }
 
         Agv agv = agvService.selectByUuid(param.getAgvNo());
+        if (agv == null) {
+            return R.error("AGV涓嶅瓨鍦�");
+        }
 
         // block
 //        Future<R> future = threadPoolRegulator.getInstance().submit(() -> {
@@ -694,11 +700,11 @@
     @RequestMapping(value = "/agv/patrol", method = {RequestMethod.GET, RequestMethod.POST})
     public R agvPatrol(@RequestHeader String appKey,
                         @RequestBody HandlerPublishParam param) throws ExecutionException, InterruptedException {
-        if (Cools.isEmpty(param.getAgvNo(), appKey)) {
-            return R.error();
+        if (param == null || Cools.isEmpty(param.getAgvNo(), appKey)) {
+            return R.error("鍙傛暟涓嶅畬鏁达紝璇锋鏌GV");
         }
         if (!APP_KEY.equals(appKey)) {
-            return R.error();
+            return R.error("appKey鏍¢獙澶辫触");
         }
         String agvNo = param.getAgvNo();
         if (patrolService.isPatrolling(agvNo)) {

--
Gitblit v1.9.1