From 8ca385d65454fb8e993970a768ed3ad5c3a095ab Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期六, 18 一月 2025 13:44:44 +0800 Subject: [PATCH] 优化库位检索逻辑,修复代码并添加新功能 --- src/main/java/com/zy/common/service/AgvCommonService.java | 4 - src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 15 +++- src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 114 ++++++++++++++++++++------------------ 3 files changed, 71 insertions(+), 62 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java index 49d9eee..f286e4d 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -8,6 +8,7 @@ import com.zy.asrs.entity.param.*; import com.zy.asrs.service.*; import com.zy.asrs.utils.CodeDetectionUtil; +import com.zy.asrs.utils.OrderUtils; import com.zy.common.model.DetlDto; import com.zy.common.service.AgvCommonService; import lombok.Synchronized; @@ -766,7 +767,7 @@ public String handBack(AgvMobileStartPakin param, Long userId) { Date now = new Date(); AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", param.getDevNo())); - if (agvWrkMast == null){ + if (agvWrkMast == null) { throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�"); } agvWrkMast.setIoType(113); @@ -796,8 +797,15 @@ agvWrkMastLogService.save(agvWrkMast); agvWrkDetlLogService.save(agvWrkMast.getWrkNo()); String sourceLocNo = agvWrkMast.getSourceLocNo(); - AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false); - if (newLocMast==null){ + //AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false); + // TODO: 鍥涙湡 + List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode())); + String factory = null; + if (!Cools.isEmpty(agvWrkDetls)) { + factory = OrderUtils.getFactory(agvWrkDetls.get(0).getThreeCode()); + } + AgvLocMast newLocMast = agvCommonService.getLocByLocRule(3, 1, factory); + if (newLocMast == null) { throw new CoolException("鏃犲彲鐢ㄥ簱浣�"); } agvWrkMast.setSourceLocNo(agvWrkMast.getLocNo()); @@ -819,7 +827,6 @@ agvLocMastService.updateLocStsByLocNo(sourceLocNo, "O", "", (short) 30); agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no", sourceLocNo)); - List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode())); agvWrkDetls.forEach(agvWrkDetl -> { for (AgvWrkDetl wrkDetl : param.getWrkDetls()) { if (wrkDetl.getMatnr().equals(agvWrkDetl.getMatnr()) && wrkDetl.getThreeCode().equals(agvWrkDetl.getThreeCode())) { 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 e72bb68..054bd68 100644 --- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java @@ -50,6 +50,7 @@ doAutoMove2(agvWrkMast); return SUCCESS; } + public ReturnT<String> start3(AgvWrkMast agvWrkMast) { // locType 1. 鑷姩锛� 2. 鎵嬪姩 doHandMove2(agvWrkMast); @@ -127,8 +128,8 @@ Date now = new Date(); //鏌ヨ宸ヤ綔妗� AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvLocMast.getBarcode()); - if(!Cools.isEmpty(agvWrkMast)){ - throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); + if (!Cools.isEmpty(agvWrkMast)) { + throw new CoolException("褰撳墠" + agvLocMast.getBarcode() + "璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); } // //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 // AgvLocMast LocMast = agvCommonService.getLocNo(3,agvLocMast.getLocType3()); @@ -162,7 +163,7 @@ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } - AgvWrkMast mast1 = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devpNo.getDevNo()).eq("source_loc_no",agvLocMast.getLocNo())); + AgvWrkMast mast1 = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devpNo.getDevNo()).eq("source_loc_no", agvLocMast.getLocNo())); //鐢熸垚宸ヤ綔妗f槑缁� List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo())); agvLocDetls.forEach(agvLocDetl -> { @@ -181,15 +182,15 @@ } }); //鏇存柊鐩爣搴撲綅鐘舵�� - updateAgvLocMast(agvLocMast,"R"); - updateAgvBasDevp(devpNo,"S",null,agvLocMast.getBarcode()); + updateAgvLocMast(agvLocMast, "R"); + 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(),false,true); + AgvLocMast locMast = agvCommonService.getLocNo(3, agvWrkMast.getCrnNo(), false, true); if (Cools.isEmpty(locMast)) { log.info("鏆傛棤搴撲綅"); return FAIL; @@ -207,9 +208,9 @@ agvWrkMast.setLogErrMemo("start2-doAutoMove2"); agvWrkMastService.updateById(agvWrkMast); //鏇存柊鐩爣搴撲綅鐘舵�� - updateAgvLocMast(locMast,"S"); + updateAgvLocMast(locMast, "S"); AgvLocMast locMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locMast.getLocNo())); - log.info("鑷姩璋冩嫧浠诲姟 ==> 婧愬簱浣嶏細{}锛岀洰鏍囧簱浣嶏細{},搴撲綅鐘舵�亄}",agvWrkMast.getSourceLocNo(),agvWrkMast.getLocNo(),locMast1.getLocSts()); + log.info("鑷姩璋冩嫧浠诲姟 ==> 婧愬簱浣嶏細{}锛岀洰鏍囧簱浣嶏細{},搴撲綅鐘舵�亄}", agvWrkMast.getSourceLocNo(), agvWrkMast.getLocNo(), locMast1.getLocSts()); return SUCCESS; } @@ -217,7 +218,7 @@ private ReturnT<String> doAutoMove3(AgvWrkMast agvWrkMast) { Date now = new Date(); //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 - AgvLocMast locMast = agvCommonService.getLocNo(3,agvWrkMast.getCrnNo(),false,false); + AgvLocMast locMast = agvCommonService.getLocNo(3, agvWrkMast.getCrnNo(), false, false); if (Cools.isEmpty(locMast)) { log.info("鏆傛棤搴撲綅"); return FAIL; @@ -229,7 +230,7 @@ agvWrkMast.setModiTime(new Date()); agvWrkMastService.updateById(agvWrkMast); //鏇存柊鐩爣搴撲綅鐘舵�� - updateAgvLocMast(locMast,"S"); + updateAgvLocMast(locMast, "S"); return SUCCESS; } @@ -255,27 +256,30 @@ agvWrkMast.setLogErrMemo("start3-doHandMove2"); agvWrkMastService.updateById(agvWrkMast); agvWrkMast.setModiTime(new Date()); - updateAgvBasDevp(devpNo,"S",null,agvWrkMast.getBarcode()); + updateAgvBasDevp(devpNo, "S", null, agvWrkMast.getBarcode()); return SUCCESS; } + /* 鏇存柊鐩爣搴撲綅淇℃伅 */ - private void updateAgvLocMast(AgvLocMast locMast, String locSts){ + private void updateAgvLocMast(AgvLocMast locMast, String locSts) { locMast.setLocSts(locSts); agvLocMastService.updateById(locMast); } + /* 鏇存柊婧愮珯鐐逛俊鎭� */ - private void updateAgvBasDevp(AgvBasDevp agvBasDevp, String locSts){ - if(!Cools.isEmpty(agvBasDevp)){ + private void updateAgvBasDevp(AgvBasDevp agvBasDevp, String locSts) { + if (!Cools.isEmpty(agvBasDevp)) { agvBasDevp.setLocSts(locSts); agvBasDevpService.updateById(agvBasDevp); } } - private void updateAgvBasDevp(AgvBasDevp agvBasDevp, String locSts, Short continerType, String containerCode){ - if(!Cools.isEmpty(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); @@ -286,8 +290,8 @@ Date now = new Date(); //鏌ヨ宸ヤ綔妗� AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvLocMast.getBarcode()); - if(!Cools.isEmpty(agvWrkMast)){ - throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); + if (!Cools.isEmpty(agvWrkMast)) { + throw new CoolException("褰撳墠" + agvLocMast.getBarcode() + "璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); } //妫�绱㈢┖闂叉帴椹充綅锛岄�夋嫨鍚堥�傜殑鎺ラ┏浣� AgvBasDevp devpNo = agvCommonService.getDevpNo(3, agvLocMast.getFloor()); @@ -319,8 +323,8 @@ } //鏇存柊鐩爣搴撲綅鐘舵�� - updateAgvLocMast(agvLocMast,"R"); - updateAgvBasDevp(devpNo,"S",agvLocMast.getLocType2(),agvLocMast.getBarcode()); + updateAgvLocMast(agvLocMast, "R"); + updateAgvBasDevp(devpNo, "S", agvLocMast.getLocType2(), agvLocMast.getBarcode()); return SUCCESS; } @@ -328,7 +332,7 @@ Date now = new Date(); AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo()); //妫�绱㈢┖闂叉帴椹充綅锛岄�夋嫨鍚堥�傜殑鎺ラ┏浣� - AgvLocMast locMast = agvCommonService.getLocNo(3, 1,true,true); + AgvLocMast locMast = agvCommonService.getLocNo(3, 1, true, true); if (Cools.isEmpty(locMast)) { throw new CoolException("1妤兼殏鏃犵┖搴撲綅"); } @@ -342,8 +346,8 @@ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } //鏇存柊鐩爣搴撲綅鐘舵�� - updateAgvLocMast(locMast,"S"); - updateAgvBasDevp(agvBasDevp,"R"); + updateAgvLocMast(locMast, "S"); + updateAgvBasDevp(agvBasDevp, "R"); return SUCCESS; } @@ -393,8 +397,8 @@ Date now = new Date(); //鏌ヨ宸ヤ綔妗� AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvLocMast.getBarcode()); - if(!Cools.isEmpty(agvWrkMast)){ - throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); + if (!Cools.isEmpty(agvWrkMast)) { + throw new CoolException("褰撳墠" + agvLocMast.getBarcode() + "璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); } String floor = ""; String locNo = ""; @@ -403,8 +407,10 @@ AgvLocMast locMast = new AgvLocMast(); if (agvLocMast.getFloor() == 3) { floor = "F3"; - } else if(agvLocMast.getFloor() == 2) { + } else if (agvLocMast.getFloor() == 2) { floor = "F2"; + } else if (agvLocMast.getFloor() == 1 && agvLocMast.getLev1() == 2) { + floor = "02F1"; } 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) { @@ -413,14 +419,14 @@ //throw new CoolException("鏆傚仠鍥炴祦"); } //妫�绱㈢┖闂插彲鍏ユ帴椹充綅 娌℃湁绌洪棽鍙叆鎺ラ┏浣� 鐩存帴鎵惧簱浣� - AgvBasDevp devpNo = agvCommonService.getDevpNo(3, agvLocMast.getFloor(),"Y","Y"); + 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,true,true); + locMast = agvCommonService.getLocNo(3, 1, true, true); locNo = locMast.getLocNo(); wrkSts = 201L; ioType = 109; @@ -454,11 +460,11 @@ } //鏇存柊鐩爣搴撲綅鐘舵�� - updateAgvLocMast(agvLocMast,"R"); + updateAgvLocMast(agvLocMast, "R"); if (wrkSts == 21L) { - updateAgvBasDevp(devpNo,"S",agvLocMast.getLocType2(),agvLocMast.getBarcode()); + updateAgvBasDevp(devpNo, "S", agvLocMast.getLocType2(), agvLocMast.getBarcode()); } else { - updateAgvLocMast(locMast,"S"); + updateAgvLocMast(locMast, "S"); } @@ -470,8 +476,8 @@ Date now = new Date(); //鏌ヨ宸ヤ綔妗� AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvLocMast.getBarcode()); - if(!Cools.isEmpty(agvWrkMast)){ - throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); + if (!Cools.isEmpty(agvWrkMast)) { + throw new CoolException("褰撳墠" + agvLocMast.getBarcode() + "璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); } String floor = ""; String locNo = ""; @@ -480,7 +486,7 @@ AgvLocMast locMast = new AgvLocMast(); if (agvLocMast.getFloor() == 3) { floor = "F3"; - } else if(agvLocMast.getFloor() == 2) { + } 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)); @@ -490,14 +496,14 @@ //throw new CoolException("鏆傚仠鍥炴祦"); } //妫�绱㈢┖闂插彲鍏ユ帴椹充綅 娌℃湁绌洪棽鍙叆鎺ラ┏浣� 鐩存帴鎵惧簱浣� - AgvBasDevp devpNo = agvCommonService.getDevpNo(6, agvLocMast.getFloor(),"Y","Y"); + AgvBasDevp devpNo = agvCommonService.getDevpNo(6, agvLocMast.getFloor(), "Y", "Y"); if (!Cools.isEmpty(devpNo)) { locNo = devpNo.getDevNo(); wrkSts = 21L; ioType = 109; } else { //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 - locMast = agvCommonService.getLocNo(6,1,true,true); + locMast = agvCommonService.getLocNo(6, 1, true, true); locNo = locMast.getLocNo(); wrkSts = 201L; ioType = 109; @@ -531,11 +537,11 @@ } //鏇存柊鐩爣搴撲綅鐘舵�� - updateAgvLocMast(agvLocMast,"R"); + updateAgvLocMast(agvLocMast, "R"); if (wrkSts == 21L) { - updateAgvBasDevp(devpNo,"S",agvLocMast.getLocType2(),agvLocMast.getBarcode()); + updateAgvBasDevp(devpNo, "S", agvLocMast.getLocType2(), agvLocMast.getBarcode()); } else { - updateAgvLocMast(locMast,"S"); + updateAgvLocMast(locMast, "S"); } @@ -546,8 +552,8 @@ public ReturnT<String> autoEmptyBack5(AgvBasDevp agvBasDevp) { //鏌ヨ宸ヤ綔妗� AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvBasDevp.getBarcode()); - if(!Cools.isEmpty(agvWrkMast)){ - throw new CoolException("褰撳墠"+agvBasDevp.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); + if (!Cools.isEmpty(agvWrkMast)) { + throw new CoolException("褰撳墠" + agvBasDevp.getBarcode() + "璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); } Date now = new Date(); //鐢熸垚宸ヤ綔妗� @@ -573,9 +579,9 @@ //鍏ュ嚭搴撶被鍨� mast.setIoType(109); //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 - AgvLocMast locMast = agvCommonService.getLocNo(3,1,true,true); + AgvLocMast locMast = agvCommonService.getLocNo(3, 1, true, true); mast.setLocNo(locMast.getLocNo()); - updateAgvLocMast(locMast,"S"); + updateAgvLocMast(locMast, "S"); } else { //宸ヤ綔鐘舵�� mast.setWrkSts(212L); @@ -588,7 +594,7 @@ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } //鏇存柊鐩爣搴撲綅鐘舵�� - updateAgvBasDevp(agvBasDevp,"R"); + updateAgvBasDevp(agvBasDevp, "R"); return SUCCESS; @@ -597,8 +603,8 @@ public ReturnT<String> autoEmptyBack6(AgvBasDevp agvBasDevp) { //鏌ヨ宸ヤ綔妗� AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvBasDevp.getBarcode()); - if(!Cools.isEmpty(agvWrkMast)){ - throw new CoolException("褰撳墠"+agvBasDevp.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); + if (!Cools.isEmpty(agvWrkMast)) { + throw new CoolException("褰撳墠" + agvBasDevp.getBarcode() + "璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); } Date now = new Date(); //鐢熸垚宸ヤ綔妗� @@ -627,13 +633,13 @@ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } //鏇存柊鐩爣搴撲綅鐘舵�� - updateAgvBasDevp(agvBasDevp,"R"); + updateAgvBasDevp(agvBasDevp, "R"); return SUCCESS; } - public ReturnT<String> autoTransfers(AgvLocMast agvLocMast,Integer maxTansk) { + public ReturnT<String> autoTransfers(AgvLocMast agvLocMast, Integer maxTansk) { Date now = new Date(); List<AgvLocDetl> locDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo())); locDetls.forEach(agvLocDetl -> { @@ -643,11 +649,11 @@ }); //鏌ヨ宸ヤ綔妗� AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(agvLocMast.getBarcode()); - if(!Cools.isEmpty(agvWrkMast)){ - throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); + if (!Cools.isEmpty(agvWrkMast)) { + throw new CoolException("褰撳墠" + agvLocMast.getBarcode() + "璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�"); } //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 - AgvLocMast LocMast = agvCommonService.getLocNo(3,1,false,false); + AgvLocMast LocMast = agvCommonService.getLocNo(3, 1, false, false); if (LocMast.getLev1() != 2) { throw new CoolException("鐩爣妤煎眰涓嶆槸鍚稿浜屾ゼ"); } @@ -682,7 +688,7 @@ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } - AgvWrkMast mast1 = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", LocMast.getLocNo()).eq("source_loc_no",agvLocMast.getLocNo())); + AgvWrkMast mast1 = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", LocMast.getLocNo()).eq("source_loc_no", agvLocMast.getLocNo())); //鐢熸垚宸ヤ綔妗f槑缁� List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo())); agvLocDetls.forEach(agvLocDetl -> { @@ -700,8 +706,8 @@ } }); //鏇存柊鐩爣搴撲綅鐘舵�� - updateAgvLocMast(agvLocMast,"R"); - updateAgvLocMast(LocMast,"S"); + updateAgvLocMast(agvLocMast, "R"); + updateAgvLocMast(LocMast, "S"); return SUCCESS; } diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java index 98c2b2f..d917ed1 100644 --- a/src/main/java/com/zy/common/service/AgvCommonService.java +++ b/src/main/java/com/zy/common/service/AgvCommonService.java @@ -168,10 +168,6 @@ } } - //褰撶洰鏍囧簱浣嶆槸1妤� - if (floor == 1) { - wrapper.orderBy("loc_no", false); - } agvLocMasts = agvLocMastService.selectList(wrapper); for (AgvLocMast agvLocMast : agvLocMasts) { AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo())); -- Gitblit v1.9.1