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