From 5fd478fcee23bbdac0fe4fbe9becdd2a28d14c56 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期六, 13 七月 2024 14:27:04 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/LiftOperatorParam.java  |    6 
 zy-asrs-flow/src/pages/device/shuttle/index.jsx                                     |    2 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java       |    4 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java           |  282 ++++++------------------------
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLiftController.java    |   10 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java |    4 
 zy-asrs-flow/src/pages/device/lift/index.jsx                                        |   53 ++++-
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java               |    4 
 zy-asrs-wcs/src/main/resources/application.yml                                      |    2 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java       |   31 +-
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java       |  132 +++++++-------
 11 files changed, 202 insertions(+), 328 deletions(-)

diff --git a/zy-asrs-flow/src/pages/device/lift/index.jsx b/zy-asrs-flow/src/pages/device/lift/index.jsx
index 8d80fb7..d6e0405 100644
--- a/zy-asrs-flow/src/pages/device/lift/index.jsx
+++ b/zy-asrs-flow/src/pages/device/lift/index.jsx
@@ -13,8 +13,11 @@
     const [ws, setWs] = useState(null);
     const [openOpera, setOpenOpera] = useState(false);
     const [currentData, setCurrentData] = useState(null);
-    const [moveLocType, setMoveLocType] = useState(1);
     const [mapLev, setMapLev] = useState([]);
+    const [targetLoc, setTargetLoc] = useState(1);
+    const [originLoc, setOriginLoc] = useState(null);
+    const [originSite, setOriginSite] = useState(null);
+    const [targetSite, setTargetSite] = useState(null);
 
     useEffect(() => {
         connect();
@@ -91,7 +94,6 @@
 
     const showOpera = (data) => {
         setOpenOpera(true);
-        console.log(data);
         setCurrentData(data);
     };
 
@@ -123,8 +125,20 @@
         }
     }
 
