From 0c60480362efdcffa0cbb3f6dd4272f43859adb1 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 01 四月 2025 15:05:15 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/entity/TaskWrk.java               |   14 
 src/main/java/com/zy/asrs/controller/OpenController.java    |   72 +-
 src/main/java/com/zy/asrs/entity/BasDevp.java               |   16 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  261 -----------
 src/main/java/com/zy/asrs/controller/CrnController.java     |   14 
 src/main/resources/mapper/TaskWrkMapper.xml                 |    4 
 src/main/java/com/zy/core/model/protocol/CrnProtocol.java   |  319 +++----------
 src/main/java/com/zy/asrs/service/OpenService.java          |    4 
 src/main/java/com/zy/asrs/entity/TaskWrkLog.java            |    1 
 src/main/java/com/zy/core/model/protocol/StaProtocol.java   |    2 
 src/main/java/com/zy/core/thread/SiemensCrnThread.java      |  515 ---------------------
 src/main/java/com/zy/asrs/controller/ConsoleController.java |    6 
 src/main/java/com/zy/core/enums/CrnStatusType.java          |   46 -
 src/main/java/com/zy/asrs/controller/TaskWrkController.java |   15 
 src/main/java/com/zy/core/MainProcess.java                  |    7 
 src/main/resources/mapper/TaskWrkLogMapper.xml              |    1 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   64 +-
 src/main/resources/mapper/BasDevpMapper.xml                 |    4 
 18 files changed, 215 insertions(+), 1,150 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index d56f44d..5e704a3 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -147,7 +147,7 @@
             /**
              * 鍫嗗灈鏈虹姸鎬佸垽鏂�
              */
-            if (crnProtocol.getAlarm1() > 0) {
+            if (crnProtocol.getAlarm() > 0) {
                 vo.setCrnStatus(CrnStatusType.MACHINE_ERROR);
             } else {
                 if (crnProtocol.getTaskNo()>0) {
@@ -324,8 +324,8 @@
                 vo.setWorkNo(crnProtocol.getTaskNo());
                 vo.setCrnStatus(crnProtocol.getStatusType().desc);
 
-                if (crnProtocol.getAlarm1() > 0) {
-                    BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+                if (crnProtocol.getAlarm() > 0) {
+                    BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
                     vo.setError(crnError == null ? "鏈煡寮傚父" : crnError.getErrName());
                 }
 
diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index 4844ff3..2bb0d19 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -130,7 +130,7 @@
             vo.setForkOffset(crnProtocol.getForkPosType().desc);    // 璐у弶浣嶇疆
             vo.setLiftPos(crnProtocol.getLiftPosType().desc);
             vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
-            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));
+            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));
             if (crnProtocol.getAlarm() > 0) {
                 BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
                 vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
@@ -165,9 +165,9 @@
         vo.setForkOffset(crnProtocol.getForkPosType().desc);    // 璐у弶浣嶇疆
         vo.setLiftPos(crnProtocol.getLiftPosType().desc);
         vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
-        vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));
-        if (crnProtocol.getAlarm1() > 0) {
-            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+        vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));
+        if (crnProtocol.getAlarm() > 0) {
+            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
             vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
         }
         return R.ok().add(vo);
@@ -307,9 +307,9 @@
             vo.setForkOffset(crnProtocol.getForkPosType().desc);    // 璐у弶浣嶇疆
             vo.setLiftPos(crnProtocol.getLiftPosType().desc);
             vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
-            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));
-            if (crnProtocol.getAlarm1() > 0) {
-                BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));
+            if (crnProtocol.getAlarm() > 0) {
+                BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
                 vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
             }
             vo.setInEnable(basCrnp.getInEnable());
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 0e360c4..7af2501 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -154,43 +154,43 @@
         return R.ok().add(taskWrk);
     }
 
-    //鍙栨斁璐х敵璇�
-    @PostMapping("/pick/and/place/v1")
-    @AppAuth(memo = "agv鍙栨斁璐х敵璇�")
-    public R getAgvPickAndPlaceV1(@RequestHeader String appkey,
-                            @RequestBody TaskOverParam param,
-                            HttpServletRequest request){
-        auth(appkey, param, request);
-        if (Cools.isEmpty(param)) {
-            return R.parse(BaseRes.PARAM);
-        }
-        if (Cools.isEmpty(param.getStaNo())){
-            return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
-        }
-        if (Cools.isEmpty(param.getType())){
-            return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
-        }
-        return openService.getAgvPickAndPlaceV1(param);
-    }
+//    //鍙栨斁璐х敵璇�
+//    @PostMapping("/pick/and/place/v1")
+//    @AppAuth(memo = "agv鍙栨斁璐х敵璇�")
+//    public R getAgvPickAndPlaceV1(@RequestHeader String appkey,
+//                            @RequestBody TaskOverParam param,
+//                            HttpServletRequest request){
+//        auth(appkey, param, request);
+//        if (Cools.isEmpty(param)) {
+//            return R.parse(BaseRes.PARAM);
+//        }
+//        if (Cools.isEmpty(param.getStaNo())){
+//            return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
+//        }
+//        if (Cools.isEmpty(param.getType())){
+//            return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
+//        }
+//        return openService.getAgvPickAndPlaceV1(param);
+//    }
 
-    //鍙栨斁璐у畬鎴愬弽棣�
-    @PostMapping("/pick/and/place/v2")
-    @AppAuth(memo = "agv鍙栨斁璐у畬鎴愬弽棣�")
-    public R getAgvPickAndPlaceV2(@RequestHeader String appkey,
-                                  @RequestBody TaskOverParam param,
-                                  HttpServletRequest request){
-        auth(appkey, param, request);
-        if (Cools.isEmpty(param)) {
-            return R.parse(BaseRes.PARAM);
-        }
-        if (Cools.isEmpty(param.getStaNo())){
-            return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
-        }
-        if (Cools.isEmpty(param.getType())){
-            return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
-        }
-        return openService.getAgvPickAndPlaceV2(param);
-    }
+//    //鍙栨斁璐у畬鎴愬弽棣�
+//    @PostMapping("/pick/and/place/v2")
+//    @AppAuth(memo = "agv鍙栨斁璐у畬鎴愬弽棣�")
+//    public R getAgvPickAndPlaceV2(@RequestHeader String appkey,
+//                                  @RequestBody TaskOverParam param,
+//                                  HttpServletRequest request){
+//        auth(appkey, param, request);
+//        if (Cools.isEmpty(param)) {
+//            return R.parse(BaseRes.PARAM);
+//        }
+//        if (Cools.isEmpty(param.getStaNo())){
+//            return R.error("鐮佸ご[staNo]涓嶈兘涓虹┖");
+//        }
+//        if (Cools.isEmpty(param.getType())){
+//            return R.error("绫诲瀷[type]涓嶈兘涓虹┖");
+//        }
+//        return openService.getAgvPickAndPlaceV2(param);
+//    }
 
     //鏌ヨ浠诲姟鎸囦护闆嗗悎
     @GetMapping("/queryTaskCommand")
diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
index 04a0a73..3136a88 100644
--- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java
+++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
@@ -306,21 +306,6 @@
         return R.ok();
     }
 
