diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/impl/AgencyServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/impl/AgencyServiceImpl.java index 9ca543828c..cb7fd872a5 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/impl/AgencyServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/impl/AgencyServiceImpl.java @@ -46,7 +46,11 @@ public class AgencyServiceImpl implements AgencyService { if (null == rootAgency){ return new TreeResultDTO(); } - List departmentList = this.getDepartmentList(("".equals(rootAgency.getPids()) ? "" : rootAgency.getPids() + ",") + rootAgency.getValue()); + String sub = null; + if ("".equals(rootAgency.getPids()) || rootAgency.getPids().equals("0")){ + sub = rootAgency.getValue(); + } + List departmentList = this.getDepartmentList(sub); rootAgency.setChildren(departmentList); return rootAgency; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/DoubleScoreCalculator.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/DoubleScoreCalculator.java index c626602393..01258d0f45 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/DoubleScoreCalculator.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/DoubleScoreCalculator.java @@ -1,6 +1,7 @@ package com.epmet.support.normalizing; import java.math.BigDecimal; +import java.util.List; /** * Double的分值计算 @@ -24,6 +25,14 @@ public class DoubleScoreCalculator extends ScoreCalculator { this.prepare(); } + public DoubleScoreCalculator(List sourceArray, BigDecimal minScore, BigDecimal maxScore, Correlation correlation) { + this.sourceArrary = sourceArray.toArray(); + this.minScore = minScore; + this.maxScore = maxScore; + this.correlation = correlation; + this.prepare(); + } + @Override public BigDecimal getMaxFromSourceArray() { Double[] doubleSourceArrary = (Double[]) this.sourceArrary; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/IntegerScoreCalculator.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/IntegerScoreCalculator.java index 7708b83fc0..98f837ab7e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/IntegerScoreCalculator.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/IntegerScoreCalculator.java @@ -1,6 +1,7 @@ package com.epmet.support.normalizing; import java.math.BigDecimal; +import java.util.List; /** * Integer的分值计算 @@ -26,6 +27,15 @@ public class IntegerScoreCalculator extends ScoreCalculator { } + public IntegerScoreCalculator(List sourceList, BigDecimal minScore, BigDecimal maxScore, Correlation correlation) { + this.sourceArrary = sourceList.toArray(); + this.minScore = minScore; + this.maxScore = maxScore; + this.correlation = correlation; + this.prepare(); + System.out.println("最小值:"+minScore+";最大值:"+maxScore); + } + @Override public BigDecimal getMaxFromSourceArray() { Integer[] intSourceArrary = (Integer[]) this.sourceArrary; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/ScoreCalculator.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/ScoreCalculator.java index e3c98d5117..48692e92ce 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/ScoreCalculator.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/ScoreCalculator.java @@ -3,6 +3,8 @@ package com.epmet.support.normalizing; import java.math.BigDecimal; import java.math.MathContext; import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; /** * 所有数据类型计算器的父类,实现算法骨架,数据类型转换方法则由子类实现 @@ -93,6 +95,15 @@ public abstract class ScoreCalculator { return scores; } + /** + * 批量归一算法,返回List + * @param sourceValues + * @return + */ + public List normalize(List sourceValues) { + return sourceValues.stream().map(s -> normalize(s)).collect(Collectors.toList()); + } + /** * 批量归一算法,带权重 * @param sourceValues @@ -110,6 +121,15 @@ public abstract class ScoreCalculator { return scores; } + /** + * 批量归一算法,返回List + * @param sourceValues + * @return + */ + public List normalize(List sourceValues, BigDecimal weight) { + return sourceValues.stream().map(s -> normalize(s).multiply(weight)).collect(Collectors.toList()); + } + /** * 校验数组 * @param sourceArray