From 8fe628e31d57f10f83b0c7b73aa4506e8d888c48 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期二, 25 十一月 2025 12:07:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/jshdasrs' into jshdasrs

---
 src/main/java/com/zy/asrs/controller/OpenController.java |   90 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 83 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 5d4837d..7253df4 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -5,6 +5,7 @@
 import com.core.common.*;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.param.*;
+import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.OpenService;
 import com.zy.common.model.DetlDto;
 import com.zy.common.web.BaseController;
@@ -243,9 +244,12 @@
         if (Cools.isEmpty(param.getUpc())) {
             return R.error("UPC[upc]涓嶈兘涓虹┖");
         }
-        if (Cools.isEmpty(param.getSupplier())) {
-            return R.error("璐ф簮[supplier]涓嶈兘涓虹┖");
+        if (Cools.isEmpty(param.getItem())) {
+            return R.error("UPC[item]涓嶈兘涓虹┖");
         }
+//        if (Cools.isEmpty(param.getSupplier())) {
+//            return R.error("璐ф簮[supplier]涓嶈兘涓虹┖");
+//        }
         if (Cools.isEmpty(param.getStaNo())) {
             return R.error("鍒嗘嫞鐐逛綅[staNo]涓嶈兘涓虹┖");
         }
@@ -406,22 +410,36 @@
 
 
     /**
-     * 鍒嗘嫞绾夸笂鎶ユ帴鏀�
+     * AGV涓婃姤鎺ユ敹
      */
     @PostMapping("/agv/task/v1/agvCallback")
-    @AppAuth(memo = "AGV涓婃姤鎺ユ敹")
+//    @AppAuth(memo = "AGV涓婃姤鎺ユ敹")
     public synchronized R TaskAgvReport(@RequestHeader(required = false) String appkey,
                                         @RequestBody TaskAgvReportParam param,
                                         HttpServletRequest request) {
-        auth(appkey, param, request);
+//        auth(appkey, param, request);
+        // 鏃ュ織璁板綍
+        ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class);
+        apiLogService.save(
+                "AGV涓婃姤鎺ユ敹",
+                "/open/asrs/agv/task/v1/agvCallback",
+                null,
+                request.getRemoteAddr(),
+                JSON.toJSONString(param),
+                null,
+                true
+        );
         if (Cools.isEmpty(param)) {
             return R.parse(BaseRes.PARAM);
         }
         if (Cools.isEmpty(param.getReqCode())) {
             return R.error("WMS浠诲姟鍙穂reqCode]涓嶈兘涓虹┖");
         }
-        String reqCode = param.getReqCode();
-        String[] split = reqCode.split("-");
+        if (Cools.isEmpty(param.getTaskCode())) {
+            return R.error("WMS浠诲姟鍙穂reqCode]涓嶈兘涓虹┖");
+        }
+        String taskCode = param.getTaskCode();
+        String[] split = taskCode.split("-");
         param.setTaskNo(Integer.parseInt(split[0]));
 //        if (Cools.isEmpty(param.getTimestamp())) {
 //            return R.error("RGV浠诲姟鍙穂timestamp]涓嶈兘涓虹┖");
@@ -433,4 +451,62 @@
         return R.error("浠诲姟鍙蜂笉瀛樺湪");
     }
 
+    /**
+     * PDA鍒涘缓AGV浠诲姟
+     */
+    @PostMapping("/agv/task/v1/createTask")
+    @AppAuth(memo = "PDA鍒涘缓AGV浠诲姟")
+    public synchronized R TaskAgvCreate(@RequestHeader(required = false) String appkey,
+                                        @RequestBody TaskAgvCreateParam param,
+                                        HttpServletRequest request) {
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        boolean taskAgvCreate = openService.taskAgvCreate(param);
+        if (taskAgvCreate){
+            return R.ok();
+        }
+        return R.error("浠诲姟鍙蜂笉瀛樺湪");
+    }
+
+    /**
+     * PDA鑾峰彇AGV搴撲綅
+     */
+    @PostMapping("/agv/loc/v1/getLocList")
+    @AppAuth(memo = "PDA妫�绱GV搴撲綅")
+    public synchronized R GetAgvLocList(@RequestHeader(required = false) String appkey,
+                                        @RequestBody AgvLocListParam param,
+                                        HttpServletRequest request) {
+        auth(appkey, param, request);
+
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        List<AgvLocListDetlParam> list = openService.getAgvLocList(param);
+        if (!list.isEmpty()) {
+            return R.ok(list);
+        }
+        return R.error("搴撲綅涓嶅瓨鍦ㄦ垨鏃犳槑缁�");
+    }
+
+    /**
+     * PDA缁戝畾瑙g粦
+     */
+    @PostMapping("/agv/bindCtnrAndBin/v1")
+    @AppAuth(memo = "PDA缁戝畾涓庤В缁�")
+    public synchronized R bindCtnrAndBin(@RequestHeader(required = false) String appkey,
+                                        @RequestBody bindCtnrAndBinParam param,
+                                        HttpServletRequest request) {
+        auth(appkey, param, request);
+        if (Cools.isEmpty(param)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        boolean bindCtnrAndBin = openService.bindCtnrAndBin(param);
+        if (bindCtnrAndBin) {
+            return R.ok();
+        }
+        return R.error("搴撲綅涓嶅瓨鍦ㄦ垨鏃犳槑缁�");
+    }
+
 }

--
Gitblit v1.9.1