1
zhangchao
2024-11-02 80cff9502dd8725bc15f255911acd702ccf1f6bc
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -199,15 +199,16 @@
                    // 判断重复工作档
                    WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
                    if (wrkMast != null) {
                        int wrkNo1 = basDevpService.selectCount(new EntityWrapper<BasDevp>().eq("wrk_no", wrkMast.getWrkNo()));
                        if (wrkNo1 != 0){
//                        int wrkNo1 = basDevpService.selectCount(new EntityWrapper<BasDevp>().eq("wrk_no", wrkMast.getWrkNo()));
//                        if (wrkNo1 != 0){
//                            if (ledThread != null) {
//                                News.error(methodName + ":扫码失败,请重试");
//                            }
//
//                        }
                            News.error(barcode + "条码已存在状态为( 2.设备上走 )的数据,请查看WCS输送线界面,工作号={}", wrkMast.getWrkNo());
                            if (ledThread != null) {
                                News.error(methodName + ":扫码失败,请重试");
                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, barcode + "条码已存在状态为( 2.设备上走 )的任务,工作号="+ wrkMast.getWrkNo()));
                            }
                            continue;
                        }
//                        barcodeThread.setBarcode("");
//                        staProtocol.setWorkNo(wrkMast.getWrkNo());
//                        staProtocol.setStaNo(RouteUtils.SouStaEnd(null,wrkMast.getSourceStaNo()));
@@ -268,24 +269,27 @@
                            }
                        } else {
                            if (jsonObject.getString("msg").equals("工作档已存在")) {
                                //工作档已存在    再次进去
                                wrkMast = wrkMastMapper.selectPakInStepBarcode(barcode);
                                if (wrkMast != null) {
                                    barcodeThread.setBarcode("");
                                    staProtocol.setWorkNo(wrkMast.getWrkNo());
                                    //staProtocol.setStaNo(RouteUtils.SouStaEnd(dto.getStaNo(),dto.getSourceStaNo()));
                                    staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
                                    devpThread.setPakMk(staProtocol.getSiteId(), false);
                                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                                    log.error("输送线下发2:" + wrkMast.getWrkNo() + "," + wrkMast.getStaNo());
                                    ledThread.errorReset();
                                    log.error("组托请求后LED错误清除");
                                    if (!result) {
                                        News.error(methodName + ":更新plc站点信息失败");
                                        throw new CoolException("更新plc站点信息失败");
                                    }
                                }
                                //工作档已存在    再次进去
//                                wrkMast = wrkMastMapper.selectPakInStepBarcode(barcode);
//                                if (wrkMast != null) {
//                                    barcodeThread.setBarcode("");
//                                    staProtocol.setWorkNo(9999);
//                                    //staProtocol.setWorkNo(wrkMast.getWrkNo());
//                                    //staProtocol.setStaNo(RouteUtils.SouStaEnd(dto.getStaNo(),dto.getSourceStaNo()));
//                                    staProtocol.setStaNo(inSta.getBackSta().shortValue());
//                                    devpThread.setPakMk(staProtocol.getSiteId(), false);
//                                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
//                                    log.error("输送线下发2:" + wrkMast.getWrkNo() + "," + wrkMast.getStaNo());
//                                    ledThread.errorReset();
//                                    log.error("组托请求后LED错误清除");
//                                    if (!result) {
//                                        News.error(methodName + ":更新plc站点信息失败");
//
//                                        throw new CoolException("更新plc站点信息失败");
//                                    }
//                                }
                                continue;
                            }
                            staProtocol.setWorkNo(wrkNo);
@@ -1752,7 +1756,9 @@
                }
                // 获取工作档数据
                WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo());
                if (null == wrkMast) { continue; }
                if (null == wrkMast) {
                    continue;
                }
                wrkMasts.add(wrkMast);
                // 组装命令
                LedCommand ledCommand = new LedCommand();
@@ -1862,7 +1868,9 @@
            for (Integer staNo : led.getStaArr()) {
                // 获取叉车站点
                StaProtocol staProtocol = devpThread.getStation().get(staNo);
                if (staProtocol == null) { continue; }
                if (staProtocol == null) {
                    continue;
                }
                if (staProtocol.getWorkNo() != 0 || staProtocol.isErr()) {
                    reset = false;
                    break;
@@ -2319,9 +2327,11 @@
    public synchronized void autoEmptyOut() {
        SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
        List<Integer> list = new ArrayList<>();
        list.add(101);list.add(112);
        list.add(101);
        list.add(112);
        Map<Integer,Integer> map = new HashMap<>();
        map.put(101,102);map.put(112,111);
        map.put(101, 102);
        map.put(112, 111);
        for (Integer site:list){
            WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("sta_no", map.get(site)));
            if (!Cools.isEmpty(wrkMast)){
@@ -2375,7 +2385,8 @@
    public synchronized void autoEmptyIn() {
        SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
        List<Integer> list = new ArrayList<>();
        list.add(153);list.add(157);
        list.add(153);
        list.add(157);
        for (Integer site:list){
            StaProtocol staProtocol = devpThread.getStation().get(site);
            if (staProtocol == null) {
@@ -2520,7 +2531,6 @@
                    }
                }
            }
        }catch (Exception e){
@@ -2602,7 +2612,8 @@
                            log.error("rgv任务完成给输送线下发命令,但未查询到工作档");
                            // 下发站点信息
                            Map<Integer,Integer> map = new HashMap<>();
                            map.put(101,102);map.put(112,111);
                                map.put(101, 102);
                                map.put(112, 111);
                            map.put(100,100);
                            staProtocol.setWorkNo(rgvProtocol.getTaskNo1().intValue());
                            staProtocol.setStaNo(map.get(rgvProtocol.getRgvPosI()).shortValue());
@@ -2629,9 +2640,7 @@
                        basRgvMap.setNowRoute(rgvProtocol.getRgvPosI());
                        rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2471");
                        rgvThread.setPakMk(true);
                    }
                    else {
                        } else {
                        log.error("小车复位失败,小车号{},等待wcs确认但是没有工作号!",rgvProtocol.getRgvNo());
                    }
                }
@@ -2641,6 +2650,7 @@
            log.error("小车复位线程报错!"+e);
        }
    }
    /**
     * 执行小车搬运任务
     */
@@ -2724,6 +2734,7 @@
            log.error("3875行"+e);
        }
    }
    /**
     * 执行小车搬运任务
     */