Uploaded image for project: 'mod-orders'
  1. mod-orders
  2. MODORDERS-164

Implement receiving flow for Other

    XMLWordPrintable

    Details

    • Template:
    • Sprint:
      ACQ Sprint 61
    • Story Points:
      1
    • Development Team:
      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
        • 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".

      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-2 user 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

      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

              Activity

                People

                Assignee:
                dennisbridges Dennis Bridges
                Reporter:
                pavelk-epam Pavel Korolenok
                Tester Assignee:
                Dennis Bridges Dennis Bridges
                Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    TestRail: Runs

                      TestRail: Cases