-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
e-Cert Implementation for Individual Student Processing #2510
Comments
andrewsignori-aot
added a commit
that referenced
this issue
Nov 17, 2023
…rations and Entity Models Added (#2513) Added the DB migrations needed for the e-Cert process changes. - New `Ready to send` status type for the enum `DisbursementScheduleStatus`. - New column `ready_to_send_date` in table `sims.disbursement_schedules`.
andrewsignori-aot
added a commit
that referenced
this issue
Nov 28, 2023
andrewsignori-aot
added a commit
that referenced
this issue
Dec 1, 2023
…2531) ### Overview - Created the first E2E test for part-time e-Cert generation with basic validations **and not validating** the file generated since it would require better control of the saved data. - Updated the E2E test for full-time using the most recently introduced factories **and not validating** the file generated since it would require better control of the saved data. - Full-time/part-time schedulers were updated to use the most recent logging process. - e-Cert is now segregated in the calculation process and e-Cert file generation process. ### New e-Cert calculations process based on steps - The calculations are now segregated into isolated steps that can be shared or custom for full-time/part-time. - Validations were removed from the SQL query to in-memory to allow better logging. - The SQL query used by `prepareDisbursementsForECertGeneration` is now segregated into two different queries for calculations and e-Cert generation. - The new queries are now using Typeorm object query syntax. - The logs were extended to allow capturing information at every step of the calculation process. **The logs for the e-Cert generation were not updated.** - The calculation steps related files in this PR have references to the previous codes where they belonged before. The code was moved and simplified. - All students with eligible disbursements are processed in parallel and disbursements for the same student are executed sequentially. - Every student disbursement is individually part of a single DB transaction that will be also individually committed.
andrewsignori-aot
added a commit
that referenced
this issue
Dec 8, 2023
… Tests (#2566) ### Local Load Test - Executed tests with 15,000 eligible disbursements and executed refactors to improve performance and fix issues. - Some `save` operations were converted to `update`, for performance improvement. - During e-Cert generation, the records were updated to `Sent` at one single operation which for a large amount of records was leading to an idle transaction error because the SQL command was taking too long to be executed. ### New E2Es added for part-time/full-time. #### Full-time _Should disburse BC funding for a close-to-maximum disbursement, reduce BC funding when passing the maximum, and withhold BC Funding when a restriction was applied due to the maximum configured value for the year being reached._ This E2E was useful to validate a restriction being added to a disbursement and affecting the upcoming disbursement for the same student. #### Part-time _Should create an e-Cert with three disbursements for two different students with two disbursements each where three records are eligible._ #### New E2E helpers - Created a full-time/part-time parser to alow verification of individual fields in an e-Cert. - Created a helper to mock the Bull Job and also allow access to check the generated logs. ### Minor refactor as pointed out by @guru-aot, there was a type on `DisbursementScheduleStatus.ReadyToSend` enum. The migration file names were not updated.
andrewsignori-aot
added a commit
that referenced
this issue
Dec 12, 2023
…2574) - Created the new based class `ECertProcessIntegrationBaseScheduler` to be shared by the full-time and part-time e-Cert schedulers. - Created also the base class `ECertFileHandler` to support the above-mentioned change. - Changed the e-Cert file generation to also use the `ProcessSummary` logs. Please note that refactors for the e-Cert feedback are out of the scope of this effort.
andrewsignori-aot
added a commit
that referenced
this issue
Dec 14, 2023
… and Investigation (#2592) - Fixed an issue for the BC `assert-life-time-maximum-full-time-step` that would fail during the log due to a null exception while accessing `bcLoan.valueCode`. - Added `cause` to the errors generated during e-Cert record generation for further investigation. The `cause` is present in `es2022` but only `es2022.error` was updated right now because extra changes are needed to completely update the backend to use `es2022`.
andrewsignori-aot
added a commit
that referenced
this issue
Dec 14, 2023
…ed application number to logs (#2597) Adding the application number to e-Cert logs to make it easier to find application-related issues. The log entry would be changing from: Processing disbursement id 56209 scheduled for 2023-12-17. To Processing application number 1077887860, disbursement id 56209 scheduled for 2023-12-17.
andrewsignori-aot
added a commit
that referenced
this issue
Dec 15, 2023
…ed COE Declined Constraint (#2599) Added COE declined constraint to e-Cert eligibility criteria to ensure that disbursements with declined COEs will not be considered for e-Cert generations.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Allow the processing of the student disbursements, individually processing its calculations and committing them to the database, defining them as "Ready to send" (new status to be added), which means, should be included in the next e-Cert generated. The news status would allow the e-Cert calculations and the file generation to happen at different times.
Benefits
Acceptance Criteria
Ready to send
status for theDisbursementScheduleStatus
. This status will be set when the calculations are done and the record should be part of the next e-Cert.Ready to send
status was set. The suggested nameready_to_send_date
insims.disbursement_schedules
.Ready to Send
with the same effect asSent
, which means that SIMS will consider the money as sent either way (money was paid).full-time-e-cert-integration
andpart-time-e-cert-integration
to execute the process with the proposed separation between calculations and the e-Cert generation.Ready to Send
The text was updated successfully, but these errors were encountered: