From 73cddc1f15fbee51a0f79189f7df631361483b0d Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期四, 19 十二月 2024 14:23:23 +0800 Subject: [PATCH] 优化AGV工作处理及上报逻辑 --- src/main/java/com/zy/asrs/controller/AgvBasDevpController.java | 106 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 67 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java index 82ae4e1..44c98f3 100644 --- a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java +++ b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java @@ -14,13 +14,12 @@ import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.LocMastInitParam; import com.zy.asrs.service.*; +import com.zy.asrs.utils.CodeDetectionUtil; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.io.IOException; import java.util.*; -import java.util.stream.Collectors; @RestController @RequestMapping("/agv") @@ -36,6 +35,8 @@ AgvWaitPakinService agvWaitPakinService; @Autowired AgvWorkService agvWorkService; + @Autowired + AgvLocDetlService agvLocDetlService; @RequestMapping(value = "/basDevp/list/auth") @ManagerAuth @@ -115,6 +116,7 @@ } agvBasDevp.setLocSts("O"); agvBasDevp.setBarcode(""); + agvBasDevp.setLocType2(null); agvBasDevpService.update(agvBasDevp,new EntityWrapper<AgvBasDevp>().eq("dev_no",agvBasDevp.getDevNo())); return R.ok(); @@ -166,6 +168,9 @@ @RequestParam(defaultValue = "10")Integer limit, @RequestParam Map<String, Object> param){ String devNo = param.get("devNo").toString(); + if (Cools.isEmpty(devNo) || !CodeDetectionUtil.carCodeDetection(devNo)){ + throw new CoolException(devNo + "灏忚溅鍦扮爜鏈夎锛岃姝g‘鎵爜锛侊紒锛�"); + } AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devNo); if("F".equals(agvBasDevp.getLocSts()) || "R".equals(agvBasDevp.getLocSts())){ //鍏堝幓鍏ュ簱閫氱煡妗f壘鏄庣粏 @@ -178,6 +183,15 @@ AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>() .eq("loc_no", agvBasDevp.getDevNo()) .or().eq("source_loc_no",agvBasDevp.getDevNo())); + if (Cools.isEmpty(agvWrkMast)) { + Page<AgvLocDetl> agvLocDetlPage = agvLocDetlService.selectPage(new Page<>(curr, limit), new EntityWrapper<AgvLocDetl>() + .eq("supp_code", agvBasDevp.getBarcode())); + if (agvLocDetlPage.getRecords().size() > 0) { + return R.ok(agvLocDetlPage); + } else { + return R.error("褰撳墠璐ф灦鐮佸紓甯革紒"); + } + } Page<AgvWrkDetl> agvWrkDetlPage = agvWrkDetlService.selectPage(new Page<>(curr, limit), new EntityWrapper<AgvWrkDetl>() .eq("wrk_no", agvWrkMast.getWrkNo())); @@ -200,63 +214,77 @@ return R.ok(result); } + @RequestMapping(value = "/basDevp/visualized/list/auth/v2") + public R visualizedList(@RequestParam String stationCode){ + Map<String, Object> result = agvBasDevpService.getAgvBasDevpDtoByStationCode(stationCode); + + return R.ok(result); + } /* - 瀹瑰櫒绂诲満 + 浠诲姟瀹屾垚 */ @RequestMapping(value = "/basDevp/visualized/container/moveOut") + @ManagerAuth(memo = "纭鍑哄簱") public R visualiZedContainerMoveOut(@RequestBody Map<String,Object> map) { - List<String> devNos = (List<String>) map.get("devNo"); - List<AgvWrkMast> agvWrkMastList = devNos.stream().map(devNo -> { - AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo)); - if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){ - throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓嶄负101.鍑哄簱锛屾棤娉曟墽琛屽鍣ㄧ鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); - } - return agvWrkMast; - }).collect(Collectors.toList()); - - try { - int code = agvWrkMastService.containerMoveOut(agvWrkMastList); - if(code == 0){ - //灏嗗伐浣滃厷鐘舵�佹敼涓哄鍣ㄧ鍦� - agvWrkMastList.forEach(agvWrkMast -> { - agvWrkMast.setWrkSts(206L); - agvWrkMastService.updateById(agvWrkMast); - }); - //淇敼绔欑偣鐘舵�� - devNos.forEach(devNo -> { - AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devNo); - agvBasDevp.setBarcode(""); - agvBasDevp.setLocSts("O"); - agvBasDevpService.updateById(agvBasDevp); - }); - } - } catch (IOException e) { - e.printStackTrace(); - return R.error("瀹瑰櫒绂诲満澶辫触"); + String barcode = map.get("barcode").toString(); + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", barcode).eq("wrk_sts",205L)); + if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){ + throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓嶄负101.鍑哄簱锛屾棤娉曟墽琛岃揣鏋剁鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); } - return R.ok("瀹瑰櫒绂诲満鎴愬姛"); + agvWrkMast.setWrkSts(206L); + agvWrkMast.setModiTime(new Date()); + agvWrkMastService.updateById(agvWrkMast); + + return R.ok("璐ф灦绂诲満鎴愬姛"); + } + + /* + 浠诲姟瀹屾垚 + */ + @RequestMapping(value = "/basDevp/visualized/container/moveOut2") + @ManagerAuth(memo = "纭鍑哄簱2") + public R visualiZedContainerMoveOut2(@RequestBody Map<String,Object> map) { + + String barcode = map.get("barcode").toString(); + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", barcode).eq("wrk_sts",205L)); + if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){ + throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓嶄负101.鍑哄簱锛屾棤娉曟墽琛岃揣鏋剁鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); + } + + agvWrkMast.setWrkSts(208L); + agvWrkMast.setModiTime(new Date()); + agvWrkMastService.updateById(agvWrkMast); + + return R.ok("璐ф灦绂诲満鎴愬姛"); } /* 鎷f枡/鐩樼偣鍏ュ簱 */ @RequestMapping(value = "/basDevp/visualized/container/pickIn") + @ManagerAuth(memo = "宸叉嫞鏂欏洖搴�") public R visualiZedPickIn(@RequestBody Map<String,Object> map){ - List<String> devNos = (List<String>) map.get("devNo"); - List<AgvWrkMast> agvWrkMastList = devNos.stream().map(devNo -> { - AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", devNo)); + List<AgvWrkMast> agvWrkMastList = new ArrayList<>(); + String devNo = map.get("devNo").toString(); + String barcode = map.get("barcode").toString(); + AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", barcode).eq("wrk_sts",205L)); + if (agvWrkMast != null) { if(agvWrkMast.getIoType() == 101){ throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓�101.鍑哄簱锛屾棤娉曟墽琛屾嫞鏂欏叆搴撲换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�"); } - return agvWrkMast; - }).collect(Collectors.toList()); + agvWrkMast.setLocNo(devNo); + agvWrkMastList.add(agvWrkMast); + agvWorkService.pickIn(agvWrkMastList); + } else { + return R.error("鏌ヤ笉鍒版嫞鏂欏嚭搴撲换鍔�"); + } - agvWorkService.pickIn(agvWrkMastList); - return R.ok("鐢熸垚鎷f枡鍑哄簱浠诲姟鎴愬姛"); + + return R.ok("鐢熸垚鎷f枡鍥炲簱浠诲姟鎴愬姛"); } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ -- Gitblit v1.9.1