Skip to content

Commit 6ced9be

Browse files
authored
GRAD2-2639: initial implementation is done. (#555)
* GRAD2-2639: initial implementation is done. GRAD2-2639: initial implementation is done. * More unit tests to meet the new code coverage. More unit tests to meet the new code coverage. * GRAD2-2639: Regenerate School Reports batch job is updated to use schoolId instead of mincode. GRAD2-2639: Regenerate School Reports batch job is updated to use schoolId instead of mincode. * Missing codes in listener are committed to use schoolId. Missing codes in listener are committed to use schoolId. * Unit tests as unexpected path are fixed to get more coverage. Unit tests as unexpected path are fixed to get more coverage. * Minor changes after code review. Minor changes after code review.
1 parent 89bc4ce commit 6ced9be

File tree

63 files changed

+658
-348
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+658
-348
lines changed

api/src/main/java/ca/bc/gov/educ/api/batchgraduation/config/BatchJobConfig.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public ArchiveStudentsReader archiveStudentsReader() {
8484

8585
@Bean
8686
@StepScope
87-
public ItemWriter<? super List<String>> archiveStudentsWriter() {
87+
public ItemWriter<? super List<UUID>> archiveStudentsWriter() {
8888
return new ArchiveStudentsWriter();
8989
}
9090

@@ -114,7 +114,7 @@ public DeleteStudentReportsReader deleteStudentReportsReader() {
114114

115115
@Bean
116116
@StepScope
117-
public ItemWriter<? super List<String>> archiveSchoolReportsWriter() {
117+
public ItemWriter<? super List<UUID>> archiveSchoolReportsWriter() {
118118
return new ArchiveSchoolReportsWriter();
119119
}
120120

@@ -148,7 +148,7 @@ public Step masterStepArchiveStudents(JobRepository jobRepository, PlatformTrans
148148
@Bean
149149
public Step archiveStudentsJobStep(JobRepository jobRepository, PlatformTransactionManager transactionManager, EducGradBatchGraduationApiConstants constant) {
150150
return new StepBuilder("archiveStudentsJobStep", jobRepository)
151-
.<List<String>, List<String>>chunk(1, transactionManager)
151+
.<List<UUID>, List<UUID>>chunk(1, transactionManager)
152152
.processor(archiveStudentsProcessor())
153153
.reader(archiveStudentsReader())
154154
.writer(archiveStudentsWriter())
@@ -178,7 +178,7 @@ public Step masterStepDeleteStudentReports(JobRepository jobRepository, Platform
178178
@Bean
179179
public Step archiveSchoolReportsJobStep(JobRepository jobRepository, PlatformTransactionManager transactionManager, EducGradBatchGraduationApiConstants constant) {
180180
return new StepBuilder("archiveSchoolReportsJobStep", jobRepository)
181-
.<List<String>, List<String>>chunk(1, transactionManager)
181+
.<List<UUID>, List<UUID>>chunk(1, transactionManager)
182182
.reader(archiveSchoolReportsReader())
183183
.processor(archiveSchoolReportsProcessor())
184184
.writer(archiveSchoolReportsWriter())
@@ -1074,7 +1074,7 @@ public RegenerateSchoolReportsWriter itemWriterSchoolReportsRegen() {
10741074
@Bean
10751075
public Step schoolReportsRegenJobStep(JobRepository jobRepository, PlatformTransactionManager transactionManager, SkipSQLTransactionExceptionsListener skipListener) {
10761076
return new StepBuilder("schoolReportsRegenJobStep", jobRepository)
1077-
.<String, String>chunk(1, transactionManager)
1077+
.<UUID, UUID>chunk(1, transactionManager)
10781078
.reader(itemReaderSchoolReportsRegen())
10791079
.processor(itemProcessorSchoolReportsRegen())
10801080
.writer(itemWriterSchoolReportsRegen())

api/src/main/java/ca/bc/gov/educ/api/batchgraduation/controller/JobLauncherController.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -252,14 +252,14 @@ public ResponseEntity<BatchJobResponse> launchRegGradSpecialJob(@RequestBody Stu
252252
}
253253

254254
private void validateInput(BatchJobResponse response, StudentSearchRequest studentSearchRequest) {
255-
if(studentSearchRequest.getStudentIDs().isEmpty() && studentSearchRequest.getPens().isEmpty() && studentSearchRequest.getDistricts().isEmpty() && studentSearchRequest.getSchoolCategoryCodes().isEmpty() && studentSearchRequest.getPrograms().isEmpty() && studentSearchRequest.getSchoolOfRecords().isEmpty()) {
255+
if(studentSearchRequest.getStudentIDs().isEmpty() && studentSearchRequest.getPens().isEmpty() && studentSearchRequest.getDistrictIds().isEmpty() && studentSearchRequest.getSchoolCategoryCodes().isEmpty() && studentSearchRequest.getPrograms().isEmpty() && studentSearchRequest.getSchoolIds().isEmpty()) {
256256
response.setException("Please provide at least 1 parameter");
257257
}
258258
response.setException(null);
259259
}
260260

261261
private DistributionSummaryDTO validateInputDisRun(StudentSearchRequest studentSearchRequest) {
262-
if(studentSearchRequest.getPens().isEmpty() && studentSearchRequest.getDistricts().isEmpty() && studentSearchRequest.getSchoolCategoryCodes().isEmpty() && studentSearchRequest.getPrograms().isEmpty() && studentSearchRequest.getSchoolOfRecords().isEmpty()) {
262+
if(studentSearchRequest.getPens().isEmpty() && studentSearchRequest.getDistrictIds().isEmpty() && studentSearchRequest.getSchoolCategoryCodes().isEmpty() && studentSearchRequest.getPrograms().isEmpty() && studentSearchRequest.getSchoolIds().isEmpty()) {
263263
DistributionSummaryDTO summaryDTO = new DistributionSummaryDTO();
264264
summaryDTO.setException("Please provide at least 1 parameter");
265265
return summaryDTO;
@@ -305,7 +305,7 @@ private void validateInputArchiveStudents(StudentSearchRequest studentSearchRequ
305305
}
306306

307307
private BlankDistributionSummaryDTO validateInputBlankDisRun(BlankCredentialRequest blankCredentialRequest) {
308-
if(blankCredentialRequest.getSchoolOfRecords().isEmpty() || blankCredentialRequest.getCredentialTypeCode().isEmpty()) {
308+
if(blankCredentialRequest.getSchoolIds().isEmpty() || blankCredentialRequest.getCredentialTypeCode().isEmpty()) {
309309
BlankDistributionSummaryDTO summaryDTO = new BlankDistributionSummaryDTO();
310310
summaryDTO.setException("Please provide both parameters");
311311
return summaryDTO;
@@ -466,7 +466,7 @@ public ResponseEntity<Boolean> launchRegenerateSchoolReports(@PathVariable Long
466466
if (entity != null) {
467467
try {
468468
logger.info(" Re-Generating School Reports for {} --------------------------------------------------------", entity.getJobType());
469-
List<String> uniqueSchoolList = gradBatchHistoryService.getSchoolListForReport(batchId);
469+
List<UUID> uniqueSchoolList = gradBatchHistoryService.getSchoolListForReport(batchId);
470470
logger.info(" Number of Schools [{}] ---------------------------------------------------------", uniqueSchoolList.size());
471471
restUtils.createAndStoreSchoolReports(uniqueSchoolList, entity.getJobType());
472472
return ResponseEntity.ok(Boolean.TRUE);

api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/BatchGradAlgorithmStudentEntity.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ public class BatchGradAlgorithmStudentEntity extends BaseEntity {
3434
@Column(name = "SCHOOL_OF_RECORD", nullable = true)
3535
private String schoolOfRecord;
3636

37+
@Column(name = "SCHOOL_OF_RECORD_ID", nullable = true)
38+
private UUID schoolOfRecordId;
39+
3740
@Column(name = "STATUS", nullable = true)
3841
private String status;
3942

api/src/main/java/ca/bc/gov/educ/api/batchgraduation/entity/StudentCredentialDistributionEntity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ public class StudentCredentialDistributionEntity extends BaseEntity {
3131
@Column(name = "GRADUATION_STUDENT_RECORD_ID", nullable = false)
3232
private UUID studentID;
3333

34-
@Column(name = "SCHOOL_OF_RECORD", nullable = true)
35-
private String schoolOfRecord;
34+
@Column(name = "SCHOOL_OF_RECORD_ID", nullable = true)
35+
private String schoolId;
3636

3737
@Lob
3838
@Column(name = "PAYLOAD")

api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/ArchiveSchoolReportsCompletionNotificationListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public void afterJob(JobExecution jobExecution) {
5050
// save batch job & error history
5151
processBatchJobHistory(summaryDTO, jobExecutionId, status, jobTrigger, jobType, startTime, endTime, jobParametersDTO);
5252
LOGGER.info(" --------------------------------------------------------------------------------------");
53-
summaryDTO.getSchools().forEach((value) -> LOGGER.info("School {} number of archived School Reports : {}", value.getMincode(), value.getNumberOfSchoolReports()));
53+
summaryDTO.getSchools().forEach((value) -> LOGGER.info("School {} number of archived School Reports : {}", value.getSchoolId(), value.getNumberOfSchoolReports()));
5454

5555
}
5656
}

api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/ArchiveStudentsCompletionNotificationListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public void afterJob(JobExecution jobExecution) {
5454
// save batch job & error history
5555
processBatchJobHistory(summaryDTO, jobExecutionId, status, jobTrigger, jobType, startTime, endTime, jobParametersDTO);
5656
LOGGER.info(" --------------------------------------------------------------------------------------");
57-
summaryDTO.getSchools().forEach((value) -> LOGGER.info("School {} number of archived Students : {}", value.getMincode(), value.getNumberOfStudents()));
57+
summaryDTO.getSchools().forEach((value) -> LOGGER.info("School {} number of archived Students : {}", value.getSchoolId(), value.getNumberOfStudents()));
5858
}
5959
}
6060
}

api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/BaseRunCompletionNotificationListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ private void updateBackStudentFlagForErroredStudents(Map<UUID, ProcessError> err
119119

120120
private void processSchoolList(Long batchId, String jobType) {
121121
LOGGER.info(" Creating Reports for {}", jobType);
122-
List<String> uniqueSchoolList = gradBatchHistoryService.getSchoolListForReport(batchId);
122+
List<UUID> uniqueSchoolList = gradBatchHistoryService.getSchoolListForReport(batchId);
123123
LOGGER.info(" Number of Schools [{}]", uniqueSchoolList.size());
124124
restUtils.createAndStoreSchoolReports(uniqueSchoolList,jobType);
125125
}

api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/DeleteStudentReportsCompletionNotificationListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public void afterJob(JobExecution jobExecution) {
5252
StudentSearchRequest searchRequest = summaryDTO.getStudentSearchRequest();
5353
String userName = extractUserName(summaryDTO, jobParameters, searchRequest);
5454

55-
summaryDTO.getSchools().forEach((value) -> LOGGER.info("School {} number of Deleted Student Reports : {}", value.getMincode(), value.getNumberOfStudents()));
55+
summaryDTO.getSchools().forEach((value) -> LOGGER.info("School {} number of Deleted Student Reports : {}", value.getSchoolId(), value.getNumberOfStudents()));
5656
if(summaryDTO.getProcessedCount() > 0) {
5757
List<UUID> finalStudentGuids = searchRequest.getStudentIDs();
5858
int partitionSize = finalStudentGuids.size()/200;

api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/RegenSchoolReportsCompletionNotificationListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void afterJob(JobExecution jobExecution) {
3737
log.info(" --------------------------------------------------------------------------------------");
3838
log.info("Errors:{}", summaryDTO.getErrors().size());
3939
log.info(" --------------------------------------------------------------------------------------");
40-
summaryDTO.getSchools().forEach(value -> log.debug("School Report regenerated for {}", value.getMincode()));
40+
summaryDTO.getSchools().forEach(value -> log.debug("School Report regenerated for {}", value.getSchoolId()));
4141
// save batch job & error history
4242
saveBatchJobHistory(summaryDTO, jobExecutionId, status, endTime);
4343

api/src/main/java/ca/bc/gov/educ/api/batchgraduation/listener/UserReqDistributionRunCompletionNotificationListener.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ private void addTranscriptsToDistributionRequest(List<StudentCredentialDistribut
167167
for(StudentCredentialDistribution trScd: transcriptDistributionList) {
168168
if(certScd.getStudentID().equals(trScd.getStudentID())) {
169169
trScd.setSchoolOfRecord(certScd.getSchoolOfRecord());
170+
trScd.setSchoolId(certScd.getSchoolId());
170171
trScd.setPen(certScd.getPen());
171172
trScd.setLegalFirstName(certScd.getLegalFirstName());
172173
trScd.setLegalMiddleNames(certScd.getLegalMiddleNames());

0 commit comments

Comments
 (0)