#
Junjie
2025-11-19 5fb7dae61f9d6c38c37014cf27f28107c6f52e74
#
1个文件已添加
3个文件已修改
85 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/ConsoleController.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/domain/vo/RgvLatestDataVo.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/RgvStatusType.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/watch/console.html 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -12,6 +12,7 @@
import com.zy.asrs.domain.vo.CrnDetailVo;
import com.zy.asrs.domain.vo.CrnLatestDataVo;
import com.zy.asrs.domain.vo.StationLatestDataVo;
import com.zy.asrs.domain.vo.RgvLatestDataVo;
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
@@ -23,12 +24,15 @@
import com.zy.core.enums.CrnModeType;
import com.zy.core.enums.MapNodeType;
import com.zy.core.enums.RedisKeyType;
import com.zy.core.enums.RgvStatusType;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.model.protocol.StationProtocol;
import com.zy.core.properties.SystemProperties;
import com.zy.core.thread.CrnThread;
import com.zy.core.thread.StationThread;
import com.zy.core.thread.RgvThread;
import com.zy.core.model.protocol.RgvProtocol;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -170,32 +174,29 @@
        return R.ok().add(vos);
    }
    // @PostMapping("/latest/data/rgv")
    // @ManagerAuth(memo = "RGV实时数据")
    // public R rgvLatestData(){
    // List<RgvLatestDataVo> vos = new ArrayList<>();
    // for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
    // // 获取堆垛机信息
    // RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv,
    // rgvSlave.getId());
    // if (rgvThread == null) {
    // continue;
    // }
    // RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
    // if (rgvProtocol == null) {
    // continue;
    // }
    // RgvLatestDataVo vo = new RgvLatestDataVo();
    // vo.setRgvId(rgvProtocol.getRgvNo()); // RGV编号
    // vo.setTrackSiteNo(String.valueOf(rgvProtocol.getRgvPos()));
    // vo.setRgvStatus(rgvProtocol.getStatusType());
    // vos.add(vo);
    //
    // }
    // Object object = redisUtil.get("rgvLatestData");
    // List<Object> siteLatestDataVos = JSON.parseArray(object.toString());
    // return R.ok().add(siteLatestDataVos);
    // }
    @PostMapping("/latest/data/rgv")
    @ManagerAuth(memo = "RGV实时数据")
    public R rgvLatestData(){
        List<RgvLatestDataVo> vos = new ArrayList<>();
        List<DeviceConfig> rgvList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
                .eq("device_type", String.valueOf(SlaveType.Rgv)));
        for (DeviceConfig deviceConfig : rgvList) {
            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, deviceConfig.getDeviceNo());
            if (rgvThread == null) {
                continue;
            }
            RgvProtocol rgvProtocol = rgvThread.getStatus();
            if (rgvProtocol == null) {
                continue;
            }
            RgvLatestDataVo vo = new RgvLatestDataVo();
            vo.setRgvNo(rgvProtocol.getRgvNo());
            vo.setTrackSiteNo(String.valueOf(rgvProtocol.getRgvPos()));
            vo.setRgvStatus(RgvStatusType.get(rgvProtocol.getStatus()));
            vos.add(vo);
        }
        return R.ok().add(vos);
    }
    // @PostMapping("/latest/data/barcode")
    // @ManagerAuth(memo = "条码扫描仪实时数据")
src/main/java/com/zy/asrs/domain/vo/RgvLatestDataVo.java
New file
@@ -0,0 +1,18 @@
package com.zy.asrs.domain.vo;
import com.zy.core.enums.RgvStatusType;
import lombok.Data;
@Data
public class RgvLatestDataVo {
    private Integer rgvNo;
    private String trackSiteNo;
    private RgvStatusType rgvStatus;
    public String getRgvStatus() {
        return rgvStatus == null ? "none" : rgvStatus.toString().toLowerCase().replaceAll("_", "-");
    }
}
src/main/java/com/zy/core/enums/RgvStatusType.java
@@ -20,12 +20,12 @@
        this.desc = desc;
    }
    public static RgvStatusType get(Short id) {
    public static RgvStatusType get(Integer id) {
        if (null == id) {
            return null;
        }
        for (RgvStatusType type : RgvStatusType.values()) {
            if (type.id.equals(id.intValue())) {
            if (type.id.equals(id)) {
                return type;
            }
        }
src/main/webapp/views/watch/console.html
@@ -281,9 +281,9 @@
                                    if (that.rgvPosition.length == 0) {
                                        let position = []
                                        for (var i = 0; i < rgvs.length; i++) {
                                            var rgvEl = $("#rgv-" + rgvs[i].rgvId);
                                            var rgvEl = $("#rgv-" + rgvs[i].rgvNo);
                                            position.push({
                                                id: rgvs[i].rgvId,
                                                id: rgvs[i].rgvNo,
                                                trackSiteNo: rgvs[i].trackSiteNo,
                                                initLeft: rgvEl.offset().left
                                            })
@@ -293,7 +293,7 @@
                                    }
                                    for (var i = 0; i < rgvs.length; i++) {
                                        var rgvEl = $("#rgv-" + rgvs[i].rgvId);
                                        var rgvEl = $("#rgv-" + rgvs[i].rgvNo);
                                        if (rgvs[i].rgvStatus == 'IDLE') {
                                            rgvEl.attr("class", "rgv-item");
                                        }else if (rgvs[i].rgvStatus == 'WORKING') {
@@ -305,7 +305,7 @@
                                        let flag = false;
                                        that.rgvPosition.forEach((item) => {
                                            if (item.id == rgvs[i].rgvId) {
                                            if (item.id == rgvs[i].rgvNo) {
                                                if (item.trackSiteNo != trackSiteNo) {
                                                    flag = true
                                                }
@@ -327,7 +327,7 @@
                                            let position = []
                                            that.rgvPosition.forEach((item) => {
                                                if (item.id == rgvs[i].rgvId) {
                                                if (item.id == rgvs[i].rgvNo) {
                                                    item.trackSiteNo = trackSiteNo
                                                }
                                                position.push(item)