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

修复大题数量更新问题;上传或更改缺考为正考更改大题状态为正评

ting.yin 6 жил өмнө
parent
commit
4cfddee1f2

+ 5 - 5
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/dao/MarkGroupDao.java

@@ -68,24 +68,24 @@ public interface MarkGroupDao
     @Query("select sum(g.markedCount) from MarkGroup g where g.pk.examId=?1")
     @Query("select sum(g.markedCount) from MarkGroup g where g.pk.examId=?1")
     Integer sumMarkedCount(Integer examId);
     Integer sumMarkedCount(Integer examId);
 
 
-    @Modifying
+    @Modifying(clearAutomatically = true)
     @Query("update MarkGroup g set g.libraryCount=?4, g.leftCount=(?4-g.markedCount) where g.pk.examId=?1 and g.pk.subjectCode=?2 and g.pk.number=?3")
     @Query("update MarkGroup g set g.libraryCount=?4, g.leftCount=(?4-g.markedCount) where g.pk.examId=?1 and g.pk.subjectCode=?2 and g.pk.number=?3")
     void updateLibraryCount(Integer examId, String subjectCode, Integer number, Integer totalCount);
     void updateLibraryCount(Integer examId, String subjectCode, Integer number, Integer totalCount);
     
     
-    @Modifying
+    @Modifying(clearAutomatically = true)
     @Query("update MarkGroup g set g.markedCount=?4, g.leftCount=(g.libraryCount-?4) where g.pk.examId=?1 and g.pk.subjectCode=?2 and g.pk.number=?3")
     @Query("update MarkGroup g set g.markedCount=?4, g.leftCount=(g.libraryCount-?4) where g.pk.examId=?1 and g.pk.subjectCode=?2 and g.pk.number=?3")
     void updateMarkedCount(Integer examId, String subjectCode, Integer number,Integer markedCount);
     void updateMarkedCount(Integer examId, String subjectCode, Integer number,Integer markedCount);
 
 
-    @Modifying
+    @Modifying(clearAutomatically = true)
     @Query("update MarkGroup g set g.leftCount = g.libraryCount, g.markedCount = 0 "
     @Query("update MarkGroup g set g.leftCount = g.libraryCount, g.markedCount = 0 "
             + "where g.pk.examId=?1 and g.pk.subjectCode=?2 and g.pk.number=?3")
             + "where g.pk.examId=?1 and g.pk.subjectCode=?2 and g.pk.number=?3")
     void resetCount(Integer examId, String subjectCode, Integer number);
     void resetCount(Integer examId, String subjectCode, Integer number);
 
 
-    @Modifying
+    @Modifying(clearAutomatically = true)
     @Query("update MarkGroup g set g.picList=?4 where g.pk.examId=?1 and g.pk.subjectCode=?2 and g.pk.number=?3")
     @Query("update MarkGroup g set g.picList=?4 where g.pk.examId=?1 and g.pk.subjectCode=?2 and g.pk.number=?3")
     void updatePicList(Integer examId, String subjectCode, Integer number, String picList);
     void updatePicList(Integer examId, String subjectCode, Integer number, String picList);
 
 
-    @Modifying
+    @Modifying(clearAutomatically = true)
     @Query("update MarkGroup g set g.title=?4 where g.pk.examId=?1 and g.pk.subjectCode=?2 and g.pk.number=?3")
     @Query("update MarkGroup g set g.title=?4 where g.pk.examId=?1 and g.pk.subjectCode=?2 and g.pk.number=?3")
     void updateTitle(Integer examId, String subjectCode, Integer number, String title);
     void updateTitle(Integer examId, String subjectCode, Integer number, String title);
 
 

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

@@ -768,7 +768,7 @@ public class MarkServiceImpl implements MarkService {
         if (group.getStatus() == MarkStatus.FORMAL) {
         if (group.getStatus() == MarkStatus.FORMAL) {
             groupDao.updateMarkedCount(group.getExamId(), group.getSubjectCode(), group.getNumber(),
             groupDao.updateMarkedCount(group.getExamId(), group.getSubjectCode(), group.getNumber(),
                     (int) libraryDao.countByExamIdAndSubjectCodeAndGroupNumberAndStatus(group.getExamId(),
                     (int) libraryDao.countByExamIdAndSubjectCodeAndGroupNumberAndStatus(group.getExamId(),
-                            group.getSubjectCode(), group.getNumber(), LibraryStatus.MARKED, LibraryStatus.ARBITRATED));
+                            group.getSubjectCode(), group.getNumber(), LibraryStatus.MARKED, LibraryStatus.ARBITRATED) );
         } else if (group.getStatus() == MarkStatus.TRIAL) {
         } else if (group.getStatus() == MarkStatus.TRIAL) {
             groupDao.updateMarkedCount(group.getExamId(), group.getSubjectCode(), group.getNumber(),
             groupDao.updateMarkedCount(group.getExamId(), group.getSubjectCode(), group.getNumber(),
                     (int) trialLibraryDao.countMarked(group.getExamId(), group.getSubjectCode(), group.getNumber()));
                     (int) trialLibraryDao.countMarked(group.getExamId(), group.getSubjectCode(), group.getNumber()));

+ 1 - 1
stmms-web/src/main/java/cn/com/qmth/stmms/common/controller/BaseController.java

@@ -174,7 +174,7 @@ public class BaseController {
 
 
     protected boolean saveUploadStudent(ExamStudent student) {
     protected boolean saveUploadStudent(ExamStudent student) {
         ExamStudent old = studentService.findById(student.getId());
         ExamStudent old = studentService.findById(student.getId());
-        if(old.isAbsent() && !student.isAbsent()){//缺考转正考
+        if(!student.isAbsent()){//正考
             List<MarkGroup> groupList = groupService.findByExamAndSubjectAndStatus(student.getExamId(), student.getSubjectCode(), MarkStatus.FINISH);
             List<MarkGroup> groupList = groupService.findByExamAndSubjectAndStatus(student.getExamId(), student.getSubjectCode(), MarkStatus.FINISH);
             for (MarkGroup markGroup : groupList) {
             for (MarkGroup markGroup : groupList) {
                 groupService.updateStatus(student.getExamId(), student.getSubjectCode(), markGroup.getNumber(), MarkStatus.FORMAL, MarkStatus.FINISH);
                 groupService.updateStatus(student.getExamId(), student.getSubjectCode(), markGroup.getNumber(), MarkStatus.FORMAL, MarkStatus.FINISH);