wangliang 4 năm trước cách đây
mục cha
commit
c8039ae9a5

+ 43 - 16
themis-admin/src/main/java/com/qmth/themis/admin/api/TEExamStudentController.java

@@ -203,32 +203,59 @@ public class TEExamStudentController {
         TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
         TBOrg tbOrg = (TBOrg) ServletUtil.getRequestOrg();
         teExamStudentList.forEach(s -> {
-            if (Objects.isNull(s.getId())) {
-                QueryWrapper<TEStudent> teExamStudentQueryWrapper = new QueryWrapper<>();
-                teExamStudentQueryWrapper.lambda().eq(TEStudent::getName, s.getName())
-                        .eq(TEStudent::getIdentity, s.getIdentity()).eq(TEStudent::getOrgId, tbOrg.getId());
-                TEStudent student = teStudentService.getOne(teExamStudentQueryWrapper);
-                if (student == null) {
-                    TEStudent teStudent = new TEStudent(tbOrg.getId(), s.getIdentity(), s.getName(), tbUser.getId());
+            QueryWrapper<TEExamStudent> teExamStudentQueryWrapper = new QueryWrapper<>();
+            teExamStudentQueryWrapper.lambda().eq(TEExamStudent::getIdentity, s.getIdentity())
+                    .eq(TEExamStudent::getCourseCode, s.getCourseCode())
+                    .eq(TEExamStudent::getExamId, s.getExamId())
+                    .eq(TEExamStudent::getExamActivityId, s.getExamActivityId());
+            TEExamStudent teExamStudent = teExamStudentService.getOne(teExamStudentQueryWrapper);
+
+            QueryWrapper<TEStudent> teStudentQueryWrapper = new QueryWrapper<>();
+            teStudentQueryWrapper.lambda().eq(TEStudent::getIdentity, s.getIdentity()).eq(TEStudent::getOrgId, tbOrg.getId());
+            TEStudent teStudent = teStudentService.getOne(teStudentQueryWrapper);
+
+            if (Objects.isNull(teExamStudent)) {
+                if (Objects.isNull(teStudent)) {//如果学生数据为空则插入学生数据
+                    //先插入学生档案数据
+                    teStudent = new TEStudent(tbOrg.getId(), s.getIdentity(), s.getName(), tbUser.getId());
                     teStudentService.save(teStudent);
                     s.setStudentId(teStudent.getId());
                     s.setCreateId(tbUser.getId());
-                } else {
-                    s.setStudentId(student.getId());
-                    s.setCreateId(tbUser.getId());
                 }
-            } else {
-                UpdateWrapper<TEExamStudent> teExamStudentUpdateWrapper = new UpdateWrapper<>();
-                teExamStudentUpdateWrapper.lambda().set(TEExamStudent::getName, s.getName())
-                        .eq(TEExamStudent::getIdentity, s.getIdentity());
-                teExamStudentService.update(teExamStudentUpdateWrapper);
-
+            }else {
                 UpdateWrapper<TEStudent> teStudentUpdateWrapper = new UpdateWrapper<>();
                 teStudentUpdateWrapper.lambda().set(TEStudent::getName, s.getName())
                         .eq(TEStudent::getIdentity, s.getIdentity());
                 teStudentService.update(teStudentUpdateWrapper);
                 s.setUpdateId(tbUser.getId());
             }
+
+//            if (Objects.isNull(s.getId())) {
+//                QueryWrapper<TEStudent> teExamStudentQueryWrapper = new QueryWrapper<>();
+//                teExamStudentQueryWrapper.lambda().eq(TEStudent::getName, s.getName())
+//                        .eq(TEStudent::getIdentity, s.getIdentity()).eq(TEStudent::getOrgId, tbOrg.getId());
+//                TEStudent student = teStudentService.getOne(teExamStudentQueryWrapper);
+//                if (student == null) {
+//                    TEStudent teStudent = new TEStudent(tbOrg.getId(), s.getIdentity(), s.getName(), tbUser.getId());
+//                    teStudentService.save(teStudent);
+//                    s.setStudentId(teStudent.getId());
+//                    s.setCreateId(tbUser.getId());
+//                } else {
+//                    s.setStudentId(student.getId());
+//                    s.setCreateId(tbUser.getId());
+//                }
+//            } else {
+//                UpdateWrapper<TEExamStudent> teExamStudentUpdateWrapper = new UpdateWrapper<>();
+//                teExamStudentUpdateWrapper.lambda().set(TEExamStudent::getName, s.getName())
+//                        .eq(TEExamStudent::getIdentity, s.getIdentity());
+//                teExamStudentService.update(teExamStudentUpdateWrapper);
+//
+//                UpdateWrapper<TEStudent> teStudentUpdateWrapper = new UpdateWrapper<>();
+//                teStudentUpdateWrapper.lambda().set(TEStudent::getName, s.getName())
+//                        .eq(TEStudent::getIdentity, s.getIdentity());
+//                teStudentService.update(teStudentUpdateWrapper);
+//                s.setUpdateId(tbUser.getId());
+//            }
             ExamCourseCacheBean examCourseCacheBean = teExamCourseService
                     .getExamCourseCacheBean(s.getExamId(), s.getCourseCode());
             if (Objects.isNull(examCourseCacheBean)) {