|
@@ -77,8 +77,16 @@ public class HistoryController {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- //获取所有形成树状结构的bug根节点
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 教师所有形成树状结构的bug根节点
|
|
|
+ * @param case_take_id
|
|
|
+ * @param start 从第几个开始
|
|
|
+ * @param count 显示几个
|
|
|
+ * @param page 页面信息 eg:首页 or 首页——众测广场 or 首页——众测广场--任务
|
|
|
+ * @param session
|
|
|
+ * @param response
|
|
|
+ */
|
|
|
@RequestMapping(value = "/getTrees")
|
|
|
@ResponseBody
|
|
|
public void getTrees(String case_take_id, String start, String count, String page, HttpSession session, HttpServletResponse response) {
|
|
@@ -101,10 +109,31 @@ public class HistoryController {
|
|
|
// TODO Auto-generated catch block
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
+
|
|
|
+// try {
|
|
|
+// PrintWriter out = response.getWriter();
|
|
|
+// JSONObject result = new JSONObject();
|
|
|
+// List<String> all = hisservice.getTreeRoots(case_take_id);
|
|
|
+// hisservice.pageFilter(all, page);
|
|
|
+// hisservice.hotSortTree(all);
|
|
|
+// List<String> ids = all.subList(Integer.parseInt(start), Math.min(all.size(), Integer.parseInt(start) + Integer.parseInt(count)));
|
|
|
+// List<List<String>> list = new ArrayList<List<String>>();
|
|
|
+// for(String id: ids) {
|
|
|
+// list.add(hisservice.getDetail(id));
|
|
|
+// }
|
|
|
+// result.put("Count", all.size());
|
|
|
+// result.put("TreeRoot", new JSONArray(list));
|
|
|
+// out.print(result);
|
|
|
+// out.flush();
|
|
|
+// out.close();
|
|
|
+// } catch (IOException e) {
|
|
|
+// // TODO Auto-generated catch block
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 获取所有形成树状结构的bug根节点
|
|
|
+ * 学生获取所有形成树状结构的bug根节点
|
|
|
* @param case_take_id
|
|
|
* @param start 从第几个开始
|
|
|
* @param count 显示几个
|
|
@@ -141,8 +170,15 @@ public class HistoryController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- //获取所有单个节点的数据
|
|
|
+ /**
|
|
|
+ * 教师获取所有单个节点的数据 /getSingle
|
|
|
+ * @param case_take_id
|
|
|
+ * @param start 从第几个开始
|
|
|
+ * @param count 显示几个
|
|
|
+ * @param page 页面信息 eg:首页 or 首页——众测广场 or 首页——众测广场--任务
|
|
|
+ * @param session
|
|
|
+ * @param response
|
|
|
+ */
|
|
|
@RequestMapping(value = "/getSingle")
|
|
|
@ResponseBody
|
|
|
public void getSingle(String case_take_id, String start, String count, String page, HttpSession session, HttpServletResponse response) {
|
|
@@ -150,23 +186,121 @@ public class HistoryController {
|
|
|
PrintWriter out = response.getWriter();
|
|
|
JSONObject result = new JSONObject();
|
|
|
List<String> all = new ArrayList<String>();
|
|
|
-//// 获取所有单个节点
|
|
|
-//// for(String id : hisservice.getRoots(case_take_id)) {
|
|
|
-//// if(hisservice.getHistory(id).getChildren().size() == 0) {all.add(id);}
|
|
|
-//// }
|
|
|
-// //三级页面筛选,单个节点筛选
|
|
|
+ //三级页面筛选,单个节点筛选(没有parent,也没有children)
|
|
|
+ for(String id : hisservice.getBugIdListByPage(case_take_id,page,start,count)) {
|
|
|
+ BugHistory bugHistory=hisservice.getHistory(id);
|
|
|
+ if(bugHistory==null || bugHistory.getChildren().size() == 0&&bugHistory.getParent().equals("null")) {all.add(id);}
|
|
|
+ }
|
|
|
+ //根据三级页面筛选
|
|
|
+ //分页
|
|
|
+ List<String> ids = all.subList(Integer.parseInt(start), Math.min(all.size(), Integer.parseInt(start) + Integer.parseInt(count)));
|
|
|
+
|
|
|
+ List<String> invalid = hisservice.getInvalid(ids);
|
|
|
+ for(String id: invalid) {
|
|
|
+ if(ids.contains(id)) {ids.remove(id);}
|
|
|
+ }
|
|
|
+ List<List<String>> list = new ArrayList<List<String>>();
|
|
|
+ for(String id : ids) {
|
|
|
+ List<String> temp = new ArrayList<String>();
|
|
|
+ temp.add(id);
|
|
|
+ int score = aservice.getGrade(id);
|
|
|
+ if(score != -1) {temp.add("true");}
|
|
|
+ else {temp.add("false");}
|
|
|
+ temp.add(recservice.getTitle(id));
|
|
|
+ list.add(temp);
|
|
|
+ }
|
|
|
+ result.put("Count", all.size());
|
|
|
+ result.put("TreeRoot", new JSONArray(list));
|
|
|
+ out.print(result);
|
|
|
+ out.flush();
|
|
|
+ out.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ // TODO Auto-generated catch block
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+// try {
|
|
|
+// PrintWriter out = response.getWriter();
|
|
|
+// JSONObject result = new JSONObject();
|
|
|
+// List<String> all = new ArrayList<String>();
|
|
|
+// //三级页面筛选,单个节点筛选(没有parent,也没有children)
|
|
|
// for(String id : hisservice.getBugIdListByPage(case_take_id,page,start,count)) {
|
|
|
-// if(hisservice.getHistory(id).getChildren().size() == 0) {all.add(id);}
|
|
|
+// BugHistory bugHistory=hisservice.getHistory(id);
|
|
|
+// if(bugHistory.getChildren().size() == 0&&bugHistory.getParent().equals("null")) {all.add(id);}
|
|
|
// }
|
|
|
+// //根据热度排序,热度低的排在前面
|
|
|
+// hisservice.hotSortSingle(all);
|
|
|
// //根据三级页面筛选
|
|
|
-//// hisservice.pageFilter(all, page);
|
|
|
-////
|
|
|
-
|
|
|
+// //分页
|
|
|
+// List<String> ids = all.subList(Integer.parseInt(start), Math.min(all.size(), Integer.parseInt(start) + Integer.parseInt(count)));
|
|
|
+//
|
|
|
+// List<String> invalid = hisservice.getInvalid(ids);
|
|
|
+// for(String id: invalid) {
|
|
|
+// if(ids.contains(id)) {ids.remove(id);}
|
|
|
+// }
|
|
|
+// //判断是否已被评分
|
|
|
+// List<List<String>> list = new ArrayList<List<String>>();
|
|
|
+// for(String id : ids) {
|
|
|
+// List<String> temp = new ArrayList<String>();
|
|
|
+// temp.add(id);
|
|
|
+// int score = aservice.getGrade(id);
|
|
|
+// if(score != -1) {temp.add("true");}
|
|
|
+// else {temp.add("false");}
|
|
|
+// temp.add(recservice.getTitle(id));
|
|
|
+// list.add(temp);
|
|
|
+// }
|
|
|
+// result.put("Count", all.size());
|
|
|
+// result.put("TreeRoot", new JSONArray(list));
|
|
|
+// out.print(result);
|
|
|
+// out.flush();
|
|
|
+// out.close();
|
|
|
+// } catch (IOException e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 教师通过是否评分筛选接口 /getSingle
|
|
|
+ * @param case_take_id
|
|
|
+ * @param start 从第几个开始
|
|
|
+ * @param count 显示几个
|
|
|
+ * @param page 页面信息 eg:首页 or 首页——众测广场 or 首页——众测广场--任务
|
|
|
+ * @param condition 是否评分
|
|
|
+ * @param roleId 默认为0学生 1为教师
|
|
|
+ * @param session
|
|
|
+ * @param response
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/getSingleData")
|
|
|
+ @ResponseBody
|
|
|
+ public void getSingles(String case_take_id, String start, String count, String page,String condition,int roleId, HttpSession session, HttpServletResponse response) {
|
|
|
+ try {
|
|
|
+ String bugCondition="";
|
|
|
+ PrintWriter out = response.getWriter();
|
|
|
+ JSONObject result = new JSONObject();
|
|
|
+ List<String> all = new ArrayList<String>();
|
|
|
//三级页面筛选,单个节点筛选(没有parent,也没有children)
|
|
|
for(String id : hisservice.getBugIdListByPage(case_take_id,page,start,count)) {
|
|
|
BugHistory bugHistory=hisservice.getHistory(id);
|
|
|
- if(bugHistory==null || bugHistory.getChildren().size() == 0&&bugHistory.getParent().equals("null")) {all.add(id);}
|
|
|
+ if(bugHistory.getChildren().size() == 0&&bugHistory.getParent().equals("null")) {
|
|
|
+ if(condition.equals("null")){
|
|
|
+ all.add(id);
|
|
|
+ }else{
|
|
|
+ int score = aservice.getGrade(id);
|
|
|
+ if(score != -1) {
|
|
|
+ bugCondition="true";
|
|
|
+ }
|
|
|
+ else {bugCondition="false";}
|
|
|
+ if(bugCondition.equals(condition)) {
|
|
|
+ all.add(id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //学生视图根据热度排序,热度低的排在前面
|
|
|
+ // 默认为0学生 1为教师
|
|
|
+ if(roleId == 0){
|
|
|
+ hisservice.hotSortSingle(all);
|
|
|
}
|
|
|
+
|
|
|
//根据三级页面筛选
|
|
|
//分页
|
|
|
List<String> ids = all.subList(Integer.parseInt(start), Math.min(all.size(), Integer.parseInt(start) + Integer.parseInt(count)));
|
|
@@ -175,6 +309,7 @@ public class HistoryController {
|
|
|
for(String id: invalid) {
|
|
|
if(ids.contains(id)) {ids.remove(id);}
|
|
|
}
|
|
|
+
|
|
|
List<List<String>> list = new ArrayList<List<String>>();
|
|
|
for(String id : ids) {
|
|
|
List<String> temp = new ArrayList<String>();
|
|
@@ -185,6 +320,44 @@ public class HistoryController {
|
|
|
temp.add(recservice.getTitle(id));
|
|
|
list.add(temp);
|
|
|
}
|
|
|
+ //所有符合条件的,而非仅仅是展示的
|
|
|
+ result.put("Count", all.size());
|
|
|
+ result.put("TreeRoot", new JSONArray(list));
|
|
|
+ out.print(result);
|
|
|
+ out.flush();
|
|
|
+ out.close();
|
|
|
+ } catch (IOException e) {
|
|
|
+ // TODO Auto-generated catch block
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 所有形成树状结构的bug根节点
|
|
|
+ * @param case_take_id
|
|
|
+ * @param start 从第几个开始
|
|
|
+ * @param count 显示几个
|
|
|
+ * @param page 页面信息 eg:首页 or 首页——众测广场 or 首页——众测广场--任务
|
|
|
+ * @param roleId 默认为0学生 1为教师
|
|
|
+ * @param session
|
|
|
+ * @param response
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "/getTreeData")
|
|
|
+ @ResponseBody
|
|
|
+ public void getTree(String case_take_id, String start, String count, String page,int roleId, HttpSession session, HttpServletResponse response) {
|
|
|
+ try {
|
|
|
+ PrintWriter out = response.getWriter();
|
|
|
+ JSONObject result = new JSONObject();
|
|
|
+ List<String> all = hisservice.getTreeRoots(case_take_id);
|
|
|
+ hisservice.pageFilter(all, page);
|
|
|
+ if(roleId == 0){
|
|
|
+ hisservice.hotSortTree(all);
|
|
|
+ }
|
|
|
+ List<String> ids = all.subList(Integer.parseInt(start), Math.min(all.size(), Integer.parseInt(start) + Integer.parseInt(count)));
|
|
|
+ List<List<String>> list = new ArrayList<List<String>>();
|
|
|
+ for(String id: ids) {
|
|
|
+ list.add(hisservice.getDetail(id));
|
|
|
+ }
|
|
|
result.put("Count", all.size());
|
|
|
result.put("TreeRoot", new JSONArray(list));
|
|
|
out.print(result);
|
|
@@ -334,7 +507,16 @@ public class HistoryController {
|
|
|
if(session.getAttribute("single") != null) {session.removeAttribute("single");}
|
|
|
}
|
|
|
|
|
|
- //根据条件筛选单个节点的数据
|
|
|
+ /**
|
|
|
+ * 教师通过是否评分筛选接口 /getSingleByCondition
|
|
|
+ * @param case_take_id
|
|
|
+ * @param start
|
|
|
+ * @param count
|
|
|
+ * @param page
|
|
|
+ * @param condition 是否评分
|
|
|
+ * @param session
|
|
|
+ * @param response
|
|
|
+ */
|
|
|
@RequestMapping(value = "/getSingleByCondition")
|
|
|
@ResponseBody
|
|
|
public void getSingleByCondition(String case_take_id, String start, String count, String page,String condition, HttpSession session, HttpServletResponse response) {
|
|
@@ -343,23 +525,6 @@ public class HistoryController {
|
|
|
PrintWriter out = response.getWriter();
|
|
|
JSONObject result = new JSONObject();
|
|
|
List<String> all = new ArrayList<String>();
|
|
|
-// for(String id : hisservice.getRoots(case_take_id)) {
|
|
|
-// //根据是否有子bug判断是否是单节点
|
|
|
-// if(hisservice.getHistory(id).getChildren().size() == 0) {
|
|
|
-// //判断是否满足条件
|
|
|
-// int score = aservice.getGrade(id);
|
|
|
-// if(score != -1) {
|
|
|
-// bugCondition="true";
|
|
|
-// }
|
|
|
-// else {bugCondition="false";}
|
|
|
-// if(bugCondition.equals(condition)){
|
|
|
-// all.add(id);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// hisservice.pageFilter(all, page);
|
|
|
-//
|
|
|
-
|
|
|
for(String id : hisservice.getBugIdListByPage(case_take_id,page,start,count)) {
|
|
|
BugHistory bugHistory=hisservice.getHistory(id);
|
|
|
if(bugHistory.getChildren().size() == 0&&bugHistory.getParent().equals("null")) {
|