From f6513ffa7e2efe2a4dc81626c7aab9cf643f8f41 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期四, 14 三月 2024 10:14:28 +0800
Subject: [PATCH] 1.增加牌号作为唯一物料条件 (当前牌号 批号 包号可以筛选出唯一物料) 2.增加移库接口 3.订单出库可替换物料 4.页面ui完善

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   68 +++++++++++++++++++++++++++++++++-
 1 files changed, 66 insertions(+), 2 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 a86628f..472d23b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1236,12 +1236,24 @@
 
     @Override
     @Transactional
-    public void plaPakout(String brand, String locNo, String batch, Integer packageNo, String orderNo, String orderDetlId, String wrkNo, Double anfme) {
+    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);
 
         ManPakOut manPakOut = manPakOutService.selectById(wrkNo);
 
-        PlaQty plaQty = plaQtyService.selectById(orderDetlId);
+        PlaQty plaQty = plaQtyService.selectById(plaQtyId);
+
+        //鐗╂枡鏇挎崲
+        if(isReplace){
+            replacePla(pla,manPakOut,plaQty);
+        }else {
+            if(!Cools.eq(pla.getStatus(),GlobleParameter.PLA_STATUS_2) ||
+                    !Cools.eq(pla.getBatch(),manPakOut.getBatch()) ||
+                    !Cools.eq(pla.getPackageNo()+"",manPakOut.getBarcode()) ||
+                    !Cools.eq(pla.getBrand(),manPakOut.getMaktx()) ){
+                throw new CoolException("鐗╂枡涓嶄竴鑷达紝鏃犳硶鍑哄簱" + "鎵瑰彿锛�" + pla.getBatch() + "锛屽寘鍙凤細" + pla.getPackageNo() + "锛岀墝鍙凤細" + pla.getBrand());
+            }
+        }
 
         //鏇存柊鎷h揣鍗曚俊鎭�
         if(manPakOut.getCount() + anfme > manPakOut.getAnfme()){
@@ -1285,7 +1297,59 @@
     }
 
     @Override
+    public void plaPackOutWithoutOrder(String brand, String batch, Integer packageNo, Double anfme) {
+        Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo,brand);
+        if(Cools.isEmpty(pla)){
+            throw new CoolException("褰撳墠鐗╂枡鏄庣粏涓嶅瓨鍦�");
+        }
+        if (!pla.getStatus().equals(GlobleParameter.PLA_STATUS_1) && !pla.getStatus().equals(GlobleParameter.PLA_STATUS_3)){
+            throw new CoolException("褰撳墠鐗╂枡鐘舵�佹棤娉曞嚭搴�");
+        }
+        if(anfme > pla.getWeightAnfme()){
+            throw new CoolException("褰撳墠鐗╂枡鍓╀綑搴撳瓨涓嶈冻");
+        }
+
+
+        pla.setWeightAnfme(pla.getWeightAnfme() - anfme);
+        if(pla.getWeightAnfme() > 0){
+            pla.setStatus(GlobleParameter.PLA_STATUS_3);
+        }else {
+            pla.setStatus(GlobleParameter.PLA_STATUS_4);
+        }
+
+        plaService.updateById(pla);
+
+        SaasUtils.insertLog(1,pla.getLocNo(),pla.getBrand(),anfme,null,null,pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop());
+
+    }
+
+    @Override
     public List<ManPakOut> getManPakoutByOrderNo(String orderNo) {
         return manPakOutService.selectList(new EntityWrapper<ManPakOut>().eq("doc_num",orderNo).eq("status",0));
     }
+
+    public void replacePla(Pla plaNew, ManPakOut manPakOut, PlaQty plaQty){
+        //杩樺師鏃х墿鏂欑姸鎬�
+        Pla plaOld = plaService.selectByBatchAndPackageNo(manPakOut.getBatch(), Integer.parseInt(manPakOut.getBarcode()), manPakOut.getMaktx());
+
+        plaOld.setStatus(GlobleParameter.PLA_STATUS_1);
+        plaOld.setQtyAnfme(0.0);
+
+        plaService.updateById(plaOld);
+
+        //鏇存柊plaQty淇℃伅
+        plaQty.setBatch(plaNew.getBatch());
+        plaQty.setBrand(plaNew.getBrand());
+        plaQty.setPackageNo(plaNew.getPackageNo());
+
+        plaQtyService.updateById(plaQty);
+
+        //鏇存柊鎷h揣鍗曚俊鎭�
+        manPakOut.setMaktx(plaNew.getBrand());
+        manPakOut.setBatch(plaNew.getBatch());
+        manPakOut.setBarcode(plaNew.getPackageNo() + "");
+
+        manPakOutService.updateById(manPakOut);
+
+    }
 }

--
Gitblit v1.9.1