*
lsh
2024-10-17 13610d4b55fb5d2871a4f12e3e8df4ab86bf33f7
*
2个文件已修改
52 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/RgvController.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/Utils.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/RgvController.java
@@ -11,6 +11,7 @@
import com.zy.asrs.domain.vo.*;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.BasRgvErrMapper;
import com.zy.asrs.service.BasDevpPositionService;
import com.zy.asrs.service.BasRgvService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
@@ -61,6 +62,8 @@
    private BasRgvService basRgvService;
    @Autowired
    private MainServiceImpl mainService;
    @Autowired
    private BasDevpPositionService basDevpPositionService;
    @PostMapping("/table/rgv/state")
    @ManagerAuth(memo = "RGV信息表")
@@ -343,7 +346,7 @@
            ringThroughParam.setIndex(rgv.getId());
//            ringThroughParam.setIndex(i);
//            double[] doubles = Utils.RingThroughXY2(1737000.0, NumUtils.GetRandomIntInRange(183));
            double[] doubles = Utils.RingThroughXY2(1737000.0, rgvProtocol.RgvPos.doubleValue());
            double[] doubles = Utils.RingThroughXYRgv(1737000.0, 1737000.0-rgvProtocol.RgvPos.doubleValue());
//            double[] doubles = Utils.RingThroughXY2(183.0, 100*i );
            ringThroughParam.setValueX(doubles[0]-2.94);
@@ -359,24 +362,13 @@
//    @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;
//            }
        List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<>());
        for (BasDevpPosition basDevpPosition : basDevpPositions){
            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);
            ringThroughParam.setIndex(basDevpPosition.getDevNo());
            double[] doubles = Utils.RingThroughXYSta(1737000.0, 1737000.0-basDevpPosition.getPlcPosition());
            ringThroughParam.setValueX(doubles[0]+5);
            ringThroughParam.setValueY(doubles[1]>50? doubles[1]+6:doubles[1]-1);
            result.add(ringThroughParam);
        }
        return R.ok().add(result);
src/main/java/com/zy/asrs/utils/Utils.java
@@ -87,7 +87,7 @@
        return new double[]{x,y};
    }
    public static double[] RingThroughXY2(double a,double b) {
    public static double[] RingThroughXYRgv(double a,double b) {
        double l = b / a;
        // 圆的已知参数
@@ -109,5 +109,27 @@
        return new double[]{x, y};
    }
    public static double[] RingThroughXYSta(double a,double b) {
        double l = b / a;
        // 圆的已知参数
        double radius = 50; // 半径为48
//        double circumference = ; // 计算圆周长
        double arcLength = 2 * Math.PI * radius * l; // 给出的弧长
        // 圆心坐标
        double centerX = 55;
        double centerY = 45;
        // 求弧度
        double theta = arcLength / radius;
        // 计算点的坐标
        double x = 100-(centerX + radius * Math.cos(theta));
        double y = centerY + radius * Math.sin(theta);
        return new double[]{x, y};
    }
}