-    const targetLocChange = (e) => {
-        setTargetLoc(e.target.value)
+    const targetLocChange = (value) => {
+        setTargetLoc(value)
+    }
+
+    const originLocChange = (e) => {
+        setOriginLoc(e.target.value)
+    }
+
+    const targetSiteChange = (e) => {
+        setTargetSite(e.target.value)
+    }
+
+    const originSiteChange = (e) => {
+        setOriginSite(e.target.value)
     }
 
     const liftOperator = async (type) => {
@@ -132,8 +146,10 @@
             const resp = await Http.doPost('api/basLift/operator/lift', {
                 liftNo: currentData.liftNo,
                 liftTaskMode: type,
-                sourceStaNo: 0,
-                staNo: moveLocType
+                sourceStaNo: originSite,
+                staNo: targetSite,
+                sourceLev: originLoc,
+                targetLev: targetLoc,
             });
             if (resp.code === 200) {
                 message.success("璇锋眰鎴愬姛");
@@ -146,10 +162,6 @@
             message.warning("璇锋眰澶辫触");
             return false;
         }
-    }
-
-    const moveLocTypeChange = (e) => {
-        setMoveLocType(e)
     }
 
     let codeContent = (<PageContainer
@@ -247,12 +259,23 @@
                             <p>
                                 <Select
                                     defaultValue="1"
-                                    onChange={moveLocTypeChange}
+                                    onChange={targetLocChange}
                                     style={{ width: 120 }}
                                     options={mapLev}
                                 />
-                                <span><Button onClick={() => liftOperator('move')}>绉诲姩</Button></span>
+                                <span><Button onClick={() => liftOperator('move')}>鍗囬檷</Button></span>
                             </p>
+                            <p>
+                                <Input addonBefore="璧峰浣嶇疆" onChange={originSiteChange} />
+                            </p>
+                            <p>
+                                <Input addonBefore="鐩爣浣嶇疆" onChange={targetSiteChange} />
+                            </p>
+                            <p>
+                            </p>
+                            <div className="commandItem">
+                                <Button onClick={() => liftOperator('movePallet')}>鎵樼洏鍑哄叆</Button>
+                            </div>
                         </Card>
                     </div>
 
@@ -261,6 +284,12 @@
                             <div className="commandItem">
                                 <Button onClick={() => liftOperator('reset')}>澶嶄綅</Button>
                             </div>
+                            <div className="commandItem">
+                                <Button onClick={() => liftOperator('lock')}>閿佸畾</Button>
+                            </div>
+                            <div className="commandItem">
+                                <Button onClick={() => liftOperator('unlock')}>瑙i攣</Button>
+                            </div>
                         </Card>
                     </div>
                 </Drawer>
diff --git a/zy-asrs-flow/src/pages/device/shuttle/index.jsx b/zy-asrs-flow/src/pages/device/shuttle/index.jsx
index b6c1609..fa2e8af 100644
--- a/zy-asrs-flow/src/pages/device/shuttle/index.jsx
+++ b/zy-asrs-flow/src/pages/device/shuttle/index.jsx
@@ -325,8 +325,6 @@
                             </p>
                             <p>
                             </p>
-                            <p>
-                            </p>
                             <div className="commandItem">
                                 <Button onClick={() => shuttleOperator('moveLoc')}>绉诲姩鍒扮洰鏍囦綅缃�</Button>
                                 <Button onClick={() => shuttleOperator('takeMove')}>鍙栨斁璐т綔涓�</Button>
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java
index 3aa33ba..bd6b714 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java
@@ -122,10 +122,10 @@
                 //澶嶄綅
                 command.setComplete(true);
             } else if (command.getMode() == LiftCommandModeType.LOCK.id) {
-                //澶嶄綅
+                //閿佸畾
                 command.setComplete(true);
             } else if (command.getMode() == LiftCommandModeType.UNLOCK.id) {
-                //澶嶄綅
+                //瑙i攣
                 command.setComplete(true);
             }
 
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLiftController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLiftController.java
index bc1d3ff..a95f2dc 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLiftController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasLiftController.java
@@ -185,14 +185,14 @@
         task.setTaskSts(TaskStsType.NEW_MANUAL.sts);
         task.setTaskCtg(taskCtg.getId());
         task.setPriority(10);
-        task.setOriginSite(null);
-        task.setOriginLoc(param.getSourceStaNo());
-        task.setDestSite(param.getLiftTaskMode());
-        task.setDestLoc(param.getStaNo());
+        task.setOriginSite(param.getSourceStaNo());
+        task.setOriginLoc(param.getSourceLev());
+        task.setDestSite(param.getStaNo());
+        task.setDestLoc(param.getTargetLev());
         task.setIoTime(new Date());
         task.setStartTime(new Date());
         task.setStatus(1);
-        task.setMemo("manual");
+        task.setMemo(param.getLiftTaskMode());
         task.setLiftNo(liftNo);
         boolean result = taskService.save(task);
         if (!result) {
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java
index 0433698..c588fe9 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/BasShuttleController.java
@@ -186,12 +186,12 @@
         task.setPriority(10);
         task.setOriginSite(null);
         task.setOriginLoc(sourceLoc);
-        task.setDestSite(targetSite);
+        task.setDestSite(null);
         task.setDestLoc(targetLoc);
         task.setIoTime(new Date());
         task.setStartTime(new Date());
         task.setStatus(1);
-        task.setMemo("manual");
+        task.setMemo(targetSite);
         task.setShuttleNo(param.getShuttleNo());
 
         if (param.getShuttleTaskMode().equals("takeMove")) {
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java
index 9a3d13a..b39dad9 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/OpenController.java
@@ -113,39 +113,39 @@
             destSite = String.valueOf(path.getDeviceStn());
         }
 
-        //鍒ゆ柇鍑哄叆搴撴ā寮�
-        BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>()
-                .eq(BasConveyorSta::getSiteNo, destSite));
-        if (!basConveyorSta.getWorkMode().equals((int) WorkModeType.PAKIN_MODE.id)) {
-            //涓嶆槸鍏ュ簱妯″紡锛屾娴嬫槸鍚﹀彲鍒囨崲鍏ュ簱
-            //鑾峰彇鍑哄簱浠诲姟绫诲瀷
-            TaskCtg taskInCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>()
-                    .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.OUT))
-                    .eq(TaskCtg::getStatus, 1));
-            if (taskInCtg == null) {
-                return R.error("浠诲姟绫诲瀷寮傚父");
-            }
-            List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
-                    .eq(Task::getTaskCtg, taskInCtg.getId()));
-            if (!tasks.isEmpty()) {
-                return R.error("褰撳墠瀛樺湪鍑哄簱浠诲姟锛屾棤娉曞垏鎹㈠叆搴撴ā寮�");
-            }
-
-            BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, basConveyorSta.getConveyorNo()));
-            if(basConveyor == null) {
-                return R.error("杈撻�佺嚎涓嶅瓨鍦�");
-            }
-
-            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
-            if(devpThread == null) {
-                return R.error("杈撻�佺嚎绾跨▼涓嶅瓨鍦�");
-            }
-
-            boolean result = devpThread.switchWorkMode(Integer.parseInt(destSite), WorkModeType.PAKIN_MODE.id);
-            if (!result) {
-                return R.error("妯″紡鍒囨崲澶辫触");
-            }
-        }
+//        //鍒ゆ柇鍑哄叆搴撴ā寮�
+//        BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>()
+//                .eq(BasConveyorSta::getSiteNo, destSite));
+//        if (!basConveyorSta.getWorkMode().equals((int) WorkModeType.PAKIN_MODE.id)) {
+//            //涓嶆槸鍏ュ簱妯″紡锛屾娴嬫槸鍚﹀彲鍒囨崲鍏ュ簱
+//            //鑾峰彇鍑哄簱浠诲姟绫诲瀷
+//            TaskCtg taskInCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>()
+//                    .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.OUT))
+//                    .eq(TaskCtg::getStatus, 1));
+//            if (taskInCtg == null) {
+//                return R.error("浠诲姟绫诲瀷寮傚父");
+//            }
+//            List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
+//                    .eq(Task::getTaskCtg, taskInCtg.getId()));
+//            if (!tasks.isEmpty()) {
+//                return R.error("褰撳墠瀛樺湪鍑哄簱浠诲姟锛屾棤娉曞垏鎹㈠叆搴撴ā寮�");
+//            }
+//
+//            BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, basConveyorSta.getConveyorNo()));
+//            if(basConveyor == null) {
+//                return R.error("杈撻�佺嚎涓嶅瓨鍦�");
+//            }
+//
+//            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
+//            if(devpThread == null) {
+//                return R.error("杈撻�佺嚎绾跨▼涓嶅瓨鍦�");
+//            }
+//
+//            boolean result = devpThread.switchWorkMode(Integer.parseInt(destSite), WorkModeType.PAKIN_MODE.id);
+//            if (!result) {
+//                return R.error("妯″紡鍒囨崲澶辫触");
+//            }
+//        }
 
         //浼樺厛绾�
         Integer priority = 10;
