From 62dd8d27361ae16c45c227c87a3d0feb4c8248a8 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期四, 08 五月 2025 14:08:03 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/SiteController.java    |    2 
 src/main/java/com/zy/core/enums/RgvModeType.java            |    4 
 src/main/java/com/zy/asrs/entity/TaskWrk.java               |    4 
 src/main/java/com/zy/asrs/utils/RouteUtils.java             |    1 
 src/main/java/com/zy/asrs/controller/OpenController.java    |    4 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   36 ++++--
 src/main/resources/application-prod.yml                     |   52 +++++---
 src/main/resources/mapper/TaskWrkMapper.xml                 |    1 
 src/main/java/com/zy/core/model/protocol/TaskProtocol.java  |    4 
 src/main/java/com/zy/core/model/protocol/StaProtocol.java   |    1 
 src/main/java/com/zy/core/thread/RgvThread.java             |   42 ++++++-
 src/main/java/com/zy/core/thread/SiemensCrnThread.java      |    4 
 src/main/java/com/zy/core/cache/TaskProtocolCache.java      |    6 
 src/main/webapp/static/wcs/js/console.map.js                |   10 
 src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java |   15 ++
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |    7 +
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |   59 +++++----
 src/main/resources/application.yml                          |    4 
 src/main/java/com/zy/asrs/utils/BarcodeUtils.java           |   55 +++++++++
 19 files changed, 224 insertions(+), 87 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index fbc8ff3..c5ad8e0 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -389,7 +389,7 @@
                 if(Cools.isEmpty(staDesc)){
                     return R.error("鍏ュ簱璺姴涓嶅瓨鍦�");
                 }
-                r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo()));
+                r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo(),staDesc.getCrnStn()));
 
             }else if(param.getIoType() == 2){
                 //鍑哄簱浠诲姟鍒涘缓
@@ -400,7 +400,7 @@
                 if(Cools.isEmpty(staDesc)){
                     return R.error("鍑哄簱璺姴涓嶅瓨鍦�");
                 }
-                r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo()));
+                r = openService.taskCreate(new TaskCreateParam(param,staDesc.getCrnNo(),staDesc.getCrnStn()));
             }else if (param.getIoType() == 3){
                 LocMast locMast2 = locMastService.selectByLocNo(param.getTargetPoint());
                 if(Cools.isEmpty(locMast2)){
diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 7c843c9..759eec6 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -221,7 +221,7 @@
                         basDevp.setOutEnable(outEnable ? "Y" : "N");
                     }
                     basDevpService.updateById(basDevp);
-                    boolean result = CommandUtils.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol), false);
+                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                     if (result) {
                         return R.ok();
                     } else {
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrk.java b/src/main/java/com/zy/asrs/entity/TaskWrk.java
index 38d98da..181892b 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrk.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -101,7 +101,7 @@
     @TableField("ORIGIN_START_POINT")
     private String originStartPoint;
 
-    @ApiModelProperty(value = "鍘熷璧风偣")
+    @ApiModelProperty(value = "鍘熷缁堢偣")
     @TableField("ORIGIN_TARGET_POINT")
     private String originTargetPoint;
 
@@ -355,7 +355,7 @@
 
 
     public Integer getTargetPointConvert(){
-        switch (targetPoint){
+        switch (originTargetPoint){
             case "11":
                 return 11;
             default:
diff --git a/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java b/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java
index 2451936..a4b21a8 100644
--- a/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/TaskCreateParam.java
@@ -14,12 +14,14 @@
 
     //璧风偣
     private String startPoint;
+    private Integer startPointSta;
 
     //浼樺厛绾�
     private Integer taskPriority;
 
     //缁堢偣
     private String targetPoint;
+    private Integer targetPointSta;
 
     //鏄惁绌烘墭鐩�            Y:鏄� N锛氬惁
     private String emptyContainer;
@@ -77,6 +79,19 @@
         this.crn = crn;
     };
 
+    public TaskCreateParam(CarryParam param, Integer crn,Integer crnSta){
+        this.taskNo = param.getTaskNo();
+        this.ioType = param.getIoType();
+        this.barcode = param.getBarcode();
+        this.taskPriority = param.getTaskPriority();
+        this.startPoint = param.getStartPoint();
+        this.targetPoint = param.getTargetPoint();
+        this.emptyContainer = "N";
+        this.crn = crn;
+        this.startPointSta = crnSta;
+        this.targetPointSta = crnSta;
+    };
+
 
     public static Integer convertParamIoType(String paramIoType){
         switch (paramIoType){
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 09ccf85..aaa1e03 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -12,10 +12,7 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.mapper.*;
 import com.zy.asrs.service.*;
-import com.zy.asrs.utils.CommandUtils;
-import com.zy.asrs.utils.RouteUtils;
-import com.zy.asrs.utils.TrackRangeUtils;
-import com.zy.asrs.utils.Utils;
+import com.zy.asrs.utils.*;
 import com.zy.common.model.MatDto;
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.CollectionUtils;
@@ -465,7 +462,8 @@
 
                     // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
                     if (staProtocol.isAutoing() && staProtocol.isLoading()
-                            && staProtocol.isInEnable() && (workNo == 0 || (workNo>9000 && workNo<10000))
+//                            && staProtocol.isInEnable()
+                            && (workNo == 0 || (workNo>9000 && workNo<10000))
                             && staProtocol.isPakMkWalk()
                     ) {
                         if (inSta.isBarcodeSign()){
@@ -529,9 +527,21 @@
                                         return;
                                     } else {
                                         staProtocol.setWorkNo(taskWrk1.getWrkNo());
-                                        staProtocol.setStaNo(staDesc.getCrnStn());
+                                        staProtocol.setStaNo(BarcodeUtils.getStaNo(staProtocol.getSiteId()));
                                         devpThread.setPakMkWalk(staProtocol.getSiteId(), false);
                                         MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+
+                                        Date now = new Date();
+//                                        taskWrk1.setStatus(TaskStatusType.DISTRIBUTE.id);//娲惧彂鐘舵��
+//                taskWrk.setAssignTime(now);//娲惧彂鏃堕棿
+                                        taskWrk1.setExecuteTime(now);
+                                        taskWrk1.setWrkSts(2);//宸ヤ綔鐘舵�� 3.鍚婅溅鍏ュ簱
+                                        taskWrk1.setCrnNo(staDesc.getCrnNo());//鍫嗗灈鏈哄彿
+                                        taskWrk1.setModiTime(now);
+                                        taskWrk1.setModiUser(9988L);
+                                        taskWrkService.updateById(taskWrk1);
+
+
                                     }
                                 }
                                 return;
@@ -595,7 +605,7 @@
                             log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
 //                            R r = siteController.siteDetlUpdate(Integer.valueOf(taskWrk.getTargetPoint()), taskWrk.getWrkNo().shortValue(), (short) 0, "Y", false, false);
                             staProtocol.setWorkNo(taskWrk.getWrkNo());
-                            staProtocol.setStaNo(staDesc.getCrnStn());
+                            staProtocol.setStaNo(BarcodeUtils.getStaNo(staProtocol.getSiteId()));
                             boolean offer = false;
                             try {
                                 offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
@@ -1345,7 +1355,7 @@
         if (rgvProtocol == null || rgvTaskProtocol == null) {
             return false;
         }
-        if (!rgvProtocol.getModeType().equals(RgvModeType.AUTO) || rgvProtocol.getRgvPos().equals(0L) || rgvTaskProtocol.getAvoid() == -1 || rgvProtocol.getRgvPosDestination() == 0L
+        if (!rgvProtocol.getModeType().equals(RgvModeType.AUTO) || rgvProtocol.getRgvPos().equals(0L) || rgvTaskProtocol.getAvoid() == -1
                 || (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) && !rgvProtocol.getStatusType().equals(RgvStatusType.ROAM))) {
             return false;
         }
@@ -1373,8 +1383,9 @@
         // 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
         if (staProtocol.isAutoing()
 //                && staProtocol.isLoading()
+                && staProtocol.isStaOk()
                 && staProtocol.getWorkNo() != 0) {
-            TaskWrk taskWrk = taskWrkService.selectByTaskNo(staProtocol.getWorkNo().toString());
+            TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo());
             if (taskWrk != null) {
                 return taskWrk;
             }
@@ -1596,7 +1607,8 @@
                 if (taskWrk == null) {
                     return false;
                 }
-                Integer targetPointConvert = taskWrk.getTargetPointConvert();
+//                Integer targetPointConvert = taskWrk.getTargetPointConvert();
+                Integer targetPointConvert = BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint());
                 if (targetPointConvert == null) {
                     return false;
                 }
@@ -1609,7 +1621,7 @@
                 BasDevpPosition basDevpPositionEnd = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", targetPointConvert));
                 //鎵ц
                 issuedTake.setTaskNo(Long.valueOf(taskWrk.getTaskNo()));
-                issuedTake.setTaskStatus(1);
+                issuedTake.setTaskStatus(2);
                 issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus()));
                 issuedTake.setTargetPosition(basDevpPositionSou.getPlcPosition());
                 issuedTake.setIsRunning(1);
@@ -1617,7 +1629,7 @@
 
 
                 issuedPut.setTaskNo(Long.valueOf(taskWrk.getTaskNo()));
-                issuedPut.setTaskStatus(2);
+                issuedPut.setTaskStatus(3);
                 issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus()));
                 issuedPut.setTargetPosition(basDevpPositionEnd.getPlcPosition());
                 issuedPut.setIsRunning(1);
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index d78e95c..194a76b 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -107,7 +107,8 @@
 //                taskWrk.setTargetPoint(Utils.getWcsLocNo(param.getTargetPoint()));//缁堢偣  杞崲涓�
                 taskWrk.setTargetPoint(param.getTargetPoint());//缁堢偣
                 taskWrk.setStartPoint(param.getStartPoint());
-                taskWrk.setOriginStartPoint(param.getStartPoint());
+                taskWrk.setOriginStartPoint(param.getStartPointSta().toString());
+                taskWrk.setOriginTargetPoint(param.getTargetPointSta().toString());
             }
 
         } else if (param.getIoType() == 2) {
@@ -117,11 +118,15 @@
                 taskWrk.setTargetPoint(param.getTargetPoint());
             }
             taskWrk.setTargetPoint(param.getTargetPoint());
