diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentResultController.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentResultController.java index e2725bebe960aa7cfdb6600b4aca79f5f6661e0c..dafae2773ed165138da4677bdda76b27e0599195 100644 --- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentResultController.java +++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentResultController.java @@ -88,10 +88,9 @@ public class StudentResultController { @GetMapping("/resultsByInstitute") public ResponseEntity<ResponseDto> getStudentsExamDetails( @RequestParam Long instituteId, - @RequestParam Long examCycleId, - @RequestParam(required = false) Long examId) { + @RequestParam Long examCycleId) { - ResponseDto response = studentResultService.getResultsByInstituteAndExamCycle(instituteId, examCycleId, examId); + ResponseDto response = studentResultService.getResultsByInstituteAndExamCycle(instituteId, examCycleId); return new ResponseEntity<>(response, response.getResponseCode()); } diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/StudentResultRepository.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/StudentResultRepository.java index 6cd1fb1d8f2a11758743eaf8177201a70558ff79..049c2fe348256d8267166aec8de15311536ca386 100644 --- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/StudentResultRepository.java +++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/StudentResultRepository.java @@ -31,7 +31,7 @@ public interface StudentResultRepository extends JpaRepository<StudentResult, Lo List<StudentResult> findByExam(Exam exam); - List<StudentResult> findByStudent_Institute_IdAndExamCycle_IdAndExam_id(Long instituteId, Long examCycleId, Long examId); + List<StudentResult> findByInstituteIdAndExamCycleId(Long instituteId, Long examCycleId); @Query("SELECT sr FROM StudentResult sr WHERE sr.examCycle.id = :examCycle AND sr.exam.id = :exam AND sr.student.institute.id = :institute") List<StudentResult> findByExamCycleAndExamAndInstitute(@Param("examCycle") Long examCycle, @Param("exam") Long exam, @Param("institute") Long institute); @@ -63,5 +63,11 @@ public interface StudentResultRepository extends JpaRepository<StudentResult, Lo @Query("SELECT sr FROM StudentResult sr WHERE sr.examCycle_name = :examCycleName") List<StudentResult> findByExamCycleName(String examCycleName); + + @Query("SELECT sr FROM StudentResult sr WHERE sr.instituteId = :instituteId AND sr.examCycle_name = :examCycleName") + List<StudentResult> findByInstituteIdAndExamCycleName(Long instituteId, String examCycleName); + + @Query("SELECT sr FROM StudentResult sr WHERE sr.enrollmentNumber = :enrollmentNumber AND sr.examCycle_name = :examCycleName AND sr.published = :b ") + List<StudentResult> findByStudent_EnrollmentNumberAndExamCycleNameAndPublished(String enrollmentNumber, String examCycleName, boolean b); } diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentResultService.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentResultService.java index 9fe890693dedf5022dfcccde9649b5e6d5dd9272..78ea89341b1f4e730642c548161a726984fb749a 100644 --- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentResultService.java +++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentResultService.java @@ -408,7 +408,10 @@ public class StudentResultService { public ResponseDto findByEnrollmentNumberAndDateOfBirth(String enrollmentNumber, Long examCycleId) { ResponseDto response = new ResponseDto(Constants.API_FIND_BY_ENROLLMENT_NUMBER_AND_DOB); - List<StudentResult> studentResultList = studentResultRepository.findByStudent_EnrollmentNumberAndExamCycle_IdAndPublished(enrollmentNumber, examCycleId, true); +// List<StudentResult> studentResultList = studentResultRepository.findByStudent_EnrollmentNumberAndExamCycle_IdAndPublished(enrollmentNumber, examCycleId, true); + + String examCycleName = examCycleRepository.getExamCycleNameById(examCycleId); + List<StudentResult> studentResultList = studentResultRepository.findByStudent_EnrollmentNumberAndExamCycleNameAndPublished(enrollmentNumber, examCycleName, true); if (!studentResultList.isEmpty()) { StudentResultDTO studentResultDTO = mapToDTO(studentResultList); @@ -432,10 +435,14 @@ public class StudentResultService { // Set common details using the first entry. StudentResult firstResult = studentResultList.get(0); - dto.setFirstName(firstResult.getStudent().getFirstName()); - dto.setLastName(firstResult.getStudent().getSurname()); - dto.setEnrollmentNumber(firstResult.getStudent().getEnrollmentNumber()); - dto.setDateOfBirth(firstResult.getStudent().getDateOfBirth()); +// dto.setFirstName(firstResult.getStudent().getFirstName()); + dto.setFirstName(firstResult.getFirstName()); +// dto.setLastName(firstResult.getStudent().getSurname()); + dto.setLastName(firstResult.getLastName()); +// dto.setEnrollmentNumber(firstResult.getStudent().getEnrollmentNumber()); + dto.setEnrollmentNumber(firstResult.getEnrollmentNumber()); +// dto.setDateOfBirth(firstResult.getStudent().getDateOfBirth()); +// dto.setDateOfBirth(firstResult.getStudent().getDateOfBirth()); if (firstResult.getExamCycle() != null) { ExamCycle examCycle = firstResult.getExamCycle(); @@ -666,17 +673,19 @@ public class StudentResultService { } - public ResponseDto getResultsByInstituteAndExamCycle(Long instituteId, Long examCycleId, Long examId) { + public ResponseDto getResultsByInstituteAndExamCycle(Long instituteId, Long examCycleId) { ResponseDto response = new ResponseDto(Constants.API_RESULTS_GET_BY_INSTITUTE_AND_CYCLE); - List<StudentResult> results = studentResultRepository.findByStudent_Institute_IdAndExamCycle_IdAndExam_id(instituteId, examCycleId, examId); - + String examCycleName = examCycleRepository.getExamCycleNameById(examCycleId); +// List<StudentResult> results = studentResultRepository.findByInstituteIdAndExamCycleId(instituteId, examCycleId); + List<StudentResult> results = studentResultRepository.findByInstituteIdAndExamCycleName(instituteId, examCycleName); + Institute institute = instituteRepository.findById(instituteId).orElseThrow(); if (!results.isEmpty()) { List<ResultDisplayDto> dtos = results.stream() .map(result -> { ResultDisplayDto dto = new ResultDisplayDto(); dto.setId(result.getId()); - dto.setInstituteName(result.getStudent().getInstitute().getInstituteName()); - dto.setInstitute_id(result.getStudent().getInstitute().getId()); + dto.setInstituteName(institute.getInstituteName()); + dto.setInstitute_id(result.getInstituteId()); dto.setFirstName(result.getFirstName()); dto.setLastName(result.getLastName()); dto.setEnrollmentNumber(result.getEnrollmentNumber());