2.0 KiB
2.0 KiB
Session History: 2025-12-24 - Document Numbering Fixes
Overview
- Date: 2025-12-24
- Duration: ~2 hours
- Focus: Document Numbering System - Bug Fixes & Improvements
Changes Made
1. Year Token Format (4-digit)
Files:
backend/src/modules/document-numbering/services/format.service.ts
Changes:
// Before
'{YEAR}': year.toString().substring(2), // "25"
'{YEAR:BE}': (year + 543).toString().substring(2), // "68"
// After
'{YEAR}': year.toString(), // "2025"
'{YEAR:BE}': (year + 543).toString(), // "2568"
2. TypeScript Field Name Fixes
Files:
backend/src/modules/document-numbering/dto/preview-number.dto.tsbackend/src/modules/document-numbering/controllers/document-numbering.controller.tsfrontend/lib/api/numbering.tsfrontend/components/numbering/template-tester.tsx
Changes:
originatorId→originatorOrganizationIdtypeId→correspondenceTypeId
3. Generate Test Number Bug Fix
Root Cause:
- API client ใช้ NextAuth
getSession()แต่ token อยู่ใน Zustand localStorage (auth-storage) - Response wrapper mismatch: backend ส่ง
{ data: {...} }แต่ frontend อ่านres.dataโดยตรง
Files:
frontend/lib/api/client.ts- ดึง token จากlocalStorage['auth-storage']frontend/lib/api/numbering.ts- แก้ response unwrapping:res.data.data || res.data
4. Documentation
Files Created/Updated:
docs/document-numbering-summary.md- Comprehensive system summary
Verification Results
| Test | Result |
|---|---|
| Backend Build | ✅ Pass |
| Frontend Build | ✅ Pass |
| Generate Test Number | ✅ Working |
Notes
- Template ต้องใช้
{YEAR:BE}เพื่อแสดงปี พ.ศ. (ไม่ใช่{YEAR}) - สามารถแก้ไข Template ผ่าน Admin > Numbering > Edit Template