diff --git a/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentController.java b/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentController.java index 0283a43188c12af2a962de46c9ed6a2747f69008..2a2c7970d09d6d6a82598a42d6dde0f26b4af450 100644 --- a/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentController.java +++ b/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentController.java @@ -91,13 +91,9 @@ public class StudentController { } @PutMapping("/{studentId}/verify") - public ResponseEntity<Student> verifyStudent(@PathVariable Long studentId, @RequestParam("status") VerificationStatus status, @RequestParam("remarks") String remarks,@RequestParam("verificationDate") LocalDate verificationDate) { - Student student = studentService.findById(studentId); - student.setVerificationStatus(status); - student.setAdminRemarks(remarks); - student.setVerificationDate(verificationDate); - studentService.save(student); - return ResponseEntity.ok(student); + public ResponseEntity<Student> verifyStudent(@PathVariable Long studentId, @RequestParam("status") VerificationStatus status, @RequestParam("remarks") String remarks, @RequestParam("verificationDate") LocalDate verificationDate) { + Student updatedStudent = studentService.verifyStudent(studentId, status, remarks, verificationDate); + return ResponseEntity.ok(updatedStudent); } @GetMapping("/pendingVerification") public ResponseEntity<List<Student>> getStudentsPendingVerification() { diff --git a/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/Student.java b/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/Student.java index 4a2562881448220b2e3e8e5f0407415b276e87b5..9a07595e21427aa3b934d0c8173aa107d581201e 100644 --- a/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/Student.java +++ b/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/Student.java @@ -57,6 +57,7 @@ public class Student { private String adminRemarks; private LocalDate enrollmentDate; private LocalDate verificationDate; + private boolean requiresRevision; @ManyToOne @JoinColumn(name = "course_id") diff --git a/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/StudentDto.java b/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/StudentDto.java index bb21d8c055b1ddc1dadd476a0bd186d4582733c3..f74c9ae99f0151c54a806bc1fa809ecbf3ce5561 100644 --- a/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/StudentDto.java +++ b/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/StudentDto.java @@ -43,6 +43,7 @@ public class StudentDto { private String adminRemarks; private LocalDate enrollmentDate; private LocalDate verificationDate; + private boolean requiresRevision; private MultipartFile highSchoolMarksheet; private MultipartFile highSchoolCertificate; diff --git a/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentService.java b/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentService.java index e42c30865da102f6f0dd86cfbbb41b52dfded693..a845ec9658fc15aa7bce4792719b065be193b4ec 100644 --- a/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentService.java +++ b/upsmf-entity/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentService.java @@ -189,6 +189,20 @@ public class StudentService { student.setVerificationStatus(status); return studentRepository.save(student); } + public Student verifyStudent(Long studentId, VerificationStatus status, String remarks, LocalDate verificationDate) { + Student student = this.findById(studentId); + student.setVerificationStatus(status); + student.setAdminRemarks(remarks); + student.setVerificationDate(verificationDate); + + if (status == VerificationStatus.VERIFIED) { + String enrollmentNumber = "EN" + LocalDate.now().getYear() + student.getCenterCode() + student.getId(); + student.setProvisionalEnrollmentNumber(enrollmentNumber); + } else if (status == VerificationStatus.REJECTED) { + student.setRequiresRevision(true); + } + return this.save(student); + } public List<Student> findByVerificationStatus(VerificationStatus status) { return studentRepository.findByVerificationStatus(status); }