server FOLIO Issue Tracker columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 6ccf3fe4-3301-368a-983e-20c466b11a49 key FOLIO-2269
|server||FOLIO Issue Tracker|
The most relevant example from circulation is when the item status is changed as part of circulation processes.
Using an example from above, during a check in, a loan might be closed and request fulfilment might start. It might be that both of these operations need to be reversed if one fails (it might also be that repeating the process is acceptable).
2.1 Automatically adjust order status based on poLine's paymentStatus and receivingStatus
Jira server FOLIO Issue Tracker serverId 6ccf3fe4-3301-368a-983e-20c466b11a49 key MODORDERS-218
The event bus message is sent for particular cases: PO Line is successfully updated or receiving/check-in successfully resulted to PO Line receiving status update. The order status handler is registered for event bus consumer. The handler receives array of order ids and performs needed logic.
2.2 Ensure receiptStatus consistency between piece and poLine
Jira server FOLIO Issue Tracker serverId 6ccf3fe4-3301-368a-983e-20c466b11a49 key MODORDERS-173
The receiptStatus of PO Line is calculated whenever a related Piece record's receivingStatus is changed. This happens asynchronously via the vertx event bus.
3.1 Calculate Invoice Totals
Jira server FOLIO Issue Tracker serverId 6ccf3fe4-3301-368a-983e-20c466b11a49 key MODINVOICE-52
Whenever an invoice is created, updated or retrieved, the invoice.subTotal, invoice.adjustmentsTotal, and invoice.total need to be calculated and returned in the response.
Calculating "on the fly" on GET request - invoice totals are never persisted - the only exception is if invoice.lockTotal == true, then invoice.total is persisted and never replaced w/ a calculated value.
3.2 Avoiding partially paid invoices
Either all or none of these need to be successfully processed; we can't have partially paid invoices. This corresponds to distributed transaction where the context of several modules is used. This presents a challenge of scale. There could feasibly be hundreds of payments for an invoice.
Combination of temporary tables and DB transactions.