From a85a8d0c33d4a821a98a0ff6789298a23a180006 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 28 四月 2025 14:39:45 +0800
Subject: [PATCH] 拣货单出库完成,但是库存没减,日志埋点

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   47 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 36 insertions(+), 11 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 1a1a1d4..b459493 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -20,6 +20,7 @@
 import com.zy.common.utils.Synchro;
 import com.zy.system.entity.User;
 import com.zy.system.service.SaasLogService;
+import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -665,7 +666,7 @@
             orderService.checkComplete(order.getOrderNo());
 
             SaasUtils.insertLog(0,jsonLocNo,jsonOrderDetl.getMatnr(), jsonOrderDetl.getAnfme(),user.getUsername(),
-        null,null,null,null,null);
+        null,null,null,null,null,null);
         }
 
 
@@ -807,7 +808,7 @@
                 }
             }
             SaasUtils.insertLog(1,jsonLocNo,jsonOrderDetl.getMatnr(), jsonOrderDetl.getAnfme(),user.getUsername(),
-                    null,null,null,null,null);
+                    null,null,null,null,null,null);
 
         }
         return R.ok("涓嬫灦瀹屾垚");
@@ -1232,11 +1233,12 @@
 
         plaService.updateById(pla);
         SaasUtils.insertLog(0,locNo,pla.getBrand(),pla.getWeightAnfme(),user.getUsername(),
-                null,pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop());
+                null,pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop(),null);
     }
 
     @Override
     @Transactional
+    @Synchronized
     public void plaPakout(String brand, String locNo, String batch, Integer packageNo, String orderNo, String plaQtyId, String wrkNo, Double anfme, boolean isReplace) {
         Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo,brand);
 
@@ -1266,6 +1268,7 @@
         manPakOut.setCount(manPakOut.getCount() + anfme);
         if (manPakOut.getAnfme().equals(manPakOut.getCount())){
             manPakOut.setStatus(1);
+            manPakOut.setUpdateTime(new Date());
             manPakOutService.updateById(manPakOut);
         }
 
@@ -1282,14 +1285,17 @@
         }else {
             pla.setStatus(GlobleParameter.PLA_STATUS_3);
         }
+        log.info("pla鍑哄簱v1,鏇存柊涓哄緟鍑哄簱鎴栧垯鍏ㄩ儴鍑哄簱锛宲la:{},anfme:{}",pla,anfme);
         plaService.updateById(pla);
         SaasUtils.insertLog(1,locNo,pla.getBrand(),anfme,null,null,
-                pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop());
+                pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop(),null);
 
         //鏇存柊璁㈠崟鏄庣粏
         Order order = orderService.selectByNo(orderNo);
         OrderDetl orderDetl = orderDetlService.selectById(plaQty.getOrderDetlId());
-
+        if (orderDetl == null){
+            throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦ㄦ垨鑰呬笉鍖归厤");
+        }
         orderDetl.setQty(orderDetl.getQty() + anfme);
         orderDetlService.updateById(orderDetl);
 
@@ -1310,7 +1316,7 @@
             throw new CoolException("褰撳墠鐗╂枡鍓╀綑搴撳瓨涓嶈冻");
         }
 
-
+        log.info("鏃犺鍗曟嫞璐у嚭搴�,鏇存柊涓哄緟鍑哄簱鎴栧垯鍏ㄩ儴鍑哄簱锛宲la:{},anfme:{}",pla,anfme);
         pla.setWeightAnfme(pla.getWeightAnfme() - anfme);
         if(pla.getWeightAnfme() > 0){
             pla.setStatus(GlobleParameter.PLA_STATUS_3);
@@ -1320,7 +1326,7 @@
 
         plaService.updateById(pla);
 
-        SaasUtils.insertLog(1,pla.getLocNo(),pla.getBrand(),anfme,null,null,pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop());
+        SaasUtils.insertLog(1,pla.getLocNo(),pla.getBrand(),anfme,null,null,pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop(),null);
 
     }
 
@@ -1339,7 +1345,7 @@
         plaService.updateById(plaNew);
 
         plaOld.setStatus(GlobleParameter.PLA_STATUS_1);
-        plaOld.setQtyAnfme(plaOld.getQtyAnfme() - manPakOut.getCount());
+        plaOld.setQtyAnfme(0.0);
 
         plaService.updateById(plaOld);
 
@@ -1354,6 +1360,7 @@
         manPakOut.setMaktx(plaNew.getBrand());
         manPakOut.setBatch(plaNew.getBatch());
         manPakOut.setBarcode(plaNew.getPackageNo() + "");
+        manPakOut.setUpdateTime(new Date());
 
         manPakOutService.updateById(manPakOut);
 
@@ -1374,16 +1381,34 @@
                 throw new CoolException("璇锋鏌ヨ緭鍏ョ殑搴撲綅鐮�");
             }
             plaEntityWrapper.eq("loc_no",barcode);
-
+            plaEntityWrapper.notLike("status","鍏ㄩ儴鍑哄簱");
         }else {
             throw new CoolException("鏉$爜淇℃伅鏈夎!");
         }
-
-
         List<Pla> plaList = plaService.selectList(plaEntityWrapper);
         if (Cools.isEmpty(plaList)){
             throw new CoolException("鏈煡璇㈠埌搴撳瓨鐗╂枡淇℃伅");
         }
         return plaList;
     }
+
+    public boolean checkMaximum(String locNo, int packageNum){
+
+        Node node = nodeService.selectByUuid(locNo);
+        Node nodeParent = nodeService.selectById(node.getParentId());
+
+        if(Cools.isEmpty(nodeParent.getMajor())){
+            return true;
+        }
+
+        //褰撳墠搴撳瓨鍖呮暟
+        int count = plaService.selectCount(new EntityWrapper<Pla>().eq("loc_no", locNo)
+                .notIn("status", "鍏ㄩ儴鍑哄簱"));
+
+        if(nodeParent.getMajor() < count + packageNum){
+            return false;
+        }
+
+        return true;
+    }
 }

--
Gitblit v1.9.1