From 773bc96d5c6c60ee8351d7f7b715e9bf1598f428 Mon Sep 17 00:00:00 2001 From: arybakov Date: Fri, 19 Apr 2024 17:22:43 -0600 Subject: [PATCH] GRAD2-2377 HD-22859 (GRAD) YE Distribution run should direct Certificates to School at Graduation, not School of Record --- .../batchgraduation/config/BatchJobConfig.java | 8 +++++++- .../processor/DistributionRunProcessor.java | 2 +- .../DistributionRunYearlyProcessor.java | 2 +- .../api/batchgraduation/rest/RestUtils.java | 17 +++++++++++++---- .../api/batchgraduation/util/RestUtilsTest.java | 6 +++--- 5 files changed, 25 insertions(+), 10 deletions(-) diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/config/BatchJobConfig.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/config/BatchJobConfig.java index ac7ba394..ac0d0d78 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/config/BatchJobConfig.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/config/BatchJobConfig.java @@ -519,6 +519,12 @@ public DistributionRunProcessor itemProcessorDisRun() { return new DistributionRunProcessor(); } + @Bean + @StepScope + public DistributionRunYearlyProcessor itemProcessorYearlyDisRun() { + return new DistributionRunYearlyProcessor(); + } + @Bean @StepScope public DistributionRunYearlyNonGradProcessor itemProcessorDisRunYearlyNonGradByMincode() { @@ -571,7 +577,7 @@ public Step slaveStepDisRunYearly(JobRepository jobRepository, PlatformTransacti return new StepBuilder("slaveStepDisRun", jobRepository) .chunk(1, transactionManager) .reader(itemReaderDisRun()) - .processor(itemProcessorDisRun()) + .processor(itemProcessorYearlyDisRun()) .writer(itemWriterDisRun()) .build(); } diff --git a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/processor/DistributionRunProcessor.java b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/processor/DistributionRunProcessor.java index e2efbc65..33b84cf1 100644 --- a/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/processor/DistributionRunProcessor.java +++ b/api/src/main/java/ca/bc/gov/educ/api/batchgraduation/processor/DistributionRunProcessor.java @@ -27,7 +27,7 @@ public class DistributionRunProcessor implements ItemProcessor getStudentData(List studentIds) { .retrieve().bodyToMono(responseType).block(); } - public StudentCredentialDistribution processDistribution(StudentCredentialDistribution item, DistributionSummaryDTO summary) { + public StudentCredentialDistribution processDistribution(StudentCredentialDistribution item, DistributionSummaryDTO summary, boolean useSchoolAtGrad) { LOGGER.info(STUDENT_PROCESS,item.getStudentID()); summary.setProcessedCount(summary.getProcessedCount() + 1L); StudentCredentialDistribution scObj = summary.getGlobalList().stream().filter(pr -> pr.getStudentID().compareTo(item.getStudentID()) == 0) .findAny() .orElse(null); if(scObj != null) { - item.setSchoolOfRecord(scObj.getSchoolOfRecord()); + if(useSchoolAtGrad) { + item.setSchoolOfRecord(StringUtils.isBlank(scObj.getSchoolAtGrad()) ? scObj.getSchoolOfRecord() : scObj.getSchoolAtGrad()); + } else { + item.setSchoolOfRecord(scObj.getSchoolOfRecord()); + } item.setPen(scObj.getPen()); item.setLegalLastName(scObj.getLegalLastName()); item.setLegalFirstName(scObj.getLegalFirstName()); item.setLegalMiddleNames(scObj.getLegalMiddleNames()); } else { - GraduationStudentRecordDistribution stuRec =this.getStudentData(item.getStudentID().toString()); + GraduationStudentRecordDistribution stuRec = getStudentData(item.getStudentID().toString()); if (stuRec != null) { item.setProgram(stuRec.getProgram()); item.setHonoursStanding(stuRec.getHonoursStanding()); - item.setSchoolOfRecord(stuRec.getSchoolOfRecord()); + if(useSchoolAtGrad) { + item.setSchoolOfRecord(StringUtils.isBlank(stuRec.getSchoolAtGrad()) ? stuRec.getSchoolOfRecord() : stuRec.getSchoolAtGrad()); + } else { + item.setSchoolOfRecord(stuRec.getSchoolOfRecord()); + } item.setProgramCompletionDate(stuRec.getProgramCompletionDate()); item.setStudentID(stuRec.getStudentID()); item.setPen(stuRec.getPen()); diff --git a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/util/RestUtilsTest.java b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/util/RestUtilsTest.java index 75e86cd2..393aa392 100644 --- a/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/util/RestUtilsTest.java +++ b/api/src/test/java/ca/bc/gov/educ/api/batchgraduation/util/RestUtilsTest.java @@ -444,7 +444,7 @@ public void testProcessDistribution() { summary.setBatchId(batchId); summary.setGlobalList(globalList); - StudentCredentialDistribution res = this.restUtils.processDistribution(scd,summary); + StudentCredentialDistribution res = this.restUtils.processDistribution(scd,summary, false); assertNotNull(res); } @@ -491,7 +491,7 @@ public void testProcessDistribution_elsecase() { summary.setBatchId(batchId); summary.setGlobalList(globalList); - StudentCredentialDistribution res = this.restUtils.processDistribution(scd2,summary); + StudentCredentialDistribution res = this.restUtils.processDistribution(scd2,summary, false); assertNotNull(res); } @@ -538,7 +538,7 @@ public void testProcessDistribution_elsecase_null() { summary.setBatchId(batchId); summary.setGlobalList(globalList); - StudentCredentialDistribution res = this.restUtils.processDistribution(scd2,summary); + StudentCredentialDistribution res = this.restUtils.processDistribution(scd2,summary, false); assertNotNull(res); }