From 13610d4b55fb5d2871a4f12e3e8df4ab86bf33f7 Mon Sep 17 00:00:00 2001 From: lsh <lsh@163.com> Date: 星期四, 17 十月 2024 16:01:55 +0800 Subject: [PATCH] * --- src/main/java/com/zy/asrs/controller/RgvController.java | 28 ++++++++++------------------ src/main/java/com/zy/asrs/utils/Utils.java | 24 +++++++++++++++++++++++- 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java index 33a715a..1f36c8c 100644 --- a/src/main/java/com/zy/asrs/controller/RgvController.java +++ b/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); diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java index f0955c7..fd24456 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/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}; + } + } -- Gitblit v1.9.1