#14 Workflow engine, Receipt/GED fixes, et documentation agents #20

Merged
ronan.quintin merged 1 commit from feature/14-workflow into main 2025-12-25 21:42:44 +01:00

Backend:

  • Implémentation moteur de workflow (WorkflowEngine, WorkflowDefinition, WorkflowContext)
  • Workflow PaymentToGed (5 étapes: check coverage, generate receipt, PDF, upload GED, cleanup)
  • Tables workflow_execution et workflow_step_execution avec Liquibase
  • Fix WorkflowEventListener: @TransactionalEventListener(AFTER_COMMIT) pour éviter race condition
  • Enrichissement ReceiptModel avec leaseHolderFullNames, rentDueDate, paymentDates
  • Fix ReceiptService: méthode generateReceiptFileName(receiptId, rentDueId) pour éviter lazy loading
  • Suppression ReceiptGenerationListener (remplacé par workflow)
  • Tests workflow complets

Frontend:

  • Ajout colonnes dans ReceiptList: locataire, date échéance, dates paiement
  • Fix documentService.ts: createdAt → createdDate, updatedAt → lastModifiedDate
  • Fix DocumentListPage.tsx: affichage date création correcte

Documentation:

  • Enrichissement backend-developer.md: section CRITICAL sur AFTER_COMMIT (pourquoi, exemples bug)
  • Enrichissement architect.md: diagrammes flux AFTER_COMMIT, exemples implémentation
  • Nouvelle section "Leçons Apprises" dans architect.md: bugs WorkflowEventListener et lazy loading

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com

Backend: - Implémentation moteur de workflow (WorkflowEngine, WorkflowDefinition, WorkflowContext) - Workflow PaymentToGed (5 étapes: check coverage, generate receipt, PDF, upload GED, cleanup) - Tables workflow_execution et workflow_step_execution avec Liquibase - Fix WorkflowEventListener: @TransactionalEventListener(AFTER_COMMIT) pour éviter race condition - Enrichissement ReceiptModel avec leaseHolderFullNames, rentDueDate, paymentDates - Fix ReceiptService: méthode generateReceiptFileName(receiptId, rentDueId) pour éviter lazy loading - Suppression ReceiptGenerationListener (remplacé par workflow) - Tests workflow complets Frontend: - Ajout colonnes dans ReceiptList: locataire, date échéance, dates paiement - Fix documentService.ts: createdAt → createdDate, updatedAt → lastModifiedDate - Fix DocumentListPage.tsx: affichage date création correcte Documentation: - Enrichissement backend-developer.md: section CRITICAL sur AFTER_COMMIT (pourquoi, exemples bug) - Enrichissement architect.md: diagrammes flux AFTER_COMMIT, exemples implémentation - Nouvelle section "Leçons Apprises" dans architect.md: bugs WorkflowEventListener et lazy loading 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Backend:
- Implémentation moteur de workflow (WorkflowEngine, WorkflowDefinition, WorkflowContext)
- Workflow PaymentToGed (5 étapes: check coverage, generate receipt, PDF, upload GED, cleanup)
- Tables workflow_execution et workflow_step_execution avec Liquibase
- Fix WorkflowEventListener: @TransactionalEventListener(AFTER_COMMIT) pour éviter race condition
- Enrichissement ReceiptModel avec leaseHolderFullNames, rentDueDate, paymentDates
- Fix ReceiptService: méthode generateReceiptFileName(receiptId, rentDueId) pour éviter lazy loading
- Suppression ReceiptGenerationListener (remplacé par workflow)
- Tests workflow complets

Frontend:
- Ajout colonnes dans ReceiptList: locataire, date échéance, dates paiement
- Fix documentService.ts: createdAt → createdDate, updatedAt → lastModifiedDate
- Fix DocumentListPage.tsx: affichage date création correcte

Documentation:
- Enrichissement backend-developer.md: section CRITICAL sur AFTER_COMMIT (pourquoi, exemples bug)
- Enrichissement architect.md: diagrammes flux AFTER_COMMIT, exemples implémentation
- Nouvelle section "Leçons Apprises" dans architect.md: bugs WorkflowEventListener et lazy loading

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
ronan.quintin deleted branch feature/14-workflow 2025-12-25 21:42:44 +01:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: ronan.quintin/Keryloo#20
No description provided.