Jelajahi Sumber

3.4.5 update-20250410,bug修改

xiaofei 2 bulan lalu
induk
melakukan
955e99d7fb

+ 1 - 10
teachcloud-mark/src/main/resources/mapper/MarkTaskMapper.xml

@@ -379,19 +379,10 @@
             resultType="com.qmth.teachcloud.mark.dto.mark.manage.MarkManageDto">
         select
             count(1) totalCount,
-            sum(case when a.unMarked = 0  then 1 else 0 end) markedCount
-        from
-            (select
-            mt.exam_id,
-            mt.paper_number ,
-            mt.student_id,
-            sum(case when mt.status not in ('MARKED', 'ARBITRATED')  then 1 else 0 end) unMarked
+            sum(case when mt.status in ('MARKED', 'ARBITRATED')  then 1 else 0 end) markedCount
         from mark_task mt
         where mt.exam_id = #{examId}
-        <if test="paperNumber != null and paperNumber != ''">
             and mt.paper_number = #{paperNumber}
-        </if>
-        group by mt.exam_id, mt.paper_number, mt.student_id) a
     </select>
     <select id="minQuestionIdByExamIdAndPaperNumber" resultType="java.lang.Long">
         SELECT

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

@@ -10,6 +10,7 @@ import java.util.concurrent.TimeUnit;
 import javax.annotation.Resource;
 
 import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
@@ -153,7 +154,7 @@ public class JobServiceImpl implements JobService {
             List<MarkPaper> markPaperList = markPaperService.listQualityMarkPaperByStatus(MarkPaperStatus.FORMAL, 0);
             for (MarkPaper markPaper : markPaperList) {
                 List<MarkQuestion> markQuestionList = markQuestionService.listByExamIdAndPaperNumberAndObjective(markPaper.getExamId(), markPaper.getPaperNumber(), false);
-                if (CollectionUtils.isEmpty(markQuestionList) || markQuestionList.stream().filter(m -> m.getTotalScore() == null || m.getIntervalScore() == null).count() > 0) {
+                if (CollectionUtils.isEmpty(markQuestionList) || markQuestionList.stream().filter(m -> m.getTotalScore() == null || m.getIntervalScore() == null || StringUtils.isBlank(m.getPicList())).count() > 0) {
                     continue;
                 }
                 markService.buildMarkTask(markPaper);