Browse Source

新增评卷分组时,增加大题号不重复校验;
清理之前代码,去掉代码警告

luoshi 6 năm trước cách đây
mục cha
commit
e91e1bf73a

+ 2 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamStudentServiceImpl.java

@@ -799,6 +799,7 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
      * @param student
      * @return
      */
+    @SuppressWarnings("unused")
     private PictureTag buildScoreDetailTag(ExamStudent student) {
         DecimalFormat format = new DecimalFormat("###.#");
         // 所有显示内容
@@ -929,6 +930,6 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
 
     @Override
     public List<String> findDistinctClassName(Integer examId, String subjectCode) {
-        return studentDao.findDistinctClassName(examId,subjectCode);
+        return studentDao.findDistinctClassName(examId, subjectCode);
     }
 }

+ 2 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/query/ReportSubjectQuery.java

@@ -1,6 +1,7 @@
 package cn.com.qmth.stmms.biz.report.query;
 
 import cn.com.qmth.stmms.biz.common.BaseQuery;
+import cn.com.qmth.stmms.biz.report.model.ReportSubject;
 
 /**
  * 课程报表查询query
@@ -8,7 +9,7 @@ import cn.com.qmth.stmms.biz.common.BaseQuery;
  * @author xuwenjin
  * @Date 2019-04-12 18:01
  */
