From 9f19c2ea1a1d4e94460eb2d881b7cf8cc10e66df Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 14 十一月 2024 10:42:10 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java |   46 +++++++++++-----------------------------------
 1 files changed, 11 insertions(+), 35 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 c5b0a72..4fcedee 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
@@ -15,7 +15,6 @@
 import com.zy.acs.common.enums.AgvCompleteType;
 import com.zy.acs.common.enums.AgvDirectionType;
 import com.zy.acs.common.enums.AgvSpeedType;
-import com.zy.acs.common.utils.RedisSupport;
 import com.zy.acs.common.utils.Utils;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.framework.common.SnowflakeIdWorker;
@@ -25,6 +24,7 @@
 import com.zy.acs.manager.common.exception.BusinessException;
 import com.zy.acs.manager.common.utils.CommonUtil;
 import com.zy.acs.manager.core.domain.AgvBackpackDto;
+import com.zy.acs.manager.core.domain.Lane;
 import com.zy.acs.manager.core.domain.TaskPosDto;
 import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
 import com.zy.acs.manager.manager.controller.param.OpenBusSubmitParam;
@@ -41,7 +41,6 @@
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.util.*;
-import java.util.concurrent.locks.ReentrantLock;
 import java.util.stream.Collectors;
 
 /**
@@ -50,10 +49,6 @@
 @Slf4j
 @Component("mainService")
 public class MainService {
-
-    private final RedisSupport redis = RedisSupport.defaultRedisSupport;
-    private static final int LOCK_TIMEOUT = 5;
-    private final ReentrantLock lock = new ReentrantLock(Boolean.TRUE);
 
     @Autowired
     private BusService busService;
@@ -97,6 +92,8 @@
     private TrafficService trafficService;
     @Autowired
     private AgvModelService agvModelService;
+    @Autowired
+    private LaneService laneService;
 
 
     @SuppressWarnings("all")
@@ -235,35 +232,6 @@
                     throw new BusinessException("seqNum: " + task.getSeqNum() + " failed to update");
                 }
             }
-
-
-            // ------------------------------------------
-
-
-//
-//            Map<String, List<Long>> taskAllot = new HashMap<>();
-//            for (Task task : taskList) {
-//                Agv agv = missionAssignService.execute(task, taskAllot, taskIds);
-//                if (null == agv) {
-//                    log.warn("Task[{}] has an issue锛� because it failed to checkout agv which is idle...", task.getSeqNum());
-//                    continue;
-//                }
-//
-//
-//                task.setAgvId(agv.getId());
-//                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 (taskAllot.containsKey(agv.getUuid())) {
-//                    taskAllot.get(agv.getUuid()).add(task.getId());
-//                } else {
-//                    taskAllot.put(agv.getUuid(), Utils.singletonList(task.getId()));
-//                }
-//            }
         } catch (Exception e) {
             log.error("mainService.infuseAgvForTask", e);
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -560,6 +528,9 @@
             if (null == endCode) {
                 return false;
             }
+            if (!allocateService.validCapacityOfLane(agv, endCode)) {
+                throw new BusinessException("the lane with code:" + endCode.getData() + " is full of AGV[" + agv.getUuid() + "]!!!");
+            }
 
             Task task = new Task();
             task.setAgvId(agv.getId());
@@ -568,6 +539,11 @@
             task.setSeqNum(Utils.generateSeqNum(Cools.isEmpty(lastTasks)?null:lastTasks.get(0).getSeqNum()));
             task.setOriCode(agvDetail.getCode());
             task.setDestCode(endCode.getId());
+            // lane
+            Lane destLane = laneService.search(endCode.getData());
+            if (null != destLane) {
+                task.setDestLaneHash(destLane.getHashCode());
+            }
             task.setPriority(taskType.equals(TaskTypeType.TO_CHARGE)?2:1);
             task.setTaskSts(TaskStsType.ASSIGN.val());
             task.setTaskType(taskType.val());

--
Gitblit v1.9.1