| | |
| | | |
| | | //工位一任务 |
| | | for (RgvSlave.Sta inStn : rgvSlave.getInStn()){ |
| | | if (rgvSlave.getId() == 1 && inStn.getSourceStaNo() == 2114){ |
| | | continue; |
| | | } |
| | | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, inStn.getSourcePlcId()); |
| | | StaProtocol staProtocol = devpThread.getStation().get(inStn.getSourceStaNo()); |
| | | if (staProtocol == null) { |
| | |
| | | if (souSta1 == inStn.getSourceStaNo()){ |
| | | continue; |
| | | } |
| | | if (rgvSlave.getId() == 1 && inStn.getSourceStaNo() == 1014){ |
| | | continue; |
| | | } |
| | | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, inStn.getSourcePlcId()); |
| | | StaProtocol staProtocol = devpThread.getStation().get(inStn.getSourceStaNo()); |
| | | if (staProtocol == null) { |
| | |
| | | continue; |
| | | } |
| | | workNo2 = wrkMast.getWrkNo(); |
| | | souSta2 = inStn.getSourceStaNo().shortValue(); |
| | | souSta2 = Utils.getRgvStaNo(rgvSlave.getId(),staProtocol.getSiteId()); |
| | | sta2 = Utils.getRgvEndStaNo(rgvSlave.getId(),wrkMast.getStaNo()); |
| | | work2 = true; |
| | | devpThread.setPakMk(inStn.getSourceStaNo(),false); |
| | |
| | | if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING && rgvProtocol.getLoaded1() == 0) { |
| | | |
| | | try { |
| | | Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo1()); |
| | | WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); |
| | | if (Cools.isEmpty(wrkMastSta1)){ |
| | | log.error("完成{}号车工位一任务未找到对应rgv任务,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); |
| | | }else { |
| | | if (wrkMastSta1.getWrkType() == 8 ){ |
| | | wrkMastSta1.setWrkSts(3); |
| | | wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); |
| | | boolean offer = MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(3, new RgvCommand())); |
| | | log.info("{}号rgv工位一工作完成复位,工作号:{}",rgvSlave.getId(),rgvProtocol.getTaskNo1()); |
| | | if (offer){ |
| | | //完成rgv任务 |
| | | Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo1()); |
| | | WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); |
| | | if (Cools.isEmpty(wrkMastSta1)){ |
| | | log.error("完成{}号车工位一任务未找到对应rgv任务,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); |
| | | }else { |
| | | if (wrkMastSta1.getWrkType() == 8 ){ |
| | | wrkMastSta1.setWrkSts(3); |
| | | wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); |
| | | } |
| | | } |
| | | |
| | | //完成工作档任务 |
| | | if (rgvSlave.getId() != 1){ |
| | | WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo1()); |
| | | if (Cools.isEmpty(wrkMast)){ |
| | | log.error("完成{}号车工位一任务未找到对应rgv任务,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); |
| | | }else { |
| | | if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101){ |
| | | Date date = new Date(); |
| | | wrkMast.setWrkSts(14L); |
| | | wrkMast.setModiTime(date); |
| | | wrkMastService.updateById(wrkMast); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | }catch (Exception e){ |
| | | log.error("完成{}号车工位一任务出错!!!!!!!!!!!!!!!!,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); |
| | |
| | | } |
| | | |
| | | |
| | | MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(3,new RgvCommand())); |
| | | log.info("{}号rgv工位一工作完成复位,工作号:{}",rgvSlave.getId(),rgvProtocol.getTaskNo1()); |
| | | |
| | | } |
| | | |
| | | //工位二任务完成 |
| | | if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING2 && rgvProtocol.getLoaded2() == 0) { |
| | | try { |
| | | Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo2()); |
| | | WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); |
| | | if (Cools.isEmpty(wrkMastSta1)){ |
| | | log.error("完成{}号车工位二任务未找到对应工作任务,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); |
| | | }else { |
| | | if (wrkMastSta1.getWrkType() == 9 ){ |
| | | wrkMastSta1.setWrkSts(3); |
| | | wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); |
| | | }else if (wrkMastSta1.getWrkType() == 1){ |
| | | wrkMastSta1.setWrkSts(3); |
| | | wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); |
| | | boolean offer = MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4, new RgvCommand())); |
| | | log.info("{}号rgv工位二工作完成复位,工作号:{}",rgvSlave.getId(),rgvProtocol.getTaskNo2()); |
| | | if (offer){ |
| | | //完成rgv任务 |
| | | Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no2", rgvProtocol.getTaskNo2()); |
| | | WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); |
| | | if (Cools.isEmpty(wrkMastSta1)){ |
| | | log.error("完成{}号车工位二任务未找到对应工作任务,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); |
| | | }else { |
| | | if (wrkMastSta1.getWrkType() == 9 ){ |
| | | wrkMastSta1.setWrkSts(3); |
| | | wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); |
| | | }else if (wrkMastSta1.getWrkType() == 1){ |
| | | wrkMastSta1.setWrkSts(3); |
| | | wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); |
| | | } |
| | | } |
| | | |
| | | //完成工作档任务 |
| | | if (rgvSlave.getId() != 1){ |
| | | WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo2()); |
| | | if (Cools.isEmpty(wrkMast)){ |
| | | log.error("完成{}号车工位一任务未找到对应rgv任务,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); |
| | | }else { |
| | | if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101){ |
| | | Date date = new Date(); |
| | | wrkMast.setWrkSts(14L); |
| | | wrkMast.setModiTime(date); |
| | | wrkMastService.updateById(wrkMast); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | }catch (Exception e){ |
| | | log.error("完成{}号车工位一任务出错!!!!!!!!!!!!!!!!,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); |
| | | continue; |
| | |
| | | |
| | | |
| | | |
| | | MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4,new RgvCommand())); |
| | | log.info("{}号rgv工位二工作完成复位,工作号:{}",rgvSlave.getId(),rgvProtocol.getTaskNo2()); |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | //工位一任务完成 |
| | | if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.OUTSTN1 && rgvProtocol.getLoaded1() == 1) { |
| | | WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo(rgvProtocol.getRgvNo(), rgvProtocol.getTaskNo1()); |
| | | WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo(rgvSlave.getId(), rgvProtocol.getTaskNo1()); |
| | | WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo1()); |
| | | if (Cools.isEmpty(wrkMastSta)){ |
| | | log.error("未查询到rgv工作任务,rgv编号{},工作号{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); |
| | |
| | | } |
| | | if (staProtocol.isAutoing() && !staProtocol.isLoading() && staProtocol.isPakMk()){ |
| | | staProtocol.setWorkNo(wrkMastSta.getWrkNo().shortValue()); |
| | | staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); |
| | | if (rgvSlave.getId() == 3 && outStn.getStaPlcId() == 6){ |
| | | staProtocol.setStaNo((short)2401); |
| | | }else { |
| | | staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); |
| | | } |
| | | |
| | | MessageQueue.offer(SlaveType.Devp, outStn.getStaPlcId(), new Task(2, staProtocol)); |
| | | } |
| | | } |
| | |
| | | |
| | | //工位二任务完成 |
| | | if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.OUTSTN8 && rgvProtocol.getLoaded2() == 1) { |
| | | WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo(rgvProtocol.getRgvNo(), rgvProtocol.getTaskNo2()); |
| | | WrkMastSta wrkMastSta = wrkMastStaService.selectByRgvNoandWrkNo2(rgvProtocol.getRgvNo(), rgvProtocol.getTaskNo2()); |
| | | WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo2()); |
| | | if (Cools.isEmpty(wrkMastSta)){ |
| | | log.error("未查询到rgv工作任务,rgv编号{},工作号{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); |
| | | continue; |
| | | } |
| | | for (RgvSlave.Sta outStn :rgvSlave.getOutStn()){ |
| | | if (wrkMastSta.getStaEnd() != outStn.getStaNo()){ |
| | | if (!Objects.equals(Utils.getStaNo(rgvSlave.getId(), wrkMastSta.getStaEnd()), outStn.getStaNo())){ |
| | | continue; |
| | | } |
| | | }//判断是否为工作档站点 |
| | | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, outStn.getStaPlcId()); |
| | | StaProtocol staProtocol = devpThread.getStation().get(outStn.getStaNo()); |
| | | if (staProtocol == null) { |
| | |
| | | if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING && rgvProtocol.getLoaded1() == 0) { |
| | | |
| | | try { |
| | | Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo1()); |
| | | WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); |
| | | if (Cools.isEmpty(wrkMastSta1)){ |
| | | log.error("完成{}号车工位一任务未找到对应rgv任务,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); |
| | | }else { |
| | | if (wrkMastSta1.getWrkType() == 8 ){ |
| | | wrkMastSta1.setWrkSts(3); |
| | | wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); |
| | | boolean offer = MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(3, new RgvCommand())); |
| | | log.info("{}号rgv工位一工作完成复位,工作号:{}",rgvSlave.getId(),rgvProtocol.getTaskNo1()); |
| | | if (offer){ |
| | | |
| | | Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo1()); |
| | | WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); |
| | | if (Cools.isEmpty(wrkMastSta1)){ |
| | | log.error("完成{}号车工位一任务未找到对应rgv任务,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); |
| | | }else { |
| | | if (wrkMastSta1.getWrkType() == 8 ){ |
| | | wrkMastSta1.setWrkSts(3); |
| | | wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); |
| | | } |
| | | } |
| | | |
| | | //完成工作档任务 |
| | | WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo1()); |
| | | if (Cools.isEmpty(wrkMast)){ |
| | | log.error("完成{}号车工位一任务未找到对应rgv任务,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); |
| | | }else { |
| | | if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101){ |
| | | Date date = new Date(); |
| | | wrkMast.setWrkSts(14L); |
| | | wrkMast.setModiTime(date); |
| | | wrkMastService.updateById(wrkMast); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | }catch (Exception e){ |
| | | log.error("完成{}号车工位一任务出错!!!!!!!!!!!!!!!!,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); |
| | |
| | | } |
| | | |
| | | |
| | | MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(3,new RgvCommand())); |
| | | log.info("{}号rgv工位一工作完成复位,工作号:{}",rgvSlave.getId(),rgvProtocol.getTaskNo1()); |
| | | |
| | | } |
| | | |
| | | //工位二任务完成 |
| | | if (rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getStatusType() == RgvStatusType.WAITING2 && rgvProtocol.getLoaded2() == 0) { |
| | | try { |
| | | Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo2()); |
| | | WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); |
| | | if (Cools.isEmpty(wrkMastSta1)){ |
| | | log.error("完成{}号车工位二任务未找到对应工作任务,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); |
| | | }else { |
| | | if (wrkMastSta1.getWrkType() == 9 ){ |
| | | wrkMastSta1.setWrkSts(3); |
| | | wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); |
| | | }else if (wrkMastSta1.getWrkType() == 1){ |
| | | wrkMastSta1.setWrkSts(3); |
| | | wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); |
| | | boolean offer = MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4, new RgvCommand())); |
| | | log.info("{}号rgv工位二工作完成复位,工作号:{}",rgvSlave.getId(),rgvProtocol.getTaskNo2()); |
| | | if (offer){ |
| | | Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", rgvProtocol.getRgvNo()).eq("wrk_no", rgvProtocol.getTaskNo2()); |
| | | WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); |
| | | if (Cools.isEmpty(wrkMastSta1)){ |
| | | log.error("完成{}号车工位二任务未找到对应工作任务,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); |
| | | }else { |
| | | if (wrkMastSta1.getWrkType() == 9 ){ |
| | | wrkMastSta1.setWrkSts(3); |
| | | wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); |
| | | }else if (wrkMastSta1.getWrkType() == 1){ |
| | | wrkMastSta1.setWrkSts(3); |
| | | wrkMastStaService.update(wrkMastSta1,wrkMastStaWrapper); |
| | | } |
| | | } |
| | | |
| | | //完成工作档任务 |
| | | WrkMast wrkMast = wrkMastService.selectByworkNo(rgvProtocol.getTaskNo2()); |
| | | if (Cools.isEmpty(wrkMast)){ |
| | | log.error("完成{}号车工位一任务未找到对应rgv任务,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo2()); |
| | | }else { |
| | | if (wrkMast.getIoType() == 110 || wrkMast.getIoType() == 101){ |
| | | Date date = new Date(); |
| | | wrkMast.setWrkSts(14L); |
| | | wrkMast.setModiTime(date); |
| | | wrkMastService.updateById(wrkMast); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | }catch (Exception e){ |
| | | log.error("完成{}号车工位一任务出错!!!!!!!!!!!!!!!!,{}",rgvProtocol.getRgvNo(),rgvProtocol.getTaskNo1()); |
| | |
| | | |
| | | |
| | | |
| | | MessageQueue.offer(SlaveType.Rgv, rgvSlave.getId(), new Task(4,new RgvCommand())); |
| | | log.info("{}号rgv工位二工作完成复位,工作号:{}",rgvSlave.getId(),rgvProtocol.getTaskNo2()); |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | public boolean rgvTaskSave(RgvCommand command){ |
| | | Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", command.getRgvNo()).eq("wrk_no", command.getTaskNo1()); |
| | | WrkMastSta wrkMastSta1 = wrkMastStaService.selectOne(wrkMastStaWrapper); |
| | | // Wrapper<WrkMastSta> wrkMastStaWrapper = new EntityWrapper<WrkMastSta>().eq("wrk_crn", command.getRgvNo()).eq("wrk_no", command.getTaskNo1()); |
| | | List<WrkMastSta> wrkMastSta1 = wrkMastStaService.selectBywrkNoHistoricalTasks(command.getRgvNo(),command.getTaskNo1(),command.getTaskNo2()); |
| | | if (!Cools.isEmpty(wrkMastSta1)){ |
| | | wrkMastStaService.delete(wrkMastStaWrapper); |
| | | wrkMastStaService.deleteBatchIds(wrkMastSta1); |
| | | } |
| | | WrkMastSta wrkMastSta = new WrkMastSta(); |
| | | wrkMastSta.setWrkNo(Long.valueOf(command.getTaskNo1())); |