+            taskWrk.setOriginStartPoint(param.getStartPointSta().toString());
+            taskWrk.setOriginTargetPoint(param.getTargetPointSta().toString());
         }else if (param.getIoType() == 3){
             taskWrk.setWrkSts(11);
             if (!Cools.isEmpty(param.getStartPoint())) {
                 taskWrk.setStartPoint(param.getStartPoint());//璧风偣
                 taskWrk.setTargetPoint(param.getTargetPoint());
+                taskWrk.setOriginStartPoint(param.getStartPointSta().toString());
+                taskWrk.setOriginTargetPoint(param.getTargetPointSta().toString());
             }
         }
 
diff --git a/src/main/java/com/zy/asrs/utils/BarcodeUtils.java b/src/main/java/com/zy/asrs/utils/BarcodeUtils.java
new file mode 100644
index 0000000..ac3c396
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/BarcodeUtils.java
@@ -0,0 +1,55 @@
+package com.zy.asrs.utils;
+
+import java.util.ArrayList;
+
+public class BarcodeUtils {
+
+    public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
+        add(1001);add(1002);add(1003);add(1004);add(1005);add(1006);add(1007);
+        add(1008);add(1009);add(1010);add(1011);add(1012);add(1013);add(1014);add(1015);
+        add(1016);add(1017);add(1018);add(1019);add(1020);add(1021);add(1022);add(1023);
+    }};
+
+    public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
+        add(1001);add(1002);add(1003);add(1004);add(1005);add(1006);add(1007);
+        add(1008);add(1009);add(1010);add(1011);add(1012);add(1013);add(1014);add(1015);
+        add(1016);add(1017);add(1018);add(1019);add(1020);add(1021);add(1022);add(1023);
+    }};
+
+    public static Integer getStaNo(Integer staNo) {
+        switch (staNo){
+            case 1021:
+                return 1020;
+            case 1012:
+                return 1014;
+            case 1005:
+                return 1004;
+            default:
+                return staNo;
+        }
+    }
+    public static Integer getStartStaNo(String staNo) {
+        switch (staNo){
+            case "1021":
+                return 1020;
+            case "1012":
+                return 1014;
+            case "1005":
+                return 1004;
+            default:
+                return Integer.getInteger(staNo);
+        }
+    }
+    public static Integer getOutStaNo(String staNo) {
+        switch (staNo){
+            case "1021":
+                return 1020;
+            case "1012":
+                return 1009;
+            case "1005":
+                return 1004;
+            default:
+                return Integer.parseInt(staNo);
+        }
+    }
+}
diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index 905be8d..457b767 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -127,6 +127,7 @@
             for (BasDevpPosition basDevpPosition : basDevpPositions) {
                 if (basDevpPosition.getPlcPosition().equals(position)) {
                     basDevpPositionSort.add(basDevpPosition);
+                    basDevpPositions.remove(basDevpPosition);
                     break;
                 }
             }
