From 21783faa1a90ce90de2cc239658708e03bdeef15 Mon Sep 17 00:00:00 2001 From: "chris.ditcher" Date: Tue, 8 Oct 2024 10:58:22 -0700 Subject: [PATCH] Revert "Merge pull request #543 from bcgov/develop/alex-GRAD2-2905" This reverts commit d81b2a94e25b57fd84e284a22dfacc2658fcab9f, reversing changes made to e6f0ea7b5718c52b3807cf4d0a4746630255de1f. --- .../controller/GraduationController.java | 15 +++---------- .../model/report/TranscriptResult.java | 18 +-------------- .../api/graduation/service/ReportService.java | 22 +++++-------------- .../util/EducGraduationApiConstants.java | 1 - .../util/EducGraduationApiUtils.java | 9 -------- .../controller/GraduationControllerTest.java | 8 ------- 6 files changed, 10 insertions(+), 63 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java index 7f74816b..e9554081 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/controller/GraduationController.java @@ -74,16 +74,18 @@ public ResponseEntity graduateStudentNew(@PathVariable String @Operation(summary = "Get Report data from graduation by student pen", description = "Get Report data from graduation by student pen", tags = { "Graduation Data" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity reportDataByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String type) { + LOGGER.debug("Report Data By Student Pen: {}", pen); return response.GET(gradService.prepareReportData(pen, type)); } @GetMapping(EducGraduationApiConstants.GRADUATE_TRANSCRIPT_REPORT) @PreAuthorize(PermissionsContants.GRADUATE_TRANSCRIPT) - @Operation(summary = "Get Transcript encoded binary from graduation by student pen", description = "Get Transcript encoded binary from graduation by student pen", tags = { "Graduation Data" }) + @Operation(summary = "Get Transcript binary from graduation by student pen", description = "Get Transcript binary from graduation by student pen", tags = { "Graduation Data" }) @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull String pen, @RequestParam(required = false) String interim, @RequestParam(required = false) String preview) { + LOGGER.debug("Report Data By Student Pen: {}", pen); byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview); if(resultBinary == null || resultBinary.length == 0) { return new ResponseEntity<>(HttpStatus.NOT_FOUND); @@ -92,17 +94,6 @@ public ResponseEntity reportTranscriptByPen(@PathVariable @NotNull Strin return handleBinaryResponse(encoded, String.format("%sTranscript%sReport.pdfencoded", pen, interim), MediaType.TEXT_PLAIN); } - @GetMapping(EducGraduationApiConstants.GRADUATE_TRANSCRIPT_PDF_REPORT) - @PreAuthorize(PermissionsContants.GRADUATE_TRANSCRIPT) - @Operation(summary = "Get Transcript binary from graduation by student pen", description = "Get Transcript binary from graduation by student pen", tags = { "Graduation Data" }) - @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) - public ResponseEntity reportTranscriptPdfByPen(@PathVariable @NotNull String pen, - @RequestParam(required = false) String interim, - @RequestParam(required = false) String preview) { - byte[] resultBinary = gradService.prepareTranscriptReport(pen, interim, preview); - return handleBinaryResponse(resultBinary, String.format("%sTranscript%sReport.pdf", pen, interim), MediaType.APPLICATION_PDF); - } - @PostMapping(EducGraduationApiConstants.GRADUATE_REPORT_DATA) @PreAuthorize(PermissionsContants.GRADUATE_DATA) @Operation(summary = "Adapt graduation data for reporting", description = "Adapt graduation data for reporting", tags = { "Graduation Data" }) diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java index b5da80e6..4eb73b18 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/model/report/TranscriptResult.java @@ -1,12 +1,7 @@ package ca.bc.gov.educ.api.graduation.model.report; -import ca.bc.gov.educ.api.graduation.util.EducGraduationApiUtils; -import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.math.NumberUtils; -import java.util.Date; import java.util.Objects; public class TranscriptResult { @@ -67,19 +62,8 @@ public void setUsedForGrad(String value) { this.usedForGrad = value; } - @JsonIgnore public Double getCompletedPercentage() { - return this.mark != null ? this.mark.getCompletedCoursePercentage() : null; - } - - @JsonIgnore - public Double getInterimPercentage() { - return this.mark != null && NumberUtils.isDigits(this.mark.getInterimPercent()) ? NumberUtils.createDouble(this.mark.getInterimPercent()) : 0d; - } - - @JsonIgnore - public Date getSessionDate() { - return this.course != null && StringUtils.isNotBlank(this.course.getSessionDate()) ? EducGraduationApiUtils.parsingCourseTraxDate(this.course.getSessionDate()) : null; + return this.mark != null? this.mark.getCompletedCoursePercentage() : null; } @Override diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java index 670336c8..10e59806 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/service/ReportService.java @@ -295,7 +295,7 @@ private void createCourseListForTranscript(List studentCourseList } result.setUsedForGrad(sc.getCreditsUsedForGrad() != null ? sc.getCreditsUsedForGrad().toString() : ""); result.setEquivalency(sc.getSpecialCase() != null && sc.getSpecialCase().compareTo("C") == 0 ? "C" : equivOrChallenge); - addIntoTranscriptList(result, tList, xml); + addIntoTranscriptList(result, tList); } } } @@ -320,28 +320,18 @@ private boolean isValidCutOffCourse(List studentCourseList, Stude } @Generated - private void addIntoTranscriptList(TranscriptResult transcriptResult, List tList, boolean xml) { + private void addIntoTranscriptList(TranscriptResult transcriptResult, List tList) { List dups = tList.stream().filter(tr -> tr.getCourse().isDuplicate(transcriptResult.getCourse()) && !tr.getCourse().equals(transcriptResult.getCourse()) - ).sorted( - Comparator.comparing(TranscriptResult::getCompletedPercentage, Comparator.nullsLast(Double::compareTo)).reversed() - ).toList(); + ).sorted(Comparator.comparing(TranscriptResult::getCompletedPercentage, Comparator.nullsLast(Double::compareTo)).reversed()).toList(); // Handling duplicates if (!dups.isEmpty()) { - TranscriptResult duplicatedTranscriptResult = dups.get(0); + TranscriptResult tr = dups.get(0); // GRAD2-2394: only if a course taken previously was not used for grad(= requirementMet is blank), then the highest course will be taken - if (StringUtils.isBlank(duplicatedTranscriptResult.getRequirement()) && duplicatedTranscriptResult.getCompletedPercentage() < transcriptResult.getCompletedPercentage()) { + if (StringUtils.isBlank(tr.getRequirement()) && tr.getCompletedPercentage() < transcriptResult.getCompletedPercentage()) { // replace - tList.remove(duplicatedTranscriptResult); - tList.add(transcriptResult); - return; - } - if (xml && - (duplicatedTranscriptResult.getCompletedPercentage() < transcriptResult.getInterimPercentage()) && - transcriptResult.getInterimPercentage() > 49) { - // replace - tList.remove(duplicatedTranscriptResult); + tList.remove(tr); tList.add(transcriptResult); return; } diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiConstants.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiConstants.java index d627e42b..cd95174c 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiConstants.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiConstants.java @@ -22,7 +22,6 @@ public class EducGraduationApiConstants { public static final String GRADUATE_REPORT_DATA_BY_PEN = "/report/data/{pen}"; public static final String GRADUATE_REPORT_DATA = "/report/data"; public static final String GRADUATE_TRANSCRIPT_REPORT = "/report/transcript/{pen}"; - public static final String GRADUATE_TRANSCRIPT_PDF_REPORT = "/report/transcriptpdf/{pen}"; public static final String GRADUATE_CERTIFICATE_REPORT = "/report/certificate/{pen}"; public static final String GRADUATE_ACHIEVEMENT_REPORT = "/report/achievement/{pen}"; public static final String SCHOOL_REPORTS = "/report/school"; diff --git a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java index ec36ae68..f53baf8c 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java +++ b/api/src/main/java/ca/bc/gov/educ/api/graduation/util/EducGraduationApiUtils.java @@ -164,15 +164,6 @@ public static Date parsingTraxDate(String sessionDate) { return toLastDayOfMonth(EducGraduationApiUtils.parseDate(sDates, EducGraduationApiConstants.DEFAULT_DATE_FORMAT)); } - public static Date parsingCourseTraxDate(String sessionDate) { - int countMatches = StringUtils.countMatches(sessionDate, "/"); - if (countMatches == 0) { - StringBuilder sb = new StringBuilder(sessionDate); - sessionDate = sb.insert(4, '/').toString(); - } - return parsingTraxDate(sessionDate); - } - public static LocalDate parsingTraxDateLocalDate(String sessionDate) { return DateUtils.toLocalDate(parsingTraxDate(sessionDate)); } diff --git a/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java b/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java index a176a52f..bee21e08 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/graduation/controller/GraduationControllerTest.java @@ -98,14 +98,6 @@ void testReportTranscriptByPen() { Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null); } - @Test - void testReportTranscriptPdfByPen() { - byte[] bytesSAR = "Any String you want".getBytes(); - Mockito.when(graduationService.prepareTranscriptReport("12312312312","Interim", null)).thenReturn(bytesSAR); - graduationController.reportTranscriptPdfByPen("12312312312","Interim",null); - Mockito.verify(graduationService).prepareTranscriptReport("12312312312","Interim",null); - } - @Test void testReportTranscriptByPen_empty() { byte[] bytesSAR = new byte[0];