|
@@ -163,7 +163,6 @@ public class ExamStudentService {
|
|
|
|
|
|
|
|
|
private void saveExamStudentAndUser(List<ExamStudent> examStudents) {
|
|
|
- examStudentRepo.save(examStudents);
|
|
|
for (ExamStudent examStudent : examStudents) {
|
|
|
Student student = new Student();
|
|
|
student.setIdentityNumber(examStudent.getIdentityNumber());
|
|
@@ -173,7 +172,9 @@ public class ExamStudentService {
|
|
|
user.setOrgId(examStudent.getOrgId());
|
|
|
user.setRootOrgId(examStudent.getRootOrgId());
|
|
|
student.setUser(user);
|
|
|
- studentService.addStudent(student);
|
|
|
+ student = studentService.addStudent(student);
|
|
|
+ examStudent.setStudentId(student.getId());
|
|
|
+ examStudentRepo.save(examStudent);
|
|
|
}
|
|
|
examStudents.removeAll(examStudents);
|
|
|
}
|
|
@@ -242,7 +243,9 @@ public class ExamStudentService {
|
|
|
private Specification<ExamStudent> getSpecification(ExamStudentDTO examCriteria) {
|
|
|
Specification<ExamStudent> specification = (root, query, cb) -> {
|
|
|
List<Predicate> predicates = new ArrayList<>();
|
|
|
- predicates.add(cb.equal(root.get("rootOrgId"),examCriteria.getRootOrgId()));
|
|
|
+ if(null!=examCriteria.getRootOrgId()){
|
|
|
+ predicates.add(cb.equal(root.get("rootOrgId"),examCriteria.getRootOrgId()));
|
|
|
+ }
|
|
|
if(null!=examCriteria.getOrgId()){
|
|
|
predicates.add(cb.equal(root.get("orgId"),examCriteria.getOrgId()));
|
|
|
}
|
|
@@ -258,6 +261,9 @@ public class ExamStudentService {
|
|
|
if(null!=examCriteria.getFinished()){
|
|
|
predicates.add(cb.equal(root.get("finished"),examCriteria.getFinished()));
|
|
|
}
|
|
|
+ if(null!=examCriteria.getStudentId()){
|
|
|
+ predicates.add(cb.equal(root.get("studentId"),examCriteria.getStudentId()));
|
|
|
+ }
|
|
|
return cb.and(predicates.toArray(new Predicate[predicates.size()]));
|
|
|
};
|
|
|
return specification;
|