From b24f3d3ed7b43206e9e7fde3cbc9b0bbe7fa8f44 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 09 十一月 2024 16:11:02 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   82 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 75 insertions(+), 7 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 37b44bc..159a988 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -83,13 +83,14 @@
         }
 
         // 鍏堢粦瀹�
-        boolean flag = bindPodAndBerth(sta);
-        if (!flag) {
-            return R.parse(inSta + "缁戝畾澶辫触");
-        }
+//        boolean flag = bindPodAndBerth(sta);
+//        if (!flag) {
+//            return R.parse(inSta + "缁戝畾澶辫触");
+//        }
 
         ForwardAGVTaskParam forwardAGVTaskParam = new ForwardAGVTaskParam();
         forwardAGVTaskParam.setReqCode(UUID.randomUUID().toString().replace("-", ""));
+        forwardAGVTaskParam.setClientCode("IWMS");
         forwardAGVTaskParam.setTaskTyp("GT3");
         forwardAGVTaskParam.setCtnrTyp("2");
         forwardAGVTaskParam.setPriority("1");
@@ -256,9 +257,6 @@
         if(param.getBarcode().length()!=9){
             throw new CoolException("鏉$爜闀垮害涓嶆槸9浣�===>>" + param.getBarcode());
         }
-        if (param.getCombMats().size()>1){
-            throw new CoolException("涓嶅厑璁告贩鏂�===>>" + param.getBarcode());
-        }
 
         int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
         int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
@@ -370,6 +368,76 @@
 
     }
 
+    @Override
+    @Transactional
+    public void mergeComb(CombParam param, Long userId) {
+
+        if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
+            throw new CoolException(BaseRes.PARAM);
+        }
+        if(param.getCombMats().stream().anyMatch(obj -> obj.getAnfme() == null)){
+            throw new CoolException("鍏ュ簱鐗╂枡鏁伴噺涓嶈兘涓虹┖");
+        }
+        Order order = orderService.selectByNo(param.getOrderNo());
+        if (Cools.isEmpty(order) || order.getSettle() > 2) {
+            throw new CoolException("鍗曟嵁缂栧彿宸茶繃鏈�");
+        }
+
+        // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
+        if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
+                eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
+            throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
+        }
+
+        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
+        WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
+        if (wrkMast.getWrkSts() != 14 && wrkMast.getIoType() != 104){
+            throw new CoolException(param.getBarcode() + "璇ユ潯鐮佹暟鎹笉涓哄苟鏉垮嚭搴�");
+        }
+
+        //璁剧疆闈瀗ull鎵瑰彿锛�
+        for (CombParam.CombMat combMat : param.getCombMats()) {
+            if (combMat.getBatch() == null){
+                combMat.setBatch("");
+            }
+        }
+
+        Date now = new Date();
+        for (CombParam.CombMat combMat : param.getCombMats()) {
+            // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
+            OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch());
+            if (Cools.isEmpty(orderDetl)) {
+                throw new CoolException("璇ュ崟鎹腑鏈壘鍒板搴旂墿鏂欐槑缁�");
+            }
+            if (combMat.getAnfme() > orderDetl.getEnableQty()) {
+                throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
+            }
+            // 淇敼璁㈠崟浣滀笟鏁伴噺
+            if (!orderDetlService.increaseWorkQty(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme())) {
+                throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
+            }
+
+            Mat mat = matService.selectByMatnr(combMat.getMatnr());
+            WrkDetl wrkDetl = new WrkDetl();
+            wrkDetl.sync(mat);
+            wrkDetl.setBatch(combMat.getBatch());
+            wrkDetl.setWrkNo(wrkMast.getWrkNo());
+            wrkDetl.setOrderNo(param.getOrderNo());
+            wrkDetl.setZpallet(param.getBarcode());
+            wrkDetl.setAnfme(combMat.getAnfme());
+            wrkDetl.setAppeTime(now);
+            wrkDetl.setAppeUser(userId);
+            wrkDetl.setModiTime(now);
+            wrkDetl.setModiUser(userId);
+            wrkDetlService.insert(wrkDetl);
+        }
+
+
+
+
+
+    }
+
     // 鍟嗗搧涓婃灦
     @Override
     public void onSale(CombParam param) {

--
Gitblit v1.9.1