-public class ReportSubjectQuery extends BaseQuery {
+public class ReportSubjectQuery extends BaseQuery<ReportSubject> {
 
     private Integer examId;
 

+ 0 - 4
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/service/impl/ReportServiceImpl.java

@@ -3,7 +3,6 @@ package cn.com.qmth.stmms.biz.report.service.impl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
 import cn.com.qmth.stmms.biz.report.service.ReportService;
 import cn.com.qmth.stmms.biz.report.service.ReportSubjectClassService;
 import cn.com.qmth.stmms.biz.report.service.ReportSubjectCollegeService;
@@ -47,9 +46,6 @@ public class ReportServiceImpl implements ReportService {
     @Autowired
     private ReportSubjectGroupService reportSubjectGroupService;
 
-    @Autowired
-    private ExamSubjectService examSubjectService;
-
     /**
      * 删除数据
      *

+ 4 - 8
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/service/impl/ReportSubjectClassServiceImpl.java

@@ -18,7 +18,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import cn.com.qmth.stmms.biz.common.BaseQueryService;
-import cn.com.qmth.stmms.biz.exam.dao.ExamSubjectDao;
 import cn.com.qmth.stmms.biz.report.dao.ReportSubjectClassDao;
 import cn.com.qmth.stmms.biz.report.model.ReportSubjectClass;
 import cn.com.qmth.stmms.biz.report.query.ReportSubjectQuery;
@@ -31,15 +30,12 @@ import cn.com.qmth.stmms.biz.report.service.ReportSubjectClassService;
  * @date 2019-04-16
  */
 @Service
-public class ReportSubjectClassServiceImpl extends BaseQueryService<ReportSubjectClass> implements
-        ReportSubjectClassService {
+public class ReportSubjectClassServiceImpl extends BaseQueryService<ReportSubjectClass>
+        implements ReportSubjectClassService {
 
     @Autowired
     private ReportSubjectClassDao reportSubjectClassDao;
 
-    @Autowired
-    private ExamSubjectDao examSubjectDao;
-
     @Transactional
     @Override
     public void deleteByExamId(Integer examId) {
@@ -64,8 +60,8 @@ public class ReportSubjectClassServiceImpl extends BaseQueryService<ReportSubjec
                 if (StringUtils.isNotBlank(query.getClassName())) {
                     predicates.add(cb.equal(root.get("className"), query.getClassName()));
                 }
-                return predicates.isEmpty() ? cb.conjunction() : cb.and(predicates.toArray(new Predicate[predicates
-                        .size()]));
+                return predicates.isEmpty() ? cb.conjunction()
+                        : cb.and(predicates.toArray(new Predicate[predicates.size()]));
             }
         }, query);
         return result.getContent();

+ 4 - 8
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/service/impl/ReportSubjectCollegeServiceImpl.java

@@ -17,7 +17,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import cn.com.qmth.stmms.biz.common.BaseQueryService;
-import cn.com.qmth.stmms.biz.exam.dao.ExamSubjectDao;
 import cn.com.qmth.stmms.biz.report.dao.ReportSubjectCollegeDao;
 import cn.com.qmth.stmms.biz.report.model.ReportSubjectCollege;
 import cn.com.qmth.stmms.biz.report.query.ReportSubjectQuery;
@@ -30,15 +29,12 @@ import cn.com.qmth.stmms.biz.report.service.ReportSubjectCollegeService;
  * @date 2019-04-16 09:43
  */
 @Service
-public class ReportSubjectCollegeServiceImpl extends BaseQueryService<ReportSubjectCollege> implements
-        ReportSubjectCollegeService {
+public class ReportSubjectCollegeServiceImpl extends BaseQueryService<ReportSubjectCollege>
+        implements ReportSubjectCollegeService {
 
     @Autowired
     private ReportSubjectCollegeDao reportSubjectCollegeDao;
 
-    @Autowired
-    private ExamSubjectDao examSubjectDao;
-
     @Transactional
     @Override
     public void deleteByExamId(Integer examId) {
@@ -62,8 +58,8 @@ public class ReportSubjectCollegeServiceImpl extends BaseQueryService<ReportSubj
                 if (StringUtils.isNotBlank(query.getCollegeName())) {
                     predicates.add(cb.equal(root.get("collegeName"), query.getCollegeName()));
                 }
-                return predicates.isEmpty() ? cb.conjunction() : cb.and(predicates.toArray(new Predicate[predicates
-                        .size()]));
+                return predicates.isEmpty() ? cb.conjunction()
+                        : cb.and(predicates.toArray(new Predicate[predicates.size()]));
             }
         });
         return result;

+ 4 - 20
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/service/impl/ReportSubjectGroupServiceImpl.java

@@ -18,10 +18,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import cn.com.qmth.stmms.biz.common.BaseQueryService;
-import cn.com.qmth.stmms.biz.exam.dao.ExamQuestionDao;
-import cn.com.qmth.stmms.biz.exam.dao.ExamStudentDao;
-import cn.com.qmth.stmms.biz.exam.dao.ExamSubjectDao;
-import cn.com.qmth.stmms.biz.exam.dao.MarkGroupDao;
 import cn.com.qmth.stmms.biz.report.dao.ReportSubjectGroupDao;
 import cn.com.qmth.stmms.biz.report.model.ReportSubjectGroup;
 import cn.com.qmth.stmms.biz.report.query.ReportSubjectQuery;
@@ -34,24 +30,12 @@ import cn.com.qmth.stmms.biz.report.service.ReportSubjectGroupService;
  * @Date 2019-04-18
  */
 @Service
-public class ReportSubjectGroupServiceImpl extends BaseQueryService<ReportSubjectGroup> implements
-        ReportSubjectGroupService {
+public class ReportSubjectGroupServiceImpl extends BaseQueryService<ReportSubjectGroup>
+        implements ReportSubjectGroupService {
 
     @Autowired
     private ReportSubjectGroupDao reportSubjectGroupDao;
 
-    @Autowired
-    private ExamStudentDao examStudentDao;
-
-    @Autowired
-    private ExamQuestionDao examQuestionDao;
-
-    @Autowired
-    private ExamSubjectDao examSubjectDao;
-
-    @Autowired
-    private MarkGroupDao groupDao;
-
     @Transactional
     @Override
     public void deleteByExamId(Integer examId) {
@@ -76,8 +60,8 @@ public class ReportSubjectGroupServiceImpl extends BaseQueryService<ReportSubjec
                 if (query.getGroupNumber() > 0) {
                     predicates.add(cb.equal(root.get("groupNumber"), query.getGroupNumber()));
                 }
-                return predicates.isEmpty() ? cb.conjunction() : cb.and(predicates.toArray(new Predicate[predicates
-                        .size()]));
+                return predicates.isEmpty() ? cb.conjunction()
+                        : cb.and(predicates.toArray(new Predicate[predicates.size()]));
             }
         }, query);
         return result.getContent();

+ 6 - 18
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/service/impl/ReportSubjectQuestionServiceImpl.java

@@ -18,9 +18,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import cn.com.qmth.stmms.biz.common.BaseQueryService;
-import cn.com.qmth.stmms.biz.exam.dao.ExamStudentDao;
-import cn.com.qmth.stmms.biz.exam.dao.ExamSubjectDao;
-import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
 import cn.com.qmth.stmms.biz.report.dao.ReportSubjectQuestionDao;
 import cn.com.qmth.stmms.biz.report.model.ReportSubjectQuestion;
 import cn.com.qmth.stmms.biz.report.query.ReportSubjectQuery;
@@ -33,21 +30,12 @@ import cn.com.qmth.stmms.biz.report.service.ReportSubjectQuestionService;
  * @Date 2019-04-17
  */
 @Service
-public class ReportSubjectQuestionServiceImpl extends BaseQueryService<ReportSubjectQuestion> implements
-        ReportSubjectQuestionService {
+public class ReportSubjectQuestionServiceImpl extends BaseQueryService<ReportSubjectQuestion>
+        implements ReportSubjectQuestionService {
 
     @Autowired
     private ReportSubjectQuestionDao reportSubjectQuestionDao;
 
-    @Autowired
-    private ExamStudentDao examStudentDao;
-
-    @Autowired
-    private ExamQuestionService questionService;
-
-    @Autowired
-    private ExamSubjectDao examSubjectDao;
-
     @Override
     public ReportSubjectQuestion save(ReportSubjectQuestion reportSubjectQuestion) {
         return reportSubjectQuestionDao.save(reportSubjectQuestion);
@@ -63,8 +51,8 @@ public class ReportSubjectQuestionServiceImpl extends BaseQueryService<ReportSub
     @Override
     public List<ReportSubjectQuestion> findByQuery(final ReportSubjectQuery query) {
         query.setSort(new Sort(Direction.ASC, "paperType", "mainNumber", "subNumber"));
-        Page<ReportSubjectQuestion> result = reportSubjectQuestionDao.findAll(
-                new Specification<ReportSubjectQuestion>() {
+        Page<ReportSubjectQuestion> result = reportSubjectQuestionDao
+                .findAll(new Specification<ReportSubjectQuestion>() {
 
                     @Override
                     public Predicate toPredicate(Root<ReportSubjectQuestion> root, CriteriaQuery<?> cQuery,
@@ -80,8 +68,8 @@ public class ReportSubjectQuestionServiceImpl extends BaseQueryService<ReportSub
                             predicates.add(cb.equal(root.get("subjectCode"), query.getSubjectCode()));
                         }
                         predicates.add(cb.equal(root.get("objective"), query.getObjective()));
-                        return predicates.isEmpty() ? cb.conjunction() : cb.and(predicates
-                                .toArray(new Predicate[predicates.size()]));
+                        return predicates.isEmpty() ? cb.conjunction()
+                                : cb.and(predicates.toArray(new Predicate[predicates.size()]));
                     }
                 }, query);
         return result.getContent();

+ 5 - 13
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/service/impl/ReportSubjectTeacherClassServiceImpl.java

@@ -17,8 +17,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import cn.com.qmth.stmms.biz.common.BaseQueryService;
-import cn.com.qmth.stmms.biz.exam.dao.ExamSubjectDao;
-import cn.com.qmth.stmms.biz.report.dao.ReportSubjectDao;
 import cn.com.qmth.stmms.biz.report.dao.ReportSubjectTeacherClassDao;
 import cn.com.qmth.stmms.biz.report.model.ReportSubjectTeacherClass;
 import cn.com.qmth.stmms.biz.report.query.ReportSubjectQuery;
@@ -31,18 +29,12 @@ import cn.com.qmth.stmms.biz.report.service.ReportSubjectTeacherClassService;
  * @date 2019-04-17
  */
 @Service
-public class ReportSubjectTeacherClassServiceImpl extends BaseQueryService<ReportSubjectTeacherClass> implements
-        ReportSubjectTeacherClassService {
+public class ReportSubjectTeacherClassServiceImpl extends BaseQueryService<ReportSubjectTeacherClass>
+        implements ReportSubjectTeacherClassService {
 
     @Autowired
     private ReportSubjectTeacherClassDao reportSubjectTeacherClassDao;
 
-    @Autowired
-    private ReportSubjectDao reportSubjectDao;
-
-    @Autowired
-    private ExamSubjectDao examSubjectDao;
-
     @Transactional
     @Override
     public void deleteByExamId(Integer examId) {
@@ -51,7 +43,7 @@ public class ReportSubjectTeacherClassServiceImpl extends BaseQueryService<Repor
 
     @Override
     public List<ReportSubjectTeacherClass> findByQuery(final ReportSubjectQuery query) {
-        query.setSort(new Sort(Direction.ASC, "teacherName","className"));
+        query.setSort(new Sort(Direction.ASC, "teacherName", "className"));
         List<ReportSubjectTeacherClass> result = reportSubjectTeacherClassDao
                 .findAll(new Specification<ReportSubjectTeacherClass>() {
 
@@ -69,8 +61,8 @@ public class ReportSubjectTeacherClassServiceImpl extends BaseQueryService<Repor
                         if (StringUtils.isNotBlank(query.getTeacherName())) {
                             predicates.add(cb.equal(root.get("teacherName"), query.getTeacherName()));
                         }
-                        return predicates.isEmpty() ? cb.conjunction() : cb.and(predicates
-                                .toArray(new Predicate[predicates.size()]));
+                        return predicates.isEmpty() ? cb.conjunction()
+                                : cb.and(predicates.toArray(new Predicate[predicates.size()]));
                     }
                 });
 

+ 4 - 12
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/service/impl/ReportSubjectTeacherServiceImpl.java

@@ -17,8 +17,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import cn.com.qmth.stmms.biz.common.BaseQueryService;
-import cn.com.qmth.stmms.biz.exam.dao.ExamSubjectDao;
-import cn.com.qmth.stmms.biz.report.dao.ReportSubjectDao;
 import cn.com.qmth.stmms.biz.report.dao.ReportSubjectTeacherDao;
 import cn.com.qmth.stmms.biz.report.model.ReportSubjectTeacher;
 import cn.com.qmth.stmms.biz.report.query.ReportSubjectQuery;
@@ -31,18 +29,12 @@ import cn.com.qmth.stmms.biz.report.service.ReportSubjectTeacherService;
  * @date 2019-04-16 09:43
  */
 @Service
-public class ReportSubjectTeacherServiceImpl extends BaseQueryService<ReportSubjectTeacher> implements
-        ReportSubjectTeacherService {
+public class ReportSubjectTeacherServiceImpl extends BaseQueryService<ReportSubjectTeacher>
+        implements ReportSubjectTeacherService {
 
     @Autowired
     private ReportSubjectTeacherDao reportSubjectTeacherDao;
 
-    @Autowired
-    private ReportSubjectDao reportSubjectDao;
-
-    @Autowired
-    private ExamSubjectDao examSubjectDao;
-
     @Transactional
     @Override
     public void deleteByExamId(Integer examId) {
@@ -67,8 +59,8 @@ public class ReportSubjectTeacherServiceImpl extends BaseQueryService<ReportSubj
                 if (StringUtils.isNotBlank(query.getTeacherName())) {
                     predicates.add(cb.equal(root.get("teacherName"), query.getTeacherName()));
                 }
-                return predicates.isEmpty() ? cb.conjunction() : cb.and(predicates.toArray(new Predicate[predicates
-                        .size()]));
+                return predicates.isEmpty() ? cb.conjunction()
+                        : cb.and(predicates.toArray(new Predicate[predicates.size()]));
             }
         });
         return result;

+ 1 - 9
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/CheckStudentController.java

@@ -16,12 +16,10 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
-import cn.com.qmth.stmms.biz.campus.service.CampusService;
 import cn.com.qmth.stmms.biz.exam.model.CheckStudent;
 import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
 import cn.com.qmth.stmms.biz.exam.query.CheckStudentSearchQuery;
 import cn.com.qmth.stmms.biz.exam.service.CheckStudentService;
-import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
 import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
 import cn.com.qmth.stmms.common.enums.CheckType;
 
@@ -32,12 +30,6 @@ public class CheckStudentController extends BaseExamController {
     @Autowired
     private ExamStudentService studentService;
 
-    @Autowired
-    private ExamQuestionService questionService;
-
-    @Autowired
-    private CampusService campusService;
-
     @Autowired
     private CheckStudentService checkStudentService;
 
@@ -51,7 +43,7 @@ public class CheckStudentController extends BaseExamController {
             List<ExamStudent> studentList = new ArrayList<ExamStudent>();
             query.setExamId(examId);
             query.setChecked(false);
-            if(query.getType()==null){
+            if (query.getType() == null) {
                 query.setType(CheckType.SCAN_ABSENT);
             }
             query = checkStudentService.findByQuery(query);

+ 8 - 2
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkGroupController.java

@@ -322,8 +322,6 @@ public class MarkGroupController extends BaseExamController {
             @RequestParam(required = false) String questionDetail) {
         int examId = getSessionExamId(request);
         MarkGroup group = groupService.findOne(examId, subjectCode, number);
-        List<ExamQuestion> questionList = questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
-                subjectCode, false, number);
         if (group != null) {
             // quick update
             picList = StringEscapeUtils.unescapeHtml(picList);
@@ -421,6 +419,14 @@ public class MarkGroupController extends BaseExamController {
             List<ExamQuestionDTO> detailList = JSONArray.toList(array, new ExamQuestionDTO(), new JsonConfig());
 
             if (picConfigList != null && detailList != null && picConfigList.size() > 0 && detailList.size() > 0) {
+                for (ExamQuestionDTO detail : detailList) {
+                    if (questionService.countByExamAndSubjectAndObjectiveAndMainNumber(examId, subjectCode, false,
+                            detail.getMainNumber()) > 0) {
+                        addMessage(redirectAttributes, "大题号不能重复");
+                        redirectAttributes.addAttribute("subjectCode", subjectCode);
+                        return "redirect:/admin/exam/group/add";
+                    }
+                }
                 group = new MarkGroup(examId, subjectCode, number, picConfigList, 0d, doubleRate, arbitrateThreshold,
                         scorePolicy, markMode, trialCount, sheetView);
                 // clear and replace exam_question

+ 0 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ScoreController.java

@@ -28,7 +28,6 @@ import cn.com.qmth.stmms.biz.exam.model.ExamStudent;
 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.query.ExamStudentSearchQuery;
-import cn.com.qmth.stmms.biz.exam.service.CheckStudentService;
 import cn.com.qmth.stmms.biz.exam.service.ExamPackageService;
 import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
 import cn.com.qmth.stmms.biz.exam.service.ExamService;
@@ -77,9 +76,6 @@ public class ScoreController extends BaseExamController {
     @Autowired
     private LockService lockService;
 
-    @Autowired
-    private CheckStudentService checkStudentService;
-
     @Autowired
     private ExamService examService;
 

+ 13 - 13
stmms-web/src/main/java/cn/com/qmth/stmms/admin/thread/ScoreCheckThread.java

@@ -78,21 +78,21 @@ public class ScoreCheckThread implements Runnable {
         checkQuestionScore(findExamQuestion(student.getSubjectCode(), false), student.getScoreList(false));
     }
 
-	private void checkQuestionScore(List<ExamQuestion> questionList, List<ScoreItem> scoreList) {
+    private void checkQuestionScore(List<ExamQuestion> questionList, List<ScoreItem> scoreList) {
         for (int i = 0; i < questionList.size(); i++) {
             ExamQuestion question = questionList.get(i);
 
-            double score = 0;
-            try {
-                score = scoreList.get(i).getScore();
-            } catch (Exception e) {
-            }
+            // double score = 0;
+            // try {
+            // score = scoreList.get(i).getScore();
+            // } catch (Exception e) {
+            // }
             // 针对每道小题分别统计零分人数与满分人数
-//            if (score == 0) {
-//                question.setZeroCount(question.getZeroCount() + 1);
-//            } else if (score == question.getTotalScore().doubleValue()) {
-//                question.setFullCount(question.getFullCount() + 1);
-//            }
+            // if (score == 0) {
+            // question.setZeroCount(question.getZeroCount() + 1);
+            // } else if (score == question.getTotalScore().doubleValue()) {
+            // question.setFullCount(question.getFullCount() + 1);
+            // }
             // 统计考生总数
             question.setTotalCount(question.getTotalCount() + 1);
         }
@@ -108,8 +108,8 @@ public class ScoreCheckThread implements Runnable {
             // 从数据库读取后,首先将人数清零
             for (ExamQuestion q : list) {
                 q.setTotalCount(0);
-//                q.setZeroCount(0);
-//                q.setFullCount(0);
+                // q.setZeroCount(0);
+                // q.setFullCount(0);
             }
             if (isObjective) {
                 objectiveMap.put(subjectCode, list);