|
@@ -10,10 +10,14 @@ import java.util.Set;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
+import net.sf.json.JSONObject;
|
|
|
+
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
+import org.springframework.data.domain.Sort;
|
|
|
+import org.springframework.data.domain.Sort.Direction;
|
|
|
import org.springframework.stereotype.Controller;
|
|
|
import org.springframework.ui.Model;
|
|
|
import org.springframework.web.bind.annotation.PathVariable;
|
|
@@ -42,7 +46,6 @@ import cn.com.qmth.stmms.common.enums.HistoryStatus;
|
|
|
import cn.com.qmth.stmms.common.enums.LockType;
|
|
|
import cn.com.qmth.stmms.common.enums.Role;
|
|
|
import cn.com.qmth.stmms.common.utils.RequestUtils;
|
|
|
-import net.sf.json.JSONObject;
|
|
|
|
|
|
@Controller("arbitrateController")
|
|
|
@RequestMapping("/admin/exam/arbitrate")
|
|
@@ -70,7 +73,7 @@ public class ArbitrateController extends BaseExamController {
|
|
|
|
|
|
@Autowired
|
|
|
private LockService lockService;
|
|
|
-
|
|
|
+
|
|
|
@Autowired
|
|
|
private ExamQuestionService questionService;
|
|
|
|
|
@@ -197,9 +200,23 @@ public class ArbitrateController extends BaseExamController {
|
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SUBJECT_HEADER })
|
|
|
public List<Task> getHistory(HttpServletRequest request, @PathVariable String subjectCode,
|
|
|
@PathVariable Integer groupNumber, @RequestParam(required = false) Integer pageNumber,
|
|
|
- @RequestParam(required = false) Integer pageSize) {
|
|
|
+ @RequestParam(required = false) Integer pageSize, @RequestParam String order, @RequestParam String sort,
|
|
|
+ @RequestParam(required = false, defaultValue = "false") Boolean isTag,
|
|
|
+ @RequestParam(required = false) Integer studentId) {
|
|
|
int examId = getSessionExamId(request);
|
|
|
WebUser wu = RequestUtils.getWebUser(request);
|
|
|
+ Direction d = Direction.DESC;
|
|
|
+ Sort querySort = null;
|
|
|
+ if (sort.equals("asc")) {
|
|
|
+ d = Direction.ASC;
|
|
|
+ }
|
|
|
+ if (order.equals("time")) {
|
|
|
+ querySort = new Sort(d, "updateTime");
|
|
|
+ } else if (order.equals("studentId")) {
|
|
|
+ querySort = new Sort(d, "studentId");
|
|
|
+ } else if (order.equals("score")) {
|
|
|
+ querySort = new Sort(d, "totalScore");
|
|
|
+ }
|
|
|
MarkGroup group = groupService.findOne(examId, subjectCode, groupNumber);
|
|
|
List<Task> list = new LinkedList<Task>();
|
|
|
if (subjectCheck(subjectCode, wu) && group != null) {
|
|
@@ -211,7 +228,14 @@ public class ArbitrateController extends BaseExamController {
|
|
|
query.setUserId(wu.getUser().getId());
|
|
|
query.setPageNumber(pageNumber);
|
|
|
query.setPageSize(pageSize);
|
|
|
- query.orderByUpdateTimeDesc();
|
|
|
+ if (querySort != null) {
|
|
|
+ query.setSort(querySort);
|
|
|
+ } else {
|
|
|
+ query.orderByUpdateTimeDesc();
|
|
|
+ }
|
|
|
+ if (studentId != null) {
|
|
|
+ query.setStudentId(studentId);
|
|
|
+ }
|
|
|
query = arbitrateService.findByQuery(query);
|
|
|
for (ArbitrateHistory history : query.getResult()) {
|
|
|
list.add(taskService.build(history, group));
|
|
@@ -240,8 +264,7 @@ public class ArbitrateController extends BaseExamController {
|
|
|
@RequestMapping("/getTask")
|
|
|
@ResponseBody
|
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SUBJECT_HEADER })
|
|
|
- public Task getTask(HttpServletRequest request, @RequestParam String subjectCode,
|
|
|
- @RequestParam Integer groupNumber) {
|
|
|
+ public Task getTask(HttpServletRequest request, @RequestParam String subjectCode, @RequestParam Integer groupNumber) {
|
|
|
int examId = getSessionExamId(request);
|
|
|
WebUser wu = RequestUtils.getWebUser(request);
|
|
|
MarkGroup group = groupService.findOne(examId, subjectCode, groupNumber);
|