From 5dff87c18f48e0a14440d1225924d35f8de7b00e Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 15 七月 2025 12:31:49 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/controller/AgvMobileController.java |   80 +++++++++++++++++++++++++++++++++++++--
 1 files changed, 75 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 8529651..480ee3d 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -157,11 +157,61 @@
         }
         log.info("鍚姩鍏ュ簱,{}", JSON.toJSONString(params));
         // 缁勬墭
+        if (params.getBarcode().startsWith("31")) {
+            //绠卞3鍏ュ簱锛岃揣鏋朵笂鍙兘瑁呬竴绉�
+            if (!Cools.isEmpty(params.getCombParams())) {
+                if (params.getCombParams().size() > 1) {
+                    return R.error("鍗婃垚鍝佺澹冲叆搴擄紝璐ф灦涓婂彧鑳借涓�绉嶇墿鏂�");
+                } else {
+                    List<CombParam.CombMat> combMats = params.getCombParams().get(0).getCombMats();
+                    if (!Cools.isEmpty(combMats) && combMats.size() > 1) {
+                        return R.error("鍗婃垚鍝佺澹冲叆搴擄紝璐ф灦涓婂彧鑳借涓�绉嶇墿鏂�");
+                    }
+                }
+
+            }
+        }
         params.getCombParams().forEach(combParam -> {
             agvMobileService.comb(combParam, getUserId());
         });
         params.setContainerType(Short.valueOf(params.getContainerCode().substring(0, 2)));
         workService.emptyPlateIn(params.getDevNo(), params.getContainerCode(), params.getContainerType(), getUserId(), false);
+
+        return R.ok("鐢熸垚宸ヤ綔妗f垚鍔�");
+    }
+
+    /*
+    鍚姩鍏ュ簱锛岀粍鎵� + 鐢熸垚宸ヤ綔妗�,涓昏鐢ㄤ簬鍚稿涓�妤肩殑鍏ュ簱
+    */
+    @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));
+        // 缁勬墭
+        if (params.getBarcode().startsWith("30")) {
+            //绠卞3鍏ュ簱锛岃揣鏋朵笂鍙兘瑁呬竴绉�
+            if (!Cools.isEmpty(params.getCombParams())) {
+                if (params.getCombParams().size() > 1) {
+                    return R.error("绠卞3鍏ュ簱锛岃揣鏋朵笂鍙兘瑁呬竴绉嶇墿鏂�");
+                } else {
+                    List<CombParam.CombMat> combMats = params.getCombParams().get(0).getCombMats();
+                    if (!Cools.isEmpty(combMats) && combMats.size() > 1) {
+                        return R.error("绠卞3鍏ュ簱锛岃揣鏋朵笂鍙兘瑁呬竴绉嶇墿鏂�");
+                    }
+                }
+
+            }
+        }
+        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垚鍔�");
     }
@@ -181,7 +231,7 @@
                 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();
@@ -379,9 +429,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>();
@@ -528,6 +588,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));
@@ -597,14 +658,14 @@
             String locNo = map.get("locNo");
             String barcode = map.get("suppCode");
             AgvWrkMast source_loc_no = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", locNo));
-            if (!Cools.isEmpty(source_loc_no)) {
+            if (!Cools.isEmpty(source_loc_no) && source_loc_no.getWrkSts() < 204) {
                 throw new CoolException("褰撳墠搴撲綅宸茬敓鎴愪换鍔★紒");
             }
             AgvLocMast locMastS = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo).eq("loc_sts", "F"));
             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));
@@ -695,7 +756,7 @@
             if (Cools.isEmpty(locMastS)) {
                 throw new CoolException("褰撳墠搴撲綅闈炲湪搴撶姸鎬侊紒搴撲綅鍙�=" + locNo);
             }
-            AgvWrkMast wrkMast = createWrkMast(114, 22L, locNo, "", barcode, now, getUserId(), 30, 1);
+            AgvWrkMast wrkMast = createWrkMast(114, 22L, locNo, "", barcode, now, getUserId(), Integer.parseInt(barcode.substring(0,2)), 1);
             // 鍚屾璋冩嫧鍗�
             List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
             for (AgvLocDetl agvLocDetl : agvLocDetls) {
@@ -811,6 +872,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