From 0bdf2da5b1407d7d0dbb90ba11a6ba0f18856ac0 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期五, 09 五月 2025 16:55:17 +0800
Subject: [PATCH] 单机调试完成

---
 src/main/java/com/zy/asrs/task/TaskLogScheduler.java         |    4 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java  |  130 +++++---
 src/main/resources/wcs和wms接口(2).docx                         |    0 
 src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java |   43 ++
 src/main/resources/application-prod.yml                      |  270 +++++++++--------
 src/main/java/com/zy/core/thread/SiemensCrnThread.java       |  171 ++++------
 src/main/java/com/zy/asrs/task/TaskReportScheduler.java      |   33 +
 src/main/java/com/zy/asrs/controller/TaskWrkController.java  |    4 
 src/main/java/com/zy/core/MainProcess.java                   |   12 
 src/main/java/com/zy/asrs/service/ToWmsService.java          |    5 
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java  |   24 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java      |  134 +++-----
 src/main/resources/application.yml                           |   17 
 13 files changed, 445 insertions(+), 402 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
index caf7270..0b1a796 100644
--- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java
+++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java
@@ -214,7 +214,7 @@
             locMast.setBarcode(taskWrk.getBarcode());
 
         }
-        toWmsService.addReportLog(taskWrk);
+//        toWmsService.addReportLog(taskWrk);
         locMastService.updateById(locMast);
         taskWrk.setStatus(7);//鎵嬪姩瀹屾垚浠诲姟
         taskWrk.setModiTime(new Date());
@@ -263,7 +263,7 @@
         } catch (Exception e) {
             taskWrk.setModiUser(9999L);//鎿嶄綔鍛�
         }
-        toWmsService.addReportLog(taskWrk);
+//        toWmsService.addReportLog(taskWrk);
 
         taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿
         taskWrkService.updateById(taskWrk);
diff --git a/src/main/java/com/zy/asrs/service/ToWmsService.java b/src/main/java/com/zy/asrs/service/ToWmsService.java
index e9bce06..42cbca4 100644
--- a/src/main/java/com/zy/asrs/service/ToWmsService.java
+++ b/src/main/java/com/zy/asrs/service/ToWmsService.java
@@ -15,4 +15,9 @@
 
     TaskWrk getLocNoFromWms(StorageEscalationParam wmsParam);
 
+    /**
+     * 涓婃姤鎵ц鐘舵��
+     */
+    void executionStatusReport(String taskNo,Integer wrkSts);
+
 }
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 4f9173a..e69cd54 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -112,12 +112,15 @@
     private boolean crn3;
 
 
