zhaops 5 سال پیش
والد
کامیت
ebcd37d226

+ 6 - 7
src/main/java/com/diagbot/aggregate/AverageStatisticsAggregate.java

@@ -69,6 +69,7 @@ public class AverageStatisticsAggregate {
     public List<AverageStatisticsDTO> getAverageDayNum(@InvokeParameter("filterVO") FilterVO filterVO) {
         List<AverageStatisticsDTO> retAverageDayNumList = Lists.newLinkedList();
         List<AverageStatisticsDTO> averageDayNumList = homePageFacade.getAverageDayNum(filterVO);
+        Integer limitCount = filterVO.getLimitCount();
 
         //上月、去年
         String startDate = filterFacade.getLastStartDateStr(filterVO.getType());
@@ -102,10 +103,10 @@ public class AverageStatisticsAggregate {
                 item.setLastYearAverageValue(lastYearMap.get(item.getName()));
             }
         });
-        if (averageDayNumList.size() <= 10) {
+        if (averageDayNumList.size() <= limitCount) {
             retAverageDayNumList = averageDayNumList;
         } else {
-            retAverageDayNumList = averageDayNumList.subList(0, 10);
+            retAverageDayNumList = averageDayNumList.subList(0, limitCount);
         }
         return retAverageDayNumList;
     }
@@ -120,6 +121,7 @@ public class AverageStatisticsAggregate {
     public List<AverageStatisticsDTO> getAverageFee(@InvokeParameter("filterVO") FilterVO filterVO) {
         List<AverageStatisticsDTO> retAverageFeeList = Lists.newLinkedList();
         List<AverageStatisticsDTO> averageFeeList = homePageFacade.getAverageFee(filterVO);
+        Integer limitCount = filterVO.getLimitCount();
         //上月、去年
         String startDate = filterFacade.getLastStartDateStr(filterVO.getType());
         String endDate = filterFacade.getLastEndDateStr(filterVO.getType());
@@ -152,10 +154,10 @@ public class AverageStatisticsAggregate {
                 item.setLastYearAverageValue(lastYearMap.get(item.getName()));
             }
         });
-        if (averageFeeList.size() <= 10) {
+        if (averageFeeList.size() <= limitCount) {
             retAverageFeeList = averageFeeList;
         } else {
-            retAverageFeeList = averageFeeList.subList(0, 10);
+            retAverageFeeList = averageFeeList.subList(0, limitCount);
         }
         return retAverageFeeList;
     }
