Quellcode durchsuchen

统分定时任务修改

wangliang vor 3 Monaten
Ursprung
Commit
5fd85e76be

+ 2 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkServiceImpl.java

@@ -216,7 +216,8 @@ public class MarkServiceImpl implements MarkService {
     }
 
     private void resetStudentGroup(Long studentId) {
-        markStudentService.updateSubjectiveStatusAndScore(studentId, SubjectiveStatus.UNMARK, null, null);
+//        markStudentService.updateSubjectiveStatusAndScore(studentId, SubjectiveStatus.UNMARK, null, null);
+        markStudentService.updateSubjectiveScoreByVersion(studentId, SubjectiveStatus.UNMARK, null, null, null);
     }
 
 

+ 1 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java

@@ -2468,7 +2468,7 @@ public class MarkStudentServiceImpl extends ServiceImpl<MarkStudentMapper, MarkS
     public int updateSubjectiveScoreByVersion(Long studentId, SubjectiveStatus status, Double score, String scoreList, Integer version) {
         Objects.requireNonNull(status, "主观题状态不能为空");
         int update = this.baseMapper.updateSubjectiveScoreByVersion(studentId, status.name(), score, scoreList, version);
-        if (update == 0) {
+        if (Objects.nonNull(version) && update == 0) {
             throw ExceptionResultEnum.ERROR.exception("版本号发生改变,更新失败");
         }
         return update;

+ 3 - 3
teachcloud-mark/src/main/resources/mapper/MarkStudentMapper.xml

@@ -1064,7 +1064,7 @@
     </select>
 
     <update id="updateSubjectiveScoreByVersion">
-        update mark_student t set t.subjective_status = #{status},t.subjective_score = #{score},t.subjective_score_list = #{scoreList},t.version = version + 1
+        update mark_student t set t.subjective_status = #{status},t.subjective_score = #{score},t.subjective_score_list = #{scoreList},t.version = t.version + 1
         <where>
             <if test="studentId != null and studentId != ''">
                 AND t.id = #{studentId}
@@ -1084,9 +1084,9 @@
         and be.enable = true and be.id = mp.exam_id) and ms.exam_id = mp.exam_id and ms.paper_number = mp.paper_number)
         and (ms.subjective_status = 'UNMARK' or ms.subjective_score = 0 or ms.subjective_score is null)
         and ms.is_upload = true and (ms.is_absent = true or ms.is_manual_absent = true or omr_absent = true)
-        /*and exists(select 1 from mark_task mt where ms.id = mt.student_id)*/
+        <!--and exists(select 1 from mark_task mt where ms.id = mt.student_id)*-->
         <if test="limit != null and limit != ''">
-            #{limit}
+            ${limit}
         </if>
         </where>
     </select>

+ 5 - 1
teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/impl/JobServiceImpl.java

@@ -252,7 +252,11 @@ public class JobServiceImpl implements JobService {
         List<MarkStudent> markStudentList = markStudentService.findNeedScoreCalculateStudent();
         if (CollectionUtils.isNotEmpty(markStudentList)) {
             for (MarkStudent m : markStudentList) {
-                markService.checkStudentSubjective(m.getId(), m.getExamId(), m.getPaperNumber(), m.getVersion());
+                try {
+                    markService.checkStudentSubjective(m.getId(), m.getExamId(), m.getPaperNumber(), m.getVersion());
+                } catch (Exception e) {
+                    log.error(SystemConstant.LOG_ERROR, e);
+                }
             }
         }
     }