From 611a334b1dcff8d61989fded3f439f289efd9b36 Mon Sep 17 00:00:00 2001 From: Radheshhathwar <radheshhathwar.bh@gmail.com> Date: Fri, 3 Nov 2023 18:19:19 +0530 Subject: [PATCH] delete api Added examId in result --- .../examsAndAdmissions/model/dto/ExamDetailsDTO.java | 1 + .../repository/ExamCycleRepository.java | 2 ++ .../examsAndAdmissions/repository/ExamRepository.java | 3 +++ .../repository/StudentResultRepository.java | 5 ++--- .../examsAndAdmissions/service/StudentResultService.java | 8 ++++++-- .../tarento/upsmf/examsAndAdmissions/util/Constants.java | 2 +- 6 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/ExamDetailsDTO.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/ExamDetailsDTO.java index 11d86f1..2a188a5 100644 --- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/ExamDetailsDTO.java +++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/ExamDetailsDTO.java @@ -13,4 +13,5 @@ public class ExamDetailsDTO { private String grade; private String result; private String status; + private Long examId; } diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/ExamCycleRepository.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/ExamCycleRepository.java index d41263d..661d686 100644 --- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/ExamCycleRepository.java +++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/ExamCycleRepository.java @@ -31,4 +31,6 @@ public interface ExamCycleRepository extends JpaRepository<ExamCycle, Long> { List<ExamCycle> searchExamCycleByCourseIdAndStartYearAndEndYear(@Param("courseId") String courseId, @Param("startYear") Integer startYear, @Param("endYear") Integer endYear); List<ExamCycle> findByCourseInAndEndDateAfter(List<Course> courses, LocalDate currentDate); + @Query("select ec.id from ExamCycle ec where ec.examCycleName =:examCycleName") + Long getIdByExamCycleName(String examCycleName); } diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/ExamRepository.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/ExamRepository.java index da91d33..7d3d109 100644 --- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/ExamRepository.java +++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/ExamRepository.java @@ -28,4 +28,7 @@ public interface ExamRepository extends JpaRepository<Exam, Long> { List<Exam> findRegisteredExamsForStudentInCycle(Long studentId, Long examCycleId); @Query("SELECT e.examName FROM Exam e WHERE e.id = :exam") String getExamNameById(Long exam); + + @Query("SELECT e.id FROM Exam e WHERE e.examName = :examName and e.examCycleId = :examCycleId") + Long getIdByExamName(String examName,Long examCycleId); } 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 9759b26..ae6c61a 100644 --- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/StudentResultRepository.java +++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/repository/StudentResultRepository.java @@ -37,9 +37,8 @@ public interface StudentResultRepository extends JpaRepository<StudentResult, Lo Optional<StudentResult> findByExamIdAndStudentId(Long examId, Long studentId); @Modifying @Transactional - @Query(value = "UPDATE student_results SET external_marks = null FROM exam, students WHERE student_results.exam_cycle_id = exam.exam_cycle_id AND student_results.student_id = students.id AND exam.exam_cycle_id = :examCycleId AND students.institute_id = :instituteId", nativeQuery = true) - int setExternalMarksToNull(@Param("examCycleId") Long examCycleId, @Param("instituteId") Long instituteId); - + @Query("UPDATE StudentResult sr SET sr.externalMarks = null, sr.passingExternalMarks = null, sr.externalMarksObtained = null WHERE sr.examCycle_name = :examCycleName AND sr.instituteId = :instituteId") + int setExternalMarksToNull(@Param("examCycleName") String examCycleName, @Param("instituteId") Long instituteId); @Query("SELECT sr FROM StudentResult sr WHERE sr.firstName = :firstName AND sr.lastName = :lastName AND sr.enrollmentNumber = :enrollmentNumber") StudentResult findByFirstNameAndLastNameAndEnrollmentNumber( @Param("firstName") String firstName, 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 3f147c5..db43097 100644 --- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentResultService.java +++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentResultService.java @@ -407,7 +407,7 @@ public class StudentResultService { } public ResponseDto findByStudentIdAndExamCycleId(Long studentId, Long examCycleId) { - ResponseDto response = new ResponseDto(Constants.API_FIND_BY_ENROLLMENT_NUMBER_AND_DOB); + ResponseDto response = new ResponseDto(Constants.API_FIND_BY_ENROLLMENT_NUMBER_AND_ExamCycle); // List<StudentResult> studentResultList = studentResultRepository.findByStudent_EnrollmentNumberAndExamCycle_IdAndPublished(enrollmentNumber, examCycleId, true); String examCycleName = examCycleRepository.getExamCycleNameById(examCycleId); @@ -463,6 +463,9 @@ public class StudentResultService { examDto.setGrade(studentResult.getGrade()); examDto.setResult(studentResult.getResult()); examDto.setStatus(studentResult.getStatus().name()); + Long examCycleId = examCycleRepository.getIdByExamCycleName(studentResult.getExamCycle_name()); + Long examId = examRepository.getIdByExamName(studentResult.getExam_name(),examCycleId); + examDto.setExamId(examId); return examDto; }) .collect(Collectors.toList()); @@ -841,8 +844,9 @@ public class StudentResultService { public ResponseDto deleteExternalMarks(Long examCycleId, Long instituteId) { ResponseDto response = new ResponseDto(Constants.API_DELETE_FINAL_MARKS); + String examCycleName = examCycleRepository.getExamCycleNameById(examCycleId); // Logic to set external marks to null for all students of the given institute for the specified exam cycle - int updatedCount = studentResultRepository.setExternalMarksToNull(examCycleId, instituteId); + int updatedCount = studentResultRepository.setExternalMarksToNull(examCycleName, instituteId); if(updatedCount == 0) { ResponseDto.setErrorResponse(response, "NO_DATA_FOUND", "No external marks found for the provided criteria.", HttpStatus.NOT_FOUND); diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/util/Constants.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/util/Constants.java index 2db5e4f..d1605e0 100644 --- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/util/Constants.java +++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/util/Constants.java @@ -116,7 +116,7 @@ public class Constants { public static final String API_FETCH_COURSE_BY_NAME = "api.studentResult.fetchCourseByName"; public static final String API_FETCH_EXAM_BY_NAME = "api.studentResult.fetchExamByName"; public static final String API_PUBLISH_RESULTS_FOR_COURSE_WITHIN_CYCLE = "api.studentResult.publishForCourse"; - public static final String API_FIND_BY_ENROLLMENT_NUMBER_AND_DOB = "api.studentResult.findByEnrollmentAndDob"; + public static final String API_FIND_BY_ENROLLMENT_NUMBER_AND_ExamCycle = "api.studentResult.findByEnrollmentAndExamCycle"; public static final String API_UPDATE_RESULT_AFTER_RETOTALLING = "api.studentResult.updateAfterRetotalling"; public static final String API_GET_RESULTS_BY_EXAM_CYCLE_AND_EXAM_GROUPED_BY_INSTITUTE = "api.studentResult.getByExamCycleAndGroupedByInstitute"; public static final String API_BULK_UPLOAD_RESULTS = "api.studentResult.bulkUpload"; -- GitLab