|
@@ -105,6 +105,7 @@ public class ReportController {
|
|
|
model.addAttribute("caseId", caseId);
|
|
|
// model.addAttribute("show")
|
|
|
|
|
|
+ model.addAttribute("showReference",true);//是否展示其他聚合报告的参考标签
|
|
|
boolean bugReviewed = bugReviewService.isBugReviewed(masterId);
|
|
|
model.addAttribute("reviewed", bugReviewed);
|
|
|
if (finalReportId != null) {
|
|
@@ -115,6 +116,62 @@ public class ReportController {
|
|
|
return "agg_report_new";
|
|
|
}
|
|
|
|
|
|
+ //part of aggreate report
|
|
|
+ @GetMapping(value = "/report_part")
|
|
|
+ public String showAggrReportPart(@RequestParam("masterId") String masterId,
|
|
|
+ @RequestParam("examId") long examId,
|
|
|
+ @RequestParam("caseId") long caseId,
|
|
|
+ @RequestParam(value = "finalReportId", required = false) Long finalReportId,
|
|
|
+ Model model) {
|
|
|
+ Map<String, BugDTO> bugMap = bugReportService.getAllBugsMap(examId, caseId);
|
|
|
+ BugDTO masterReport = bugMap.get(masterId);
|
|
|
+ List<SupplementDTO> supplements = supplementService.getSupplementByMasterId(masterId, bugMap);
|
|
|
+ List<BugDTO> bugs = new LinkedList<>();
|
|
|
+ supplements.forEach(supplementDTO -> bugs.addAll(supplementDTO.getBugs()));
|
|
|
+ List<BugDTO> sourceReports = bugs.stream().distinct().collect(Collectors.toList());
|
|
|
+ Map<String, Long> categoryCounts = sourceReports.stream().collect(Collectors.groupingBy(BugDTO::getBugCategory, Collectors.counting()));
|
|
|
+ Map<String, Long> pageCounts = sourceReports.stream().collect(Collectors.groupingBy(BugDTO::getBug_page,Collectors.counting()));
|
|
|
+ Map<String, Long> recurrentCounts = sourceReports.stream()
|
|
|
+ .map(BugDTO::getRecurrent)
|
|
|
+ .map((recurrentNum) -> ReportUtil.recurrent2String.get(recurrentNum))
|
|
|
+ .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
|
|
|
+ Map<String, Long> severityCounts = sourceReports.stream()
|
|
|
+ .map(BugDTO::getSeverity)
|
|
|
+ .map((severityNum) -> ReportUtil.severity2String.get(severityNum))
|
|
|
+ .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
|
|
|
+
|
|
|
+ List<FinalReportDTO> finalReports = finalReportService.getBySourceId(masterId);
|
|
|
+ Map<String,String> single2rootMap = historyService.getSingle2Root(caseId, examId);
|
|
|
+ model.addAttribute("single2root",single2rootMap);
|
|
|
+ model.addAttribute("wordList", getWordCloudList(sourceReports));
|
|
|
+ model.addAttribute("categoryCounts", categoryCounts);
|
|
|
+ model.addAttribute("severityCounts", severityCounts);
|
|
|
+ model.addAttribute("pageCounts",pageCounts);
|
|
|
+ model.addAttribute("recurrentCounts",recurrentCounts);
|
|
|
+ model.addAttribute("aggReportId", "ML-AG-" + masterId.substring(10));
|
|
|
+ model.addAttribute("masterReport", masterReport);
|
|
|
+ model.addAttribute("createTime", new Date(Long.parseLong(masterReport.getCreateTimeMillis())));
|
|
|
+ model.addAttribute("supplements", supplements);
|
|
|
+ model.addAttribute("finalReports", finalReports);
|
|
|
+ model.addAttribute("category2String", ReportUtil.category2String);
|
|
|
+ model.addAttribute("recurrent2String", ReportUtil.recurrent2String);
|
|
|
+ model.addAttribute("severity2String", ReportUtil.severity2String);
|
|
|
+ model.addAttribute("examId", examId);
|
|
|
+ model.addAttribute("caseId", caseId);
|
|
|
+
|
|
|
+ model.addAttribute("showReference",false);//是否展示其他聚合报告的参考标签
|
|
|
+
|
|
|
+
|
|
|
+ boolean bugReviewed = bugReviewService.isBugReviewed(masterId);
|
|
|
+ model.addAttribute("reviewed", bugReviewed);
|
|
|
+ if (finalReportId != null) {
|
|
|
+ Optional<FinalReportDTO> finalReportDTO = finalReports.stream().filter(finalReport -> finalReport.getId()==finalReportId).findFirst();
|
|
|
+ model.addAttribute("finalReportId", finalReportId);
|
|
|
+ model.addAttribute("editReport", finalReportDTO.get());
|
|
|
+ }
|
|
|
+ return "agg_report_new::masterBody";
|
|
|
+ }
|
|
|
+
|
|
|
@GetMapping(value = "/report/{id}")
|
|
|
public String showAggrReportTest(@PathVariable("id") String id,
|
|
|
@RequestParam("examId") long examId,
|