It looks like the current unopen strategy is updating encumbrances for the previous fiscal year when an order is unopened, changing old budgets. It should only be taking the current fiscal year into account when processing encumbrances.
Steps to Reproduce:
- Log into some FOLIO environment as User X
- Create a Fiscal year, Ledger and Fund with a budget
- Create an order with 1 POL with 1 fund distribution for that budget
- Open the order
- Create a second fiscal year in the same series
- Rollover ledger allocations and all order based on remaining encumbrances
- Edit fiscal years so that FY 2 is now the current fiscal year
- Navigate to your order
- Click unopen in action menu
Expected Results: Order is moved to pending state and FY 2 encumbrance is pending. FY 1 encumbrance has NOT been changed in any way.
Actual Results: Multiple pending encumbrances appear on the budget for the order.
When unopening an order, OpenToPendingEncumbranceStrategy uses EncumbranceService#getOrderEncumbrances to get the list of related encumbrances, so it is not taking the fiscal year into account. See EncumbranceService#getCurrentPoLinesEncumbrances for an example of a query taking the current fiscal year into account.