From 4a7f884100b5583b1fe1fbe3d9e5f2c5ace7b624 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期三, 27 三月 2024 09:29:36 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java   |   37 ++++++++
 zy-asrs-wcs/src/main/resources/mapper/rcs/MotionMapper.xml                         |    3 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/ZoneController.java      |    3 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java          |   47 ++++++-----
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BusController.java       |    3 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/DeviceCtgController.java |    3 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/WorkZoneType.java       |    6 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/entity/MotionCtg.java                |   18 ++--
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocCtgController.java    |    3 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/TaskService.java            |    2 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/TaskServiceImpl.java   |    5 +
 zy-asrs-wcs/src/main/resources/mapper/core/TaskMapper.xml                          |    4 +
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocController.java       |    3 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/service/impl/MotionServiceImpl.java  |   16 ++++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/MainProcess.java                    |    4 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BusStsController.java    |    3 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TestController.java      |   44 +++++++++++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskCtgController.java   |    3 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/TaskMapper.java              |    2 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java      |    3 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocStsController.java    |    3 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskStsController.java   |    3 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/service/MotionService.java           |    3 
 23 files changed, 173 insertions(+), 48 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/MainProcess.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/MainProcess.java
index c674ce2..e53be9c 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/MainProcess.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/MainProcess.java
@@ -53,8 +53,8 @@
 ////                    mainService.stnToCrnStnPick();
 //                    // 鍑哄簱 =====>>
 //                    mainService.generateOutboundWrkMast();
-//                    // 瑙f瀽鍏ュ簱宸ヤ綔妗�
-//                    mainService.analyzeInBoundWrk();
+                    // 瑙f瀽鍏ュ簱宸ヤ綔妗�
+                    mainService.analyzeInBoundTask();
 //                    // 寮傚父淇℃伅璁板綍
 //                    mainService.recErr();
 //                    // 鍏ュ簱  ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐�
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BusController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BusController.java
index 8a1637c..62ddc5e 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BusController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BusController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
 import com.zy.asrs.wcs.common.domain.PageParam;
 import com.zy.asrs.wcs.core.entity.Bus;
 import com.zy.asrs.wcs.core.service.BusService;
+import com.zy.asrs.wcs.system.controller.BaseController;
 import com.zy.asrs.wcs.utils.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BusStsController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BusStsController.java
index 722d73f..c2ac096 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BusStsController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BusStsController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
 import com.zy.asrs.wcs.common.domain.PageParam;
 import com.zy.asrs.wcs.core.entity.BusSts;
 import com.zy.asrs.wcs.core.service.BusStsService;
+import com.zy.asrs.wcs.system.controller.BaseController;
 import com.zy.asrs.wcs.utils.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/DeviceCtgController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/DeviceCtgController.java
index 91bf347..68f6bf2 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/DeviceCtgController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/DeviceCtgController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
 import com.zy.asrs.wcs.common.domain.PageParam;
 import com.zy.asrs.wcs.core.entity.DeviceCtg;
 import com.zy.asrs.wcs.core.service.DeviceCtgService;
+import com.zy.asrs.wcs.system.controller.BaseController;
 import com.zy.asrs.wcs.utils.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocController.java
index 4e9622f..8971b49 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
 import com.zy.asrs.wcs.common.domain.PageParam;
 import com.zy.asrs.wcs.core.entity.Loc;
 import com.zy.asrs.wcs.core.service.LocService;
+import com.zy.asrs.wcs.system.controller.BaseController;
 import com.zy.asrs.wcs.utils.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocCtgController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocCtgController.java
index 8eb158c..c16e989 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocCtgController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocCtgController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
 import com.zy.asrs.wcs.common.domain.PageParam;
 import com.zy.asrs.wcs.core.entity.LocCtg;
 import com.zy.asrs.wcs.core.service.LocCtgService;
+import com.zy.asrs.wcs.system.controller.BaseController;
 import com.zy.asrs.wcs.utils.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocStsController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocStsController.java
index ab56517..e1fdfe9 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocStsController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/LocStsController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
 import com.zy.asrs.wcs.common.domain.PageParam;
 import com.zy.asrs.wcs.core.entity.LocSts;
 import com.zy.asrs.wcs.core.service.LocStsService;
+import com.zy.asrs.wcs.system.controller.BaseController;
 import com.zy.asrs.wcs.utils.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java
