From 1286f6fd5625d3d058d1dcff11b8fda303d6c455 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 11 三月 2025 10:28:43 +0800
Subject: [PATCH] 四期

---
 src/main/java/com/zy/asrs/controller/AgvMobileController.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 51 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 43ea61c..7676b34 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -77,7 +77,7 @@
     @RequestMapping("/pick/again/auth")
     @ManagerAuth(memo = "鍐嶆鎷f枡")
     public R pickAgain(@RequestBody PickParam pickParams) {
-        if (pickParams == null || Cools.isEmpty(pickParams.getLocNo()) || Cools.isEmpty(pickParams.getLocNo())) {
+        if (pickParams == null) {
             return R.error("缂哄皯鍙傛暟");
         }
         agvMobileService.pickAgain(pickParams, 1l);
@@ -167,6 +167,28 @@
     }
 
     /*
+    鍚姩鍏ュ簱锛岀粍鎵� + 鐢熸垚宸ヤ綔妗�,涓昏鐢ㄤ簬鍚稿涓�妤肩殑鍏ュ簱
+    */
+    @PostMapping("/start/pakin/auth/v2")
+    @Synchronized
+    @Transactional
+    @ManagerAuth(memo = "鍚姩鍏ュ簱v2")
+    public R startPakinV2(@RequestBody AgvMobileStartPakin params) {
+        if (params == null) {
+            return R.error("缂哄皯鍙傛暟");
+        }
+        log.info("鍚姩鍏ュ簱v2,{}", JSON.toJSONString(params));
+        // 缁勬墭
+        params.getCombParams().forEach(combParam -> {
+            agvMobileService.comb(combParam, getUserId());
+        });
+        params.setContainerType(Short.valueOf(params.getContainerCode().substring(0, 2)));
+        workService.emptyPlateInV2(params.getDevNo(), params.getContainerCode(), params.getContainerType(), getUserId(), false, params.getFactory());
+
+        return R.ok("鐢熸垚宸ヤ綔妗f垚鍔�");
+    }
+
+    /*
     鍏ュ簱
      */
     @PostMapping("/pakin/empty/auth")
@@ -177,8 +199,11 @@
             return R.error("缂哄皯鍙傛暟");
         }
         for (AgvMobileStartParam.Pda pda : params.getPad()) {
+            if (pda == null || Cools.isEmpty(pda.getContainerCode())) {
+                return R.error("缂哄皯瀹瑰櫒鍙傛暟");
+            }
             pda.setContainerType(Short.valueOf(pda.getContainerCode().substring(0, 2)));
-            workService.emptyPlateIn(pda.getDevNo(), pda.getContainerCode(), pda.getContainerType(), getUserId(), false);
+            workService.emptyPlateInV3(pda.getDevNo(), pda.getContainerCode(), pda.getContainerType(), getUserId(), false);
         }
 
         return R.ok();
@@ -376,9 +401,19 @@
 
         if (!Cools.isEmpty(locNo)) {
             listByLocNo = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
+            if (listByLocNo != null) {
+                for (AgvLocDetl agvLocDetl : listByLocNo) {
+                    agvLocDetl.setCount(agvLocDetl.getAnfme());
+                }
+            }
         }
-        if (!Cools.isEmpty(locNo)) {
+        if (!Cools.isEmpty(containerCode)) {
             listByContainerCode = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("supp_code", containerCode));
+            if (listByContainerCode != null) {
+                for (AgvLocDetl agvLocDetl : listByContainerCode) {
+                    agvLocDetl.setCount(agvLocDetl.getAnfme());
+                }
+            }
         }
 
         Map<String, Object> result = new HashMap<String, Object>();
@@ -416,7 +451,7 @@
 
         AgvLocMast agvLocMastByContainerCode = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("barcode", containerCode));
         AgvLocMast agvLocMastByLocNo = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
-        if (agvLocMastByLocNo==null){
+        if (agvLocMastByLocNo == null) {
             return R.error("搴撲綅涓嶅瓨鍦�");
         }
         String barcode1 = agvLocMastByLocNo.getBarcode();
@@ -525,6 +560,7 @@
     @Transactional
     @ManagerAuth(memo = "璋冩嫧鍗曚换鍔′笅鍙�")
     @Synchronized
+    @Deprecated //涓嶇敤浜�
     public R agvLocMove(@RequestBody HashMap<String, Object> params) {
         String fl = String.valueOf(params.get("floor"));
         short floor = (short) Integer.parseInt(fl.substring(0, 1));
@@ -553,7 +589,7 @@
                 // 鏇存柊璁㈠崟
                 OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()));
                 if (orderDetl == null) {
-                    throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+                    throw new CoolException("璋冩嫧鍗曟槑缁嗕笉瀛樺湪");
                 }
                 orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme());
                 if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()))) {
@@ -601,7 +637,7 @@
             if (Cools.isEmpty(locMastS)) {
                 throw new CoolException("褰撳墠搴撲綅闈炲湪搴撶姸鎬侊紒搴撲綅鍙�=" + locNo);
             }
-            AgvWrkMast wrkMast = createWrkMast(ioType, 22L, locNo, "", barcode, now, getUserId(), 30, floor);
+            AgvWrkMast wrkMast = createWrkMast(ioType, 22L, locNo, "", barcode, now, getUserId(), Integer.parseInt(barcode.substring(0, 2)), floor);
             // 鍚屾璋冩嫧鍗�
             long flowId = snowflakeIdWorker.nextId();
             List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
@@ -808,6 +844,15 @@
         return R.ok();
     }
 
+    @PostMapping("/hand/control/processed/v2")
+    @Transactional
+    @ManagerAuth(memo = "纭鍔犲伐瀹屾垚V2")
+    @Synchronized
+    public R processedV2(@RequestBody AgvMobileStartPakin param) {
+        agvMobileService.processedV2(param, getUserId());
+        return R.ok();
+    }
+
 
     public static void main(String[] args) {
         List<AgvLocDetl> agvLocDetls1 = new ArrayList<>();

--
Gitblit v1.9.1