|
@@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.util.LinkedHashMap;
|
|
|
import java.util.List;
|
|
@@ -45,15 +46,29 @@ public class ResultStatisticsAggregate {
|
|
|
|
|
|
@DataProvider("getResult")
|
|
|
public List<ResultDetailDTO> getResult(@InvokeParameter("filterVO") FilterVO filterVO) {
|
|
|
- List<ResultDetailDTO> results = behospitalInfoFacade.resultStatistics(filterVO);
|
|
|
+ List<ResultDetailDTO> results = behospitalInfoFacade.resultStatistics2(filterVO);
|
|
|
+
|
|
|
if (ListUtil.isNotEmpty(results)) {
|
|
|
+ int totle = results
|
|
|
+ .stream()
|
|
|
+ .map(ResultDetailDTO::getNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+ List<ResultDetailDTO> retResutls = Lists.newLinkedList();
|
|
|
results.forEach(result -> {
|
|
|
+ Double percent = BigDecimal.valueOf(result.getNum())
|
|
|
+ .divide(BigDecimal.valueOf(totle), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ result.setPercent(percent);
|
|
|
DecimalFormat df = new DecimalFormat("#0.00");
|
|
|
String percentStr
|
|
|
= df.format(BigDecimal.valueOf(result.getPercent()).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
result.setPercentStr(percentStr);
|
|
|
+ if (retResutls.size() < 10) {
|
|
|
+ retResutls.add(result);
|
|
|
+ }
|
|
|
+
|
|
|
});
|
|
|
- return results;
|
|
|
+ return retResutls;
|
|
|
}
|
|
|
|
|
|
return null;
|
|
@@ -61,8 +76,18 @@ public class ResultStatisticsAggregate {
|
|
|
|
|
|
@DataProvider("getResultDept")
|
|
|
public List<ResultDetailDTO> getResultDept(@InvokeParameter("filterVO") FilterVO filterVO) {
|
|
|
- List<ResultDetailDTO> results2 = behospitalInfoFacade.resultStatisticsByDept(filterVO);
|
|
|
+ List<ResultDetailDTO> results2 = behospitalInfoFacade.resultStatisticsByDept2(filterVO);
|
|
|
if (ListUtil.isNotEmpty(results2)) {
|
|
|
+ int totle = results2
|
|
|
+ .stream()
|
|
|
+ .map(ResultDetailDTO::getNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+ results2.forEach(result -> {
|
|
|
+ Double percent = BigDecimal.valueOf(result.getNum())
|
|
|
+ .divide(BigDecimal.valueOf(totle), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ result.setPercent(percent);
|
|
|
+ });
|
|
|
List<ResultDetailDTO> retResults = Lists.newLinkedList();
|
|
|
if (results2.size() <= 6) {
|
|
|
retResults = BeanUtil.listCopyTo(results2, ResultDetailDTO.class);
|