From 4937f052ec2c91b3fdcbb669aef7991912cde98e Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期三, 31 十二月 2025 10:48:28 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java     |   55 ++++++++++++++-------------
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java |    6 ++-
 2 files changed, 33 insertions(+), 28 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
index eee2bb3..f2c6663 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
@@ -91,11 +91,12 @@
         return result;
     }
 
-    public synchronized String execute(Task task, AllocateSupport support) {
+    public synchronized String execute(Task task, AllocateSupport inbound, AllocateSupport normal) {
         // inbound roller station
         Sta rollerOriSta = getInboundRollerSta(task);
         String inboundAgv = tryAllocateForRoller(task, rollerOriSta, true);
         if (!Cools.isEmpty(inboundAgv)) {
+            inbound.success(task, inboundAgv);
             return inboundAgv;
         }
 
@@ -103,12 +104,13 @@
         Sta rollerDestSta = getOutboundRollerSta(task);
         String outboundAgv = tryAllocateForRoller(task, rollerDestSta, false);
         if (!Cools.isEmpty(outboundAgv)) {
+            normal.success(task, outboundAgv);
             return outboundAgv;
         }
 
         String normalAgv = this.normalExecute(task);
         if (!Cools.isEmpty(normalAgv)) {
-            support.success(task, normalAgv);
+            normal.success(task, normalAgv);
             return normalAgv;
         }
 
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 8853796..13ef79e 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
@@ -246,33 +246,36 @@
             }
 
             List<Long> taskIds = taskList.stream().map(Task::getId).distinct().collect(Collectors.toList());
-            for (Task task : taskList) {
-                String agvNo = allocateService.execute(task, new AllocateSupport() {
-                    @Override
-                    public void success(Task task, String agvNo) {
-                        if (Cools.isEmpty(agvNo)) {
-                            return;
+            for (Task t : taskList) {
+                String resultAgvNo = allocateService.execute(t
+                        // inbound
+                        , (task, agvNo) -> {
+
                         }
-                        task.setAgvId(agvService.getAgvId(agvNo));
-                        task.setTaskSts(TaskStsType.WAITING.val());
-                        task.setIoTime(now);
-                        task.setUpdateTime(now);
-                        if (!taskService.updateById(task)) {
-                            throw new BusinessException("seqNum: " + task.getSeqNum() + " failed to update");
-                        }
-                    }
-                });
-                if (Cools.isEmpty(agvNo)) {
-//                    log.warn("Task[{}] has an issue锛� because it failed to check out agv which is idle...", task.getSeqNum());
-                    continue;
-                }
-                task.setAgvId(agvService.getAgvId(agvNo));
-                task.setTaskSts(TaskStsType.WAITING.val());
-                task.setIoTime(now);
-                task.setUpdateTime(now);
-                if (!taskService.updateById(task)) {
-                    throw new BusinessException("seqNum: " + task.getSeqNum() + " failed to update");
-                }
+                        // normal
+                        , (task, agvNo) -> {
+                            if (Cools.isEmpty(agvNo)) {
+                                return;
+                            }
+                            task.setAgvId(agvService.getAgvId(agvNo));
+                            task.setTaskSts(TaskStsType.WAITING.val());
+                            task.setIoTime(now);
+                            task.setUpdateTime(now);
+                            if (!taskService.updateById(task)) {
+                                throw new BusinessException("seqNum: " + task.getSeqNum() + " failed to update");
+                            }
+                        });
+//                if (Cools.isEmpty(agvNo)) {
+////                    log.warn("Task[{}] has an issue锛� because it failed to check out agv which is idle...", task.getSeqNum());
+//                    continue;
+//                }
+//                task.setAgvId(agvService.getAgvId(agvNo));
+//                task.setTaskSts(TaskStsType.WAITING.val());
+//                task.setIoTime(now);
+//                task.setUpdateTime(now);
+//                if (!taskService.updateById(task)) {
+//                    throw new BusinessException("seqNum: " + task.getSeqNum() + " failed to update");
+//                }
             }
         } catch (Exception e) {
             log.error("mainService.infuseAgvForTask", e);

--
Gitblit v1.9.1