|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public synchronized void stackingCompletionDriveTray() { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | List<WrkMast> wrkMasts = wrkMastMapper.selectStackingCompletionDriveTray(); | 
|---|
|  |  |  | if (Cools.isEmpty(wrkMasts) || wrkMasts.size()==0){ | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (WrkMast wrkMast : wrkMasts){ | 
|---|
|  |  |  | wrkMast.setWrkSts(44L); | 
|---|
|  |  |  | // 获取入库站信息 | 
|---|
|  |  |  | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); | 
|---|
|  |  |  | StaProtocol staProtocol = devpThread.getStation().get(wrkMast.getStaNo()); | 
|---|
|  |  |  | if (staProtocol == null) { | 
|---|
|  |  |  | log.error("码垛位自动补充空板:驱动拆盘机输出托盘,任务下发失败,站点查询失败"); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | staProtocol = staProtocol.clone(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!staProtocol.isLoading()){ | 
|---|
|  |  |  | log.info("码垛位自动补充空板:驱动拆盘机输出托盘,任务下发失败,站点无物,正在自动调出空板!"); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 判断是否满足入库条件 | 
|---|
|  |  |  | if (staProtocol.isAutoing() && staProtocol.getWorkNo().equals(wrkMast.getWrkNo().shortValue()) && staProtocol.isPakMk()) { | 
|---|
|  |  |  | staProtocol.setWorkNo((short)9999); | 
|---|
|  |  |  | int staNo = wrkMast.getStaNo() + 1; | 
|---|
|  |  |  | staProtocol.setStaNo((short)staNo); | 
|---|
|  |  |  | devpThread.setPakMk(staProtocol.getSiteId(), false); | 
|---|
|  |  |  | boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol)); | 
|---|
|  |  |  | if (!result) { | 
|---|
|  |  |  | throw new CoolException("更新plc站点信息失败==>码垛位自动补充空板:驱动拆盘机输出托盘!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | log.info("码垛位自动补充空板:驱动拆盘机输出托盘,任务下发成功:工作号9999、目标站214!"); | 
|---|
|  |  |  | wrkMastMapper.updateStackingCompletionDriveTray(wrkMast.getWrkNo()); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | log.error("码垛位自动补充空板:驱动拆盘机输出托盘,任务下发失败,站点状态不符合!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); | 
|---|