diff --git a/src/main/java/digital/laboratory/platform/imr/service/impl/DrugHandingOverStatisticServiceImpl.java b/src/main/java/digital/laboratory/platform/imr/service/impl/DrugHandingOverStatisticServiceImpl.java index 86f5bd3..d9bddff 100644 --- a/src/main/java/digital/laboratory/platform/imr/service/impl/DrugHandingOverStatisticServiceImpl.java +++ b/src/main/java/digital/laboratory/platform/imr/service/impl/DrugHandingOverStatisticServiceImpl.java @@ -25,6 +25,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; import java.util.stream.Collectors; @@ -50,9 +51,9 @@ public class DrugHandingOverStatisticServiceImpl implements DrugHandingOverStati */ @Override public DrugStatisticVO statistic(DrugStatisticQuery query) { - List> lineChartData = buildLineChartData(query); - List> barChartData = buildBarChartData(query); DrugStatisticVO drugStatisticVO = new DrugStatisticVO(); + List> lineChartData = buildLineChartData(query, drugStatisticVO); + List> barChartData = buildBarChartData(query, drugStatisticVO); drugStatisticVO.setBarChartDataList(barChartData); drugStatisticVO.setLineChartDataList(lineChartData); return drugStatisticVO; @@ -60,10 +61,12 @@ public class DrugHandingOverStatisticServiceImpl implements DrugHandingOverStati /** * 构建柱状图的数据 + * * @param query + * @param drugStatisticVO * @return */ - private List> buildBarChartData(DrugStatisticQuery query) { + private void buildBarChartData(DrugStatisticQuery query, DrugStatisticVO drugStatisticVO) { List> barChartData = new ArrayList<>(); List orgNameList = new ArrayList<>(); List dataList = new ArrayList<>(); @@ -95,21 +98,26 @@ public class DrugHandingOverStatisticServiceImpl implements DrugHandingOverStati List voList = groupByHandingOverOrgMap.get(orgId); if (CollUtil.isNotEmpty(voList)) { orgNameList.add(sysOrg.getAlias()); - dataList.add(voList.size()); + int size = voList.size(); + dataList.add(size); } }); barChartData.add(orgNameList); barChartData.add(dataList); - return barChartData; + drugStatisticVO.setBarChartDataSum(dataList.stream().mapToInt(obj -> (Integer) obj).sum()); + drugStatisticVO.setBarChartDataList(barChartData); +// return barChartData; } /** * 构建折线图的数据 + * * @param query + * @param drugStatisticVO * @return */ - private List> buildLineChartData(DrugStatisticQuery query) { + private void buildLineChartData(DrugStatisticQuery query, DrugStatisticVO drugStatisticVO) { List> lineChartData = new ArrayList<>(); // 存储结果值 List monthsList = new ArrayList<>(); // 存储月份 List dataList = new ArrayList<>(); // 对应月份送缴的数量 @@ -143,7 +151,8 @@ public class DrugHandingOverStatisticServiceImpl implements DrugHandingOverStati } lineChartData.add(monthsList); lineChartData.add(dataList); - return lineChartData; + drugStatisticVO.setLineChartDataSum(dataList.stream().mapToInt(obj -> (Integer) obj).sum()); + drugStatisticVO.setLineChartDataList(lineChartData); } /** diff --git a/src/main/java/digital/laboratory/platform/imr/vo/DrugStatisticVO.java b/src/main/java/digital/laboratory/platform/imr/vo/DrugStatisticVO.java index f200f40..32a23ce 100644 --- a/src/main/java/digital/laboratory/platform/imr/vo/DrugStatisticVO.java +++ b/src/main/java/digital/laboratory/platform/imr/vo/DrugStatisticVO.java @@ -13,12 +13,22 @@ public class DrugStatisticVO { @ApiModelProperty(value = "折线图数据") private List> lineChartDataList; + @ApiModelProperty(value = "折线图数据的总和") + private Integer lineChartDataSum; + + @ApiModelProperty(value = "柱状图数据") private List> barChartDataList; + @ApiModelProperty(value = "柱状图数据的总和") + private Integer barChartDataSum; + @ApiModelProperty(value = "饼图数据") private List> pieChartDataList; + @ApiModelProperty(value = "饼图数据的总和") + private Integer pieChartDataSum; + @ApiModelProperty(value = "树状图数据") private String treeChartDateList; }