From 4aebedd582c7b1beb23df39829c341b40343e2ce Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期日, 21 十二月 2025 16:16:16 +0800
Subject: [PATCH] pda相关功能开发完善

---
 src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 41 insertions(+), 14 deletions(-)

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 d743466..148e36d 100644
--- a/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/RcsServiceImpl.java
@@ -13,6 +13,7 @@
 import com.zy.asrs.mapper.BlockStationMapper;
 import com.zy.asrs.mapper.BlockTaskMapper;
 import com.zy.asrs.service.*;
+import com.zy.common.utils.HttpHandler;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -43,6 +44,10 @@
     private String HX_URL;
     @Value("${mes.defaultUserId}")
     public long defaultUserId;
+
+    // wcs鍦板潃
+    @Value("${wcs.url}")
+    private String WCS_URL;
 
 
     @Resource
@@ -222,17 +227,17 @@
         String url = rcsFactory == 2 ? HX_URL : HIK_URL + "api/robot/controller/task/submit";
         String response = "";
         try {
+            // 妯℃嫙杩斿洖
+//            rcsReturn.setCode("SUCCESS");
+//            success = true;
+//            log.info("鍛煎彨agv鎼繍鎴愬姛锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", url, JSON.toJSONString(rcsTaskSubmit), response);
+
+
             response = sendPost(url, JSONObject.toJSONString(rcsTaskSubmit));
             if (!StringUtils.isEmpty(response) && response.contains("code")) {
                 rcsReturn = JSONObject.parseObject(response, RcsReturn.class);
                 if ("SUCCESS".equals(rcsReturn.getCode())) {
-            // 妯℃嫙杩斿洖
-//            rcsReturn.setCode("SUCCESS");
-//            JSONObject jsonObject = new JSONObject();
-//            jsonObject.put("robotTaskCode",4);
-//            rcsReturn.setData(jsonObject);
                     success = true;
-
                     log.info("鍛煎彨agv鎼繍鎴愬姛锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", url, JSON.toJSONString(rcsTaskSubmit), response);
                 } else {
                     log.error("鍛煎彨agv鎼繍澶辫触锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", url, JSON.toJSONString(rcsTaskSubmit), response);
@@ -294,7 +299,7 @@
     public int cancelTask(RcsTaskCancel rcsTaskCancel, int rcsFactory){
 
         String url = rcsFactory == 2 ? HX_URL :HIK_URL + "api/robot/controller/task/cancel";
-        String response = sendPost(url, rcsTaskCancel.toString());
+        String response = sendPost(url, JSONObject.toJSONString(rcsTaskCancel));
         if (!StringUtils.isEmpty(response) && response.contains("code")){
             RcsReturn rcsReturn = JSONObject.parseObject(response, RcsReturn.class);
             if("SUCCESS".equals(rcsReturn.getCode())) {
@@ -319,7 +324,7 @@
     private int notifyEqpt(RcsEqptNotify rcsEqptNotify, int rcsFactory){
 
         String url = rcsFactory == 2 ? HX_URL :HIK_URL + "api/wcs/robot/eqpt/notify";
-        String response = sendPost(url, rcsEqptNotify.toString());
+        String response = sendPost(url, JSONObject.toJSONString(rcsEqptNotify));
         if (!StringUtils.isEmpty(response) && response.contains("code")){
             RcsReturn rcsReturn = JSONObject.parseObject(response, RcsReturn.class);
             if("SUCCESS".equals(rcsReturn.getCode())) {
@@ -389,7 +394,34 @@
                         task.setModiUser(defaultUserId);
                         taskService.updateById(task);
                         // 浠诲姟瀹屾垚
-//                        mesService.reporterTask(rcsReporterTask);
+                        mesService.reporterTask(rcsReporterTask);
+
+                        // 鍏ョ珛搴撴椂锛屽尯鍒嗘槸绌烘墭杩樻槸婊℃墭锛岀粰杈撻�佺嚎涓嬪彂鍛戒护9990 绌猴紝9995婊�
+                        String transType = memo.getString("TransType");
+                        if("02".equals(transType) || "04".equals(transType)) {
+                            int wrkNo = 9995;
+                            if("02".equals(transType)) {
+                                TaskDetl taskDetl = taskDetlService.selectOne(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()));
+                                if (taskDetl != null) {
+                                    if("tuopan".equals(taskDetl.getMatnr())){
+                                        wrkNo = 9990;
+                                    }
+                                }
+                            }
+                            int staNo = Integer.parseInt(task.getStaNo());
+                            Map<String,Object> params = new HashMap<>();
+                            params.put("siteId",staNo);
+                            params.put("workNo",wrkNo);
+                            params.put("staNo", staNo == 205 ? 205 : (staNo-1) );
+                            params.put("String","Y");
+                            String response = new HttpHandler.Builder()
+                                    .setUri(WCS_URL)
+                                    .setPath("/site/detl/update")
+                                    .setParams(params)
+                                    .build()
+                                    .doPost();
+                            log.info("agv鍙嶉end缁檞cs鍙戝懡浠�:{},杩斿洖锛歿}",JSONObject.toJSONString(params),response);
+                        }
 
 //                    EntityWrapper<TaskDetl> wapper2 = new EntityWrapper<>();
 //                    wapper2.eq("wrk_no", task.getWrkNo())
@@ -436,11 +468,6 @@
                         }
                     } break;
                     case ARRIVE_ON_STATION: {
-                        // TODO: 濡傛灉浜х嚎鏄繍杈撹捣鐐癸紝鍒欎笉鍙戦�佸埌绔欏畬鎴愶紝鏆傛椂璋冭瘯浣跨敤lG锛屾湭瀹炵幇鍒ゆ柇
-//                        if (rcsReporterTask.getCurrentSeq() == 0 && task.getSourceStaNo().startsWith("LG") || task.getSourceStaNo().startsWith("LL")) {
-//                            break;
-//                        }
-
                         EntityWrapper<TaskDetl> wapper2 = new EntityWrapper<>();
                         wapper2.eq("wrk_no", task.getWrkNo())
                                 .eq("matnr", memo.getString("Itemno"))

--
Gitblit v1.9.1