#
1
3 天以前 7c264be282c33feedbd4478f7e674ebac8fd55db
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -285,6 +285,9 @@
                            staProtocolNew.setSiteId(staProtocol.getSiteId());
                            devpThread.setPakMk(staProtocol.getSiteId(), false);
                            staProtocolNew.setBarcode(barcode);
                            if(!staProtocolNew.isLoading()){
                                continue;
                            }
                            MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolNew));
                            if (ledThread != null) {
                                News.error(methodName + ":扫码失败,请重试");
@@ -1098,14 +1101,17 @@
                    }
                }
            }
            if(staProtocolIn.getWorkNo() != null && staProtocolIn.getStaNo() != 4001){
            WrkMast wrkMastIn= wrkMastMapper.selectByWrkNo(staProtocolIn.getWorkNo());
            if(wrkMastIn == null){
                continue;
            }
            if(staProtocolIn.getWorkNo() != null && wrkMastIn.getStaNo() != 4001){
                WrkMast wrkMastCrn = wrkMastMapper.selectByWrkNo(staProtocolIn.getWorkNo());
                if(wrkMastCrn!=null){
                    if(wrkMastCrn.getCrnNo() == 3 ){
                        continue;
                    }
                }
                WrkMast wrkMastIn = wrkMastMapper.selectByWrkNo(staProtocolIn.getWorkNo());
                WrkMast wrkMast = wrkMastMapper.selectByWrkNo(9996);
                if(wrkMastIn == null){
                    continue;
@@ -3063,6 +3069,8 @@
            } else {
                staProtocol = staProtocol.clone();
            }
            if (staProtocol.isAutoing()  //自动
                    && !staProtocol.isLoading()  //无物
//                    && staProtocol.isOutEnable()  //可出信号
@@ -3825,7 +3833,6 @@
            if(rgvProtocol.getStatusType1() == RgvStatusType.WORKING){
                rgvThread.setPaking(true);
            }
            if(rgvProtocol.isLoaded1ing() && rgvProtocol.isLoaded2ing()){
                basRgv.setPakAll("1");
                basRgvService.updateById(basRgv);
@@ -3833,6 +3840,9 @@
            if(rgvProtocol.getStatusType1() == RgvStatusType.IDLE &&
                    rgvProtocol.getModeType() == RgvModeType.AUTO && rgvThread.isPakMk()
                    && rgvThread.isPaking() && basRgv.getPakAll().equals("1")){
                if(rgvProtocol.isLoaded1ing() || rgvProtocol.isLoaded2ing()){
                    continue;
                }
                if(basRgv.getPakOut().equals("1") && basRgv.getPakIn().equals("1")){
                    rgvPreSchedulingIn(rgv, rgvProtocol);//若暂无下发任务预调度提前到取货点
                    if (rgvProtocol.getLastIo().equals("I")) {
@@ -4574,7 +4584,7 @@
            //遍历rgv入库取货站点
            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, rgvStn.getDevpPlcId());
            StaProtocol staProtocol = devpThread.getStation().get(rgvStn.getStaNo2()==1043?1044:1103); //倒数第二个
            StaProtocol staProtocol2 = null;  //连续取货任务站点
            StaProtocol staProtocol1 = devpThread.getStation().get(rgvStn.getStaNo());  //第一个站点判断
            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, (int) rgvProtocol.getRgvNo());
//            WrkMastSta wrkMastSta3 = null;//连取两个
//            Integer staNo = null;  //与调度
@@ -4610,6 +4620,15 @@
                continue;
            } else {
                staProtocol = staProtocol.clone();
            }
            if (staProtocol1 == null) {
                News.infoNoLog( " - Rgv入库站信息(staProtocol!=null继续执行):staProtocol=" + staProtocol);
                continue;
            } else {
                staProtocol1 = staProtocol1.clone();
            }
            if(staProtocol1.isLoading() || staProtocol1.getWorkNo()!=0){
                continue;
            }
            // 查询站点详细信息
            BasDevp staDetl = basDevpService.selectById(rgvStn.getStaNo());
@@ -4894,10 +4913,16 @@
                    }
                    if(!Cools.isEmpty(barcode)) {
                        if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "0".equals(barcode) || barcode.length()<5) {
                            if(!staProtocol.isLoading()){
                                continue;
                            }
                            armTaskAssignmentCallApiLogSave(staProtocol, "拆垛条码为空", staProtocol.getSiteId()+"码垛位置,===》托盘条码为空", false);
                            continue;
                        }
                    } else {
                        if(!staProtocol.isLoading()){
                            continue;
                        }
                        armTaskAssignmentCallApiLogSave(staProtocol, "拆垛条码为空", staProtocol.getSiteId()+"码垛位置,===》托盘条码为空", false);
                        continue;
                    }
@@ -5095,7 +5120,7 @@
                    }
                    if(barcode.length()!=6){
                        armTaskAssignmentCallApiLogSave(staProtocol, "条码长度不是6位", staProtocol.getSiteId()+"码垛位置,条码长度不是6位===>>" + barcode, false);
                        armTaskAssignmentCallApiLogSave(staProtocol, "条码长度不是6位", staProtocol.getSiteId()+"码垛位置,条码长度不是6位===>>" + barcode, true);
                        continue;
                    }
@@ -5103,7 +5128,10 @@
                    int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",barcode));
                    int countwait = waitPakinMapper.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",barcode));
                    if (countLoc > 0 || countWrk > 0 || countwait > 0) {
                        armTaskAssignmentCallApiLogSave(staProtocol, "条码数据已存在", staProtocol.getSiteId()+"码垛位置,组托档/工作档/库存条码数据已存在===>>" + barcode, false);
                        log.info("条码数据已存在, staProtocol={}, siteInfo={}, barcode={}",
                                staProtocol,
                                staProtocol.getSiteId() + "码垛位置,组托档/工作档/库存条码数据已存在===>>",
                                barcode);
                        continue;
                    }
@@ -5282,7 +5310,7 @@
                    }
                    if(barcode.length()!=6){
                        armTaskAssignmentCallApiLogSave(locMastEnd, "条码长度不是6位", basArm.getStaNoSou()+"码垛位置,条码长度不是6位===>>" + barcode, false);
                        armTaskAssignmentCallApiLogSave(locMastEnd, "条码长度不是6位", basArm.getStaNoSou()+"码垛位置,条码长度不是6位===>>" + barcode, true);
                        continue;
                    }
