| | |
| | | private RgvOneSignMapper rgvOneSignMapper; |
| | | @Autowired |
| | | private WrkMastCrnMapper wrkMastCrnMapper; |
| | | @Autowired |
| | | private WrkMastSplitTwinMapper wrkMastSplitTwinMapper; |
| | | |
| | | @Value("${wms.url}") |
| | | private String wmsUrl; |
| | |
| | | continue; |
| | | } |
| | | |
| | | // 已经存在吊车执行任务时,则过滤 |
| | | if (wrkMastSplitTwinMapper.selectCount(new EntityWrapper<WrkMastSplitTwin>().eq("wrk_no", wrkMast.getWrkNo().longValue())) != 0) { |
| | | break; |
| | | // return; |
| | | } |
| | | |
| | | // 双深库位且浅库位有货,则需先对浅库位进行库位移转 |
| | | if (Utils.isDeepLoc(slaveProperties, wrkMast.getLocNo())) { |
| | | String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getLocNo()); |
| | |
| | | wrkMast.setWrkSts(3L); |
| | | wrkMast.setCrnStrTime(now); |
| | | wrkMast.setModiTime(now); |
| | | WrkMastSplitTwin wrkMastSplitTwin = new WrkMastSplitTwin(wrkMast,crnStation,now); |
| | | wrkMastSplitTwin.setWrkSts(1); |
| | | wrkMastSplitTwin.setWrkStart(wrkMast.getStaNo().toString()); |
| | | wrkMastSplitTwin.setWrkEnd(wrkMast.getLocNo()); |
| | | wrkMastSplitTwin.setStartRow(crnStn.getRow()); |
| | | wrkMastSplitTwin.setStartBay(crnStn.getBay()); |
| | | wrkMastSplitTwin.setStartLev(crnStn.getLev()); |
| | | wrkMastSplitTwin.setEndRow(locMast.getRow1()); |
| | | wrkMastSplitTwin.setEndBay(locMast.getBay1()); |
| | | wrkMastSplitTwin.setEndLev(locMast.getLev1()); |
| | | wrkMastSplitTwin.setWrkType(1); |
| | | wrkMastSplitTwin.setIoType(1); |
| | | |
| | | if (wrkMastMapper.updateById(wrkMast) == 0) { |
| | | log.error("修改工作档状态 2.设备上走 => 3.吊车入库中 失败!!,工作号={}", wrkMast.getWrkNo()); |
| | | } |
| | | |
| | | if (wrkMastSplitTwinMapper.insert(wrkMastSplitTwin)==0){ |
| | | log.error("创建 堆垛机执行任务 失败!!,工作号={},堆垛机号={}", wrkMast.getWrkNo(),wrkMast.getCrnNo()); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | } |
| | |
| | | if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo().equals(wrkMast.getWrkNo()) |
| | | && staProtocol.isInEnable() && staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) { |
| | | flag = true; |
| | | } |
| | | |
| | | if (staProtocol.getWorkNo().equals(staProtocolOther.getWorkNo())){ |
| | | continue; |
| | | } |
| | | |
| | | // 查询站点详细信息 |
| | |
| | | // return; |
| | | } |
| | | |
| | | // 已经存在吊车执行任务时,则过滤 |
| | | if (wrkMastSplitTwinMapper.selectCount(new EntityWrapper<WrkMastSplitTwin>().eq("wrk_no", wrkMast.getWrkNo().longValue())) != 0) { |
| | | break; |
| | | // return; |
| | | } |
| | | |
| | | // 1.堆垛机开始移动 |
| | | CrnCommand crnCommand = new CrnCommand(); |
| | | crnCommand.setCrnNo(slave.getId()); // 堆垛机编号 |
| | |
| | | crnCommand.setSourcePosX(sourceSta.getRow1().shortValue()); // 源库位排 |
| | | crnCommand.setSourcePosY(sourceSta.getBay1().shortValue()); // 源库位列 |
| | | crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue()); // 源库位层 |
| | | crnCommand.setDestinationPosX(crnStn.getRow().shortValue()); // 目标库位排 |
| | | crnCommand.setDestinationPosY(crnStn.getBay().shortValue()); // 目标库位列 |
| | | crnCommand.setDestinationPosZ(crnStn.getLev().shortValue()); // 目标库位层 |
| | | crnCommand.setDestinationPosX((short)0); // 目标库位排 |
| | | crnCommand.setDestinationPosY((short)0); // 目标库位列 |
| | | crnCommand.setDestinationPosZ((short)0); // 目标库位层 |
| | | if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(crnStation==1? 2:5, crnCommand))) { |
| | | log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); |
| | | } else { |
| | |
| | | wrkMast.setWrkSts(12L); |
| | | wrkMast.setCrnStrTime(now); |
| | | wrkMast.setModiTime(now); |
| | | WrkMastSplitTwin wrkMastSplitTwin = new WrkMastSplitTwin(wrkMast,crnStation,now); |
| | | wrkMastSplitTwin.setWrkSts(1); |
| | | wrkMastSplitTwin.setWrkStart(wrkMast.getSourceLocNo()); |
| | | wrkMastSplitTwin.setWrkEnd(wrkMast.getSourceStaNo().toString()); |
| | | wrkMastSplitTwin.setStartRow(sourceSta.getRow1()); |
| | | wrkMastSplitTwin.setStartBay(sourceSta.getBay1()); |
| | | wrkMastSplitTwin.setStartLev(sourceSta.getLev1()); |
| | | wrkMastSplitTwin.setEndRow(crnStn.getRow()); |
| | | wrkMastSplitTwin.setEndBay(crnStn.getBay()); |
| | | wrkMastSplitTwin.setEndLev(crnStn.getLev()); |
| | | wrkMastSplitTwin.setWrkType(1); |
| | | wrkMastSplitTwin.setIoType(2); |
| | | if (wrkMastMapper.updateById(wrkMast) == 0) { |
| | | log.error("修改工作档状态 11.生成出库ID => 12.吊车出库中 失败!!,工作号={}", wrkMast.getWrkNo()); |
| | | } |
| | | |
| | | if (wrkMastSplitTwinMapper.insert(wrkMastSplitTwin)==0){ |
| | | log.error("创建 堆垛机执行任务 失败!!,工作号={},堆垛机号={}", wrkMast.getWrkNo(),wrkMast.getCrnNo()); |
| | | } |
| | | break; |
| | | } |
| | | } |