#
tqs
2023-01-29 b48b565791673171bd5077092911cc3cc6db7a38
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -125,8 +125,10 @@
                // 入出库模式判断
//                if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; }
                if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { continue; }
                if ( inSta.getStaNo()==402 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) { continue; }
                if ( inSta.getStaNo()==101 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) { continue; }
                if ( inSta.getStaNo()==103 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { continue; }
                if ( inSta.getStaNo()==105 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) { continue; }
                if ( inSta.getStaNo()==107 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) { continue; }
                // 判断是否满足入库条件
                if (staProtocol.isAutoing() && staProtocol.isLoading()
@@ -191,7 +193,7 @@
                            }
                        } else {
                            staProtocol.setWorkNo((short) 9999);
                            staProtocol.setStaNo((short)(inSta.getStaNo()+1));
                            staProtocol.setStaNo((short)(inSta.getStaNo()-1));
                            devpThread.setPakMk(staProtocol.getSiteId(), false);
                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -794,8 +796,10 @@
            // 入出库模式判断
            //if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { continue; }
                if (wrkMast.getStaNo() == 204 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {continue;}
                if (wrkMast.getStaNo() == 402 && devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {continue;}
                if (wrkMast.getStaNo() == 101 && devpThread.ioModeOf1F != IoModeType.PAKOUT_MODE) {continue;}
                if (wrkMast.getStaNo() == 103 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {continue;}
                if (wrkMast.getStaNo() == 105 && devpThread.ioModeOf3F != IoModeType.PAKOUT_MODE) {continue;}
                if (wrkMast.getStaNo() == 107 && devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {continue;}
                // 查询站点详细信息
                BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
@@ -1905,15 +1909,33 @@
                    }
                    WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getStaNo());
                    switch (inSta.getStaNo()) {
                        case 203://1F
                        case 101://1F
                            if (pakout != null) {
                                if (devpThread.ioModeOf1F != IoModeType.PAKOUT_MODE) {
                                    // 出库切换中
                                    devpThread.ioModeOf1F = 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.ioModeOf1F = IoModeType.PAKOUT_MODE;
                                    }
                                }
                            } else {
                                // 入库模式
                                devpThread.ioModeOf1F = IoModeType.PAKIN_MODE;
                            }
                            break;
                        case 103://1F
                            if (pakout != null) {
                                if (devpThread.ioModeOf2F != 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.getStation().get(inSta.getStaNo()-1).isLoading()
                                            && devpThread.getStation().get(inSta.getStaNo()-1).getWorkNo()==0) {
                                        // 出库模式
                                        devpThread.ioModeOf2F = IoModeType.PAKOUT_MODE;
                                    }
@@ -1923,13 +1945,27 @@
                                devpThread.ioModeOf2F = IoModeType.PAKIN_MODE;
                            }
                            break;
                        case 402://1F
                        case 105://1F
                            if (pakout != null) {
                                if ((pakout.getIoType()==103 || pakout.getIoType()==107)&& pakout.getWrkSts()==14 && devpThread.getStation().get(inSta.getStaNo()-1).getWorkNo()==0){
                                }else if ((pakout.getIoType()==103 || pakout.getIoType()==107)&& pakout.getWrkSts()==14 && devpThread.getStation().get(inSta.getStaNo()-1).getWorkNo()!=0) {
                                    // 入库模式
                                    devpThread.ioModeOf4F = IoModeType.PAKIN_MODE;
                                }else if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {
                                if (devpThread.ioModeOf3F != IoModeType.PAKOUT_MODE) {
                                    // 出库切换中
                                    devpThread.ioModeOf3F = 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 107://1F
                            if (pakout != null) {
                                if (devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {
                                    // 出库切换中
                                    devpThread.ioModeOf4F = IoModeType.PAKOUT_BOOTING;
                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
@@ -1941,12 +1977,8 @@
                                    }
                                }
                            } else {
                                List<WrkMast> wrkMasts = wrkMastMapper.selectWorkings();
                                if (wrkMasts.size()==0){
                                    // 入库模式
                                    devpThread.ioModeOf4F = IoModeType.PAKIN_MODE;
                                }else {
                                }
                                // 入库模式
                                devpThread.ioModeOf4F = IoModeType.PAKIN_MODE;
                            }
                            break;
                    }