From 757f103f37d83dfb55bb49b3df0b805cb520d4f7 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期六, 11 十月 2025 15:28:26 +0800
Subject: [PATCH] 第三版

---
 src/main/java/com/zy/asrs/controller/MobileController.java |   97 ++++++++++++++++++++++++++----------------------
 1 files changed, 52 insertions(+), 45 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index bab271d..c13b547 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -168,22 +168,25 @@
 
     /**
      * 鍑哄簱纭 - 鎵墭鐩樼爜
-     * 1.鍏ㄦ澘 杩斿洖 101
-     * 2.鎷f枡 杩斿洖 103
+     * 31.鍏ㄦ澘鍑哄簱绛夊緟涓嬫灦 -->32.绛夊緟AGV鎼繍绌烘澘鍥炲簱
      */
     @RequestMapping("/pakout/confirm/barcode/auth")
     @ManagerAuth
-    public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode){
-        if (Cools.isEmpty(barcode)) {
-            return R.ok();
+    public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode,
+                                  @RequestParam(required = false) String staNo){
+        if (Cools.isEmpty(barcode)||Cools.isEmpty(staNo)) {
+            return R.error("鎵樼洏鐮佹垨鑰匒GV绔欑偣涓嶈兘涓虹┖");
         }
-        WrkMast wrkMast = wrkMastService.selectByBarcode(barcode);
-        if (wrkMast != null) {
-            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-            // 鍘婚櫎宸插嚭搴撶‘璁ょ殑鏄庣粏
-            wrkDetls.removeIf(wrkDetl -> wrkDetl.getInspect() != null && wrkDetl.getInspect() != 0);
-            return R.ok().add(Cools.add("wrkNo", wrkMast.getWrkNo()).add("ioType", wrkMast.getIoType()).add("list", wrkDetls));
+        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode).eq("io_type", 101));
+        if (Cools.isEmpty(wrkMast)) {
+            return R.error("娌℃湁鎵惧埌璇ユ墭鐩�="+barcode+"瀵瑰簲鐨勫嚭搴撲换鍔�");
         }
+        wrkMast.setWrkSts(32L);//32.绛夊緟AGV鎼繍绌烘澘鍥炲簱
+        wrkMast.setMemo(staNo);//AGV鍙栫┖鎵樼洏绔欑偣
+        wrkMast.setOveMk("Y");
+        wrkMast.setModiTime(new Date());
+        wrkMastService.updateById(wrkMast);
+
         return R.ok();
     }
 
@@ -464,51 +467,54 @@
      */
     @RequestMapping("/AGVMove")
     public R AGVMove(@RequestParam(required = false) String sourceStaNo
-            ,@RequestParam(required = false) String staNo){
-        RCSParam rcsParam = new RCSParam();
-        LocalDateTime now = LocalDateTime.now();
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃� HH:mm:ss");
-        String formattedDate = now.format(formatter); // 鏍煎紡鍖栨棩鏈熸椂闂�
-        //缃戠粶娴佹按鍙�
-        rcsParam.setReqId(now.toString());
-        //搴旂敤鏍囪瘑
-        rcsParam.setClientId("WMS");
-        //閫氱煡鏃堕棿
-        rcsParam.setReqTime(formattedDate);
-        RCSParam.DataBody dataBody=new RCSParam.DataBody();
-        //浠诲姟鍙�
-        dataBody.setId(formattedDate);
+            ,@RequestParam(required = false) String staNo
+            ,Integer priority){
+        String noww="aa" + new Date().getTime();
 
-        List<RCSParam.TaskBody> taskBodyList=new ArrayList<>();
-        RCSParam.TaskBody taskBody=new RCSParam.TaskBody();
-        //鍙栬揣绫诲瀷
-        taskBody.setType("load");
-        taskBody.setStation(sourceStaNo);
-        taskBodyList.add(taskBody);
+        LinkedHashMap<String,Object> rcsParam=new LinkedHashMap<>();
+        rcsParam.put("task_id",noww);
+        rcsParam.put("start_location",sourceStaNo);
+        rcsParam.put("start_command",1);
+        rcsParam.put("target_location",staNo);
+        rcsParam.put("target_command",2);
+        rcsParam.put("priority",1);//浼樺厛绾ц秺灏忓厛鎵ц
+        rcsParam.put("robot_type",1);//杞� 杈� 绫� 鍨� 0:XC 1:XCD 2:XP_T 3:XP_L
+        rcsParam.put("MoverID","XCD");
+        String wait_location = "";
+        if(staNo.equals("5001") || staNo.equals("5002") ){
+            wait_location = "4";
+        }else if(staNo.equals("6001") ){
+            wait_location = "122";
+        }else if(staNo.equals("6002") ){
+            wait_location = "120";
+        }else if(staNo.equals("7001") ){
+            wait_location = "120";
+        }else if(staNo.equals("7002") ){
+            wait_location = "120";
+        }
+        rcsParam.put("wait_location",wait_location);//浠诲姟瀹屾垚浼戞伅绔欑偣鍚嶇О
 
-        RCSParam.TaskBody taskBody1=new RCSParam.TaskBody();
-        //鏀捐揣绫诲瀷
-        taskBody1.setType("unload");
-        taskBody1.setStation(staNo);
-        taskBodyList.add(taskBody1);
-
-        dataBody.setTasks(taskBodyList);
-        rcsParam.setData(dataBody);
+        LinkedHashMap<String,Object> map=new LinkedHashMap<>();
+        map.put("data",rcsParam);
         String response ="";
         Boolean bool =false;
-
+        String msg = "";
         try {
             log.info("wms娲惧彂鎼繍浠诲姟缁橝GV鎼繍={}", rcsParam);
             response = new HttpHandler.Builder()
                     // .setHeaders(headParam)
                     .setUri(url)
                     .setPath(attrcs)
-                    .setJson(JSON.toJSONString(rcsParam))
+                    .setJson(JSON.toJSONString(map))
                     .build()
                     .doPost();
             JSONObject jsonObject = JSON.parseObject(response);
-            if(jsonObject.getBoolean("IsSuccess")){
+            JSONObject data = jsonObject.getJSONObject("data");
+            JSONObject errInfo = jsonObject.getJSONObject("err_info");
+            if(data.getInteger("result")==0){
                 bool = true;
+            }else{
+                msg=errInfo.getString("err_msg");
             }
         } catch (Exception e) {
             log.error("wms娲惧彂鎼繍浠诲姟缁橝GV鎼繍澶辫触杩斿洖鍊�={}", response);
@@ -517,15 +523,16 @@
                     , url + attrcs
                     , null
                     , "127.0.0.1"
-                    , JSON.toJSONString(rcsParam)
+                    , JSON.toJSONString(map)
                     , response
                     , bool
             );
         }
+
         if(bool){
-            return R.ok();
+            return R.ok(noww);
         }else {
-            return R.error("涓嬪彂浠诲姟澶辫触");
+            return R.error(msg);
         }
 
     }

--
Gitblit v1.9.1