Skip to content
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

Update allocation engine to handle overdue returns #759

Merged
merged 12 commits into from
Feb 27, 2024
Merged

Conversation

Jozzey
Copy link
Contributor

@Jozzey Jozzey commented Feb 23, 2024

https://eaflood.atlassian.net/browse/WATER-4377

Update the match & allocation engine to ‘allocate’ overdue returns.

The complication is the engine is built on matching return submission lines to charge elements by comparing the line’s start and end dates to a charge element’s calculated abstraction dates (amongst a host of other parameters).

So where there is a licence with an overdue return that has been matched to an element. The engine needs to ensure that the customer is charged the authorised amount for that element.

The engine is to be updated so that after all completed returns have had their volumes allocated. If there are any overdue returns, the engine will attempt to match those to a charge element. If matched the engine will then bump the volume allocated to that element up to its authorised volume.

https://eaflood.atlassian.net/browse/WATER-4377

Update the match & allocation engine to ‘allocate’ overdue returns.

The complication is the engine is built on matching return submission lines to charge elements by comparing the line’s start and end dates to a charge element’s calculated abstraction dates (amongst a host of other parameters).

So where there is a licence with an overdue return that has been matched to an element. The engine needs to ensure that the customer is charged on the authorised amount for that element.

The engine is to be updated so that after all completed returns have had thier volumes allocated. If there are any overdue returns, the engine will attempt to match those to a charge element. If matched the engine will then bump the volume allocated to that element up to it's authorised volume.
@Jozzey Jozzey added the enhancement New feature or request label Feb 23, 2024
@Jozzey Jozzey self-assigned this Feb 23, 2024
@Jozzey Jozzey marked this pull request as ready for review February 26, 2024 17:37
Copy link
Member

@Cruikshanks Cruikshanks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll be honest, I didn't work through every single unit test. But this is fantastic.

The smallest of reasons to request a change!

@Jozzey Jozzey requested a review from Cruikshanks February 27, 2024 10:02
Copy link
Member

@Cruikshanks Cruikshanks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Jozzey Jozzey merged commit c699e06 into main Feb 27, 2024
6 checks passed
@Jozzey Jozzey deleted the handle-overdue-returns branch February 27, 2024 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants