|
@@ -39,6 +39,7 @@ import org.springframework.web.bind.annotation.*;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
|
import java.text.DecimalFormat;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.LinkedList;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -533,14 +534,20 @@ public class ExamStudentController extends BaseApiController {
|
|
|
}
|
|
|
studentService.clearManualAbsent(examId);
|
|
|
if (datas != null && datas.length > 0) {
|
|
|
+ List<String> examNumberIn = new ArrayList<>();
|
|
|
for (MenualAbsentDTO dto : datas) {
|
|
|
- ExamStudent student = studentService.findByExamIdAndExamNumber(examId, dto.getExamNumber());
|
|
|
- if (student != null) {
|
|
|
- studentService.updateManualAbsent(examId, student.getExamNumber(), true);
|
|
|
- JSONObject obj = new JSONObject();
|
|
|
- obj.accumulate("examNumber", student.getExamNumber());
|
|
|
- array.add(obj);
|
|
|
- }
|
|
|
+ examNumberIn.add(dto.getExamNumber());
|
|
|
+ }
|
|
|
+ ExamStudentSearchQuery query =new ExamStudentSearchQuery();
|
|
|
+ query.setExamId(examId);
|
|
|
+ query.setExamNumberIn(StringUtils.join(examNumberIn, ","));
|
|
|
+ query.setPageSize(Integer.MAX_VALUE);
|
|
|
+ query = studentService.findByQuery(query);
|
|
|
+ studentService.updateManualAbsent(examId, examNumberIn, true);
|
|
|
+ for (ExamStudent student :query.getResult()){
|
|
|
+ JSONObject obj = new JSONObject();
|
|
|
+ obj.accumulate("examNumber", student.getExamNumber());
|
|
|
+ array.add(obj);
|
|
|
}
|
|
|
}
|
|
|
return array;
|