野心家
2023-07-29 675db903cd534aa16b59f5e9bf87da3e699e5d30
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,9 +147,44 @@
//                        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)) {
                        && staProtocol.isPakMk() && !fig) { //&& staProtocol.getStamp()>=2) {// && !Cools.isEmpty(barcode)) {
                    News.warnNoLog(""+mark+" - 0"+" - 开始执行");
//                    try {
//                        Thread.sleep(300);
@@ -2233,4 +2269,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));
                    }
                }
            }
        }
    }
}