From cd761b085ddff0d4f55a0d5b892b3120cf8fa9d2 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 13 一月 2026 13:18:04 +0800
Subject: [PATCH] 修改了AGV请求接口的逻辑,Mas获取返回信息的订单编号

---
 src/main/java/com/zy/asrs/controller/SiteController.java    |    4 
 src/main/java/com/zy/asrs/controller/OpenController.java    |    8 +
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   11 +
 src/main/resources/mapper/WaitPakinMapper.xml               |    2 
 src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java  |  349 ++++++++++++++++++++++++++++++++++++++-----------
 src/main/resources/mapper/WrkMastMapper.xml                 |    2 
 src/main/webapp/views/pipeline.html                         |    3 
 src/main/java/com/zy/core/MainProcess.java                  |    8 
 src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java        |    1 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java     |    4 
 src/main/resources/application.yml                          |   10 
 11 files changed, 307 insertions(+), 95 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 3dca0fe..bf9d52b 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -118,5 +118,13 @@
             e.printStackTrace();
         }
     }
+    @GetMapping("/api/robot/reporter/task1")
+    public void reporterTask1(){
+        Integer sourceStaNo = 307;
+        SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+        StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
+        boolean result = MessageQueue.offer(SlaveType.Devp, 1, new com.zy.core.model.Task(3, staProtocol));
+//        log.info("AGV鏀捐揣瀹屾垚锛岀粰绔欑偣鍐�9991宸ヤ綔鍙�,涓嬪彂浠诲姟:{},绔欑偣:{},agv浠诲姟鍙�:{}", result, task.getStaNo(), task.getTaskNo());
+    }
 
 }
diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 86c538d..98e94bc 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -7,7 +7,7 @@
 import com.zy.asrs.domain.vo.SiteTableVo;
 import com.zy.asrs.entity.BasDevp;
 import com.zy.asrs.service.BasDevpService;
-import com.zy.core.Slave;
+import com.zy.core.DevpThread;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
 import com.zy.core.cache.SlaveConnection;
@@ -16,7 +16,6 @@
 import com.zy.core.model.Task;
 import com.zy.core.model.protocol.StaProtocol;
 import com.zy.core.properties.SlaveProperties;
-import com.zy.core.DevpThread;
 import com.zy.core.thread.SiemensDevpThread;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -82,6 +81,7 @@
             vo.setStaNo(staProtocol.getStaNo());                // 鐩爣绔�
 //            vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "浣�" : "楂�");     //楂樹綆搴撲綅
             vo.setLocType1(devp.getDevNo()==102 ? "楂�" : "浣�");
+            vo.setInreq1(devp.getInreq1());
         }
         return R.ok().add(list);
     }
diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java
index 42b7bc9..c805edb 100644
--- a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java
@@ -28,6 +28,7 @@
 
     // 闇�姹�1
     private String pakMk = "-";
+    private String inreq1 = "-";
 
     // 绌烘澘淇″彿
     private String emptyMk = "-";
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 9d4d6d4..c3e5bc2 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -172,6 +172,7 @@
                         && staProtocol.isInEnable()
                         && !staProtocol.isEmptyMk()
                         && staProtocol.getWorkNo() > 9990
+                        && staProtocol.getWorkNo() <9998
                         && (staProtocol.isEmptyOutType() || staProtocol.getSiteId() == 301 || staProtocol.getSiteId() == 304)
                         && staProtocol.isPakMk()) {
                     News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
@@ -242,7 +243,10 @@
                         boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                         continue;
                     }
-
+                    WaitPakin waitPakin = waitPakinMapper.selectByBarcode(barcode);
+                    if (waitPakin == null){
+                        continue;
+                    }
                     // 鍒ゆ柇閲嶅宸ヤ綔妗�
                     WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
                     //杩囨护鍒ゆ柇锛岄槻姝㈡嫞鏂欏啀鍏ュ簱璐х墿锛岀粡杩囧叆搴撶珯鍐嶅叆搴撴椂锛岃閫�鍥炲埌閫�搴撶珯
@@ -1287,7 +1291,7 @@
                 if (staProtocol.isEmptyOutType() || staProtocol.getSiteId() == 301 || staProtocol.getSiteId() == 304) {
                     boo1 = true;
                 }
