Commit Graph

7 Commits

Author SHA1 Message Date
HotSwapp
2e2380552e Customer 360: extended Client fields, auto-migrate, updated Rolodex CRUD/templates, QDRO routes/views, importer mapping
QDRO links appear in rolodex_view.html case rows and case.html header when QDRO data exists, matching legacy flows.
2025-10-13 14:04:35 -05:00
HotSwapp
83a3959906 Fix pension_schedule table schema to support multiple vesting milestones per pension
- Changed primary key from composite (file_no, version) to auto-increment id
- A pension can have multiple vesting schedule entries (e.g., vests 20% at year 1, 100% at year 5)
- Added index on (file_no, version) for efficient lookups
- Successfully imported 502 vesting schedule entries for 416 unique pensions
- Some pensions have up to 6 vesting milestones
2025-10-13 08:54:19 -05:00
HotSwapp
ac98bded69 Add detailed skip tracking for phone imports
- Track skipped_no_phone and skipped_no_id separately
- Display skip information in admin UI with warning icon
- Clarify that empty phone numbers cannot be imported (PK constraint)
- Update documentation to explain expected skip behavior
- Example: 143 rows without phone numbers is correct, not an error

When importing PHONE.csv with empty phone numbers:
- Rows are properly skipped (cannot have NULL in primary key)
- User sees: '⚠️ Skipped: 143 rows without phone number'
- This is expected behavior, not a bug
2025-10-13 08:46:53 -05:00
HotSwapp
63809d46fb Fix PHONE.csv import duplicate constraint error
- Implement upsert logic in import_phone() function
- Check for existing (id, phone) combinations before insert
- Track duplicates within CSV to skip gracefully
- Update existing records instead of failing on duplicates
- Add detailed statistics: inserted, updated, skipped counts
- Align with upsert pattern used in other import functions
- Add documentation in docs/PHONE_IMPORT_FIX.md

Fixes: UNIQUE constraint failed: phone.id, phone.phone error
when re-importing or uploading CSV with duplicate entries
2025-10-12 21:45:30 -05:00
HotSwapp
97af250657 import: make FILETYPE import idempotent by skipping existing and in-batch duplicates; tested via Docker admin import twice without UNIQUE constraint errors 2025-10-08 13:48:00 -05:00
HotSwapp
2efbf14940 fixed rolodex page 2025-10-07 23:09:15 -05:00
HotSwapp
4dbc452b65 items 2025-10-06 20:28:00 -05:00