From 4d300a00081d7b5916c41162075bdd79851a8fcc Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期三, 24 七月 2024 15:05:19 +0800 Subject: [PATCH] 新增MES采购入库上报功能 --- src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 296 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 287 insertions(+), 9 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 901757f..dd0c861 100644 --- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java @@ -45,6 +45,17 @@ return SUCCESS; } + public ReturnT<String> start2(AgvWrkMast agvWrkMast) { + // locType 1. 鑷姩锛� 2. 鎵嬪姩 + doAutoMove2(agvWrkMast); + return SUCCESS; + } + public ReturnT<String> start3(AgvWrkMast agvWrkMast) { + // locType 1. 鑷姩锛� 2. 鎵嬪姩 + doHandMove2(agvWrkMast); + return SUCCESS; + } + private ReturnT<String> doAutoMove(AgvLocMast agvLocMast) { Date now = new Date(); //鏌ヨ宸ヤ綔妗� @@ -67,15 +78,16 @@ mast.setSourceLocNo(agvLocMast.getLocNo()); //鐩爣绔欑偣 mast.setLocNo(LocMast.getLocNo()); - //瀹瑰櫒缂栫爜 + //璐ф灦缂栫爜 mast.setBarcode(agvLocMast.getBarcode()); - //瀹瑰櫒绫诲瀷 + //璐ф灦绫诲瀷 mast.setWhsType(30); mast.setAppeUser(9527L); mast.setAppeTime(now); mast.setModiUser(9527L); mast.setModiTime(now); + mast.setLogErrMemo("doAutoMove"); if (!agvWrkMastService.insertByIncrease(mast)) { throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } @@ -119,7 +131,7 @@ //鐢熸垚宸ヤ綔妗� AgvWrkMast mast = new AgvWrkMast(); //宸ヤ綔鐘舵�� - mast.setWrkSts(201L); + mast.setWrkSts(21L); //鍏ュ嚭搴撶被鍨� mast.setIoType(111); mast.setIoTime(now); @@ -129,12 +141,12 @@ mast.setSourceLocNo(agvLocMast.getLocNo()); //鐩爣绔欑偣 mast.setLocNo(devpNo.getDevNo()); - //瀹瑰櫒缂栫爜 + //璐ф灦缂栫爜 mast.setBarcode(agvLocMast.getBarcode()); - //瀹瑰櫒绫诲瀷 + //璐ф灦绫诲瀷 mast.setWhsType(30); // 鐩爣妤煎眰 - mast.setPreHave(agvLocMast.getLocType3().toString()); + mast.setPauseMk(agvLocMast.getLocType3().toString()); mast.setAppeUser(9527L); mast.setAppeTime(now); @@ -164,10 +176,39 @@ }); //鏇存柊鐩爣搴撲綅鐘舵�� updateAgvLocMast(agvLocMast,"R"); - updateAgvBasDevp(devpNo,"S"); + updateAgvBasDevp(devpNo,"S",null,agvLocMast.getBarcode()); return SUCCESS; } + private ReturnT<String> doAutoMove2(AgvWrkMast agvWrkMast) { + Date now = new Date(); + //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 + AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo()); + if (Cools.isEmpty(locMast)) { + throw new CoolException("鏆傛棤搴撲綅"); + } + agvWrkMast.setWrkSts(201L); + agvWrkMast.setLocNo(locMast.getLocNo()); + agvWrkMast.setLogErrMemo("start2-doAutoMove2"); + agvWrkMastService.updateById(agvWrkMast); + //鏇存柊鐩爣搴撲綅鐘舵�� + updateAgvLocMast(locMast,"S"); + + return SUCCESS; + } + private ReturnT<String> doHandMove2(AgvWrkMast agvWrkMast) { + Date now = new Date(); + AgvBasDevp devpNo = agvCommonService.getDevpNo(3, 1, "Y", "Y"); + if (Cools.isEmpty(devpNo)) { + throw new CoolException("鏆傛棤绌洪棽鎺ラ┏浣�"); + } + agvWrkMast.setWrkSts(201L); + agvWrkMast.setLocNo(devpNo.getDevNo()); + agvWrkMast.setLogErrMemo("start3-doHandMove2"); + agvWrkMastService.updateById(agvWrkMast); + updateAgvBasDevp(devpNo,"S",null,agvWrkMast.getBarcode()); + return SUCCESS; + } /* 鏇存柊鐩爣搴撲綅淇℃伅 */ @@ -184,8 +225,80 @@ agvBasDevpService.updateById(agvBasDevp); } } + private void updateAgvBasDevp(AgvBasDevp agvBasDevp, String locSts, Short continerType, String containerCode){ + if(!Cools.isEmpty(agvBasDevp)){ + agvBasDevp.setLocSts(locSts); + agvBasDevp.setBarcode(containerCode); + agvBasDevpService.updateById(agvBasDevp); + } + } public ReturnT<String> autoEmptyBack(AgvLocMast agvLocMast) { + Date now = new Date(); + //鏌ヨ宸ヤ綔妗� + AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvLocMast.getBarcode()); + if(!Cools.isEmpty(agvWrkMast)){ + throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); + } + //妫�绱㈢┖闂叉帴椹充綅锛岄�夋嫨鍚堥�傜殑鎺ラ┏浣� + AgvBasDevp devpNo = agvCommonService.getDevpNo(3, agvLocMast.getFloor()); + //鐢熸垚宸ヤ綔妗� + AgvWrkMast mast = new AgvWrkMast(); + //宸ヤ綔鐘舵�� + mast.setWrkSts(21L); + //鍏ュ嚭搴撶被鍨� + mast.setIoType(109); + mast.setIoTime(now); + //浼樺厛绾� + mast.setIoPri(300.0); + //婧愮珯鐐� + mast.setSourceLocNo(agvLocMast.getLocNo()); + //鐩爣绔欑偣 + mast.setLocNo(devpNo.getDevNo()); + //璐ф灦缂栫爜 + mast.setBarcode(agvLocMast.getBarcode()); + //璐ф灦绫诲瀷 + mast.setWhsType(30); + + mast.setAppeUser(9527L); + mast.setAppeTime(now); + mast.setModiUser(9527L); + mast.setModiTime(now); + mast.setLogErrMemo("autoEmptyBack"); + if (!agvWrkMastService.insertByIncrease(mast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + + //鏇存柊鐩爣搴撲綅鐘舵�� + updateAgvLocMast(agvLocMast,"R"); + updateAgvBasDevp(devpNo,"S",agvLocMast.getLocType2(),agvLocMast.getBarcode()); + return SUCCESS; + } + + 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); + agvWrkMast.setLogErrMemo("autoEmptyBack3"); + if (!agvWrkMastService.updateById(agvWrkMast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + //鏇存柊鐩爣搴撲綅鐘舵�� + updateAgvLocMast(locMast,"S"); + updateAgvBasDevp(agvBasDevp,"R"); + return SUCCESS; + } + + public ReturnT<String> autoEmptyBack2(AgvLocMast agvLocMast) { Date now = new Date(); //鏌ヨ宸ヤ綔妗� AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvLocMast.getBarcode()); @@ -207,15 +320,16 @@ mast.setSourceLocNo(agvLocMast.getLocNo()); //鐩爣绔欑偣 mast.setLocNo(LocMast.getLocNo()); - //瀹瑰櫒缂栫爜 + //璐ф灦缂栫爜 mast.setBarcode(agvLocMast.getBarcode()); - //瀹瑰櫒绫诲瀷 + //璐ф灦绫诲瀷 mast.setWhsType(30); mast.setAppeUser(9527L); mast.setAppeTime(now); mast.setModiUser(9527L); mast.setModiTime(now); + mast.setLogErrMemo("autoEmptyBack2"); if (!agvWrkMastService.insertByIncrease(mast)) { throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } @@ -225,4 +339,168 @@ 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).or().eq("io_type", 113).like("source_loc_no", floor)); + 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); + mast.setLogErrMemo("autoEmptyBack4"); + 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); + mast.setLogErrMemo("autoEmptyBack5"); + // 鍒ゆ柇 鎺ラ┏鐐规槸鍚﹁嚜鍔� + 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); + mast.setLogErrMemo("autoEmptyBack4"); + if (!agvWrkMastService.insertByIncrease(mast)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + //鏇存柊鐩爣搴撲綅鐘舵�� + updateAgvBasDevp(agvBasDevp,"R"); + + + return SUCCESS; + } } -- Gitblit v1.9.1