From 0e9c60905511ddfa755f9579f35ee4b154703e4d Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期四, 30 五月 2024 10:44:56 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | 6 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | 20 +- src/main/java/com/zy/common/service/AgvCommonService.java | 31 ++++ src/main/java/com/zy/asrs/controller/AgvMobileController.java | 18 ++ src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java | 44 ++++++ src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java | 37 ++++- src/main/java/com/zy/asrs/task/AutoMoveScheduler.java | 72 +++++++++ src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 2 src/main/java/com/zy/asrs/service/AgvMobileService.java | 10 + src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java | 169 +++++++++++++++++++++++ 10 files changed, 378 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java index 5f00b40..2e5c799 100644 --- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java +++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java @@ -490,6 +490,24 @@ return R.ok(); } + @PostMapping("/hand/control/empOut") + @Transactional + @ManagerAuth(memo = "绌烘灦绂诲満") + @Synchronized + public R empOut(@RequestBody AgvMobileStartPakin param){ + agvMobileService.empOut(param, getUserId()); + return R.ok(); + } + + @PostMapping("/hand/control/empIn") + @Transactional + @ManagerAuth(memo = "绌烘灦杩涘満") + @Synchronized + public R empIn(@RequestBody AgvMobileStartPakin param){ + agvMobileService.empIn(param, getUserId()); + return R.ok(); + } + @PostMapping("/hand/control/doBack") @Transactional @ManagerAuth(memo = "绔欑偣鍥為��") diff --git a/src/main/java/com/zy/asrs/service/AgvMobileService.java b/src/main/java/com/zy/asrs/service/AgvMobileService.java index 2d3391e..8dc32f4 100644 --- a/src/main/java/com/zy/asrs/service/AgvMobileService.java +++ b/src/main/java/com/zy/asrs/service/AgvMobileService.java @@ -58,4 +58,14 @@ */ String handBack(AgvMobileStartPakin param, Long userId); + /** + * 绌烘灦绂诲満 + */ + String empOut(AgvMobileStartPakin param, Long userId); + + /** + * 绌烘灦杩涘満 + */ + String empIn(AgvMobileStartPakin param, Long userId); + } 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 d877c17..9689ce3 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java @@ -532,6 +532,7 @@ if (agvWrkMast.getCrnNo() != agvBasDevp.getFloor()) { throw new CoolException("璇风Щ鍔ㄥ埌->" + agvWrkMast.getCrnNo() + "妤煎叆搴撶偣鍏ュ簱"); } + AgvLocMast locNo = agvCommonService.getLocNo(3, 1); //宸ヤ綔鐘舵�� agvWrkMast.setWrkSts(211L); //鍏ュ嚭搴撶被鍨� @@ -548,6 +549,49 @@ return "ok"; } /* + 绌烘灦绂诲満 + */ + @Override + @Transactional + @Synchronized + public String empOut(AgvMobileStartPakin param, Long userId) { + Date now = new Date(); + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", param.getDevNo())); + Integer oldWrkNo = agvWrkMast.getWrkNo(); + if (Cools.isEmpty(agvWrkMast)) { + throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�"); + } + agvWrkMast.setWrkSts(213L); + agvWrkMast.setSourceLocNo(""); + if (!agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no",agvWrkMast.getWrkNo()))) { + throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�"); + } + // 鏇存柊婧愬簱浣嶇姸鎬� + agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"O","",agvWrkMast.getWhsType().shortValue()); + return "ok"; + } + /* + 绌烘灦杩涘満 + */ + @Override + @Transactional + @Synchronized + public String empIn(AgvMobileStartPakin param, Long userId) { + Date now = new Date(); + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode())); + if (Cools.isEmpty(agvWrkMast)) { + throw new CoolException("宸ヤ綔妗d腑娌℃湁姝ょ珯鐐逛换鍔�"); + } + agvWrkMast.setWrkSts(214L); + agvWrkMast.setSourceLocNo(param.getDevNo()); + if (!agvWrkMastService.update(agvWrkMast,new EntityWrapper<AgvWrkMast>().eq("wrk_no",agvWrkMast.getWrkNo()))) { + throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�"); + } + // 鏇存柊婧愬簱浣嶇姸鎬� + agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",param.getBarcode(),agvWrkMast.getWhsType().shortValue()); + return "ok"; + } + /* * 绔欑偣鍥為�� */ @Override diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java index 97933e9..b71cbd0 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java @@ -679,20 +679,39 @@ //鐩爣绔欑偣 String devNo = wrkMast.getLocNo(); if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 109) { - agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); - } else { - agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); - } - if (wrkMast.getIoType() == 109){ - if (Cools.isEmpty(wrkMast.getLocNo())) { + if (wrkMast.getIoType() == 109){ + // 婧愬簱浣嶆槸绔欑偣 + if ("DB".equals(locNo.substring(0,2))) { + agvBasDevpService.updateLocStsAndBarcodeByDevNo(locNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue()); + agvLocMastService.updateLocStsByLocNo(devNo,"O","",null); + // 婧愬簱浣嶆槸搴撲綅 鐩爣搴撲綅鏄珯鐐� + } else if ("DB".equals(devNo.substring(0,2))) { + agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue()); + agvBasDevpService.updateLocStsAndBarcodeByDevNo(locNo,"O","",null); + // 婧愬簱浣嶆槸搴撲綅 + } else { + agvLocMastService.updateLocStsByLocNo(locNo,"D",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue()); + agvLocMastService.updateLocStsByLocNo(devNo,"O","",null); + } + }else { + agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null); + } + } else if (wrkMast.getIoType() == 113) { + if (wrkMast.getWrkSts() == 212 || wrkMast.getWrkSts() == 213) { + agvBasDevpService.updateLocStsAndBarcodeByDevNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); } else { - agvLocMastService.updateLocStsByLocNo(devNo,"O","",(short)getContainerTypeByloc(devNo)); + agvBasDevpService.updateLocStsAndBarcodeByDevNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); + if (!Cools.isEmpty(devNo)) { + agvLocMastService.updateLocStsByLocNo(devNo,"0","",null); + } } - }else { + } else { agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"O","",null); + agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo)); } + } if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12){ @@ -734,11 +753,11 @@ agvWrkDetlLogService.save(wrkMast.getWrkNo()); - //鍒犻櫎宸ヤ綔妗d互鍙婃槑缁� if(!agvWrkMastService.deleteByWrkNo(wrkMast.getWrkNo()) || !agvWrkDetlService.deleteByWrkNo(wrkMast.getWrkNo())){ throw new CoolException("鍒犻櫎澶辫触锛岃鑱旂郴绠$悊鍛�"); } + if (type == 2) { //璋冪敤agv鍙栨秷浠诲姟鎺ュ彛 agvWrkMastService.callCancelTask(wrkMast.getWrkNo()); diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java index 1dd5f31..1e5476d 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java @@ -217,7 +217,7 @@ agvWrkMast.setWrkNo(-agvWrkMast.getWrkNo()); } agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString()); - if (agvWrkMast.getIoType() == 108 || (agvWrkMast.getIoType() == 109 && agvWrkMast.getWrkSts() == 201) || agvWrkMast.getIoType() == 12) { + if (agvWrkMast.getIoType() == 108 || (agvWrkMast.getIoType() == 109 && agvWrkMast.getWrkSts() == 201) || agvWrkMast.getIoType() == 12) { agvTaskCreateParam.setTaskTyp("F06"); } else { agvTaskCreateParam.setTaskTyp("F01"); diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java index 31608f0..bb0d72e 100644 --- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java +++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java @@ -56,7 +56,8 @@ .or().eq("io_type",12) .or().eq("io_type",108) .or().eq("io_type",109) - .or().eq("io_type",112)); + .or().eq("io_type",112) + .or().eq("io_type",113)); if(!Cools.isEmpty(agvWrkMastList)){ agvWrkMastList.stream().forEach(agvWrkMast -> { agvWrkMastHandler.completedPutWayWrk(agvWrkMast); @@ -116,7 +117,8 @@ .or().eq("io_type", 12) .or().eq("io_type", 109) .or().eq("io_type", 108) - .or().eq("io_type", 112)).getRecords(); + .or().eq("io_type", 112) + .or().eq("io_type", 113)).getRecords(); if(!Cools.isEmpty(agvWrkMastList)){ agvWrkMastList.forEach(agvWrkMast -> { diff --git a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java index 47690fc..16f5de5 100644 --- a/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java +++ b/src/main/java/com/zy/asrs/task/AutoMoveScheduler.java @@ -2,8 +2,10 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.zy.asrs.entity.AgvBasDevp; import com.zy.asrs.entity.AgvLocMast; import com.zy.asrs.entity.AgvWrkMast; +import com.zy.asrs.service.AgvBasDevpService; import com.zy.asrs.service.AgvLocMastService; import com.zy.asrs.service.AgvWrkMastService; import com.zy.asrs.task.core.ReturnT; @@ -25,6 +27,8 @@ private AutoMoveHandler autoMoveHandler; @Autowired private AgvWrkMastService agvWrkMastService; + @Autowired + private AgvBasDevpService agvBasDevpService; // 璋冩嫧鍑哄簱 @Scheduled(cron = "0/2 * * * * ? ") @@ -112,14 +116,13 @@ } } // 绌烘澘鑷姩鍥炲簱 鎺ラ┏鐐� - 1妤煎簱浣� - //@Scheduled(cron = "0/2 * * * * ? ") + @Scheduled(cron = "0/2 * * * * ? ") private void autoEmptyBack3(){ // 宸ヤ綔妗d负201 涓� 鍏ュ嚭搴撶被鍨嬩负109 List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>() - .eq("wrk_sts", 201) + .eq("wrk_sts", 214) .eq("loc_no","") - .eq("io_type",109) - .or().eq("io_type",112)); + .eq("io_type",113)); if (agvWrkMastList.isEmpty()) { return; } @@ -129,7 +132,7 @@ } // 绌烘澘鑷姩鍥炲簱 - @Scheduled(cron = "0/2 * * * * ? ") +// @Scheduled(cron = "0/2 * * * * ? ") private void autoEmptyBack2(){ // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋� List<AgvLocMast> agvLocMasts = agvLocMastService.selectList( @@ -143,6 +146,65 @@ for (AgvLocMast agvLocMast : agvLocMasts) { ReturnT<String> returnT = autoMoveHandler.autoEmptyBack2(agvLocMast); } + } + /** + * 绌烘澘鑷姩鍥炲簱 + * 搴撲綅-鎺ラ┏鐐� 搴撲綅-鍚稿杞﹂棿 + * 姣忓眰鏈�澶� 鍦� 鍥炲簱鏁伴噺闄愬埗5鏉� + * 浼樺厛閫夋嫨鍏堝埌鎺ラ┏浣嶏紙鎺ラ┏浣嶅彲鍏ワ級 鍚庨�夋嫨鐩存帴鍥炲簱 + */ + @Scheduled(cron = "0/2 * * * * ? ") + private void autoEmptyBack4(){ + // 鏌ヨ 涓嶄负1妤肩殑绌鸿揣鏋� + List<AgvLocMast> agvLocMasts = agvLocMastService.selectList( + new EntityWrapper<AgvLocMast>() + .ne("floor", 1) + .eq("loc_sts","D") + .eq("loc_type1",3)); + if (agvLocMasts.isEmpty()) { + return; + } + for (AgvLocMast agvLocMast : agvLocMasts) { + ReturnT<String> returnT = autoMoveHandler.autoEmptyBack4(agvLocMast); + } + } + + /** + * 绔欑偣鏄惁鑷姩 + * 鑷姩锛� 鐢熸垚 109 鑷姩鍥炴祦 + * 鎵嬪姩锛� 鐢熸垚 113 鎵嬪姩鍥炴祦 + * 浼樺厛閫夋嫨鍏堝埌鎺ラ┏浣嶏紙鎺ラ┏浣嶅彲鍏ワ級 鍚庨�夋嫨鐩存帴鍥炲簱 + */ + @Scheduled(cron = "0/2 * * * * ? ") + private void autoEmptyBack5(){ + List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>() + .ne("floor", 1) + .eq("loc_sts", "F") + .like("dev_no", "DB")); + if (agvBasDevps.isEmpty()) { + return; + } + for (AgvBasDevp agvBasDevp : agvBasDevps) { + ReturnT<String> returnT = autoMoveHandler.autoEmptyBack5(agvBasDevp); + } + } + + /** + * 妫�娴�1妤兼帴椹崇偣 + * 鎵嬪姩锛� 鐢熸垚 113 鎵嬪姩鍥炴祦 + */ + @Scheduled(cron = "0/2 * * * * ? ") + private void autoEmptyBack6(){ + List<AgvBasDevp> agvBasDevps = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>() + .eq("floor", 1) + .eq("loc_sts", "F") + .like("dev_no", "DB")); + if (agvBasDevps.isEmpty()) { + return; + } + for (AgvBasDevp agvBasDevp : agvBasDevps) { + ReturnT<String> returnT = autoMoveHandler.autoEmptyBack6(agvBasDevp); + } } } diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java index 4d38a14..4e6e753 100644 --- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java @@ -70,13 +70,14 @@ agvWrkMastService.updateById(agvWrkMast); // 绌烘澘鍏ュ簱 璁剧疆搴撲綅鐘舵�佷负D.绌烘《/绌烘爤鏉� String locSts = agvWrkMast.getIoType() == 10 ? "D" : "F"; - if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109) { - //if (agvWrkMast.getIoType() == 109 && agvWrkMast.getLocNo().substring(0,2).equals("DB")) { - // agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"R",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); - //} else { - // agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); - //} - agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); + if (agvWrkMast.getIoType() == 10 || agvWrkMast.getIoType() == 109 ) { + // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅 + if (agvWrkMast.getIoType() == 109 && agvWrkMast.getLocNo().substring(0,2).equals("DB")) { + agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); + // 鎺ラ┏浣� -- 搴撲綅 + } else { + agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"D",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); + } } else { agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(),"F",agvWrkMast.getBarcode(),agvWrkMast.getWhsType().shortValue()); } @@ -113,14 +114,13 @@ } if(agvWrkMast.getIoType() == 109){ + // 鎺ラ┏浣� -- 搴撲綅 if (agvWrkMast.getSourceLocNo().substring(0,2).equals("DB")) { agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",(short)0); + // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅 } else { //淇敼婧愬簱浣嶇姸鎬佷负O agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",agvWrkMast.getWhsType().shortValue(),"",(short)0); - // 鏂板缓宸ヤ綔妗� - Date now = new Date(); -// createWrkMast(109, 201L, agvWrkMast.getLocNo(), "", agvWrkMast.getBarcode(), now, 9527L, agvWrkMast.getWhsType(), 0); } } if (agvWrkMast.getIoType() == 58) { 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 59a0fdd..9c46105 100644 --- a/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/AutoMoveHandler.java @@ -273,12 +273,13 @@ public ReturnT<String> autoEmptyBack3(AgvWrkMast agvWrkMast) { Date now = new Date(); AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo()); - if (agvBasDevp.getAutoing() == "N") { - throw new CoolException("褰撳墠绔欑偣涓烘墜鍔�"); - } //妫�绱㈢┖闂叉帴椹充綅锛岄�夋嫨鍚堥�傜殑鎺ラ┏浣� 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); @@ -287,6 +288,7 @@ } //鏇存柊鐩爣搴撲綅鐘舵�� updateAgvLocMast(locMast,"S"); + updateAgvBasDevp(agvBasDevp,"R"); return SUCCESS; } public ReturnT<String> autoEmptyBack2(AgvLocMast agvLocMast) { @@ -329,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).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); + 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; + } } diff --git a/src/main/java/com/zy/common/service/AgvCommonService.java b/src/main/java/com/zy/common/service/AgvCommonService.java index 426221c..f756a9a 100644 --- a/src/main/java/com/zy/common/service/AgvCommonService.java +++ b/src/main/java/com/zy/common/service/AgvCommonService.java @@ -268,9 +268,10 @@ throw new CoolException("妤煎眰鍙凤細"+floor+"锛涜妤煎眰娌℃湁绌烘帴椹充綅"); } + /** * 妫�绱㈠簱浣嶅彿 - * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿 + * @return locNo 妫�绱㈣嚜鍔ㄦ帴椹充綅 */ public AgvBasDevp getDevpNo(int type, int floor, String auto) { // 鐩爣搴撲綅 @@ -284,6 +285,24 @@ //鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父 throw new CoolException("妤煎眰鍙凤細"+floor+"锛涜妤煎眰娌℃湁绌烘帴椹充綅"); + } + + /** + * 妫�绱㈠簱浣嶅彿 + * @return locNo 妫�绱㈠彲鍏ユ帴椹充綅 + */ + public AgvBasDevp getDevpNo(int type, int floor, String auto ,String inEable) { + // 鐩爣搴撲綅 + AgvBasDevp basDevp = null; + + // 寮�濮嬫煡鎵惧簱浣� ==============================>> + basDevp = getDevpNoInEable(type,floor,inEable); + if (basDevp != null) { + return basDevp; + } + + //鎵句笉鍒板簱浣嶏紝鎶涘嚭寮傚父 + return basDevp; } //闅忔満鍙栦竴涓揣浣� @@ -305,4 +324,14 @@ .like("dev_no","DB")); } + //闅忔満鍙栦竴涓揣浣� + private AgvBasDevp getDevpNoInEable(int type,int floor,String inEable){ + return agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>() + .eq("loc_sts","O") + .eq("floor",floor) + .eq("loc_type1",type) + .eq("in_enable",inEable) + .like("dev_no","DB")); + } + } -- Gitblit v1.9.1