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