Browse Source

包材厂报表逻辑调整

v_KaixiangGuo 4 years ago
parent
commit
75c611c444

+ 11 - 12
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/ReportServiceImpl.java

@@ -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;
 
 /**
@@ -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);