| | |
| | | WrkMast wrkMast = wrkMastMapper.selectPakInStep4(staProtocol.getSiteId(),"3"); |
| | | |
| | | if (wrkMast == null) { |
| | | WrkMast wrkMast1 = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"3"); |
| | | if (Cools.isEmpty(wrkMast1) && staProtocol.isEmptyMk()){ |
| | | WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 9999L); |
| | | if (Cools.isEmpty(wrkMastSta)){ |
| | | WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId()); |
| | | wrkMastSta1.setType(2); |
| | | wrkMastSta1.setWrkType(1); |
| | | wrkMastStaMapper.insert(wrkMastSta1); |
| | | } |
| | | continue; |
| | | } |
| | | // WrkMast wrkMast1 = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"3"); |
| | | // if (Cools.isEmpty(wrkMast1) && staProtocol.isEmptyMk()){ |
| | | // WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 9999L); |
| | | // if (Cools.isEmpty(wrkMastSta)){ |
| | | // WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId()); |
| | | // wrkMastSta1.setType(2); |
| | | // wrkMastSta1.setWrkType(1); |
| | | // wrkMastStaMapper.insert(wrkMastSta1); |
| | | // } |
| | | // continue; |
| | | // } |
| | | // log.error("站点号"+staProtocol.getSiteId()+"未查询到工作档案!"); |
| | | // 无拣料数据 |
| | | continue; |
| | |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 拣料、并板、盘点再入库 拆垛位置 |
| | | */ |
| | | public synchronized void storeEmptyPlt4() { |
| | | for (DevpSlave devp : slaveProperties.getDevp()) { |
| | | // 遍历叠盘入库口 |
| | | for (DevpSlave.Sta pickSta : devp.getEmptyInSta2()) { |
| | | |
| | | // 获取入库站信息 |
| | | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); |
| | | StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo()); |
| | | if (staProtocol == null) { |
| | | continue; |
| | | } else { |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | BasDevp basDevp = basDevpService.selectById(staProtocol.getSiteId()); |
| | | if (Cools.isEmpty(basDevp) || basDevp.getReportSign()!=1){ |
| | | continue; |
| | | } |
| | | |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isPakMk() && staProtocol.getWorkNo()==0 && !staProtocol.isOutEnable() && staProtocol.isInEnable()) { |
| | | WrkMast wrkMast = wrkMastMapper.selectPakInStep4(staProtocol.getSiteId(),"3"); |
| | | if (wrkMast == null) { |
| | | WrkMast wrkMast1 = wrkMastMapper.selectPakInStep5(staProtocol.getSiteId(),"3"); |
| | | if (Cools.isEmpty(wrkMast1) && staProtocol.isEmptyMk()){ |
| | | WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 19999L); |
| | | if (Cools.isEmpty(wrkMastSta)){ |
| | | WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId()); |
| | | wrkMastSta1.setType(2); |
| | | wrkMastSta1.setWrkType(1); |
| | | wrkMastStaMapper.insert(wrkMastSta1); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | int[] staNos=new int[]{131,135};//(2个入库站点,1楼2个出库码垛站,根据现场修改) |
| | | for (int staNo : staNos){ |
| | | BasDevp basDevp = basDevpService.selectById(staNo); |
| | | if (basDevp.getWrkNo()!=0){ |
| | | if (Cools.isEmpty(basDevp) || basDevp.getReportSign()!=1){ |
| | | continue; |
| | | } |
| | | if (basDevp.getWrkNo()!=0 && (basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>9999)){ |
| | | continue; |
| | | } |
| | | WrkMast wrkMast = wrkMastMapper.selectWrkMastUnstackingOne202(staNo); |
| | |
| | | int[] staNos=new int[]{144};//(1楼1个贴标位,根据现场修改) |
| | | for (int staNo : staNos){ |
| | | BasDevp basDevp = basDevpService.selectById(staNo); |
| | | if ((basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>19999) && basDevp.getWrkNo()!=32222){ |
| | | if ((basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>9999) && basDevp.getWrkNo()!=32222){ |
| | | continue; |
| | | } |
| | | WrkMast wrkMast = wrkMastMapper.selectWrkMastUnstackingOne202(staNo); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 其他 ===>> 拆垛完成继续下一步 运行途中自动避让空板 |
| | | */ |
| | | public synchronized void stackingCompletionDriveTray4() { |
| | | try { |
| | | int[] staNos=new int[]{134};//(134有任务,135空闲,则避让) |
| | | for (int staNo : staNos){ |
| | | BasDevp basDevp = basDevpService.selectById(staNo); |
| | | BasDevp basDevp135 = basDevpService.selectById(135); |
| | | if (basDevp.getWrkNo()==0 || (basDevp.getWrkNo()<10000 && basDevp.getWrkNo()>9899) ){ |
| | | continue; |
| | | } |
| | | if (basDevp135.getReportSign()!=0){ |
| | | continue; |
| | | } |
| | | WrkMast wrkMast131 = wrkMastMapper.selectWrkMastUnstackingOne202Two(131); |
| | | if (Cools.isEmpty(wrkMast131)){ |
| | | continue; |
| | | } |
| | | // 获取站点信息 |
| | | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); |
| | | StaProtocol staProtocol135 = devpThread.getStation().get(135); |
| | | if (staProtocol135 == null) { |
| | | continue; |
| | | } else { |
| | | staProtocol135 = staProtocol135.clone(); |
| | | } |
| | | if (staProtocol135.getWorkNo()<9900 || staProtocol135.getWorkNo()>9999 || staProtocol135.getWorkNo()==0 |
| | | || !staProtocol135.isLoading() || !staProtocol135.isAutoing()){ |
| | | continue; |
| | | } |
| | | StaProtocol staProtocol = devpThread.getStation().get(staNo); |
| | | if (staProtocol == null) { |
| | | continue; |
| | | } else { |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | |
| | | if (!staProtocol.isLoading()){ |
| | | continue; |
| | | } |
| | | // if (!staProtocol.getWorkNo().equals(wrkMast131.getWrkNo())){ |
| | | // log.info("站点工作号={} 与贴标工作号={} 不一致,异常!",staProtocol.getWorkNo(),wrkMast131.getWrkNo().shortValue()); |
| | | // } |
| | | // 判断是否满足入库条件 |
| | | if (staProtocol.isAutoing() |
| | | && staProtocol.isLoading() |
| | | && basDevp.getReportSign()==0 |
| | | ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) { |
| | | if (true){ |
| | | return; |
| | | } |
| | | |
| | | //任务完成 |
| | | boolean result1 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(3, staProtocol135)); |
| | | try{ |
| | | Thread.sleep(100); |
| | | }catch (Exception e){ } |
| | | basDevp135.setReportSign(2); |
| | | basDevpService.updateById(basDevp135); |
| | | staProtocol135.setWorkNo(32222); |
| | | staProtocol135.setStaNo(144); |
| | | devpThread.setPakMk(staProtocol135.getSiteId(), false); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol135)); |
| | | if (!result) { |
| | | throw new CoolException("更新plc站点信息失败==>驱动码垛位托盘前进失败!"); |
| | | } |
| | | boolean result2 = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(4, staProtocol135)); |
| | | |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | // e.printStackTrace(); |
| | | // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | log.error("其他 ===>> 贴标完成驱动托盘进入下一步"+e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 完成小车任务 |
| | | */ |
| | | public synchronized void rgvCompleteWrkMastSta() { |