From 20de22b3ac32201d7f39169b1f80fffc456ee2c4 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期五, 12 十二月 2025 13:15:10 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |  103 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 65 insertions(+), 38 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 28662ed..8d4c6b0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1589,17 +1589,16 @@
         if (Objects.isNull(params.getBsCode())) {
             throw new CoolException("BS鐮佷笉鑳戒负绌猴紒锛�");
         }
-        Task task = taskService.selectOne(new EntityWrapper<Task>()
-                .eq("io_type", TaskIOType.PICK_OUT.type)
-                .eq("wrk_sts", 14)
-                .eq("barcode", params.getCarBarcode()));
-        if (Objects.isNull(task)) {
-            throw new CoolException("鏁版嵁閿欒锛氫换鍔′俊鎭瓨鍦紒锛�");
-        }
+//        Task task = taskService.selectOne(new EntityWrapper<Task>()
+//                .eq("io_type", TaskIOType.PICK_OUT.type)
+//                .eq("wrk_sts", 14)
+//                .eq("barcode", params.getCarBarcode()));
+//        if (Objects.isNull(task)) {
+//            throw new CoolException("鏁版嵁閿欒锛氫换鍔′俊鎭瓨鍦紒锛�");
+//        }
 
-        List<TaskDetl> taskDetl = taskDetlService.selectList(new EntityWrapper<TaskDetl>()
+        List<BasStationDetl> taskDetl = basStationDetlService.selectList(new EntityWrapper<BasStationDetl>()
                 .eq("three_code", params.getBsCode())
-                .eq("wrk_no", task.getWrkNo())
                 .eq("zpallet", params.getCarBarcode()));
 
         if (Objects.isNull(taskDetl) || taskDetl.isEmpty()) {
@@ -1688,9 +1687,22 @@
                 throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + ", 瓒呭嚭褰撳墠鎵樼洏瑁呰浇涓婇檺锛侊紒");
             }
 
+            BasStationDetl stationDetl = basStationDetlService.selectOne(new EntityWrapper<BasStationDetl>()
+                    .eq("zpallet", param.getCarBarcode())
+                    .eq("three_code", detlDto.getThreeCode()));
+            if (Objects.isNull(stationDetl)) {
+                throw new CoolException("鏄庣粏鍐呭涓嶅瓨鍦紒锛�");
+            }
+
+            Double v = stationDetl.getAnfme() - stationDetl.getWorkQty();
+            if (detlDto.getAnfme().compareTo(v) > 0) {
+                throw new CoolException("缁勬墭涓婇檺涓猴細" + stationDetl.getAnfme() + ", 宸茬粍鎵橈細" + stationDetl.getWorkQty() + ", 杩樺彲缁勬墭锛�" + v);
+            }
+
             WaitPakin waitPakin = new WaitPakin();
             BeanUtils.copyProperties(mat, waitPakin);
             waitPakin.setBatch(detlDto.getBatch());
+            waitPakin.setType(param.getType());
             waitPakin.setZpallet(param.getBarcode());
             // 璁剧疆缁勬墭绫诲瀷
             waitPakin.setType(param.getType());
@@ -1698,6 +1710,7 @@
             waitPakin.setAnfme(detlDto.getAnfme());
             waitPakin.setThreeCode(detlDto.getThreeCode());
             waitPakin.setStatus("Y");
+            waitPakin.setSuppCode(detlDto.getStandby1());
             waitPakin.setStandby1(detlDto.getStandby1());
             waitPakin.setStandby2(detlDto.getStandby2());
             waitPakin.setStandby3(detlDto.getStandby3());
@@ -1711,6 +1724,20 @@
             if (!waitPakinService.insert(waitPakin)) {
                 throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
             }
+
+            Double v1 = stationDetl.getWorkQty() + detlDto.getAnfme();
+            stationDetl.setWorkQty(v1);
+
+            if (!basStationDetlService.updateById(stationDetl)) {
+                throw new CoolException("绔欑偣鏄庣粏淇敼澶辫触");
+            }
+
+            if (v1.compareTo(stationDetl.getWorkQty()) >= 0) {
+                if (!basStationDetlService.deleteById(stationDetl)) {
+                    throw new CoolException("鍘熷鏁版嵁绉婚櫎澶辫触锛�");
+                }
+            }
+
         }
     }
 
