From 0cf7b6106614bab7e2054652043e32aeca06640f Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期一, 24 四月 2023 16:42:54 +0800 Subject: [PATCH] 库位地图 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 101 +++++++++++++++++--------------------------------- 1 files changed, 34 insertions(+), 67 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java index ebd138e..87f58c1 100644 --- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java @@ -162,45 +162,29 @@ public void startupFullTakeStore(StockOutParam param, Long userId) { ArrayList<String> locNos = new ArrayList<>(); for (StockOutParam.LocDetl locDetl:param.getLocDetls()){ - locNos.add(locDetl.getLocNo()); + if (!locNos.contains(locDetl.getLocNo())){ + locNos.add(locDetl.getLocNo()); + } } //妫�娴嬫槸鍚︿负娴呭簱浣� - List<LocMast> locMasts = null; boolean sign=false; String th = ""; - for (StockOutParam.LocDetl locDetl:param.getLocDetls()){ - int row = getRow(locDetl.getLocNo()); - int bay = getBay(locDetl.getLocNo()); - int lev = getLev(locDetl.getLocNo()); - if (!(row==4 || row==5)){ - if (row>5){ - locMasts=locMastService.selectList(new EntityWrapper<LocMast>().ge("row1", 5).le("row1", row) - .eq("bay1",bay).eq("lev1",lev)); - for (LocMast locMast1:locMasts){ - if (locNos.contains(locMast1.getLocNo())){ - continue; - } - if (locMast1.getRow1()<row){ - if (!locMast1.getLocSts().equals("O")){ - sign=true; - th="搴撲綅鍙凤細"+locDetl.getLocNo()+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; - break; - } - } + for (String locNo:locNos){ + if (sign){ + break; + } + List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo); + if (!Cools.isEmpty(groupInsideLoc)) { + for (String insideLoc : groupInsideLoc) { + if (locNos.contains(insideLoc)){ + continue; } - }else { - locMasts=locMastService.selectList(new EntityWrapper<LocMast>().le("row1", 4).ge("row1", row) - .eq("bay1",bay).eq("lev1",lev)); - for (LocMast locMast1:locMasts){ - if (locNos.contains(locMast1.getLocNo())){ - continue; - } - if (locMast1.getRow1()>row){ - if (!locMast1.getLocSts().equals("O")){ - sign=true; - th="搴撲綅鍙凤細"+locDetl.getLocNo()+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; - break; - } + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", insideLoc)); + if (locMast != null) { + if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")){ + sign=true; + th="搴撲綅鍙凤細"+locNo+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; + break; } } } @@ -532,43 +516,26 @@ @Override @Transactional public void emptyPlateOut(EmptyPlateOutParam param, Long userId) { + List<String> locNos = param.getLocNos(); //妫�娴嬫槸鍚︿负娴呭簱浣� - List<LocMast> locMasts = null; boolean sign=false; String th = ""; - for (String locNoKong: param.getLocNos()){ - int row = getRow(locNoKong); - int bay = getBay(locNoKong); - int lev = getLev(locNoKong); - if (!(row==4 || row==5)){ - if (row>5){ - locMasts=locMastService.selectList(new EntityWrapper<LocMast>().ge("row1", 5).le("row1", row) - .eq("bay1",bay).eq("lev1",lev)); - for (LocMast locMast1:locMasts){ - if (locMast1.getRow1()<row){ - if (!locMast1.getLocSts().equals("O")){ - if (param.getLocNos().contains(locMast1.getLocNo())){ - continue; - } - sign=true; - th="搴撲綅鍙凤細"+locNoKong+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; - break; - } - } + for (String locNo:locNos){ + if (sign){ + break; + } + List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo); + if (!Cools.isEmpty(groupInsideLoc)) { + for (String insideLoc : groupInsideLoc) { + if (locNos.contains(insideLoc)){ + continue; } - }else { - locMasts=locMastService.selectList(new EntityWrapper<LocMast>().le("row1", 4).ge("row1", row) - .eq("bay1",bay).eq("lev1",lev)); - for (LocMast locMast1:locMasts){ - if (locMast1.getRow1()>row){ - if (!locMast1.getLocSts().equals("O")){ - if (param.getLocNos().contains(locMast1.getLocNo())){ - continue; - } - sign=true; - th="搴撲綅鍙凤細"+locNoKong+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; - break; - } + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", insideLoc)); + if (locMast != null) { + if (!locMast.getLocSts().equals("O") && !locMast.getLocSts().equals("R")){ + sign=true; + th="搴撲綅鍙凤細"+locNo+" 娴呭簱浣嶆湁闈炵┖搴撲綅锛�"; + break; } } } -- Gitblit v1.9.1