From 0a6532305b842185c85afd4e8c670f64700f2a6d Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 28 八月 2024 17:03:54 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java               |   10 +++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java       |   27 ++++++--
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/MotionLog.java                   |    2 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java              |   83 ++++++++++++++++++---------
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/command/LiftAssignCommand.java    |    5 +
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/TaskLog.java                     |    2 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java            |    5 +
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java         |    5 +
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java                   |    2 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/MainProcess.java                        |    2 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java         |    2 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java  |   13 ++--
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/DeviceBarcodeController.java |    2 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/JxgtLiftThread.java          |   17 ++++-
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/MotionDto.java               |    2 
 15 files changed, 125 insertions(+), 54 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 f4c1a03..95a89bd 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
@@ -46,7 +46,7 @@
 
 
                     // 鍏ュ簱  ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
-                    mainService.generateInboundWrk(); // 缁勬墭
+//                    mainService.generateInboundWrk(); // 缁勬墭
                     // 瑙f瀽鍑哄簱宸ヤ綔妗�
                     mainService.analyzeOutBoundTask();
                     // 瑙f瀽鍏ュ簱宸ヤ綔妗�
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/DeviceBarcodeController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/DeviceBarcodeController.java
index 4c1ae26..8f5c4cb 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/DeviceBarcodeController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/controller/DeviceBarcodeController.java
@@ -88,7 +88,7 @@
             wrapper.like(DeviceBarcode::getName, condition);
         }
         deviceBarcodeService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
-                item -> vos.add(new KeyValVo(item.getId(), item.getName()))
+                item -> vos.add(new KeyValVo(item.getDeviceId(), item.getName()))
         );
         return R.ok().add(vos);
     }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/MotionDto.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/MotionDto.java
index 763ea91..43b2288 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/MotionDto.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/domain/dto/MotionDto.java
@@ -27,7 +27,7 @@
 
     private Boolean updateLiftNo;
 
-    protected Integer wrkNo;
+    private Integer taskNo;
 
     //鍚屾 1: 鏄�  0: 鍚�
     private Integer sync;
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/MotionLog.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/MotionLog.java
index b7a6c52..1216bff 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/MotionLog.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/MotionLog.java
@@ -48,7 +48,7 @@
      * ID
      */
     @ApiModelProperty(value= "ID")
-    @TableId(value = "id", type = IdType.INPUT)
+    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/TaskLog.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/TaskLog.java
index e29d998..fe73d77 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/TaskLog.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/entity/TaskLog.java
@@ -33,7 +33,7 @@
      * ID
      */
     @ApiModelProperty(value= "ID")
-    @TableId(value = "id", type = IdType.INPUT)
+    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**
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 edde4cb..bfa0d2c 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
@@ -24,7 +24,9 @@
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 1.鍏呯數浠诲姟锛�2.搴撲綅绉昏浆锛�3.灏忚溅杩佺Щ锛�4.鎵嬪姩浠诲姟
@@ -57,6 +59,15 @@
     private BasConveyorService basConveyorService;
     @Autowired
     private TaskCtgService taskCtgService;
+
+    public Integer getStaByLev(Integer lev) {
+        HashMap<Integer, Integer> map = new HashMap<>();
+        map.put(1, 31006);
+        map.put(2, 31007);
+        map.put(3, 31008);
+
+        return map.get(lev);
+    }
 
     public List<Motion> generateMotion(Task task) {
         List<Motion> motionList = new ArrayList<>();
@@ -103,6 +114,11 @@
 
             LiftProtocol liftProtocol = liftThread.getStatus();
             if (liftProtocol == null || liftProtocol.getLiftNo() == null) {
+                return motionList;
+            }
+
+            BasConveyorSta basConveyorStaDest = basConveyorStaService.selectBySiteNo(task.getDestSite());
+            if (basConveyorStaDest == null) {
                 return motionList;
             }
 
@@ -153,8 +169,9 @@
                         , MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
                             dto.setLev(Utils.getLev(task.getDestLoc()));
-                            dto.setStaNo(Integer.parseInt(task.getDestSite()));
-                            dto.setSync(0);//寮傛鎵ц
+                            dto.setStaNo(getStaByLev(Utils.getLev(task.getDestLoc())));
+                            dto.setDevpNo(basConveyorStaDest.getConveyorDeviceId().intValue());
+//                            dto.setSync();//寮傛鎵ц
                         }))
                 ));
 
@@ -218,7 +235,8 @@
                         , MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
                             dto.setLev(Utils.getLev(task.getDestLoc()));
