From 9aef4434879ee867128dd0a6c2774fb713d0840e Mon Sep 17 00:00:00 2001 From: Radheshhathwar <radheshhathwar.bh@gmail.com> Date: Wed, 8 Nov 2023 18:13:26 +0530 Subject: [PATCH] Added the flags in response /api/v1/studentResults/results 1. publishedDate 2. revisedFinalMarkFlag /api/v1/studentResults/manageResults 1. published flag --- .../model/StudentResult.java | 50 +------------------ .../model/dto/ExamDetailsDTO.java | 1 + .../model/dto/ProcessedResultDto.java | 1 + .../model/dto/StudentResultDTO.java | 2 + .../service/StudentResultService.java | 9 +++- 5 files changed, 14 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/StudentResult.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/StudentResult.java index e4bc277..67ef190 100644 --- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/StudentResult.java +++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/StudentResult.java @@ -6,6 +6,7 @@ import lombok.*; import javax.persistence.*; import java.time.LocalDate; +import java.util.Date; @Entity @Table(name = "student_results") @@ -87,6 +88,7 @@ public class StudentResult { private String grade; @JsonProperty("Result") private String result; + private Date publishedDate; @Enumerated(EnumType.STRING) private ResultStatus status = ResultStatus.ENTERED; @@ -97,52 +99,4 @@ public class StudentResult { private boolean revisedFinalMarkFlag; private LocalDate lastDateToUploadInternalMarks; private long instituteId; - - public StudentResult(Student student, String firstName, String lastName, String enrollmentNumber, - String motherName, String fatherName, Course course, String course_name, - ExamCycle examCycle, String examCycle_name, Exam exam, String exam_name, - Integer internalMarks, Integer passingInternalMarks, Integer internalMarksObtained, - Integer practicalMarks, Integer passingPracticalMarks, Integer practicalMarksObtained, - Integer otherMarks, Integer passingOtherMarks, Integer otherMarksObtained, - Integer externalMarks, Integer passingExternalMarks, Integer externalMarksObtained, - Integer totalMarks, Integer passingTotalMarks, Integer totalMarksObtained, - String grade, String result, ResultStatus status, boolean published, boolean internalMarkFlag, boolean finalMarkFlag, boolean revisedFinalMarkFlag,LocalDate lastDateToUploadInternalMarks, long instituteId) { - - this.student = student; - this.firstName = firstName; - this.lastName = lastName; - this.enrollmentNumber = enrollmentNumber; - this.motherName = motherName; - this.fatherName = fatherName; - this.course = course; - this.course_name = course_name; - this.examCycle = examCycle; - this.examCycle_name = examCycle_name; - this.exam = exam; - this.exam_name = exam_name; - this.internalMarks = internalMarks; - this.passingInternalMarks = passingInternalMarks; - this.internalMarksObtained = internalMarksObtained; - this.practicalMarks = practicalMarks; - this.passingPracticalMarks = passingPracticalMarks; - this.practicalMarksObtained = practicalMarksObtained; - this.otherMarks = otherMarks; - this.passingOtherMarks = passingOtherMarks; - this.otherMarksObtained = otherMarksObtained; - this.externalMarks = externalMarks; - this.passingExternalMarks = passingExternalMarks; - this.externalMarksObtained = externalMarksObtained; - this.totalMarks = totalMarks; - this.passingTotalMarks = passingTotalMarks; - this.totalMarksObtained = totalMarksObtained; - this.grade = grade; - this.result = result; - this.status = status; - this.published = published; - this.internalMarkFlag = internalMarkFlag; - this.finalMarkFlag = finalMarkFlag; - this.revisedFinalMarkFlag = revisedFinalMarkFlag; - this.lastDateToUploadInternalMarks=lastDateToUploadInternalMarks; - this.instituteId=instituteId; - } } \ No newline at end of file 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 2a188a5..3dca6d1 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 @@ -14,4 +14,5 @@ public class ExamDetailsDTO { private String result; private String status; private Long examId; + private boolean hasRevisedFinalMarkFlag; } diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/ProcessedResultDto.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/ProcessedResultDto.java index eefab08..4ec33f1 100644 --- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/ProcessedResultDto.java +++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/ProcessedResultDto.java @@ -12,6 +12,7 @@ public class ProcessedResultDto { private boolean hasInternalMarks; private boolean hasFinalMarks; private boolean hasRevisedFinalMarks; + private boolean hasPublished; private String instituteName; private Long instituteId; private String course; diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/StudentResultDTO.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/StudentResultDTO.java index b6f176d..aab5bcf 100644 --- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/StudentResultDTO.java +++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/model/dto/StudentResultDTO.java @@ -4,6 +4,7 @@ import com.tarento.upsmf.examsAndAdmissions.enums.ResultStatus; import lombok.*; import java.time.LocalDate; +import java.util.Date; import java.util.List; @Getter @@ -16,5 +17,6 @@ public class StudentResultDTO { private LocalDate dateOfBirth; private String courseName; private String courseYear; + private Date publishedDate; private List<ExamDetailsDTO> examDetails; } 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 397c7e5..f41a91b 100644 --- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentResultService.java +++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentResultService.java @@ -21,6 +21,8 @@ import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.*; import java.util.stream.Collectors; @@ -391,10 +393,12 @@ public class StudentResultService { public ResponseDto publishResultsForCourseWithinCycle(Long courseId, Long examCycleId) { ResponseDto response = new ResponseDto(Constants.API_PUBLISH_RESULTS_FOR_COURSE_WITHIN_CYCLE); List<StudentResult> resultsForCourse = studentResultRepository.findByCourse_IdAndExam_ExamCycleIdAndPublished(courseId, examCycleId, false); - + LocalDateTime localDateTime = LocalDateTime.now(); + Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); if (!resultsForCourse.isEmpty()) { for (StudentResult result : resultsForCourse) { result.setPublished(true); + result.setPublishedDate(date); } studentResultRepository.saveAll(resultsForCourse); response.put(Constants.MESSAGE, "Successfully published results."); @@ -445,6 +449,7 @@ public class StudentResultService { Student student = studentRepository.findByEnrollmentNumber(firstResult.getEnrollmentNumber()).orElseThrow(); // dto.setDateOfBirth(firstResult.getStudent().getDateOfBirth()); dto.setDateOfBirth(student.getDateOfBirth()); + dto.setPublishedDate(firstResult.getPublishedDate()); if (firstResult.getExamCycle_name() != null) { ExamCycle examCycle = examCycleRepository.findByExamCycleName(firstResult.getExamCycle_name()); if (examCycle.getCourse() != null) { @@ -466,6 +471,7 @@ public class StudentResultService { Long examCycleId = examCycleRepository.getIdByExamCycleName(studentResult.getExamCycle_name()); Long examId = examRepository.getIdByExamName(studentResult.getExam_name(),examCycleId); examDto.setExamId(examId); + examDto.setHasRevisedFinalMarkFlag(studentResult.isRevisedFinalMarkFlag()); return examDto; }) .collect(Collectors.toList()); @@ -799,6 +805,7 @@ public class StudentResultService { instituteResult.setHasInternalMarks(result.isInternalMarkFlag()); instituteResult.setHasFinalMarks(result.isFinalMarkFlag()); instituteResult.setHasRevisedFinalMarks(result.isRevisedFinalMarkFlag()); + instituteResult.setHasPublished(result.isPublished()); } return processedResults; } -- GitLab