|
@@ -27,11 +27,8 @@ import java.time.LocalDateTime;
|
|
|
import java.time.ZoneId;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.time.temporal.TemporalAdjusters;
|
|
|
-import java.util.Calendar;
|
|
|
-import java.util.HashMap;
|
|
|
+import java.util.*;
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -62,7 +59,7 @@ public class ReportServiceImpl implements ReportService {
|
|
|
//求总和
|
|
|
Long collect = listReportVOS.stream().collect(Collectors.summingLong(ListBrandCodeReportVO::getQrNumber));
|
|
|
listReportVOS.forEach(listReportVO->{
|
|
|
- Double val = new Double(listReportVO.getQrNumber() / collect * 100);
|
|
|
+ Double val =listReportVO.getQrNumber().doubleValue() / collect.doubleValue()* 100;
|
|
|
listReportVO.setPercent(new DecimalFormat("#0.00").format(val + 0.000001d)+"%");
|
|
|
});
|
|
|
}
|
|
@@ -102,14 +99,16 @@ public class ReportServiceImpl implements ReportService {
|
|
|
List<ListFactoryCodeReportVO> listFactoryCodeTotalReportVOS = reportServiceMapper.queryFactoryCodeTotal(reportReq,0);
|
|
|
//包材厂包下载量
|
|
|
List<ListFactoryCodeReportVO> listFactoryCodeDownloadTotalReportVOS = reportServiceMapper.queryFactoryCodeTotal(reportReq,1);
|
|
|
- Map<String, Long> FactoryCodeDownloadTotalMaps = listFactoryCodeTotalReportVOS.stream().collect(Collectors.toMap(ListFactoryCodeReportVO::getFactoryName, ListFactoryCodeReportVO::getQrNumber));
|
|
|
- listFactoryCodeTotalReportVOS.forEach(listReportVO->{
|
|
|
- Double val = 0d;
|
|
|
- if (null != FactoryCodeDownloadTotalMaps.get(listReportVO.getFactoryName())){
|
|
|
- val = new Double(FactoryCodeDownloadTotalMaps.get(listReportVO.getFactoryName()) / listReportVO.getQrNumber() * 100);
|
|
|
- }
|
|
|
- listReportVO.setDownloadNumber(new DecimalFormat("#0.00").format(val + 0.000001d)+"%");
|
|
|
- });
|
|
|
+ Map<String, Long> factoryCodeDownloadTotalMaps = listFactoryCodeDownloadTotalReportVOS.stream().collect(Collectors.toMap(ListFactoryCodeReportVO::getFactoryName, ListFactoryCodeReportVO::getQrNumber));
|
|
|
+ if(!CollectionUtils.isEmpty(listFactoryCodeTotalReportVOS)) {
|
|
|
+ listFactoryCodeTotalReportVOS.forEach(listReportVO -> {
|
|
|
+ Double val = 0d;
|
|
|
+ if (null != factoryCodeDownloadTotalMaps.get(listReportVO.getFactoryName())) {
|
|
|
+ val = factoryCodeDownloadTotalMaps.get(listReportVO.getFactoryName()).doubleValue() / listReportVO.getQrNumber().doubleValue() * 100;
|
|
|
+ }
|
|
|
+ listReportVO.setDownloadNumber(new DecimalFormat("#0.00").format(val + 0.000001d) + "%");
|
|
|
+ });
|
|
|
+ }
|
|
|
// 封装出参
|
|
|
ListFactoryCodeReportRes res = new ListFactoryCodeReportRes();
|
|
|
List<ListFactoryCodeReportRes.FactoryCodeReportResBean> reportFactoryRes = PojoConverterUtils.copyList(listFactoryCodeTotalReportVOS, ListFactoryCodeReportRes.FactoryCodeReportResBean.class);
|