-                            dto.setStaNo(Integer.parseInt(task.getDestSite()));
+                            dto.setStaNo(getStaByLev(Utils.getLev(task.getDestLoc())));
+                            dto.setDevpNo(basConveyorStaDest.getConveyorDeviceId().intValue());
                         }))
                 ));
 
@@ -402,6 +420,11 @@
                 return motionList;
             }
 
+            BasConveyorSta basConveyorStaOrigin = basConveyorStaService.selectBySiteNo(task.getOriginSite());
+            if (basConveyorStaOrigin == null) {
+                return motionList;
+            }
+
             //妫�娴嬬┛姊溅鏄惁鏈変换鍔$粦瀹�
             boolean shuttleResult = Utils.checkShuttleHasBinding(shuttleDevice, task.getTaskNo());
             if (shuttleResult) {
@@ -513,12 +536,13 @@
                         MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
                             dto.setLev(Utils.getLev(task.getOriginLoc()));
-                            dto.setStaNo(Integer.parseInt(task.getOriginSite()));//璧峰绔欑偣
+                            dto.setStaNo(getStaByLev(Utils.getLev(task.getOriginLoc())));//璧峰绔欑偣
                         }))
                         , MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
                             dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
-                            dto.setStaNo(31004);//鍑哄簱绔欑偣
+                            dto.setStaNo(31001);//鍑哄簱绔欑偣
+                            dto.setDevpNo(basConveyorStaOrigin.getConveyorDeviceId().intValue());
                             dto.setSync(0);//寮傛鎵ц
                             dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
                         }))
@@ -538,17 +562,17 @@
                 ));
 
                 // 杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛
