|
|
@@ -3141,23 +3141,23 @@ public class CustomFunction {
|
|
|
List<Double> list = datas.stream().filter(StringUtils::isNumber).map(m -> Double.valueOf(m.toString())).collect(Collectors.toList());
|
|
|
list = removeThreeMinAndMaxEfficient(list);
|
|
|
//计算平均值
|
|
|
- double asDouble = list.stream().filter(StringUtils::isNumber).map(StringUtils::handleNull).mapToDouble(Double::parseDouble).average().orElse(0.0);
|
|
|
+ BigDecimal asDouble = BigDecimal.valueOf(list.stream().filter(StringUtils::isNumber).map(StringUtils::handleNull).mapToDouble(Double::parseDouble).average().orElse(0.0));
|
|
|
if (StringUtils.isNotEmpty(angle) && StringUtils.isNotEmpty(pouringSurface)) {
|
|
|
//角度 根据平均值从数据库中查询对应的映射值
|
|
|
List<Map<String, Object>> angleList = jdbcTemplateStatic.queryForList("select data_value from coordinate_angle where r_value = " + asDouble + " and h_value = " + angle);
|
|
|
if (CollectionUtil.isNotEmpty(angleList)) {
|
|
|
Map<String, Object> stringObjectMap = angleList.get(0);
|
|
|
- asDouble += Double.parseDouble(stringObjectMap.get("data_value").toString());
|
|
|
+ asDouble = asDouble.add(new BigDecimal(stringObjectMap.get("data_value").toString()));
|
|
|
}
|
|
|
//角度 根据平均值从数据库中查询对应的映射值
|
|
|
List<Map<String, Object>> pouringSurfaceList = jdbcTemplateStatic.queryForList("select data_value from coordinate_pouring_urface where r_value = " + asDouble + " and h_value = '" + pouringSurface + "'");
|
|
|
if (CollectionUtil.isNotEmpty(pouringSurfaceList)) {
|
|
|
Map<String, Object> stringObjectMap = pouringSurfaceList.get(0);
|
|
|
- asDouble += Double.parseDouble(stringObjectMap.get("data_value").toString());
|
|
|
+ asDouble = asDouble.add(new BigDecimal(stringObjectMap.get("data_value").toString()));
|
|
|
}
|
|
|
|
|
|
//最终值 R H
|
|
|
- double r = asDouble;
|
|
|
+ double r = asDouble.doubleValue();
|
|
|
double h = 0;
|
|
|
|
|
|
//测区深度 第一种只取第一条数据
|