diff --git a/src/main/java/com/zy/core/cache/TaskProtocolCache.java b/src/main/java/com/zy/core/cache/TaskProtocolCache.java
index f4d7519..6e9c11f 100644
--- a/src/main/java/com/zy/core/cache/TaskProtocolCache.java
+++ b/src/main/java/com/zy/core/cache/TaskProtocolCache.java
@@ -71,7 +71,7 @@
         try {
             List<TaskProtocol> allTakeTaskProtocol = new ArrayList<>();
             for (TaskProtocol task : cache.values()) {
-                if (task.getTaskStatus()==1) {
+                if (task.getTaskStatus()==2) {
                     allTakeTaskProtocol.add(task);
                 }
             }
@@ -89,7 +89,7 @@
         try {
             List<TaskProtocol> allPutTaskProtocol = new ArrayList<>();
             for (TaskProtocol task : cache.values()) {
-                if (task.getTaskStatus()==2) {
+                if (task.getTaskStatus()==3) {
                     allPutTaskProtocol.add(task);
                 }
             }
@@ -107,7 +107,7 @@
         try {
             List<TaskProtocol> allWalkTaskProtocol = new ArrayList<>();
             for (TaskProtocol task : cache.values()) {
-                if (task.getTaskStatus()==0) {
+                if (task.getTaskStatus()==1) {
                     allWalkTaskProtocol.add(task);
                 }
             }
diff --git a/src/main/java/com/zy/core/enums/RgvModeType.java b/src/main/java/com/zy/core/enums/RgvModeType.java
index 0905b52..6efa3db 100644
--- a/src/main/java/com/zy/core/enums/RgvModeType.java
+++ b/src/main/java/com/zy/core/enums/RgvModeType.java
@@ -3,10 +3,10 @@
 public enum RgvModeType {
 
     NONE(-1, "绂荤嚎"),
-    STOP(1, "缁翠慨"),
+    STOP(2, "缁翠慨"),
     HAND(0, "鎵嬪姩"),
     HALF_AUTO(3, "鍗婅嚜鍔�"),
-    AUTO(2, "鑷姩"),
+    AUTO(1, "鑷姩"),
     OTHER(100, "鍏跺畠"),
     ;
 
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index 3bf92ad..1d39655 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -45,6 +45,7 @@
 
     // 浣�
     private boolean low;
+    private boolean staOk;
 
     // 閿佸畾鏍囪
     private boolean pakMk = true;
diff --git a/src/main/java/com/zy/core/model/protocol/TaskProtocol.java b/src/main/java/com/zy/core/model/protocol/TaskProtocol.java
index 9ddcc19..d25c90e 100644
--- a/src/main/java/com/zy/core/model/protocol/TaskProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/TaskProtocol.java
@@ -15,7 +15,7 @@
 
     private volatile int taskStatus = 0; //浣滀笟妯″紡  1锛氳璧�  2锛氬彇  3锛氭斁  0:鏃�
 
-    private volatile boolean direction; // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+    private volatile boolean direction; // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�  鎵ц鏂瑰悜锛堥潰鏈濊建閬�  1:鑷繁  2 杞ㄩ亾   true:鑷繁   false:杞ㄩ亾
 
     public TaskProtocol(){}
 
@@ -40,8 +40,10 @@
         switch (taskStatus){
             case 1:
                 taskStatusStr = "Tack";
+                break;
             case 2:
                 taskStatusStr = "Put";
+                break;
         }
         return taskNo+"_"+taskStatusStr;
     }
diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java
index 5c1f010..0258e1d 100644
--- a/src/main/java/com/zy/core/thread/RgvThread.java
+++ b/src/main/java/com/zy/core/thread/RgvThread.java
@@ -83,7 +83,7 @@
             new Thread(this::taskWalkIssued).start();
 
             // 鍚姩浠诲姟瀹屾垚绾跨▼
-//            new Thread(this::taskComplete).start();
+            new Thread(this::taskComplete).start();
         }
     }
 
@@ -108,6 +108,21 @@
      * 瀹屾垚
      */
     private void taskComplete() {
+        while (true) {
+            try {
+                Thread.sleep(100);
+                OperateResultExOne<byte[]> result = siemensNet.Read("DB100.12", (short) 1);
+                boolean[] status = siemensNet.getByteTransform().TransBool(result.Content, 0, 1);
+                if (status[0]){
+                    OperateResult result4 = siemensNet.Write("DB100.12.0", true);
+                }
+            } catch (Exception e) {
+                log.error("RGV鏁版嵁璇诲彇绾跨▼寮傚父锛侊紒锛�" + e.getMessage());
+                initRgv();
+//                e.printStackTrace();
+            }
+
+        }
 
     }
 
@@ -168,6 +183,9 @@
                 if (rgvTaskProtocol.getAvoid() != 0) {
                     continue;
                 }
+                if (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE)){
+                    continue;
+                }
 
                 List<TaskProtocol> allTakeTaskProtocol = taskProtocolCache.getTakeOrPutTaskProtocol(rgvProtocol.getLoaded());
                 for (TaskProtocol taskProtocol : allTakeTaskProtocol) {
@@ -183,7 +201,7 @@
                         Thread.sleep(100);
                         TaskProtocol issued = new TaskProtocol(taskProtocol);
                         write(issued);
-                        taskProtocol.setIsRunning(taskProtocol.getIsRunning() + 1);
+                        taskProtocol.setIsRunning(4);
                         taskProtocolCache.updateTaskProtocol(taskProtocol);
                         break;
                     }
@@ -390,7 +408,7 @@
             rgvTaskProtocol = new RgvTaskProtocol();
             rgvTaskProtocol.setRgvNo(slave.getId());
         }
-        rgvTaskProtocol.setAvoid(-1);
+        rgvTaskProtocol.setAvoid(0);
         rgvTaskProtocol.setAvoidingTheDestination(0L);
 
         RgvStatusCache.updateRgvStatus(rgvProtocol);
@@ -425,7 +443,7 @@
      */
     private void readStatus() {
         try {
-            OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 18);
+            OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 19);
             if (result.IsSuccess) {
                 // 鏋勫缓璁惧鐘舵�佸璞�
                 RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId());
@@ -436,6 +454,9 @@
 
                 rgvProtocol.setRgvPos((long)siemensNet.getByteTransform().TransInt32(result.Content, 0));
                 rgvProtocol.setRgvPosDestination((long)siemensNet.getByteTransform().TransInt32(result.Content, 4));
+                if (rgvProtocol.getRgvPosDestination()==0L){
+                    rgvProtocol.setRgvPosDestination(rgvProtocol.getRgvPos());
+                }
                 rgvProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 8));
                 rgvProtocol.setTaskNo((long)siemensNet.getByteTransform().TransInt32(result.Content, 10));
 
