From ed0a79ffec5d25dae6b0b24393c331ab36d7d50b Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期二, 04 六月 2024 15:35:12 +0800 Subject: [PATCH] # 自动回流数量限制 --- src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 168 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java index d48bf52..1a40d13 100644 --- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java @@ -196,7 +196,7 @@ } private ReturnT<String> doHandMove2(AgvWrkMast agvWrkMast) { Date now = new Date(); - AgvBasDevp devpNo = agvCommonService.getDevpNo(3, 1); + AgvBasDevp devpNo = agvCommonService.getDevpNo(3, 1, "Y", "Y"); if (Cools.isEmpty(devpNo)) { throw new CoolException("鏆傛棤绌洪棽鎺ラ┏浣�"); } @@ -272,9 +272,14 @@ } public ReturnT<String> autoEmptyBack3(AgvWrkMast agvWrkMast) { Date now = new Date(); + AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo()); //妫�绱㈢┖闂叉帴椹充綅锛岄�夋嫨鍚堥�傜殑鎺ラ┏浣� AgvLocMast locMast = agvCommonService.getLocNo(3, 1); + if (Cools.isEmpty(locMast)) { + throw new CoolException("1妤兼殏鏃犵┖搴撲綅"); + } //鐩爣绔欑偣 + agvWrkMast.setWrkSts(201L); agvWrkMast.setLocNo(locMast.getLocNo()); agvWrkMast.setModiUser(9527L); agvWrkMast.setModiTime(now); @@ -283,6 +288,7 @@ } //鏇存柊鐩爣搴撲綅鐘舵�� updateAgvLocMast(locMast,"S"); + updateAgvBasDevp(agvBasDevp,"R"); return SUCCESS; } public ReturnT<String> autoEmptyBack2(AgvLocMast agvLocMast) { @@ -325,4 +331,165 @@ updateAgvLocMast(LocMast,"S"); return SUCCESS; } + + public ReturnT<String> autoEmptyBack4(AgvLocMast agvLocMast) { + Date now = new Date(); + //鏌ヨ宸ヤ綔妗� + AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvLocMast.getBarcode()); + if(!Cools.isEmpty(agvWrkMast)){ + throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); + } + String floor = ""; + String locNo = ""; + Long wrkSts = 0L; + Integer ioType = 0; + AgvLocMast locMast = new AgvLocMast(); + if (agvLocMast.getFloor() == 3) { + floor = "F3"; + } else if(agvLocMast.getFloor() == 2) { + floor = "F2"; + } + List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("io_type", 109).like("source_loc_no", floor).or().eq("io_type", 113)); + if (agvWrkMasts.size() >= 5) { + throw new CoolException("鏆傚仠鍥炴祦"); + } + //妫�绱㈢┖闂插彲鍏ユ帴椹充綅 娌℃湁绌洪棽鍙叆鎺ラ┏浣� 鐩存帴鎵惧簱浣� + AgvBasDevp devpNo = agvCommonService.getDevpNo(3, agvLocMast.getFloor(),"Y","Y"); + if (!Cools.isEmpty(devpNo)) { + locNo = devpNo.getDevNo(); + wrkSts = 21L; + ioType = 109; + } else { + //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 + locMast = agvCommonService.getLocNo(3,1); + locNo = locMast.getLocNo(); + wrkSts = 201L; + ioType = 109; + } + + //鐢熸垚宸ヤ綔妗� + AgvWrkMast mast = new AgvWrkMast(); + //宸ヤ綔鐘舵�� + mast.setWrkSts(wrkSts); + //鍏ュ嚭搴撶被鍨� + mast.setIoType(ioType); + mast.setIoTime(now); + //浼樺厛绾� + mast.setIoPri(300.0); + //婧愮珯鐐� + mast.setSourceLocNo(agvLocMast.getLocNo()); + //鐩爣绔欑偣 + mast.setLocNo(locNo); + //璐ф灦缂栫爜 + mast.setBarcode(agvLocMast.getBarcode()); + //璐ф灦绫诲瀷 + mast.setWhsType(30); + + mast.setAppeUser(9527L); + mast.setAppeTime(now); + mast.setModiUser(9527L); + mast.setModiTime(now); + if (!agvWrkMastService.insertByIncrease(mast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + + //鏇存柊鐩爣搴撲綅鐘舵�� + updateAgvLocMast(agvLocMast,"R"); + if (wrkSts == 21L) { + updateAgvBasDevp(devpNo,"S",agvLocMast.getLocType2(),agvLocMast.getBarcode()); + } else { + updateAgvLocMast(locMast,"S"); + } + + + return SUCCESS; + } + + public ReturnT<String> autoEmptyBack5(AgvBasDevp agvBasDevp) { + //鏌ヨ宸ヤ綔妗� + AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvBasDevp.getBarcode()); + if(!Cools.isEmpty(agvWrkMast)){ + throw new CoolException("褰撳墠"+agvBasDevp.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); + } + Date now = new Date(); + //鐢熸垚宸ヤ綔妗� + AgvWrkMast mast = new AgvWrkMast(); + mast.setIoTime(now); + //浼樺厛绾� + mast.setIoPri(300.0); + //婧愮珯鐐� + mast.setSourceLocNo(agvBasDevp.getDevNo()); + //璐ф灦缂栫爜 + mast.setBarcode(agvBasDevp.getBarcode()); + //璐ф灦绫诲瀷 + mast.setWhsType(30); + mast.setAppeUser(9527L); + mast.setAppeTime(now); + mast.setModiUser(9527L); + mast.setModiTime(now); + // 鍒ゆ柇 鎺ラ┏鐐规槸鍚﹁嚜鍔� + if ("Y".equals(agvBasDevp.getAutoing())) { + //宸ヤ綔鐘舵�� + mast.setWrkSts(201L); + //鍏ュ嚭搴撶被鍨� + mast.setIoType(109); + //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 + AgvLocMast locMast = agvCommonService.getLocNo(3,1); + mast.setLocNo(locMast.getLocNo()); + updateAgvLocMast(locMast,"S"); + } else { + //宸ヤ綔鐘舵�� + mast.setWrkSts(212L); + //鍏ュ嚭搴撶被鍨� + mast.setIoType(113); + //鐩爣绔欑偣 + mast.setLocNo(""); + } + if (!agvWrkMastService.insertByIncrease(mast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + //鏇存柊鐩爣搴撲綅鐘舵�� + updateAgvBasDevp(agvBasDevp,"R"); + + + return SUCCESS; + } + + public ReturnT<String> autoEmptyBack6(AgvBasDevp agvBasDevp) { + //鏌ヨ宸ヤ綔妗� + AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvBasDevp.getBarcode()); + if(!Cools.isEmpty(agvWrkMast)){ + throw new CoolException("褰撳墠"+agvBasDevp.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); + } + Date now = new Date(); + //鐢熸垚宸ヤ綔妗� + AgvWrkMast mast = new AgvWrkMast(); + //宸ヤ綔鐘舵�� + mast.setWrkSts(214L); + //鍏ュ嚭搴撶被鍨� + mast.setIoType(113); + //鐩爣绔欑偣 + mast.setLocNo(""); + mast.setIoTime(now); + //浼樺厛绾� + mast.setIoPri(300.0); + //婧愮珯鐐� + mast.setSourceLocNo(agvBasDevp.getDevNo()); + //璐ф灦缂栫爜 + mast.setBarcode(agvBasDevp.getBarcode()); + //璐ф灦绫诲瀷 + mast.setWhsType(30); + mast.setAppeUser(9527L); + mast.setAppeTime(now); + mast.setModiUser(9527L); + mast.setModiTime(now); + if (!agvWrkMastService.insertByIncrease(mast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + //鏇存柊鐩爣搴撲綅鐘舵�� + updateAgvBasDevp(agvBasDevp,"R"); + + + return SUCCESS; + } } -- Gitblit v1.9.1