| | |
| | | @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("未找到AGV暂存位信息"); |
| | | } |
| | | 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"); // 满板:Y |
| | | wrkMast1.setPicking("N"); // 拣料 |
| | | 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("保存工作档失败"); |
| | | } |
| | | // 生成工作档明细 |
| | | 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) { |
| | | |
| | |
| | | break; |
| | | case "3010": |
| | | wrapper.in("source_sta_no", "3013", "3014"); |
| | | break; |
| | | case "1000": |
| | | case "1035": |
| | | wrapper.in("source_sta_no", "1024", "1028"); |
| | | break; |
| | | default: |
| | | } |
| | |
| | | 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失败!!!url:{};request:{};response:{}", ApiInterfaceConstant.AGV_IP + ApiInterfaceConstant.AGV_CALL_IN_PATH, body, response); |
| | |
| | | |
| | | @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(); |
| | |
| | | } |
| | | 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; |