From 70e8f76e19575de4b21e5c0ff225af7a1849fec6 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 28 十月 2024 09:51:39 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java          |    5 ++
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java |   62 +++++++++++++++++++++++++++----
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/DispatcherTestController.java        |    2 
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java         |    5 ++
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java             |    4 +-
 5 files changed, 67 insertions(+), 11 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DispatcherTestController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DispatcherTestController.java
index a769226..7f0ab7f 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DispatcherTestController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/DispatcherTestController.java
@@ -19,7 +19,7 @@
 
     @GetMapping("/lanes")
     public R getLanes() {
-        return R.ok().add(laneService.getLanePoints("00000010"));
+        return R.ok().add(laneService.search("00000010"));
     }
 
 }
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 8f144e5..750c81b 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
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.manager.common.utils.LocUtils;
+import com.zy.acs.manager.core.domain.Lane;
 import com.zy.acs.manager.manager.entity.Agv;
 import com.zy.acs.manager.manager.entity.AgvModel;
 import com.zy.acs.manager.manager.entity.Task;
@@ -75,6 +76,10 @@
 
         Integer maxAgvCountInLane = configService.getVal("maxAgvCountInLane", Integer.class);
 
+        Lane originLane = taskService.checkoutOriginLane(task);
+        Lane destinationLane = taskService.checkoutDestinationLane(task);
+
+
 
         /**
          * 1.   鍒ゆ柇task鐨勮捣濮嬬偣鍜岀洰鐨勭偣鎵�鍦ㄧ殑宸烽亾鎵胯浇浠诲姟鏁伴噺锛�
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java
index 9eb7351..e03bc62 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java
@@ -45,13 +45,13 @@
         return this.initialized;
     }
 
-    public List<String> getLanePoints(String codeData) {
+    public Lane search(String codeData) {
         if (Cools.isEmpty(codeData) || !this.initialized) {
             return null;
         }
         for (Lane lane : this.lanes) {
             if (lane.getCodes().contains(codeData)) {
-                return lane.getCodes();
+                return lane;
             }
         }
         return null;
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java
index 01dd5e9..cd45ccd 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java
@@ -1,6 +1,7 @@
 package com.zy.acs.manager.manager.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.zy.acs.manager.core.domain.Lane;
 import com.zy.acs.manager.manager.entity.Task;
 import com.zy.acs.manager.manager.enums.TaskStsType;
 
@@ -25,4 +26,8 @@
 
     Boolean cancel(Long taskId, Long userId);
 
+    Lane checkoutOriginLane(Task task);
+
+    Lane checkoutDestinationLane(Task task);
+
 }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java
index 99dd6aa..1121605 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java
@@ -7,16 +7,12 @@
 import com.zy.acs.framework.common.SnowflakeIdWorker;
 import com.zy.acs.framework.exception.CoolException;
 import com.zy.acs.manager.common.exception.BusinessException;
-import com.zy.acs.manager.manager.entity.FuncSta;
-import com.zy.acs.manager.manager.entity.Loc;
-import com.zy.acs.manager.manager.entity.Sta;
-import com.zy.acs.manager.manager.entity.Task;
+import com.zy.acs.manager.core.domain.Lane;
+import com.zy.acs.manager.core.service.LaneService;
+import com.zy.acs.manager.manager.entity.*;
 import com.zy.acs.manager.manager.enums.*;
 import com.zy.acs.manager.manager.mapper.TaskMapper;
-import com.zy.acs.manager.manager.service.CodeService;
-import com.zy.acs.manager.manager.service.FuncStaService;
-import com.zy.acs.manager.manager.service.LocService;
-import com.zy.acs.manager.manager.service.TaskService;
+import com.zy.acs.manager.manager.service.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -33,9 +29,13 @@
     @Autowired
     private LocService locService;
     @Autowired
+    private StaService staService;
+    @Autowired
     private FuncStaService funcStaService;
     @Autowired
     private SnowflakeIdWorker snowflakeIdWorker;
+    @Autowired
+    private LaneService laneService;
 
     @Override
     public synchronized String generateSeqNum() {
@@ -115,6 +115,52 @@
         return Boolean.TRUE;
     }
 
+    @Override
+    public Lane checkoutOriginLane(Task task) {
+        Long codeId = null;
+        TaskTypeType typeType = TaskTypeType.get(task.getTaskTypeEl());
+        switch (Objects.requireNonNull(typeType)) {
+            case LOC_TO_LOC:
+            case LOC_TO_STA:
+                codeId = locService.getById(task.getOriLoc()).getCode();
+                break;
+            case STA_TO_LOC:
+            case STA_TO_STA:
+                codeId = staService.getById(task.getOriSta()).getCode();
+                break;
+            default:
+                break;
+        }
+
+        if (null == codeId) {
+            return null;
+        }
+        return laneService.search(codeService.getById(codeId).getData());
+    }
+
+    @Override
+    public Lane checkoutDestinationLane(Task task) {
+        Long codeId = null;
+        TaskTypeType typeType = TaskTypeType.get(task.getTaskTypeEl());
+        switch (Objects.requireNonNull(typeType)) {
+            case LOC_TO_LOC:
+            case STA_TO_LOC:
+                codeId = locService.getById(task.getDestLoc()).getCode();
+                break;
+            case LOC_TO_STA:
+            case STA_TO_STA:
+                codeId = staService.getById(task.getDestSta()).getCode();
+                break;
+            default:
+                break;
+        }
+
+        if (null == codeId) {
+            return null;
+        }
+        return laneService.search(codeService.getById(codeId).getData());
+    }
+
     @Transactional
     public void maintainLocSts(Task task, Boolean complete) {
         Loc oriLoc = null; Loc destLoc = null;

--
Gitblit v1.9.1