| | |
| | | TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", barcode)); |
| | | if (!Cools.isEmpty(taskWrk1)) { |
| | | log.info("托盘码:" + barcode + "任务档存在"); |
| | | if (taskWrk1.getIoType() == 1 && taskWrk1.getStatus() < 3 && taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString())) { |
| | | if (taskWrk1.getIoType() == 1 && taskWrk1.getStatus() < 3 && (taskWrk1.getStartPoint().equals(staProtocol.getSiteId().toString()) || taskWrk1.getStartPoint().equals(String.valueOf((staProtocol.getSiteId()+1))))) { |
| | | StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() |
| | | .eq("CRN_NO", taskWrk1.getCrnNo()).eq("TYPE_NO", 1).eq("STN_NO", staProtocol.getSiteId())); |
| | | |
| | |
| | | if (taskWrk != null) { |
| | | Integer stano = staProtocol.getStaNo(); |
| | | if (staProtocol.getSiteId() == 1004 || staProtocol.getSiteId()==1020){ |
| | | |
| | | // 判断是否满足取货条件 |
| | | if (!staProtocol.isLoading()) { |
| | | return null; |
| | | } |
| | | // 尺寸检测异常 |
| | | boolean back = false; |
| | | String errMsg = "-"; |
| | |
| | | } |
| | | return null; |
| | | } |
| | | public boolean deviceDetection(RgvSlave.RgvStn inSta,Integer rgvNo) { |
| | | ArrayList<Integer> arrayList = new ArrayList<Integer>() {{ |
| | | add(1009); |
| | | add(1011); |
| | | add(1012); |
| | | add(1014); |
| | | add(1016); |
| | | }}; |
| | | try{ |
| | | |
| | | DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, inSta.getDevpPlcId()); |
| | | ArrayList<Integer> listW = new ArrayList<Integer>(); |
| | | ArrayList<Integer> listL = new ArrayList<Integer>(); |
| | | for (Integer staNo : arrayList){ |
| | | StaProtocol staProtocol = devpThread.getStation().get(staNo); |
| | | if (staProtocol == null) { |
| | | RgvErrCache.updateRgvErr(rgvNo,staNo+"站点数据丢失"); |
| | | return false; |
| | | } |
| | | // 判断是否满足取货条件 |
| | | if (staProtocol.getWorkNo() != 0) { |
| | | if (!listW.contains(staProtocol.getWorkNo())) { |
| | | listW.add(staProtocol.getWorkNo()); |
| | | } |
| | | } |
| | | // 判断是否满足取货条件 |
| | | if (staProtocol.isLoading()) { |
| | | if (!listL.contains(staProtocol.getStaNo())) { |
| | | listL.add(staProtocol.getStaNo()); |
| | | } |
| | | } |
| | | } |
| | | if (listW.size()>=3){ |
| | | RgvErrCache.updateRgvErr(rgvNo,"等待1012拣选,防止堵塞"); |
| | | return false; |
| | | } |
| | | if (listL.size()>=3){ |
| | | RgvErrCache.updateRgvErr(rgvNo,"等待1012拣选,防止堵塞"); |
| | | return false; |
| | | } |
| | | } catch (Exception e){ |
| | | RgvErrCache.updateRgvErr(rgvNo,"1012检测异常:"+e.getMessage()); |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | public boolean rgvOtherStatusEnable(RgvSlave slave) { |
| | | RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId()); |
| | |
| | | if (rgvOtherIDLEOther(rgvSlave)){ |
| | | if (!rgvOtherIDLE(rgvSlave,staList.get(0))){ |
| | | System.out.println("空闲就近跳过==="+rgvSlave.getId()+"==="); |
| | | RgvErrCache.updateRgvErr(rgvSlave.getId(),staList.get(0)+"空闲就近跳过"); |
| | | |
| | | sign=true; |
| | | } |
| | |
| | | if (rgvOtherIDLEOther2(rgvSlave)){ |
| | | if (!rgvOtherIDLE2(rgvSlave,staList.get(0))){ |
| | | System.out.println("运行就近跳过==="+rgvSlave.getId()+"==="); |
| | | RgvErrCache.updateRgvErr(rgvSlave.getId(),staList.get(0)+"运行就近跳过"); |
| | | |
| | | sign=true; |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | } |
| | | RgvErrCache.updateRgvErr(rgvSlave.getId(),"未查询到可执行任务"); |
| | | |
| | | } else { |
| | | //可用区域就近取货 |
| | | //就近排序 |
| | |
| | | if (targetPointConvert == null) { |
| | | return false; |
| | | } |
| | | if (targetPointConvert == 1009){ |
| | | if (!deviceDetection(rgvStn, rgvSlave.getId())){ |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | BasDevpPosition basDevpPositionSou = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStn.getStaNo())); |
| | | BasDevpPosition basDevpPositionEnd = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", targetPointConvert)); |
| | |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("任务生成失败issued1===》异常信息:{}", e.getMessage()); |
| | | RgvErrCache.updateRgvErr(rgvSlave.getId(),rgvStn.getStaNo()+"站点任务生成失败issued1"); |
| | | |
| | | return false; |
| | | } |
| | | |
| | |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("任务生成失败issued2===》异常信息:{}", e.getMessage()); |
| | | RgvErrCache.updateRgvErr(rgvSlave.getId(),rgvStn.getStaNo()+"站点任务生成失败issued2"); |
| | | } |
| | | return true; |
| | | } |