gaodd лет назад: 4
Родитель
Сommit
c02ae4ba9e

+ 1 - 1
src/main/java/com/szls/nstths/service/TeDataService.java

@@ -26,7 +26,7 @@ public interface TeDataService {
26
      * @param diameter
26
      * @param diameter
27
      * @return 数据库影响条数
27
      * @return 数据库影响条数
28
      */
28
      */
29
-    int scanTask(double diameter, double high);
29
+    void scanTask(double diameter, double high);
30
 
30
 
31
     /**
31
     /**
32
      * 第二次待打点
32
      * 第二次待打点

+ 16 - 15
src/main/java/com/szls/nstths/service/impl/Algorithm.java

@@ -83,10 +83,11 @@ public class Algorithm {
83
 
83
 
84
                 }
84
                 }
85
 
85
 
86
-                sb.append(Math.round(level_angle));
86
+                sb.append(Math.round(vertical_angle) * 51);
87
                 sb.append(",");
87
                 sb.append(",");
88
-                sb.append(Math.round(vertical_angle));
88
+                sb.append(Math.round(level_angle) * 51);
89
                 sb.append(";");
89
                 sb.append(";");
90
+
90
                 // sb.append("\n");
91
                 // sb.append("\n");
91
             }
92
             }
92
         }
93
         }
@@ -97,12 +98,9 @@ public class Algorithm {
97
         AB = diameter / 2;//垂直三角形的底边
98
         AB = diameter / 2;//垂直三角形的底边
98
         BC = Math.sqrt(AB * AB + high * high);//垂直三角形的斜边
99
         BC = Math.sqrt(AB * AB + high * high);//垂直三角形的斜边
99
         vertical_angle = Math.toDegrees(Math.acos(high / BC));
100
         vertical_angle = Math.toDegrees(Math.acos(high / BC));
100
-        sb.append(90);
101
+        sb.append(Math.round(vertical_angle) * 51);
101
         sb.append(",");
102
         sb.append(",");
102
-        sb.append(Math.round(vertical_angle));
103
-        // sb.append("\n");
104
-        //System.out.println(Math.round(level_step)+","+Math.round(vertical_step)+"");
105
-        //System.out.println(sb);
103
+        sb.append(90*51);
106
         //System.out.println(sb);
104
         //System.out.println(sb);
107
         return sb.toString();
105
         return sb.toString();
108
 
106
 
@@ -129,16 +127,17 @@ public class Algorithm {
129
         double verticalAngle = 0;//垂直角度
127
         double verticalAngle = 0;//垂直角度
130
         double levelAngle = 0;//水平角度
128
         double levelAngle = 0;//水平角度
131
         double realHypotenuse = 0;//返回的距离
129
         double realHypotenuse = 0;//返回的距离
130
+        BigDecimal baseNumber = new BigDecimal(51);
132
 
131
 
133
-
134
-        //  "18,7,17.88 - 19,6,28.88 - 17,4,39.88"  水平角度,垂直角度,返回距离 -
132
+        //  "18,7,17.88 - 19,6,28.88 - 17,4,39.88"  垂直角度,水平角度,返回距离 -
135
         String[] split = rotationxy.split(";");
133
         String[] split = rotationxy.split(";");
136
         for (int i = 0; i < split.length; i++) {
134
         for (int i = 0; i < split.length; i++) {
135
+        	System.out.println("split[i]是:"+split[i]);
137
             String[] split1 = split[i].split(",");
136
             String[] split1 = split[i].split(",");
138
-            levelAngle = Double.parseDouble(split1[0]);
139
-            verticalAngle = Double.parseDouble(split1[1]);
140
-            realHypotenuse = Double.parseDouble(split1[2]);
141
-
137
+            verticalAngle = new BigDecimal(split1[0]).divide(baseNumber,0,RoundingMode.HALF_UP).doubleValue();
138
+            levelAngle = new BigDecimal(split1[1]).divide(baseNumber,0,RoundingMode.HALF_UP).doubleValue();
139
+            realHypotenuse = new BigDecimal(split1[2]).divide(new BigDecimal(1000),2,RoundingMode.HALF_UP).doubleValue(); //单位转化为米
140
+            
142
             //将垂直的角度转化为弧度
141
             //将垂直的角度转化为弧度
143
             double verticalAngleRadians = Math.toRadians(verticalAngle);
142
             double verticalAngleRadians = Math.toRadians(verticalAngle);
144
             String verticalAngleS = String.format("%.2f%n", Math.sin(verticalAngleRadians));
143
             String verticalAngleS = String.format("%.2f%n", Math.sin(verticalAngleRadians));
@@ -266,10 +265,12 @@ public class Algorithm {
266
 
265
 
267
     public static void main(String[] args) {
266
     public static void main(String[] args) {
268
 
267
 
269
-        BigDecimal bdv = BigDecimal.valueOf(12.125323);
268
+       /* BigDecimal bdv = BigDecimal.valueOf(12.125323);
270
         //BigDecimal bdv = new BigDecimal(vv);
269
         //BigDecimal bdv = new BigDecimal(vv);
271
         //double v = bdv.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
270
         //double v = bdv.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
272
         double v = bdv.setScale(2, RoundingMode.HALF_UP).doubleValue();
271
         double v = bdv.setScale(2, RoundingMode.HALF_UP).doubleValue();
273
-        System.out.println("v = " + v);
272
+        System.out.println("v = " + v);*/
273
+    	String a = Algorithm.getAveragePosition(8,12);
274
+    	System.out.println(a);
274
     }
