From 08a71ffb0ec21dea09df32758b2989a0ab0574d9 Mon Sep 17 00:00:00 2001 From: arybakov Date: Wed, 3 Apr 2024 13:20:44 -0600 Subject: [PATCH 01/13] GRAD2-2570 Regenerate Certificate Process Modifications --- .../report/model/dto/StudentSearchRequest.java | 18 +++++++++++++----- .../GradStudentCertificatesRepository.java | 4 +++- .../api/grad/report/service/CommonService.java | 11 ++++++++--- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/grad/report/model/dto/StudentSearchRequest.java b/api/src/main/java/ca/bc/gov/educ/api/grad/report/model/dto/StudentSearchRequest.java index dcad7ff7..6cade99c 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/grad/report/model/dto/StudentSearchRequest.java +++ b/api/src/main/java/ca/bc/gov/educ/api/grad/report/model/dto/StudentSearchRequest.java @@ -1,5 +1,6 @@ package ca.bc.gov.educ.api.grad.report.model.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -7,6 +8,7 @@ import org.springframework.stereotype.Component; import java.io.Serializable; +import java.time.LocalDate; import java.util.List; import java.util.UUID; @@ -16,12 +18,18 @@ @AllArgsConstructor @Builder public class StudentSearchRequest implements Serializable { - List schoolOfRecords; - List districts; - List schoolCategoryCodes; - List pens; - List programs; + private List schoolOfRecords; + private List districts; + private List schoolCategoryCodes; + private List pens; + private List programs; private List studentIDs; + @JsonFormat(pattern = "yyyy-MM-dd") + LocalDate gradDateFrom; + @JsonFormat(pattern = "yyyy-MM-dd") + LocalDate gradDateTo; + Boolean validateInput; + } diff --git a/api/src/main/java/ca/bc/gov/educ/api/grad/report/repository/GradStudentCertificatesRepository.java b/api/src/main/java/ca/bc/gov/educ/api/grad/report/repository/GradStudentCertificatesRepository.java index 9a4edaeb..178a63a2 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/grad/report/repository/GradStudentCertificatesRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/api/grad/report/repository/GradStudentCertificatesRepository.java @@ -31,7 +31,9 @@ public interface GradStudentCertificatesRepository extends JpaRepository findByDocumentStatusCode(@Param("documentStatusCode") String documentStatusCode); - @Query("select new ca.bc.gov.educ.api.grad.report.model.dto.StudentCredentialDistribution(c.id,c.gradCertificateTypeCode,c.studentID,cert.paperType,c.documentStatusCode,c.distributionDate) from GradStudentCertificatesEntity c inner join GradCertificateTypesEntity cert on cert.code = c.gradCertificateTypeCode where c.studentID in (:subList) and c.documentStatusCode='COMPL'") + @Query("select new ca.bc.gov.educ.api.grad.report.model.dto.StudentCredentialDistribution(c.id,c.gradCertificateTypeCode,c.studentID,cert.paperType,c.documentStatusCode,c.distributionDate) from GradStudentCertificatesEntity c inner join GradCertificateTypesEntity cert on cert.code = c.gradCertificateTypeCode where c.studentID in (:subList)") List findRecordsForUserRequest(List subList); + @Query("select new ca.bc.gov.educ.api.grad.report.model.dto.StudentCredentialDistribution(c.id,c.gradCertificateTypeCode,c.studentID,cert.paperType,c.documentStatusCode,c.distributionDate) from GradStudentCertificatesEntity c inner join GradCertificateTypesEntity cert on cert.code = c.gradCertificateTypeCode where c.studentID in (:subList) and c.distributionDate is null") + List findRecordsForUserRequestAndNullDistributionDate(List subList); } diff --git a/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java b/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java index 948c12a6..7782220f 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java @@ -516,7 +516,7 @@ public List getStudentCredentialsForUserRequestDi partitions.add(studentIDs.subList(i, Math.min(i + partitionSize, studentIDs.size()))); } if (credentialType.equalsIgnoreCase("OC") || credentialType.equalsIgnoreCase("RC")) { - processCertificate(partitions, scdList); + processCertificate(partitions, studentSearchRequest, scdList); } else if (credentialType.equalsIgnoreCase("OT") || credentialType.equalsIgnoreCase("RT")) { processTranscript(partitions, studentSearchRequest, scdList); } @@ -524,9 +524,14 @@ public List getStudentCredentialsForUserRequestDi return scdList; } - private void processCertificate(List> partitions, List scdList) { + private void processCertificate(List> partitions, StudentSearchRequest studentSearchRequest, List scdList) { for (List subList : partitions) { - List scdSubList = gradStudentCertificatesRepository.findRecordsForUserRequest(subList); + List scdSubList; + if(studentSearchRequest != null && studentSearchRequest.getPens() != null && !studentSearchRequest.getPens().isEmpty()) { + scdSubList = gradStudentCertificatesRepository.findRecordsForUserRequest(subList); + } else { + scdSubList = gradStudentCertificatesRepository.findRecordsForUserRequestAndNullDistributionDate(subList); + } if (!scdSubList.isEmpty()) { scdList.addAll(scdSubList); } From e6bde5ea78231adf930a4fa1ee673c1c8d2c0fe2 Mon Sep 17 00:00:00 2001 From: arybakov Date: Mon, 29 Apr 2024 13:29:31 -0600 Subject: [PATCH 02/13] GRAD2-2579 (GRAD) Fix User Request Distribution Run options - Part 1 - Date Range --- .../GradStudentCertificatesRepository.java | 6 ++++++ .../api/grad/report/service/CommonService.java | 15 +++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/grad/report/repository/GradStudentCertificatesRepository.java b/api/src/main/java/ca/bc/gov/educ/api/grad/report/repository/GradStudentCertificatesRepository.java index 19cb0da8..b8d96fc1 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/grad/report/repository/GradStudentCertificatesRepository.java +++ b/api/src/main/java/ca/bc/gov/educ/api/grad/report/repository/GradStudentCertificatesRepository.java @@ -39,4 +39,10 @@ public interface GradStudentCertificatesRepository extends JpaRepository findRecordsWithNullDistributionDateForUserRequest(List subList); + @Query("select new ca.bc.gov.educ.api.grad.report.model.dto.StudentCredentialDistribution(c.id,c.gradCertificateTypeCode,c.studentID,cert.paperType,c.documentStatusCode,c.distributionDate) from GradStudentCertificatesEntity c inner join GradCertificateTypesEntity cert on cert.code = c.gradCertificateTypeCode where c.studentID in (:subList) and c.distributionDate is null") + List findRecordsWithNullDistributionDateForUserRequestByStudentIdOnly(List subList); + + @Query("select new ca.bc.gov.educ.api.grad.report.model.dto.StudentCredentialDistribution(c.id,c.gradCertificateTypeCode,c.studentID,cert.paperType,c.documentStatusCode,c.distributionDate) from GradStudentCertificatesEntity c inner join GradCertificateTypesEntity cert on cert.code = c.gradCertificateTypeCode where c.studentID in (:subList)") + List findRecordsForUserRequestByStudentIdOnly(List subList); + } diff --git a/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java b/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java index 270c9f3a..a356fe6f 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java @@ -528,9 +528,16 @@ public List getStudentCredentialsForUserRequestDi private void processCertificate(List> partitions, StudentSearchRequest studentSearchRequest, List scdList, boolean onlyWithNullDistributionDate) { for (List subList : partitions) { - List scdSubList = onlyWithNullDistributionDate? - gradStudentCertificatesRepository.findRecordsWithNullDistributionDateForUserRequest(subList) : - gradStudentCertificatesRepository.findRecordsForUserRequest(subList); + List scdSubList; + if (studentSearchRequest != null && studentSearchRequest.getPens() != null && !studentSearchRequest.getPens().isEmpty()) { + scdSubList = onlyWithNullDistributionDate? + gradStudentCertificatesRepository.findRecordsWithNullDistributionDateForUserRequestByStudentIdOnly(subList) : + gradStudentCertificatesRepository.findRecordsForUserRequestByStudentIdOnly(subList); + } else { + scdSubList = onlyWithNullDistributionDate? + gradStudentTranscriptsRepository.findRecordsWithNullDistributionDateForUserRequest(subList) + : gradStudentTranscriptsRepository.findRecordsForUserRequest(subList); + } if (!scdSubList.isEmpty()) { scdList.addAll(scdSubList); } @@ -540,7 +547,7 @@ private void processCertificate(List> partitions, StudentSearchReques private void processTranscript(List> partitions, StudentSearchRequest studentSearchRequest, List scdList, boolean onlyWithNullDistributionDate) { for (List subList : partitions) { List scdSubList; - if (!studentSearchRequest.getPens().isEmpty()) { + if (studentSearchRequest != null && studentSearchRequest.getPens() != null && !studentSearchRequest.getPens().isEmpty()) { scdSubList = onlyWithNullDistributionDate? gradStudentTranscriptsRepository.findRecordsWithNullDistributionDateForUserRequestByStudentIdOnly(subList) : gradStudentTranscriptsRepository.findRecordsForUserRequestByStudentIdOnly(subList); From 7283bf0e76e83047c6d83bc48d0301cc740015e5 Mon Sep 17 00:00:00 2001 From: arybakov Date: Mon, 29 Apr 2024 13:34:02 -0600 Subject: [PATCH 03/13] GRAD2-2579 (GRAD) Fix User Request Distribution Run options - Part 1 - Date Range --- .../educ/api/grad/report/model/dto/StudentSearchRequest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/grad/report/model/dto/StudentSearchRequest.java b/api/src/main/java/ca/bc/gov/educ/api/grad/report/model/dto/StudentSearchRequest.java index 6cade99c..5c87f3aa 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/grad/report/model/dto/StudentSearchRequest.java +++ b/api/src/main/java/ca/bc/gov/educ/api/grad/report/model/dto/StudentSearchRequest.java @@ -1,5 +1,6 @@ package ca.bc.gov.educ.api.grad.report.model.dto; +import ca.bc.gov.educ.api.grad.report.util.EducGradReportApiConstants; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Builder; @@ -25,9 +26,9 @@ public class StudentSearchRequest implements Serializable { private List programs; private List studentIDs; - @JsonFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern= EducGradReportApiConstants.DEFAULT_DATE_FORMAT) LocalDate gradDateFrom; - @JsonFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern= EducGradReportApiConstants.DEFAULT_DATE_FORMAT) LocalDate gradDateTo; Boolean validateInput; From 8228e3754b765511a3183f1f54aa29a6fcd6539b Mon Sep 17 00:00:00 2001 From: arybakov Date: Wed, 1 May 2024 09:23:23 -0600 Subject: [PATCH 04/13] GRAD2-2579 Fix testing errors --- .../api/grad/report/service/CommonServiceTest.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/api/src/test/java/ca/bc/gov/educ/api/grad/report/service/CommonServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/grad/report/service/CommonServiceTest.java index 467aedd1..80e6f806 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/grad/report/service/CommonServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/grad/report/service/CommonServiceTest.java @@ -902,7 +902,11 @@ public void testGetStudentCredentialsForUserRequestDisRun_OC() { when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); when(this.responseMock.bodyToMono(GraduationStudentRecordSearchResult.class)).thenReturn(Mono.just(res)); - Mockito.when(gradStudentCertificatesRepository.findRecordsForUserRequest(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentCertificatesRepository.findRecordsWithNullDistributionDateForUserRequest(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentCertificatesRepository.findRecordsForUserRequestByStudentIdOnly(studentList)).thenReturn(scdSubList); + + Mockito.when(gradStudentTranscriptsRepository.findRecordsWithNullDistributionDateForUserRequest(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentTranscriptsRepository.findRecordsForUserRequest(studentList)).thenReturn(scdSubList); List result = commonService.getStudentCredentialsForUserRequestDisRun(credentialType,new StudentSearchRequest(),false,null); assertThat(result).isNotEmpty(); @@ -937,6 +941,10 @@ public void testGetStudentCredentialsForUserRequestDisRun_OC_with_Null_Distribut when(this.responseMock.bodyToMono(GraduationStudentRecordSearchResult.class)).thenReturn(Mono.just(res)); Mockito.when(gradStudentCertificatesRepository.findRecordsWithNullDistributionDateForUserRequest(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentCertificatesRepository.findRecordsForUserRequestByStudentIdOnly(studentList)).thenReturn(scdSubList); + + Mockito.when(gradStudentTranscriptsRepository.findRecordsWithNullDistributionDateForUserRequest(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentTranscriptsRepository.findRecordsForUserRequest(studentList)).thenReturn(scdSubList); List result = commonService.getStudentCredentialsForUserRequestDisRun(credentialType,new StudentSearchRequest(),true,null); assertThat(result).isNotEmpty(); From 395ffc35f5bf6e9d27957ba59648c3c4ceabf6c2 Mon Sep 17 00:00:00 2001 From: arybakov Date: Wed, 1 May 2024 09:42:08 -0600 Subject: [PATCH 05/13] GRAD2-2579 Fix testing errors --- .../report/service/CommonServiceTest.java | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/api/src/test/java/ca/bc/gov/educ/api/grad/report/service/CommonServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/grad/report/service/CommonServiceTest.java index 80e6f806..11e1eeb6 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/grad/report/service/CommonServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/grad/report/service/CommonServiceTest.java @@ -903,9 +903,13 @@ public void testGetStudentCredentialsForUserRequestDisRun_OC() { when(this.responseMock.bodyToMono(GraduationStudentRecordSearchResult.class)).thenReturn(Mono.just(res)); Mockito.when(gradStudentCertificatesRepository.findRecordsWithNullDistributionDateForUserRequest(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentCertificatesRepository.findRecordsWithNullDistributionDateForUserRequestByStudentIdOnly(studentList)).thenReturn(scdSubList); Mockito.when(gradStudentCertificatesRepository.findRecordsForUserRequestByStudentIdOnly(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentCertificatesRepository.findRecordsForUserRequest(studentList)).thenReturn(scdSubList); Mockito.when(gradStudentTranscriptsRepository.findRecordsWithNullDistributionDateForUserRequest(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentTranscriptsRepository.findRecordsWithNullDistributionDateForUserRequestByStudentIdOnly(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentTranscriptsRepository.findRecordsForUserRequestByStudentIdOnly(studentList)).thenReturn(scdSubList); Mockito.when(gradStudentTranscriptsRepository.findRecordsForUserRequest(studentList)).thenReturn(scdSubList); List result = commonService.getStudentCredentialsForUserRequestDisRun(credentialType,new StudentSearchRequest(),false,null); @@ -913,6 +917,54 @@ public void testGetStudentCredentialsForUserRequestDisRun_OC() { } + @Test + public void testGetStudentCredentialsForUserRequestDisRun_OC_SearchRequest() { + + GraduationStudentRecordSearchResult res = new GraduationStudentRecordSearchResult(); + + List studList= new ArrayList<>(); + GraduationStudentRecord rec = new GraduationStudentRecord(); + rec.setLegalFirstName("asda"); + rec.setStudentID(new UUID(1,1)); + studList.add(rec.getStudentID()); + res.setStudentIDs(studList); + + List scdSubList = new ArrayList<>(); + StudentCredentialDistribution scdSub = new StudentCredentialDistribution(new UUID(4,4),"E",new UUID(5,5),"YED4","COMPL", new Date()); + scdSubList.add(scdSub); + + List studentList = new ArrayList<>(); + studentList.add(new UUID(1,1)); + + when(this.webClient.post()).thenReturn(this.requestBodyUriMock); + when(this.requestBodyUriMock.uri(constants.getGradStudentApiStudentForSpcGradListUrl())).thenReturn(this.requestBodyUriMock); + when(this.requestBodyUriMock.headers(any(Consumer.class))).thenReturn(this.requestBodyMock); + when(this.requestBodyMock.body(any(BodyInserter.class))).thenReturn(this.requestHeadersMock); + when(this.requestHeadersMock.retrieve()).thenReturn(this.responseMock); + when(this.responseMock.bodyToMono(GraduationStudentRecordSearchResult.class)).thenReturn(Mono.just(res)); + + StudentSearchRequest searchRequest = new StudentSearchRequest(); + searchRequest.setPens(new ArrayList<>()); + searchRequest.getPens().add("12345678"); + + Mockito.when(gradStudentCertificatesRepository.findRecordsWithNullDistributionDateForUserRequest(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentCertificatesRepository.findRecordsWithNullDistributionDateForUserRequestByStudentIdOnly(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentCertificatesRepository.findRecordsForUserRequestByStudentIdOnly(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentCertificatesRepository.findRecordsForUserRequest(studentList)).thenReturn(scdSubList); + + Mockito.when(gradStudentTranscriptsRepository.findRecordsWithNullDistributionDateForUserRequest(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentTranscriptsRepository.findRecordsWithNullDistributionDateForUserRequestByStudentIdOnly(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentTranscriptsRepository.findRecordsForUserRequestByStudentIdOnly(studentList)).thenReturn(scdSubList); + Mockito.when(gradStudentTranscriptsRepository.findRecordsForUserRequest(studentList)).thenReturn(scdSubList); + + List result = commonService.getStudentCredentialsForUserRequestDisRun("OC",searchRequest,true,"accessToken"); + assertThat(result).isNotEmpty(); + + result = commonService.getStudentCredentialsForUserRequestDisRun("OT",searchRequest,false,"accessToken"); + assertThat(result).isNotEmpty(); + + } + @Test public void testGetStudentCredentialsForUserRequestDisRun_OC_with_Null_DistributionDate() { From 6c92a43cb9a8c5a9814d5ab71a5f1d6398106968 Mon Sep 17 00:00:00 2001 From: arybakov Date: Wed, 1 May 2024 13:36:00 -0600 Subject: [PATCH 06/13] GRAD2-2580 (GRAD) Fix User Request Distribution Run options - Part 2 - CUR and Null Distribution Dates --- .../gov/educ/api/grad/report/model/dto/StudentSearchRequest.java | 1 + .../ca/bc/gov/educ/api/grad/report/service/CommonService.java | 1 + 2 files changed, 2 insertions(+) diff --git a/api/src/main/java/ca/bc/gov/educ/api/grad/report/model/dto/StudentSearchRequest.java b/api/src/main/java/ca/bc/gov/educ/api/grad/report/model/dto/StudentSearchRequest.java index 5c87f3aa..2ba36785 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/grad/report/model/dto/StudentSearchRequest.java +++ b/api/src/main/java/ca/bc/gov/educ/api/grad/report/model/dto/StudentSearchRequest.java @@ -32,5 +32,6 @@ public class StudentSearchRequest implements Serializable { LocalDate gradDateTo; Boolean validateInput; + String activityCode; } diff --git a/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java b/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java index a356fe6f..3b2b2fb3 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java @@ -507,6 +507,7 @@ public boolean updateStudentCredentialPosting(UUID studentID, String credentialT public List getStudentCredentialsForUserRequestDisRun(String credentialType, StudentSearchRequest studentSearchRequest, boolean onlyWithNullDistributionDate, String accessToken) { List scdList = new ArrayList<>(); + studentSearchRequest.setActivityCode("USERDIST"); List studentIDs = studentSearchRequest.getStudentIDs(); if(studentIDs == null || studentIDs.isEmpty()) { studentIDs = getStudentsForSpecialGradRun(studentSearchRequest, accessToken); From cb0caf38aa37944681507ef1ad3e4b92b6313930 Mon Sep 17 00:00:00 2001 From: arybakov Date: Wed, 1 May 2024 13:36:44 -0600 Subject: [PATCH 07/13] GRAD2-2580 (GRAD) Fix User Request Distribution Run options - Part 2 - CUR and Null Distribution Dates --- .../ca/bc/gov/educ/api/grad/report/service/CommonService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java b/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java index 3b2b2fb3..c744ba3c 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java @@ -507,7 +507,9 @@ public boolean updateStudentCredentialPosting(UUID studentID, String credentialT public List getStudentCredentialsForUserRequestDisRun(String credentialType, StudentSearchRequest studentSearchRequest, boolean onlyWithNullDistributionDate, String accessToken) { List scdList = new ArrayList<>(); - studentSearchRequest.setActivityCode("USERDIST"); + if(StringUtils.isBlank(studentSearchRequest.getActivityCode())) { + studentSearchRequest.setActivityCode("USERDIST"); + } List studentIDs = studentSearchRequest.getStudentIDs(); if(studentIDs == null || studentIDs.isEmpty()) { studentIDs = getStudentsForSpecialGradRun(studentSearchRequest, accessToken); From 37bb9f0f7493fc830ff2ca157654595fa41ab3c9 Mon Sep 17 00:00:00 2001 From: arybakov Date: Wed, 1 May 2024 13:38:08 -0600 Subject: [PATCH 08/13] GRAD2-2580 (GRAD) Fix User Request Distribution Run options - Part 2 - CUR and Null Distribution Dates --- .../bc/gov/educ/api/grad/report/service/CommonServiceTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/src/test/java/ca/bc/gov/educ/api/grad/report/service/CommonServiceTest.java b/api/src/test/java/ca/bc/gov/educ/api/grad/report/service/CommonServiceTest.java index 11e1eeb6..93f923fc 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/grad/report/service/CommonServiceTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/grad/report/service/CommonServiceTest.java @@ -960,6 +960,8 @@ public void testGetStudentCredentialsForUserRequestDisRun_OC_SearchRequest() { List result = commonService.getStudentCredentialsForUserRequestDisRun("OC",searchRequest,true,"accessToken"); assertThat(result).isNotEmpty(); + searchRequest.setActivityCode("USERDIST"); + result = commonService.getStudentCredentialsForUserRequestDisRun("OT",searchRequest,false,"accessToken"); assertThat(result).isNotEmpty(); From 917c185ecdc45d433c5a059d59adffe4ed6d4113 Mon Sep 17 00:00:00 2001 From: arybakov Date: Thu, 2 May 2024 12:12:43 -0600 Subject: [PATCH 09/13] GRAD2-2580 (GRAD) Fix User Request Distribution Run options - Part 2 - CUR and Null Distribution Dates --- .../ca/bc/gov/educ/api/grad/report/service/CommonService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java b/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java index c744ba3c..a687cd8a 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java @@ -538,8 +538,8 @@ private void processCertificate(List> partitions, StudentSearchReques gradStudentCertificatesRepository.findRecordsForUserRequestByStudentIdOnly(subList); } else { scdSubList = onlyWithNullDistributionDate? - gradStudentTranscriptsRepository.findRecordsWithNullDistributionDateForUserRequest(subList) - : gradStudentTranscriptsRepository.findRecordsForUserRequest(subList); + gradStudentCertificatesRepository.findRecordsWithNullDistributionDateForUserRequest(subList) + : gradStudentCertificatesRepository.findRecordsForUserRequest(subList); } if (!scdSubList.isEmpty()) { scdList.addAll(scdSubList); From 4e956c7a0b18338e71c6899957e3edc8fb3f661e Mon Sep 17 00:00:00 2001 From: arybakov Date: Mon, 13 May 2024 14:39:09 -0600 Subject: [PATCH 10/13] GRAD2-2580 (GRAD) Fix User Request Distribution Run options - Part 2 - CUR and Null Distribution Dates --- .../ca/bc/gov/educ/api/grad/report/service/CommonService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java b/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java index a687cd8a..0a1e4d2f 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/grad/report/service/CommonService.java @@ -508,7 +508,7 @@ public boolean updateStudentCredentialPosting(UUID studentID, String credentialT public List getStudentCredentialsForUserRequestDisRun(String credentialType, StudentSearchRequest studentSearchRequest, boolean onlyWithNullDistributionDate, String accessToken) { List scdList = new ArrayList<>(); if(StringUtils.isBlank(studentSearchRequest.getActivityCode())) { - studentSearchRequest.setActivityCode("USERDIST"); + studentSearchRequest.setActivityCode("USERDIST" + StringUtils.upperCase(credentialType)); } List studentIDs = studentSearchRequest.getStudentIDs(); if(studentIDs == null || studentIDs.isEmpty()) { From a6e0d6298df1cc9f8c209d406792bfa71eb865c3 Mon Sep 17 00:00:00 2001 From: arybakov Date: Tue, 14 May 2024 13:00:24 -0600 Subject: [PATCH 11/13] GRAD2-2580 (GRAD) Fix User Request Distribution Run options - Part 2 - CUR and Null Distribution Dates --- .../educ/api/grad/report/controller/CommonController.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/grad/report/controller/CommonController.java b/api/src/main/java/ca/bc/gov/educ/api/grad/report/controller/CommonController.java index 851a24ac..ed676e89 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/grad/report/controller/CommonController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/grad/report/controller/CommonController.java @@ -19,7 +19,6 @@ import org.springframework.web.bind.annotation.*; import java.util.List; -import java.util.Objects; import java.util.UUID; @CrossOrigin @@ -278,7 +277,10 @@ public ResponseEntity> getStudentCredentials @PathVariable String credentialType, @RequestBody StudentSearchRequest studentSearchRequest, @RequestHeader(name="Authorization") String accessToken) { logger.debug("getStudentCredentialsForUserRequestDisRun : "); - return response.GET(commonService.getStudentCredentialsForUserRequestDisRun(credentialType,studentSearchRequest,false,accessToken.replace(BEARER, ""))); + boolean isPenNumberSearch = studentSearchRequest.getPens() != null && !studentSearchRequest.getPens().isEmpty() + && !studentSearchRequest.getPens().stream().filter(StringUtils::isNotBlank).toList().isEmpty(); + boolean onlyWithNullDistributionDate = !isPenNumberSearch && studentSearchRequest.getGradDateFrom() == null && studentSearchRequest.getGradDateTo() == null; + return response.GET(commonService.getStudentCredentialsForUserRequestDisRun(credentialType,studentSearchRequest,onlyWithNullDistributionDate,accessToken.replace(BEARER, ""))); } @PostMapping(EducGradReportApiConstants.USER_REQUEST_DIS_RUN_WITH_NULL_DISTRIBUTION_DATE) From d9fe79b7ddc330755fb599d14847e9504191bd06 Mon Sep 17 00:00:00 2001 From: arybakov Date: Thu, 16 May 2024 11:10:57 -0600 Subject: [PATCH 12/13] GRAD2-2580 (GRAD) Fix User Request Distribution Run options - Part 2 - CUR and Null Distribution Dates --- .../gov/educ/api/grad/report/controller/CommonController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/grad/report/controller/CommonController.java b/api/src/main/java/ca/bc/gov/educ/api/grad/report/controller/CommonController.java index ed676e89..dd2f48c8 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/grad/report/controller/CommonController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/grad/report/controller/CommonController.java @@ -279,7 +279,7 @@ public ResponseEntity> getStudentCredentials logger.debug("getStudentCredentialsForUserRequestDisRun : "); boolean isPenNumberSearch = studentSearchRequest.getPens() != null && !studentSearchRequest.getPens().isEmpty() && !studentSearchRequest.getPens().stream().filter(StringUtils::isNotBlank).toList().isEmpty(); - boolean onlyWithNullDistributionDate = !isPenNumberSearch && studentSearchRequest.getGradDateFrom() == null && studentSearchRequest.getGradDateTo() == null; + boolean onlyWithNullDistributionDate = !isPenNumberSearch && studentSearchRequest.getGradDateFrom() == null && studentSearchRequest.getGradDateTo() == null && !StringUtils.equalsAnyIgnoreCase(credentialType, "OT", "RT"); return response.GET(commonService.getStudentCredentialsForUserRequestDisRun(credentialType,studentSearchRequest,onlyWithNullDistributionDate,accessToken.replace(BEARER, ""))); } From a6e158799aef5fde359d2125edc7a35734b4d43a Mon Sep 17 00:00:00 2001 From: githubmamatha <106563495+githubmamatha@users.noreply.github.com> Date: Thu, 23 May 2024 09:26:30 -0700 Subject: [PATCH 13/13] Update pom.xml --- api/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/pom.xml b/api/pom.xml index 5a9f2cd8..efacb6ab 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -6,7 +6,7 @@ ca.bc.gov.educ educ-grad-graduation-report-api - 1.8.46 + 1.8.47 educ-grad-graduation-report-api Grad Graduation Report API for GRAD team