|  |  |  | 
|---|
|  |  |  | News.error("MainServiceImpl  generateStoreWrkFile"+"203为出库模式,禁止入库,退回入库口。!!!"); | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if ( inSta.getStaNo()==113 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) { | 
|---|
|  |  |  | //有出库任务,退库到入库口 | 
|---|
|  |  |  | staProtocol.setWorkNo((short) 9999); | 
|---|
|  |  |  | staProtocol.setStaNo((short)114); | 
|---|
|  |  |  | devpThread.setPakMk(staProtocol.getSiteId(), false); | 
|---|
|  |  |  | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); | 
|---|
|  |  |  | News.error("MainServiceImpl  generateStoreWrkFile"+"103为出库模式,禁止入库,退回入库口。!!!"); | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if ( inSta.getStaNo()==213 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) { | 
|---|
|  |  |  | //有出库任务,退库到入库口 | 
|---|
|  |  |  | staProtocol.setWorkNo((short) 9999); | 
|---|
|  |  |  | staProtocol.setStaNo((short)214); | 
|---|
|  |  |  | devpThread.setPakMk(staProtocol.getSiteId(), false); | 
|---|
|  |  |  | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); | 
|---|
|  |  |  | News.error("MainServiceImpl  generateStoreWrkFile"+"203为出库模式,禁止入库,退回入库口。!!!"); | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取条码扫描仪信息 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (wrkMast.getStaNo() == 203 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) { | 
|---|
|  |  |  | News.error("MainServiceImpl  locToCrnStn"+"203非出库模式,禁止出库。任务号:{}!!!",wrkMast.getWrkNo()); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (wrkMast.getStaNo() == 113 && devpThread.ioModeOf3F != IoModeType.PAKOUT_MODE) { | 
|---|
|  |  |  | News.error("MainServiceImpl  locToCrnStn"+"113非出库模式,禁止出库。任务号:{}!!!",wrkMast.getWrkNo()); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (wrkMast.getStaNo() == 213 && devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) { | 
|---|
|  |  |  | News.error("MainServiceImpl  locToCrnStn"+"213非出库模式,禁止出库。任务号:{}!!!",wrkMast.getWrkNo()); | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | News.error("MainServiceImpl  storeEmptyPlt"+"203为出库模式,禁止入库,退回入库口。!!!"); | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if ( emptyInSta.getStaNo()==113 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) { | 
|---|
|  |  |  | //有出库任务,退库到入库口 | 
|---|
|  |  |  | staProtocol.setWorkNo((short) 9999); | 
|---|
|  |  |  | staProtocol.setStaNo((short)100); | 
|---|
|  |  |  | devpThread.setPakMk(staProtocol.getSiteId(), false); | 
|---|
|  |  |  | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); | 
|---|
|  |  |  | News.error("MainServiceImpl  storeEmptyPlt"+"113为出库模式,禁止入库,退回入库口。!!!"); | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if ( emptyInSta.getStaNo()==213 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) { | 
|---|
|  |  |  | //有出库任务,退库到入库口 | 
|---|
|  |  |  | staProtocol.setWorkNo((short) 9999); | 
|---|
|  |  |  | staProtocol.setStaNo((short)200); | 
|---|
|  |  |  | devpThread.setPakMk(staProtocol.getSiteId(), false); | 
|---|
|  |  |  | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); | 
|---|
|  |  |  | News.error("MainServiceImpl  storeEmptyPlt"+"213为出库模式,禁止入库,退回入库口。!!!"); | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 站点条件判断 | 
|---|
|  |  |  | 
|---|
|  |  |  | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (DevpSlave.Sta inSta : devp.getInSta()) { | 
|---|
|  |  |  | Integer sourceStaNo = inSta.getStaNo()==103 ? 104 : 204; | 
|---|
|  |  |  | Integer sourceStaNo = inSta.getStaNo()==103 ? 104 : inSta.getStaNo()==113 ? 104 : 204; | 
|---|
|  |  |  | WrkMast pakout = wrkMastMapper.selectWorkingPakout(sourceStaNo); | 
|---|
|  |  |  | switch (inSta.getStaNo()) { | 
|---|
|  |  |  | case 103://1F | 
|---|
|  |  |  | case 103://1F1 | 
|---|
|  |  |  | if (pakout != null) { | 
|---|
|  |  |  | if (devpThread.ioModeOf1F != IoModeType.PAKOUT_MODE) { | 
|---|
|  |  |  | // 出库切换中 | 
|---|
|  |  |  | 
|---|
|  |  |  | devpThread.ioModeOf1F = IoModeType.PAKIN_MODE; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 203://2F | 
|---|
|  |  |  | case 203://1F2 | 
|---|
|  |  |  | if (pakout != null) { | 
|---|
|  |  |  | if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) { | 
|---|
|  |  |  | // 出库切换中 | 
|---|
|  |  |  | 
|---|
|  |  |  | devpThread.ioModeOf2F = IoModeType.PAKIN_MODE; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | //                        case 113://2F1 | 
|---|
|  |  |  | //                            if (pakout != null) { | 
|---|
|  |  |  | //                                if (devpThread.ioModeOf3F != IoModeType.PAKOUT_MODE) { | 
|---|
|  |  |  | //                                    // 出库切换中 | 
|---|
|  |  |  | ////                                    devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING; | 
|---|
|  |  |  | ////                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); | 
|---|
|  |  |  | ////                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() | 
|---|
|  |  |  | ////                                            && !devpThread.getStation().get(inSta.getStaNo()-1).isLoading() | 
|---|
|  |  |  | ////                                            && devpThread.getStation().get(inSta.getStaNo()-1).getWorkNo()==0) { | 
|---|
|  |  |  | ////                                        // 出库模式 | 
|---|
|  |  |  | //                                    devpThread.ioModeOf3F = IoModeType.PAKOUT_MODE; | 
|---|
|  |  |  | ////                                    } | 
|---|
|  |  |  | //                                } | 
|---|
|  |  |  | //                            } else { | 
|---|
|  |  |  | //                                // 入库模式 | 
|---|
|  |  |  | //                                devpThread.ioModeOf3F = IoModeType.PAKIN_MODE; | 
|---|
|  |  |  | //                            } | 
|---|
|  |  |  | //                            break; | 
|---|
|  |  |  | //                        case 213://2F2 | 
|---|
|  |  |  | //                            if (pakout != null) { | 
|---|
|  |  |  | //                                if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) { | 
|---|
|  |  |  | //                                    // 出库切换中 | 
|---|
|  |  |  | ////                                    devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING; | 
|---|
|  |  |  | ////                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); | 
|---|
|  |  |  | ////                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() | 
|---|
|  |  |  | ////                                            && !devpThread.getStation().get(inSta.getStaNo()-1).isLoading() | 
|---|
|  |  |  | ////                                            && devpThread.getStation().get(inSta.getStaNo()-1).getWorkNo()==0) { | 
|---|
|  |  |  | ////                                        // 出库模式 | 
|---|
|  |  |  | //                                    devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE; | 
|---|
|  |  |  | ////                                    } | 
|---|
|  |  |  | //                                } | 
|---|
|  |  |  | //                            } else { | 
|---|
|  |  |  | //                                // 入库模式 | 
|---|
|  |  |  | //                                devpThread.ioModeOf4F = IoModeType.PAKIN_MODE; | 
|---|
|  |  |  | //                            } | 
|---|
|  |  |  | //                            break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | public synchronized void ioConvert2F() { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | // 根据输送线plc遍历 | 
|---|
|  |  |  | for (DevpSlave devp : slaveProperties.getDevp()) { | 
|---|
|  |  |  | if (devp.getId() == 1){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (DevpSlave.Sta inSta : devp.getInSta()) { | 
|---|
|  |  |  | Integer sourceStaNo = inSta.getStaNo()==103 ? 104 : inSta.getStaNo()==113 ? 104 : 204; | 
|---|
|  |  |  | WrkMast pakout = wrkMastMapper.selectWorkingPakout(sourceStaNo); | 
|---|
|  |  |  | boolean sign = true; | 
|---|
|  |  |  | int[] staNos = new int[3]; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | switch (inSta.getStaNo()) { | 
|---|
|  |  |  | case 113://2F1 | 
|---|
|  |  |  | staNos = new int[]{112,113,114}; | 
|---|
|  |  |  | for (int staNo : staNos){ | 
|---|
|  |  |  | StaProtocol staProtocol = devpThread.getStation().get(staNo); | 
|---|
|  |  |  | if (!staProtocol.isAutoing() || staProtocol.isLoading()){ | 
|---|
|  |  |  | sign = false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (sign){ | 
|---|
|  |  |  | if (pakout != null) { | 
|---|
|  |  |  | if (devpThread.ioModeOf3F != IoModeType.PAKOUT_MODE) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 出库切换中 | 
|---|
|  |  |  | //                                    devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING; | 
|---|
|  |  |  | //                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); | 
|---|
|  |  |  | //                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() | 
|---|
|  |  |  | //                                            && !devpThread.getStation().get(inSta.getStaNo()-1).isLoading() | 
|---|
|  |  |  | //                                            && devpThread.getStation().get(inSta.getStaNo()-1).getWorkNo()==0) { | 
|---|
|  |  |  | //                                        // 出库模式 | 
|---|
|  |  |  | devpThread.ioModeOf3F = IoModeType.PAKOUT_MODE; | 
|---|
|  |  |  | //                                    } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 入库模式 | 
|---|
|  |  |  | devpThread.ioModeOf3F = IoModeType.PAKIN_MODE; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | case 213://2F2 | 
|---|
|  |  |  | staNos = new int[]{212,213,214}; | 
|---|
|  |  |  | for (int staNo : staNos){ | 
|---|
|  |  |  | StaProtocol staProtocol = devpThread.getStation().get(staNo); | 
|---|
|  |  |  | if (!staProtocol.isAutoing() || staProtocol.isLoading()){ | 
|---|
|  |  |  | sign = false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (sign){ | 
|---|
|  |  |  | if (pakout != null) { | 
|---|
|  |  |  | if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) { | 
|---|
|  |  |  | // 出库切换中 | 
|---|
|  |  |  | //                                    devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING; | 
|---|
|  |  |  | //                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); | 
|---|
|  |  |  | //                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() | 
|---|
|  |  |  | //                                            && !devpThread.getStation().get(inSta.getStaNo()-1).isLoading() | 
|---|
|  |  |  | //                                            && devpThread.getStation().get(inSta.getStaNo()-1).getWorkNo()==0) { | 
|---|
|  |  |  | //                                        // 出库模式 | 
|---|
|  |  |  | devpThread.ioModeOf4F = IoModeType.PAKOUT_MODE; | 
|---|
|  |  |  | //                                    } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 入库模式 | 
|---|
|  |  |  | devpThread.ioModeOf4F = IoModeType.PAKIN_MODE; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | break; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|