From b678a2c6b0b43feaad90c558b2c2c3bd608deedb Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期六, 22 六月 2024 14:56:00 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/Four-Way-Rack' into Four-Way-Rack

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 6 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java
index 13cf97a..04ba1a8 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java
@@ -2,25 +2,23 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.common.R;
 import com.zy.asrs.wcs.core.domain.dto.MotionDto;
-import com.zy.asrs.wcs.core.entity.ShuttleStandby;
-import com.zy.asrs.wcs.core.entity.Task;
+import com.zy.asrs.wcs.core.entity.*;
 import com.zy.asrs.wcs.core.model.enums.DeviceCtgType;
 import com.zy.asrs.wcs.core.model.enums.MotionCtgType;
+import com.zy.asrs.wcs.core.model.enums.TaskCtgType;
 import com.zy.asrs.wcs.core.model.enums.TaskStsType;
-import com.zy.asrs.wcs.core.service.ShuttleStandbyService;
-import com.zy.asrs.wcs.core.service.TaskService;
+import com.zy.asrs.wcs.core.service.*;
 import com.zy.asrs.wcs.core.utils.ConveyorDispatcher;
 import com.zy.asrs.wcs.core.utils.LiftDispatcher;
 import com.zy.asrs.wcs.core.utils.ShuttleDispatcher;
 import com.zy.asrs.wcs.core.utils.Utils;
 import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
-import com.zy.asrs.wcs.core.entity.Motion;
 import com.zy.asrs.wcs.rcs.entity.Device;
 import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
 import com.zy.asrs.wcs.rcs.model.protocol.LiftProtocol;
 import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol;
-import com.zy.asrs.wcs.core.service.MotionService;
 import com.zy.asrs.wcs.rcs.service.DeviceService;
 import com.zy.asrs.wcs.rcs.thread.LiftThread;
 import com.zy.asrs.wcs.rcs.thread.ShuttleThread;
@@ -53,6 +51,10 @@
     private DeviceService deviceService;
     @Autowired
     private ShuttleStandbyService shuttleStandbyService;
+    @Autowired
+    private BasConveyorPathService basConveyorPathService;
+    @Autowired
+    private TaskCtgService taskCtgService;
 
     public List<Motion> generateMotion(Task task) {
         List<Motion> motionList = new ArrayList<>();
@@ -492,6 +494,22 @@
             //绌挎杞﹀嚭鎻愬崌鏈哄悗灏忚溅寰呮満浣�
             String shuttleFromLiftStandbyLoc = shuttleStandbyFrom.getStandbyLoc();
 
+            //鑾峰彇鍑哄簱浠诲姟绫诲瀷
+            TaskCtg taskCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>()
+                    .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.OUT))
+                    .eq(TaskCtg::getStatus, 1));
+            if (taskCtg == null) {
+                return motionList;
+            }
+            //鑾峰彇杈撻�佺嚎璺緞
+            BasConveyorPath basConveyorPath = basConveyorPathService.getOne(new LambdaQueryWrapper<BasConveyorPath>()
+                    .eq(BasConveyorPath::getDeviceStn, task.getOriginSite())
+                    .eq(BasConveyorPath::getDeviceNo, liftProtocol.getLiftNo())
+                    .eq(BasConveyorPath::getTypeNo, taskCtg.getId()));
+            if (basConveyorPath == null) {
+                return motionList;
+            }
+
             /**
              * 鍑哄簱
              * 涓�銆佸嚭搴撹捣濮嬪眰鏈夌┛姊溅
@@ -616,6 +634,7 @@
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
                             dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞�
                             dto.setStaNo(1);//鎻愬崌鏈哄乏渚�
+                            dto.setSync(0);//寮傛鎵ц
                         }))
                 ));
 
@@ -630,6 +649,19 @@
                             dto.setLocNo(shuttleFromLiftStandbyLoc);
                         })),
                         MotionCtgType.SHUTTLE_MOVE
+                ));
+
+                // 杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛
+                motionList.addAll(kernelService.conveyorOutbound(
+                        MotionDto.build((dto -> {
+                            dto.setDevpNo(basConveyorPath.getDeviceId().intValue());
+                            dto.setStaNo(basConveyorPath.getDeviceStn());
+                        })),
+                        MotionDto.build((dto -> {
+                            dto.setDevpNo(basConveyorPath.getDeviceId().intValue());
+                            dto.setStaNo(basConveyorPath.getStnNo());
+                        })),
+                        MotionCtgType.CONVEYOR_OUTBOUND
                 ));
 
             /**
@@ -861,6 +893,7 @@
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
                             dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞�
                             dto.setStaNo(1);//鎻愬崌鏈哄乏渚�
+                            dto.setSync(0);//寮傛鎵ц
                         }))
                 ));
 
@@ -877,6 +910,19 @@
                         MotionCtgType.SHUTTLE_MOVE
                 ));
 
+                // 杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛
+                motionList.addAll(kernelService.conveyorOutbound(
+                        MotionDto.build((dto -> {
+                            dto.setDevpNo(basConveyorPath.getDeviceId().intValue());
+                            dto.setStaNo(basConveyorPath.getDeviceStn());
+                        })),
+                        MotionDto.build((dto -> {
+                            dto.setDevpNo(basConveyorPath.getDeviceId().intValue());
+                            dto.setStaNo(basConveyorPath.getStnNo());
+                        })),
+                        MotionCtgType.CONVEYOR_OUTBOUND
+                ));
+
             }
 
         }

--
Gitblit v1.9.1