-                if ((staProtocol.getSiteId() == 301 || staProtocol.getSiteId() == 304) && staProtocol.isOutEnable()) {
+                if (((staProtocol.getSiteId() == 301 || staProtocol.getSiteId() == 304) && staProtocol.isOutEnable()) || staProtocol.getSiteId()==307) {
                     boo2 = true;
                 }
 
@@ -1297,7 +1301,7 @@
                     // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
 
                     //鍒ゆ柇鏄惁鏈夋鍦ㄦ墽琛屼腑鐨凙GV浠诲姟
-                    List<AgvTask> agvTasks = agvTaskService.selectList(new EntityWrapper<AgvTask>().eq("wrk_sts", 302).eq("source_sta_no", staProtocol.getSiteId()));
+                    List<AgvTask> agvTasks = agvTaskService.selectList(new EntityWrapper<AgvTask>().eq("wrk_sts", 302).eq("source_sta_no", String.valueOf(staProtocol.getSiteId())));
                     if (agvTasks != null && agvTasks.size() > 0) {
                         continue;
                     }
@@ -2427,6 +2431,7 @@
             int workNo = commonService.getWorkNo(0);
             // 淇濆瓨宸ヤ綔妗�
             WrkMast wrkMast = new WrkMast();
+            wrkMast.setId(new Date().getTime());
             wrkMast.setWrkNo(workNo);
             wrkMast.setIoTime(new Date());
             wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
diff --git a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
index 8b333b8..8d9f914 100644
--- a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
@@ -68,24 +68,24 @@
         String slotCategory = values.getString("slotCategory");
         String slotCode = values.getString("slotCode");
         EntityWrapper<AgvTask> wrapper = new EntityWrapper<>();
-        wrapper.eq("task_no", robotTaskCode);
+        wrapper.eq("task_no", rcsReporterTask.getRobotTaskCode().substring(0, rcsReporterTask.getRobotTaskCode().length() - 2));
         AgvTask task = agvTaskService.selectOne(wrapper);
         if (!Cools.isEmpty(task)) {
             try {
                 switch (Objects.requireNonNull(RcsRetMethodEnum.getEnum(method))) {
                     //鏀捐揣鐢宠
                     case APPLY_PUT: {
-                        if(task.getStaNo().equals("401")||task.getStaNo().equals("402")||task.getStaNo().equals("307")) {
+                        if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) {
                             Integer sourceStaNo = Integer.valueOf(task.getStaNo());
                             SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
                             StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
                             //wcs鍙嶉rcs缁х画鎵ц
                             if (staProtocol != null && !staProtocol.isLoading() && !staProtocol.isEmptyOutType()) {
-                                if(task.getTaskType().equals("AGV琛ョ┖鏂欐灦")){
+                                if (task.getTaskType().equals("AGV琛ョ┖鏂欐灦")) {
                                     RcsTaskContinue rcsTaskContinue = new RcsTaskContinue();
-                                    rcsTaskContinue.setRobotTaskCode(task.getTaskNo()+"-"+(task.getCtnType()-1));
+                                    rcsTaskContinue.setRobotTaskCode(task.getTaskNo() + "-" + (task.getCtnType() - 1));
                                     rcsTaskContinue.setTriggerType("TASK");
-                                    rcsTaskContinue.setTriggerCode(task.getTaskNo()+"-"+(task.getCtnType()-1));
+                                    rcsTaskContinue.setTriggerCode(task.getTaskNo() + "-" + (task.getCtnType() - 1));
 
                                     String url = HIK_URL + "api/robot/controller/task/extend/continue";
                                     String response = sendPost(url, JSONObject.toJSONString(rcsTaskContinue));
@@ -98,7 +98,7 @@
                                     JSONObject data = new JSONObject();
                                     data.put("robotTaskCode", robotTaskCode);
                                     rcsReturn.setData(data);
-                                }else {
+                                } else {
                                     //鍑哄彂PLC绔欑偣鐨勬壂鐮佸櫒鎵爜
                                     boolean result = MessageQueue.offer(SlaveType.Devp, 1, new com.zy.core.model.Task(3, staProtocol));
                                     if (result) {
@@ -110,9 +110,9 @@
                                         data.put("robotTaskCode", robotTaskCode);
                                         rcsReturn.setData(data);
                                         RcsTaskContinue rcsTaskContinue = new RcsTaskContinue();
-                                        rcsTaskContinue.setRobotTaskCode(task.getTaskNo()+"-"+(task.getCtnType()-1));
+                                        rcsTaskContinue.setRobotTaskCode(task.getTaskNo() + "-" + (task.getCtnType() - 1));
                                         rcsTaskContinue.setTriggerType("TASK");
-                                        rcsTaskContinue.setTriggerCode(task.getTaskNo()+"-"+(task.getCtnType()-1));
+                                        rcsTaskContinue.setTriggerCode(task.getTaskNo() + "-" + (task.getCtnType() - 1));
 
                                         String url = HIK_URL + "api/robot/controller/task/extend/continue";
                                         String response = sendPost(url, JSONObject.toJSONString(rcsTaskContinue));
@@ -129,12 +129,23 @@
                                     }
                                 }
                             }
-                        }else {
+                        } else {
                             TransParent transParent = new TransParent();
-                            transParent.setTaskno(task.getTaskNo()+"-"+(task.getCtnType()-1));
-                            transParent.setTaskname(task.getTaskNo()+"-"+(task.getCtnType()-1));
+                            transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
+                            transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
                             transParent.setStationId(task.getStaNo());
                             transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
+                            //08-1鏄┖鎵樼洏杞簭浠诲姟
+                            //08-2鏄墿鏂欒浆搴忎换鍔�
+                            if (task.getTaskType().equals("ZX-AGV-08-1")) {
+                                transParent.setTransType("08-1");
+                            } else if (task.getTaskType().equals("ZX-AGV-08-2")) {
+                                transParent.setTransType("08-2");
+                            } else if (task.getTaskType().equals("PP-AGV")) {
+                                transParent.setTransType("10");
+                            } else if (task.getTaskType().equals("ZP-AGV")) {
+                                transParent.setTransType("11");
+                            }
                             int i = applyInStation(transParent);
                             if (i == 1) {
                                 rcsReturn.setCode("SUCCESS");
@@ -142,7 +153,7 @@
                                 JSONObject data = new JSONObject();
                                 data.put("robotTaskCode", robotTaskCode);
                                 rcsReturn.setData(data);
-                            }else {
+                            } else {
                                 // 杩斿洖RCS
                                 rcsReturn.setCode("Err_Internal");
                                 rcsReturn.setMessage("");
@@ -157,13 +168,13 @@
 
                     //鏀捐揣瀹屾垚 --銆媋gv宸茬粡绂诲紑
                     case TASK_END: {
-                        if(task.getStaNo().equals("401")||task.getStaNo().equals("402")||task.getStaNo().equals("307")) {
+                        if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) {
                             Integer sourceStaNo = Integer.valueOf(task.getStaNo());
                             SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
                             StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
                             Boolean boo = false;
                             Short wrkNo = 9991;
-                            if(task.getStaNo().equals("307")){
+                            if (task.getStaNo().equals("307")) {
                                 wrkNo = 9997;
                             }
 
@@ -172,7 +183,7 @@
                             if (task.getTaskType().equals("AGV琛ョ┖鏂欐灦") && staProtocol != null && !staProtocol.isLoading() && staProtocol.isEmptyOutType() && staProtocol.getWorkNo() == 0) {
                                 boo = true;
                                 wrkNo = 9998;
-                            } else if (!task.getTaskType().equals("AGV琛ョ┖鏂欐灦") && staProtocol != null && staProtocol.isLoading() && staProtocol.isEmptyOutType() && staProtocol.getWorkNo() == 0) {
+                            } else if (!task.getTaskType().equals("AGV琛ョ┖鏂欐灦") && staProtocol != null && staProtocol.isLoading() && staProtocol.isEmptyOutType()) {
                                 boo = true;
                             }
                             if (boo) {
@@ -207,23 +218,49 @@
                                 data.put("robotTaskCode", robotTaskCode);
                                 rcsReturn.setData(data);
                             }
-                        }else {
-                            // 鏇存柊浠诲姟鐘舵�佺瓑鍐呴儴閫昏緫
-                            task.setWrkSts(304L);   // 301 浠诲姟涓嬪彂銆�302 浠诲姟鎵ц銆�303 浠诲姟涓柇銆�304 浠诲姟缁撴潫
-                            task.setModiTime(new Date());
-                            agvTaskService.updateById(task);
-                            // 杩斿洖RCS
-                            rcsReturn.setCode("SUCCESS");
-                            rcsReturn.setMessage("");
-                            JSONObject data = new JSONObject();
-                            data.put("robotTaskCode", robotTaskCode);
-                            rcsReturn.setData(data);
+                        } else {
+                            TransParent transParent = new TransParent();
+                            transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
+                            transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
+                            transParent.setStationId(task.getStaNo());
+                            transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
+                            //08-1鏄┖鎵樼洏杞簭浠诲姟
+                            //08-2鏄墿鏂欒浆搴忎换鍔�
+                            if (task.getTaskType().equals("ZX-AGV-08-1")) {
+                                transParent.setTransType("08-1");
+                            } else if (task.getTaskType().equals("ZX-AGV-08-2")) {
+                                transParent.setTransType("08-2");
+                            } else if (task.getTaskType().equals("PP-AGV")) {
+                                transParent.setTransType("10");
+                            } else if (task.getTaskType().equals("ZP-AGV")) {
+                                transParent.setTransType("11");
+                            }
+                            //鏀捐揣绂诲紑绔欑偣
+                            int i = AGVDepartureCompleted(transParent);
+                            if (i == 1) {
+                                // 鏇存柊浠诲姟鐘舵�佺瓑鍐呴儴閫昏緫
+                                task.setWrkSts(304L);   // 301 浠诲姟涓嬪彂銆�302 浠诲姟鎵ц銆�303 浠诲姟涓柇銆�304 浠诲姟缁撴潫
+                                task.setModiTime(new Date());
+                                agvTaskService.updateById(task);
+                                rcsReturn.setCode("SUCCESS");
+                                rcsReturn.setMessage("");
+                                JSONObject data = new JSONObject();
+                                data.put("robotTaskCode", robotTaskCode);
+                                rcsReturn.setData(data);
+                            } else {
+                                // 杩斿洖RCS
+                                rcsReturn.setCode("Err_Internal");
+                                rcsReturn.setMessage("");
+                                JSONObject data = new JSONObject();
+                                data.put("robotTaskCode", robotTaskCode);
+                                rcsReturn.setData(data);
+                            }
                         }
                     }
                     break;
                     //rcs璇锋眰wms鍙栬揣鐢宠
                     case APPLY_PICK: {
-                        if(task.getSourceStaNo().equals("401")||task.getSourceStaNo().equals("402")||task.getSourceStaNo().equals("307")) {
+                        if (task.getSourceStaNo().equals("401") || task.getSourceStaNo().equals("402") || task.getSourceStaNo().equals("307")) {
                             Integer sourceStaNo = Integer.valueOf(task.getSourceStaNo());
                             SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
                             StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
@@ -239,7 +276,7 @@
                                 String response = sendPost(url, JSONObject.toJSONString(rcsTaskContinue));
                                 if (!StringUtils.isEmpty(response) && response.contains("code")) {
                                     RcsReturn rcsReturn1 = JSONObject.parseObject(response, RcsReturn.class);
-                                    if ("200".equals(rcsReturn1.getCode())) {
+                                    if ("SUCCESS".equals(rcsReturn1.getCode())) {
                                         // 杩斿洖RCS
                                         rcsReturn.setCode("SUCCESS");
                                         rcsReturn.setMessage("");
@@ -256,43 +293,25 @@
                                     }
                                 }
                             }
-                        }else {
+                        } else {
                             TransParent transParent = new TransParent();
-                            transParent.setTaskno(task.getTaskNo()+"-"+(task.getCtnType()-1));
-                            transParent.setTaskname(task.getTaskNo()+"-"+(task.getCtnType()-1));
+                            transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
+                            transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
                             transParent.setStationId(task.getStaNo());
                             transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
+                            //08-1鏄┖鎵樼洏杞簭浠诲姟
+                            //08-2鏄墿鏂欒浆搴忎换鍔�
+                            if (task.getTaskType().equals("ZX-AGV-08-1")) {
+                                transParent.setTransType("08-1");
+                            } else if (task.getTaskType().equals("ZX-AGV-08-2")) {
+                                transParent.setTransType("08-2");
+                            } else if (task.getTaskType().equals("PP-AGV")) {
+                                transParent.setTransType("10");
+                            } else if (task.getTaskType().equals("ZP-AGV")) {
+                                transParent.setTransType("11");
+                            }
                             int i = applyInStation(transParent);
                             if (i == 1) {
-                                rcsReturn.setCode("SUCCESS");
-                                rcsReturn.setMessage("");
-                                JSONObject data = new JSONObject();
-                                data.put("robotTaskCode", robotTaskCode);
-                                rcsReturn.setData(data);
-                            }else {
-                                // 杩斿洖RCS
-                                rcsReturn.setCode("Err_Internal");
-                                rcsReturn.setMessage("");
-                                JSONObject data = new JSONObject();
-                                data.put("robotTaskCode", robotTaskCode);
-                                rcsReturn.setData(data);
-                            }
-                        }
-                    }
-                    break;
-                    //rcs鍙栬揣瀹屾垚锛屽凡閫�鍑鸿緭閫佺嚎
-                    case PICK_COMPLETE: {
-                        Integer sourceStaNo = Integer.valueOf(task.getSourceStaNo());
-                        SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-                        StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
-                        //鏀捐揣瀹屾垚 --銆媋gv宸茬粡绂诲紑 --銆嬬粰PLC绔欑偣鍐�9991宸ヤ綔鍙�
-                        if (staProtocol != null && !staProtocol.isLoading() && !staProtocol.isEmptyOutType()) {
-                            staProtocol.setWorkNo((short) 0);
-                            staProtocol.setStaNo((short) 0);
-                            boolean result = MessageQueue.offer(SlaveType.Devp, 1, new com.zy.core.model.Task(2, staProtocol));
-                            log.info("AGV鍙栬揣瀹屾垚锛岀粰绔欑偣鍐�0宸ヤ綔鍙�,涓嬪彂浠诲姟:{},绔欑偣:{},agv浠诲姟鍙�:{}", result, task.getStaNo(), task.getTaskNo());
-                            if (result) {
-                                // 杩斿洖RCS
                                 rcsReturn.setCode("SUCCESS");
                                 rcsReturn.setMessage("");
                                 JSONObject data = new JSONObject();
@@ -306,14 +325,83 @@
                                 data.put("robotTaskCode", robotTaskCode);
                                 rcsReturn.setData(data);
                             }
+                        }
+                    }
+                    break;
+                    //rcs鍙栬揣瀹屾垚锛屽凡閫�鍑鸿緭閫佺嚎
+                    case PICK_COMPLETE: {
+                        if (task.getSourceStaNo().equals("401") || task.getSourceStaNo().equals("402") || task.getSourceStaNo().equals("307")) {
+                            Integer sourceStaNo = Integer.valueOf(task.getSourceStaNo());
+                            SiemensDevpThread siemensDevpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+                            StaProtocol staProtocol = siemensDevpThread.getStation().get(sourceStaNo).clone();
+                            //鏀捐揣瀹屾垚 --銆媋gv宸茬粡绂诲紑 --銆嬬粰PLC绔欑偣鍐�9991宸ヤ綔鍙�
+                            if (staProtocol != null && !staProtocol.isLoading() && !staProtocol.isEmptyOutType()) {
+                                staProtocol.setWorkNo((short) 0);
+                                staProtocol.setStaNo((short) 0);
+                                boolean result = MessageQueue.offer(SlaveType.Devp, 1, new com.zy.core.model.Task(2, staProtocol));
+                                log.info("AGV鍙栬揣瀹屾垚锛岀粰绔欑偣鍐�0宸ヤ綔鍙�,涓嬪彂浠诲姟:{},绔欑偣:{},agv浠诲姟鍙�:{}", result, task.getStaNo(), task.getTaskNo());
+                                if (result) {
+                                    // 杩斿洖RCS
+                                    rcsReturn.setCode("SUCCESS");
+                                    rcsReturn.setMessage("");
+                                    JSONObject data = new JSONObject();
+                                    data.put("robotTaskCode", robotTaskCode);
+                                    rcsReturn.setData(data);
+                                } else {
+                                    // 杩斿洖RCS
+                                    rcsReturn.setCode("Err_Internal");
+                                    rcsReturn.setMessage("");
+                                    JSONObject data = new JSONObject();
+                                    data.put("robotTaskCode", robotTaskCode);
+                                    rcsReturn.setData(data);
+                                }
 
+                            }
+                        } else {
+
+                            TransParent transParent = new TransParent();
+                            transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
+                            transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
+                            transParent.setStationId(task.getStaNo());
+                            transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
+                            //08-1鏄┖鎵樼洏杞簭浠诲姟
+                            //08-2鏄墿鏂欒浆搴忎换鍔�
+                            if (task.getTaskType().equals("ZX-AGV-08-1")) {
+                                transParent.setTransType("08-1");
+                            } else if (task.getTaskType().equals("ZX-AGV-08-2")) {
+                                transParent.setTransType("08-2");
+                            } else if (task.getTaskType().equals("PP-AGV")) {
+                                transParent.setTransType("10");
+                            } else if (task.getTaskType().equals("ZP-AGV")) {
+                                transParent.setTransType("11");
+                            }
+                            //鍙栬揣绂诲紑绔欑偣
+                            int i = AGVDepartureCompleted(transParent);
+                            if (i == 1) {
+                                // 鏇存柊浠诲姟鐘舵�佺瓑鍐呴儴閫昏緫
+                                task.setWrkSts(304L);   // 301 浠诲姟涓嬪彂銆�302 浠诲姟鎵ц銆�303 浠诲姟涓柇銆�304 浠诲姟缁撴潫
+                                task.setModiTime(new Date());
+                                agvTaskService.updateById(task);
+                                rcsReturn.setCode("SUCCESS");
+                                rcsReturn.setMessage("");
+                                JSONObject data = new JSONObject();
+                                data.put("robotTaskCode", robotTaskCode);
+                                rcsReturn.setData(data);
+                            } else {
+                                // 杩斿洖RCS
+                                rcsReturn.setCode("Err_Internal");
+                                rcsReturn.setMessage("");
+                                JSONObject data = new JSONObject();
+                                data.put("robotTaskCode", robotTaskCode);
+                                rcsReturn.setData(data);
+                            }
                         }
                     }
                     break;
                     //AGV鍙栬揣绂荤珯璇锋眰
-                    case APPLY_IN_OFF_STATION:{
+                    case APPLY_IN_OFF_STATION: {
                         //濡傛灉鏄珛搴撶珯鐐圭洿鎺ュ厑璁哥绔�
-                        if(task.getSourceStaNo().equals("401")||task.getSourceStaNo().equals("402")||task.getSourceStaNo().equals("307")) {
+                        if (task.getSourceStaNo().equals("401") || task.getSourceStaNo().equals("402") || task.getSourceStaNo().equals("307")) {
                             RcsTaskContinue rcsTaskContinue = new RcsTaskContinue();
                             rcsTaskContinue.setRobotTaskCode(task.getTaskNo() + "-" + (task.getCtnType() - 1));
                             rcsTaskContinue.setTriggerType("TASK");
@@ -323,7 +411,7 @@
                             String response = sendPost(url, JSONObject.toJSONString(rcsTaskContinue));
                             if (!StringUtils.isEmpty(response) && response.contains("code")) {
                                 RcsReturn rcsReturn1 = JSONObject.parseObject(response, RcsReturn.class);
-                                if ("200".equals(rcsReturn1.getCode())) {
+                                if ("SUCCESS".equals(rcsReturn1.getCode())) {
                                     // 杩斿洖RCS
                                     rcsReturn.setCode("SUCCESS");
                                     rcsReturn.setMessage("");
@@ -339,13 +427,24 @@
                                     rcsReturn.setData(data);
                                 }
                             }
-                        }else{
+                        } else {
                             //濡傛灉鏄伐浣嶉渶瑕佸儚mes璇锋眰绂荤珯
                             TransParent transParent = new TransParent();
-                            transParent.setTaskno(task.getTaskNo()+"-"+(task.getCtnType()-1));
-                            transParent.setTaskname(task.getTaskNo()+"-"+(task.getCtnType()-1));
+                            transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
+                            transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
                             transParent.setStationId(task.getStaNo());
                             transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
+                            //08-1鏄┖鎵樼洏杞簭浠诲姟
+                            //08-2鏄墿鏂欒浆搴忎换鍔�
+                            if (task.getTaskType().equals("ZX-AGV-08-1")) {
+                                transParent.setTransType("08-1");
+                            } else if (task.getTaskType().equals("ZX-AGV-08-2")) {
+                                transParent.setTransType("08-2");
+                            } else if (task.getTaskType().equals("PP-AGV")) {
+                                transParent.setTransType("10");
+                            } else if (task.getTaskType().equals("ZP-AGV")) {
+                                transParent.setTransType("11");
+                            }
                             int i = applyOutStation(transParent);
                             if (i == 1) {
                                 rcsReturn.setCode("SUCCESS");
@@ -353,7 +452,7 @@
                                 JSONObject data = new JSONObject();
                                 data.put("robotTaskCode", robotTaskCode);
                                 rcsReturn.setData(data);
-                            }else {
+                            } else {
                                 // 杩斿洖RCS
                                 rcsReturn.setCode("Err_Internal");
                                 rcsReturn.setMessage("");
@@ -362,12 +461,12 @@
                                 rcsReturn.setData(data);
                             }
                         }
-                            break;
+                        break;
                     }
                     //AGV鏀捐揣绂荤珯璇锋眰
-                    case APPLY_OFF_STATION:{
+                    case APPLY_OFF_STATION: {
                         //濡傛灉鏄珛搴撶珯鐐圭洿鎺ュ厑璁哥绔�
-                        if(task.getStaNo().equals("401")||task.getStaNo().equals("402")||task.getStaNo().equals("307")) {
+                        if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) {
                             RcsTaskContinue rcsTaskContinue = new RcsTaskContinue();
                             rcsTaskContinue.setRobotTaskCode(task.getTaskNo() + "-" + (task.getCtnType() - 1));
                             rcsTaskContinue.setTriggerType("TASK");
@@ -377,7 +476,7 @@
                             String response = sendPost(url, JSONObject.toJSONString(rcsTaskContinue));
                             if (!StringUtils.isEmpty(response) && response.contains("code")) {
                                 RcsReturn rcsReturn1 = JSONObject.parseObject(response, RcsReturn.class);
-                                if ("200".equals(rcsReturn1.getCode())) {
+                                if ("SUCCESS".equals(rcsReturn1.getCode())) {
                                     // 杩斿洖RCS
                                     rcsReturn.setCode("SUCCESS");
                                     rcsReturn.setMessage("");
@@ -393,13 +492,24 @@
                                     rcsReturn.setData(data);
                                 }
                             }
-                        }else{
+                        } else {
                             //濡傛灉鏄伐浣嶉渶瑕佸儚mes璇锋眰绂荤珯
                             TransParent transParent = new TransParent();
-                            transParent.setTaskno(task.getTaskNo()+"-"+(task.getCtnType()-1));
-                            transParent.setTaskname(task.getTaskNo()+"-"+(task.getCtnType()-1));
+                            transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
+                            transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
                             transParent.setStationId(task.getStaNo());
                             transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
+                            //08-1鏄┖鎵樼洏杞簭浠诲姟
+                            //08-2鏄墿鏂欒浆搴忎换鍔�
+                            if (task.getTaskType().equals("ZX-AGV-08-1")) {
+                                transParent.setTransType("08-1");
+                            } else if (task.getTaskType().equals("ZX-AGV-08-2")) {
+                                transParent.setTransType("08-2");
+                            } else if (task.getTaskType().equals("PP-AGV")) {
+                                transParent.setTransType("10");
+                            } else if (task.getTaskType().equals("ZP-AGV")) {
+                                transParent.setTransType("11");
+                            }
                             int i = applyOutStation(transParent);
                             if (i == 1) {
                                 rcsReturn.setCode("SUCCESS");
@@ -407,7 +517,7 @@
                                 JSONObject data = new JSONObject();
                                 data.put("robotTaskCode", robotTaskCode);
                                 rcsReturn.setData(data);
-                            }else {
+                            } else {
                                 // 杩斿洖RCS
                                 rcsReturn.setCode("Err_Internal");
                                 rcsReturn.setMessage("");
@@ -417,6 +527,50 @@
                             }
                         }
 
+                        break;
+                    }
+                    //鍒扮珯瀹屾垚
+                    case ARRIVE_ON_STATION: {
+                        if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) {
+                            // 杩斿洖RCS
+                            rcsReturn.setCode("SUCCESS");
+                            rcsReturn.setMessage("");
+                            JSONObject data = new JSONObject();
+                            data.put("robotTaskCode", robotTaskCode);
+                            rcsReturn.setData(data);
+                        } else {
+                            TransParent transParent = new TransParent();
+                            transParent.setTaskno(task.getTaskNo() + "-" + (task.getCtnType() - 1));
+                            transParent.setTaskname(task.getTaskNo() + "-" + (task.getCtnType() - 1));
+                            transParent.setStationId(task.getStaNo());
+                            transParent.setAgvCode("2");//杩炴帴鍣ㄥ簱
+                            //08-1鏄┖鎵樼洏杞簭浠诲姟
+                            //08-2鏄墿鏂欒浆搴忎换鍔�
+                            if (task.getTaskType().equals("ZX-AGV-08-1")) {
+                                transParent.setTransType("08-1");
+                            } else if (task.getTaskType().equals("ZX-AGV-08-2")) {
+                                transParent.setTransType("08-2");
+                            } else if (task.getTaskType().equals("PP-AGV")) {
+                                transParent.setTransType("10");
+                            } else if (task.getTaskType().equals("ZP-AGV")) {
+                                transParent.setTransType("11");
+                            }
+                            int i = AGVArrivalCompletedFit(transParent);
+                            if (i == 1) {
+                                rcsReturn.setCode("SUCCESS");
+                                rcsReturn.setMessage("");
+                                JSONObject data = new JSONObject();
+                                data.put("robotTaskCode", robotTaskCode);
+                                rcsReturn.setData(data);
+                            } else {
+                                // 杩斿洖RCS
+                                rcsReturn.setCode("Err_Internal");
+                                rcsReturn.setMessage("");
+                                JSONObject data = new JSONObject();
+                                data.put("robotTaskCode", robotTaskCode);
+                                rcsReturn.setData(data);
+                            }
+                        }
                         break;
                     }
 
@@ -463,8 +617,8 @@
             conn.setRequestProperty("X-lr-request-id", String.valueOf(new Date().getTime()));
             conn.setRequestProperty("X-lr-version", "4.3");
 
-            conn.setConnectTimeout(5000);
-            conn.setReadTimeout(5000);
+            conn.setConnectTimeout(10000);
+            conn.setReadTimeout(10000);
             conn.setDoOutput(true);
             conn.setDoInput(true);
             out = new PrintWriter(conn.getOutputStream());
@@ -538,4 +692,45 @@
 
         return 0;
     }
+
+    /**
+     * 绂荤珯瀹屾垚锛歸ms->mes
+     * AGV绂诲紑鎺ラ┏浣嶅悗鍙戦�佺寮�鐘舵�佺粰MES
+     *
+     * @param apply
+     * @return
+     */
+    public int AGVDepartureCompleted(TransParent apply) {
+
+        String url = MES_URL + "AGVDepartureCompleted";
+        String response = RcsServiceImpl.sendPost(url, JSONObject.toJSONString(apply));
+        if (!StringUtils.isEmpty(response) && response.contains("Success")) {
+            MesReturn mesReturn = JSONObject.parseObject(response, MesReturn.class);
+            if ("1".equals(mesReturn.getSuccess())) {
+                return 1;
+            }
+        }
+
+        return 0;
+    }
+
+    /**
+     * 鍒扮珯瀹屾垚锛欰GV鍒拌揪宸ヤ綅閲岄潰--銆媘es鍒颁綅瀹屾垚
+     *
+     * @param apply
+     * @return
+     */
+    public int AGVArrivalCompletedFit(TransParent apply) {
+
+        String url = MES_URL + "AGVArrivalCompletedFit";
+        String response = RcsServiceImpl.sendPost(url, JSONObject.toJSONString(apply));
+        if (!StringUtils.isEmpty(response) && response.contains("Success")) {
+            MesReturn mesReturn = JSONObject.parseObject(response, MesReturn.class);
+            if ("1".equals(mesReturn.getSuccess())) {
+                return 1;
+            }
+        }
+
+        return 0;
+    }
 }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 85e105c..438766f 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -50,16 +50,16 @@
 //                    mainService.generateStoreWrkFile0(2); // WMS鍏ュ簱
                     Thread.sleep(500);
                     // 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
-                    mainService.stnToCrnStnPick(3);
+                    //mainService.stnToCrnStnPick(3);
                     // 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱-鏉$爜
-//                    mainService.stnToCrnStnPickBarcode(33);
-                    // 鍑哄簱  ===>>  鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
+                    mainService.stnToCrnStnPickBarcode(33);
+                    // 鍑哄簱  ===>>  鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯0
                     mainService.crnStnToOutStn(4);
                     // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
                     mainService.crnIoExecute(5);
                     // 鍏ュ嚭搴撳寮� ===>> 鍫嗗灈鏈哄懡浠や笅鍙戝悗锛屽紓姝ヤ慨鏀瑰伐浣滄。鐘舵��
 //                    mainService.crnIoWrkMast();
-                    // 鍏ュ簱  ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
+                    // 鍏ュ嚭搴�  ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
                     mainService.storeFinished(6);
                     // 鍫嗗灈鏈哄紓甯镐俊鎭褰�
                     mainService.recCrnErr(7);
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 1c6ae47..3f28a03 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -257,7 +257,7 @@
 
         Thread.sleep(200);
         if(slave.getId()==1) {
-            OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.602.0", (short) (barcodeSize * 8));
+            OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.600.0", (short) (barcodeSize * 8));
             if (result2.IsSuccess) {
                 for (int i = 0; i < barcodeSize; i++) {
                     String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8");
@@ -355,7 +355,7 @@
         if(staProtocol.getSiteId() == 307){
             index = 0;
         }
-        OperateResult writeResult1 = siemensS7Net.Write("DB100.500" + index,  1);    // 鎵爜鍣ㄨЕ鍙�
+        OperateResult writeResult1 = siemensS7Net.Write("DB100.500" ,  true);    // 鎵爜鍣ㄨЕ鍙�
         if (!writeResult1.IsSuccess) {
 
             OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol)));
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 2950ece..dcb0e91 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -39,7 +39,7 @@
 #mes瀵规帴
 mes:
 
-  url: http://192.9.100.173:8088/prod-api/basicmodel/WmsFit/Api/
+  url: http://172.26.160.5:80/dev-api/basicmodel/WmsFit/Api/
   #榛樿鎺ュ彛鎿嶄綔浜哄憳id
   defaultUserId: 30
 
@@ -87,8 +87,8 @@
     crnInStn[1]:
       devpPlcId: ${wcs-slave.devp[0].id}
       staNo: 307
-      row: 1
-      bay: 16
+      row: 3
+      bay: 5
       lev: 1
     # 鍫嗗灈鏈哄叆搴撶珯鐐�
     crnInStn[2]:
@@ -108,8 +108,8 @@
     crnOutStn[1]:
       devpPlcId: ${wcs-slave.devp[0].id}
       staNo: 307
-      row: 1
-      bay: 16
+      row: 3
+      bay: 5
       lev: 1
     # 鍫嗗灈鏈哄嚭搴撶珯鐐�
     crnOutStn[2]:
diff --git a/src/main/resources/mapper/WaitPakinMapper.xml b/src/main/resources/mapper/WaitPakinMapper.xml
index cde4b5f..65e875b 100644
--- a/src/main/resources/mapper/WaitPakinMapper.xml
+++ b/src/main/resources/mapper/WaitPakinMapper.xml
@@ -28,7 +28,7 @@
     </resultMap>
 
     <select id="selectByBarcode" resultMap="BaseResultMap">
-        select * from cust_wait_pakin where zpallet = #{barcode}
+        select top 1 * from cust_wait_pakin where zpallet = #{barcode}
     </select>
 
 </mapper>
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 2744ade..4d6135b 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -105,7 +105,7 @@
     </select>
 
     <select id="selectPickStep" resultMap="BaseResultMap">
-        select top 1 * from asr_wrk_mast where barcode=#{barcode} and wrk_sts=20 and (io_type=103 or io_type=107 or io_type=104)
+        select top 1 * from asr_wrk_mast where barcode=#{barcode} and (wrk_sts=20 or wrk_sts = 14) and (io_type=103 or io_type=107 or io_type=104)
     </select>
 
     <select id="selectPakOutStep1" resultMap="BaseResultMap">
diff --git a/src/main/webapp/views/pipeline.html b/src/main/webapp/views/pipeline.html
index c182d24..ecaa217 100644
--- a/src/main/webapp/views/pipeline.html
+++ b/src/main/webapp/views/pipeline.html
@@ -116,6 +116,7 @@
                         <th>绌烘澘淇″彿</th>
                         <th>鐩爣绔�</th>
                         <th>楂樹綆搴撲綅</th>
+                        <th>鎺ф枡鏋�</th>
                     </tr>
                     </thead>
                     <!-- 琛ㄦ牸鍐呭 -->
@@ -310,6 +311,7 @@
                         setVal(tr.children("td").eq(7), table[i-1].emptyMk);
                         setVal(tr.children("td").eq(8), table[i-1].staNo);
                         setVal(tr.children("td").eq(9), table[i-1].locType1);
+                        setVal(tr.children("td").eq(10), table[i-1].inreq1);
                     }
                 } else if (res.code === 403){
                     window.location.href = baseUrl+"/login";
@@ -396,6 +398,7 @@
                 "       <td></td>\n" +
                 "       <td></td>\n" +
                 "       <td></td>\n" +
+                "       <td></td>\n" +
                 "     </tr>\n";
         }
         $('#site-table tbody').after(html);

--
Gitblit v1.9.1