@@ -5290,7 +5318,7 @@
                    int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",barcode));
                    int countwait = waitPakinMapper.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet",barcode));
                    if (countLoc > 0 || countWrk > 0 || countwait > 0) {
                        armTaskAssignmentCallApiLogSave(locMastEnd, "条码数据已存在", basArm.getStaNoSou()+"码垛位置,组托档/工作档/库存条码数据已存在===>>" + barcode, false);
                        armTaskAssignmentCallApiLogSave(locMastEnd, "条码数据已存在", basArm.getStaNoSou()+"码垛位置,组托档/工作档/库存条码数据已存在===>>" + barcode, true);
                        continue;
                    }
@@ -5582,7 +5610,7 @@
                    }
                    // 判断重复工作档
                    List<BasAgvMast> basAgvMastList = basAgvMastService.selectList(new EntityWrapper<BasAgvMast>().eq("task_no", staProtocol.getWorkNo()));
                    List<BasAgvMast> basAgvMastList = basAgvMastService.selectList(new EntityWrapper<BasAgvMast>().eq("task_no", wrkMast.getWrkNo()));
                    if (!basAgvMastList.isEmpty()) {
                        wrkMast.setTakeNone("2");
                        wrkMastMapper.updateById(wrkMast);
@@ -5655,6 +5683,10 @@
     * agv任务生成  Empty
     * */
    public synchronized void agvTaskCreateEmpty() {
        Config configAGVAUTOIN = configService.selectConfigByCode("AGVAUTOIN");
        if(!Boolean.parseBoolean(configAGVAUTOIN.getValue())){
            return;
        }
        // 根据输送线plc遍历
        for (DevpSlave devp : slaveProperties.getDevp()) {
            // 遍历出库口
@@ -5706,7 +5738,7 @@
                    }
                    List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<LocMast>().eq("barcode", barcode));
                    if (!locMastList.isEmpty()) {
//                        News.info("{}号站点条码信息重复:{}", outStaAgv.getStaNo(), barcode);
                        News.info("{}号站点条码信息重复:{}", outStaAgv.getStaNo(), barcode);
                        continue;
                    }
                    // 任务生成区 --------------------------------------------------------------------------
@@ -5920,6 +5952,10 @@
                    // 获取站点信息
                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getFloorNo() !=1?2:1);
                    StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getStaNo());
                    List<BasAgvMast> basAgvMastList1 = basAgvMastService.selectList(new EntityWrapper<BasAgvMast>().eq("status", 1).eq("sta_no", basAgvMast.getStaNo()));
                    if(basAgvMastList1.size()>0){
                        continue;
                    }
                    if (staProtocol == null) {
                        continue;
                    } else {