自动化立体仓库 - WCS系统
#
luxiaotao1123
2022-02-22 1d871b3618f229c543725949f05bf24293a34319
#
3个文件已修改
30 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/ConsoleController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/cache/OutputQueue.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/BarcodeThread.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -1,5 +1,6 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSON;
import com.core.annotations.ManagerAuth;
import com.core.common.Arith;
import com.core.common.Cools;
@@ -15,7 +16,9 @@
import com.zy.asrs.service.WrkMastService;
import com.zy.common.CodeRes;
import com.zy.core.CrnThread;
import com.zy.core.DevpThread;
import com.zy.core.Slave;
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.CrnModeType;
import com.zy.core.enums.SlaveType;
@@ -26,9 +29,8 @@
import com.zy.core.properties.SlaveProperties;
import com.zy.core.properties.SystemProperties;
import com.zy.core.thread.BarcodeThread;
import com.zy.core.thread.ScaleThread;
import com.zy.core.thread.MelsecCrnThread;
import com.zy.core.DevpThread;
import com.zy.core.thread.ScaleThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@@ -280,4 +282,17 @@
        return R.ok();
    }
    @PostMapping("/barcode/output/site")
    public R crnOutput(){
//        StringBuilder str = new StringBuilder();
//        String s;
//        int i = 0;
//        while((s = OutputQueue.CRN.poll()) != null && i <=32) {
//            str.append("\n").append(s);
//            i++;
//        }
//        return R.ok().add(str.toString());
        return R.ok().add(JSON.toJSONString(new ArrayList<>(OutputQueue.BARCODE)));
    }
}
src/main/java/com/zy/core/cache/OutputQueue.java
@@ -1,5 +1,7 @@
package com.zy.core.cache;
import com.alibaba.fastjson.JSONObject;
import java.util.concurrent.ArrayBlockingQueue;
/**
@@ -12,5 +14,5 @@
    // 输送线输出日志
    public static ArrayBlockingQueue<String> DEVP = new ArrayBlockingQueue<>(32);
    // 条码器输出日志
    public static ArrayBlockingQueue<String> BARCODE = new ArrayBlockingQueue<>(32);
    public static ArrayBlockingQueue<JSONObject> BARCODE = new ArrayBlockingQueue<>(32);
}
src/main/java/com/zy/core/thread/BarcodeThread.java
@@ -1,5 +1,6 @@
package com.zy.core.thread;
import com.alibaba.fastjson.JSONObject;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.zy.core.Slave;
@@ -15,7 +16,6 @@
import java.net.Socket;
import java.net.SocketAddress;
import java.net.SocketTimeoutException;
import java.text.MessageFormat;
import java.util.Date;
/**
@@ -48,7 +48,10 @@
                    if (!Cools.isEmpty(s)) {
                        barcode = new String(read);
                        log.info("{}号条码器,检索数据:{}", slave.getId(), this.barcode);
                        OutputQueue.CRN.offer(MessageFormat.format("【{0}】堆垛机plc连接失败!!! ===>> [id:{1}] [ip:{2}] [port:{3}] ", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
                        JSONObject jsonObject = new JSONObject();
                        jsonObject.put("time", DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmss_F));
                        jsonObject.put("barcode", barcode);
                        OutputQueue.BARCODE.offer(jsonObject);
                    }
                }
                Thread.sleep(100);