From fd1bfa1163d438ec6cabfdd6e01e632d31189c80 Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 12 五月 2023 12:34:10 +0800 Subject: [PATCH] 库位规则、混载库位 --- src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 111 +++++++++++++++++++------------------------------------ 1 files changed, 39 insertions(+), 72 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..1ea0054 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; } } } @@ -306,7 +290,7 @@ WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); wrkMast.setIoTime(now); - wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setWrkSts(21L); // 宸ヤ綔鐘舵�侊細21.鐢熸垚鍑哄簱浠诲姟 wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� Double ioPri = wrkMastService.getIoPri(ioType, dto.getLocNo()); wrkMast.setIoPri(ioPri); // 浼樺厛绾э細13 @@ -385,7 +369,7 @@ WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); wrkMast.setIoTime(now); - wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setWrkSts(21L); // 宸ヤ綔鐘舵�侊細21.鐢熸垚鍑哄簱浠诲姟 wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬� Double ioPri = wrkMastService.getIoPri(ioType, taskDto.getLocNo()); wrkMast.setIoPri(ioPri); // 浼樺厛绾э細13 @@ -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; } } } @@ -614,7 +581,7 @@ WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); wrkMast.setIoTime(new Date()); - wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setWrkSts(21L); // 宸ヤ綔鐘舵�侊細21.鐢熸垚鍑哄簱浠诲姟 wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱 Double ioPri = wrkMastService.getIoPri(110, locNo); wrkMast.setIoPri(ioPri); @@ -691,7 +658,7 @@ WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); wrkMast.setIoTime(now); - wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setWrkSts(21L); // 宸ヤ綔鐘舵�侊細21.鐢熸垚鍑哄簱浠诲姟 wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇 wrkMast.setIoPri(10D); wrkMast.setOutMost(locMastService.isOutMost(locNo, false)?1:0);; @@ -1137,7 +1104,7 @@ WrkMast wrkMast = new WrkMast(); wrkMast.setWrkNo(workNo); wrkMast.setIoTime(now); - wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setWrkSts(21L); // 宸ヤ綔鐘舵�侊細21.鐢熸垚鍑哄簱浠诲姟 wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇 wrkMast.setIoPri(15D); wrkMast.setOutMost(locMastService.isOutMost(loc.getLocNo(), false)?1:0);; -- Gitblit v1.9.1