From 5cc40452e260550c709928d0679f6e713448ffe7 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期三, 01 十一月 2023 16:50:54 +0800 Subject: [PATCH] 库存编码规则 拣料更改料箱拣料 --- src/main/java/com/zy/common/service/AgvCommonService.java | 41 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java index 1f21122..9b2e5f1 100644 --- a/src/main/java/com/zy/common/service/AgvCommonService.java +++ b/src/main/java/com/zy/common/service/AgvCommonService.java @@ -29,6 +29,8 @@ private AgvLocMastService agvLocMastService; @Autowired private MatService matService; + @Autowired + private LocRuleService locRuleService; public int getWorkNo(Integer wrkMk) { AgvWrkLastno wrkLastno = agvWrkLastnoService.selectById(wrkMk); @@ -76,6 +78,14 @@ //搴撲綅瑙勫垯 if(!Cools.isEmpty(agvWaitPakinList)){ locMast = getLocByLocRule(agvWaitPakinList.get(0),floor); + if(!Cools.isEmpty(locMast)){ + return locMast; + } + } + + //搴撲綅缂栫爜瑙勫垯 + if(!Cools.isEmpty(agvWaitPakinList)){ + locMast = getLocByLocCodeRule(agvWaitPakinList.get(0),floor); if(!Cools.isEmpty(locMast)){ return locMast; } @@ -150,6 +160,37 @@ } /* + 搴撲綅瑙勫垯鏌ユ壘 + */ + private AgvLocMast getLocByLocCodeRule(AgvWaitPakin agvWaitPakin, int floor) { + if(Cools.isEmpty(agvWaitPakin.getBrand())){ + return null; + } + + //搴撳尯 + String other = "agv-" + floor; + List<LocRule> locRules = locRuleService.findCode(agvWaitPakin.getMatnr(), other); + if(Cools.isEmpty(locRules)){ + return null; + } + + for (LocRule agvLocRule : locRules) { + EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>(); + wrapper.between("row1",agvLocRule.getRowBeg(),agvLocRule.getRowEnd()) + .between("bay1",agvLocRule.getBayBeg(),agvLocRule.getBayEnd()) + .between("lev1",agvLocRule.getLevBeg(),agvLocRule.getLevEnd()) + .eq("floor",floor) + .eq("loc_sts","O"); + AgvLocMast agvLocMast = agvLocMastService.selectOne(wrapper); + if(!Cools.isEmpty(agvLocMast)){ + return agvLocMast; + } + } + + return null; + } + + /* 闈犺繎鎽嗘斁瑙勫垯 */ private AgvLocMast getLocByProximityRule(){ -- Gitblit v1.9.1