MODRS-180 - Remote Storage uses Call Number instead of Effective CallNumber - #269
Merged
Conversation
… 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.
pfilippov-epam
approved these changes
Jul 2, 2026
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



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
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.