-    public void generateStoreWrkFile() throws IOException, InterruptedException {
+    public synchronized void generateStoreWrkFile() {
         try {
             // 鏍规嵁杈撻�佺嚎plc閬嶅巻
             for (DevpSlave devp : slaveProperties.getDevp()) {
                 // 閬嶅巻鍏ュ簱鍙�
                 for (DevpSlave.Sta inSta : devp.getInSta()) {
+                    if (inSta.getStaNo() != 114) {
+                        continue;
+                    }
                     StorageEscalationParam storageEscalationParam = new StorageEscalationParam();
                     storageEscalationParam.setStationCode(inSta.getStaNo());
                     // 鑾峰彇鍏ュ簱绔欎俊鎭�
@@ -161,28 +164,32 @@
                         back = true;
                     }
                     // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
-                    if (staProtocol.isAutoing() && staProtocol.isLoading()
-                            && staProtocol.isInEnable()
-                            && !staProtocol.isEmptyMk() && workNo >= 9790
-                            && staProtocol.isPakMk()) {
+                    if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
+                            && !staProtocol.isEmptyMk() && workNo >= 9000 && staProtocol.isPakMk()) {
+//                    if(true){
                         // 鑾峰彇鏉$爜鎵弿浠俊鎭�
                         BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
                         if (barcodeThread == null) {
                             continue;
                         }
                         String BoxNo = barcodeThread.getBarcode();
+                        if (Cools.isEmpty(BoxNo)) {
+                            log.error("{}鍙锋潯鐮佹壂鎻忓け璐ワ紝鍊硷細{}",inSta.getBarcode(),BoxNo);
+                            continue;
+                        }
                         TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", BoxNo));
                         if (!Cools.isEmpty(taskWrk1)) {
                             log.info("鎵樼洏鐮侊細" + BoxNo + "浠诲姟妗e瓨鍦�");
-                            if (taskWrk1.getIoType() == 1 && taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString())) {
-                                StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
-                                        .eq("crn_no", taskWrk1.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
-                                if (Cools.isEmpty(staDesc)) {
-                                    return;
-                                } else {
-                                    continue;
-                                }
-                            }
+                            continue;
+//                            if (taskWrk1.getIoType() == 1 && taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString())) {
+//                                StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+//                                        .eq("crn_no", taskWrk1.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
+//                                if (Cools.isEmpty(staDesc)) {
+//                                    return;
+//                                } else {
+//                                    continue;
+//                                }
+//                            }
                         }
                         if (back) {
                             storageEscalationParam.setWCSStatus(1);
@@ -191,26 +198,37 @@
                         storageEscalationParam.setBarcode(BoxNo);
                         log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
                         TaskWrk taskWrk = toWmsService.getLocNoFromWms(storageEscalationParam);
+                        if (taskWrk == null) {
+                            log.error("鍏ュ簱璇锋眰wms鍒涘缓浠诲姟宸ヤ綔妗d负绌猴細{}",storageEscalationParam);
+                            continue;
+                        }
                         if (back) {
                             log.info("鎵樼洏閫�鍥�==>{}锛寋}", BoxNo, errMsg);
                             staProtocol.setStaNo(inSta.getBackSta().shortValue());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                         } else {
-                            if (!Cools.isEmpty(taskWrk)) {
-                                StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
-                                        .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
-                                staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
-                                staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
-                                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                                //娣诲姞涓婃姤鏃ュ織
-                                toWmsService.addReportLog(taskWrk);
-                            } else {
-                                log.info("鍒涘缓宸ヤ綔妗eけ璐�==>{}", taskWrk.getTaskNo());
-                                staProtocol.setStaNo(inSta.getBackSta().shortValue());
-                                devpThread.setPakMk(staProtocol.getSiteId(), false);
-                                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            }
+                            StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+                                    .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
+                            staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+                            staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                            //娣诲姞涓婃姤鏃ュ織
+//                            toWmsService.addReportLog(taskWrk);
+//                            if (!Cools.isEmpty(taskWrk)) {
+//                                StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
+//                                        .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
+//                                staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+//                                staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
+//                                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//                                //娣诲姞涓婃姤鏃ュ織
+//                                toWmsService.addReportLog(taskWrk);
+//                            } else {
+//                                log.info("鍒涘缓宸ヤ綔妗eけ璐�==>{}", taskWrk.getTaskNo());
+//                                staProtocol.setStaNo(inSta.getBackSta().shortValue());
+//                                devpThread.setPakMk(staProtocol.getSiteId(), false);
+//                                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//                            }
 
                         }
 
@@ -231,8 +249,8 @@
         for (CrnSlave crnSlave : slaveProperties.getCrn()) {
             // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
             for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
-                List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo()));
-                for (StaDesc staDesc : staDescs) {
+//                List<StaDesc> staDescs = staDescMapper.selectList(new EntityWrapper<StaDesc>().eq("crn_no", crnSlave.getId()).eq("crn_stn", crnStn.getStaNo()));
+//                for (StaDesc staDesc : staDescs) {
                     try {
                         // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
                         DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
@@ -244,34 +262,42 @@
                         }
                         if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
                             // 鏌ヨ宸ヤ綔妗�
-                            TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), staDesc.getStnNo().toString());
+                            TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), String.valueOf(crnStn.getStaNo()-1));
                             if (taskWrk == null) {
                                 continue;
                             }
-                            log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
-                            staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
-                            staProtocol.setStaNo(staDesc.getStnNo().shortValue());
-                            boolean offer = false;
-                            try {
-                                offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
-                            } catch (Exception e) {
-                                log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
-                                log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
-                            }
-                            if (offer) {
-                                log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
-                                taskWrk.setStatus(5);
-                                taskWrk.setWrkSts(14);
-                                taskWrkService.updateById(taskWrk);
+                            // 鍒ゆ柇鍚婅溅鏄惁瀹為檯宸插畬鎴愶紝涓旂數鑴戠姸鎬佸湪move涓紝浠ュ鐢佃剳杩涜鏇存柊宸ヤ綔妗�
+//                            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, taskWrk.getCrnNo());
+//                            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+//                            log.info(crnProtocol.statusType+""+crnProtocol.getForkPosType());
+//                            if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(taskWrk.getWrkNo().shortValue())
+//                                    && crnProtocol.statusType == CrnStatusType.HANDLING_COMPLETED
+//                                    && crnProtocol.forkPosType == CrnForkPosType.HOME) {
+                                log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
+                                staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+                                staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint()));
+                                boolean offer = false;
+                                try {
+                                    offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+                                } catch (Exception e) {
+                                    log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
+                                    log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
+                                }
+                                if (offer) {
+                                    log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
+                                    taskWrk.setStatus(5);
+                                    taskWrk.setWrkSts(14);
+                                    taskWrkService.updateById(taskWrk);
 
-                            } else {
-                                log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
-                            }
+                                } else {
+                                    log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
+                                }
+//                            }
                         }
                     } catch (Exception e) {
                         log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e);
                     }
-                }
+//                }
 
             }
         }
