From 428dbbc6f0744283c11bcac42bf037116d4a1e18 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 01 九月 2025 11:04:23 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 100 ++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 85 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index caac500..fe1731c 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -87,6 +87,59 @@ @Autowired private AgvSiteService agvSiteService; + + + @Override + @Transactional(rollbackFor = Exception.class) + public void AgvStaBind(CombParam param,Long userId) { + AgvSite agvSite = agvSiteService.selectOne(new EntityWrapper<AgvSite>().eq("name", param.getBarcode())); + if (Cools.isEmpty(agvSite)){ + throw new CoolException("鏈壘鍒癆GV鏆傚瓨浣嶄俊鎭�"); + } + if (agvSite.getStatus() != 0){ + throw new CoolException("AGV鏆傚瓨浣嶇姸鎬佷笉涓虹┖闂�"); + } + + int workNo = commonService.getWorkNo(1); + Date now = new Date(); + WrkMast wrkMast1 = new WrkMast(); + wrkMast1.setWrkNo(workNo); + wrkMast1.setWrkSts(2L); + wrkMast1.setIoType(300); + wrkMast1.setIoTime(now); + wrkMast1.setIoPri(13D); // 浼樺厛绾э細13 + wrkMast1.setFullPlt("Y"); // 婊℃澘锛歒 + wrkMast1.setPicking("N"); // 鎷f枡 + wrkMast1.setExitMk("N"); // 閫�鍑� + wrkMast1.setEmptyMk("N"); // 绌烘澘 + wrkMast1.setLinkMis("N"); + wrkMast1.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁 + wrkMast1.setAppeTime(now); + wrkMast1.setModiUser(userId); + wrkMast1.setModiTime(now); + wrkMast1.setBarcode(param.getBarcode()); + if (!wrkMastService.insert(wrkMast1)) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + // 鐢熸垚宸ヤ綔妗f槑缁� + param.getCombMats().forEach(waitPakin -> { + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.sync(waitPakin); + wrkDetl.setWrkNo(workNo); + wrkDetl.setIoTime(now); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } + }); + + agvSite.setWorkNo(workNo); + agvSite.setStatus(1); + agvSiteService.updateById(agvSite); + + } + @Override public R inLocCallAgv(String sta, String inSta) { @@ -107,6 +160,10 @@ break; case "3010": wrapper.in("source_sta_no", "3013", "3014"); + break; + case "1000": + case "1035": + wrapper.in("source_sta_no", "1024", "1028"); break; default: } @@ -148,8 +205,11 @@ if (jsonObject.getInteger("code").equals(0)) { success = true; // 鍏ュ簱鏆傚瓨+1 - basDevp.setInQty(basDevp.getInQty() + 1); - basDevpMapper.updateById(basDevp); + if (!inSta.equals("1000") && !inSta.equals("1035")){ + basDevp.setInQty(basDevp.getInQty() + 1); + basDevpMapper.updateById(basDevp); + } + } else { message = jsonObject.getString("message"); log.error("鍏ュ簱鍛煎彨agv澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", ApiInterfaceConstant.AGV_IP + ApiInterfaceConstant.AGV_CALL_IN_PATH, body, response); @@ -1280,7 +1340,7 @@ @Override public R siteList() { - List<AgvSite> agvSites = agvSiteService.selectList(new EntityWrapper<AgvSite>().eq("status", 1)); + List<AgvSite> agvSites = agvSiteService.selectList(new EntityWrapper<AgvSite>()); ArrayList<AgvSiteListVo> agvSiteListVos = new ArrayList<>(); for (AgvSite agvSite : agvSites) { AgvSiteListVo agvSiteListVo = new AgvSiteListVo(); @@ -1309,32 +1369,42 @@ } AgvSite orgAgvSite = agvSiteService.selectOne(new EntityWrapper<AgvSite>().eq("name", orgSite)); - AgvSite tarAgvSite = agvSiteService.selectOne(new EntityWrapper<AgvSite>().eq("name", tarSite)); - if (Cools.isEmpty(orgAgvSite) || Cools.isEmpty(tarAgvSite)) { +// AgvSite tarAgvSite = agvSiteService.selectOne(new EntityWrapper<AgvSite>().eq("name", tarSite)); + if (Cools.isEmpty(orgAgvSite)) { return R.error("绔欑偣鏁版嵁閿欒"); } //鏇存柊tar绔欑偣鐘舵�� - tarAgvSite.setWorkNo(orgAgvSite.getWorkNo()); - tarAgvSite.setStatus(2); - if (!agvSiteService.updateById(tarAgvSite)){ - throw new CoolException("鍙枡绔欐洿鏂板け璐�"); +// tarAgvSite.setWorkNo(orgAgvSite.getWorkNo()); +// tarAgvSite.setStatus(2); +// if (!agvSiteService.updateById(tarAgvSite)){ +// throw new CoolException("鍙枡绔欐洿鏂板け璐�"); +// } + WrkMast wrkMast = wrkMastService.selectById(orgAgvSite.getWorkNo()); + if (!Cools.isEmpty(wrkMast)){ + wrkMast.setWrkSts(5L); + wrkMastService.updateById(wrkMast); } + //鏇存柊org绔欑偣鐘舵�� - orgAgvSite.setStatus(2); + orgAgvSite.setStatus(0); + orgAgvSite.setWorkNo(null); if (!agvSiteService.updateById(orgAgvSite)){ throw new CoolException("婧愮珯鏇存柊澶辫触"); } - //鍛煎彨agv -// boolean success = sendAgvTask(orgSite, tarSite); -// if (!success){ -// throw new CoolException("鍛煎彨agv澶辫触"); -// } + + +// 鍛煎彨agv + boolean success = sendAgvTask(orgSite, tarSite); + if (!success){ + throw new CoolException("鍛煎彨agv澶辫触"); + } return R.ok(); } + public void uploadErp(InventoryErpParam param){ String response = ""; boolean success = false; -- Gitblit v1.9.1