Files
lcbp3/specs/09-history/2025-12-24-document-numbering-fixes.md
admin cd73cc1549
Some checks failed
Spec Validation / validate-markdown (push) Has been cancelled
Spec Validation / validate-diagrams (push) Has been cancelled
Spec Validation / check-todos (push) Has been cancelled
251225:1703 On going update to 1.7.0: Refoctory drawing Module not finish
2025-12-25 17:03:33 +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