xiatian 13 小時之前
父節點
當前提交
6b0862ff87

+ 2 - 1
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/admin/ProblemHistoryController.java

@@ -68,6 +68,7 @@ public class ProblemHistoryController extends BaseApiController {
     @Autowired
     private ProblemHistoryService historyService;
 
+    @Autowired
     private ExamService examService;
 
     @Autowired
@@ -156,7 +157,7 @@ public class ProblemHistoryController extends BaseApiController {
                             library.getGroupNumber());
                     lockService.waitlock(LockType.STUDENT, library.getStudentId());
                     if (library.getStatus().equals(LibraryStatus.PROBLEM)) {
-                        markService.rejectLibrary(library, wu.getUser().getId(),null, null, true);
+                        markService.rejectLibrary(library, wu.getUser().getId(), null, null, true);
                     }
                 } catch (Exception e) {
                     log.error("back library error", e);

+ 83 - 84
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/admin/RejectController.java

@@ -6,27 +6,13 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import cn.com.qmth.stmms.biz.exam.bean.RejectHistoryVo;
-import cn.com.qmth.stmms.biz.exam.query.MarkerSearchQuery;
-import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
-import cn.com.qmth.stmms.biz.mark.model.RejectType;
-import cn.com.qmth.stmms.biz.mark.query.MarkLibrarySearchQuery;
-import cn.com.qmth.stmms.biz.mark.service.MarkLibraryService;
-import cn.com.qmth.stmms.biz.mark.service.RejectTypeService;
-import cn.com.qmth.stmms.common.domain.WebUser;
-import cn.com.qmth.stmms.common.enums.LibraryStatus;
-import cn.com.qmth.stmms.common.utils.RequestUtils;
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -34,10 +20,11 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import com.qmth.boot.core.collection.PageResult;
+import com.qmth.boot.core.exception.StatusException;
 
 import cn.com.qmth.stmms.api.controller.BaseApiController;
+import cn.com.qmth.stmms.biz.exam.bean.RejectHistoryVo;
 import cn.com.qmth.stmms.biz.exam.bean.SubjectRejectVo;
-import cn.com.qmth.stmms.biz.exam.model.ExamQuestion;
 import cn.com.qmth.stmms.biz.exam.model.ExamSubject;
 import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
 import cn.com.qmth.stmms.biz.exam.model.Marker;
@@ -46,16 +33,21 @@ import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
 import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
 import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
 import cn.com.qmth.stmms.biz.exam.service.MarkerService;
-import com.qmth.boot.core.exception.StatusException;
+import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
 import cn.com.qmth.stmms.biz.mark.model.RejectHistory;
+import cn.com.qmth.stmms.biz.mark.model.RejectType;
+import cn.com.qmth.stmms.biz.mark.query.MarkLibrarySearchQuery;
 import cn.com.qmth.stmms.biz.mark.query.RejectHistorySearchQuery;
+import cn.com.qmth.stmms.biz.mark.service.MarkLibraryService;
 import cn.com.qmth.stmms.biz.mark.service.RejectHistoryService;
+import cn.com.qmth.stmms.biz.mark.service.RejectTypeService;
 import cn.com.qmth.stmms.biz.user.model.User;
 import cn.com.qmth.stmms.biz.user.service.UserService;
 import cn.com.qmth.stmms.biz.utils.Calculator;
 import cn.com.qmth.stmms.biz.utils.PageUtil;
 import cn.com.qmth.stmms.common.annotation.Logging;
 import cn.com.qmth.stmms.common.domain.ApiUser;
+import cn.com.qmth.stmms.common.enums.LibraryStatus;
 import cn.com.qmth.stmms.common.enums.LogType;
 import cn.com.qmth.stmms.common.utils.ExportExcel;
 import io.swagger.annotations.Api;
@@ -85,6 +77,7 @@ public class RejectController extends BaseApiController {
 
     @Autowired
     private UserService userService;
+
     @Autowired
     private MarkLibraryService libraryService;
 
@@ -99,7 +92,7 @@ public class RejectController extends BaseApiController {
     @ResponseBody
     public PageResult<RejectHistoryVo> list(MarkLibrarySearchQuery query) {
         int examId = getSessionExamId();
-        ApiUser wu =getApiUser();
+        ApiUser wu = getApiUser();
         query.setExamId(examId);
         query.addStatus(LibraryStatus.REJECTED);
         if (wu.isSubjectHeader() && StringUtils.isBlank(query.getSubjectCode())) {
@@ -138,14 +131,12 @@ public class RejectController extends BaseApiController {
 
     @RequestMapping("/header/list")
     @ResponseBody
-    public List<User> query(@RequestParam String subjectCode,
-                           @RequestParam(required = false) Integer groupNumber) {
+    public List<User> query(@RequestParam String subjectCode, @RequestParam(required = false) Integer groupNumber) {
         int examId = getSessionExamId();
         List<User> headerList = rejectHistoryService.getUserIdByExamIdAndSubjectCode(examId, subjectCode);
         return headerList;
     }
 
-
     @Logging(menu = "打回统计查询", type = LogType.QUERY)
     @ApiOperation(value = "打回统计按科目查询")
     @RequestMapping(value = "/subject/query", method = RequestMethod.POST)
@@ -213,65 +204,74 @@ public class RejectController extends BaseApiController {
         }
     }
 
-//    @Logging(menu = "打回统计按分组查询", type = LogType.QUERY)
-//    @ApiOperation(value = "打回统计按分组分页查询")
-//    @RequestMapping(value = "list/group", method = RequestMethod.POST)
-//    @ResponseBody
-//    public PageResult<SubjectRejectVo> listGroup(SubjectQualitySearchQuery query) {
-//        return pageGroup(query);
-//    }
-//
-//    private PageResult<SubjectRejectVo> pageGroup(SubjectQualitySearchQuery query) {
-//        int examId = getSessionExamId();
-//        List<MarkGroup> gs = null;
-//        if (StringUtils.isBlank(query.getSubjectCode())) {
-//            gs = groupService.findByExam(examId);
-//        } else {
-//            gs = groupService.findByExamAndSubject(examId, query.getSubjectCode());
-//        }
-//        List<SubjectRejectVo> ret = new ArrayList<>();
-//        query.setTotalCount(gs == null ? 0 : gs.size());
-//        if (!CollectionUtils.isEmpty(gs)) {
-//            Map<String, String> subjectNames = new HashMap<>();
-//            List<MarkGroup> pageList = PageUtil.of(gs, query).getResult();
-//            for (MarkGroup group : pageList) {
-//                List<ExamQuestion> questions = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
-//                        group.getSubjectCode(), false, group.getNumber());
-//                group.setQuestionList(questions);
-//                SubjectRejectVo vo = new SubjectRejectVo();
-//                vo.setSubjectCode(group.getSubjectCode());
-//                vo.setSubjectName(getSubjectName(subjectNames, examId, group.getSubjectCode()));
-//                vo.setSubjectText(vo.getSubjectCode() + "-" + vo.getSubjectName());
-//                vo.setGroupNumber(group.getNumber());
-//                vo.setGroupName(group.getTitle());
-//                vo.setGroupText(vo.getGroupNumber() + "-" + vo.getGroupName());
-//                vo.setTotalCount(group.getLibraryCount());
-//                vo.setFinishCount(group.getMarkedCount());
-//                long rejectCount = rejectHistoryService.countDistinctByExamIdAndSubjectCodeAndGroup(group.getExamId(),
-//                        group.getSubjectCode(), group.getNumber());
-//                vo.setRejectCount(rejectCount);
-//                vo.setRejectRatio(Calculator.percentage(vo.getRejectCount(), vo.getFinishCount(), 2));
-//                ret.add(vo);
-//            }
-//        }
-//        return PageUtil.of(ret, query);
-//    }
-//
-//    @ApiOperation(value = "打回统计按分组导出")
-//    @Logging(menu = "打回统计按分组导出", type = LogType.EXPORT)
-//    @RequestMapping(value = "list/group/export", method = RequestMethod.POST)
-//    public void exportGroupFile(SubjectQualitySearchQuery query, HttpServletResponse response) {
-//        String fileName = "分组质量监控数据";
-//        query.setPageNumber(1);
-//        query.setPageSize(Integer.MAX_VALUE);
-//        PageResult<SubjectRejectVo> page = pageGroup(query);
-//        try {
-//            new ExportExcel("分组质量监控数据", SubjectRejectVo.class).setDataList(page.getResult()).write(response, fileName)
-//                    .dispose();
-//        } catch (IOException e) {
-//            throw new StatusException("分组质量监控数据导出出错", e);
-//        }
-//    }
+    // @Logging(menu = "打回统计按分组查询", type = LogType.QUERY)
+    // @ApiOperation(value = "打回统计按分组分页查询")
+    // @RequestMapping(value = "list/group", method = RequestMethod.POST)
+    // @ResponseBody
+    // public PageResult<SubjectRejectVo> listGroup(SubjectQualitySearchQuery
+    // query) {
+    // return pageGroup(query);
+    // }
+    //
+    // private PageResult<SubjectRejectVo> pageGroup(SubjectQualitySearchQuery
+    // query) {
+    // int examId = getSessionExamId();
+    // List<MarkGroup> gs = null;
+    // if (StringUtils.isBlank(query.getSubjectCode())) {
+    // gs = groupService.findByExam(examId);
+    // } else {
+    // gs = groupService.findByExamAndSubject(examId, query.getSubjectCode());
+    // }
+    // List<SubjectRejectVo> ret = new ArrayList<>();
+    // query.setTotalCount(gs == null ? 0 : gs.size());
+    // if (!CollectionUtils.isEmpty(gs)) {
+    // Map<String, String> subjectNames = new HashMap<>();
+    // List<MarkGroup> pageList = PageUtil.of(gs, query).getResult();
+    // for (MarkGroup group : pageList) {
+    // List<ExamQuestion> questions =
+    // questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
+    // group.getSubjectCode(), false, group.getNumber());
+    // group.setQuestionList(questions);
+    // SubjectRejectVo vo = new SubjectRejectVo();
+    // vo.setSubjectCode(group.getSubjectCode());
+    // vo.setSubjectName(getSubjectName(subjectNames, examId,
+    // group.getSubjectCode()));
+    // vo.setSubjectText(vo.getSubjectCode() + "-" + vo.getSubjectName());
+    // vo.setGroupNumber(group.getNumber());
+    // vo.setGroupName(group.getTitle());
+    // vo.setGroupText(vo.getGroupNumber() + "-" + vo.getGroupName());
+    // vo.setTotalCount(group.getLibraryCount());
+    // vo.setFinishCount(group.getMarkedCount());
+    // long rejectCount =
+    // rejectHistoryService.countDistinctByExamIdAndSubjectCodeAndGroup(group.getExamId(),
+    // group.getSubjectCode(), group.getNumber());
+    // vo.setRejectCount(rejectCount);
+    // vo.setRejectRatio(Calculator.percentage(vo.getRejectCount(),
+    // vo.getFinishCount(), 2));
+    // ret.add(vo);
+    // }
+    // }
+    // return PageUtil.of(ret, query);
+    // }
+    //
+    // @ApiOperation(value = "打回统计按分组导出")
+    // @Logging(menu = "打回统计按分组导出", type = LogType.EXPORT)
+    // @RequestMapping(value = "list/group/export", method = RequestMethod.POST)
+    // public void exportGroupFile(SubjectQualitySearchQuery query,
+    // HttpServletResponse response) {
+    // String fileName = "分组质量监控数据";
+    // query.setPageNumber(1);
+    // query.setPageSize(Integer.MAX_VALUE);
+    // PageResult<SubjectRejectVo> page = pageGroup(query);
+    // try {
+    // new ExportExcel("分组质量监控数据",
+    // SubjectRejectVo.class).setDataList(page.getResult()).write(response,
+    // fileName)
+    // .dispose();
+    // } catch (IOException e) {
+    // throw new StatusException("分组质量监控数据导出出错", e);
+    // }
+    // }
 
     private String getSubjectName(Map<String, String> subjectNames, int examId, String code) {
         String name = subjectNames.get(code);
@@ -300,8 +300,7 @@ public class RejectController extends BaseApiController {
         query.setPageSize(Integer.MAX_VALUE);
         List<RejectHistoryVo> page = pageHistory(query).getResult();
         try {
-            new ExportExcel("打回历史数据", RejectHistoryVo.class).setDataList(page).write(response, fileName)
-                    .dispose();
+            new ExportExcel("打回历史数据", RejectHistoryVo.class).setDataList(page).write(response, fileName).dispose();
         } catch (IOException e) {
             throw new StatusException("打回历史数据导出出错", e);
         }
@@ -320,7 +319,7 @@ public class RejectController extends BaseApiController {
             query.setSubjectCodeIn(subjectCodeIn);
         }
         query = rejectHistoryService.findByQuery(query);
-        List<RejectHistoryVo> list =new ArrayList<>();
+        List<RejectHistoryVo> list = new ArrayList<>();
         Map<Integer, RejectType> rejectTypeMap = rejectTypeService.findMapByExamId(examId);
         Map<String, String> subjectNames = new HashMap<>();
         for (RejectHistory h : query.getResult()) {
@@ -335,8 +334,8 @@ public class RejectController extends BaseApiController {
             vo.setSubjectName(getSubjectName(subjectNames, examId, h.getSubjectCode()));
             vo.setSubjectText(vo.getSubjectCode() + "-" + vo.getSubjectName());
             MarkGroup group = groupService.findOne(examId, h.getSubjectCode(), h.getGroupNumber());
-                group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
-                        group.getSubjectCode(), false, group.getNumber()));
+            group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
+                    group.getSubjectCode(), false, group.getNumber()));
             vo.setGroupName(group.getTitle());
             vo.setGroupText(vo.getGroupNumber() + "-" + vo.getGroupName());
             vo.setRejectType(rejectTypeMap.get(h.getRejectTypeId()).getName());