From f4af5b89cf61b3c4d7e1d49f23d7c0e617f3aabe Mon Sep 17 00:00:00 2001 From: tzsk <Administrator@qq.com> Date: 星期三, 07 二月 2024 09:28:04 +0800 Subject: [PATCH] Changes --- src/main/java/com/zy/common/web/WcsController.java | 80 +++++++++++++++++++++++++++++++++++++--- 1 files changed, 74 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index 89b6f8c..b84aa9c 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -20,8 +20,10 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import java.io.IOException; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; @@ -32,6 +34,8 @@ @RestController @RequestMapping("/rpc") public class WcsController { + + private static HashMap<String,String> currentContainerMap; @Autowired private WrkMastService wrkMastService; @@ -61,6 +65,8 @@ private WrkMastMapper wrkMastMapper; @Autowired private WrkMastLogService wrkMastLogService; + @Autowired + private AgvWrkDetlService agvWrkDetlService; // @Autowired // private ErpService erpService; @@ -588,25 +594,27 @@ //鎷f枡銆佺洏鐐瑰畬鎴愪换鍔� if(!Cools.isEmpty(agvWrkMast) && (agvWrkMast.getIoType() == 103 || agvWrkMast.getIoType() == 107) && agvWrkMast.getWrkSts() == 205){ + //缁戝畾绔欑偣 + agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode); + //鐢熸垚鎷f枡銆佺洏鐐瑰啀鍏ュ簱浠诲姟 List<AgvWrkMast> agvWrkMastList = new ArrayList<>(); agvWrkMast.setMk("Y"); agvWrkMast.setLocNo(agvBasDevp.getDevNo()); agvWrkMastList.add(agvWrkMast); agvWorkService.pickIn(agvWrkMastList); - //缁戝畾绔欑偣 - agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode); + return R.ok(); } //鍏ュ簱浠诲姟 if (!Cools.isEmpty(agvWaitPakinService.selectByContainerCode(containerCode))){ + //缁戝畾绔欑偣 + agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode); //鐢熸垚宸ヤ綔妗� List<AgvBasDevp> agvBasDevpList = agvBasDevpService.selectList(new EntityWrapper<AgvBasDevp>().eq("dev_no", param.getDevNo())); agvWorkService.createWaitPainWrkMastStart(agvBasDevpList, null, true); - //缁戝畾绔欑偣 - agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode); return R.ok(); } @@ -614,15 +622,75 @@ } + @PostMapping("/current/containerCode") + @ResponseBody + public R move(@RequestBody ReplenishmentParam param){ + + if(Cools.isEmpty(currentContainerMap)){ + currentContainerMap = new HashMap<>(); + } + + String containerCode = param.getContainerCode(); + if(Cools.isEmpty(containerCode)){ + throw new CoolException("鏂欑鐮佷负绌�"); + } + + if(!Character.isDigit(containerCode.charAt(0))){ + containerCode = containerCode.substring(3,containerCode.length()); + } + + + String devNo = param.getDevNo(); + String currentContainerCode = currentContainerMap.get(devNo); + + //鍒ゆ柇瀹瑰櫒鏄惁鍙戠敓鍙樺寲 + if(!Cools.eq(containerCode,currentContainerCode)){ + //鏌ヨ鏃у鍣ㄧ殑宸ヤ綔妗� + AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(currentContainerCode); + if(Cools.isEmpty(agvWrkMast) && agvWrkMast.getIoType() == 101){ + //鍙戦�佸鍣ㄧ珛鍦鸿姹傦紝瀹屾垚宸ヤ綔妗� + List<AgvWrkMast> agvWrkMastList = new ArrayList<>(); + agvWrkMastList.add(agvWrkMast); + try { + int code = agvWrkMastService.containerMoveOut(agvWrkMastList); + if(code == 0){ + //灏嗗伐浣滃厷鐘舵�佹敼涓哄鍣ㄧ鍦� + agvWrkMast.setWrkSts(206L); + agvWrkMastService.updateById(agvWrkMast); + } + } catch (IOException e) { + log.error(e.getMessage()); + } + } + } + + currentContainerMap.put(devNo,containerCode); + + return R.ok(); + } + /* 鏄剧ずAGV杈撻�佺嚎鎷f枡銆佺洏鐐广�佸叆搴撲俊鎭� */ @PostMapping("/info") @ResponseBody - public R showAgvBasDevInfo(@RequestBody ReplenishmentParam param){ + public R containerMove(@RequestBody ReplenishmentParam param){ + String devNo = param.getDevNo(); + String containerCode = currentContainerMap.get(devNo); - return R.ok(); + //鏌ユ壘璇ュ鍣ㄧ殑宸ヤ綔妗� + AgvWrkMast agvWrkMast = agvWrkMastService.selectByContainerCode(containerCode); + if(!Cools.isEmpty(agvWrkMast)){ + return R.ok(agvWrkDetlService.selectByWrkNo(agvWrkMast.getWrkNo())); + } + //鏌ユ壘璇ュ鍣ㄧ殑鍏ュ簱閫氱煡妗� + List<AgvWaitPakin> agvWaitPakinList = agvWaitPakinService.selectList(new EntityWrapper<AgvWaitPakin>().eq("supp_code", containerCode)); + if(!Cools.isEmpty(agvWaitPakinList)){ + return R.ok(agvWaitPakinList); + } + + return R.error("娌℃湁璇ュ鍣ㄧ殑鍑哄簱銆佹嫞鏂欍�佸叆搴撲俊鎭瓑"); } -- Gitblit v1.9.1