251216:1644 Docunment Number: Update frontend/
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# 20251216-document-numbering-backend-methods.md
|
||||
|
||||
> **Date**: 2025-12-16
|
||||
> **Type**: Feature Implementation
|
||||
> **Status**: ✅ Completed
|
||||
|
||||
## Summary
|
||||
|
||||
Implemented missing backend methods for Document Numbering module and fixed frontend admin panel issues.
|
||||
|
||||
---
|
||||
|
||||
## Backend Changes
|
||||
|
||||
### New Service Methods (`document-numbering.service.ts`)
|
||||
|
||||
| Method | Description |
|
||||
| -------------------------- | ------------------------------------------------- |
|
||||
| `voidAndReplace(dto)` | Void a number and optionally generate replacement |
|
||||
| `cancelNumber(dto)` | Mark a number as cancelled in audit log |
|
||||
| `getSequences(projectId?)` | Get all counter sequences |
|
||||
| `previewNumber(ctx)` | Preview number without incrementing counter |
|
||||
|
||||
### New Controller Endpoints (`document-numbering.controller.ts`)
|
||||
|
||||
| Endpoint | Method | Permission |
|
||||
| ------------------------------- | ------ | --------------------- |
|
||||
| `/document-numbering/sequences` | GET | `correspondence.read` |
|
||||
| `/document-numbering/preview` | POST | `correspondence.read` |
|
||||
|
||||
### New DTO
|
||||
|
||||
- `dto/preview-number.dto.ts` - Request DTO for preview endpoint
|
||||
|
||||
---
|
||||
|
||||
## Frontend Fixes
|
||||
|
||||
### API Response Handling
|
||||
|
||||
Fixed wrapped response `{ data: [...] }` issue:
|
||||
- `components/numbering/sequence-viewer.tsx`
|
||||
- `app/(admin)/admin/numbering/page.tsx`
|
||||
|
||||
### Template Editor (`components/numbering/template-editor.tsx`)
|
||||
|
||||
- Made Document Type **optional** (`correspondence_type_id` can be `null`)
|
||||
- Added "Default (All Types)" option to dropdown
|
||||
- Fixed validation to allow save without type selection
|
||||
|
||||
---
|
||||
|
||||
## Database
|
||||
|
||||
Added missing table `document_number_formats` to schema.
|
||||
|
||||
---
|
||||
|
||||
## Specs Updated
|
||||
|
||||
- `specs/03-implementation/document-numbering.md` → v1.7.0 (status: implemented)
|
||||
|
||||
---
|
||||
|
||||
## Files Modified
|
||||
|
||||
```
|
||||
backend/src/modules/document-numbering/
|
||||
├── document-numbering.service.ts
|
||||
├── document-numbering.controller.ts
|
||||
├── dto/preview-number.dto.ts (NEW)
|
||||
└── ...
|
||||
|
||||
backend/src/modules/circulation/
|
||||
└── circulation.service.ts (fixed generateNextNumber usage)
|
||||
|
||||
frontend/lib/api/
|
||||
└── numbering.ts
|
||||
|
||||
frontend/components/numbering/
|
||||
├── sequence-viewer.tsx
|
||||
└── template-editor.tsx
|
||||
|
||||
frontend/app/(admin)/admin/numbering/
|
||||
└── page.tsx
|
||||
|
||||
specs/03-implementation/
|
||||
└── document-numbering.md
|
||||
```
|
||||
Reference in New Issue
Block a user