-                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
-                ));
+//                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
+//                ));
 
             /**
              * 浜屻�佸嚭搴撹捣濮嬪眰娌℃湁绌挎杞�
@@ -711,13 +735,14 @@
                         MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
                             dto.setLev(Utils.getLev(task.getOriginLoc()));
-                            dto.setStaNo(Integer.parseInt(task.getOriginSite()));//璧峰绔欑偣
+                            dto.setStaNo(getStaByLev(Utils.getLev(task.getOriginLoc())));//璧峰绔欑偣
                         }))
                         , MotionDto.build((dto -> {
                             dto.setLiftNo(transferLiftDevice.getId().intValue());
                             dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞�
-                            dto.setStaNo(31004);//鍑哄簱绔欑偣
+                            dto.setStaNo(31001);//鍑哄簱绔欑偣
                             dto.setSync(0);//寮傛鎵ц
+                            dto.setDevpNo(basConveyorStaOrigin.getConveyorDeviceId().intValue());
                             dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満
                         }))
                 ));
@@ -736,17 +761,17 @@
                 ));
 
                 // 杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛
-                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
-                ));
+//                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
+//                ));
 
             }
 
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java
index 540dfe4..f5e1c54 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/KernelService.java
@@ -86,7 +86,10 @@
             }
             motion.setTarget(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), target.getLev())));
             motion.setTarDrt(target.getStaNo());//鐩爣绔�
-            motion.setDockNo(String.valueOf(target.getDevpNo()));//杈撻�佺嚎ID
+
+            if (target.getDevpNo() != null) {
+                motion.setDockNo(String.valueOf(target.getDevpNo()));//杈撻�佺嚎ID
+            }
 
             if (target.getSync() != null) {
                 motion.setSync(target.getSync());
@@ -115,6 +118,11 @@
             if (null != origin) {
                 motion.setOrigin(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), origin.getLev())));
             }
+
+            if (target.getTaskNo() != null) {
+                motion.setTaskNo(target.getTaskNo());
+            }
+
             motion.setTarget(String.valueOf(liftDispatcher.getLiftLevOffset(target.getLiftNo(), target.getLev())));
         }));
 
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
index 9789394..df05a64 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/command/LiftCommandService.java
@@ -84,6 +84,7 @@
         LiftAssignCommand assignCommand = new LiftAssignCommand();
         assignCommand.setLiftNo(liftProtocol.getLiftNo());
         assignCommand.setTaskNo(motion.getTaskNo());
+        assignCommand.setDeviceTaskNo(liftThread.generateDeviceTaskNo(motion.getTaskNo(), MotionCtgType.get(motion.getMotionCtgEl())));
         assignCommand.setCommands(list);
 
         List<LiftCommand> command = new ArrayList<>();
@@ -100,7 +101,7 @@
                     break;
                 }
 
-                command = liftThread.getMoveCommand(motion.getTaskNo(), 0, Integer.parseInt(motion.getTarget()), LiftCommandModeType.MOVE);
+                command = liftThread.getMoveCommand(assignCommand.getDeviceTaskNo(), 0, Integer.parseInt(motion.getTarget()), LiftCommandModeType.MOVE);
                 list.addAll(command);
                 return liftAction.assignWork(liftThread.getDevice(), assignCommand);
             case LIFT_WITH_GOODS:
@@ -112,7 +113,7 @@
 //                    return false;
 //                }
 
-                command = liftThread.getPalletInOutCommand(motion.getTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), motion.getOriDrt(), motion.getTarDrt(), LiftCommandModeType.PALLET_INOUT);
+                command = liftThread.getPalletInOutCommand(assignCommand.getDeviceTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), motion.getOriDrt(), motion.getTarDrt(), LiftCommandModeType.PALLET_INOUT);
                 list.addAll(command);
                 return liftAction.assignWork(liftThread.getDevice(), assignCommand);
             case LIFT_WITH_SHUTTLE:
@@ -125,7 +126,7 @@
                     return false;
                 }
 
-                command = liftThread.getMoveWithShuttleCommand(motion.getTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), LiftCommandModeType.MOVE_CAR);
+                command = liftThread.getMoveWithShuttleCommand(assignCommand.getDeviceTaskNo(), Integer.parseInt(motion.getOrigin()), Integer.parseInt(motion.getTarget()), LiftCommandModeType.MOVE_CAR);
                 list.addAll(command);
                 return liftAction.assignWork(liftThread.getDevice(), assignCommand);
             case LIFT_WITH_GOODS_AND_SHUTTLE:
@@ -144,7 +145,7 @@
                     return false;
                 }
 
-                command = liftThread.getLockCommand(motion.getTaskNo(), true);//鑾峰彇鎻愬崌鏈洪攣瀹氬懡浠�
+                command = liftThread.getLockCommand(assignCommand.getDeviceTaskNo(), true);//鑾峰彇鎻愬崌鏈洪攣瀹氬懡浠�
                 list.addAll(command);
                 return liftAction.assignWork(liftThread.getDevice(), assignCommand);
             case LIFT_UNLOCK:
@@ -154,7 +155,7 @@
                     return false;
                 }
 
-                command = liftThread.getLockCommand(motion.getTaskNo(), false);//鑾峰彇鎻愬崌鏈鸿В瀹氬懡浠�
+                command = liftThread.getLockCommand(assignCommand.getDeviceTaskNo(), false);//鑾峰彇鎻愬崌鏈鸿В瀹氬懡浠�
                 list.addAll(command);
                 return liftAction.assignWork(liftThread.getDevice(), assignCommand);
             case LIFT_SHUTTLE_ARRIVAL:
@@ -164,7 +165,7 @@
                     return false;
                 }
 
-                command = liftThread.getShuttleSignalCommand(motion.getTaskNo(), true);//鑾峰彇灏忚溅宸插埌浣嶅懡浠�
+                command = liftThread.getShuttleSignalCommand(assignCommand.getDeviceTaskNo(), true);//鑾峰彇灏忚溅宸插埌浣嶅懡浠�
                 list.addAll(command);
                 return liftAction.assignWork(liftThread.getDevice(), assignCommand);
             default:
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/command/LiftAssignCommand.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/command/LiftAssignCommand.java
index ab1a1d9..c555c86 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/command/LiftAssignCommand.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/model/command/LiftAssignCommand.java
@@ -19,6 +19,11 @@
     private Integer taskNo = 0;
 
     /**
+     * 璁惧浠诲姟鍙�
+     */
+    private Integer deviceTaskNo = 0;
+
+    /**
      * 鍛戒护list
      */
     private List<LiftCommand> commands = new ArrayList<>();
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 b84fccf..d2125de 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
@@ -99,6 +99,11 @@
                 BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>().eq(BasConveyor::getDeviceId, devp.getId()).eq(BasConveyor::getHostId, devp.getHostId()));
                 // 閬嶅巻鍏ュ簱鍙�
                 for (StaDto inSta : JSON.parseArray(basConveyor.getInSta(), StaDto.class)) {
+                    BasConveyorSta basConveyorSta = basConveyorStaService.selectBySiteNo(inSta.getStaNo().toString());
+                    if(basConveyorSta == null) {
+                        continue;
+                    }
+
                     // 鑾峰彇鍏ュ簱绔欎俊鎭�
                     DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, devp.getId().intValue());
                     StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
@@ -156,7 +161,7 @@
                     ) {
 
                         // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-                        BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
+                        BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, basConveyorSta.getBarcodeId().intValue());
                         if (barcodeThread == null) {
                             continue;
                         }