@@ -445,6 +466,10 @@
 //                rgvProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28));
 //                rgvProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40));
 //                rgvProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48));
+
+//                OperateResultExOne<byte[]> result11 = siemensNet.Read("DB100.12", (short) 1);
+                boolean[] status = siemensNet.getByteTransform().TransBool(result.Content, 18, 1);
+                rgvProtocol.setLoaded(status[0]? (short)1:(short)0);
 
                 OutputQueue.RGV.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
 //                // 宸ヤ綅1澶嶄綅淇″彿
@@ -511,9 +536,14 @@
 //        array[2] = taskProtocol.getTaskMode();
 //        array[4] = command.getDestinationStaNo();
 //        array[10] = taskProtocol.getCommand();
-        OperateResult result = siemensNet.Write("DB100.0", taskProtocol.getTaskNo());
-        OperateResult result1 = siemensNet.Write("DB100.1", taskProtocol.isDirection()); // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級    true:宸�   false:鍙�
+        int taskStatus = taskProtocol.getTaskStatus();
 
+        OperateResult result = siemensNet.Write("DB100.0", taskProtocol.getTargetPosition().intValue());
+        OperateResult result1 = siemensNet.Write("DB100.4", (short) taskStatus);
+        OperateResult result2 = siemensNet.Write("DB100.6", taskProtocol.getTaskNo().intValue());
+        OperateResult result3 = siemensNet.Write("DB100.10", taskProtocol.isDirection()? (short) 1 :  (short) 2); // 鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級    true:宸�   false:鍙�
+
+        OperateResult result4 = siemensNet.Write("DB100.12.0", true);
 //        if (taskProtocol.getAckFinish1() == 0) {
 //            short commandFinish = 3;  //宸ヤ綅1銆�2浠诲姟鍚屾椂鍐欏叆
 //            Thread.sleep(100L);
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 53fbb42..d6a4109 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -155,7 +155,7 @@
      */
     private void readStatus(){
         try {
-            OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 56);
+            OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 58);
             if (result.IsSuccess) {
                 if (null == crnProtocol) {
                     crnProtocol = new CrnProtocol();
@@ -182,7 +182,7 @@
                 crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 44));
                 crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48));
                 crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 52));