@@ -249,39 +249,39 @@
             originSite = String.valueOf(originStaDto.getStaNo());
         }
 
-        //鍒ゆ柇鍑哄叆搴撴ā寮�
-        BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>()
-                .eq(BasConveyorSta::getSiteNo, originSite));
-        if (!basConveyorSta.getWorkMode().equals((int) WorkModeType.PAKOUT_MODE.id)) {
-            //涓嶆槸鍑哄簱妯″紡锛屾娴嬫槸鍚﹀彲鍒囨崲鍑哄簱
-            //鑾峰彇鍏ュ簱浠诲姟绫诲瀷
-            TaskCtg taskInCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>()
-                    .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.IN))
-                    .eq(TaskCtg::getStatus, 1));
-            if (taskInCtg == null) {
-                return R.error("浠诲姟绫诲瀷寮傚父");
-            }
-            List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
-                    .eq(Task::getTaskCtg, taskInCtg.getId()));
-            if (!tasks.isEmpty()) {
-                return R.error("褰撳墠瀛樺湪鍏ュ簱浠诲姟锛屾棤娉曞垏鎹㈠嚭搴撴ā寮�");
-            }
-
-            BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, basConveyorSta.getConveyorNo()));
-            if(basConveyor == null) {
-                return R.error("杈撻�佺嚎涓嶅瓨鍦�");
-            }
-
-            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
-            if(devpThread == null) {
-                return R.error("杈撻�佺嚎绾跨▼涓嶅瓨鍦�");
-            }
-
-            boolean result = devpThread.switchWorkMode(Integer.parseInt(originSite), WorkModeType.PAKOUT_MODE.id);
-            if (!result) {
-                return R.error("妯″紡鍒囨崲澶辫触");
-            }
-        }
+//        //鍒ゆ柇鍑哄叆搴撴ā寮�
+//        BasConveyorSta basConveyorSta = basConveyorStaService.getOne(new LambdaQueryWrapper<BasConveyorSta>()
+//                .eq(BasConveyorSta::getSiteNo, originSite));
+//        if (!basConveyorSta.getWorkMode().equals((int) WorkModeType.PAKOUT_MODE.id)) {
+//            //涓嶆槸鍑哄簱妯″紡锛屾娴嬫槸鍚﹀彲鍒囨崲鍑哄簱
+//            //鑾峰彇鍏ュ簱浠诲姟绫诲瀷
+//            TaskCtg taskInCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>()
+//                    .eq(TaskCtg::getFlag, String.valueOf(TaskCtgType.IN))
+//                    .eq(TaskCtg::getStatus, 1));
+//            if (taskInCtg == null) {
+//                return R.error("浠诲姟绫诲瀷寮傚父");
+//            }
+//            List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
+//                    .eq(Task::getTaskCtg, taskInCtg.getId()));
+//            if (!tasks.isEmpty()) {
+//                return R.error("褰撳墠瀛樺湪鍏ュ簱浠诲姟锛屾棤娉曞垏鎹㈠嚭搴撴ā寮�");
+//            }
+//
+//            BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getConveyorNo, basConveyorSta.getConveyorNo()));
+//            if(basConveyor == null) {
+//                return R.error("杈撻�佺嚎涓嶅瓨鍦�");
+//            }
+//
+//            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
+//            if(devpThread == null) {
+//                return R.error("杈撻�佺嚎绾跨▼涓嶅瓨鍦�");
+//            }
+//
+//            boolean result = devpThread.switchWorkMode(Integer.parseInt(originSite), WorkModeType.PAKOUT_MODE.id);
+//            if (!result) {
+//                return R.error("妯″紡鍒囨崲澶辫触");
+//            }
+//        }
 
         //浼樺厛绾�
         Integer priority = 10;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/LiftOperatorParam.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/LiftOperatorParam.java
