1
0
Эх сурвалжийг харах

修复删除复核记录的问题;取消复核后返回当前科目问题;

ting.yin 2 жил өмнө
parent
commit
a6862014a3

+ 2 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/InspectHistoryService.java

@@ -14,4 +14,6 @@ public interface InspectHistoryService {
 
     void deleteByExamIdAndSubjectCode(int examId, String subjectCode);
 
+    void deleteByStudentId(Integer studentId);
+
 }

+ 6 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/InspectHistoryServiceImpl.java

@@ -48,4 +48,10 @@ public class InspectHistoryServiceImpl extends BaseQueryService<InspectHistory>
         inspectHistoryDao.deleteByExamIdAndSubjectCode(examId, subjectCode);
     }
 
+    @Transactional
+    @Override
+    public void deleteByStudentId(Integer studentId) {
+        inspectHistoryDao.deleteByStudentId(studentId);
+    }
+
 }

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

@@ -84,7 +84,10 @@ public class InspectedServiceImpl extends BaseQueryService<ExamStudent> implemen
             whereSql.append(" and s.exam_id = :examId");
         }
         if (StringUtils.isNotBlank(query.getSubjectCode())) {
-            whereSql.append(" and s.subject_code = :subjectCode");
+            whereSql.append(" and s.subject_code = :subjectCode ");
+        }
+        if (StringUtils.isNotBlank(query.getSubjectCodeIn())) {
+            whereSql.append(" and s.subject_code in (:subjectCodeIn) ");
         }
         if (status != null) {
             whereSql.append(" and s.subjective_status = :status");
@@ -149,6 +152,14 @@ public class InspectedServiceImpl extends BaseQueryService<ExamStudent> implemen
         if (StringUtils.isNotBlank(query.getSubjectCode())) {
             dataQuery.setParameter("subjectCode", query.getSubjectCode());
         }
+        if (StringUtils.isNotBlank(query.getSubjectCodeIn())) {
+            String[] subjectCodeIn = query.getSubjectCodeIn().split(",");
+            List<String> in = new ArrayList<String>();
+            for (String code : subjectCodeIn) {
+                in.add(code);
+            }
+            dataQuery.setParameter("subjectCodeIn", in);
+        }
         if (status != null) {
             dataQuery.setParameter("status", status.toString());
         }

+ 6 - 3
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkServiceImpl.java

@@ -20,7 +20,6 @@ import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import cn.com.qmth.stmms.biz.exam.dao.InspectHistoryDao;
 import cn.com.qmth.stmms.biz.exam.dao.MarkGroupDao;
 import cn.com.qmth.stmms.biz.exam.dao.MarkGroupStudentDao;
 import cn.com.qmth.stmms.biz.exam.dao.MarkerDao;
@@ -39,6 +38,7 @@ import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
 import cn.com.qmth.stmms.biz.exam.service.ExamService;
 import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
 import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
+import cn.com.qmth.stmms.biz.exam.service.InspectHistoryService;
 import cn.com.qmth.stmms.biz.exam.service.MarkerService;
 import cn.com.qmth.stmms.biz.exam.service.SelectiveGroupService;
 import cn.com.qmth.stmms.biz.mark.dao.ArbitrateHistoryDao;
@@ -141,7 +141,7 @@ public class MarkServiceImpl implements MarkService {
     private SelectiveStudentDao selectiveStudentDao;
 
     @Autowired
-    private InspectHistoryDao inspectHistoryDao;
+    private InspectHistoryService inspectHistoryService;
 
     private Map<Integer, Long> markerLastUpdateTime = new ConcurrentHashMap<>();
 
@@ -289,6 +289,7 @@ public class MarkServiceImpl implements MarkService {
         if (groupCount == 0 || unGroupQuestionCount > 0) {
             studentService.updateSubjectiveStatusAndScoreAndInspectorId(group.getExamId(), group.getSubjectCode(),
                     SubjectiveStatus.UNMARK, 0, null, null, null);
+            inspectHistoryService.deleteByExamIdAndSubjectCode(group.getExamId(), group.getSubjectCode());
         } else {
             List<Integer> studentList = studentService.findIdByExamIdAndSubjectCodeAndSubjectiveStatus(
                     group.getExamId(), group.getSubjectCode(), SubjectiveStatus.UNMARK, SubjectiveStatus.MARKED,
@@ -534,7 +535,7 @@ public class MarkServiceImpl implements MarkService {
         selectiveStudentDao.deleteByStudentId(student.getId());
         updateAllCount(student.getExamId(), student.getSubjectCode());
         // 复核记录
-        inspectHistoryDao.deleteByStudentId(student.getId());
+        inspectHistoryService.deleteByStudentId(student.getId());
     }
 
     /**
@@ -1528,6 +1529,7 @@ public class MarkServiceImpl implements MarkService {
         selectiveStudentDao.deleteByExamIdAndSubjectCode(examId, subjectCode);
         studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, subjectCode, SubjectiveStatus.UNMARK, 0,
                 null, null, null);
+        inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subjectCode);
     }
 
     private void updateStudentGroupStatus(Integer studentId, Integer examId, String subjectCode, Integer groupNumber,
@@ -1743,6 +1745,7 @@ public class MarkServiceImpl implements MarkService {
                 if (groupCount == 0 || unGroupQuestionCount > 0) {
                     studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, subjectCode,
                             SubjectiveStatus.UNMARK, 0, null, null, null);
+                    inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subjectCode);
                 } else {
                     List<Integer> studentList = studentService.findIdByExamIdAndSubjectCodeAndSubjectiveStatus(examId,
                             subjectCode, SubjectiveStatus.UNMARK, SubjectiveStatus.MARKED, SubjectiveStatus.INSPECTED);

+ 8 - 3
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/InspectedController.java

@@ -108,8 +108,10 @@ public class InspectedController extends BaseExamController {
         WebUser wu = RequestUtils.getWebUser(request);
         query.setExamId(examId);
         List<ExamSubject> subjectList = getExamSubject(examId, wu);
-        if (StringUtils.isBlank(query.getSubjectCode()) && !subjectList.isEmpty()) {
-            query.setSubjectCode(subjectList.get(0).getCode());
+        if (StringUtils.isBlank(query.getSubjectCode()) && wu.getRole() != Role.SCHOOL_ADMIN) {
+            List<String> subjectCodeIn = new ArrayList<String>();
+            subjectList.forEach(e -> subjectCodeIn.add(e.getCode()));
+            query.setSubjectCodeIn(StringUtils.join(subjectCodeIn, ","));
         }
         List<ExamStudent> list = inspectedService.findByQuery(query, status, mainNumber, mainStartScore, mainEndScore,
                 questionScore, selectiveStatus);
@@ -246,6 +248,7 @@ public class InspectedController extends BaseExamController {
     public JSONObject cancel(HttpServletRequest request, @RequestParam Integer studentId) {
         JSONObject obj = new JSONObject();
         ExamStudent student = studentService.findById(studentId);
+        obj.accumulate("subjectCode", student.getSubjectCode());
         WebUser wu = RequestUtils.getWebUser(request);
         if (student != null && subjectCheck(student.getSubjectCode(), wu)) {
             try {
@@ -414,8 +417,10 @@ public class InspectedController extends BaseExamController {
     @RoleRequire({ Role.SCHOOL_ADMIN, Role.SUBJECT_HEADER, Role.INSPECTOR, Role.COLLEGE_ADMIN })
     public String batchCancel(HttpServletRequest request, @RequestParam Integer[] ids) {
         WebUser wu = RequestUtils.getWebUser(request);
+        String subjectCode = "";
         for (Integer id : ids) {
             ExamStudent student = studentService.findById(id);
+            subjectCode = student.getSubjectCode();
             if (student != null && subjectCheck(student.getSubjectCode(), wu)) {
                 try {
                     if (lockService.trylock(LockType.STUDENT, student.getId()) && inspectedService.cancel(id)) {
@@ -427,7 +432,7 @@ public class InspectedController extends BaseExamController {
                 }
             }
         }
-        return "redirect:/admin/exam/inspected/list";
+        return "redirect:/admin/exam/inspected/list?subjectCode=" + subjectCode;
     }
 
     @Logging(menu = "成绩复核进度查询", type = LogType.QUERY)

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

@@ -267,7 +267,6 @@ public class MarkGroupController extends BaseExamController {
                     0, null, null, null);
             reportSubjectService.deleteByExamIdAndSubjectCode(examId, subjectCode);
             inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subjectCode);
-
         } else {
             updateStatus(markGroup, status);
         }
@@ -639,6 +638,7 @@ public class MarkGroupController extends BaseExamController {
 
                     studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, subjectCode,
                             SubjectiveStatus.UNMARK, 0, null, null, null);
+                    inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subjectCode);
                     redirectAttributes.addAttribute("subjectCode", subjectCode);
                     return "redirect:/admin/exam/group";
                 } else {

+ 7 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/PaperController.java

@@ -60,6 +60,7 @@ import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
 import cn.com.qmth.stmms.biz.exam.service.ExamService;
 import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
 import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
+import cn.com.qmth.stmms.biz.exam.service.InspectHistoryService;
 import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
 import cn.com.qmth.stmms.biz.exam.service.MarkerService;
 import cn.com.qmth.stmms.biz.exam.service.SelectiveGroupService;
@@ -158,6 +159,9 @@ public class PaperController extends BaseExamController {
     @Autowired
     private AnswerCardService answerCardService;
 
+    @Autowired
+    private InspectHistoryService inspectHistoryService;
+
     @Value("${file.temp}")
     private String tempFile;
 
@@ -369,6 +373,7 @@ public class PaperController extends BaseExamController {
                             if (questionCount > 0) {
                                 studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, subject.getCode(),
                                         SubjectiveStatus.UNMARK, 0, null, null, null);
+                                inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subject.getCode());
                             }
                             subjectService.updateScore(examId, subject.getCode(), objective,
                                     questionService.sumTotalScore(examId, subject.getCode(), objective));
@@ -460,6 +465,7 @@ public class PaperController extends BaseExamController {
                                     groupService.save(group);
                                     studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId,
                                             group.getSubjectCode(), SubjectiveStatus.UNMARK, 0, null, null, null);
+                                    inspectHistoryService.deleteByExamIdAndSubjectCode(examId, subject.getCode());
                                     successGroup++;
                                 }
                             }
@@ -790,6 +796,7 @@ public class PaperController extends BaseExamController {
             if (!question.isObjective()) {
                 studentService.updateSubjectiveStatusAndScoreAndInspectorId(examId, question.getSubjectCode(),
                         SubjectiveStatus.UNMARK, 0, null, null, null);
+                inspectHistoryService.deleteByExamIdAndSubjectCode(examId, question.getSubjectCode());
             }
         }
         if (error.size() > 0) {

+ 5 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/CoreController.java

@@ -44,6 +44,7 @@ import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
 import cn.com.qmth.stmms.biz.exam.service.ExamService;
 import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
 import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
+import cn.com.qmth.stmms.biz.exam.service.InspectHistoryService;
 import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
 import cn.com.qmth.stmms.biz.exam.service.MarkerService;
 import cn.com.qmth.stmms.biz.exam.service.SubjectUserService;
@@ -114,6 +115,9 @@ public class CoreController extends BaseApiController {
     @Autowired
     private SubjectUserService subjectUserService;
 
+    @Autowired
+    private InspectHistoryService inspectHistoryService;
+
     @RequestMapping(value = "/exam/save", method = RequestMethod.POST)
     @ResponseBody
     @RoleRequire({ Role.SCHOOL_ADMIN, Role.SCHOOL_DEV })
@@ -767,6 +771,7 @@ public class CoreController extends BaseApiController {
         subjectService.updateTrialCount(dto.getExamId(), dto.getSubjectCode(), dto.getTrialCount());
         studentService.updateSubjectiveStatusAndScoreAndInspectorId(dto.getExamId(), dto.getSubjectCode(),
                 SubjectiveStatus.UNMARK, 0, null, null, null);
+        inspectHistoryService.deleteByExamIdAndSubjectCode(dto.getExamId(), dto.getSubjectCode());
         result.accumulate("updateTime", DateUtils.formatDateTime(new Date()));
         return result;
     }

+ 24 - 0
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/inspectedList.jsp

@@ -174,14 +174,37 @@
             delayClose: 0,
             maxHeight: $(window).height()*0.88
         }); */
+    	/* var s=localStorage.getItem("inspectQuery");
+    	if(s!="" && s!=null && s!=undefined){
+    		var inspectQuery = JSON.parse(s);
+    		var pageN =1;
+    		var pageS =20;
+    		 for (var i = 0; i < inspectQuery.length; i++) {
+    			var value = inspectQuery[i].value;
+    			if(value!="" && value!=null && value!=undefined){
+	    			var name = inspectQuery[i].name;
+    				$('[name='+name+']').attr('value',value);
+    				if(name=='pageNumber'){
+    					pageN = value;
+    				}
+    				if(name=='pageSize'){
+    					pageS = value;
+    				}
+    			} 
+    		};
+    		localStorage.setItem("inspectQuery","");
+    		page(pageN, pageS);
+    	} */
         $("#searchForm").validate();
         $('.cancel-link').click(function () {
             if (!confirm('确定要取消复核吗?')) {
                 return;
             }
+           // localStorage.setItem("inspectQuery", JSON.stringify($("#searchForm").serializeArray()));
             $.post('${ctx}/admin/exam/inspected/cancel', {studentId: $(this).attr('data-id')}, function (result) {
                 if (result.success == true) {
                     alert('取消成功');
+                    $('[name="subjectCode"]').attr('value',result.subjectCode);
                     $("#searchForm").submit();
                 } else {
                     alert(result.message);
@@ -307,6 +330,7 @@
             alert('请选择');
             return false;
         }
+    	//localStorage.setItem("inspectQuery", JSON.stringify($("#searchForm").serializeArray()));
         $("#cancelForm").submit();
         return false;
     }