diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java index 73775525e..6315917db 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java @@ -78,10 +78,7 @@ import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.*; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; +import java.util.concurrent.*; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -869,7 +866,7 @@ public class CustomReportServiceImpl implements CustomReportService { //存放限值指标的map Map limitTargetMapX = reportLimitList.stream().collect(Collectors.toMap(ReportTemplateDTO::getItemName, Function.identity())); - List endList = new ArrayList<>(); + List endList = new CopyOnWriteArrayList<>(); if (CollUtil.isNotEmpty(reportTemplateDTOList)) { //开始组织sql reportTemplateDTOList = new LinkedHashSet<>(reportTemplateDTOList).stream().sorted(Comparator.comparing(ReportTemplateDTO::getItemName)).collect(Collectors.toList()); @@ -1121,12 +1118,8 @@ public class CustomReportServiceImpl implements CustomReportService { */ private void downReport(JSONArray jsonArray, HttpServletResponse response) { InputStream reportStream = IoUtil.toStream(jsonArray.toString(), CharsetUtil.UTF_8); - //String newContent = fileStorageUtil.uploadStream(reportStream, OssPath.HARMONIC_EXCEL_REPORT, FileUtil.generateFileName("json")); - response.setContentType("application/octet-stream;charset=UTF-8"); response.setHeader("Content-Disposition", "attachment;filename=" + "aa"); - //入库前判断是否有了,有了就更新 - OutputStream toClient = null; try { toClient = new BufferedOutputStream(response.getOutputStream()); @@ -1142,9 +1135,7 @@ public class CustomReportServiceImpl implements CustomReportService { } - private void analyzeReportZhejiang(ReportSearchParam reportSearchParam, ExcelRptTemp - excelRptTemp, HttpServletResponse response) { - + private void analyzeReportZhejiang(ReportSearchParam reportSearchParam, ExcelRptTemp excelRptTemp, HttpServletResponse response) { //指标 List reportTemplateDTOList = new ArrayList<>(); //限值 @@ -1159,7 +1150,6 @@ public class CustomReportServiceImpl implements CustomReportService { throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_JSON); } - DictData pqdDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.PQD.getCode(), DicDataTypeEnum.CS_DATA_TYPE.getCode()).getData(); List eleEpdPqdList = eleEpdMapper.selectList(new LambdaQueryWrapper().eq(EleEpdPqd::getDataType, pqdDic.getId()).isNotNull(EleEpdPqd::getPrimaryFormula)); Map> pqdMap = eleEpdPqdList.stream().filter(item -> StrUtil.isNotBlank(item.getPrimaryFormula())).collect(Collectors.groupingBy(EleEpdPqd::getName)); @@ -1217,14 +1207,11 @@ public class CustomReportServiceImpl implements CustomReportService { }); }); - //处理指标最终判定合格还是不合格 dealTargetResult(assNoPassMap, limitTargetMapX, endList); - long dealEnd = System.currentTimeMillis(); System.out.println("查询数据库花费时间" + (dealEnd - deal) / 1000 + "S"); } - if (CollUtil.isNotEmpty(endList)) { long jie = System.currentTimeMillis(); //数据单位信息 @@ -1253,11 +1240,9 @@ public class CustomReportServiceImpl implements CustomReportService { }else { finalTerminalMap = new HashMap<>(); } - //2、把itemName的value赋给v和m dealExcelResult(jsonArray, assMap, unit,finalTerminalMap); long jieEnd = System.currentTimeMillis(); - System.out.println("组装信息耗时 " + (jieEnd - jie) / 1000 + "S"); }