@@ -439,15 +444,21 @@
             if (basConveyor == null) {
                 continue;
             }
-            DeviceBarcode deviceBarcode = deviceBarcodeService.getById(basConveyorSta.getBarcodeId());
-            if (deviceBarcode == null) {
+//            DeviceBarcode deviceBarcode = deviceBarcodeService.getById(basConveyorSta.getBarcodeId());
+//            if (deviceBarcode == null) {
+//                continue;
+//            }
+//            BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, Integer.parseInt(deviceBarcode.getDeviceId()));
+//            if (barcodeThread == null) {
+//                continue;
+//            }
+//            if (!barcodeThread.getBarcode().equals(task.getZpallet())) {
+//                continue;
+//            }
+            if (Cools.isEmpty(basConveyorSta.getTaskNo())){
                 continue;
             }
-            BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, Integer.parseInt(deviceBarcode.getDeviceId()));
-            if (barcodeThread == null) {
-                continue;
-            }
-            if (!barcodeThread.getBarcode().equals(task.getZpallet())) {
+            if (!basConveyorSta.getTaskNo().toString().equals(task.getTaskNo())){
                 continue;
             }
             DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Conveyor, basConveyor.getDeviceId().intValue());
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java
index ccd4937..6a5ff8e 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/LiftThread.java
@@ -41,6 +41,8 @@
 
     boolean isLock(ExecuteSupport support);
 
+    int generateDeviceTaskNo(int taskNo, MotionCtgType motionCtgType);//鐢熸垚纭欢璁惧宸ヤ綔鍙�
+
     //***************鑾峰彇鍛戒护*****************
     List<LiftCommand> getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode);//鎻愬崌鏈虹Щ鍔�
 
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 4217f10..9a77458 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
@@ -17,6 +17,7 @@
 import com.zy.asrs.wcs.core.model.enums.MotionCtgType;
 import com.zy.asrs.wcs.core.service.BasLiftService;
 import com.zy.asrs.wcs.core.utils.RedisUtil;
+import com.zy.asrs.wcs.core.utils.Utils;
 import com.zy.asrs.wcs.rcs.News;
 import com.zy.asrs.wcs.rcs.cache.OutputQueue;
 import com.zy.asrs.wcs.rcs.entity.Device;
@@ -29,10 +30,7 @@
 import lombok.extern.slf4j.Slf4j;
 
 import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Base64;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @Slf4j
 @SuppressWarnings("all")
@@ -325,6 +323,17 @@
     }
 
     @Override
+    public int generateDeviceTaskNo(int taskNo, MotionCtgType motionCtgType) {
+        int deviceTaskNo = taskNo;
+        try {
+            deviceTaskNo = Utils.getTaskNo("LIFT_TASK_NO");
+        } catch (Exception e) {
+            return taskNo;
+        }
+        return deviceTaskNo;
+    }
+
+    @Override
     public List<LiftCommand> getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) {
         // 寮�濮嬩换鍔�
         short[] array = new short[2];
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java
index c40d9f3..0c2e1c6 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyLiftThread.java
@@ -368,6 +368,11 @@
     }
 
     @Override
+    public int generateDeviceTaskNo(int taskNo, MotionCtgType motionCtgType) {
+        return taskNo;
+    }
+
+    @Override
     public List<LiftCommand> getMoveCommand(Integer taskNo, Integer sourceLev, Integer targetLev, LiftCommandModeType mode) {
         /**
          * 浠诲姟绫诲瀷
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java
index a8a9ae9..19e3251 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/NyShuttleThread.java
@@ -595,7 +595,7 @@
             return false;
         }
 
-        if (this.shuttleProtocol.getDeviceStatus() == 1 && this.shuttleProtocol.getHasCharge()) {
+        if (this.shuttleProtocol.getDeviceStatus() == 0 && this.shuttleProtocol.getHasCharge()) {
             //杩愯涓� && 鍏呯數涓�
             return true;
         }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
index a6a4cfb..f1c4e9e 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SurayLiftThread.java
@@ -483,6 +483,11 @@
         return extend.getLock();
     }
 
+    @Override
+    public int generateDeviceTaskNo(int taskNo, MotionCtgType motionCtgType) {
+        return taskNo;
+    }
+
     //***************璁惧灞傞�氳-涓嶅悓鍘傚晢璁惧閫氳鏂规涓嶄竴鑷�***************
 
     //璇锋眰鐧诲綍

--
Gitblit v1.9.1