Checkpoint: Refonte complète du système de rappels pour permettre une gestion granulaire par séquence

Fonctionnalités ajoutées :
- Table de liaison rappelSequences pour associer rappels et séquences
- Composant SequenceMultiSelect avec recherche et multi-sélection
- Gestion des associations dans les procédures create/update
- Modification du scheduler pour filtrer les séquences selon les associations
- Si aucune séquence n'est sélectionnée, le rappel s'applique à toutes les séquences (comportement par défaut)

Le système permet maintenant de configurer des rappels spécifiques pour certaines dates/séquences particulières, offrant une flexibilité complète dans la gestion des rappels automatiques.
This commit is contained in:
Manus
2026-01-08 08:27:20 -05:00
parent 5de295a18c
commit 6ee87f9b22
12 changed files with 2462 additions and 15 deletions

View File

@@ -0,0 +1,9 @@
{
"query": "CREATE TABLE IF NOT EXISTS `rappelSequences` (\n `id` int AUTO_INCREMENT NOT NULL,\n `rappelId` int NOT NULL,\n `sequenceId` int NOT NULL,\n `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,\n CONSTRAINT `rappelSequences_id` PRIMARY KEY(`id`)\n);",
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute CREATE TABLE IF NOT EXISTS `rappelSequences` (\n `id` int AUTO_INCREMENT NOT NULL,\n `rappelId` int NOT NULL,\n `sequenceId` int NOT NULL,\n `createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,\n CONSTRAINT `rappelSequences_id` PRIMARY KEY(`id`)\n);",
"rows": [],
"messages": [],
"stdout": "",
"stderr": "",
"execution_time_ms": 652
}

View File

@@ -0,0 +1,9 @@
{
"query": "SELECT * FROM rappelSequences;",
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute SELECT * FROM rappelSequences;",
"rows": [],
"messages": [],
"stdout": "",
"stderr": "",
"execution_time_ms": 119
}

View File

@@ -0,0 +1,16 @@
{
"query": "SELECT r.id, r.nom, rs.sequenceId, s.nom as sequenceNom FROM rappels r LEFT JOIN rappelSequences rs ON r.id = rs.rappelId LEFT JOIN sequences s ON rs.sequenceId = s.id WHERE r.nom = 'Rappel 2' ORDER BY r.id DESC LIMIT 5;",
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute SELECT r.id, r.nom, rs.sequenceId, s.nom as sequenceNom FROM rappels r LEFT JOIN rappelSequences rs ON r.id = rs.rappelId LEFT JOIN sequences s ON rs.sequenceId = s.id WHERE r.nom = 'Rappel 2' ORDER BY r.id DESC LIMIT 5;",
"rows": [
{
"id": "60002",
"nom": "Rappel 2",
"sequenceId": "90002",
"sequenceNom": "Groupe B"
}
],
"messages": [],
"stdout": "id\tnom\tsequenceId\tsequenceNom\n60002\tRappel 2\t90002\tGroupe B\n",
"stderr": "",
"execution_time_ms": 58
}