index dec5eff..930d6cb 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
 import com.zy.asrs.wcs.common.domain.PageParam;
 import com.zy.asrs.wcs.core.entity.Task;
 import com.zy.asrs.wcs.core.service.TaskService;
+import com.zy.asrs.wcs.system.controller.BaseController;
 import com.zy.asrs.wcs.utils.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskCtgController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskCtgController.java
index dbdc4fb..ac631d0 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskCtgController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskCtgController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
 import com.zy.asrs.wcs.common.domain.PageParam;
 import com.zy.asrs.wcs.core.entity.TaskCtg;
 import com.zy.asrs.wcs.core.service.TaskCtgService;
+import com.zy.asrs.wcs.system.controller.BaseController;
 import com.zy.asrs.wcs.utils.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskStsController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskStsController.java
index fa3263f..fea3bc6 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskStsController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TaskStsController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
 import com.zy.asrs.wcs.common.domain.PageParam;
 import com.zy.asrs.wcs.core.entity.TaskSts;
 import com.zy.asrs.wcs.core.service.TaskStsService;
+import com.zy.asrs.wcs.system.controller.BaseController;
 import com.zy.asrs.wcs.utils.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TestController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TestController.java
new file mode 100644
index 0000000..fe85f54
--- /dev/null
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/TestController.java
@@ -0,0 +1,44 @@
+package com.zy.asrs.wcs.core.controller;
+
+import com.zy.asrs.framework.common.R;
+import com.zy.asrs.framework.common.SnowflakeIdWorker;
+import com.zy.asrs.wcs.core.entity.Task;
+import com.zy.asrs.wcs.core.service.TaskService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+
+@RestController
+public class TestController {
+
+    @Autowired
+    private TaskService taskService;
+    @Autowired
+    private SnowflakeIdWorker snowflakeIdWorker;
+
+    @RequestMapping("/testGenerateTask")
+    public R testGenerateTask() {
+        Task task = new Task();
+        task.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
+        task.setTaskNo("9999");
+        task.setTaskSts(1L);
+        task.setTaskCtg(1L);
+        task.setPriority(10);
+        task.setOriginSite("1");
+        task.setOriginLoc("");
+        task.setDestSite("2");
+        task.setDestLoc("0100101");
+        task.setEmptyMk(0);
+        task.setZpallet("80000001");
+        task.setIoTime(new Date());
+        task.setStartTime(new Date());
+        task.setHostId(1L);
+        task.setStatus(1);
+
+        taskService.save(task);
+        return R.ok();
+    }
+
+}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/ZoneController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/ZoneController.java
index ab2bd36..c37cd95 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/ZoneController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/ZoneController.java
@@ -1,4 +1,4 @@
-package com.zy.asrs.wcs.system.controller;
+package com.zy.asrs.wcs.core.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -10,6 +10,7 @@
 import com.zy.asrs.wcs.common.domain.PageParam;
 import com.zy.asrs.wcs.core.entity.Zone;
 import com.zy.asrs.wcs.core.service.ZoneService;
+import com.zy.asrs.wcs.system.controller.BaseController;
 import com.zy.asrs.wcs.utils.ExcelUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
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 ae54ee7..08e117f 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
@@ -11,7 +11,9 @@
 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.rcs.entity.Motion;
+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.rcs.service.MotionService;
@@ -70,18 +72,21 @@
          * 5.绌挎杞﹀叆搴撹嚦鐩爣搴撲綅
          */
         if (task.getTaskSts() == TaskStsType.NEW_INBOUND.sts) {
-            // lift
-            LiftThread liftThread = liftDispatcher.queryLiftForTransport(task.getOriginSite());
-            LiftProtocol liftProtocol = liftThread.getStatus();
-            if (liftProtocol == null) {
-                return motionList;
-            }
+//            // lift
+//            LiftThread liftThread = liftDispatcher.queryLiftForTransport(task.getOriginSite());
+//            LiftProtocol liftProtocol = liftThread.getStatus();
+//            if (liftProtocol == null) {
+//                return motionList;
+//            }
 
             // shuttle
-            ShuttleThread shuttleThread = shuttleDispatcher.queryShuttleWhichConvenient(task, Integer.parseInt(liftThread.getStatus().getLiftNo()));
+//            ShuttleThread shuttleThread = shuttleDispatcher.queryShuttleWhichConvenient(task, Integer.parseInt(liftThread.getStatus().getLiftNo()));
+//            ShuttleThread shuttleThread = shuttleDispatcher.queryShuttleWhichConvenient(task, 1);
+            ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, 6);
             if (Cools.isEmpty(shuttleThread)) { return motionList; }
             ShuttleProtocol shuttleProtocol = shuttleThread.getStatus();