index b2b3dcf..d24e236 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/LiftOperatorParam.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/param/LiftOperatorParam.java
@@ -17,4 +17,10 @@
     //鐩爣绔�
     private String staNo;
 
+    //婧愬眰
+    private String sourceLev;
+
+    //鐩爣灞�
+    private String targetLev;
+
 }
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 46b9d35..b433be8 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
@@ -67,12 +67,6 @@
 
         /**
          * 鍏ュ簱
-         * 涓�銆佸叆搴撶洰鏍囧眰鏈夌┛姊溅
-         * 1.鎻愬崌鏈哄崌闄嶅埌婧愬眰
-         * 2.璐х墿浠庤緭閫佺嚎鍒版彁鍗囨満
-         * 3.鎻愬崌鏈鸿浇璐хЩ鍔紙闈炲繀闇�锛�
-         * 4.绌挎杞﹁蛋琛岃嚦鎻愬崌鏈�
-         * 5.绌挎杞﹀叆搴撹嚦鐩爣搴撲綅
          */
         if (task.getTaskSts() == TaskStsType.NEW_INBOUND.sts) {
             // locNo
@@ -151,13 +145,13 @@
                 motionList.addAll(kernelService.liftMoveGoods(
                         MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞�
-                            dto.setStaNo(1);//鎻愬崌鏈哄乏渚�
+                            dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
+                            dto.setStaNo(31004);//鍏ュ簱绔欑偣
                         }))
                         , MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
                             dto.setLev(Utils.getLev(task.getDestLoc()));
-                            dto.setStaNo(0);//鎻愬崌鏈哄唴渚�
+                            dto.setStaNo(Integer.parseInt(task.getDestSite()));
                             dto.setSync(0);//寮傛鎵ц
                         }))
                 ));
@@ -175,28 +169,6 @@
                         MotionCtgType.SHUTTLE_MOVE
                 ));
 
-                // 閿佸畾鎻愬崌鏈�
-                motionList.addAll(kernelService.liftLock(
-                        null
-                        , MotionDto.build((dto -> {
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                        }))
-                ));
-
-                // 绌挎杞﹀緟鏈轰綅鑷虫彁鍗囨満
-                motionList.addAll(kernelService.shuttleMove(
-                        MotionDto.build((dto -> {
-                            dto.setShuttleNo(shuttleDevice.getId().intValue());
-                            dto.setLocNo(standbyLocNoTo);
-                        })),
-                        MotionDto.build((dto -> {
-                            dto.setShuttleNo(shuttleDevice.getId().intValue());
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setLocNo(liftLocNoTo);
-                        })),
-                        MotionCtgType.SHUTTLE_MOVE_TO_LIFT
-                ));
-
                 // 绌挎杞﹀叆搴撻《鍗�
                 motionList.addAll(kernelService.shuttleAction(
                         null,
@@ -204,29 +176,6 @@
                             dto.setShuttleNo(shuttleDevice.getId().intValue());
                         })),
                         MotionCtgType.SHUTTLE_PALLET_LIFT
-                ));
-
-                // 绌挎杞﹀叆搴撶Щ鍔ㄨ嚦鎻愬崌鏈哄緟鏈轰綅
-                motionList.addAll(kernelService.shuttleMove(
-                        MotionDto.build((dto -> {
-                            dto.setShuttleNo(shuttleDevice.getId().intValue());
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setLocNo(liftLocNoFrom);
-                        })),
-                        MotionDto.build((dto -> {
-                            dto.setShuttleNo(shuttleDevice.getId().intValue());
-                            dto.setLocNo(standbyLocNoFrom);
-                        })),
-                        MotionCtgType.SHUTTLE_MOVE_FROM_LIFT
-                ));
-
-                // 瑙i攣鎻愬崌鏈�
-                motionList.addAll(kernelService.liftUnlock(
-                        null
-                        , MotionDto.build((dto -> {
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
-                        }))
                 ));
 
                 // 绌挎杞﹁蛋琛岃嚦鐩爣搴撲綅
@@ -254,14 +203,22 @@
 
             /**
              * 浜屻�佸叆搴撶洰鏍囧眰娌℃湁绌挎杞�
-             * 1.鎻愬崌鏈哄崌闄嶅埌绌挎杞﹀眰
-             * 2.绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄緟鏈轰綅
-             * 3.鎻愬崌鏈烘惉杩愮┛姊溅鑷崇洰鏍囧眰
-             * 4.璐х墿浠庤緭閫佺嚎鍒版彁鍗囨満
-             * 5.鎻愬崌鏈鸿浇杞︿笌璐хЩ鍔紙闈炲繀闇�锛�
-             * 6.绌挎杞﹀叆搴撹嚦鐩爣搴撲綅
              */
             } else {
+
+                // 鎻愬崌鏈鸿浇璐хЩ鍔�
+                motionList.addAll(kernelService.liftMoveGoods(
+                        MotionDto.build((dto -> {
+                            dto.setLiftNo(transferLiftDevice.getId().intValue());
+                            dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
+                            dto.setStaNo(31004);//鍏ュ簱绔欑偣
+                        }))
+                        , MotionDto.build((dto -> {
+                            dto.setLiftNo(transferLiftDevice.getId().intValue());
+                            dto.setLev(Utils.getLev(task.getDestLoc()));
+                            dto.setStaNo(Integer.parseInt(task.getDestSite()));
+                        }))
+                ));
 
                 // 绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄簱浣嶅緟鏈轰綅
                 motionList.addAll(kernelService.shuttleMove(
@@ -316,17 +273,15 @@
                         }))
                 ));
 
