Skip to content

MODRS-180 - Remote Storage uses Call Number instead of Effective CallNumber - #269

Merged
khandramai merged 3 commits into
masterfrom
MODRS-180
Jul 6, 2026
Merged

MODRS-180 - Remote Storage uses Call Number instead of Effective CallNumber#269
khandramai merged 3 commits into
masterfrom
MODRS-180

Conversation

@khandramai

@khandramai khandramai commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Purpose

When accessioning an item to an Automated Storage and Retrieval System (ASRS), the Remote Storage module populated the queue record's call number with only the bare effective call number (effectiveCallNumberComponents.callNumber). As a result, enumeration, chronology, volume and copy data were not sent to the ASRS software. This made it hard for staff to look up a specific volume, year or issue of a serial/periodical directly in the ASRS software — they had to fall back to a barcode lookup in FOLIO inventory. This change makes Remote Storage build the full effective call number (including enumeration/chronology/volume/copy) so that staff can locate a specific volume directly in the ASRS software.

Approach

Added CallNumberUtils.buildEffectiveCallNumber(Item), which composes the effective call number per the canonical FOLIO definition from stripes-util (prefix callNumber suffix displaySummary volume enumeration chronology copyNumber, space-joined, blanks skipped), and wired it into both the accession (AccessionQueueService) and retrieval/pick (RetrievalQueueRecordUtils) flows so both queues carry a consistent call number. All components come from the item itself, so no extra service calls are needed. The displaySummary field was added to the internal item.json inventory-client model (already present in mod-inventory responses, previously not deserialized).

Changes Checklist

  • API Changes: Document any API paths, methods, request or response bodies changed, added, or removed.
  • Database Schema Changes: Indicate any database schema changes and their impact. Confirm that migration scripts were created.
  • Interface Version Changes: Indicate any changes to interface versions.
  • Interface Dependencies: Document added or removed dependencies.
  • Permissions: Document any changes to permissions.
  • Logging: Confirm that logging is appropriately handled.
  • Unit Testing: Confirm that changed classes were covered by unit tests.
  • Integration Testing: Confirm that changed logic was covered by integration tests.
  • Manual Testing: Confirm that changes were tested on local or dev environment.
  • NEWS: Confirm that the NEWS file is updated with relevant information about the changes made in this pull request.

Related Issues

MODRS-180 - Remote Storage uses Call Number instead of Effective CallNumber

Learning and Resources (if applicable)

Discuss any research conducted during the development of this pull request. Include links to relevant blog posts, patterns, libraries, or addons that were used to solve the problem.

Screenshots (if applicable)

If this pull request involves any visual changes or new features, consider including screenshots or GIFs to illustrate the changes.

@khandramai
khandramai requested a review from a team as a code owner July 2, 2026 16:00
… Number

Build the effective call number (prefix, call number, suffix, display summary,
volume, enumeration, chronology, copy number) following the canonical FOLIO
stripes-util definition, and use it for ASRS accession and retrieval flows.
@khandramai khandramai self-assigned this Jul 2, 2026
@khandramai khandramai added the ai Code is partially generated / developed using AI label Jul 2, 2026
@sonarqubecloud

sonarqubecloud Bot commented Jul 6, 2026

Copy link
Copy Markdown

@khandramai
khandramai merged commit b379468 into master Jul 6, 2026
18 checks passed
@khandramai
khandramai deleted the MODRS-180 branch July 6, 2026 07:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai Code is partially generated / developed using AI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants