| | |
| | | } |
| | | |
| | | /** |
| | | * 拣料/盘点转全板后,300站任务转100/200站去 |
| | | */ |
| | | public synchronized void transPickToFullChangeStn() { |
| | | for (DevpSlave devp : slaveProperties.getDevp()) { |
| | | // 遍历拣料出库口 |
| | | for (DevpSlave.Sta pickSta : devp.getPickOutSta()) { |
| | | // 获取拣料出库站信息 |
| | | DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); |
| | | StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo()); |
| | | if (staProtocol == null) { |
| | | continue; |
| | | } else { |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | |
| | | if (staProtocol.isAutoing() |
| | | && staProtocol.isLoading() |
| | | && staProtocol.isInEnable() |
| | | && staProtocol.getWorkNo() > 0 |
| | | && staProtocol.getStaNo().equals(staProtocol.getSiteId().shortValue()) |
| | | && staProtocol.isPakMk()){ |
| | | WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo()); |
| | | if(Cools.isEmpty(wrkMast)){ |
| | | log.error("拣料/盘点转全板,任务号工作档不存在===>>[任务号:{}]", staProtocol.getWorkNo()); |
| | | continue; |
| | | } |
| | | if (wrkMast.getIoType() != 101) { continue; } |
| | | |
| | | //拣料转全板默认出库站100站,当100站有物时,目标改200站 |
| | | Integer staNo = 100; |
| | | StaProtocol staProtocol100 = devpThread.getStation().get(staNo); |
| | | if (staProtocol100 == null) { |
| | | continue; |
| | | } else { |
| | | staProtocol100 = staProtocol100.clone(); |
| | | } |
| | | if (staProtocol100.isLoading()) { |
| | | staNo = 200; |
| | | } |
| | | |
| | | // 更新站点信息 且 下发plc命令 |
| | | staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); |
| | | staProtocol.setStaNo(staNo.shortValue()); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | if (!result) { |
| | | log.error("发布命令至输送线队列失败!!! [plc编号:{}]", devp.getId()); |
| | | } else { |
| | | wrkMast.setStaNo(staNo); |
| | | wrkMast.setModiTime(new Date()); |
| | | if (wrkMastMapper.updateById(wrkMast) == 0) { |
| | | log.error("更新工作档的目标站失败!!! [工作号:{}]", wrkMast.getWrkNo()); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 堆垛机站出库到出库站 |
| | | */ |
| | | public synchronized void crnStnToOutStn() { |