|
@@ -1,8 +1,12 @@
|
|
package com.mooctest.controller;
|
|
package com.mooctest.controller;
|
|
|
|
|
|
import com.mooctest.data.BugDTO;
|
|
import com.mooctest.data.BugDTO;
|
|
|
|
+import com.mooctest.data.FinalReportDTO;
|
|
|
|
+import com.mooctest.data.SupplementDTO;
|
|
import com.mooctest.data.TaskDTO;
|
|
import com.mooctest.data.TaskDTO;
|
|
|
|
+import com.mooctest.model.FinalReport;
|
|
import com.mooctest.service.*;
|
|
import com.mooctest.service.*;
|
|
|
|
+import com.mooctest.util.ReportUtil;
|
|
import org.json.JSONArray;
|
|
import org.json.JSONArray;
|
|
import org.json.JSONException;
|
|
import org.json.JSONException;
|
|
import org.json.JSONObject;
|
|
import org.json.JSONObject;
|
|
@@ -15,10 +19,8 @@ import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpSession;
|
|
import javax.servlet.http.HttpSession;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.io.PrintWriter;
|
|
import java.io.PrintWriter;
|
|
-import java.util.ArrayList;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Map;
|
|
|
|
-import java.util.Set;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
+import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Controller
|
|
@Controller
|
|
@@ -117,42 +119,46 @@ public class HistoryController {
|
|
@RequestParam(value = "finalReportId", required = false) Long finalReportId,
|
|
@RequestParam(value = "finalReportId", required = false) Long finalReportId,
|
|
Model model) {
|
|
Model model) {
|
|
Map<String, BugDTO> bugMap = bugReportService.getAllBugsMap(examId, caseId);
|
|
Map<String, BugDTO> bugMap = bugReportService.getAllBugsMap(examId, caseId);
|
|
- BugDTO masterReport = bugMap.get(treeId); // 从bugmap中取得主报告的信息
|
|
|
|
|
|
+ BugDTO treeReport = bugMap.get(treeId); // 从bugmap中取得主报告的信息
|
|
List<String> treeRootids = hisservice.getTreeRoots(caseId+"-"+examId); // 获得所有的根结点的id
|
|
List<String> treeRootids = hisservice.getTreeRoots(caseId+"-"+examId); // 获得所有的根结点的id
|
|
-// Map<String,List<String>> root2ReportIds = hisservice.getTree2BugIdsMap()
|
|
|
|
|
|
+ List<String> childReportIds = hisservice.getSingleRootReports(treeId); // 获得所有自报告的信息
|
|
|
|
+ List<BugDTO> childReports = new ArrayList<>();
|
|
|
|
+ childReportIds.forEach(s->{
|
|
|
|
+ childReports.add(bugMap.get(s));
|
|
|
|
+ });
|
|
|
|
+ Map<String, Long> categoryCounts = childReports.stream().collect(Collectors.groupingBy(BugDTO::getBugCategory, Collectors.counting()));
|
|
|
|
+ Map<String, Long> pageCounts = childReports.stream().collect(Collectors.groupingBy(BugDTO::getBug_page,Collectors.counting()));
|
|
|
|
+ Map<String, Long> recurrentCounts = childReports.stream()
|
|
|
|
+ .map(BugDTO::getRecurrent)
|
|
|
|
+ .map((recurrentNum) -> ReportUtil.recurrent2String.get(recurrentNum))
|
|
|
|
+ .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
|
|
|
|
+ Map<String, Long> severityCounts = childReports.stream()
|
|
|
|
+ .map(BugDTO::getSeverity)
|
|
|
|
+ .map((severityNum) -> ReportUtil.severity2String.get(severityNum))
|
|
|
|
+ .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
|
|
|
|
+ List<FinalReportDTO> finalReports = new ArrayList<>();// 暂时还没有finalreport的数据
|
|
|
|
|
|
|
|
|
|
// List<BugDTO> bugs = new LinkedList<>();
|
|
// List<BugDTO> bugs = new LinkedList<>();
|
|
// supplements.forEach(supplementDTO -> bugs.addAll(supplementDTO.getBugs()));
|
|
// 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);
|
|
|
|
-//
|
|
|
|
-// 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("categoryCounts", categoryCounts);
|
|
|
|
+ model.addAttribute("severityCounts", severityCounts);
|
|
|
|
+ model.addAttribute("pageCounts",pageCounts);
|
|
|
|
+ model.addAttribute("recurrentCounts",recurrentCounts);
|
|
|
|
+ model.addAttribute("aggReportId", "ML-TR-" + treeId.substring(10)); // 树报告的信息
|
|
|
|
+ model.addAttribute("masterReport", treeReport);
|
|
|
|
+ model.addAttribute("createTime", new Date(Long.parseLong(treeReport.getCreateTimeMillis())));
|
|
|
|
+ model.addAttribute("supplements", childReports);
|
|
|
|
+ model.addAttribute("finalReports", finalReports);
|
|
|
|
+ model.addAttribute("category2String", ReportUtil.category2String);
|
|
|
|
+ model.addAttribute("recurrent2String", ReportUtil.recurrent2String);
|
|
|
|
+ model.addAttribute("severity2String", ReportUtil.severity2String);
|
|
|
|
+ model.addAttribute("reviewed",false);
|
|
|
|
+ model.addAttribute("examId", examId);
|
|
|
|
+ model.addAttribute("caseId", caseId);
|
|
//
|
|
//
|
|
// boolean bugReviewed = bugReviewService.isBugReviewed(masterId);
|
|
// boolean bugReviewed = bugReviewService.isBugReviewed(masterId);
|
|
// model.addAttribute("reviewed", bugReviewed);
|
|
// model.addAttribute("reviewed", bugReviewed);
|
|
@@ -162,7 +168,7 @@ public class HistoryController {
|
|
// model.addAttribute("editReport", finalReportDTO.get());
|
|
// model.addAttribute("editReport", finalReportDTO.get());
|
|
//
|
|
//
|
|
// }
|
|
// }
|
|
- return "agg_report_new";
|
|
|
|
|
|
+ return "tree_report_new";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -296,4 +302,6 @@ public class HistoryController {
|
|
if(session.getAttribute("trees") != null) {session.removeAttribute("trees");}
|
|
if(session.getAttribute("trees") != null) {session.removeAttribute("trees");}
|
|
if(session.getAttribute("single") != null) {session.removeAttribute("single");}
|
|
if(session.getAttribute("single") != null) {session.removeAttribute("single");}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|