#
lsh
2024-04-28 242fd02ef7b86cfe6ae352b1721c50205cc7bafe
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1,5 +1,7 @@
package com.zy.asrs.service.impl;
import HslCommunication.Core.Types.OperateResultExOne;
import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -89,7 +91,6 @@
    private BasCrnErrorMapper basCrnErrorMapper;
    @Autowired
    private WrkMastService wrkMastService;
    @Value("${wms.url}")
    private String wmsUrl;
@@ -146,6 +147,41 @@
//                        continue;
//                    }
//                }
                //超宽超高没扫到条码报警
//                boolean fig=false;
//                for(int i=0;i<8;i++){
//                    switch (i){
//                        case 0: if(devpThread.startSignal[i]){
//                            log.error("前超报警");
//                            fig=true;
//                        };
//                        case 1: if(devpThread.startSignal[i]){
//                            log.error("后超报警");
//                            fig=true;
//                        };
//                        case 2: if(devpThread.startSignal[i]){
//                            log.error("高超报警");
//                            fig=true;
//                        };
//                        case 3: if(devpThread.startSignal[i]){
//                            log.error("左超报警");
//                            fig=true;
//                        };
//                        case 4: if(devpThread.startSignal[i]){
//                            log.error("右超报警");
//                            fig=true;
//                        };
//                        case 5: if(devpThread.startSignal[i]){
//                            log.error("超重报警");
//                            fig=true;
//                        };
//                        case 6: if(devpThread.startSignal[i]){
//                            log.error("未扫到码报警");
//                            fig=true;
//                        };
//
//                    }
//                }
                if (staProtocol.isAutoing() && staProtocol.isInEnable()
                        && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990)
                        && staProtocol.isPakMk()) { //&& staProtocol.getStamp()>=2) {// && !Cools.isEmpty(barcode)) {
@@ -154,8 +190,7 @@
//                        Thread.sleep(300);
//                    }catch (Exception e){}
                    //String barcode = barcodeThread.getBarcode();
                    String barcode = "20000005";
                    String barcode = barcodeThread.getBarcode();
                    if(!Cools.isEmpty(barcode)) {
                        News.info(""+mark+" - 1"+" - {}号条码扫描器检测条码信息:{}", inSta.getBarcode(), barcode);
@@ -1634,33 +1669,33 @@
                continue;
            }
//             命令下发 -------------------------------------------------------------------------------
//            if (!commands.isEmpty()) {
//                if (led.getId() < 7) {
//                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
//                        News.error(""+mark+" - 2"+" - {}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort());
//                        continue;
//                    } else {
//                        ledThread.setLedMk(false);
//                    }
//                } else {
//                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) {
//                        News.error(""+mark+" - 3"+" - {}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort());
//                        continue;
//                    } else {
//                        ledThread.setLedMk(false);
//                    }
//                }
//
//            }
            // 命令下发 -------------------------------------------------------------------------------
            if (!commands.isEmpty()) {
                if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
                    News.error("{}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort());
                    continue;
                }else {
                    ledThread.setLedMk(false);
                if (led.getId() == 2) {
                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
                        News.error(""+mark+" - 2"+" - {}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort());
                        continue;
                    } else {
                        ledThread.setLedMk(false);
                    }
                } else {
                    if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) {
                        News.error(""+mark+" - 3"+" - {}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort());
                        continue;
                    } else {
                        ledThread.setLedMk(false);
                    }
                }
            }
//            // 命令下发 -------------------------------------------------------------------------------
//            if (!commands.isEmpty()) {
//                if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
//                    News.error("{}号LED命令下发失败!!![ip:{}] [port:{}]", led.getId(), led.getIp(), led.getPort());
//                    continue;
//                }else {
//                    ledThread.setLedMk(false);
//                }
//            }
            try {
                // 修改主档led标记
@@ -2233,4 +2268,64 @@
            }
        }
    }
    /**
     *  接收超宽超高没扫到条码报警
     * @param mark
     */
    public synchronized void DevpCallThePolice(Integer mark){
        // 根据输送线plc遍历
        for (DevpSlave devp : slaveProperties.getDevp()) { //遍历输送线
            // 遍历入库口
            for (DevpSlave.Sta inSta : devp.getInSta()) {  // 遍历入库口
                // 获取入库站信息
                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
                if(null != devpThread){
                    boolean fig=false;
                    for (int i=0;i<8;i++){
                        switch (i){
                            case 0: if(devpThread.startSignal[i]){
                                        log.error("前超报警");
                                        fig=true;
                                    };
                            case 1: if(devpThread.startSignal[i]){
                                log.error("后超报警");
                                fig=true;
                            };
                            case 2: if(devpThread.startSignal[i]){
                                log.error("高超报警");
                                fig=true;
                            };
                            case 3: if(devpThread.startSignal[i]){
                                log.error("左超报警");
                                fig=true;
                            };
                            case 4: if(devpThread.startSignal[i]){
                                log.error("右超报警");
                                fig=true;
                            };
                            case 5: if(devpThread.startSignal[i]){
                                log.error("超重报警");
                                fig=true;
                            };
                            case 6: if(devpThread.startSignal[i]){
                                log.error("未扫到码报警");
                                fig=true;
                            };
                        }
                    }
                    //发生报警,退回入库口
                    if(fig){
                        staProtocol.setWorkNo((short)9991);
                        staProtocol.setStaNo((short)100);
                        devpThread.setPakMk(staProtocol.getSiteId(), false);
                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                    }
                }
            }
        }
    }
}