-    @PostMapping(value = "/taskWrk/updateCommandStep")
-    @ManagerAuth(memo = "鏇存柊姝ュ簭")
-    public R updateCommandStep(@RequestParam Integer wrkNo, @RequestParam Integer commandStep) {
-        TaskWrk taskWrk = taskWrkService.selectByWrkNo(wrkNo);
-        if (taskWrk == null) {
-            return R.error();
-        }
-        Date now = new Date();
-        taskWrk.setCommandStep(commandStep);
-        taskWrk.setModiTime(now);//鎿嶄綔鏃堕棿
-        taskWrk.setModiUser(getUserId());//鎿嶄綔鍛�
-        taskWrkService.updateById(taskWrk);
-        return R.ok();
-    }
-
     public static String getTaskType(Integer paramIoType){
         switch (paramIoType){
             case 1:
diff --git a/src/main/java/com/zy/asrs/entity/BasDevp.java b/src/main/java/com/zy/asrs/entity/BasDevp.java
index 7003eef..a7e3309 100644
--- a/src/main/java/com/zy/asrs/entity/BasDevp.java
+++ b/src/main/java/com/zy/asrs/entity/BasDevp.java
@@ -214,22 +214,6 @@
     @TableField("cart_pos")
     private Integer cartPos;
 
-    @ApiModelProperty(value= "")
-    @TableField("agv_start_pick")
-    private Integer agvStartPick;
-
-    @ApiModelProperty(value= "")
-    @TableField("agv_target_pick")
-    private Integer agvTargetPick;
-
-    @ApiModelProperty(value= "")
-    @TableField("agv_start_place")
-    private Integer agvStartPlace;
-
-    @ApiModelProperty(value= "")
-    @TableField("agv_target_place")
-    private Integer agvTargetPlace;
-
     @ApiModelProperty(value= "寮傚父鐮�")
     @TableField("sta_err")
     private Integer staErr;
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrk.java b/src/main/java/com/zy/asrs/entity/TaskWrk.java
index 379fd46..246fcaf 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrk.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -61,6 +61,13 @@
     private Integer wrkNo;
 
     /**
+     * 浠诲姟鍙�
+     */
+    @ApiModelProperty(value= "閲嶉噺")
+    @TableField("sc_weight")
+    private Integer scWeight;
+
+    /**
      * 浠诲姟鏃堕棿(鎺ユ敹鏃堕棿)
      */
     @ApiModelProperty(value= "浠诲姟鏃堕棿(鎺ユ敹鏃堕棿)")
@@ -168,13 +175,6 @@
     @ApiModelProperty(value= "鍫嗗灈鏈哄彿")
     @TableField("crn_no")
     private Integer crnNo;
-
-    /**
-     * 鎸囦护鎵ц姝ュ簭
-     */
-    @ApiModelProperty(value= "鎸囦护鎵ц姝ュ簭")
-    @TableField("command_step")
-    private Integer commandStep = 0;
 
     @ApiModelProperty(value = "绉诲簱鏍囪")
     @TableField("transfer_mark")
diff --git a/src/main/java/com/zy/asrs/entity/TaskWrkLog.java b/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
index e926683..b0f0bef 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrkLog.java
@@ -227,7 +227,6 @@
         this.cancelTime = taskWrk.getCancelTime();
         this.wrkSts = taskWrk.getWrkSts();
         this.crnNo = taskWrk.getCrnNo();
-        this.commandStep = taskWrk.getCommandStep();
     }
 //    TaskWrkLog taskWrkLog = new TaskWrkLog(
 //            null,    // wms浠诲姟鍙�
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index d763764..02d0549 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -16,6 +16,6 @@
 
     void getAgvTaskOver(TaskOverParam param);
 
-    R getAgvPickAndPlaceV1(TaskOverParam param);
-    R getAgvPickAndPlaceV2(TaskOverParam param);
+//    R getAgvPickAndPlaceV1(TaskOverParam param);
+//    R getAgvPickAndPlaceV2(TaskOverParam param);
 }
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 bbed9de..4c1e5cd 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -56,8 +56,6 @@
 @Transactional
 public class MainServiceImpl {
 
-    public static final long COMMAND_TIMEOUT = 5 * 1000;
-
     @Autowired
     private SlaveProperties slaveProperties;
     @Autowired
@@ -77,14 +75,8 @@
     @Autowired
     private TaskWrkService taskWrkService;
     @Autowired
-    private ConfigService configService;
-    @Autowired
     private StaDescMapper staDescMapper;
-    @Autowired
-    private CommandInfoService commandInfoService;
 
-    @Autowired
-    private OpenServiceImpl openServiceImpl;
     @Autowired
     private StaDescService staDescService;
 
@@ -103,8 +95,6 @@
     private String taskStatusFeedbackPath;
     @Autowired
     private CrnController crnController;
-    @Autowired
-    private SiteController siteController;
 
 
     public void generateStoreWrkFile() throws IOException, InterruptedException {
@@ -860,54 +850,6 @@
     /**
      * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
      */
-//    public void storeFinished() {
-//        for (CrnSlave crn : slaveProperties.getCrn()) {
-//            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
-//            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
-//            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
-//            if (crnProtocol == null) { continue; }
-//
-//            //  鐘舵�侊細绛夊緟纭 骞朵笖  浠诲姟瀹屾垚浣� = 1
-//            if (crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.getTaskNo() != 0) {
-//                //鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
-//                TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crn.getId(),crnProtocol.getTaskNo().intValue());
-//                if (Cools.isEmpty(taskWrk)) {
-////                    log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
-//                    continue;
-//                }
-//
-//                //鑾峰彇鎸囦护ID
-//                Integer commandId = crnProtocol.getCommandId();
-//                CommandInfo commandInfo = new CommandInfo();
-//                if (Cools.isEmpty(commandId)){
-//                    commandInfo = commandInfoService.selectOne(new EntityWrapper<CommandInfo>()
-//                            .eq("wrk_no",crnProtocol.getTaskNo())
-//                            .eq("device","Crn"));
-//                }else {
-//                    commandInfo = commandInfoService.selectById(commandId);
-//                }
-//
-//
-//                if (commandInfo == null) {
-//                    //鎸囦护涓嶅瓨鍦�
-//                    continue;
-//                }
-//                if (commandInfo.getCommandStatus() == 3){
-//                    continue;
-//                }
-//                commandInfo.setCommandStatus(CommandStatusType.COMPLETE.id);//鎸囦护瀹屾垚
-//                commandInfo.setCompleteTime(new Date());//鎸囦护瀹屾垚鏃堕棿
-//                if (commandInfoService.updateById(commandInfo)) {//淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
-//                    // 鍫嗗灈鏈哄浣�
-//                    crnThread.setResetFlag(true);
-//                }
-//            }
-//        }
-//    }
-
-    /**
-     * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
-     */
     public void storeFinished() throws InterruptedException {
         for (CrnSlave crn : slaveProperties.getCrn()) {
             // 鑾峰彇鍫嗗灈鏈轰俊鎭�
@@ -916,7 +858,7 @@
             if (crnProtocol == null) { continue; }
 
             //  鐘舵�侊細绛夊緟纭 骞朵笖  浠诲姟瀹屾垚浣� = 1
-            if (crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED && crnProtocol.getTaskNo() != 0) {
+            if (!Cools.isEmpty(crnProtocol.getTaskFinish()) && crnProtocol.getTaskFinish() == 0 && crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
                 //鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
                 TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crn.getId(),crnProtocol.getTaskNo().intValue());
                 if (Cools.isEmpty(taskWrk)&&crnProtocol.getTaskNo() !=999) {
@@ -1054,7 +996,7 @@
                                     wrkMast.getSourceStaNo(),    // 婧愮珯
                                     wrkMast.getSourceLocNo(),    // 婧愬簱浣�
                                     wrkMast.getBarcode(),    // 鏉$爜
-                                    (int) crnProtocol.getAlarm1(),    // 寮傚父鐮�
+                                    (int) crnProtocol.getAlarm(),    // 寮傚父鐮�
                                     errName,    // 寮傚父
                                     1,    // 寮傚父鎯呭喌
                                     now,    // 娣诲姞鏃堕棿
@@ -1069,7 +1011,7 @@
                         }
                     } else {
                         // 寮傚父淇
-                        if (crnProtocol.getAlarm1() == null || crnProtocol.getAlarm1() == 0) {
+                        if (crnProtocol.getAlarm() == null || crnProtocol.getAlarm() == 0) {
                             latest.setEndTime(now);
                             latest.setUpdateTime(now);
                             latest.setStatus(2);
@@ -1082,7 +1024,7 @@
                 } else {
                     BasErrLog latest = basErrLogService.findLatest(crn.getId());
                     // 鏈夊紓甯�
-                    if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm() > 0) {
+                    if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) {
                         // 璁板綍鏂板紓甯�
                         if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm().intValue())) {
                             BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
@@ -1101,7 +1043,7 @@
                                     null,    // 婧愮珯
                                     null,    // 婧愬簱浣�
                                     null,    // 鏉$爜
-                                    (int)crnProtocol.getAlarm1(),    // 寮傚父鐮�
+                                    (int)crnProtocol.getAlarm(),    // 寮傚父鐮�
                                     errName,    // 寮傚父
                                     1,    // 寮傚父鎯呭喌
                                     now,    // 娣诲姞鏃堕棿
@@ -1130,199 +1072,6 @@
             }
 
         }
-    }
-
-    //鑷姩娲惧彂浠诲姟
-    public void autoDistribute() {
-        Config config = configService.selectByCode("autoDistribute");
-        if (config == null) {
-            return;
-        }
-
-        if (config.getValue().equals("false")) {//鍒ゆ柇鏄惁寮�鍚嚜鍔ㄦ淳鍙戜换鍔�
-            return;
-        }
-
-        for (TaskWrk taskWrk : taskWrkService.selectReceive()) {
-
-            try {
-                taskWrkService.distribute(taskWrk.getTaskNo(), 9527L);
-            } catch (CoolException e) {
-                log.info(e.getMessage());
-            }
-        }
-    }
-
-    //agv鍙栨斁璐т换鍔″畬鎴�
-    public synchronized void autoCompleteAGV() {
-        List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
-        try{
-            Thread.sleep(500);
-        }catch (Exception e){
-
-        }
-
-        for (BasDevp basDevp:basDevps){
-            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-            StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo());
-            if (staProtocol == null) {
-                continue;
-            } else {
-                staProtocol = staProtocol.clone();
-            }
-            if (basDevp.getWrkNo()!=0){
-                if (basDevp.getAgvTargetPick()!=0){//鍙栬揣
-                    staProtocol.setAgvTypeSign((short)0);
-                    staProtocol.setStaNo(basDevp.getDevNo().shortValue());
-                    MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
-                }
-                boolean sign = true;
-                if (basDevp.getAgvTargetPlace()!=0){
-                    sign = false;
-                    basDevp.setAgvTargetPlace(0);
-                    basDevpService.updateById(basDevp);
-                    staProtocol.setAgvTypeSign((short)3);//1
-                    staProtocol.setStaNo(basDevp.getDevNo().shortValue());
-                    MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
-                }
-            }else {
-                if (basDevp.getAgvTargetPlace()!=0){
-                    if (basDevp.getLoading().equals("Y")){
-                        staProtocol.setAgvTypeSign((short)1);
-                        staProtocol.setStaNo(basDevp.getDevNo().shortValue());
-                        MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
-                    }else {
-                        log.error("AGV鏀捐揣瀹屾垚浣嗚緭閫佺嚎鏃犵墿锛屽浣嶄俊鍙� ===>> [staNo:{}] [basDevp:{}]", basDevp.getDevNo(), basDevp);
-                        basDevp.setAgvTargetPlace(0);
-                        basDevpService.updateById(basDevp);
-                        staProtocol.setAgvTypeSign((short)3);//1
-                        staProtocol.setStaNo(basDevp.getDevNo().shortValue());
-                        MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
-                    }
-
-                }
-                if (basDevp.getAgvTargetPick()!=0){
-                    basDevp.setAgvTargetPick(0);
-                    basDevpService.updateById(basDevp);
-                    staProtocol.setAgvTypeSign((short)2);//0
-                    staProtocol.setStaNo(basDevp.getDevNo().shortValue());
-                    MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
-                }
-            }
-        }
-    }
-    public synchronized void autoCompleteTask() {
-        List<TaskWrk> taskWrks = taskWrkMapper.selectWorkingTask();
-        for (TaskWrk taskWrk : taskWrks) {
-            //鑾峰彇鍛戒护闆嗗悎
-            List<CommandInfo> commandInfos = commandInfoService.selectByTaskNo(taskWrk.getTaskNo());
-            if (taskWrk.getCommandStep() < commandInfos.size()) {
-                continue;//褰撳墠姝ュ簭娌℃湁鍒拌揪鏈�鍚庝竴鏉″懡浠�
-            }
-
-            //鍒ゆ柇鏈鍛戒护鏄惁鎵ц瀹屾垚
-            CommandInfo commandInfo = commandInfos.get(commandInfos.size() - 1);
-            if (commandInfo.getCommandStatus() != CommandStatusType.COMPLETE.id) {
-                continue;//鎸囦护鏈畬鎴�
-            }
-
-            Date now = new Date();
-            //鎸囦护宸插畬鎴愶紝鏇存柊浠诲姟
-            if (taskWrk.getIoType() == 1) {
-                //鍏ュ簱浠诲姟
-                taskWrk.setWrkSts(4);//3.鍚婅溅鍏ュ簱涓� => 4.鍏ュ簱瀹屾垚
-                //taskWrk.setStatus(TaskStatusType.COMPLETE.id);
-                taskWrk.setModiTime(now);
-                taskWrkService.updateById(taskWrk);
-
-                //鏇存柊搴撲綅鐘舵��
-                LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
-                locMast.setLocSts("F");//F.鍦ㄥ簱
-                locMast.setBarcode(taskWrk.getBarcode());//鎵樼洏鐮�
-                locMast.setModiTime(now);
-                locMast.setModiUser(9999L);
-                locMastService.updateById(locMast);
-            } else if (taskWrk.getIoType() == 2) {
-                //鍑哄簱浠诲姟
-                taskWrk.setWrkSts(14);//12.鍚婅溅鍑哄簱涓� => 14.鍑哄簱瀹屾垚
-//                taskWrk.setStatus(TaskStatusType.COMPLETE.id);
-                taskWrk.setModiTime(now);
-                taskWrkService.updateById(taskWrk);
-
-                //鏇存柊搴撲綅鐘舵��
-                LocMast locMast = locMastService.selectByLocNo(taskWrk.getStartPoint());
-                locMast.setLocSts("O");//O.绌哄簱浣�
-                locMast.setBarcode("");//鎵樼洏鐮�
-                locMast.setModiTime(now);
-                locMast.setModiUser(9999L);
-                locMastService.updateById(locMast);
-            }
-        }
-    }
-
-
-    public synchronized String CrnStartRunning(TaskWrk taskWrk){
-        String tasktype = null;
-        switch (taskWrk.getIoType()){
-            case 1:
-                tasktype= "RK";
-                break;
-            case 2:
-                tasktype= "CK";
-                break;
-            case 3:
-                tasktype= "YK";
-                break;
-            default:
-                tasktype= "鏈煡";
-        }
-        Map<String, Object> map = new HashMap<>();
-        map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2");
-        TaskOverToWms taskOverToWms = new TaskOverToWms();
-        taskOverToWms.setFeedbackFrom("WCS"); //鏉ユ簮
-        taskOverToWms.setWarehouseId("1688469798893297665"); //浠撳簱鏍囪瘑
-        taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //浠诲姟鍙�
-        taskOverToWms.setTaskType(tasktype); // 浠诲姟绫诲瀷
-        taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 瀹瑰櫒缂栫爜
-        if (taskWrk.getIoType() ==1 || taskWrk.getIoType() == 3){
-            taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜
-            taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅
-        }else if (taskWrk.getIoType() ==2){
-            Map<Integer,String> map1 = new HashMap<>();
-            map1.put(102,"J-1101");
-            map1.put(106,"J-1103");
-            map1.put(110,"J-1105");
-            map1.put(114,"J-1107");
-            map1.put(118,"J-1109");
-            map1.put(122,"J-1111");
-            map1.put(305,"H-1101");
-            map1.put(405,"G-1101");
-            taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //璁惧缂栫爜
-            taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //婧愬簱浣�
-        }
-
-        taskOverToWms.setTaskStatus("executing"); //浠诲姟鐘舵��
-        String response = null;
-        try {
-            response = new HttpHandler.Builder()
-                    .setHeaders(map)
-                    .setUri(wmsUrl)
-                    .setPath("wcsManager/wcsInterface/taskStatusFeedback")
-                    .setJson(JSON.toJSONString(taskOverToWms))
-                    .build()
-                    .doPost();
-        }catch (Exception e){
-            log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触");
-        }
-        apiLogService.save("鍫嗗灈鏈哄紑濮嬭繍琛�"
-                ,wmsUrl+"wcsManager/wcsInterface/taskStatusFeedback"
-                ,null
-                ,"127.0.0.1"
-                ,JSON.toJSONString(taskOverToWms)
-                ,response
-                ,true
-        );
-        return response;
     }
 
     private TaskWrk createTask(GetWmsDto dto, String barcode){
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 181fa69..777dbde 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -265,39 +265,39 @@
 
     }
 
-    @Override
-    public R getAgvPickAndPlaceV1(TaskOverParam param) {
-        BasDevp basDevp = basDevpService.selectById(param.getStaNo());
-        if (Cools.isEmpty(basDevp)){
-            return R.error("绔欑偣鍙锋湁璇�"+param.getStaNo());
-        }
-        if (param.getType()==0 && basDevp.getAgvStartPick()==1){
-            return R.ok();
-        }else if (param.getType()==1 && basDevp.getAgvStartPlace()==1){
-            return R.ok();
-        }else {
-            return R.error("涓嶅厑璁�");
-        }
-    }
+//    @Override
+//    public R getAgvPickAndPlaceV1(TaskOverParam param) {
+//        BasDevp basDevp = basDevpService.selectById(param.getStaNo());
+//        if (Cools.isEmpty(basDevp)){
+//            return R.error("绔欑偣鍙锋湁璇�"+param.getStaNo());
+//        }
+//        if (param.getType()==0 && basDevp.getAgvStartPick()==1){
+//            return R.ok();
+//        }else if (param.getType()==1 && basDevp.getAgvStartPlace()==1){
+//            return R.ok();
+//        }else {
+//            return R.error("涓嶅厑璁�");
+//        }
+//    }
 
-    @Override
-    public R getAgvPickAndPlaceV2(TaskOverParam param) {
-        BasDevp basDevp = basDevpService.selectById(param.getStaNo());
-        if (Cools.isEmpty(basDevp)){
-            return R.error("绔欑偣鍙锋湁璇�"+param.getStaNo());
-        }
-        if (param.getType()==0){
-            basDevp.setAgvTargetPick(1);
-            basDevpService.updateById(basDevp);
-            return R.ok();
-        }else if (param.getType()==1){
-            basDevp.setAgvTargetPlace(1);
-            basDevpService.updateById(basDevp);
-            return R.ok();
-        }else {
-            return R.error("璇锋眰绫诲瀷寮傚父"+param.getType());
-        }
-    }
+//    @Override
+//    public R getAgvPickAndPlaceV2(TaskOverParam param) {
+//        BasDevp basDevp = basDevpService.selectById(param.getStaNo());
+//        if (Cools.isEmpty(basDevp)){
+//            return R.error("绔欑偣鍙锋湁璇�"+param.getStaNo());
+//        }
+//        if (param.getType()==0){
+//            basDevp.setAgvTargetPick(1);
+//            basDevpService.updateById(basDevp);
+//            return R.ok();
+//        }else if (param.getType()==1){
+//            basDevp.setAgvTargetPlace(1);
+//            basDevpService.updateById(basDevp);
+//            return R.ok();
+//        }else {
+//            return R.error("璇锋眰绫诲瀷寮傚父"+param.getType());
+//        }
+//    }
 
     public List<Integer> getInEnableRoadway(){
         int[] roadway = null;
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 93c01fd..1e228d1 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -68,13 +68,6 @@
                         i = 0;
                     }
 
-                    //鑷姩娲惧彂浠诲姟
-   //                 mainService.autoDistribute();
-                    //鑷姩瀹屾垚浠诲姟
-//                    mainService.autoCompleteTask();
-                    //agv鍙栨斁璐у畬鎴�
-                    mainService.autoCompleteAGV();
-
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
diff --git a/src/main/java/com/zy/core/enums/CrnStatusType.java b/src/main/java/com/zy/core/enums/CrnStatusType.java
index 87c6e53..95ae9bc 100644
--- a/src/main/java/com/zy/core/enums/CrnStatusType.java
+++ b/src/main/java/com/zy/core/enums/CrnStatusType.java
@@ -2,37 +2,23 @@
 
 public enum CrnStatusType {
 
-//    NONE(-1, "绂荤嚎"),
-//    IDLE(0, "绌洪棽"),
-//    FETCH_MOVING(1, "鍙栬揣琛岃蛋"),
-//    FETCH_WAITING(2, "鍙栬揣绛夊緟"),
-//    FETCHING(3, "鍙栬揣涓�"),
-//    PUT_MOVING(4, "鏀捐揣璧拌"),
-//    PUT_WAITING(5, "鏀捐揣绛夊緟"),
-//    PUTTING(6, "鏀捐揣涓�"),
-//    ORIGIN_GO(7, "鍥炲師鐐�"),
-//    ORIGIN_BACK(8, "鍥炲弽鍘熺偣"),
-//    MOVING(9, "璧拌涓�"),
-//    WAITING(10, "浠诲姟瀹屾垚绛夊緟WCS纭"),
-//    PAUSE(11, "浠诲姟鏆傚仠"),
-//    SOS(99, "鎶ヨ"),
-//    ;
-
-    IDLE(0, "绌洪棽锛屾棤浠诲姟"),
-    NONE_MOVING(1, "鍙栬揣瀹氫綅"),
-    FETCHING(2, "鍙栬揣绛夊緟"),
-    MOVING(3, "鍙栬揣涓�"),
-    PUTTING(4, "鏀捐揣璧拌"),
-    HOMING(5, "鏀捐揣绛夊緟"),
-    ANTI_ORIGIN(6, "鏀捐揣涓�"),
-    PUT_COMPLETE(7, "鍥炲師鐐�"),
-//    MOVE_THE_SHIPPING_LOCATION(8, "绉诲姩鍒版斁璐т綅缃�"),
-//    PUTTING(9, "鏀捐揣涓�"),
-    HANDLING_COMPLETED(10, "鎼繍瀹屾垚绛夊緟WCS纭"),
-    EMPTY_AVOIDANCE(11, "绌鸿浇閬胯"),
+    NONE(-1, "绂荤嚎"),
+    IDLE(0, "绌洪棽"),
+    FETCH_MOVING(1, "鍙栬揣琛岃蛋"),
+    FETCH_WAITING(2, "鍙栬揣绛夊緟"),
+    FETCHING(3, "鍙栬揣涓�"),
+    PUT_MOVING(4, "鏀捐揣璧拌"),
+    PUT_WAITING(5, "鏀捐揣绛夊緟"),
+    PUTTING(6, "鏀捐揣涓�"),
+    ORIGIN_GO(7, "鍥炲師鐐�"),
+    ORIGIN_BACK(8, "鍥炲弽鍘熺偣"),
+    MOVING(9, "璧拌涓�"),
+    WAITING(10, "浠诲姟瀹屾垚绛夊緟WCS纭"),
+    PAUSE(11, "浠诲姟鏆傚仠"),
     SOS(99, "鎶ヨ"),
-    OTHER(100, "鍏朵粬"),
+    UNKNOW(100, "鍏朵粬"),
     ;
+
 
     public Integer id;
     public String desc;
@@ -50,7 +36,7 @@
                 return type;
             }
         }
-        return null;
+        return NONE;
     }
 
     public static CrnStatusType get(CrnStatusType type) {
diff --git a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
index baa789a..a9b3212 100644
--- a/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/CrnProtocol.java
@@ -1,7 +1,10 @@
 package com.zy.core.model.protocol;
 
 import com.zy.asrs.entity.BasCrnp;
-import com.zy.core.enums.*;
+import com.zy.core.enums.CrnForkPosType;
+import com.zy.core.enums.CrnLiftPosType;
+import com.zy.core.enums.CrnModeType;
+import com.zy.core.enums.CrnStatusType;
 import lombok.Data;
 
 /**
@@ -9,6 +12,8 @@
  */
 @Data
 public class CrnProtocol {
+
+    private Integer crnNo;
 
     /**
      * 1 = 鎵嬪姩妯″紡
@@ -25,14 +30,14 @@
     public Short taskFinish;
 
     /**
-     * 鏍¢獙缁撴灉 1琛ㄧず妫�楠屾垚鍔�
-     */
-    public Short valid;
-
-    /**
      * 1 = 鎬ュ仠
      */
     public Short eStop;
+
+    /**
+     * 寮傚父鐮�
+     */
+    public Short alarm;
 
     /**
      * 浠诲姟鍙�
@@ -54,12 +59,15 @@
      */
     public Short status;
 
-    public Short alarm = 0;
-
     /**
      * 鐘舵�佹灇涓�
      */
     public CrnStatusType statusType;
+
+    /**
+     * 鏁呴殰
+     */
+    public Boolean fault;
 
     /**
      * 鍫嗗灈鏈哄綋鍓嶅垪鍙�
@@ -72,175 +80,45 @@
     public Short level;
 
     /**
-     * 鍫嗗灈鏈哄綋鍓嶆帓
-     */
-    public Short row;
-
-    /**
-     * 鍫嗗灈鏈哄綋鍓嶅贩閬撳彿
-     */
-    public Short lane;
-
-    /**
-     * 鍫嗗灈鏈洪�氳鐘舵��
-     */
-    public Boolean connStatus;
-
-    /**
-     * 鐢宠鍏ュ簱淇
-     */
-    public Boolean correction;
-
-    /**
-     * 鎵樼洏鍙烽敊
-     */
-    public Boolean tuError;
-
-    /**
-     * 鍙栬揣鏃犵
-     */
-    public Boolean noneError;
-
-    /**
-     * 鍙岄噸鍏ュ簱
-     */
-    public Boolean stockError;
-
-    /**
-     * 浣滀笟鏁版嵁鏃犳晥
-     */
-    public Boolean jobInvalid;
-
-    /**
-     * 绌洪棽鐘舵��
-     */
-    public Boolean idle;
-
-    /**
-     * 鎺у埗鏌滀娇鑳�
-     */
-    public Boolean control;
-
-    /**
-     * 鍋滃噯
-     */
-    public Boolean stopQuasi;
-
-    /**
-     * 杩愯
-     */
-    public Boolean running;
-
-    /**
-     * 鏁呴殰
-     */
-    public Boolean fault;
-
-    /**
-     * 璐у弶涓綅
-     */
-    public Boolean forkHome;
-    /**
-     * 鍗曚几浣嶈揣鍙夊乏浣�
-     */
-    public Boolean forkSingleLeft;
-    /**
-     * 鍗曚几浣嶈揣鍙夊彸浣�
-     */
-    public Boolean forkSingleRight;
-    /**
-     * 鍙屼几浣嶈揣鍙夊乏浣�
-     */
-    public Boolean forkDoubleLeft;
-    /**
-     * 鍙屼几浣嶈揣鍙夊彸浣�
-     */
-    public Boolean forkDoubleRight;
-    /**
-     * 鍗曚几浣嶉珮浣�
-     */
-    public Boolean singleHigh;
-    /**
-     * 鍗曚几浣嶄綆浣�
-     */
-    public Boolean singleLow;
-    /**
-     * 鍙屼几浣嶉珮浣�
-     */
-    public Boolean doubleHigh;
-    /**
-     * 鍙屼几浣嶄綆浣�
-     */
-    public Boolean doubleLow;
-    /**
-     * 绔欏彴楂樹綅
-     */
-    public Boolean platformHigh;
-    /**
-     * 绔欏彴浣庝綅
-     */
-    public Boolean platformLow;
-
-    /**
      * 褰撳墠璐у弶浣嶇疆
      * 0 = 璐у弶鍘熶綅
      * 1 = 璐у弶鍦ㄥ乏渚�
      * 2 = 璐у弶鍦ㄥ彸渚�
      */
-    public Short forkPos = -1;
+    public Short forkPos;
 
-    public CrnForkPosType forkPosType = CrnForkPosType.NONE;
+    public CrnForkPosType forkPosType;
 
     /**
      * 褰撳墠杞借揣鍙颁綅缃�
      * 0 = 涓嬪畾浣�
      * 1 = 涓婂畾浣�
      */
-    public Short liftPos = -1;
+    public Short liftPos;
 
-    public CrnLiftPosType liftPosType = CrnLiftPosType.ERROR;
+    public CrnLiftPosType liftPosType;
 
     /**
      * 璧拌鍦ㄥ畾浣�
      * 0 = 鍦ㄥ畾浣�
      * 1 = 涓嶅湪瀹氫綅
      */
-    public Short walkPos = 0;
-
-    /**
-     * 鎷ㄦ寚浣嶇疆
-     * 0 = 涓嶅湪瀹氫綅
-     * 1 = 涓婂畾浣�
-     * 2 = 涓嬪畾浣�
-     */
-    public Short fingerPos;
-
-    public CrnFingerPosType fingerPosType;
+    public Short walkPos;
 
     /**
      * 杞借揣鍙版湁鐗�
      */
     public Short loaded;
 
-    /**
-     * 鍫嗗灈鏈哄瀭鐩存晠闅滀唬鐮侊紙鏁板�兼樉绀猴級
-     */
-    private Integer alarm1 = 0;
+    private Short temp1;
 
-    /**
-     * 鍫嗗灈鏈烘按骞虫晠闅滀唬鐮侊紙鏁板�兼樉绀猴級
-     */
-    private Integer alarm2 = 0;;
+    private CrnTemp1 crnTemp1;
 
-    /**
-     * 鍫嗗灈鏈鸿揣鍙夋晠闅滀唬鐮侊紙鏁板�兼樉绀猴級
-     */
-    private Integer alarm3 = 0;;
+    private Short temp2;
 
-    /**
-     * 鍫嗗灈鏈虹姸鎬佹晠闅滀唬鐮侊紙鏁板�兼樉绀猴級
-     */
-    private Integer alarm4 = 0;;
+    private Short temp3;
+
+    private Short temp4;
 
     /**
      * 寮傚父1
@@ -271,42 +149,53 @@
     private CrnError4 crnError4;
 
     /**
+     * 寮傚父5
+     */
+    private boolean[] error5;
+
+    private CrnError5 crnError5;
+
+    /**
+     * 寮傚父6
+     */
+    private boolean[] error6;
+
+    private CrnError6 crnError6;
+
+    /**
      * X琛岃蛋绾块�熷害m/min
      */
-    private Float xSpeed = 0F;
+    private Float xSpeed;
 
     /**
      * Y琛岃蛋绾块�熷害m/min
      */
-    private Float ySpeed = 0F;
+    private Float ySpeed;
 
     /**
      * Z琛岃蛋绾块�熷害m/min
      */
-    private Float zSpeed = 0F;
+    private Float zSpeed;
 
     /**
      * 鍫嗗灈鏈虹疮璁¤蛋琛岃窛绂籯m
      */
-    public Float xDistance = 0F;
+    public Float xDistance;
 
     /**
      * 鍫嗗灈鏈虹疮璁″崌闄嶈窛绂籯m
      */
-    public Float yDistance = 0F;
+    public Float yDistance;
 
     /**
      * 鍫嗗灈鏈虹疮璁¤蛋琛屾椂闀縣
      */
-    public Float xDuration = 0F;
+    public Float xDuration;
 
-    /**w
+    /**
      * 鍫嗗灈鏈虹疮璁″崌闄嶆椂闀縣
      */
-    public Float yDuration = 0F;
-
-    //鎸囦护ID
-    private Integer commandId;
+    public Float yDuration;
 
     public void setMode(Short mode) {
         this.mode = mode;
@@ -348,81 +237,12 @@
         this.status = CrnStatusType.get(type).id.shortValue();
     }
 
-    public void setFingerPos(Short type) {
-        this.fingerPos = type;
-        this.fingerPosType = CrnFingerPosType.get(type);
+    public Short getTemp1() {
+        return temp1;
     }
 
-    public void setError1(boolean[] error1){
-        this.error1 = error1;
-        this.crnError1 = new CrnError1();
-        this.crnError1.remoteStop = error1[0];
-        this.crnError1.mainStop = error1[1];
-        this.crnError1.controlStop = error1[2];
-        this.crnError1.xCoverErr = error1[3];
-        this.crnError1.yCoverErr = error1[4];
-        this.crnError1.zCoverErr = error1[5];
-        this.crnError1.laserErr = error1[6];
-        this.crnError1.barcodeErr = error1[7];
-        this.crnError1.xFrontLimitErr = error1[8];
-        this.crnError1.xBackLimitErr = error1[9];
-        this.crnError1.yUpLimitErr = error1[10];
-        this.crnError1.yDownLimitErr = error1[11];
-        this.crnError1.zLeftLimitErr = error1[12];
-        this.crnError1.zRightLimitErr = error1[13];
-        this.crnError1.leftOverWidthErr1 = error1[14];
-        this.crnError1.leftOverWidthErr2 = error1[15];
-    }
-
-    public void setError2(boolean[] error2){
-        this.error2 = error2;
-        this.crnError2 = new CrnError2();
-        this.crnError2.leftOverLenErr1 = error2[0];
-        this.crnError2.leftOverLenErr2 = error2[1];
-        this.crnError2.leftOverHighErr = error2[2];
-        this.crnError2.rightOverWidthErr1 = error2[3];
-        this.crnError2.rightOverWidthErr2 = error2[4];
-        this.crnError2.rightOverLenErr1 = error2[5];
-        this.crnError2.rightOverLenErr2 = error2[6];
-        this.crnError2.rightOverHighErr = error2[7];
-        this.crnError2.leftLooseRopeErr = error2[8];
-        this.crnError2.rightLooseRopeErr = error2[9];
-        this.crnError2.frontDoorErr = error2[10];
-        this.crnError2.backDoorErr = error2[11];
-        this.crnError2.startupErr = error2[12];
-        this.crnError2.xFrontLocaUpErr = error2[13];
-        this.crnError2.xFrontLocaDownErr = error2[14];
-        this.crnError2.xBackLocaUpErr = error2[15];
-    }
-
-    public void setError3(boolean[] error3) {
-        this.error3 = error3;
-        this.crnError3 = new CrnError3();
-        this.crnError3.xBackLocaDownErr = error3[0];
-        this.crnError3.yUpLocaUpErr = error3[1];
-        this.crnError3.yUpLocaDownErr = error3[2];
-        this.crnError3.yDownLocaUpErr = error3[3];
-        this.crnError3.yDownLocaDownErr = error3[4];
-        this.crnError3.zLeftLocaUpErr = error3[5];
-        this.crnError3.zLeftLocaDownErr = error3[6];
-        this.crnError3.zRightLocaUpErr = error3[7];
-        this.crnError3.zRightLocaDownErr = error3[8];
-        this.crnError3.leftTakeNoneErr = error3[9];
-        this.crnError3.rightTakeNoneErr = error3[10];
-        this.crnError3.leftTakeThenLoadErr = error3[11];
-        this.crnError3.rightTakeThenLoadErr = error3[12];
-        this.crnError3.leftPutAndLoadErr = error3[13];
-        this.crnError3.rightPutAndLoadErr = error3[14];
-        this.crnError3.leftPutThenNoneErr = error3[15];
-    }
-
-    public void setError4(boolean[] error4) {
-        this.error4 = error4;
-        this.crnError4 = new CrnError4();
-        this.crnError4.rightPutThenNoneErr = error4[0];
-        this.crnError4.xLooseBrakeTimeout = error4[1];
-        this.crnError4.yLooseBrakeTimeout = error4[2];
-        this.crnError4.zLooseBrakeTimeout = error4[3];
+    public void setTemp1(Short temp1) {
+        this.temp1 = temp1;
     }
 
     /**
@@ -434,8 +254,39 @@
 
 
     public BasCrnp toSqlModel(BasCrnp basCrnp){
-        basCrnp.setCrnErr(alarm.longValue());
+        if (alarm!=null) {
+            basCrnp.setCrnErr(alarm.longValue());
+        }
         basCrnp.setWrkNo(taskNo.intValue());
         return basCrnp;
     }
+
+    public void setxSpeed(Short xSpeed) {
+        this.xSpeed = Float.valueOf(xSpeed);
+    }
+
+    public void setySpeed(Short ySpeed) {
+        this.ySpeed = Float.valueOf(ySpeed);
+    }
+
+    public void setzSpeed(Short zSpeed) {
+        this.zSpeed = Float.valueOf(zSpeed);
+    }
+
+    public void setxDistance(Short xDistance) {
+        this.xDistance = Float.valueOf(xDistance);
+    }
+
+    public void setyDistance(Short yDistance) {
+        this.yDistance = Float.valueOf(yDistance);
+    }
+
+    public void setxDuration(Short xDuration) {
+        this.xDuration = Float.valueOf(xDuration);
+    }
+
+    public void setyDuration(Short yDuration) {
+        this.yDuration = Float.valueOf(yDuration);
+    }
+
 }
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 c3012bf..10dce88 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -197,8 +197,6 @@
         basDevp.setLocType3((short) 0);  // 杞婚噸绫诲瀷{0:鏈煡,1:杞诲簱浣�,2:閲嶅簱浣峿
         basDevp.setLocType1(high != low && low ? (short) 1 : (short) 2);
         basDevp.setInQty(inQty !=null ?(int)inQty : 0);
-        basDevp.setAgvStartPick(agvStartPick.intValue());
-        basDevp.setAgvStartPlace(agvStartPlace.intValue());
         return basDevp;
     }
 
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index ab05097..40592be 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -21,7 +21,6 @@
 import com.zy.core.model.CrnSlave;
 import com.zy.core.model.Task;
 import com.zy.core.model.command.CrnCommand;
-import com.zy.core.model.cpmmandParam.CrnCommandParam;
 import com.zy.core.model.protocol.CrnProtocol;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
@@ -41,7 +40,6 @@
     private CrnSlave slave;
     private CrnProtocol crnProtocol;
     private boolean resetFlag = false;
-    private boolean resetFlagTwo = false;
 
     public Long sign = System.currentTimeMillis();
 
@@ -51,7 +49,6 @@
      * 鍫嗗灈鏈烘槸鍚﹀湪鍥炲師鐐硅繍鍔ㄤ腑鏍囪
      */
     private boolean backHpFlag = false;
-    private boolean backHpFlagTwo = false;
 
     public SiemensCrnThread(CrnSlave slave) {
         this.slave = slave;
@@ -61,7 +58,6 @@
     @SuppressWarnings("InfiniteLoopStatement")
     public void run() {
         this.connect();
-        sign = System.currentTimeMillis();
         while (isRunning) {
             try {
                 int step = 1;
@@ -96,32 +92,6 @@
                         command.setDestinationPosZ((short)0);     // 鐩爣搴撲綅灞�
                         write(command);
                         break;
-                    // 鍐欏叆鏁版嵁
-                    case 5:
-                        write5((CrnCommand) task.getData());
-                        break;
-                    // 澶嶄綅
-                    case 6:
-                        CrnCommand command2 = (CrnCommand) task.getData();
-                        if (null == command2) {
-                            command2 = new CrnCommand();
-                        }
-                        command2.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
-                        command2.setTaskNo((short) 0); // 宸ヤ綔鍙�
-                        command2.setAckFinish((short) 1);  // 浠诲姟瀹屾垚纭浣�
-                        command2.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
-                        command2.setSourcePosX((short)0);     // 婧愬簱浣嶆帓
-                        command2.setSourcePosY((short)0);     // 婧愬簱浣嶅垪
-                        command2.setSourcePosZ((short)0);     // 婧愬簱浣嶅眰
-                        command2.setDestinationPosX((short)0);     // 鐩爣搴撲綅鎺�
-                        command2.setDestinationPosY((short)0);     // 鐩爣搴撲綅鍒�
-                        command2.setDestinationPosZ((short)0);     // 鐩爣搴撲綅灞�
-                        write5(command2);
-                        break;
-                    // 鍙屽伐浣嶅悓鏃朵綔涓�
-                    case 9:
-                        write9((CrnCommandParam) task.getData());
-                        break;
                     default:
                         break;
                 }
@@ -144,7 +114,6 @@
         crnProtocol.setMode((short) -1);
 //        crnProtocol.setTaskNo((short)0);
         crnProtocol.setStatus((short)-1);
-        crnProtocol.setStatusTwo((short)-1);
         crnProtocol.setBay((short)0);
         crnProtocol.setLevel((short)0);
         crnProtocol.setForkPos((short) -1);
@@ -159,16 +128,6 @@
         crnProtocol.setyDistance((short) 0);
         crnProtocol.setxDuration((short) 0);
         crnProtocol.setyDuration((short) 0);
-
-        // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
-        BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
-        BasCrnp basCrnp = basCrnpService.selectById(slave.getId());
-        basCrnp.setCrnSts((int)crnProtocol.getMode());
-        basCrnp.setCrnStatusOne(-1);
-        basCrnp.setCrnStatusTwo(-1);
-        if (!basCrnpService.updateById(basCrnp)){
-            log.error("鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
-        }
     }
 
     @Override
@@ -196,74 +155,40 @@
      */
     private void readStatus(){
         try {
-            OperateResultExOne<byte[]> result = new OperateResultExOne<byte[]>();
-            if (slave.getId()>2 && slave.getId()<6){
-                result = siemensNet.Read("DB101.0", (short) 66);
-            } else {
-                result = siemensNet.Read("DB101.0", (short) 56);
-            }
+            OperateResultExOne<byte[]> result = siemensNet.Read("DB101.0", (short) 56);
             if (result.IsSuccess) {
                 if (null == crnProtocol) {
                     crnProtocol = new CrnProtocol();
                     crnProtocol.setCrnNo(slave.getId());
                 }
-                crnProtocol.setCrnNo(slave.getId());
                 crnProtocol.setMode(siemensNet.getByteTransform().TransInt16(result.Content, 0));
                 crnProtocol.setTaskNo(siemensNet.getByteTransform().TransInt16(result.Content, 2));
                 crnProtocol.setStatus(siemensNet.getByteTransform().TransInt16(result.Content, 4));
                 crnProtocol.setBay(siemensNet.getByteTransform().TransInt16(result.Content, 6));
                 crnProtocol.setLevel(siemensNet.getByteTransform().TransInt16(result.Content, 8));
                 crnProtocol.setForkPos(siemensNet.getByteTransform().TransInt16(result.Content, 10));
-
-                if (slave.getId()<3 || slave.getId()>5){
-                    crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 12));
-                    crnProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 14));
-                    crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 16));
-                    crnProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 18));
-                    crnProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 20));
-                    crnProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 22));
-                    crnProtocol.setTemp3(siemensNet.getByteTransform().TransInt16(result.Content, 24));
-                    crnProtocol.setTemp4(siemensNet.getByteTransform().TransInt16(result.Content, 26));
-                    crnProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28));
-                    crnProtocol.setySpeed(siemensNet.getByteTransform().TransInt16(result.Content, 32));
-                    crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 36));
-                    crnProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40));
-                    crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 44));
-                    crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48));
-                    crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 52));
-                } else {
-                    crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 12));
-
-                    crnProtocol.setTaskNoTwo(siemensNet.getByteTransform().TransInt16(result.Content, 14));
-                    crnProtocol.setStatusTwo(siemensNet.getByteTransform().TransInt16(result.Content, 16));
-                    crnProtocol.setBayTwo(siemensNet.getByteTransform().TransInt16(result.Content, 18));
-                    crnProtocol.setLevelTwo(siemensNet.getByteTransform().TransInt16(result.Content, 20));
-                    crnProtocol.setForkPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 22));
-                    crnProtocol.setLoadedTwo(siemensNet.getByteTransform().TransInt16(result.Content, 24));
-
-                    crnProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 26));
-                    crnProtocol.setWalkPosTwo(siemensNet.getByteTransform().TransInt16(result.Content, 28));
-
-                    crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 30));
-                    crnProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 32));
-
-                    crnProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 34));
-                    crnProtocol.setySpeed(siemensNet.getByteTransform().TransInt16(result.Content, 38));
-                    crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 42));
-//                    crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 42));
-
-                    crnProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 50));
-                    crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 54));
-                    crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 58));
-                    crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 62));
-                }
+                crnProtocol.setLiftPos(siemensNet.getByteTransform().TransInt16(result.Content, 12));
+                crnProtocol.setWalkPos(siemensNet.getByteTransform().TransInt16(result.Content, 14));
+                crnProtocol.setLoaded(siemensNet.getByteTransform().TransInt16(result.Content, 16));
+                crnProtocol.setAlarm(siemensNet.getByteTransform().TransInt16(result.Content, 18));
+                crnProtocol.setTemp1(siemensNet.getByteTransform().TransInt16(result.Content, 20));
+                crnProtocol.setTemp2(siemensNet.getByteTransform().TransInt16(result.Content, 22));
+                crnProtocol.setTemp3(siemensNet.getByteTransform().TransInt16(result.Content, 24));
+                crnProtocol.setTemp4(siemensNet.getByteTransform().TransInt16(result.Content, 26));
+                crnProtocol.setxSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 28));
+                crnProtocol.setySpeed(siemensNet.getByteTransform().TransInt16(result.Content, 32));
+                crnProtocol.setzSpeed(siemensNet.getByteTransform().TransInt16(result.Content, 36));
+                crnProtocol.setxDistance(siemensNet.getByteTransform().TransInt16(result.Content, 40));
+                crnProtocol.setyDistance(siemensNet.getByteTransform().TransInt16(result.Content, 44));
+                crnProtocol.setxDuration(siemensNet.getByteTransform().TransInt16(result.Content, 48));
+                crnProtocol.setyDuration(siemensNet.getByteTransform().TransInt16(result.Content, 52));
 
                 OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
 
                 // 澶嶄綅淇″彿