@@ -1731,21 +1758,21 @@
         if (Objects.isNull(param.getStation())) {
             throw new CoolException("绔欑偣涓嶈兘涓虹┖!!");
         }
-        // TODO 淇敼缂撳瓨绔欑偣鐘舵�佸強鏁版嵁
-        Task task = taskService.selectOne(new EntityWrapper<Task>()
-                .eq("wrk_sts", 14L)
-                .eq("barcode", param.getCarBarcode()));
-        if (Objects.isNull(task)) {
-            throw new CoolException("鏁版嵁閿欒,浠诲姟涓嶅瓨鍦�!!");
-        }
-        List<TaskDetl> taskDetls = taskDetlService
-                .selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()));
-        if (Objects.isNull(taskDetls) || taskDetls.isEmpty()) {
-            throw new CoolException("鏁版嵁閿欒,浠诲姟鏄庣粏涓嶅瓨鍦�!!");
-        }
+//        // TODO 淇敼缂撳瓨绔欑偣鐘舵�佸強鏁版嵁
+//        Task task = taskService.selectOne(new EntityWrapper<Task>()
+//                .eq("wrk_sts", 14L)
+//                .eq("barcode", param.getCarBarcode()));
+//        if (Objects.isNull(task)) {
+//            throw new CoolException("鏁版嵁閿欒,浠诲姟涓嶅瓨鍦�!!");
+//        }
+//        List<TaskDetl> taskDetls = taskDetlService
+//                .selectList(new EntityWrapper<TaskDetl>().eq("wrk_no", task.getWrkNo()));
+//        if (Objects.isNull(taskDetls) || taskDetls.isEmpty()) {
+//            throw new CoolException("鏁版嵁閿欒,浠诲姟鏄庣粏涓嶅瓨鍦�!!");
+//        }
 
         BasStation station = basStationService.selectOne(new EntityWrapper<BasStation>()
-                .eq("dev_no", task.getStaNo()));
+                .eq("dev_no", param.getStation()));
         if (Objects.isNull(station)) {
             throw new CoolException("绔欑偣涓嶅瓨鍦�!!");
         }
@@ -1756,12 +1783,12 @@
         }
         basStationDetlService.delete(new EntityWrapper<BasStationDetl>().eq("dev_no", station.getDevNo()));
 
-        // 浠诲姟瀹屾垚
-        task.setWrkSts(15L);
-
-        if (!taskService.updateById(task)) {
-            throw new CoolException("AGV浠诲姟瀹屾垚澶辫触!!");
-        }
+//        // 浠诲姟瀹屾垚
+//        task.setWrkSts(15L);
+//
+//        if (!taskService.updateById(task)) {
+//            throw new CoolException("AGV浠诲姟瀹屾垚澶辫触!!");
+//        }
 
         List<WaitPakin> waitPakins = waitPakinService
                 .selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
@@ -1954,16 +1981,16 @@
                 throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
             }
         });
-        // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y
-        Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
-                .eq("zpallet", pakin.getZpallet());
-        WaitPakin setParam = new WaitPakin();
-        setParam.setLocNo(dto.getLocNo());
-        setParam.setIoStatus("Y");
-        setParam.setModiTime(now);
-        if (!waitPakinService.update(setParam, wrapper)) {
-            throw new CoolException("鏇存柊閫氱煡妗eけ璐�");
-        }
+//        // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y
+//        Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
+//                .eq("zpallet", pakin.getZpallet());
+//        WaitPakin setParam = new WaitPakin();
+//        setParam.setLocNo(dto.getLocNo());
+//        setParam.setIoStatus("Y");
+//        setParam.setModiTime(now);
+//        if (!waitPakinService.update(setParam, wrapper)) {
+//            throw new CoolException("鏇存柊閫氱煡妗eけ璐�");
+//        }
         // 鏇存柊婧愮珯鐐逛俊鎭�
         sourceStaNo.setWrkNo(workNo);
         sourceStaNo.setModiTime(now);

--
Gitblit v1.9.1