自动化立体仓库 - WCS系统
#
lsh
2024-06-21 352b3946e1afb9a27c96f58bb138e2ba5a010ec0
src/main/java/com/zy/asrs/controller/RgvController.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.Arith;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.RgvStatusType;
@@ -14,6 +15,7 @@
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.asrs.utils.VersionUtils;
import com.zy.core.Slave;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
@@ -26,6 +28,7 @@
import com.zy.core.model.protocol.RgvProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.RgvThread;
import com.zy.core.thread.ScaleThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -88,7 +91,7 @@
            vo.setWalkPos(rgvProtocol.getWalkPos()==1?"不在定位":"在定位");
            vo.setWorkNo2(rgvProtocol.getTaskNo2());  //  工位2任务号
            vo.setStatus2(rgvProtocol.getStatusType2().desc);  // 工位2状态
            vo.setLoading2(rgvProtocol.getLoaded2()==1?"有物":"无物");  // 工位2有物
            vo.setLoading2(rgvProtocol.getLoaded2()==0?"无物":"有物");  // 工位2有物
            vo.setWarnCode(String.valueOf(rgvProtocol.getAlarm()));
            if (rgvProtocol.getAlarm() > 0) {
@@ -110,7 +113,7 @@
            vo.setRgvNo(basRgv.getRgvNo());   //  RGV号
            list.add(vo);
            // 获取RGV信息
            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Crn, basRgv.getRgvNo());
            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basRgv.getRgvNo());
            if (rgvThread == null) {
                continue;
            }
@@ -119,7 +122,7 @@
                continue;
            }
            vo.setWorkNo1(rgvProtocol.getTaskNo1());  //  任务号
            vo.setWorkNo(rgvProtocol.getTaskNo1());  //  任务号
            if (rgvProtocol.getTaskNo1()>0) {
                WrkMast wrkMast = wrkMastService.selectById(rgvProtocol.getTaskNo1());
                if (wrkMast != null) {
@@ -321,4 +324,26 @@
        return false;
    }
    @PostMapping("/console/rgv/site/data")
    @ManagerAuth(memo = "小车实时位置")
    public R scaleLatestData(){
        List<Map> result = new ArrayList<>();
        for (RgvSlave rgv : slaveProperties.getRgv()) {
            // 获取RGV信息
            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
            if (rgvThread == null) {
                throw new CoolException("RGV不在线");
            }
            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
            if (rgvProtocol == null) {
                throw new CoolException("RGV不在线");
            }
            Map<String, Object> rgvMap = new HashMap<>();
            rgvMap.put("title", rgvProtocol.getRgvPosI());
            rgvMap.put("id", rgvProtocol.getRgvNo());
            result.add(rgvMap);
        }
        return R.ok().add(result);
    }
}