@@ -398,6 +424,8 @@
                     throw new CoolException("鍫嗗灈鏈哄懡浠ょ敓鎴愬け璐�");
                 } else {
                     try {
+                        // 涓婃姤鎵ц鐘舵��
+                        toWmsService.executionStatusReport(taskWrk.getTaskNo(), taskWrk.getWrkSts());
                         taskWrkService.updateById(taskWrk);
                     } catch (Exception e) {
                         log.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
@@ -522,6 +550,8 @@
                                 if (taskWrkMapper.updateById(taskWrk) == 0) {
                                     log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
                                 }
+                                // 涓婃姤鎵ц鐘舵��
+                                toWmsService.executionStatusReport(taskWrk.getTaskNo(), taskWrk.getWrkSts());
                             } catch (Exception e) {
                                 log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
                                 log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e);
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 a304dd6..b0824a3 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -78,14 +78,14 @@
         taskWrk.setWrkNo(workNo1);
         taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
         taskWrk.setCreateTime(now);
-        try {
-            if (param.getIoType() > 1) {
-                if (Utils.locNoRowBoolean(locMast.getRow1())) {
-                    param.setTaskPriority(11);
-                }
-            }
-        } catch (Exception e) {
-        }
+//        try {
+//            if (param.getIoType() > 1) {
+//                if (Utils.locNoRowBoolean(locMast.getRow1())) {
+//                    param.setTaskPriority(11);
+//                }
+//            }
+//        } catch (Exception e) {
+//        }
         taskWrk.setIoType(param.getIoType());//浠诲姟绫诲瀷
         taskWrk.setIoPri(param.getTaskPriority());//浼樺厛绾�
         taskWrk.setBarcode(param.getBarcode());//鏉$爜
@@ -99,11 +99,11 @@
 
         } else if (param.getIoType() == 2) {
             taskWrk.setWrkSts(11);
-            if (!Cools.isEmpty(param.getStartPoint())) {
+//            if (!Cools.isEmpty(param.getStartPoint())) {
                 taskWrk.setStartPoint(param.getStartPoint());//璧风偣
-                taskWrk.setTargetPoint(param.getTargetPoint());
-            }
-            taskWrk.setTargetPoint(param.getTargetPoint());
+                taskWrk.setTargetPoint(String.valueOf(Integer.parseInt(param.getTargetPoint())-1));
+//            }
+//            taskWrk.setTargetPoint(param.getTargetPoint());
         } else if (param.getIoType() == 3) {
             taskWrk.setWrkSts(11);
             if (!Cools.isEmpty(param.getStartPoint())) {
diff --git a/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
index 1ea9d75..78d5074 100644
--- a/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ToWmsServiceImpl.java
@@ -60,6 +60,9 @@
     @Value("${wms.taskStatusFeedbackPath}")
     private String taskStatusFeedbackPath;
 
+    @Value("${wms.executionStatusReport}")
+    private String executionStatusReport;
+
     @Value("${wms.code}")
     private String code;
 
@@ -110,7 +113,7 @@
                     .doPost();
             if (!Cools.isEmpty(response)) {
                 JSONObject jsonObject = JSON.parseObject(response);
-                if (!Cools.isEmpty(jsonObject.get(code)) && jsonObject.get(code).equals(successCode)) {
+                if (successCode.equals(jsonObject.get(code).toString())) {
                     WmsResult result = JSON.parseObject(jsonObject.get(data).toString(), WmsResult.class);
                     return createInTask(result, wmsParam.getBarcode(), wmsParam.getStationCode());
                 }
@@ -124,9 +127,42 @@
         return null;
     }
 
+    @Override
+    public void executionStatusReport(String taskNo, Integer wrkSts) {
+        String response = "";
+        boolean bool = false;
+        JSONObject param = new JSONObject();
+        try {
+            log.info("浠诲姟鎵ц鐘舵�佷笂鎶ワ紝浠诲姟鍙凤細{}锛屾墽琛岀姸鎬侊細{}", taskNo,wrkSts);
+            param.put("taskNo",taskNo);
+            param.put("wrkSts",wrkSts);
+            response = new HttpHandler.Builder()
+                    // .setHeaders(headParam)
+                    .setUri(wmsUrl)
+                    .setPath(executionStatusReport)
+                    .setJson(param.toJSONString())
+                    .build()
+                    .doPost();
+            if (!Cools.isEmpty(response)) {
+                bool = true;
+            }
+
+        } catch (Exception e) {
+            log.error("浠诲姟鎵ц鐘舵�佷笂鎶ュ紓甯�" +  e);
+        } finally {
+            apiLogService.save("浠诲姟鐘舵�佷笂鎶�"
+                    , wmsUrl + executionStatusReport
+                    , null
+                    , "127.0.0.1"
+                    , param.toJSONString()
+                    , response
+                    , bool
+            );
+        }
+    }
+
 
     private TaskWrk createInTask(WmsResult result, String barcode, Integer startPoint) {
-        //String locNo = Utils.Fusion(result.getRow(), result.getFloor(), result.getColumn());
         String locNo = result.getLocNo();
         Date now = new Date();
         TaskWrk taskWrk = new TaskWrk();
@@ -142,13 +178,14 @@
         taskWrk.setCrnNo(locMast.getCrnNo());
         taskWrk.setTargetPoint(locNo);
         taskWrk.setStartPoint(startPoint + "");
-        taskWrk.setCrnNo(result.getCrnNo());
+        taskWrk.setCrnNo(locMast.getCrnNo());
         if (taskWrk.getIoType() == 1) {
             taskWrk.setWrkSts(2);
             if (!Cools.isEmpty(taskWrk.getTargetPoint())) {
                 taskWrk.setOriginTargetPoint(taskWrk.getTargetPoint());
             }
         }
+        taskWrkService.insert(taskWrk);
         return taskWrk;
     }
 
diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
index 7e7df3d..cf1083a 100644
--- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
+++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -33,8 +33,8 @@
     private TaskWrkReportService taskWrkReportService;
 
 
-    @Scheduled(cron = "0/3 * * * * ? ")
-    public void execute() throws IOException {
+    @Scheduled(cron = "0/5 * * * * ? ")
+    public synchronized void execute() throws IOException {
         for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) {
             switch (taskWrk.getStatus()) {
                 case 4:
diff --git a/src/main/java/com/zy/asrs/task/TaskReportScheduler.java b/src/main/java/com/zy/asrs/task/TaskReportScheduler.java
index 4e81506..4be7aab 100644
--- a/src/main/java/com/zy/asrs/task/TaskReportScheduler.java
+++ b/src/main/java/com/zy/asrs/task/TaskReportScheduler.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
+import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.TaskWrkReport;
@@ -17,6 +18,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 import java.io.IOException;
@@ -46,15 +48,15 @@
     private String TaskExecCallback;
 
 
-    //@Scheduled(cron = "0/3 * * * * ? ")
-    public void execute() throws IOException {
+    @Scheduled(cron = "0/5 * * * * ? ")
+    public synchronized void execute() throws IOException {
         Page<TaskWrkReport> taskWrkReportPage = taskWrkReportService.selectPage(new Page<>(0, 100), new EntityWrapper<TaskWrkReport>().orderBy("create_time", true));
         if (taskWrkReportPage.getRecords() != null) {
             //鏂板涓�涓繃婊ゆ満鍒�
             for (TaskWrkReport taskWrk : taskWrkReportPage.getRecords()) {
                 WmsFeedback wmsFeedback = getWmsFeedback(taskWrk);
                 String response = "";
-                Boolean bool = false;
+                boolean bool = false;
                 try {
                     log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk);
                     response = new HttpHandler.Builder()
@@ -64,17 +66,22 @@
                             .setJson(JSON.toJSONString(wmsFeedback))
                             .build()
                             .doPost();
-                    JSONObject jsonObject = JSON.parseObject(response);
-                    TaskWrkReportLog taskWrkLog = new TaskWrkReportLog();
-                    Synchro.Copy(taskWrk, taskWrkLog);
-                    taskWrkLog.setId(null);
-                    if (!taskWrkReportLogService.insert(taskWrkLog)) {
-                        throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog);
+                    if (!Cools.isEmpty(response)) {
+                        JSONObject jsonObject = JSON.parseObject(response);
+                        if (Integer.parseInt(String.valueOf(jsonObject.get("code"))) == 200) {
+                            TaskWrkReportLog taskWrkLog = new TaskWrkReportLog();
+                            Synchro.Copy(taskWrk, taskWrkLog);
+                            taskWrkLog.setId(null);
+                            if (!taskWrkReportLogService.insert(taskWrkLog)) {
+                                throw new CoolException("杞巻鍙叉。澶辫触" + taskWrkLog);
+                            }
+                            if (!taskWrkReportService.deleteById(taskWrk)) {
+                                throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog);
+                            }
+                            bool = true;
+                        }
                     }
-                    if (!taskWrkReportService.deleteById(taskWrk)) {
-                        throw new CoolException("浠诲姟妗e垹闄ゅけ璐�" + taskWrkLog);
-                    }
-                    bool = true;
+
                 } catch (Exception e) {
                     log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶辫触{},杩斿洖鍊�={}", taskWrk, response);
                 } finally {
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 8be9805..532654f 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -52,18 +52,18 @@
                     mainService.crnStnToOutStn();
                     // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
                     mainService.crnIoExecute();
-                    // 鍏ュ簱  ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
+                    // 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
                     mainService.storeFinished();
 
                     // 鍫嗗灈鏈哄紓甯镐俊鎭褰�
                     mainService.recCrnErr();
 
                     // 鍏朵粬  ===>> // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
-                    i++;
-                    if (i > 1) {
-                        mainService.ioConvert();
-                        i = 0;
-                    }
+//                    i++;
+//                    if (i > 1) {
+//                        mainService.ioConvert();
+//                        i = 0;
+//                    }
 
 
                 } catch (Exception e) {
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index f4456ea..c2c7653 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -5,15 +5,12 @@
 import HslCommunication.Profinet.Siemens.SiemensPLCS;
 import HslCommunication.Profinet.Siemens.SiemensS7Net;
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.SpringUtils;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.TaskOverToWms;
 import com.zy.asrs.service.*;
-import com.zy.common.utils.HttpHandler;
 import com.zy.core.CrnThread;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
@@ -26,10 +23,9 @@
 import com.zy.core.model.protocol.CrnProtocol;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
 
 import java.text.MessageFormat;
-import java.util.*;
+import java.util.Date;
 
 /**
  * 鍫嗗灈鏈虹嚎绋�
@@ -39,35 +35,6 @@
 @Slf4j
 public class SiemensCrnThread implements Runnable, CrnThread {
 
-    public static final List<Short> rowOne = new ArrayList<Short>() {{
-        add((short) 1);
-        add((short) 5);
-        add((short) 7);
-        add((short) 11);
-        add((short) 15);
-        add((short) 19);
-    }};
-    public static final List<Short> rowTwo = new ArrayList<Short>() {{
-        add((short) 2);
-        add((short) 6);
-        add((short) 8);
-        add((short) 12);
-        add((short) 16);
-        add((short) 20);
-    }};
-    public static final List<Short> rowThree = new ArrayList<Short>() {{
-        add((short) 3);
-        add((short) 9);
-        add((short) 13);
-        add((short) 17);
-        add((short) 21);
-    }};
-    public static final List<Short> rowFour = new ArrayList<Short>() {{
-        add((short) 4);
-        add((short) 10);
-        add((short) 14);
-        add((short) 18);
-    }};
     private SiemensS7Net siemensNet;
     private CrnSlave slave;
     private CrnProtocol crnProtocol;
@@ -267,7 +234,7 @@
     @Override
     public boolean connect() {
         boolean result = false;
-        siemensNet = new SiemensS7Net(SiemensPLCS.S1200, slave.getIp());
+        siemensNet = new SiemensS7Net(SiemensPLCS.S1500, slave.getIp());
         siemensNet.setRack(slave.getRack().byteValue());
         siemensNet.setSlot(slave.getSlot().byteValue());
         OperateResult connect = siemensNet.ConnectServer();
@@ -332,72 +299,72 @@
                         //鍫嗗灈鏈轰换鍔″畬鎴愬悗璁块棶wms璇锋眰浠诲姟瀹屾垚 locationDone 璐т綅澶勭悊瀹屾垚
                         TaskWrkService taskWrkService = SpringUtils.getBean(TaskWrkService.class);
                         TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("wrk_no", crnProtocol.getTaskNo()));
-                        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) {
-                            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()); //婧愬簱浣�
-                        } else if (taskWrk.getIoType() == 3) {
-                            taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜
-                            taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint());
-                            taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅
-                        }
-                        taskOverToWms.setTaskStatus("location_done"); //浠诲姟鐘舵��
-                        String response = null;
-                        try {
-                            response = new HttpHandler.Builder()
-                                    .setHeaders(map)
-                                    .setUri("10.32.53.195:8080")
-                                    .setPath("wcsManager/wcsInterface/taskStatusFeedback")
-                                    .setJson(JSON.toJSONString(taskOverToWms))
-                                    .build()
-                                    .doPost();
-                        } catch (Exception e) {
-                            log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触");
-                        }
-                        ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class);
-                        apiLogService.save("Wms浠诲姟瀹屾垚鎺ュ彛"
-                                , "10.32.53.195:8080" + "/wcsManager/wcsInterface/taskStatusFeedback"
-                                , null
-                                , "127.0.0.1"
-                                , JSON.toJSONString(taskOverToWms)
-                                , response
-                                , true
-                        );
-                        JSONObject jsonObject = JSON.parseObject(response);
-                        if (jsonObject.getInteger("code").equals(200)) {
+//                        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) {
+//                            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()); //婧愬簱浣�
+//                        } else if (taskWrk.getIoType() == 3) {
+//                            taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //璁惧缂栫爜
+//                            taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint());
+//                            taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //鐩爣搴撲綅
+//                        }
+//                        taskOverToWms.setTaskStatus("location_done"); //浠诲姟鐘舵��
+//                        String response = null;
+//                        try {
+//                            response = new HttpHandler.Builder()
+//                                    .setHeaders(map)
+//                                    .setUri("10.32.53.195:8080")
+//                                    .setPath("wcsManager/wcsInterface/taskStatusFeedback")
+//                                    .setJson(JSON.toJSONString(taskOverToWms))
+//                                    .build()
+//                                    .doPost();
+//                        } catch (Exception e) {
+//                            log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛澶辫触");
+//                        }
+//                        ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class);
+//                        apiLogService.save("Wms浠诲姟瀹屾垚鎺ュ彛"
+//                                , "10.32.53.195:8080" + "/wcsManager/wcsInterface/taskStatusFeedback"
+//                                , null
+//                                , "127.0.0.1"
+//                                , JSON.toJSONString(taskOverToWms)
+//                                , response
+//                                , true
+//                        );
+//                        JSONObject jsonObject = JSON.parseObject(response);
+//                        if (jsonObject.getInteger("code").equals(200)) {
                             if (taskWrk.getIoType() == 3) {
                                 taskWrk.setWrkSts(4);
                             }
@@ -411,7 +378,7 @@
                             log.error("鍫嗗灈鏈轰换鍔″畬鎴愶紝璇锋眰wms浠诲姟瀹屾垚鎺ュ彛瀹屾垚锛屼絾杩斿洖澶辫触");
                         }
 
-                    }
+//                    }
 
 
                 }
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 77c318a..25b99fe 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -40,55 +40,13 @@
 public class SiemensDevpThread implements Runnable, DevpThread {
 
     public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
-        add(101);
-        add(102);
-        add(103);
-        add(104);
-        add(105);
-        add(106);
-        add(107);
-        add(108);
-        add(109);
-        add(110);
-        add(111);
-        add(112);
-        add(113);
-        add(114);
-        add(115);
-        add(116);
-        add(117);
-        add(118);
-        add(119);
-        add(120);
-
-        add(201);
-        add(202);
-        add(203);
-        add(204);
-        add(205);
-        add(206);
-        add(207);
-        add(208);
-        add(209);
-        add(210);
-        add(211);
-        add(212);
-        add(213);
-        add(214);
-        add(215);
-        add(216);
-        add(217);
+        add(101);add(102);add(103);add(104);add(105);add(106);add(107);add(108);add(109);add(110);
+        add(111);add(112);add(113);add(114);add(115);add(116);
+        add(201);add(202);add(203);add(205);add(206);add(207);add(210);add(211);add(212);
     }};
 
     public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
-        add(301);
-        add(302);
-        add(303);
-        add(304);
-        add(305);
-        add(306);
-        add(307);
-        add(308);
+        add(301);add(302);add(303);add(304);add(305);add(306);add(307);add(308);
     }};
     /**
      * 鍏ュ嚭搴撴ā寮�
@@ -218,10 +176,11 @@
      * 璇诲彇鐘舵�� ====> 鏁村潡plc
      */
     private void read() throws InterruptedException {
-        // 鏇存柊鍏ュ嚭搴撴ā寮�
-//        updateIoMode();
+
         ArrayList<Integer> staNos = getStaNo();
         int staNoSize = staNos.size();
+
+        // 璇昏揣浣嶄俊鎭弽棣�
         OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize * 8));
         if (result.IsSuccess) {
             for (int i = 0; i < staNoSize; i++) {
@@ -252,32 +211,47 @@
             }
         }
 
-
         if (slave.getId() == 1) {
-            //鏉$爜
             //Thread.sleep(200);
-            OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.848.0", (short) 8);
+            // 璇诲彇鏉$爜
+            OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.1404", (short) (staNoSize*8));
             if (result2.IsSuccess) {
-                for (int i = 0; i < 1; i++) {
-                    String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8");
-                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
-                    if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
-                        barcodeThread.setBarcode(barcode);
+                for (int i =0; i <staNoSize; i++) {
+                    int barcodeId = 0;
+                    switch (i){
+                        case 1:barcodeId=1;break;
+                        case 4:barcodeId=2;break;
+                        case 7:barcodeId=3;break;
+                        case 10:barcodeId=4;break;
+                        case 13:barcodeId=5;break;
+                        default:
+                    }
+                    if (barcodeId != 0) {
+                        String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 6, "UTF-8");
+                        BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
+                        if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
+                            barcodeThread.setBarcode(barcode);
+                        }
                     }
                 }
             }
 
-            //澶栧舰妫�娴�
-            OperateResultExOne<byte[]> resultErr1 = siemensS7Net.Read("DB101.810.0", (short) (barcodeSize * 1));
-            StaProtocol staProtocol1 = station.get(116);
-            boolean[] status1 = siemensS7Net.getByteTransform().TransBool(resultErr1.Content, 0, 1);
-            staProtocol1.setFrontErr(status1[0]);
-            staProtocol1.setBackErr(status1[1]);
-            staProtocol1.setHighErr(status1[2]);
-            staProtocol1.setLeftErr(status1[3]);
-            staProtocol1.setRightErr(status1[4]);
-            staProtocol1.setWeightErr(status1[5]);
-            staProtocol1.setBarcodeErr(status1[6]);
+            // 璇诲彇澶栧舰妫�娴�
+            OperateResultExOne<byte[]> resultErr1 = siemensS7Net.Read("DB101.936", (short) (staNoSize * 8));
+            if (resultErr1.IsSuccess) {
+                for (int i = 0; i < staNoSize; i++) {
+                    Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
+                    StaProtocol staProtocol = station.get(siteId);
+                    boolean[] status1 = siemensS7Net.getByteTransform().TransBool(resultErr1.Content, i * 2, 1);
+                    staProtocol.setFrontErr(status1[0]);
+                    staProtocol.setBackErr(status1[1]);
+                    staProtocol.setHighErr(status1[2]);
+                    staProtocol.setLeftErr(status1[3]);
+                    staProtocol.setRightErr(status1[4]);
+                    staProtocol.setWeightErr(status1[5]);
+                    staProtocol.setBarcodeErr(status1[6]);
+                }
+            }
 
             OperateResultExOne<byte[]> resultErr = siemensS7Net.Read("DB101.922.0", (short) (staNoSize * 4));
             if (resultErr.IsSuccess) {
@@ -347,25 +321,25 @@
         //浠诲姟涓嬪彂鎴愬姛鏍囪瘑
         boolean writeFlag = false;
         while (writeCount < 5) {
-            OperateResult writeResult1 = siemensS7Net.Write("DB100." + index * 6, staProtocol.getWorkNo().intValue());    // 宸ヤ綔鍙�
-            OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index * 6 + 4), staProtocol.getStaNo());    // 鐩爣绔�
+            OperateResult writeResult1 = siemensS7Net.Write("DB100." + index * 4, staProtocol.getWorkNo());    // 宸ヤ綔鍙�
+            OperateResult writeResult2 = siemensS7Net.Write("DB100." + (index * 4 + 2), staProtocol.getStaNo());    // 鐩爣绔�
             if (writeResult1.IsSuccess && writeResult2.IsSuccess) {
                 Thread.sleep(200);
-                OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index * 6, (short) 6);
+                OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB100." + index * 4, (short) 2);
                 if (readResult.IsSuccess) {
-                    Integer workNo = siemensS7Net.getByteTransform().TransInt32(readResult.Content, 0);
-                    short staNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 4);
-                    if (workNo.equals(staProtocol.getWorkNo().intValue()) && staProtocol.getStaNo().equals(staNo)) {
-                        //浠诲姟鍛戒护鍐欏叆鎴愬姛
+//                    short workNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0);
+//                    short staNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 2);
+//                    if (staProtocol.getWorkNo().equals(workNo) && staProtocol.getStaNo().equals(staNo)) {
+//                        //浠诲姟鍛戒护鍐欏叆鎴愬姛
                         writeFlag = true;
                         log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
                         break;
-                    } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓
-                        writeCount++;
-                        OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
-                                slave.getId(), JSON.toJSON(staProtocol), writeCount));
-                        log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
-                    }
+//                    } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓
+//                        writeCount++;
+//                        OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
+//                                slave.getId(), JSON.toJSON(staProtocol), writeCount));
+//                        log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+//                    }
                 } else {
                     writeCount++;
                     OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}",
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 057f2f9..6b25e67 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -4,235 +4,247 @@
   groupCount: 4 #涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁�
   crn[0]: #鍫嗗灈鏈�1
     id: 1
-    ip: 10.10.10.110
+    ip: 10.49.210.11
     slot: 0
     demo: false
     rack: 0
     offset: 2  #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
     port: 102
-    crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
-      staNo: 103
-      row: 3
-      bay: 1
-      lev: 2
-      devpPlcId: ${wcs-slave.devp[0].id}
-    crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
-      staNo: 106
-      row: 3
-      bay: 1
-      lev: 2
-      devpPlcId: ${wcs-slave.devp[0].id}
-    crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1
-      staNo: 102
+    #鍫嗗灈鏈哄嚭搴撶珯鐐�1
+    crnOutStn[0]:
+      staNo: 114
       row: 2
       bay: 1
-      lev: 2
-      backSta: 101
+      lev: 1
       devpPlcId: ${wcs-slave.devp[0].id}
-    crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�1
-      staNo: 105
+      #鍫嗗灈鏈哄嚭搴撶珯鐐�2
+    crnOutStn[1]:
+      staNo: 210
+      row: 2
+      bay: 2
+      lev: 1
+      devpPlcId: ${wcs-slave.devp[0].id}
+      #鍫嗗灈鏈哄嚭搴撶珯鐐�3
+    crnOutStn[2]:
+      staNo: 205
+      row: 2
+      bay: 5
+      lev: 1
+      devpPlcId: ${wcs-slave.devp[0].id}
+      #鍫嗗灈鏈哄嚭搴撶珯鐐�4
+    crnOutStn[3]:
+      staNo: 201
+      row: 2
+      bay: 7
+      lev: 1
+      devpPlcId: ${wcs-slave.devp[0].id}
+    #鍫嗗灈鏈哄叆搴撶珯鐐�1
+    crnInStn[0]:
+      staNo: 114
       row: 2
       bay: 1
-      lev: 2
-      backSta: 104
+      lev: 1
+      backSta: 113
+      devpPlcId: ${wcs-slave.devp[0].id}
+    #鍫嗗灈鏈哄叆搴撶珯鐐�2
+    crnInStn[1]:
+      staNo: 210
+      row: 2
+      bay: 2
+      lev: 1
+      backSta: 212
+      devpPlcId: ${wcs-slave.devp[0].id}
+    #鍫嗗灈鏈哄叆搴撶珯鐐�3
+    crnInStn[2]:
+      staNo: 205
+      row: 5
+      bay: 1
+      lev: 1
+      backSta: 207
+      devpPlcId: ${wcs-slave.devp[0].id}
+    #鍫嗗灈鏈哄叆搴撶珯鐐�4
+    crnInStn[3]:
+      staNo: 201
+      row: 2
+      bay: 7
+      lev: 1
+      backSta: 203
       devpPlcId: ${wcs-slave.devp[0].id}
   crn[1]: #鍫嗗灈鏈�2
     id: 2
-    ip: 10.10.10.120
+    ip: 10.49.210.21
     slot: 0
     demo: false
     rack: 0
     offset: 2  #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
     port: 102
-    crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
-      staNo: 109
-      row: 7
-      bay: 1
-      lev: 2
-      devpPlcId: ${wcs-slave.devp[0].id}
-    crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
-      staNo: 112
-      row: 7
-      bay: 1
-      lev: 2
-      devpPlcId: ${wcs-slave.devp[0].id}
-    crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1
-      staNo: 108
-      row: 6
-      bay: 1
-      lev: 2
-      backSta: 107
-      devpPlcId: ${wcs-slave.devp[0].id}
-    crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�1
+    #鍫嗗灈鏈哄嚭搴撶珯鐐�1
+    crnOutStn[0]:
       staNo: 111
       row: 6
       bay: 1
-      lev: 2
+      lev: 1
+      devpPlcId: ${wcs-slave.devp[0].id}
+     #鍫嗗灈鏈哄嚭搴撶珯2
+    crnOutStn[1]:
+      staNo: 108
+      row: 7
+      bay: 1
+      lev: 1
+      devpPlcId: ${wcs-slave.devp[0].id}
+    #鍫嗗灈鏈哄叆搴撶珯鐐�1
+    crnInStn[0]:
+      staNo: 111
+      row: 6
+      bay: 1
+      lev: 1
       backSta: 110
       devpPlcId: ${wcs-slave.devp[0].id}
-  crn[2]: #鍫嗗灈鏈�2
+      #鍫嗗灈鏈哄叆搴撶珯鐐�2
+    crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�1
+      staNo: 108
+      row: 7
+      bay: 1
+      lev: 1
+      backSta: 107
+      devpPlcId: ${wcs-slave.devp[0].id}
+  crn[2]: #鍫嗗灈鏈�3
     id: 3
-    ip: 10.10.10.120
+    ip: 10.49.210.31
     slot: 0
     demo: false
     rack: 0
     offset: 2  #鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
     port: 102
     crnOutStn[0]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
-      staNo: 115
-      row: 7
+      staNo: 105
+      row: 10
       bay: 1
-      lev: 2
+      lev: 1
       devpPlcId: ${wcs-slave.devp[0].id}
     crnOutStn[1]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
-      staNo: 201
-      row: 7
+      staNo: 102
+      row: 11
       bay: 1
-      lev: 2
-      devpPlcId: ${wcs-slave.devp[0].id}
-    crnOutStn[2]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
-      staNo: 205
-      row: 7
-      bay: 1
-      lev: 2
-      devpPlcId: ${wcs-slave.devp[0].id}
-    crnOutStn[3]: #鍫嗗灈鏈哄嚭搴撶珯鐐�
-      staNo: 210
-      row: 7
-      bay: 1
-      lev: 2
+      lev: 1
       devpPlcId: ${wcs-slave.devp[0].id}
     crnInStn[0]: #鍫嗗灈鏈哄叆搴撶珯鐐�1
-      staNo: 114
-      row: 6
+      staNo: 105
+      row: 10
       bay: 1
-      lev: 2
-      backSta: 113
+      lev: 1
+      backSta: 104
       devpPlcId: ${wcs-slave.devp[0].id}
-    crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�1
-      staNo: 202
-      row: 6
+    crnInStn[1]: #鍫嗗灈鏈哄叆搴撶珯鐐�2
+      staNo: 102
+      row: 11
       bay: 1
-      lev: 2
-      backSta: 203
-      devpPlcId: ${wcs-slave.devp[0].id}
-    crnInStn[2]: #鍫嗗灈鏈哄叆搴撶珯鐐�1
-      staNo: 206
-      row: 6
-      bay: 1
-      lev: 2
-      backSta: 207
-      devpPlcId: ${wcs-slave.devp[0].id}
-    crnInStn[3]: #鍫嗗灈鏈哄叆搴撶珯鐐�1
-      staNo: 211
-      row: 6
-      bay: 1
-      lev: 2
-      backSta: 212
+      lev: 1
+      backSta: 101
       devpPlcId: ${wcs-slave.devp[0].id}
   devp[0]: #杈撻�佺嚎
     id: 1
-    ip: 10.10.10.140
+    ip: 10.49.210.41
     rack: 0
     port: 102
     slot: 0
     emptyInSta[0]: #绌烘澘鍏ュ簱鍙�0
-      staNo: 116
+      staNo: 210
     inSta[0]: #鍏ュ簱鍙�1
-      staNo: 101
-      backSta: 116
+      staNo: 102
+      backSta: 101
       barcode: ${wcs-slave.barcode[0].id}
     inSta[1]: #鍏ュ簱鍙�2
-      staNo: 117
+      staNo: 105
       backSta: 104
       barcode: ${wcs-slave.barcode[1].id}
     inSta[2]: #鍏ュ簱鍙�3
-      staNo: 118
+      staNo: 108
       backSta: 107
       barcode: ${wcs-slave.barcode[2].id}
     inSta[3]: #鍏ュ簱鍙�4
-      staNo: 110
-      backSta: 119
+      staNo: 111
+      backSta: 110
       barcode: ${wcs-slave.barcode[3].id}
     inSta[4]: #鍏ュ簱鍙�5
-      staNo: 113
-      backSta: 120
+      staNo: 114
+      backSta: 113
       barcode: ${wcs-slave.barcode[4].id}
     inSta[5]: #鍏ュ簱鍙�6
-      staNo: 202
-      backSta: 203
+      staNo: 211
+      backSta: 212
       barcode: ${wcs-slave.barcode[5].id}
     inSta[6]: #鍏ュ簱鍙�7
       staNo: 206
       backSta: 207
       barcode: ${wcs-slave.barcode[6].id}
     inSta[7]: #鍏ュ簱鍙�8
-      staNo: 211
-      backSta: 212
+      staNo: 202
+      backSta: 203
       barcode: ${wcs-slave.barcode[7].id}
     outSta[0]: #鍑哄簱鍙�1
-      staNo: 116
+      staNo: 101
     outSta[1]: #鍑哄簱鍙�2
-      staNo: 117
+      staNo: 104
     outSta[2]: #鍑哄簱鍙�3
-      staNo: 118
+      staNo: 107
     outSta[3]: #鍑哄簱鍙�4
-      staNo: 119
+      staNo: 110
     outSta[4]: #鍑哄簱鍙�5
-      staNo: 120
+      staNo: 113
     outSta[5]: #鍑哄簱鍙�6
-      staNo: 203
+      staNo: 212
     outSta[6]: #鍑哄簱鍙�7
       staNo: 207
     outSta[7]: #鍑哄簱鍙�8
-      staNo: 212
+      staNo: 203
 
-  devp[1]: #杈撻�佺嚎
-    id: 2
-    ip: 10.10.10.140
-    rack: 0
-    port: 102
-    slot: 0
-    inSta[0]:
-      staNo: 301
-    inSta[1]:
-      staNo: 303
-    inSta[2]:
-      staNo: 305
-    inSta[3]:
-      staNo: 307
+#  devp[1]: #杈撻�佺嚎
+#    id: 2
+#    ip: 10.10.10.140
+#    rack: 0
+#    port: 102
+#    slot: 0
+#    inSta[0]:
+#      staNo: 301
+#    inSta[1]:
+#      staNo: 303
+#    inSta[2]:
+#      staNo: 305
+#    inSta[3]:
+#      staNo: 307
 
   barcode[0]: #鏉$爜鎵弿浠�
     port: 51236
-    ip: 172.17.91.39
+    ip: 10.49.210.44
     id: 1
   barcode[1]: #鏉$爜鎵弿浠�
     port: 51236
-    ip: 172.17.91.39
+    ip: 10.49.210.45
     id: 2
   barcode[2]: #鏉$爜鎵弿浠�
     port: 51236
-    ip: 172.17.91.39
+    ip: 10.49.210.46
     id: 3
   barcode[3]: #鏉$爜鎵弿浠�
     port: 51236
-    ip: 172.17.91.39
+    ip: 10.49.210.47
     id: 4
   barcode[4]: #鏉$爜鎵弿浠�
     port: 51236
-    ip: 172.17.91.39
+    ip: 10.49.210.48
     id: 5
   barcode[5]: #鏉$爜鎵弿浠�
     port: 51236
-    ip: 172.17.91.39
+    ip: 10.49.210.67
     id: 6
   barcode[6]: #鏉$爜鎵弿浠�
     port: 51236
-    ip: 172.17.91.39
+    ip: 10.49.210.66
     id: 7
   barcode[7]: #鏉$爜鎵弿浠�
     port: 51236
-    ip: 172.17.91.39
+    ip: 10.49.210.65
     id: 8
 
 
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index a592115..caea414 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -47,15 +47,26 @@
   # 鏄惁寮�鍚笂鎶�
   start: true
   # WMS绯荤粺ip
-  url: 10.10.10.222:2410
+  url: http://10.227.21.31:8060/fromwcs
   # 鍏ュ簱浠诲姟鐢宠鎺ュ彛
-  inboundTaskApplyPath: api/StereoscopicCallBack/AcceptTaskStatus
+  inboundTaskApplyPath: /inboundTaskApply
   # 浠诲姟寮�濮嬫椂锛學CS鍥炶皟WMS
   taskStatusFeedbackPath: api/StereoscopicCallBack/TaskExecCallback
   # 浠诲姟瀹屾垚缁撴潫鏃讹紝WCS鍥炶皟WMS
-  taskExecCallback: api/StereoscopicCallBack/TaskExecFinishedCallback
+  taskExecCallback: /taskStateReport
   # 绉诲簱鐢宠鎺ュ彛
   movePath: api/InterFace/get_InterFace_TestStorage
+  # 浠诲姟鎵ц鐘舵�佷笂鎶�
+  executionStatusReport: /executionStatusReport
+  # 娴嬭瘯鐜
+#  url: http://127.0.0.1:8080/ghlnwms
+#  taskStatusFeedbackPath: api/StereoscopicCallBack/TaskExecCallback
+#  executionStatusReport: /open/asrs/executionStatusReport
+#  taskExecCallback: /open/asrs/taskExecCallback
+#  inboundTaskApplyPath: /open/asrs/testInLoc
+#  movePath: api/InterFace/get_InterFace_TestStorage
+
+
   code: code
   successCode: 200
   msg: msg
diff --git "a/src/main/resources/wcs\345\222\214wms\346\216\245\345\217\243\0502\051.docx" "b/src/main/resources/wcs\345\222\214wms\346\216\245\345\217\243\0502\051.docx"
index 24263ed..d218bae 100644
--- "a/src/main/resources/wcs\345\222\214wms\346\216\245\345\217\243\0502\051.docx"
+++ "b/src/main/resources/wcs\345\222\214wms\346\216\245\345\217\243\0502\051.docx"
Binary files differ

--
Gitblit v1.9.1