Details
-
Story
-
Status: Closed (View Workflow)
-
P3
-
Resolution: Done
-
None
-
-
ACQ Sprint 61
-
1
-
EBSCO - FSE
Description
Purpose: Implement endpoint that provides capability of receiving items
High-Level Requirements:
- Implement POST /orders/receive endpoint that provides functionality for receiving items spanning one or more po_lines in the order according to the attached document. The request body: receivingCollection.json
- For each received piece:
- Update the item record... if applicable (status, location, barcode)
- poLine.physical.createInventory should dictate the level of interaction with inventory. See
MODORDERS-178 - The receivingCollection.json schema needs to be updated to include desired item's status
- poLine.physical.createInventory should dictate the level of interaction with inventory. See
- Update the piece record (status, received_date, etc) -- overlaps with check-in --
- Update the POL record (receipt_status) -- overlaps with check-in --
- If all pieces of this order line have been received, the receipt status should be "Fully Received". If more than one, but less than the total number of pieces have been received, it should be "Partially Received".
- Update the item record... if applicable (status, location, barcode)
Notes:
- the document is pretty high-level so further thinking on how to handle various exceptional/edge cases is required
- there is a piece of logic related to updating piece record upon receiving that might be reused for check-in flow as well
- Inventory Beta - Metadata Elements - reference document for Inventory fields
Open questions:
- According to
UIREC-2user will specify barcode (optional), location (required) and status (required). Taking into account item.json schema from mod-inventory-storage there are some unclear moments:- Location: schema has permanentLocationId. Should the logic update this one or work with holding (search for existing or create new one and update holdingsRecordId)?
- CAM for now just deal with holding's perm. location. There's no need to specify holding's temporary location or override the holdings perm location in the item record
- Status: status property does not have fixed enumeration. There are some defined in Inventory Beta - Metadata Elements. What statuses are expected to be processed?
- CAM default to "In process" if not specified
- Location: schema has permanentLocationId. Should the logic update this one or work with holding (search for existing or create new one and update holdingsRecordId)?
Acceptance Criteria:
- receiving flow is implemented
- unit tests are updated
- api tests are updated
See https://docs.google.com/spreadsheets/d/1se-a2owRfHLG5eaAZglx4vLvRClCKGp2wZCfD39ZJRY/view#gid=894044560 for complete API listing
TestRail: Results
Attachments
Issue Links
- has to be done after
-
MODORDERS-66 Create Holding Record in inventory for titles ordered that are not currently represented in inventory by a Holding
-
- Closed
-
-
MODORDERS-67 Create Item Record in inventory for physical/electronic items quantity ordered that are not currently represented in inventory by an Item record
-
- Closed
-
-
MODORDERS-90 Update receiveing and checkin schemas
-
- Closed
-
-
MODORDERS-100 Create Piece Records in Orders Storage for items quantity ordered on Order Placement
-
- Closed
-
-
MODORDERS-103 Implement receiving flow for physical-only
-
- Closed
-
-
MODORDERS-121 Create Instance Record in inventory when Order status is changed to 'Open'
-
- Closed
-
-
MODORDSTOR-30 Create piece schema and API
-
- Closed
-
- is blocked by
-
MODORDERS-123 Orders and PO Lines endpoints restructure
-
- Closed
-
- relates to
-
MODORDERS-106 Spike: PO Line Status update during receiving (guarantee the status is up-to-date)
-
- Closed
-
-
UIOR-169 Show info from inventory in Receiving list
-
- Closed
-
-
UXPROD-1605 Receiving quality assurance enhancements
-
- Closed
-
-
MODORDERS-159 PO Line: receipt status
-
- Closed
-