-            String shuttleLocNo = shuttleProtocol.getCurrentLocNo();
+//            String shuttleLocNo = shuttleProtocol.getCurrentLocNo();
+            String shuttleLocNo = "0100201";
 
 //            // conveyor
 //            DevpSlave devpSlave = conveyorDispatcher.queryByInBound(task.getSourceStaNo());
@@ -101,20 +106,20 @@
 //                return motionList;
 //            }
 
-            //绌挎杞﹀埌鎻愬崌鏈哄簱浣嶅彿
-            String liftLocNoTo = LiftCodeType.getLocNo(Integer.parseInt(liftNo), Utils.getLev(shuttleLocNo), task.getHostId());
-
-            //绌挎杞﹀嚭鎻愬崌鏈哄簱浣嶅彿
-            String liftLocNoFrom = LiftCodeType.getLocNo(Integer.parseInt(liftNo), Utils.getLev(task.getDestLoc()), task.getHostId());
-
-            //绌挎杞﹀埌鎻愬崌鏈哄緟鏈轰綅搴撲綅鍙�
-            String standbyLocNoTo = LiftCodeType.getStandbyLocNo(Integer.parseInt(liftNo), Utils.getLev(shuttleLocNo));
-
-            //绌挎杞﹀嚭鎻愬崌鏈哄緟鏈轰綅搴撲綅鍙�
-            String standbyLocNoFrom = LiftCodeType.getStandbyLocNo(Integer.parseInt(liftNo), Utils.getLev(task.getDestLoc()));
+//            //绌挎杞﹀埌鎻愬崌鏈哄簱浣嶅彿
+//            String liftLocNoTo = LiftCodeType.getLocNo(Integer.parseInt(liftNo), Utils.getLev(shuttleLocNo), task.getHostId());
+//
+//            //绌挎杞﹀嚭鎻愬崌鏈哄簱浣嶅彿
+//            String liftLocNoFrom = LiftCodeType.getLocNo(Integer.parseInt(liftNo), Utils.getLev(task.getDestLoc()), task.getHostId());
+//
+//            //绌挎杞﹀埌鎻愬崌鏈哄緟鏈轰綅搴撲綅鍙�
+//            String standbyLocNoTo = LiftCodeType.getStandbyLocNo(Integer.parseInt(liftNo), Utils.getLev(shuttleLocNo));
+//
+//            //绌挎杞﹀嚭鎻愬崌鏈哄緟鏈轰綅搴撲綅鍙�
+//            String standbyLocNoFrom = LiftCodeType.getStandbyLocNo(Integer.parseInt(liftNo), Utils.getLev(task.getDestLoc()));
 
             // 鍏ュ簱鐩爣灞傛湁绌挎杞�
-            if (Utils.getLev(shuttleLocNo) == Utils.getLev(task.getOriginLoc())) {
+            if (Utils.getLev(shuttleLocNo) == Utils.getLev(task.getDestLoc())) {
 
                 // 绌挎杞﹁蛋琛岃嚦搴撲綅
                 motionList.addAll(kernelService.shuttleMove(
@@ -353,7 +358,7 @@
             }
 
             shuttleNo = String.valueOf(shuttleProtocol.getShuttleNo());
-            liftNo = String.valueOf(liftProtocol.getLiftNo());
+//            liftNo = String.valueOf(liftProtocol.getLiftNo());
         }
 
         /**
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/TaskMapper.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/TaskMapper.java
index 9f79a85..2c11ed9 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/TaskMapper.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/mapper/TaskMapper.java
@@ -18,4 +18,6 @@
 
     List<Task> selectByExecuteSts();
 
+    List<Task> selectWaitAnalyzeInBoundTask();
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/WorkZoneType.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/WorkZoneType.java
index db1659e..4f56a24 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/WorkZoneType.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/enums/WorkZoneType.java
@@ -7,8 +7,8 @@
 
 public enum WorkZoneType {
 
-    FIRST_ZONE(new ArrayList<Integer>(){{add(1);add(2);}}, 2, 1),
-    SECOND_ZONE(new ArrayList<Integer>(){{add(3);add(4);}}, 2, 1),
+    FIRST_ZONE(new ArrayList<Integer>(){{add(1);add(2);}}, 1, 1),
+    SECOND_ZONE(new ArrayList<Integer>(){{add(3);add(4);}}, 1, 1),
     THIRD_ZONE(new ArrayList<Integer>(){{add(5);add(6);add(7);add(8);add(9);add(10);add(11);}}, 1, 2)
     ;
 
@@ -24,7 +24,7 @@
 
     public static WorkZoneType query(String sta) {
         for (WorkZoneType value : WorkZoneType.values()) {
-            if (value.staList.contains(String.valueOf(sta))) {
+            if (value.staList.contains(Integer.valueOf(sta))) {
                 return value;
             }
         }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/TaskService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/TaskService.java
index daaa99a..338afcb 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/TaskService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/TaskService.java
@@ -15,4 +15,6 @@
 
     List<Task> selectByExecuteSts();
 
+    List<Task> selectWaitAnalyzeInBoundTask();
+
 }
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 488dd34..6089dc4 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
@@ -1,11 +1,16 @@
 package com.zy.asrs.wcs.core.service.impl;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
+import com.zy.asrs.wcs.core.entity.Task;
+import com.zy.asrs.wcs.core.kernel.AnalyzeService;
+import com.zy.asrs.wcs.core.model.enums.TaskStsType;
+import com.zy.asrs.wcs.core.service.TaskService;
+import com.zy.asrs.wcs.rcs.News;
+import com.zy.asrs.wcs.rcs.entity.Motion;
+import com.zy.asrs.wcs.rcs.service.MotionService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.util.Date;
 import java.util.List;
@@ -19,6 +24,13 @@
 @Transactional
 public class MainServiceImpl {
 
+    @Autowired
+    private TaskService taskService;
+    @Autowired
+    private AnalyzeService analyzeService;
+    @Autowired
+    private MotionService motionService;
+
     /**
      * 缁勬墭
      * 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 2
@@ -27,4 +39,23 @@
 
     }
 
+    // 瑙f瀽鍏ュ簱宸ヤ綔妗�
+    public synchronized void analyzeInBoundTask() {
+        for (Task task : taskService.selectWaitAnalyzeInBoundTask()) {
+            // generate motion list
+            List<Motion> motionList = analyzeService.generateMotion(task);
+            if (motionList.isEmpty()) {
+                continue;
+            }
+            motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()));
+
+            // 鏇存柊宸ヤ綔涓绘。
+            task.setTaskSts(TaskStsType.ANALYZE_INBOUND.sts); // 宸ヤ綔鐘舵��
+            task.setUpdateTime(new Date());
+            if (!taskService.updateById(task)) {
+                News.error("鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", task.getTaskNo());
+            }
+        }
+    }
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/TaskServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/TaskServiceImpl.java
index 09163dc..e4048b9 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/TaskServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/TaskServiceImpl.java
@@ -64,4 +64,9 @@
     public List<Task> selectByExecuteSts() {
         return this.baseMapper.selectByExecuteSts();
     }
+
+    @Override
+    public List<Task> selectWaitAnalyzeInBoundTask() {
+        return this.baseMapper.selectWaitAnalyzeInBoundTask();
+    }
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/entity/MotionCtg.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/entity/MotionCtg.java
index 2ce6eca..e4bc14c 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/entity/MotionCtg.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/entity/MotionCtg.java
@@ -3,6 +3,8 @@
 import java.text.SimpleDateFormat;
 import java.util.Date;
 
+import com.zy.asrs.wcs.core.entity.DeviceCtg;
+import com.zy.asrs.wcs.core.service.DeviceCtgService;
 import com.zy.asrs.wcs.rcs.service.DeviceTypeService;
 import com.zy.asrs.wcs.system.entity.Host;
 import com.zy.asrs.wcs.system.entity.User;
@@ -43,7 +45,7 @@
      * 璁惧绫诲瀷
      */
     @ApiModelProperty(value= "璁惧绫诲瀷")
-    private Long deviceType;
+    private Long deviceCtg;
 
     /**
      * 缂栧彿
@@ -116,8 +118,8 @@
 
     public MotionCtg() {}
 
-    public MotionCtg(Long deviceType,String uuid,String name,String flag,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo,Integer deleted,Long hostId) {
-        this.deviceType = deviceType;
+    public MotionCtg(Long deviceCtg,String uuid,String name,String flag,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo,Integer deleted,Long hostId) {
+        this.deviceCtg = deviceCtg;
         this.uuid = uuid;
         this.name = name;
         this.flag = flag;
@@ -146,11 +148,11 @@
 //            null    // 鎵�灞炴満鏋�
 //    );
 
-    public String getDeviceType$(){
-        DeviceTypeService service = SpringUtils.getBean(DeviceTypeService.class);
-        DeviceType deviceType = service.getById(this.deviceType);
-        if (!Cools.isEmpty(deviceType)){
-            return String.valueOf(deviceType.getId());
+    public String getDeviceCtg$(){
+        DeviceCtgService service = SpringUtils.getBean(DeviceCtgService.class);
+        DeviceCtg deviceCtg = service.getById(this.deviceCtg);
+        if (!Cools.isEmpty(deviceCtg)){
+            return String.valueOf(deviceCtg.getId());
         }
         return null;
     }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/service/MotionService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/service/MotionService.java
index cabcb8f..70fbca0 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/service/MotionService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/service/MotionService.java
@@ -20,4 +20,7 @@
 
     Motion selectOfNext(String uuid, Motion motion);
 
+    // 鎸佷箙鍖� motion 骞剁敓浜riority
+    int batchInsert(List<Motion> motionList, String uuid, Integer taskNo);
+
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/service/impl/MotionServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/service/impl/MotionServiceImpl.java
index 5a492a1..8f20651 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/service/impl/MotionServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/service/impl/MotionServiceImpl.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.wcs.rcs.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zy.asrs.framework.exception.CoolException;
 import com.zy.asrs.wcs.core.model.enums.DeviceCtgType;
@@ -74,4 +75,19 @@
     public Motion selectOfNext(String uuid, Motion motion) {
         return this.baseMapper.selectOfNext(uuid, motion.getPriority(), motion.getHostId());
     }
+
+    @Override
+    public int batchInsert(List<Motion> motionList, String uuid, Integer taskNo) {
+        int i = motionList.size();
+        for (Motion motion : motionList) {
+            motion.setPriority(i);
+            motion.setWrkNo(taskNo);
+            motion.setUuid(uuid);
+            if (!this.save(motion)) {
+                throw new CoolException(JSON.toJSONString(motion) + "鍔ㄤ綔淇濆瓨澶辫触");
+            }
+            i -= 1;
+        }
+        return motionList.size();
+    }
 }
diff --git a/zy-asrs-wcs/src/main/resources/mapper/core/TaskMapper.xml b/zy-asrs-wcs/src/main/resources/mapper/core/TaskMapper.xml
index 6cc04aa..0ed53c7 100644
--- a/zy-asrs-wcs/src/main/resources/mapper/core/TaskMapper.xml
+++ b/zy-asrs-wcs/src/main/resources/mapper/core/TaskMapper.xml
@@ -24,4 +24,8 @@
         order by priority desc,start_time,task_no asc
     </select>
 
+    <select id="selectWaitAnalyzeInBoundTask" resultType="com.zy.asrs.wcs.core.entity.Task">
+        select * from wcs_task where task_ctg = 1 and task_sts = 1
+    </select>
+
 </mapper>
diff --git a/zy-asrs-wcs/src/main/resources/mapper/rcs/MotionMapper.xml b/zy-asrs-wcs/src/main/resources/mapper/rcs/MotionMapper.xml
index 8a2d64c..48a3024 100644
--- a/zy-asrs-wcs/src/main/resources/mapper/rcs/MotionMapper.xml
+++ b/zy-asrs-wcs/src/main/resources/mapper/rcs/MotionMapper.xml
@@ -3,11 +3,12 @@
 <mapper namespace="com.zy.asrs.wcs.rcs.mapper.MotionMapper">
 
     <select id="selectOfTop1" resultType="com.zy.asrs.wcs.rcs.entity.Motion">
-        select top 1 * from rcs_motion
+        select * from rcs_motion
         where 1=1
         and uuid = #{uuid}
         and motion_sts = #{motionSts}
         order by priority desc
+        limit 0,1
     </select>
 
     <select id="selectOfNext" resultType="com.zy.asrs.wcs.rcs.entity.Motion">

--
Gitblit v1.9.1