-                // 鎻愬崌鏈鸿浇璐хЩ鍔�
-                motionList.addAll(kernelService.liftMoveGoods(
+                // 鎻愬崌鏈烘惉杞� 鑷� 鐩爣浣嶇疆灞�
+                motionList.addAll(kernelService.liftMoveShuttle(
                         MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞�
-                            dto.setStaNo(1);//鎻愬崌鏈哄乏渚�
-                        }))
-                        , MotionDto.build((dto -> {
+                            dto.setLev(Utils.getLev(shuttleLocNo));
+                        })),
+                        MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setLev(Utils.getLev(task.getDestLoc()));
-                            dto.setStaNo(0);//鎻愬崌鏈哄唴渚�
+                            dto.setLev(Utils.getLev(destLoc));
                         }))
                 ));
 
@@ -338,15 +293,6 @@
                         }))
                 ));
 
-                // 绌挎杞﹀叆搴撻《鍗�
-                motionList.addAll(kernelService.shuttleAction(
-                        null,
-                        MotionDto.build((dto -> {
-                            dto.setShuttleNo(shuttleDevice.getId().intValue());
-                        })),
-                        MotionCtgType.SHUTTLE_PALLET_LIFT
-                ));
-
                 // 鏇存柊灏忚溅鍧愭爣
                 motionList.addAll(kernelService.shuttleUpdateLocation(
                         null
@@ -356,7 +302,7 @@
                         }))
                 ));
 
-                // 绌挎杞﹀叆搴撶Щ鍔ㄨ嚦鎻愬崌鏈哄緟鏈轰綅
+                // 绌挎杞︾Щ鍔ㄨ嚦鎻愬崌鏈哄緟鏈轰綅
                 motionList.addAll(kernelService.shuttleMove(
                         MotionDto.build((dto -> {
                             dto.setShuttleNo(shuttleDevice.getId().intValue());
@@ -377,6 +323,15 @@
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
                             dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
                         }))
+                ));
+
+                // 绌挎杞﹀叆搴撻《鍗�
+                motionList.addAll(kernelService.shuttleAction(
+                        null,
+                        MotionDto.build((dto -> {
+                            dto.setShuttleNo(shuttleDevice.getId().intValue());
+                        })),
+                        MotionCtgType.SHUTTLE_PALLET_LIFT
                 ));
 
                 // 绌挎杞﹁蛋琛岃嚦鐩爣搴撲綅
@@ -500,13 +455,6 @@
 
             /**
              * 鍑哄簱
-             * 涓�銆佸嚭搴撹捣濮嬪眰鏈夌┛姊溅
-             * 1.绌挎杞﹁蛋琛岃嚦鍑哄簱搴撲綅
-             * 2.鎻愬崌鏈哄埌鍑哄簱璧峰灞�
-             * 3.绌挎杞﹀嚭搴撹嚦鎻愬崌鏈�
-             * 4.绌挎杞︾寮�鎻愬崌鏈�
-             * 5.鎻愬崌鏈鸿浇璐хЩ鍔紙闈炲繀闇�锛�
-             * 6.杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛
              */
             if (Utils.getLev(shuttleLocNo) == Utils.getLev(originLoc)) {
 
@@ -549,37 +497,6 @@
                         MotionCtgType.SHUTTLE_MOVE
                 ));
 
-                // 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌绌挎杞﹀眰
-                motionList.addAll(kernelService.liftMove(
-                        null
-                        , MotionDto.build((dto -> {
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setLev(Utils.getLev(shuttleLocNo));
-                        }))
-                ));
-
-                // 閿佸畾鎻愬崌鏈�
-                motionList.addAll(kernelService.liftLock(
-                        null
-                        , MotionDto.build((dto -> {
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                        }))
-                ));
-
-                // 绌挎杞﹀緟鏈轰綅鑷虫彁鍗囨満
-                motionList.addAll(kernelService.shuttleMove(
-                        MotionDto.build((dto -> {
-                            dto.setShuttleNo(shuttleDevice.getId().intValue());
-                            dto.setLocNo(standbyLocNoTo);
-                        })),
-                        MotionDto.build((dto -> {
-                            dto.setShuttleNo(shuttleDevice.getId().intValue());
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setLocNo(liftLocNoTo);
-                        })),
-                        MotionCtgType.SHUTTLE_MOVE_TO_LIFT
-                ));
-
                 // 绌挎杞﹀嚭搴撴墭鐩樹笅闄�
                 motionList.addAll(kernelService.shuttleAction(
                         null,
@@ -589,39 +506,17 @@
                         MotionCtgType.SHUTTLE_PALLET_DOWN
                 ));
 
