| | |
| | | if (rgvComplete){ |
| | | rgvThread.setPakMk(true); |
| | | } |
| | | WrkMastSta wrkMastSta = wrkMastStaMapper.selectById(rgvProtocol.getTaskNo1()); |
| | | if (!Cools.isEmpty(wrkMastSta)){ |
| | | List<WrkMastSta> wrkMastStas = wrkMastStaMapper.selectList(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", rgvProtocol.getTaskNo1())); |
| | | if (!Cools.isEmpty(wrkMastStas) || wrkMastStas.size()<=0){ |
| | | WrkMastSta wrkMastSta = wrkMastStas.get(0); |
| | | wrkMastSta.setWrkSts(3); |
| | | wrkMastStaMapper.updateById(wrkMastSta); |
| | | } |
| | |
| | | // System.out.println(JSON.toJSONString(staProtocol)); |
| | | if (staProtocol.isAutoing()){ |
| | | WrkMastSta wrkMastSta = new WrkMastSta(new Date(),2,1); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | if (count==0){ |
| | | wrkMastSta.setType(1); |
| | | wrkMastSta.setWrkType(3); |
| | |
| | | } |
| | | }else if (staProtocol.isLoading()){ |
| | | WrkMastSta wrkMastSta = new WrkMastSta(new Date(),2,3); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | if (count==0){ |
| | | wrkMastSta.setType(1); |
| | | wrkMastSta.setWrkType(3); |
| | |
| | | } |
| | | }else if (staProtocol.isInEnable()){ |
| | | WrkMastSta wrkMastSta = new WrkMastSta(new Date(),2,5); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | if (count==0){ |
| | | wrkMastSta.setType(1); |
| | | wrkMastSta.setWrkType(3); |
| | |
| | | } |
| | | }else if (staProtocol.isOutEnable()){ |
| | | WrkMastSta wrkMastSta = new WrkMastSta(new Date(),2,7); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | if (count==0){ |
| | | wrkMastSta.setType(1); |
| | | wrkMastSta.setWrkType(3); |
| | |
| | | } |
| | | if (staProtocol.isEmptyMk()){ |
| | | WrkMastSta wrkMastSta = new WrkMastSta(new Date(),1,10); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | if (count==0){ |
| | | wrkMastSta.setType(1); |
| | | wrkMastSta.setWrkType(3); |
| | |
| | | } |
| | | if (staProtocol.isFullPlt()){ |
| | | WrkMastSta wrkMastSta = new WrkMastSta(new Date(),3,10); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | if (count==0){ |
| | | wrkMastSta.setType(1); |
| | | wrkMastSta.setWrkType(3); |
| | |
| | | } |
| | | if (staProtocol.isCar()){ |
| | | WrkMastSta wrkMastSta = new WrkMastSta(new Date(),5,10); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | if (count==0){ |
| | | wrkMastSta.setType(1); |
| | | wrkMastSta.setWrkType(3); |
| | |
| | | } |
| | | if (staProtocol.isLow()){ |
| | | WrkMastSta wrkMastSta = new WrkMastSta(new Date(),7,10); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | Integer count = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts",3).eq("wrk_no", wrkMastSta.getWrkNo())); |
| | | if (count==0){ |
| | | wrkMastSta.setType(1); |
| | | wrkMastSta.setWrkType(3); |
| | |
| | | return; |
| | | } |
| | | // 只有当RGV空闲、自动,工位一无物//rgv可用 |
| | | if (rgvProtocol.getStatusType() == RgvStatusType.IDLE |
| | | if (rgvProtocol.getStatusType1() == RgvStatusType.IDLE |
| | | && rgvProtocol.getModeType() == RgvModeType.AUTO |
| | | && rgvProtocol.getLoaded1()==0 |
| | | && rgvProtocol.getTaskNo1() == 0 |
| | | && rgvThread.isPakMk() |
| | | ) { |
| | | List<WrkMastSta> wrkMastStaList = wrkMastStaMapper.selectList(new EntityWrapper<WrkMastSta>()); |
| | | Integer selectCount = wrkMastStaMapper.selectCount(new EntityWrapper<WrkMastSta>().ne("wrk_sts", 3).ne("wrk_sts", 0)); |
| | | if (selectCount>0){ |
| | | log.error("存在执行RGV中任务,但是小车状态空闲!!!"); |
| | | return; |
| | | } |
| | | |
| | | List<WrkMastSta> wrkMastStaList = wrkMastStaMapper.selectList(new EntityWrapper<WrkMastSta>().eq("wrk_sts",0)); |
| | | for (WrkMastSta wrkMastSta : wrkMastStaList){ |
| | | if (wrkMastSta.getType()!=0 || wrkMastSta.getWrkType()!=3){//1:满版 3:取放 |
| | | if (wrkMastSta.getType()!=1 || wrkMastSta.getWrkType()!=3){//1:满版 3:取放 |
| | | continue; |
| | | } |
| | | boolean sign = rgvTakeFullAll(1, wrkMastSta); //命令下发 |
| | |
| | | rgvCommand.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 工位1任务模式: 取放货 |
| | | rgvCommand.setSourceStaNo1(wrkMastSta.getStaStart().shortValue()); //工位1起点 |
| | | rgvCommand.setDestinationStaNo1(wrkMastSta.getStaEnd().shortValue()); //工位1目标站点 |
| | | rgvCommand.setCommand((short) 1); //工位1任务确认 |
| | | rgvCommand.setCommand((short) 0); //工位1任务确认 |
| | | if (!MessageQueue.offer(SlaveType.Rgv, rgvId, new Task(4, rgvCommand))) { |
| | | //step=2,工位1、2写任务; step=4,工位1写任务; step=5,工位2写任务 |
| | | log.error("RGV命令下发失败,RGV号={},任务数据={}", rgvId, JSON.toJSON(rgvCommand)); |