-                crnProtocol.setLaneNo((int)siemensNet.getByteTransform().TransInt16(result.Content, 54));//宸烽亾鍙�
+                crnProtocol.setLaneNo((int)siemensNet.getByteTransform().TransInt16(result.Content, 56));//宸烽亾鍙�
 
                 OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
 
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 56f40a1..f59ff6d 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -54,7 +54,7 @@
     /**
      * 鏉$爜鏁伴噺
      */
-    private int barcodeSize = 2;
+    private int barcodeSize = 3;
 
     /**
      * 鍏ュ嚭搴撴ā寮�
@@ -191,11 +191,12 @@
                 staProtocol.setInEnable(status[2]); // 鍙叆
 //                staProtocol.setInEnable(true); // 鍙叆
                 staProtocol.setOutEnable(status[3]);// 鍙嚭
-//                staProtocol.setOutEnable(true);// 鍙嚭
+                staProtocol.setOutEnable(true);// 鍙嚭
                 staProtocol.setEmptyMk(status[4]);  // 绌烘澘淇″彿
                 staProtocol.setFullPlt(status[5]);  // 婊℃墭鐩�
                 staProtocol.setHigh(status[6]);     // 楂樺簱浣�
                 staProtocol.setLow(status[7]);      // 浣庡簱浣�
+                staProtocol.setStaOk(status[8]);      // 灏辩华
 
 
 
@@ -212,7 +213,7 @@
 
         //鏉$爜
         Thread.sleep(200);
-        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.100.0",(short) (barcodeSize*8));
+        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.840.0",(short) (barcodeSize*8));
         if (result2.IsSuccess) {
             for (int i = 0; i < barcodeSize; i++) {
                 String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
@@ -266,26 +267,26 @@
 
         int index = staNos.indexOf(staProtocol.getSiteId());
 
-        //鏇存柊鍛戒护鏃ュ織
-        CommandInfoLogService commandInfoLogService = SpringUtils.getBean(CommandInfoLogService.class);
-        CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class);
-        CommandInfo commandInfo = commandInfoService.selectById(staProtocol.getCommandId());
-        CommandInfoLog commandInfoLog = new CommandInfoLog();
-        if (commandInfo != null) {
-            commandInfoLog = JSON.parseObject(JSON.toJSONString(commandInfo), CommandInfoLog.class);
-            commandInfoLog.setId(null);
-        }else {
-            Date now = new Date();
-            commandInfoLog.setCommand(JSON.toJSONString(staProtocol));
-            commandInfoLog.setCommandStatus(3);
-            commandInfoLog.setStartTime(now);
-            commandInfoLog.setExecuteTime(now);
-            commandInfoLog.setCompleteTime(now);
-            commandInfoLog.setDevice(SlaveType.Devp.toString());
-            commandInfoLog.setWrkNo(9999);
-            commandInfoLog.setTaskNo("9999");
-            commandInfoLog.setCommandDesc("鎵嬪姩鍛戒护");
-        }
+//        //鏇存柊鍛戒护鏃ュ織
+//        CommandInfoLogService commandInfoLogService = SpringUtils.getBean(CommandInfoLogService.class);
+//        CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class);
+//        CommandInfo commandInfo = commandInfoService.selectById(staProtocol.getCommandId());
+//        CommandInfoLog commandInfoLog = new CommandInfoLog();
+//        if (commandInfo != null) {
+//            commandInfoLog = JSON.parseObject(JSON.toJSONString(commandInfo), CommandInfoLog.class);
+//            commandInfoLog.setId(null);
+//        }else {
+//            Date now = new Date();
+//            commandInfoLog.setCommand(JSON.toJSONString(staProtocol));
+//            commandInfoLog.setCommandStatus(3);
+//            commandInfoLog.setStartTime(now);
+//            commandInfoLog.setExecuteTime(now);
+//            commandInfoLog.setCompleteTime(now);
+//            commandInfoLog.setDevice(SlaveType.Devp.toString());
+//            commandInfoLog.setWrkNo(9999);
+//            commandInfoLog.setTaskNo("9999");
+//            commandInfoLog.setCommandDesc("鎵嬪姩鍛戒护");
+//        }
 
         OperateResult writeResult;
         //浠诲姟涓嬪彂娆℃暟
@@ -293,15 +294,15 @@
         //浠诲姟涓嬪彂鎴愬姛鏍囪瘑
         boolean writeFlag = false;
         while(writeCount < 5){
-            OperateResult writeResult1 = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 宸ヤ綔鍙�
-            OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo());    // 鐩爣绔�
+            OperateResult writeResult1 = siemensS7Net.Write("DB101." + index*8, staProtocol.getWorkNo());    // 宸ヤ綔鍙�
+            OperateResult writeResult2 = siemensS7Net.Write("DB101." + (index*8+4), staProtocol.getStaNo().shortValue());    // 鐩爣绔�
             if(writeResult1.IsSuccess && writeResult2.IsSuccess){
                 Thread.sleep(200);
                 OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB101.0" + index*8, (short)4);
 
                 //鏇存柊鎸囦护鏃ュ織
-                commandInfoLog.setDeviceLog("鎸囦护涓嬪彂鎴愬姛");
-                commandInfoLogService.insert(commandInfoLog);
+//                commandInfoLog.setDeviceLog("鎸囦护涓嬪彂鎴愬姛");
+//                commandInfoLogService.insert(commandInfoLog);
 
                 if(readResult.IsSuccess){
                     Integer workNo = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0);
@@ -330,8 +331,8 @@
                 log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
 
                 //鏇存柊鎸囦护鏃ュ織
-                commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触");
-                commandInfoLogService.insert(commandInfoLog);
+//                commandInfoLog.setDeviceLog("鎸囦护涓嬪彂澶辫触");
+//                commandInfoLogService.insert(commandInfoLog);
             }
             Thread.sleep(200);
         }
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 3d9b412..0bdb7c0 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -16,7 +16,7 @@
     # 鍏ュ簱鍙�2
     inSta[1]:
       staNo: 1020
-      barcode: ${wcs-slave.barcode[1].id}
+      barcode: ${wcs-slave.barcode[2].id}
       backSta: 1021
 #      led: ${wcs-slave.led[0].id}
     # 绌烘澘鍏ュ簱鍙�1
@@ -27,7 +27,7 @@
     # 鍏ュ簱鍙�2
     emptyInSta[1]:
       staNo: 1020
-      barcode: ${wcs-slave.barcode[1].id}
+      barcode: ${wcs-slave.barcode[2].id}
       backSta: 1021
 #      led: ${wcs-slave.led[0].id}
     # 鎷f枡鍏ュ簱鍙�1
@@ -38,24 +38,24 @@
     # 鎷f枡鍏ュ簱鍙�2
     pickSta[1]:
       staNo: 1020
-      barcode: ${wcs-slave.barcode[1].id}
+      barcode: ${wcs-slave.barcode[2].id}
       backSta: 1021
     # 鍏ュ簱涓嬪彂鍙�1
     inWalkSta[0]:
       staNo: 1021
-      barcode: ${wcs-slave.barcode[0].id}
+      barcode: ${wcs-slave.barcode[2].id}
       backSta: 1021
       barcodeSign: false
     # 鍏ュ簱涓嬪彂鍙�1
     inWalkSta[1]:
-      staNo: 1004
+      staNo: 1005
       barcode: ${wcs-slave.barcode[0].id}
-      backSta: 1004
+      backSta: 1005
       barcodeSign: false
     # 鍏ュ簱涓嬪彂鍙�1
     inWalkSta[2]:
       staNo: 1012
-      barcode: ${wcs-slave.barcode[0].id}
+      barcode: ${wcs-slave.barcode[1].id}
       backSta: 1012
       barcodeSign: false
 
@@ -78,21 +78,31 @@
   # RGV绌挎杞�1
   rgv[0]:
     id: 1
-    ip: 10.10.10.49
+    ip: 10.10.10.70
     port: 502
     rack: 0
     slot: 0
     otherId: 2
-    carBodyJiaoMing: 100
-    carBodyKunPeng: 100
+    carBodyJiaoMing: 4100
+    carBodyKunPeng: 4100
     #RGV婧愮珯鐐�
     rgvInSta[0]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 100
+      staNo: 1004
       direction: true
     rgvInSta[1]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 101
+      staNo: 1001
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: false
+    rgvInSta[2]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 1014
+      #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
+      direction: true
+    rgvInSta[3]:
+      devpPlcId: ${wcs-slave.devp[0].id}
+      staNo: 1007
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: false
     #RGV鐩爣绔欑偣
@@ -108,13 +118,13 @@
   # RGV绌挎杞�2
   rgv[1]:
     id: 2
-    ip: 10.10.10.65
+    ip: 10.10.10.71
     port: 502
     rack: 0
     slot: 0
     otherId: 1
-    carBodyJiaoMing: 100
-    carBodyKunPeng: 100
+    carBodyJiaoMing: 4100
+    carBodyKunPeng: 4100
     #RGV婧愮珯鐐�
     rgvInSta[0]:
       devpPlcId: ${wcs-slave.devp[0].id}
@@ -136,14 +146,18 @@
       #鎵ц鏂瑰悜锛堥潰鏈濊建閬� 瀹氫綅鍊煎乏灏忓彸澶э級  true:宸�   false:鍙�
       direction: false
 
-  barcode[0]: #鏉$爜鎵弿浠�1
+  barcode[0]: #鏉$爜鎵弿浠�1004
     port: 51236
-    ip: 10.10.10.52
+    ip: 10.10.101.52
     id: 1
-  barcode[1]: #鏉$爜鎵弿浠�1
+  barcode[1]: #鏉$爜鎵弿浠�1鏃�
     port: 51236
-    ip: 10.10.10.52
+    ip: 10.10.101.52
     id: 2
+  barcode[2]: #鏉$爜鎵弿浠�1020
+    port: 51236
+    ip: 10.10.101.52
+    id: 3
     # 纾呯Г
   scale[0]:
     id: 1
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 1fe8ce6..66e6afd 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -49,13 +49,13 @@
 
 constant-parameters:
   # 杞ㄩ亾鎬婚暱
-  trackEntireLength: 1737000
+  trackEntireLength: 190000
   # 杞ㄩ亾鍩哄噯鐐�
   trackBenchmark: 1
   # 杞ㄩ亾杞崲涓虹背姣斾緥
   trackProportion: 10000
   # 閬胯璺濈
-  avoidDistance: 100
+  avoidDistance: 4100
 
 wms:
   # 鏄惁寮�鍚笂鎶�
diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml
index 5773347..6058986 100644
--- a/src/main/resources/mapper/TaskWrkMapper.xml
+++ b/src/main/resources/mapper/TaskWrkMapper.xml
@@ -52,6 +52,7 @@
     <select id="selectPakIn" resultMap="BaseResultMap">
         select top 1 * from "SOURCE"."wcs_task_wrk"
         where "STATUS"=1
+        and "WRK_STS"=2
         and "CRN_NO"=#{crnNo}
         and "WRK_NO"=#{workNo}
         and "START_POINT"=#{startPoint}
diff --git a/src/main/webapp/static/wcs/js/console.map.js b/src/main/webapp/static/wcs/js/console.map.js
index d3b37a7..f77ad12 100644
--- a/src/main/webapp/static/wcs/js/console.map.js
+++ b/src/main/webapp/static/wcs/js/console.map.js
@@ -249,7 +249,7 @@
                 "id": "site-1004",
                 "text": "1004",
                 "top": 344,
-                "left": 240,
+                "left": 287,
                 "width": 45,
                 "height": 23
             }, {
@@ -257,7 +257,7 @@
                 "id": "site-1005",
                 "text": "1005",
                 "top": 344,
-                "left": 287,
+                "left": 240,
                 "width": 45,
                 "height": 23
             }, {
@@ -376,7 +376,7 @@
                 "type": "stn",
                 "id": "site-1023",
                 "text": "1023",
-                "top": 59,
+                "top": 0,
                 "left": 240,
                 "width": 92,
                 "height": 23
@@ -392,7 +392,7 @@
                 "type": "stn",
                 "id": "site-1021",
                 "text": "1021",
-                "top": 0,
+                "top": 59,
                 "left": 240,
                 "width": 45,
                 "height": 23
@@ -400,7 +400,7 @@
                 "type": "stn",
                 "id": "site-1020",
                 "text": "1020",
-                "top": 0,
+                "top": 59,
                 "left": 287,
                 "width": 45,
                 "height": 23

--
Gitblit v1.9.1