From 37f55514ad2f02397fd75c7d98cea25e371243c7 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期一, 20 一月 2025 16:54:29 +0800 Subject: [PATCH] 添加库位规则查找,优化自动移动逻辑 --- src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 21 +++++++++++++++++---- 1 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java index 6b192ba..f286e4d 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -8,6 +8,7 @@ import com.zy.asrs.entity.param.*; import com.zy.asrs.service.*; import com.zy.asrs.utils.CodeDetectionUtil; +import com.zy.asrs.utils.OrderUtils; import com.zy.common.model.DetlDto; import com.zy.common.service.AgvCommonService; import lombok.Synchronized; @@ -654,6 +655,9 @@ @Transactional public String allocationIn(AgvMobileStartPakin param, Long userId) { Date now = new Date(); + if (Cools.isEmpty(param.getBarcode())) { + throw new CoolException("璇疯緭鍏ヨ揣鏋剁爜"); + } AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode())); if (Cools.isEmpty(agvWrkMast)) { throw new CoolException("鏆傛棤褰撳墠璐ф灦鐮佺殑浠诲姟"); @@ -731,6 +735,9 @@ @Synchronized public String empIn(AgvMobileStartPakin param, Long userId) { Date now = new Date(); + if (Cools.isEmpty(param.getBarcode())) { + throw new CoolException("璇疯緭鍏ヨ揣鏋剁爜"); + } AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode())); if (Cools.isEmpty(agvWrkMast)) { throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�"); @@ -760,7 +767,7 @@ public String handBack(AgvMobileStartPakin param, Long userId) { Date now = new Date(); AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", param.getDevNo())); - if (agvWrkMast == null){ + if (agvWrkMast == null) { throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�"); } agvWrkMast.setIoType(113); @@ -790,8 +797,15 @@ agvWrkMastLogService.save(agvWrkMast); agvWrkDetlLogService.save(agvWrkMast.getWrkNo()); String sourceLocNo = agvWrkMast.getSourceLocNo(); - AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false); - if (newLocMast==null){ + //AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false); + // TODO: 鍥涙湡 + List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode())); + String factory = null; + if (!Cools.isEmpty(agvWrkDetls)) { + factory = OrderUtils.getFactory(agvWrkDetls.get(0).getThreeCode()); + } + AgvLocMast newLocMast = agvCommonService.getLocByLocRule(3, 1, factory); + if (newLocMast == null) { throw new CoolException("鏃犲彲鐢ㄥ簱浣�"); } agvWrkMast.setSourceLocNo(agvWrkMast.getLocNo()); @@ -813,7 +827,6 @@ agvLocMastService.updateLocStsByLocNo(sourceLocNo, "O", "", (short) 30); agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no", sourceLocNo)); - List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode())); agvWrkDetls.forEach(agvWrkDetl -> { for (AgvWrkDetl wrkDetl : param.getWrkDetls()) { if (wrkDetl.getMatnr().equals(agvWrkDetl.getMatnr()) && wrkDetl.getThreeCode().equals(agvWrkDetl.getThreeCode())) { -- Gitblit v1.9.1