#
1
1 天以前 ffdccd8f0cf0ebe9777a0b78097ea7d8c6af8f9d
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;
@@ -1222,7 +1228,7 @@
            //mark - 3 - ....
            this.locToLoc(crn, crnProtocol,mark);
            //预调度
            this.crnRebackHp(crn, crnProtocol, crnThread);
//            this.crnRebackHp(crn, crnProtocol, crnThread);
        }
//        News.infoNoLog(""+mark+" - 0"+" - 堆垛机入出库作业下发执行完成");
@@ -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,9 @@
                    }
                    if(barcode.length()!=6){
                        armTaskAssignmentCallApiLogSave(staProtocol, "条码长度不是6位", staProtocol.getSiteId()+"码垛位置,条码长度不是6位===>>" + barcode, false);
                        log.error( "{}条码长度不是6位", basArm.getStaNoSou());
//                        armTaskAssignmentCallApiLogSave(staProtocol, "条码长度不是6位", staProtocol.getSiteId()+"码垛位置,条码长度不是6位===>>" + barcode, true);
                        continue;
                    }
@@ -5103,7 +5130,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;
                    }
@@ -5266,6 +5296,17 @@
                }
                try{
                    LocMast locMastEnd = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", basArm.getStaNoSou()));
                    BasArmMast basArmMast0 = basArmMastService.selectOne(new EntityWrapper<BasArmMast>().eq("arm_no",basArm.getArmNo()).eq("status",0));
                    if(basArmMast0 != null ){
                        List<BasArmMast> basArmMast3 = basArmMastService.selectList(new EntityWrapper<BasArmMast>().eq("arm_no",basArm.getArmNo()).eq("status",3));
                        LocMast locMastStaNo = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", basArmMast0.getStaNo()));
                        if(!locMastStaNo.getLocSts().equals("D")){
                            basArmMastService.deleteById(basArmMast0);
                        }else if(basArmMast3.size() > 0){
                            basArmMastService.deleteById(basArmMast0);
                        }
                    }
                    if(!locMastEnd.getLocSts().equals("D")){
                        continue;
                    }
@@ -5273,16 +5314,18 @@
                    String barcode = locMastEnd.getBarcode();
                    if(!Cools.isEmpty(barcode)) {
                        if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "0".equals(barcode)) {
                            log.error( "取货条码为空", basArm.getStaNoSou());
                            log.error( "{}取货条码为空", basArm.getStaNoSou());
                            continue;
                        }
                    } else {
                        log.error( "取货条码为空", basArm.getStaNoSou());
                        log.error( "{}取货条码为空", basArm.getStaNoSou());
                        continue;
                    }
                    if(barcode.length()!=6){
                        armTaskAssignmentCallApiLogSave(locMastEnd, "条码长度不是6位", basArm.getStaNoSou()+"码垛位置,条码长度不是6位===>>" + barcode, false);
                        log.error( "{}条码长度不是6位", basArm.getStaNoSou());
//                        armTaskAssignmentCallApiLogSave(locMastEnd, "条码长度不是6位", basArm.getStaNoSou()+"码垛位置,条码长度不是6位===>>" + barcode, true);
                        continue;
                    }
@@ -5290,7 +5333,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 +5625,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);
@@ -5638,7 +5681,10 @@
                                agvBindCtnrAndBinParam.setCtnrTyp("1");
                                ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV容器绑定", AgvConstant.AGV_URL, AgvConstant.AGV_CTNRANDBING, agvBindCtnrAndBinParam);
                            }
                            wrkMast.setTakeNone("2");
                            BasAgvMast agvMast = basAgvMastService.selectOne(new EntityWrapper<BasAgvMast>().eq("task_no",wrkMast.getWrkNo()));
                            if(agvMast!=null){
                                wrkMast.setTakeNone("2");
                            }
                            wrkMastMapper.updateById(wrkMast);
                        } else {
                            News.error(JSON.toJSONString(staProtocol));
@@ -5710,7 +5756,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;
                    }
                    // 任务生成区 --------------------------------------------------------------------------
@@ -5924,6 +5970,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 {