-                // 绌挎杞︾寮�鎻愬崌鏈� - 鍒版彁鍗囨満寰呮満浣�
-                motionList.addAll(kernelService.shuttleMove(
-                        MotionDto.build((dto -> {
-                            dto.setShuttleNo(shuttleDevice.getId().intValue());
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setLocNo(liftLocNoFrom);
-                        })),
-                        MotionDto.build((dto -> {
-                            dto.setShuttleNo(shuttleDevice.getId().intValue());
-                            dto.setLocNo(standbyLocNoFrom);
-                        })),
-                        MotionCtgType.SHUTTLE_MOVE_FROM_LIFT
-                ));
-
-                // 瑙i攣鎻愬崌鏈�
-                motionList.addAll(kernelService.liftUnlock(
-                        null
-                        , MotionDto.build((dto -> {
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                        }))
-                ));
-
                 // 鎻愬崌鏈鸿浇璐хЩ鍔�
                 motionList.addAll(kernelService.liftMoveGoods(
                         MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
                             dto.setLev(Utils.getLev(task.getOriginLoc()));
-                            dto.setStaNo(0);//鎻愬崌鏈哄唴渚�
+                            dto.setStaNo(Integer.parseInt(task.getOriginSite()));//璧峰绔欑偣
                         }))
                         , MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞�
-                            dto.setStaNo(1);//鎻愬崌鏈哄乏渚�
+                            dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
+                            dto.setStaNo(31004);//鍑哄簱绔欑偣
                             dto.setSync(0);//寮傛鎵ц
                             dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
                         }))
@@ -655,16 +550,6 @@
 
             /**
              * 浜屻�佸嚭搴撹捣濮嬪眰娌℃湁绌挎杞�
-             *
-             * 1.鎻愬崌鏈哄埌绌挎杞﹀眰
-             * 2.绌挎杞﹁蛋琛岃嚦鎻愬崌鏈�
-             * 3.鎻愬崌鏈鸿浇杞﹁嚦鍑哄簱璧峰灞�
-             * 4.绌挎杞﹁蛋琛岃嚦鍑哄簱搴撲綅
-             * 5.绌挎杞﹀嚭搴撹嚦鎻愬崌鏈�
-             * 6.绌挎杞︾寮�鎻愬崌鏈�
-             * 7.鎻愬崌鏈鸿浇璐хЩ鍔紙闈炲繀闇�锛�
-             * 8.杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛
-             *
              */
             } else {
 
@@ -810,37 +695,6 @@
                         MotionCtgType.SHUTTLE_MOVE
                 ));
 
-                // 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌鐩爣灞�
-                motionList.addAll(kernelService.liftMove(
-                        null
-                        , MotionDto.build((dto -> {
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setLev(Utils.getLev(originLoc));
-                        }))
-                ));
-
-                // 閿佸畾鎻愬崌鏈�
-                motionList.addAll(kernelService.liftLock(
-                        null
-                        , MotionDto.build((dto -> {
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                        }))
-                ));
-
-                // 绌挎杞﹀緟鏈轰綅鑷虫彁鍗囨満
-                motionList.addAll(kernelService.shuttleMove(
-                        MotionDto.build((dto -> {
-                            dto.setShuttleNo(shuttleDevice.getId().intValue());
-                            dto.setLocNo(standbyLocNoFrom);
-                        })),
-                        MotionDto.build((dto -> {
-                            dto.setShuttleNo(shuttleDevice.getId().intValue());
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setLocNo(liftLocNoFrom);
-                        })),
-                        MotionCtgType.SHUTTLE_MOVE_TO_LIFT
-                ));
-
                 // 绌挎杞﹀嚭搴撴墭鐩樹笅闄�
                 motionList.addAll(kernelService.shuttleAction(
                         null,
@@ -850,40 +704,19 @@
                         MotionCtgType.SHUTTLE_PALLET_DOWN
                 ));
 
-                // 绌挎杞︾寮�鎻愬崌鏈� - 鍒版彁鍗囨満寰呮満浣�
-                motionList.addAll(kernelService.shuttleMove(
-                        MotionDto.build((dto -> {
-                            dto.setShuttleNo(shuttleDevice.getId().intValue());
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setLocNo(liftLocNoFrom);
-                        })),
-                        MotionDto.build((dto -> {
-                            dto.setShuttleNo(shuttleDevice.getId().intValue());
-                            dto.setLocNo(standbyLocNoFrom);
-                        })),
-                        MotionCtgType.SHUTTLE_MOVE_FROM_LIFT
-                ));
-
-                // 瑙i攣鎻愬崌鏈�
-                motionList.addAll(kernelService.liftUnlock(
-                        null
-                        , MotionDto.build((dto -> {
-                            dto.setLiftNo(transferLiftDevice.getId().intValue());
-                        }))
-                ));
-
                 // 鎻愬崌鏈鸿浇璐хЩ鍔�
                 motionList.addAll(kernelService.liftMoveGoods(
                         MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
                             dto.setLev(Utils.getLev(task.getOriginLoc()));
-                            dto.setStaNo(0);//鎻愬崌鏈哄唴渚�
+                            dto.setStaNo(Integer.parseInt(task.getOriginSite()));//璧峰绔欑偣
                         }))
                         , MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
