فهرست منبع

质检系统----资料填报-监理同步后测量数据需变动 cl08监理完成

LHB 1 ماه پیش
والد
کامیت
179fb0e101

+ 13 - 10
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -1825,10 +1825,10 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                         if(levelingTableName.equals(initTabName)){
                             //设计标高
                             String designedElevationNew = stringStringMap.get(designedElevation);
-                            HashMap<Integer, Double> designedElevationNewMap = new HashMap<>();
+                            HashMap<Integer, BigDecimal> designedElevationNewMap = new HashMap<>();
                             //偏差
                             String heightDeviationNew = stringStringMap.get(heightDeviation);
-                            HashMap<Integer, Double> heightDeviationNewMap = new HashMap<>();
+                            HashMap<Integer, BigDecimal> heightDeviationNewMap = new HashMap<>();
                             //实际标高
                             String actualElevationNew = stringStringMap.get(actualElevation);
 
@@ -1865,12 +1865,10 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
 
                                     if (keys.get(i).equals(designedElevationNew)) {
                                         //设计标高
-                                        designedElevationNewMap.put(rowNum, Double.parseDouble(split2[0]));
+                                        designedElevationNewMap.put(rowNum, new BigDecimal(split2[0]));
                                     } else if (keys.get(i).equals(heightDeviationNew)){
                                         double v = Double.parseDouble(split2[0]);
-                                        //高度偏差
-                                        heightDeviationNewMap.put(rowNum, v);
-
+                                        //随机+ - 0/1
                                         Random random = new Random();
                                         int adjustment = random.nextInt(2);
                                         if(v > 0){
@@ -1878,6 +1876,10 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                                         }else{
                                             v = v + adjustment;
                                         }
+
+                                        //高度偏差
+                                        heightDeviationNewMap.put(rowNum, BigDecimal.valueOf(v));
+
                                         heightDeviationList.add(v + "_^_"+ split2[1]);
                                     }
                                 }
@@ -1892,15 +1894,16 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                             List<String> list = new ArrayList<>();
                             //按照最小行数来计算
                             for (int i = rowMin; i <= rowMax; i++) {
-                                Double designed = designedElevationNewMap.get(i);
-                                Double height = heightDeviationNewMap.get(i);
+                                BigDecimal designed = designedElevationNewMap.get(i);
+                                BigDecimal height = heightDeviationNewMap.get(i);
+
                                 if(designed == null || height == null){
                                     continue;
                                 }
-                                double v = designed + (height / 100);
+                                BigDecimal v = designed.add(height.divide(new BigDecimal(100)));
 
                                 //第5列,索引为4
-                                list.add(v + "_^_"+ i + "_4");
+                                list.add(v.doubleValue() + "_^_"+ i + "_4");
                             }
                             //设置实际标高的值
                             values.set(keys.indexOf(actualElevationNew), String.join("☆",list));