| | |
| | | if (offer) { |
| | | log.info("下发输送线任务成功:taskWrk:" + JSON.toJSONString(taskWrk)); |
| | | Date now = new Date(); |
| | | taskWrk.setStatus(TaskStatusType.OVER3.id); |
| | | if (taskWrk.getTargetPoint().equals(staProtocol.getSiteId().toString())){ |
| | | taskWrk.setStatus(TaskStatusType.OVER.id); |
| | | } else { |
| | | taskWrk.setStatus(TaskStatusType.OVER3.id); |
| | | } |
| | | taskWrk.setWrkSts(14); |
| | | taskWrk.setModiTime(now); |
| | | taskWrk.setCompleteTime(now); |
| | |
| | | //获取入库待确认工作档 |
| | | TaskWrk taskWrk = taskWrkMapper.selectCrnNoInWorking(crnProtocol.getLaneNo(), crnProtocol.getTaskNo().intValue()); |
| | | if (Cools.isEmpty(taskWrk) && crnProtocol.getTaskNo() != 999) { |
| | | log.error("堆垛机处于等待确认且任务完成状态,但未找到工作档。堆垛机号={},巷道号={},工作号={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo()); |
| | | continue; |
| | | log.error("堆垛机处于等待确认且任务完成状态,但未找到符合状态的工作档,准备查询准备状态工作档。堆垛机号={},巷道号={},工作号={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo()); |
| | | taskWrk = taskWrkMapper.selectCrnNoInWorkingBuDing(crnProtocol.getLaneNo(), crnProtocol.getTaskNo().intValue()); |
| | | if (Cools.isEmpty(taskWrk) && crnProtocol.getTaskNo() != 999) { |
| | | log.error("堆垛机处于等待确认且任务完成状态,但未找到工作档。堆垛机号={},巷道号={},工作号={}", crn.getId(), crnProtocol.getLaneNo(), crnProtocol.getTaskNo()); |
| | | continue; |
| | | } |
| | | } |
| | | // Thread.sleep(300); |
| | | //确认完成信号 |
| | |
| | | crnThread.setResetFlag(true); |
| | | |
| | | if (!Cools.isEmpty(taskWrk)) { |
| | | if (taskWrk.getIoType() == 1 && taskWrk.getWrkSts() == 3) { |
| | | if (taskWrk.getIoType() == 1 && (taskWrk.getWrkSts() == 3 || taskWrk.getWrkSts() == 2)) { |
| | | taskWrk.setWrkSts(4);//入库完成 |
| | | taskWrk.setStatus(TaskStatusType.OVER.id);//完结 |
| | | //更新库位状态 |
| | |
| | | locMast.setModiTime(now); |
| | | locMast.setModiUser(9999L); |
| | | locMastService.updateById(locMast); |
| | | } else if (taskWrk.getIoType() == 2 && taskWrk.getWrkSts() == 12) { |
| | | } else if (taskWrk.getIoType() == 2 && (taskWrk.getWrkSts() == 12 || taskWrk.getWrkSts() == 11)) { |
| | | taskWrk.setWrkSts(13);//出库完成 |
| | | taskWrk.setStatus(TaskStatusType.OVER.id);//完结 |
| | | //更新库位状态 |
| | |
| | | locMast.setModiTime(now); |
| | | locMast.setModiUser(9999L); |
| | | locMastService.updateById(locMast); |
| | | } else if (taskWrk.getIoType() == 3 && taskWrk.getWrkSts() == 12) { |
| | | } else if (taskWrk.getIoType() == 3 && (taskWrk.getWrkSts() == 12 || taskWrk.getWrkSts() == 11)) { |
| | | taskWrk.setWrkSts(4);//入库完成 |
| | | taskWrk.setStatus(TaskStatusType.OVER.id);//完结 |
| | | //更新库位状态 |
| | |
| | | ConcurrentHashMap<String, TaskProtocol> allTaskProtocol = taskProtocolCache.getAllTaskProtocol(); |
| | | if (!allTaskProtocol.isEmpty()) { |
| | | for (TaskProtocol taskProtocol : allTaskProtocol.values()) { |
| | | if (taskProtocol.getTaskNo() != 0) { |
| | | if (taskProtocol.getTaskNo() != 0 && taskProtocol.getTaskNo()!=32222L) { |
| | | return taskProtocol.getTaskNo().toString(); |
| | | } |
| | | } |
| | |
| | | TaskWrk taskWrk = taskWrkMapper.selectByTaskNo(taskNoNow); |
| | | if (taskWrk != null) { |
| | | if (!arrayListAllP.contains(taskWrk.getWrkNo())) { |
| | | |
| | | RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId()); |
| | | TaskProtocolCache taskProtocolCache = rgvThread.getTaskProtocolCache(); |
| | | |
| | | arrayListAllP.add(taskWrk.getWrkNo()); |
| | | long startP = 0; |
| | | if (!itSmall){ |
| | | startP = System.currentTimeMillis(); |
| | | } |
| | | BasDevpPosition basDevpPositionEnd = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", BarcodeUtils.getOutStaNo(taskWrk.getOriginTargetPoint()))); |
| | | Long[] longList = {taskWrk.getWrkNo().longValue(),startP,basDevpPositionEnd.getPlcPosition()}; |
| | | |
| | | long endP = 0; |
| | | long endP1 = 0; |
| | | long endP2 = 0; |
| | | ConcurrentHashMap<String, TaskProtocol> allTaskProtocol = taskProtocolCache.getAllTaskProtocol(); |
| | | for (TaskProtocol taskProtocol : allTaskProtocol.values()){ |
| | | if (taskProtocol.getTaskStatus() == 2){//取 |
| | | endP1 = taskProtocol.getTargetPosition(); |
| | | } else if (taskProtocol.getTaskStatus() == 3){//放 |
| | | endP2 = taskProtocol.getTargetPosition(); |
| | | } |
| | | } |
| | | if (endP1 > endP2){ |
| | | if (itSmall){ |
| | | endP = endP1; |
| | | } else { |
| | | endP = endP2; |
| | | } |
| | | } |
| | | if (endP == 0){ |
| | | if (itSmall){ |
| | | endP = System.currentTimeMillis(); |
| | | } |
| | | } |
| | | Long[] longList = {taskWrk.getWrkNo().longValue(),startP,endP}; |
| | | arrayListAll.add(longList); |
| | | } |
| | | } else { |
| | |
| | | } |
| | | if (endP == 0){ |
| | | if (itSmall){ |
| | | startP = System.currentTimeMillis(); |
| | | endP = System.currentTimeMillis(); |
| | | } |
| | | } |
| | | // taskNoNow |