-                if (!Cools.isEmpty(crnProtocol.getStatusType()) && (crnProtocol.getStatusType().equals(CrnStatusType.WAITING) || crnProtocol.getStatusType().equals(CrnStatusType.SEPARATE_WAITING))) {
-                    log.error("-------------------------宸ヤ綅1-------------------------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙�:{}]==>> 鐘舵�佷负{}锛岀瓑寰呯‘璁わ紒锛�",
-                            slave.getId(),crnProtocol.getTaskNo(), crnProtocol.getLoaded()==1 ? "鏈夌墿" : "鏃犵墿",crnProtocol.getStatusType());
+                if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
+                    log.error("-------------------------------------------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙�:{}]==>> 鐘舵�佷负10锛岀瓑寰呯‘璁わ紒锛�",
+                            slave.getId(),crnProtocol.getTaskNo(), crnProtocol.getLoaded()==1 ? "鏈夌墿" : "鏃犵墿");
                     if (resetFlag) {
                         if(crnProtocol.getTaskNo()==9999){
                             backHpFlag = false;
@@ -272,22 +197,6 @@
                         crnCommand.setAckFinish((short)1);
                         if (write(crnCommand)) {
                             resetFlag = false;
-                        }
-                    }
-                }
-
-                // 澶嶄綅淇″彿
-                if (!Cools.isEmpty(crnProtocol.getStatusTypeTwo()) && (crnProtocol.getStatusTypeTwo().equals(CrnStatusType.WAITING) || crnProtocol.getStatusTypeTwo().equals(CrnStatusType.SEPARATE_WAITING))) {
-                    log.error("-------------------------宸ヤ綅2-------------------------绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙�:{}]==>> 鐘舵�佷负{}锛岀瓑寰呯‘璁わ紒锛�",
-                            slave.getId(),crnProtocol.getTaskNoTwo(), crnProtocol.getLoadedTwo()==1 ? "鏈夌墿" : "鏃犵墿",crnProtocol.getStatusTypeTwo());
-                    if (resetFlagTwo) {
-                        if(crnProtocol.getTaskNoTwo()==9999){
-                            backHpFlagTwo = false;
-                        }
-                        CrnCommand crnCommand = new CrnCommand();
-                        crnCommand.setAckFinish((short)1);
-                        if (write5(crnCommand)) {
-                            resetFlagTwo = false;
                         }
                     }
                 }
@@ -348,398 +257,12 @@
 //        array[9] = command.getSourceStaNo();
 //        array[10] = command.getDestinationStaNo();
         array[9] = command.getCommand();
-        OperateResult result18 = siemensNet.Write("DB100.18", (short)0);
         OperateResult result = siemensNet.Write("DB100.0", array);
-        log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
-
-
-
-        //鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
-        Thread.sleep(200);
-        int writeCount = 1;
-        do {
-            try{
-                if(!result.IsSuccess){
-                    log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
-                    result = siemensNet.Write("DB100.0", array);
-                    Thread.sleep(100);
-                    writeCount++;
-                    continue;
-                }
-                OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 24);
-                if (resultRead.IsSuccess) {
-                    CrnCommand one = new CrnCommand();
-                    one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
-                    one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
-                    one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
-                    one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
-                    one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
-                    one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
-                    one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
-                    one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
-                    if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode())
-                            || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY())
-                            || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX())
-                            || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ())
-                    ){
-                        try{
-                            log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSONString(command),JSON.toJSONString(one));
-                        }catch (Exception e){
-                            try{
-                                log.error("鏃ュ織鎵撳嵃澶辫触锛�===>>鍙傛暟one鎶ラ敊 [id:{}],{}", slave.getId(), JSON.toJSONString(command),JSON.toJSONString(resultRead));
-                            }catch (Exception e1){
-                                log.error("鏃ュ織鎵撳嵃澶辫触锛�===>> [id:{}],{}", slave.getId(), JSON.toJSONString(command));
-                            }
-                        }
-                        try{
-                            Thread.sleep(100);
-                        }catch (Exception e){
-
-                        }
-                        log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍥炶涓嶄竴鑷� ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
-                        result = siemensNet.Write("DB100.0", array);
-                        writeCount++;
-                        continue;
-                    } else {
-                        log.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSONString(command),JSON.toJSONString(one));
-                        break;
-                    }
-                }
-            }catch (Exception e){
-                log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
-            }
-            writeCount++;
-        } while (writeCount<6);
 
         if (command.getAckFinish() == 0) {
             short commandFinish = 1;
             Thread.sleep(100L);
             result = siemensNet.Write("DB100.18", commandFinish);
-            int signFinish = 1;
-            while (signFinish<5){
-                OperateResultExOne<byte[]> result10018 = siemensNet.Read("DB100.18", (short) 2);
-                short transInt16 = siemensNet.getByteTransform().TransInt16(result10018.Content, 0);
-                if (transInt16 != commandFinish){
-                    log.info("涓嬪彂DB100.18  鍥炶澶辫触" + "commandFinish:"+commandFinish);
-                    log.info("涓嬪彂DB100.18  鍥炶澶辫触" + "array:"+ JSON.toJSONString(array));
-                    result = siemensNet.Write("DB100.18", commandFinish);
-                    signFinish++;
-                }else {
-                    log.info("涓嬪彂DB100.18" + "commandFinish:"+commandFinish);
-                    log.info("涓嬪彂DB100.18" + "array:"+ JSON.toJSONString(array));
-                    break;
-                }
-            }
-        }
-
-        try {
-            // 鏃ュ織璁板綍
-            BasCrnOptService bean = SpringUtils.getBean(BasCrnOptService.class);
-            BasCrnOpt basCrnOpt = new BasCrnOpt(
-                    command.getTaskNo().intValue(),    // 浠诲姟鍙�
-                    command.getCrnNo(),    // 鍫嗗灈鏈篬闈炵┖]
-                    new Date(),    // 涓嬪彂鏃堕棿
-                    command.getTaskModeType().toString(),    // 妯″紡
-                    command.getSourcePosX().intValue(),    // 婧愭帓
-                    command.getSourcePosY().intValue(),    // 婧愬垪
-                    command.getSourcePosZ().intValue(),    // 婧愬眰
-                    null,    // 婧愮珯
-                    command.getDestinationPosX().intValue(),    // 鐩爣鎺�
-                    command.getDestinationPosY().intValue(),    // 鐩爣鍒�
-                    command.getDestinationPosZ().intValue(),    // 鐩爣灞�
-                    null,    // 鐩爣绔�
-                    null,    // 鍝嶅簲缁撴灉
-                    null,    // 淇敼鏃堕棿
-                    null    // 淇敼浜哄憳
-            );
-            bean.insert(basCrnOpt);
-        } catch (Exception ignore) {}
-
-        if (result != null && result.IsSuccess) {
-            Thread.sleep(200);
-            this.readStatus();
-            log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSONString(command));
-            OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSONString(command)));
-            return true;
-        } else {
-            OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ爢鍨涙満plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-            log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
-            return false;
-        }
-    }
-
-    /**
-     * 鍐欏叆鏁版嵁  宸ヤ綅2
-     */
-    private boolean write5(CrnCommand command) throws InterruptedException {
-        if (null == command) {
-            log.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
-            return false;
-        }
-//        convertRow(command);
-        command.setCrnNo(slave.getId());
-        short[] array = new short[10];
-        array[0] = command.getAckFinish();
-        array[1] = command.getTaskNo();
-        array[2] = command.getTaskMode();
-        array[3] = command.getSourcePosX();
-        array[4] = command.getSourcePosY();
-        array[5] = command.getSourcePosZ();
-        array[6] = command.getDestinationPosX();
-        array[7] = command.getDestinationPosY();
-        array[8] = command.getDestinationPosZ();
-//        array[9] = command.getSourceStaNo();
-//        array[10] = command.getDestinationStaNo();
-        array[9] = command.getCommand();
-        OperateResult result18 = siemensNet.Write("DB100.38", (short)0);
-        OperateResult result = siemensNet.Write("DB100.20", array);
-        log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
-
-        //鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
-        Thread.sleep(200);
-        int writeCount = 1;
-        do {
-            try{
-                if(!result.IsSuccess){
-                    log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
-                    result = siemensNet.Write("DB100.20", array);
-                    Thread.sleep(100);
-                    writeCount++;
-                    continue;
-                }
-                OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.20", (short) 24);
-                if (resultRead.IsSuccess) {
-                    CrnCommand one = new CrnCommand();
-                    one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
-                    one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
-                    one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
-                    one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
-                    one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
-                    one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
-                    one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
-                    one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
-                    if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode())
-                            || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY())
-                            || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX())
-                            || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ())
-                    ){
-                        try{
-                            log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSONString(command),JSON.toJSONString(one));
-                        }catch (Exception e){
-                            try{
-                                log.error("鏃ュ織鎵撳嵃澶辫触锛�===>>鍙傛暟one鎶ラ敊 [id:{}],{}", slave.getId(), JSON.toJSONString(command),JSON.toJSONString(resultRead));
-                            }catch (Exception e1){
-                                log.error("鏃ュ織鎵撳嵃澶辫触锛�===>> [id:{}],{}", slave.getId(), JSON.toJSONString(command));
-                            }
-                        }
-                        try{
-                            Thread.sleep(100);
-                        }catch (Exception e){
-
-                        }
-                        log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍥炶涓嶄竴鑷� ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSONString(command),writeCount);
-                        result = siemensNet.Write("DB100.20", array);
-                        writeCount++;
-                        continue;
-                    } else {
-                        log.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSONString(command),JSON.toJSONString(one));
-                        break;
-                    }
-                }
-            }catch (Exception e){
-                log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
-            }
-            writeCount++;
-        } while (writeCount<6);
-
-        if (command.getAckFinish() == 0) {
-            short commandFinish = 1;
-            Thread.sleep(100L);
-            result = siemensNet.Write("DB100.38", commandFinish);
-            int signFinish = 1;
-            while (signFinish<5){
-                OperateResultExOne<byte[]> result10018 = siemensNet.Read("DB100.38", (short) 2);
-                short transInt16 = siemensNet.getByteTransform().TransInt16(result10018.Content, 0);
-                if (transInt16 != commandFinish){
-                    log.info("涓嬪彂DB100.38  鍥炶澶辫触" + "commandFinish:"+commandFinish);
-                    log.info("涓嬪彂DB100.38  鍥炶澶辫触" + "array:"+ JSON.toJSONString(array));
-                    result = siemensNet.Write("DB100.38", commandFinish);
-                    signFinish++;
-                }else {
-                    log.info("涓嬪彂DB100.38" + "commandFinish:"+commandFinish);
-                    log.info("涓嬪彂DB100.38" + "array:"+ JSON.toJSONString(array));
-                    break;
-                }
-            }
-        }
-
-        try {
-            // 鏃ュ織璁板綍
-            BasCrnOptService bean = SpringUtils.getBean(BasCrnOptService.class);
-            BasCrnOpt basCrnOpt = new BasCrnOpt(
-                    command.getTaskNo().intValue(),    // 浠诲姟鍙�
-                    command.getCrnNo(),    // 鍫嗗灈鏈篬闈炵┖]
-                    new Date(),    // 涓嬪彂鏃堕棿
-                    command.getTaskModeType().toString(),    // 妯″紡
-                    command.getSourcePosX().intValue(),    // 婧愭帓
-                    command.getSourcePosY().intValue(),    // 婧愬垪
-                    command.getSourcePosZ().intValue(),    // 婧愬眰
-                    null,    // 婧愮珯
-                    command.getDestinationPosX().intValue(),    // 鐩爣鎺�
-                    command.getDestinationPosY().intValue(),    // 鐩爣鍒�
-                    command.getDestinationPosZ().intValue(),    // 鐩爣灞�
-                    null,    // 鐩爣绔�
-                    null,    // 鍝嶅簲缁撴灉
-                    null,    // 淇敼鏃堕棿
-                    null    // 淇敼浜哄憳
-            );
-            bean.insert(basCrnOpt);
-        } catch (Exception ignore) {}
-
-        if (result != null && result.IsSuccess) {
-            Thread.sleep(200);
-            this.readStatus();
-            log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), JSON.toJSONString(command));
-            OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSONString(command)));
-            return true;
-        } else {
-            OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ爢鍨涙満plc鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
-            log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
-            return false;
-        }
-    }
-
-    /**
-     * 鍐欏叆鏁版嵁  鍙屽伐浣�
-     */
-    private boolean write9(CrnCommandParam command) throws InterruptedException {
-        if (null == command) {
-            log.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
-            return false;
-        }
-        command.setCrnNo(slave.getId());
-        short[] array = new short[22];
-        array[0] = command.getAckFinish();
-        array[1] = command.getTaskNo();
-        array[2] = command.getTaskMode();
-        array[3] = command.getSourcePosX();
-        array[4] = command.getSourcePosY();
-        array[5] = command.getSourcePosZ();
-        array[6] = command.getDestinationPosX();
-        array[7] = command.getDestinationPosY();
-        array[8] = command.getDestinationPosZ();
-        array[9] = command.getCommand();
-        array[10] = command.getAckFinish2();
-        array[11] = command.getTaskNo2();
-        array[12] = command.getTaskMode2();
-        array[13] = command.getSourcePosX2();
-        array[14] = command.getSourcePosY2();
-        array[15] = command.getSourcePosZ2();
-        array[16] = command.getDestinationPosX2();
-        array[17] = command.getDestinationPosY2();
-        array[18] = command.getDestinationPosZ2();
-        array[19] = command.getCommand();
-        array[20] = (short)1;
-        array[21] = (short)1;
-        OperateResult result18 = siemensNet.Write("DB100.18", (short)0);
-        OperateResult result38 = siemensNet.Write("DB100.38", (short)0);
-        OperateResult result = siemensNet.Write("DB100.0", array);
-//        OperateResult result = siemensNet.Write("DB100.20", array);
-        log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
-
-        //鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
-        Thread.sleep(200);
-        int writeCount = 1;
-        do {
-            try{
-                if(!result.IsSuccess){
-                    log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍐欏叆鐩存帴澶辫触 ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command),writeCount);
-                    result = siemensNet.Write("DB100.0", array);
-                    Thread.sleep(100);
-                    writeCount++;
-                    continue;
-                }
-                OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 40);
-                if (resultRead.IsSuccess) {
-                    CrnCommandParam one = new CrnCommandParam();
-                    one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
-                    one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
-                    one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
-                    one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
-                    one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
-                    one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
-                    one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
-                    one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
-                    one.setTaskNo2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 22));
-                    one.setTaskMode2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 24));
-                    one.setSourcePosX2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 26));
-                    one.setSourcePosY2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 28));
-                    one.setSourcePosZ2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 30));
-                    one.setDestinationPosX2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 32));
-                    one.setDestinationPosY2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 34));
-                    one.setDestinationPosZ2(siemensNet.getByteTransform().TransInt16(resultRead.Content, 36));
-                    if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode())
-                            || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY())
-                            || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX())
-                            || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ())
-                            ||
-                            !command.getTaskNo2().equals(one.getTaskNo2()) || !command.getTaskMode2().equals(one.getTaskMode2())
-                            || !command.getSourcePosX2().equals(one.getSourcePosX2()) || !command.getSourcePosY2().equals(one.getSourcePosY2())
-                            || !command.getSourcePosZ2().equals(one.getSourcePosZ2()) || !command.getDestinationPosX2().equals(one.getDestinationPosX2())
-                            || !command.getDestinationPosY2().equals(one.getDestinationPosY2()) || !command.getDestinationPosZ2().equals(one.getDestinationPosZ2())
-                    ){
-                        try{
-                            log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐�==>涓嶄竴鑷碵id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
-                        }catch (Exception e){
-                            try{
-                                log.error("鏃ュ織鎵撳嵃澶辫触锛�===>>鍙傛暟one鎶ラ敊 [id:{}],{}", slave.getId(), JSON.toJSON(command),JSON.toJSON(resultRead));
-                            }catch (Exception e1){
-                                log.error("鏃ュ織鎵撳嵃澶辫触锛�===>> [id:{}],{}", slave.getId(), JSON.toJSON(command));
-                            }
-                        }
-                        try{
-                            Thread.sleep(100);
-                        }catch (Exception e){
-
-                        }
-                        log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂颁笅鍙戜换鍔�  鍥炶涓嶄竴鑷� ===>> [id:{}],{},[鍐欏叆娆℃暟:{}]", slave.getId(), JSON.toJSON(command),writeCount);
-                        result = siemensNet.Write("DB100.0", array);
-                        writeCount++;
-                        continue;
-                    } else {
-                        log.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
-                        break;
-                    }
-                }
-            }catch (Exception e){
-                log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�,寮傚父锛�"+e);
-            }
-            writeCount++;
-        } while (writeCount<6);
-
-        if (command.getAckFinish() == 0) {
-            short commandFinish = 1;
-            Thread.sleep(100L);
-            result18 = siemensNet.Write("DB100.18", commandFinish);
-            result38 = siemensNet.Write("DB100.38", commandFinish);
-            int signFinish = 1;
-            while (signFinish<5){
-                OperateResultExOne<byte[]> result10018 = siemensNet.Read("DB100.18", (short) 2);
-                OperateResultExOne<byte[]> result10038 = siemensNet.Read("DB100.38", (short) 2);
-                short transInt1618 = siemensNet.getByteTransform().TransInt16(result10018.Content, 0);
-                short transInt1638 = siemensNet.getByteTransform().TransInt16(result10038.Content, 0);
-                if (transInt1618 != commandFinish || transInt1638 != commandFinish){
-                    log.info("涓嬪彂DB100.18/DB100.38  鍥炶澶辫触" + "commandFinish:"+commandFinish);
-                    log.info("涓嬪彂DB100.18/DB100.38  鍥炶澶辫触" + "array:"+ JSON.toJSONString(array));
-                    result18 = siemensNet.Write("DB100.18", commandFinish);
-                    result38 = siemensNet.Write("DB100.38", commandFinish);
-                    signFinish++;
-                }else {
-                    log.info("涓嬪彂DB100.18/DB100.38" + "commandFinish:"+commandFinish);
-                    log.info("涓嬪彂DB100.18/DB100.38" + "array:"+ JSON.toJSONString(array));
-                    break;
-                }
-            }
         }
 
         try {
diff --git a/src/main/resources/mapper/BasDevpMapper.xml b/src/main/resources/mapper/BasDevpMapper.xml
index b9898f2..8d739c9 100644
--- a/src/main/resources/mapper/BasDevpMapper.xml
+++ b/src/main/resources/mapper/BasDevpMapper.xml
@@ -41,10 +41,6 @@
         <result column="max_wt" property="maxWt" />
         <result column="gross_wt" property="grossWt" />
         <result column="cart_pos" property="cartPos" />
-        <result column="agv_start_pick" property="agvStartPick" />
-        <result column="agv_target_pick" property="agvTargetPick" />
-        <result column="agv_start_place" property="agvStartPlace" />
-        <result column="agv_target_place" property="agvTargetPlace" />
         <result column="sta_err" property="staErr" />
 
     </resultMap>
diff --git a/src/main/resources/mapper/TaskWrkLogMapper.xml b/src/main/resources/mapper/TaskWrkLogMapper.xml
index e07c447..747404d 100644
--- a/src/main/resources/mapper/TaskWrkLogMapper.xml
+++ b/src/main/resources/mapper/TaskWrkLogMapper.xml
@@ -23,7 +23,6 @@
         <result column="cancel_time" property="cancelTime" />
         <result column="wrk_sts" property="wrkSts" />
         <result column="crn_no" property="crnNo" />
-        <result column="command_step" property="commandStep" />
         <result column="transfer_mark" property="transferMark" />
 
     </resultMap>
diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml
index 8c6800e..81fae90 100644
--- a/src/main/resources/mapper/TaskWrkMapper.xml
+++ b/src/main/resources/mapper/TaskWrkMapper.xml
@@ -12,6 +12,9 @@
         <result column="io_pri" property="ioPri" />
         <result column="start_point" property="startPoint" />
         <result column="target_point" property="targetPoint" />
+        <result column="origin_start_point" property="originStartPoint" />
+        <result column="origin_target_point" property="originTargetPoint" />
+        <result column="sc_weight" property="scWeight" />
         <result column="modi_user" property="modiUser" />
         <result column="modi_time" property="modiTime" />
         <result column="memo" property="memo" />
@@ -22,7 +25,6 @@
         <result column="cancel_time" property="cancelTime" />
         <result column="wrk_sts" property="wrkSts" />
         <result column="crn_no" property="crnNo" />
-        <result column="command_step" property="commandStep" />
         <result column="transfer_mark" property="transferMark" />
 
     </resultMap>

--
Gitblit v1.9.1