-                            dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞�
-                            dto.setStaNo(1);//鎻愬崌鏈哄乏渚�
+                            dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
+                            dto.setStaNo(31004);//鍑哄簱绔欑偣
                             dto.setSync(0);//寮傛鎵ц
+                            dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
                         }))
                 ));
 
@@ -1324,14 +1157,6 @@
                     MotionCtgType.SHUTTLE_MOVE_TO_LIFT
             ));
 
-            // 鍚戞彁鍗囨満鍙戦�佸皬杞﹀凡鍒颁綅淇″彿
-            motionList.addAll(kernelService.liftShuttleArrival(
-                    null
-                    , MotionDto.build((dto -> {
-                        dto.setLiftNo(liftDevice.getId().intValue());
-                    }))
-            ));
-
             // 瑙i攣鎻愬崌鏈�
             motionList.addAll(kernelService.liftUnlock(
                     null
@@ -1420,7 +1245,7 @@
 
         String sourceLoc = task.getOriginLoc();//婧愬簱浣�
         String targetLoc = task.getDestLoc();//浠诲姟鐩爣(鍊熺敤瀛楁)
-        String targetSite = task.getDestSite();//浠诲姟绫诲瀷(鍊熺敤瀛楁)
+        String targetSite = task.getMemo();//浠诲姟绫诲瀷(鍊熺敤瀛楁)
 
         Device device = deviceService.getOne(new LambdaQueryWrapper<Device>()
                 .eq(Device::getDeviceNo, task.getShuttleNo())
@@ -1564,7 +1389,8 @@
             return motionList;
         }
 
-        if (task.getDestSite().equals("move")) {
+        String destSite = task.getMemo();//浠诲姟鐩爣(鍊熺敤瀛楁)
+        if (destSite.equals("move")) {
             //鎻愬崌鏈哄崌闄嶆ゼ灞�
 
             // 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌绌挎杞﹀眰
@@ -1576,23 +1402,39 @@
                     }))
             ));
 
-        } else if (task.getDestSite().equals("movePallet")) {
+        } else if (destSite.equals("movePallet")) {
             //绉诲姩鎵樼洏
 
             // 鎻愬崌鏈虹Щ鍔ㄦ墭鐩�
             motionList.addAll(kernelService.liftMoveGoods(
                     MotionDto.build((dto -> {
                         dto.setLiftNo(device.getId().intValue());
-                        dto.setLev(Integer.parseInt(task.getOriginLoc()));
+                        dto.setLev(0);
                         dto.setStaNo(Integer.parseInt(task.getOriginSite()));
                     }))
                     , MotionDto.build((dto -> {
                         dto.setLiftNo(device.getId().intValue());
-                        dto.setLev(Integer.parseInt(task.getDestLoc()));
+                        dto.setLev(0);
                         dto.setStaNo(Integer.parseInt(task.getDestSite()));
                     }))
             ));
 
+        } else if (destSite.equals("lock")) {
+            // 閿佸畾鎻愬崌鏈�
+            motionList.addAll(kernelService.liftLock(
+                    null
+                    , MotionDto.build((dto -> {
+                        dto.setLiftNo(device.getId().intValue());
+                    }))
+            ));
+        } else if (destSite.equals("unlock")) {
+            // 瑙i攣鎻愬崌鏈�
+            motionList.addAll(kernelService.liftUnlock(
+                    null
+                    , MotionDto.build((dto -> {
+                        dto.setLiftNo(device.getId().intValue());
+                    }))
+            ));
         }
 
         return motionList;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java
index 1d8f4ab..bba1dd3 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtDevpThread.java
@@ -65,7 +65,7 @@
         this.device = device;
         this.redisUtil = redisUtil;
 
-        workModeTypes.put(101, new WorkModeTypeDto(101, WorkModeType.NONE, "DB1001.120"));
+//        workModeTypes.put(101, new WorkModeTypeDto(101, WorkModeType.NONE, "DB1001.120"));
     }
 
     private ArrayList<BasConveyorSta> getStaNo() {
@@ -139,7 +139,7 @@
             }
         }
 
