| | |
| | | asyncFakeRun(); |
| | | |
| | | // 请求生成入库任务 |
| | | executeWithTimeout("generateStoreWrkFile", this::generateStoreWrkFile); |
| | | this.generateStoreWrkFile(); |
| | | |
| | | // 执行堆垛机任务 |
| | | executeWithTimeout("crnIoExecute", crnOperateUtils::crnIoExecute); |
| | | crnOperateUtils.crnIoExecuteNormal(); |
| | | // 堆垛机任务执行完成-具备仿真能力 |
| | | executeWithTimeout("crnIoExecuteFinish", this::crnIoExecuteFinish); |
| | | this.crnIoExecuteFinish(); |
| | | // 执行输送站点入库任务 |
| | | executeWithTimeout("stationInExecute", stationOperateProcessUtils::stationInExecute); |
| | | stationOperateProcessUtils.stationInExecute(); |
| | | // 执行输送站点出库任务 |
| | | executeWithTimeout("stationOutExecute", stationOperateProcessUtils::stationOutExecute); |
| | | stationOperateProcessUtils.stationOutExecute(); |
| | | // 检测输送站点出库任务执行完成 |
| | | executeWithTimeout("stationOutExecuteFinish", stationOperateProcessUtils::stationOutExecuteFinish); |
| | | stationOperateProcessUtils.stationOutExecuteFinish(); |
| | | |
| | | // 执行双工位堆垛机任务 |
| | | executeWithTimeout("dualCrnIoExecute", dualCrnOperateProcessUtils::dualCrnIoExecute); |
| | | dualCrnOperateProcessUtils.dualCrnIoExecute(); |
| | | // 双工位堆垛机任务执行完成 |
| | | executeWithTimeout("dualCrnIoExecuteFinish", dualCrnOperateProcessUtils::dualCrnIoExecuteFinish); |
| | | dualCrnOperateProcessUtils.dualCrnIoExecuteFinish(); |
| | | |
| | | News.info("[WCS Debug] 主线程Run执行完成,耗时:{}ms", System.currentTimeMillis() - startTime); |
| | | } |
| | |
| | | |
| | | CreateInTaskParam taskParam = new CreateInTaskParam(); |
| | | taskParam.setTaskNo(String.valueOf(commonService.getWorkNo(WrkIoType.IN.id))); |
| | | taskParam.setSourceStaNo(stationId); |
| | | taskParam.setStaNo(targetStationId); |
| | | taskParam.setSourceStaNo(String.valueOf(stationId)); |
| | | taskParam.setStaNo(String.valueOf(targetStationId)); |
| | | taskParam.setLocNo(locMast.getLocNo()); |
| | | taskParam.setBarcode(stationProtocol.getBarcode()); |
| | | WrkMast wrkMast = commonService.createInTask(taskParam); |
| | |
| | | if (lock != null) { |
| | | continue; |
| | | } |
| | | redisUtil.set(RedisKeyType.GENERATE_IN_TASK_LIMIT.key + stationId, "lock", 10); |
| | | |
| | | String barcode = stationProtocol.getBarcode(); |
| | | Integer stationIdVal = stationProtocol.getStationId(); |
| | |
| | | News.error("WMS入库请求失败,重新发起请求,barcode={},stationId={},response={}", barcode, |
| | | stationIdVal, response); |
| | | wmsOperateUtils.applyInTaskAsync(barcode, stationIdVal, |
| | | stationProtocol.getPalletHeight()); |
| | | stationProtocol.getPalletHeight(),stationProtocol.getWeight()); |
| | | redisUtil.set(RedisKeyType.GENERATE_IN_TASK_LIMIT.key + stationId, "lock", 2); |
| | | continue; |
| | | } |
| | |
| | | StartupDto dto = jsonObject.getObject("data", StartupDto.class); |
| | | |
| | | CreateInTaskParam taskParam = new CreateInTaskParam(); |
| | | taskParam.setTaskNo(dto.getTaskNo()); |
| | | taskParam.setTaskNo(String.valueOf(dto.getTaskNo())); |
| | | taskParam.setLocNo(dto.getLocNo()); |
| | | taskParam.setTaskPri(dto.getTaskPri()); |
| | | taskParam.setBarcode(barcode); |
| | |
| | | News.error("WMS入库接口返回非200,重新发起请求,barcode={},stationId={},response={}", barcode, |
| | | stationIdVal, response); |
| | | wmsOperateUtils.applyInTaskAsync(barcode, stationIdVal, |
| | | stationProtocol.getPalletHeight()); |
| | | stationProtocol.getPalletHeight(),stationProtocol.getWeight()); |
| | | redisUtil.set(RedisKeyType.GENERATE_IN_TASK_LIMIT.key + stationId, "lock", 2); |
| | | } |
| | | } else { |
| | |
| | | // 没有请求进行中,发起新的异步请求 |
| | | News.info("发起异步WMS入库请求,barcode={},stationId={}", barcode, stationIdVal); |
| | | wmsOperateUtils.applyInTaskAsync(barcode, stationIdVal, |
| | | stationProtocol.getPalletHeight()); |
| | | stationProtocol.getPalletHeight(),stationProtocol.getWeight()); |
| | | redisUtil.set(RedisKeyType.GENERATE_IN_TASK_LIMIT.key + stationId, "lock", 2); |
| | | } |
| | | // 如果有请求进行中,等待下次循环再检查 |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | wrkMast.setWrkSts(updateWrkSts); |
| | | wrkMast.setSystemMsg(""); |
| | | wrkMast.setWeight(Cools.isEmpty(crnProtocol.getWeight()) ? 11.11 : crnProtocol.getWeight()); |
| | | wrkMast.setIoTime(new Date()); |
| | | if (wrkMastService.updateById(wrkMast)) { |
| | | CrnCommand resetCommand = crnThread.getResetCommand(crnProtocol.getCrnNo()); |