From 79603e53c78e535dba4bfbc69b8c3b5c184012c5 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期一, 08 四月 2024 09:16:05 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
index 7c6e2d7..a342164 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
@@ -9,11 +9,13 @@
 import com.zy.asrs.wcs.core.model.enums.MotionStsType;
 import com.zy.asrs.wcs.core.model.enums.TaskStsType;
 import com.zy.asrs.wcs.core.service.*;
+import com.zy.asrs.wcs.core.utils.ShuttleDispatcher;
 import com.zy.asrs.wcs.core.utils.Utils;
 import com.zy.asrs.wcs.rcs.News;
 import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
 import com.zy.asrs.wcs.rcs.entity.Device;
 import com.zy.asrs.wcs.rcs.entity.DeviceType;
+import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType;
 import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
 import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol;
 import com.zy.asrs.wcs.rcs.model.protocol.StaProtocol;
@@ -61,6 +63,8 @@
     private TaskCtgService taskCtgService;
     @Autowired
     private DictService dictService;
+    @Autowired
+    private ShuttleDispatcher shuttleDispatcher;
 
     /**
      * 缁勬墭
@@ -191,6 +195,10 @@
                 continue;
             }
 
+            if (!shuttleProtocol.getProtocolStatusType().equals(ShuttleProtocolStatusType.IDLE)) {
+                continue;
+            }
+
             String currentLocNo = shuttleProtocol.getCurrentLocNo();
             int lev = Utils.getLev(currentLocNo);//鑾峰彇灏忚溅妤煎眰
             //鎼滅储灏忚溅褰撳墠妤煎眰鍏呯數妗�
@@ -251,11 +259,16 @@
                 continue;
             }
 
+            Task taskCharge = taskService.selectChargeWorking(Integer.valueOf(device.getDeviceNo()));
+            if (taskCharge != null) {//宸叉湁鍏呯數浠诲姟
+                continue;
+            }
+
             String chargeLocNo = chargeLoc.getLocNo();
             Task task = new Task();
             task.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
             task.setTaskNo(String.valueOf(Utils.getTaskNo("CHARGE")));
-            task.setTaskSts(TaskStsType.NEW_CHARGE.sts);
+            task.setTaskSts(TaskStsType.NEW_CHARGE.getId());
             task.setTaskCtg(taskCtg.getId());
             task.setPriority(10);
             task.setOriginSite(null);
@@ -346,16 +359,19 @@
                 continue;
             }
 
+            //鑾峰彇閬胯浣嶇疆
+            String standByLocNo = shuttleDispatcher.searchStandByLocNo(Integer.valueOf(device.getDeviceNo()), device.getHostId(), shuttleThread.getStatus().getCurrentLocNo());
+
             Task task = new Task();
             task.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
             task.setTaskNo(String.valueOf(Utils.getTaskNo("MOVE")));
-            task.setTaskSts(TaskStsType.NEW_MOVE.sts);
+            task.setTaskSts(TaskStsType.NEW_MOVE.getId());
             task.setTaskCtg(taskCtg.getId());
             task.setPriority(10);
             task.setOriginSite(null);
             task.setOriginLoc(null);
             task.setDestSite(null);
-            task.setDestLoc("1-1-1"); // 鏆傛椂鏈畾
+            task.setDestLoc(standByLocNo); // 閬胯浣嶇疆
             task.setIoTime(new Date());
             task.setStartTime(new Date());
             task.setHostId(device.getHostId());

--
Gitblit v1.9.1