-        OperateResultExOne<byte[]> resultBarcode = siemensS7Net.Read("DB100.160", (short) 8);
+        OperateResultExOne<byte[]> resultBarcode = siemensS7Net.Read("DB100.166", (short) 8);
         if (resultBarcode.IsSuccess) {
             //鏉$爜鏁版嵁
             String barcode = siemensS7Net.getByteTransform().TransString(resultBarcode.Content,0,8, "UTF-8");// 鏉$爜
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java
index c5b257e..4217f10 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java
@@ -114,8 +114,8 @@
                 liftProtocol.setHasCar(siemensS7Net.getByteTransform().TransInt16(result1.Content, 6) == 1);
                 //褰撳墠妤煎眰
                 liftProtocol.setLev((int) siemensS7Net.getByteTransform().TransInt16(result1.Content, 8));
-                //宸ヤ綔鍙�
-                liftProtocol.setTaskNo(siemensS7Net.getByteTransform().TransInt32(result1.Content, 12));
+//                //宸ヤ綔鍙�
+//                liftProtocol.setTaskNo(siemensS7Net.getByteTransform().TransInt32(result1.Content, 12));
                 //璁惧鏁呴殰
                 liftProtocol.setError(siemensS7Net.getByteTransform().TransInt16(result1.Content, 16) == 1);
                 //鏁呴殰鐮�
@@ -212,22 +212,23 @@
             return false;
         }
 
-        List<Short> shorts = JSON.parseArray(command.getBody(), Short.class);
-        short[] array = new short[shorts.size()];//鑾峰彇鍛戒护鎶ユ枃
-        for (int i = 0; i < shorts.size(); i++) {
-            array[i] = shorts.get(i);
+        List<Integer> list = JSON.parseArray(command.getBody(), Integer.class);
+        int[] array = new int[list.size()];//鑾峰彇鍛戒护鎶ユ枃
+        for (int i = 0; i < list.size(); i++) {
+            array[i] = list.get(i);
         }
 
         OperateResult result = null;
         if (command.getMode() == LiftCommandModeType.MOVE.id) {
             //绉诲姩
-             result = siemensS7Net.Write("DB101.2", array);
+            result = siemensS7Net.Write("DB101.2", (short) array[0]);
+            result = siemensS7Net.Write("DB101.4", (int) array[1]);
         } else if (command.getMode() == LiftCommandModeType.PALLET_INOUT.id) {
             //鎵樼洏鍑哄叆
             result = siemensS7Net.Write("DB101.8", array);
         } else if (command.getMode() == LiftCommandModeType.LOCK.id || command.getMode() == LiftCommandModeType.UNLOCK.id) {
             //鎻愬崌鏈洪攣瀹�/瑙i攣
-            result = siemensS7Net.Write("DB101.0", array);
+            result = siemensS7Net.Write("DB101.0", (short) array[0]);
         }
 
         if (result != null && result.IsSuccess) {
@@ -244,12 +245,12 @@
 
     @Override
     public boolean lock(LiftCommand command) {
-        return true;
+        return write(command);
     }
 
     @Override
     public boolean unlock(LiftCommand command) {
-        return true;
+        return write(command);
     }
 
     @Override
@@ -319,10 +320,8 @@
 
     @Override
     public boolean isLock(ExecuteSupport support) {
-        if (support != null) {
-            return support.judgement();
-        }
-        return true;
+        InnerLiftExtend extend = (InnerLiftExtend) this.liftProtocol.getExtend();
+        return extend.getLock();
     }
 
     @Override
@@ -353,7 +352,7 @@
     @Override
     public List<LiftCommand> getPalletInOutCommand(Integer taskNo, Integer sourceLev, Integer targetLev, Integer originSta, Integer targetSta, LiftCommandModeType mode) {
         // 寮�濮嬩换鍔�
-        short[] array = new short[2];
+        short[] array = new short[3];
         array[0] = originSta.shortValue();//璧峰绔�
         array[1] = targetSta.shortValue();//鐩爣绔�
         array[2] = taskNo.shortValue();//宸ヤ綔鍙�
@@ -381,7 +380,7 @@
         command.setLiftNo(Integer.valueOf(this.device.getDeviceNo()));
         command.setTaskNo(taskNo);
         command.setBody(JSON.toJSONString(array));
-        command.setMode(LiftCommandModeType.PALLET_INOUT.id);
+        command.setMode(lock ? LiftCommandModeType.LOCK.id : LiftCommandModeType.UNLOCK.id);
 
         ArrayList<LiftCommand> list = new ArrayList<>();
         list.add(command);
diff --git a/zy-asrs-wcs/src/main/resources/application.yml b/zy-asrs-wcs/src/main/resources/application.yml
index 9155a1d..82165b3 100644
--- a/zy-asrs-wcs/src/main/resources/application.yml
+++ b/zy-asrs-wcs/src/main/resources/application.yml
@@ -18,7 +18,7 @@
 #    url: jdbc:mysql://47.97.1.152:3306/asrs?useUnicode=trKue&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
 #    username: root
 #    password: zy@123
-    url: jdbc:mysql://127.0.0.1:3306/asrs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://127.0.0.1:3306/jxgtasrs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
     username: root
     password: root
 #    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver

--
Gitblit v1.9.1