From e651fecd9e52ee64f4d2005ef3e2aa0d42b947c0 Mon Sep 17 00:00:00 2001
From: ruksanasemeir <ruksana.semeir@tarento.com>
Date: Fri, 2 Feb 2024 10:51:56 +0530
Subject: [PATCH] Added code for provisional id generation

---
 .../examsAndAdmissions/controller/StudentController.java | 7 ++++---
 .../upsmf/examsAndAdmissions/service/StudentService.java | 9 +++++++--
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentController.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentController.java
index 43ddc79..26ada16 100644
--- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentController.java
+++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/controller/StudentController.java
@@ -37,10 +37,11 @@ public class StudentController {
     public ResponseEntity<ResponseDto> getFilteredStudents(
             @RequestParam(required = false) Long instituteId,
             @RequestParam(required = false) Long courseId,
-            @RequestParam(required = false) String session,
-            @RequestParam(required = false) VerificationStatus verificationStatus) {
+            @RequestParam(required = false) String academicYear,
+            @RequestParam(required = false) VerificationStatus verificationStatus,
+        @RequestParam(required = false) Long examCycleId) {
 
-        ResponseDto response = studentService.getFilteredStudents(instituteId, courseId, session, verificationStatus);
+        ResponseDto response = studentService.getFilteredStudents(instituteId, courseId, academicYear, verificationStatus, examCycleId);
 //        return ResponseEntity.status(response.getResponseCode()).body(response);
         return new ResponseEntity<>(response, HttpStatus.OK);
     }
diff --git a/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentService.java b/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentService.java
index 940a2c4..6288e58 100644
--- a/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentService.java
+++ b/src/main/java/com/tarento/upsmf/examsAndAdmissions/service/StudentService.java
@@ -189,10 +189,12 @@ public class StudentService {
     }
 
     private String generateProvisionalNumber(Student student) {
-        return student.getCourse().getCourseCode() + "-" + UUID.randomUUID().toString();
+        int hashCode = Math.abs(student.getMobileNo().hashCode());
+        int truncatedHashCode = hashCode % 100000000;
+        return String.valueOf(truncatedHashCode);
     }
 
-    public ResponseDto getFilteredStudents(Long instituteId, Long courseId, String session, VerificationStatus verificationStatus) {
+    public ResponseDto getFilteredStudents(Long instituteId, Long courseId, String session, VerificationStatus verificationStatus, Long examCycleId) {
         ResponseDto response = new ResponseDto(Constants.API_GET_FILTERED_STUDENTS);
 
         try {
@@ -216,6 +218,9 @@ public class StudentService {
             if (verificationStatus != null) {
                 predicates.add(criteriaBuilder.equal(studentRoot.get("verificationStatus"), verificationStatus));
             }
+            if (examCycleId != null){
+                predicates.add(criteriaBuilder.equal(studentRoot.get("exam"),examCycleId));
+            }
 
             criteriaQuery.where(predicates.toArray(new Predicate[0]));
 
-- 
GitLab