275
     }
275
 }
276
 }

+ 8 - 7
src/main/java/com/szls/nstths/service/impl/TeDataServiceImpl.java

@@ -26,10 +26,10 @@ public class TeDataServiceImpl implements TeDataService {
26
 
26
 
27
     private static final Logger logger = LoggerFactory.getLogger(TeDataServiceImpl.class);
27
     private static final Logger logger = LoggerFactory.getLogger(TeDataServiceImpl.class);
28
 
28
 
29
-    static String base_url = "http://local.wxlxit.com:61001/";
29
+    static String base_url = "http://192.168.0.61:4017/";
30
     static boolean flag = true;
30
     static boolean flag = true;
31
-    static double diameter = 0; //直径
32
-    static double high = 0; //圆筒仓的高(以地面为基准面)
31
+    static double diameter = 8; //直径
32
+    static double high = 12; //圆筒仓的高(以地面为基准面)
33
     static double h1 = 6; //h1 圆锥的高
33
     static double h1 = 6; //h1 圆锥的高
34
     static double h2 = 3; //h2 水平地面到圆锥尖的高
34
     static double h2 = 3; //h2 水平地面到圆锥尖的高
35
     private STaskMapper sTaskMapper;
35
     private STaskMapper sTaskMapper;
@@ -65,7 +65,7 @@ public class TeDataServiceImpl implements TeDataService {
65
      * 3. equipmentTestingEnd
65
      * 3. equipmentTestingEnd
66
      */
66
      */
67
     @Override
67
     @Override
68
-    public int scanTask(double diameter, double high) {
68
+    public void scanTask(double diameter, double high) {
69
         logger.info("scanTask {},{}",diameter,high);
69
         logger.info("scanTask {},{}",diameter,high);
70
         STask task = new STask();
70
         STask task = new STask();
71
         Date date = new Date();
71
         Date date = new Date();
@@ -81,7 +81,7 @@ public class TeDataServiceImpl implements TeDataService {
81
         //todo 第一次待打点
81
         //todo 第一次待打点
82
         String rotationxy = Algorithm.getAveragePosition(diameter, high);
82
         String rotationxy = Algorithm.getAveragePosition(diameter, high);
83
         teData.setRotationxy(rotationxy);
83
         teData.setRotationxy(rotationxy);
84
-        int inum = teDataMapper.insert(teData);
84
+        //int inum = teDataMapper.insert(teData);
85
 
85
 
86
         logger.info("scanTask sTaskMapper teDataMapper {},{}",task,teData);
86
         logger.info("scanTask sTaskMapper teDataMapper {},{}",task,teData);
87
 
87
 
@@ -89,7 +89,6 @@ public class TeDataServiceImpl implements TeDataService {
89
         //equipmentTestingEnd
89
         //equipmentTestingEnd
90
         flag = true;
90
         flag = true;
91
 
91
 
92
-        return inum;
93
     }
92
     }
94
     @Async
93
     @Async
95
     @Override
94
     @Override
@@ -107,7 +106,9 @@ public class TeDataServiceImpl implements TeDataService {
107
             //todo 第二次待打点
106
             //todo 第二次待打点
108
 
107
 
109
             //计算以粮面为基准面的高
108
             //计算以粮面为基准面的高
109
+        	System.out.println("直径和高是:"+diameter+"****"+high);
110
             double zHeight = Algorithm.zHeight(teData.getRotationxy(), diameter, high);
110
             double zHeight = Algorithm.zHeight(teData.getRotationxy(), diameter, high);
111
+            System.out.println("以粮面为基准面的高是:"+zHeight+"diameter直径是:"+diameter);
111
             //打点
112
             //打点
112
             String rotationxy = Algorithm.getAveragePosition(diameter, zHeight);
113
             String rotationxy = Algorithm.getAveragePosition(diameter, zHeight);
113
             teData.setRotationxy(rotationxy);
114
             teData.setRotationxy(rotationxy);
@@ -166,7 +167,7 @@ public class TeDataServiceImpl implements TeDataService {
166
             for (int i = 0; i < split.length; i++) {
167
             for (int i = 0; i < split.length; i++) {
167
                 String[] split1 = split[i].split(",");
168
                 String[] split1 = split[i].split(",");
168
                 //split1[2]  是返回的距离
169
                 //split1[2]  是返回的距离
169
-                zList.add(Double.parseDouble(split1[2]));
170
+                zList.add(Double.parseDouble(split1[2]) / 1000); //距离转化为米
170
             }
171
             }
171
         }
172
         }
172
         double v = Algorithm.calculateVolume(zList, diameter, h1, h2); //体积
173
         double v = Algorithm.calculateVolume(zList, diameter, h1, h2); //体积