|
@@ -212,55 +212,13 @@ public class ConsoleFacade {
|
|
|
|
|
|
//平均住院日
|
|
|
if (ListUtil.isNotEmpty(averageDayNumList)) {
|
|
|
- if (averageDayNumList.size() < limitCount) {
|
|
|
- retAverageDayNumList = BeanUtil.listCopyTo(averageDayNumList, AverageStatisticsDTO.class);
|
|
|
- } else {
|
|
|
- Double averageValue = 0d;
|
|
|
- Integer num = 0;
|
|
|
- for (AverageStatisticsDTO averageStatisticsDTO : averageDayNumList) {
|
|
|
- if (retAverageDayNumList.size() < limitCount - 1) {
|
|
|
- retAverageDayNumList.add(averageStatisticsDTO);
|
|
|
- } else {
|
|
|
- averageValue = BigDecimal
|
|
|
- .valueOf(averageValue)
|
|
|
- .add(BigDecimal.valueOf(averageStatisticsDTO.getAverageValue()))
|
|
|
- .doubleValue();
|
|
|
- num++;
|
|
|
- }
|
|
|
- }
|
|
|
- averageValue = BigDecimal.valueOf(averageValue).divide(BigDecimal.valueOf(num)).doubleValue();
|
|
|
- AverageStatisticsDTO retAverageStatistics = new AverageStatisticsDTO();
|
|
|
- retAverageStatistics.setDeptName("其他");
|
|
|
- retAverageStatistics.setAverageValue(averageValue);
|
|
|
- retAverageDayNumList.add(retAverageStatistics);
|
|
|
- }
|
|
|
+ retAverageDayNumList = getLimitAverageList(averageDayNumList, limitCount);
|
|
|
retMap.put("平均住院日", retAverageDayNumList);
|
|
|
}
|
|
|
|
|
|
//平均住院费用
|
|
|
if (ListUtil.isNotEmpty(averageFeeList)) {
|
|
|
- if (averageFeeList.size() < limitCount) {
|
|
|
- retAverageFeeList = BeanUtil.listCopyTo(averageFeeList, AverageStatisticsDTO.class);
|
|
|
- } else {
|
|
|
- Double averageValue = 0d;
|
|
|
- Integer num = 0;
|
|
|
- for (AverageStatisticsDTO averageStatisticsDTO : averageFeeList) {
|
|
|
- if (retAverageFeeList.size() < limitCount - 1) {
|
|
|
- retAverageFeeList.add(averageStatisticsDTO);
|
|
|
- } else {
|
|
|
- averageValue = BigDecimal
|
|
|
- .valueOf(averageValue)
|
|
|
- .add(BigDecimal.valueOf(averageStatisticsDTO.getAverageValue()))
|
|
|
- .doubleValue();
|
|
|
- num++;
|
|
|
- }
|
|
|
- }
|
|
|
- averageValue = BigDecimal.valueOf(averageValue).divide(BigDecimal.valueOf(num)).doubleValue();
|
|
|
- AverageStatisticsDTO retAverageStatistics = new AverageStatisticsDTO();
|
|
|
- retAverageStatistics.setDeptName("其他");
|
|
|
- retAverageStatistics.setAverageValue(averageValue);
|
|
|
- retAverageFeeList.add(retAverageStatistics);
|
|
|
- }
|
|
|
+ retAverageFeeList = getLimitAverageList(averageFeeList, limitCount);
|
|
|
retMap.put("平均住院费用", retAverageFeeList);
|
|
|
}
|
|
|
|
|
@@ -287,4 +245,38 @@ public class ConsoleFacade {
|
|
|
}
|
|
|
return startDate;
|
|
|
}
|
|
|
-}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据限制数量重组统计结果
|
|
|
+ *
|
|
|
+ * @param averageList
|
|
|
+ * @param limitCount
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<AverageStatisticsDTO> getLimitAverageList(List<AverageStatisticsDTO> averageList, Integer limitCount) {
|
|
|
+ List<AverageStatisticsDTO> retAverageList = Lists.newLinkedList();
|
|
|
+ if (averageList.size() < limitCount) {
|
|
|
+ retAverageList = BeanUtil.listCopyTo(averageList, AverageStatisticsDTO.class);
|
|
|
+ } else {
|
|
|
+ Double averageValue = 0d;
|
|
|
+ Integer num = 0;
|
|
|
+ for (AverageStatisticsDTO averageStatisticsDTO : averageList) {
|
|
|
+ if (retAverageList.size() < limitCount - 1) {
|
|
|
+ retAverageList.add(averageStatisticsDTO);
|
|
|
+ } else {
|
|
|
+ averageValue = BigDecimal
|
|
|
+ .valueOf(averageValue)
|
|
|
+ .add(BigDecimal.valueOf(averageStatisticsDTO.getAverageValue()))
|
|
|
+ .doubleValue();
|
|
|
+ num++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ averageValue = BigDecimal.valueOf(averageValue).divide(BigDecimal.valueOf(num)).doubleValue();
|
|
|
+ AverageStatisticsDTO retAverageStatistics = new AverageStatisticsDTO();
|
|
|
+ retAverageStatistics.setDeptName("其他");
|
|
|
+ retAverageStatistics.setAverageValue(averageValue);
|
|
|
+ retAverageList.add(retAverageStatistics);
|
|
|
+ }
|
|
|
+ return retAverageList;
|
|
|
+ }
|
|
|
+}
|