1
0
ting.yin 3 rokov pred
rodič
commit
a1099f3b61

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

@@ -121,7 +121,7 @@ public class InspectedServiceImpl extends BaseQueryService<ExamStudent> implemen
         // 选做题多选做
         // 选做题多选做
         if (selectiveStatus != null && SelectiveStatus.MUTI_SELECTIVE.equals(selectiveStatus) && !groups.isEmpty()
         if (selectiveStatus != null && SelectiveStatus.MUTI_SELECTIVE.equals(selectiveStatus) && !groups.isEmpty()
                 && !selectiveGroups.isEmpty()) {
                 && !selectiveGroups.isEmpty()) {
-            whereSql.append(" and exists (select count(e.student_id)>:selectiveCount from eb_subjective_score e where e.student_id = s.id and e.group_number in (:groupNumbers) and e.group_score != -1 )");
+            whereSql.append(" and not exists (select e.student_id from eb_subjective_score e where e.student_id = s.id and e.group_number in (:groupNumbers) and e.group_score = -1 limit :skipCount,1) ");
         }
         }
         dataSql.append(whereSql);
         dataSql.append(whereSql);
         StringBuilder orderSql = new StringBuilder(" order by s.inspect_time desc ");
         StringBuilder orderSql = new StringBuilder(" order by s.inspect_time desc ");
@@ -167,7 +167,8 @@ public class InspectedServiceImpl extends BaseQueryService<ExamStudent> implemen
                 groupNumbers.add(groups.get(i).getNumber());
                 groupNumbers.add(groups.get(i).getNumber());
             }
             }
             dataQuery.setParameter("groupNumbers", groupNumbers);
             dataQuery.setParameter("groupNumbers", groupNumbers);
-            dataQuery.setParameter("selectiveCount", selectiveGroups.get(0).getSelectiveCount());
+            int skipCount = selectiveGroups.size() - selectiveGroups.get(0).getSelectiveCount() - 1;
+            dataQuery.setParameter("skipCount", skipCount);
         }
         }
         return dataQuery;
         return dataQuery;
     }
     }