自动化立体仓库 - WCS系统
#
whycq
2023-03-27 61090cc2a521db18ccfccb2e02a548ceacd03447
#
3个文件已修改
98 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/MonitorController.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/LedThread.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/monitor.html 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -9,18 +9,17 @@
import com.zy.asrs.mapper.ReportQueryMapper;
import com.zy.common.service.CommonService;
import com.zy.core.CrnThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.LedSlave;
import com.zy.core.model.Task;
import com.zy.core.model.command.LedCommand;
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.LedThread;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -33,6 +32,8 @@
public class MonitorController {
    private static final String[] WEEK = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
    private String programMsg;
    @Autowired
    private ReportQueryMapper reportQueryMapper;
@@ -271,8 +272,42 @@
        return R.ok().add(errorMsg);
    }
    /**
     * 节目
     */
    @GetMapping("/led/program")
    public R monitorProgramShow(@RequestParam("ledId") Integer ledId) {
        String program = "";
        for (LedSlave slave : slaveProperties.getLed()) {
            if (slave.getStaArr().contains(ledId)) {
                LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, slave.getId());
                if (null != ledThread) {
                    program = ledThread.getProgram().toString();
                }
            }
        }
        return R.ok().add(program);
    }
    /**
     * 显示节目
     */
    @RequestMapping("/led/add/program")
    public R addProgram(Integer ledId, String msg) {
        MessageQueue.offer(SlaveType.Led, ledId, new Task(5, msg));
        return R.ok();
    }
    /**
     * 移除节目
     */
    @RequestMapping("/led/remove/program")
    public R removeProgram(Integer ledId, String msg) {
        return R.ok();
    }
src/main/java/com/zy/core/thread/LedThread.java
@@ -29,6 +29,7 @@
    private List<LedCommand> commandList;
    private StringBuffer errorMsg = new StringBuffer();
    private StringBuffer program = new StringBuffer();
    public LedThread(Slave slave) {
        this.slave = slave;
@@ -56,6 +57,12 @@
                            break;
                        case 4:
                            errorReset();
                            break;
                        case 5:
                            program((String) task.getData());
                            break;
                        case 6:
                            programReset();
                            break;
                        default:
                            break;
@@ -106,6 +113,15 @@
        this.errorMsg.delete(0, errorMsg.length());
    }
    private void program(String msg) {
        program.delete(0, program.length());
        program.append(msg);
    }
    public void programReset() {
        this.program.delete(0, program.length());
    }
    @Override
    public boolean connect() {
        return true;
src/main/webapp/views/monitor.html
@@ -329,8 +329,8 @@
                        </div>
                        <div id="checked" style="overflow-y: scroll;height: 80%;border: 1px solid #888" >
                            <label for=""><input type="checkbox" name="monitor" checked="checked" value="1">1号显示器</label>
                            <label for=""><input type="checkbox" name="monitor" >2号显示器</label>
                            <label for=""><input type="checkbox" name="monitor">3号显示器</label>
                            <label for=""><input type="checkbox" name="monitor" value="113">2号显示器</label>
                            <label for=""><input type="checkbox" name="monitor" value="3">3号显示器</label>
                            <label for=""><input type="checkbox" name="monitor">4号显示器</label>
                            <label for=""><input type="checkbox" name="monitor">5号显示器</label>
                            <label for=""><input type="checkbox" name="monitor">6号显示器</label>
@@ -374,6 +374,7 @@
</body>
</html>
<script>
    var inputValue = ''
    $(function() {
        $(".label").click(function() {
            $(this).addClass("abc").siblings().removeClass("abc");
@@ -391,12 +392,17 @@
    });
    $('#sendMessage').click(function () {
        var sendMessage = $('#sendContent').val()
        $('input:checkbox[name=monitor]').each(function () {
            if ($(this).is(':checked')) {
                console.log(sendMessage)
            } else {
                console.log('m')
        inputValue = ''
        $('input:checkbox[name=monitor]:checked').each(function () {
            var ledId = parseInt($(this).val())
            $.ajax({
                url: baseUrl+"/monitor/led/add/program",
                data: {ledId:ledId,msg:sendMessage},
                method: 'GET',
                success: function (res) {
                    console.log(res)
            }
            })
        })
    })
@@ -404,7 +410,7 @@
        var sendMessage = 'K'
        $('input:checkbox[name=monitor]').each(function () {
            if ($(this).is(':checked')) {
                console.log(sendMessage)
                console.log($(this).find(':checked'))
            } else {
                console.log('m')
            }
@@ -440,7 +446,7 @@
    });
    var crnId = 1;
    var lcdId = 110;
    var lcdId = 100;
    var lcdData = 'TEST DATA'
    var lcdControll = 1;
    $('.lcd').click(function () {
@@ -448,7 +454,7 @@
        switch (id) {
            case 1:
                crnId = 1;
                lcdId = 113;
                lcdId = 100;
                break;
            case 2:
                crnId = 2;
@@ -465,6 +471,7 @@
        getOther2(crnId,lcdId)
        getInfo(lcdId);
        getError(lcdId);
        getProgram(lcdId)
    }, 1000);
@@ -494,6 +501,18 @@
        });
    }
    function getProgram(ledId) {
        console.log(ledId)
        $.ajax({
            url: baseUrl+"/monitor/led/program",
            data: {ledId:ledId},
            method: 'GET',
            success: function (res) {
                console.log(res)
            }
        });
    }