From bdfe4b740175f29858c870d710ec6ff5d4dc6ef0 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期四, 17 四月 2025 21:18:16 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/controller/AgvMobileController.java |   68 ++++++++++++++++++++++++++++++++--
 1 files changed, 64 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 76361f2..4d03ca6 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>();
@@ -598,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));

--
Gitblit v1.9.1