自动化立体仓库 - WCS系统
#
lsh
2024-09-14 204d411e545412dc65545b1b9149479a6d07672a
src/main/java/com/zy/asrs/controller/RgvController.java
@@ -6,14 +6,15 @@
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.RgvStatusType;
import com.zy.asrs.domain.param.RgvOperatorParam;
import com.zy.asrs.domain.param.RingThroughParam;
import com.zy.asrs.domain.vo.*;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.BasRgvErrMapper;
import com.zy.asrs.service.BasRgvService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.asrs.utils.VersionUtils;
import com.zy.asrs.utils.NumUtils;
import com.zy.asrs.utils.Utils;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
@@ -28,11 +29,11 @@
import com.zy.core.thread.RgvThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.rmi.CORBA.Util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -57,8 +58,6 @@
    private BasRgvService basRgvService;
    @Autowired
    private MainServiceImpl mainService;
    @Autowired
    private LocMastService locMastService;
    @PostMapping("/table/rgv/state")
    @ManagerAuth(memo = "RGV信息表")
@@ -88,7 +87,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) {
@@ -321,4 +320,81 @@
        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);
    }
    @PostMapping("/ring/through/rgv/position/data")
//    @ManagerAuth(memo = "环穿位置信息")
    public R ringThroughRgv(){
        List<RingThroughParam> result = new ArrayList<>();
//        for (RgvSlave rgv : slaveProperties.getRgv()) {
        for (int i = 1;i<2;i++) {
//            // 获取RGV信息
//            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
//            if (rgvThread == null) {
//                continue;
//            }
//            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
//            if (rgvProtocol == null) {
//                continue;
//            }
            RingThroughParam ringThroughParam = new RingThroughParam();
//            ringThroughParam.setIndex(rgv.getId());
            ringThroughParam.setIndex(i);
            double[] doubles = Utils.RingThroughXY2(183.0, NumUtils.GetRandomIntInRange(183));
//            double[] doubles = Utils.RingThroughXY2(183.0, 100*i );
            ringThroughParam.setValueX(doubles[0]-2.94);
            ringThroughParam.setValueY(doubles[1]-2.94);
            result.add(ringThroughParam);
        }
        return R.ok().add(result);
    }
    @PostMapping("/ring/through/dev/position/data")
//    @ManagerAuth(memo = "环穿位置信息")
    public R ringThroughDev(){
        List<RingThroughParam> result = new ArrayList<>();
//        for (RgvSlave rgv : slaveProperties.getRgv()) {
        for (int i = 1;i<10;i++) {
//            // 获取RGV信息
//            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
//            if (rgvThread == null) {
//                continue;
//            }
//            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
//            if (rgvProtocol == null) {
//                continue;
//            }
            RingThroughParam ringThroughParam = new RingThroughParam();
//            ringThroughParam.setIndex(rgv.getId());
            ringThroughParam.setIndex(i);
            double[] doubles = Utils.RingThroughXY2(183.0, 100*i );
            ringThroughParam.setValueX(doubles[0]+2.94);
            ringThroughParam.setValueY(doubles[1]+2.94);
            result.add(ringThroughParam);
        }
        return R.ok().add(result);
    }
}