@@ -170,9 +172,6 @@ public class AverageStatisticsAggregate {
     public List<AverageStatisticsDTO> getAverageScore(@InvokeParameter("filterVO") FilterVO filterVO) {
         List<AverageStatisticsDTO> retAverageScoreList = Lists.newLinkedList();
         List<AverageStatisticsDTO> averageScoreList = qcresultInfoFacade.getAverageScoreByDept(filterVO);
-        if (filterVO.getLimitCount() == null || filterVO.getLimitCount().equals(0)) {
-            filterVO.setLimitCount(10);
-        }
         Integer limitCount = filterVO.getLimitCount();
         //质控平均分
         if (ListUtil.isNotEmpty(averageScoreList)) {

+ 5 - 1
src/main/java/com/diagbot/aggregate/MrStatisticsAggregate.java

@@ -68,7 +68,11 @@ public class MrStatisticsAggregate {
     @DataProvider("getLevelResultDept")
     public List<QcResultPercentDTO> getLevelResultDept(@InvokeParameter("filterVO") FilterVO filterVO) {
         List<QcResultPercentDTO> qcResultPercentList = qcresultInfoFacade.levelPercentGroupByDept(filterVO);
-        qcResultPercentList = qcResultPercentList.stream().limit(10).collect(Collectors.toList());
+        Integer limitCount = filterVO.getLimitCount();
+        qcResultPercentList = qcResultPercentList
+                .stream()
+                .limit(limitCount)
+                .collect(Collectors.toList());
         return qcResultPercentList;
     }
 

+ 8 - 5
src/main/java/com/diagbot/aggregate/ResultStatisticsAggregate.java

@@ -71,6 +71,7 @@ public class ResultStatisticsAggregate {
      */
     @DataProvider("entryCountGroupByCase")
     public List<NumDTO> entryCountGroupByCase(@InvokeParameter("filterVO") FilterVO filterVO) {
+        Integer limitCount = filterVO.getLimitCount();
         QcresultFilterVO qcresultFilterVO = new QcresultFilterVO();
         BeanUtil.copyProperties(filterVO, qcresultFilterVO);
         int mrNum = qcresultInfoFacade.resultCount(qcresultFilterVO);
@@ -118,7 +119,7 @@ public class ResultStatisticsAggregate {
         //取top10
         standardEntryNumList = standardEntryNumList
                 .stream()
-                .limit(10)
+                .limit(limitCount)
                 .collect(Collectors.toList());
 
         return standardEntryNumList;
@@ -133,6 +134,7 @@ public class ResultStatisticsAggregate {
     @DataProvider("entryCountGroupByEntry")
     public List<NumDTO> entryCountGroupByEntry(@InvokeParameter("filterVO") FilterVO filterVO) {
         DecimalFormat df = new DecimalFormat("#0.00");
+        Integer limitCount = filterVO.getLimitCount();
         List<NumDTO> numDTOList = qcresultInfoFacade.entryCountGroupByEntry(filterVO);
         if (ListUtil.isNotEmpty(numDTOList)) {
             int totle = numDTOList
@@ -159,12 +161,12 @@ public class ResultStatisticsAggregate {
             });
 
             //top9+其他
-            if (numDTOList.size() <= 10) {
+            if (numDTOList.size() <= limitCount) {
                 retList.addAll(numDTOList);
             } else {
                 int count = 0;
                 for (NumDTO numDTO : numDTOList) {
-                    if (retList.size() < 10) {
+                    if (retList.size() < limitCount - 1) {
                         retList.add(numDTO);
                         count += numDTO.getNum();
                     } else {
@@ -198,6 +200,7 @@ public class ResultStatisticsAggregate {
      */
     @DataProvider("entryByDept")
     public List<NumDTO> entryByDept(@InvokeParameter("filterVO") FilterVO filterVO) {
+        Integer limitCount = filterVO.getLimitCount();
         List<NumDTO> numDTOList = behospitalInfoFacade.resultStatisticsByDept2(filterVO);
         if (ListUtil.isNotEmpty(numDTOList)) {
             int totle = numDTOList
@@ -211,14 +214,14 @@ public class ResultStatisticsAggregate {
                 result.setPercent(percent);
             });
             List<NumDTO> retList = Lists.newLinkedList();
-            if (numDTOList.size() <= 10) {
+            if (numDTOList.size() <= limitCount) {
                 retList = BeanUtil.listCopyTo(numDTOList, NumDTO.class);
             } else {
 
                 Double rate = 0d;
                 Integer num = 0;
                 for (NumDTO numDTO : numDTOList) {
-                    if (retList.size() < 9) {
+                    if (retList.size() < limitCount - 1) {
                         rate = BigDecimal.valueOf(rate)
                                 .add(BigDecimal.valueOf(Double.valueOf(numDTO.getPercent())))
                                 .doubleValue();

+ 15 - 3
src/main/java/com/diagbot/facade/ConsoleFacade.java

@@ -4,7 +4,6 @@ import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.util.SysUserUtils;
 import com.diagbot.vo.FilterVO;
-import com.google.common.collect.Lists;
 import io.github.lvyahui8.spring.aggregate.facade.DataBeanAggregateQueryFacade;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -39,6 +38,9 @@ public class ConsoleFacade {
         filterVO.setStartDate(startDate);
         filterVO.setEndDate(endDate);
         filterVO.setHospitalId(hospitalId);
+        if (filterVO.getLimitCount() == null || filterVO.getLimitCount().equals(0)) {
+            filterVO.setLimitCount(10);
+        }
         try {
             Map<String, Object> invokeParams = new HashMap<>();
             invokeParams.put("filterVO", filterVO);
@@ -60,8 +62,13 @@ public class ConsoleFacade {
         Map<String, Object> retMap = new LinkedHashMap<>();
         String hospitalId = SysUserUtils.getCurrentHospitalID();
         String startDate = filterFacade.getStartDateStr(filterVO.getType(), null);
-        filterVO.setStartDate(startDate);
+        String endDate = filterFacade.getEndDateStr(filterVO.getType(), null);
         filterVO.setHospitalId(hospitalId);
+        filterVO.setStartDate(startDate);
+        filterVO.setEndDate(endDate);
+        if (filterVO.getLimitCount() == null || filterVO.getLimitCount().equals(0)) {
+            filterVO.setLimitCount(10);
+        }
         try {
             Map<String, Object> invokeParams = new HashMap<>();
             invokeParams.put("filterVO", filterVO);
@@ -82,9 +89,14 @@ public class ConsoleFacade {
     public Map<String, Object> averageStatistics(FilterVO filterVO) {
         Map<String, Object> retMap = new LinkedHashMap<>();
         String hospitalId = SysUserUtils.getCurrentHospitalID();
-        filterVO.setHospitalId(hospitalId);
         String startDate = filterFacade.getStartDateStr(filterVO.getType(), null);
+        String endDate = filterFacade.getEndDateStr(filterVO.getType(), null);
+        filterVO.setHospitalId(hospitalId);
         filterVO.setStartDate(startDate);
+        filterVO.setEndDate(endDate);
+        if (filterVO.getLimitCount() == null || filterVO.getLimitCount().equals(0)) {
+            filterVO.setLimitCount(10);
+        }
         try {
             Map<String, Object> invokeParams = new HashMap<>();
             invokeParams.put("filterVO", filterVO);