Files
lcbp3/specs/99-archives/history/2025-12-24-document-numbering-fixes.md
admin c90a664f53
All checks were successful
Build and Deploy / deploy (push) Successful in 1m0s
260222:1053 20260222 refactor specs/ #1 03-Data-and-Storage
2026-02-22 10:53:23 +07:00

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.ts
  • backend/src/modules/document-numbering/controllers/document-numbering.controller.ts
  • frontend/lib/api/numbering.ts
  • frontend/components/numbering/template-tester.tsx

Changes:

  • originatorIdoriginatorOrganizationId
  • typeIdcorrespondenceTypeId

3. Generate Test Number Bug Fix

Root Cause:

  1. API client ใช้ NextAuth getSession() แต่ token อยู่ใน Zustand localStorage (auth-storage)
  2. 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