Position Count
Description
The Position Count Verify screen is used to verify scans that were performed in scan mode. Verifiers review scan groups, confirm or edit counts, and mark items as verified. The system tracks verification progress against an audit quota and ensures mandatory items are verified before allowing checkout. This screen displays scans grouped by item (same barcode and match fields), showing only properties configured to be visible during verification.
How Scan Groups Are Fetched
Scan groups are retrieved and organized as follows:
- GetScanGroups queries all scans for the zone check-in.
- Scans are filtered to only include sessions associated with the zone (using session map).
- Scans are sorted by:
- Whether they belong to the AddScans session (AddScans session scans come last).
- Session index (order sessions were created).
- Scan order within the session.
- Date scanned timestamp.
- Scans are grouped using the same logic as Scan List (same identifier and match fields, no markers in between).
- Each group displays only properties where
scannerVerifyVisibleIndexis set, sorted by that index. - Groups are presented in chronological order (oldest first, unlike Scan List which shows newest first).
How Verification Status Is Updated
UpdateScanGroupVerification Process
When a user marks a group as verified or unverified:
- Automatic Verification on Count Edit: If any scan in the group has a count change (value in
changesmap), the group is automatically marked as verified regardless of user action. - Manual Verification: User can toggle verification status on/off for any group.
- Update Process:
- All scans in the group are updated with
isVerifiedflag. - The
dateModifiedtimestamp is set to current time. - All scans are saved to the database together.
- All scans in the group are updated with
Verification Rules
- If a count was edited, the group is always verified (cannot be unverified until count change is reset).
- Verification status applies to all scans in the group (cannot verify individual scans).
- Verified groups show a checkmark indicator.
VerifySelections - Navigation State
The system persists which group is currently selected using VerifySelections:
- Group ID: The currently selected/focused group.
- Is Expanded: Whether the group details are shown.
- Is Focused: Whether the group has keyboard/scanner focus.
- First If Null: If no group is selected, automatically select the first group.
- Selection Prompt: Warning shown when navigating (e.g., unsaved changes).
- Selection Prompt Group ID: The group associated with the prompt.
This state is saved to the database so users can resume where they left off even after app restart.
Auditing System
The screen enforces auditing rules before allowing checkout:
Auditing Stats
- Verify Done: Number of groups marked as verified.
- Verify Total: Total number of groups from verify sessions (not AddScans).
- Total Done: Number of groups verified or with edited counts.
- Total Scans: Total number of scan groups.
- Audit Quota: Required percentage of groups that must be verified (0-100).
- Should Verify Mandatory: Whether mandatory items must be verified.
- Verified Mandatory: Whether all mandatory items have been verified.
Audit Status
- Complete: Quota met and all mandatory items verified (or zone is empty).
- QuotaNotAchieved: Percentage of verified groups is below the audit quota.
- NotAllMandatoryVerified: Quota met but mandatory items still need verification.
The system prevents checkout until audit status is Complete.
Functionality
Review and Verify Groups
- Navigate through scan groups using keyboard, scanner, or touch.
- Expand groups to see individual scan details (position, count, timestamp).
- Mark entire groups as verified or unverified.
- See verification progress percentage and remaining items.
Edit Counts
- Modify the total count for any group (except AddScans groups).
- Edited counts automatically mark the group as verified.
- System validates count format and applies regex validation rules.
- Can reset changes to restore original counts.
Search by Barcode
- Scan or enter a barcode to jump to the next occurrence of that item.
- System applies barcode operations (same transformations as scanning).
- Shows feedback if item not found.
- Can add the item if not found in the list.
Navigation
- Next Selection: Move to the next unverified group.
- Previous Selection: Move to previous group.
- Search: Jump to specific item by barcode.
Mark Groups
- Toggle marker flag on the last scan in a group.
- Markers visually separate groups and break grouping logic.
Checkout
- System validates audit status before allowing checkout.
- Shows specific error if quota not met or mandatory items not verified.
- Can optionally switch to a new zone after checkout.
Fields
- Count (when editing): The total quantity for the selected group.
Error Messages
- QuotaNotAchieved: The percentage of verified groups is below the required audit quota.
- NotAllMandatoryVerified: All mandatory items must be verified before checkout.
- Count must be a number: The count value contains non-numeric characters.
- [Custom Validation Message]: Count field-specific error from regex validation rules.
- CountAttemptsExceededException: Too many incorrect count entries for a group.
- InvalidCountException: The entered count is invalid for this group.