Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
tecdoc:requetesqlfidelia [2024/03/07 12:33] mamadou.gueye_sensoft.sn |
tecdoc:requetesqlfidelia [2025/02/10 10:55] (Version actuelle) mamadou.gueye_sensoft.sn |
||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| Le but de cette documentation est de lister puis de commenter les différentes requêtes SQL qui sont les plus utilisés pour la fidélité.\\ | Le but de cette documentation est de lister puis de commenter les différentes requêtes SQL qui sont les plus utilisés pour la fidélité.\\ | ||
| - | * **Supprimer l'enrollment Wallet d'un client sur Cynod ** | + | __**NB :**__ //Ci-dessous, la légende sur les différents statut fidélité (statut_fidelite) depuis Cynod// |
| - | Etape 1- Désactivation contrainte \\ | + | - **NP** -> Non pris en compte |
| - | <color #00a2e8>SET FOREIGN_KEY_CHECKS=0;</color>\\ | + | - **AP** -> A prendre en compte |
| + | - **PE** -> Pris en compte | ||
| + | - **AA** -> A annuler | ||
| + | - **AN** -> Annulé | ||
| - | Etape 2- Suppression du wallet_terminal \\ | + | <code sql> |
| - | <color #00a2e8>DELETE wallet_terminal\\ | + | -- Les opérations non remontées pour une carte donnée (CYNOD) |
| - | FROM wallet_terminal\\ | + | |
| - | INNER JOIN wallet ON wallet.id = wallet_terminal.wallet_id\\ | + | |
| - | WHERE wallet.id in (select id from wallet where wallet_id ="22792544040");</color>\\ | + | |
| - | Etape 3- Suppression du wallet_carte \\ | + | select c.*, h.motif, h.date_traitement_fidelite,h.ind_fidelite, h.numero_fidelite,h.montant_paye, |
| - | <color #00a2e8>DELETE wallet_carte\\ | + | h.date_transaction,h.statut,h.numero_carte_fidelite,h.statut_fidelite, h.montant_transaction, h.total_point_fidelite, h.deleted, h.numero_operation from operation h, carte c where |
| - | FROM wallet_carte\\ | + | h.carte_emettrice_id = c.id |
| - | INNER JOIN wallet ON wallet.id = wallet_carte.wallet_id\\ | + | and h.deleted=false |
| - | WHERE wallet.wallet_id in (select id from wallet where wallet_id ="22792544040");</color>\\ | + | and c.num_carte="5812340101021233" |
| + | and h.statut_fidelite ="AP" | ||
| + | and h.statut='VA' | ||
| + | and h.statut_confirmation="CF" | ||
| + | |||
| + | UNION ALL | ||
| + | |||
| + | select c.*, h.motif, h.date_traitement_fidelite,h.ind_fidelite, h.numero_fidelite,h.montant_paye, h.date_transaction,h.statut,h.numero_carte_fidelite,h.statut_fidelite, h.montant_transaction, h.total_point_fidelite, h.deleted, h.numero_operation from historique_operation h, carte c where | ||
| + | h.carte_emettrice_id = c.id | ||
| + | and h.deleted=false | ||
| + | and c.num_carte="5812340101021233" | ||
| + | and h.statut_fidelite ="AP" | ||
| + | and h.statut='VA' | ||
| + | and h.statut_confirmation="CF"; | ||
| + | </code> | ||
| + | |||
| + | <code sql> | ||
| + | -- Mise à jour opération simple vers la Fidélité (CYNOD) | ||
| + | |||
| + | update operation | ||
| + | inner join carte on operation.carte_emettrice_id = carte.id | ||
| + | set statut_fidelite="AP", numero_carte_fidelite = "5812340100014890" | ||
| + | where carte.num_carte="5812340100014890" and | ||
| + | operation.statut_fidelite ="AP" and operation.statut='VA' | ||
| + | and operation.statut_confirmation="CF"; | ||
| + | </code> | ||
| + | |||
| + | <code sql> | ||
| + | -- Mise à zéro des compteurs points des clients Fidélia (FIDELIA) | ||
| + | |||
| + | Update | ||
| + | campagne_participant | ||
| + | SET | ||
| + | nombre_total_point = 0, | ||
| + | version = version + 1, | ||
| + | user_updated = "support_sensoft", | ||
| + | last_updated = NOW | ||
| + | WHERE | ||
| + | nombre_total_point > 0 | ||
| + | and campagne_id = 2 | ||
| + | and is_deleted = FALSE; | ||
| + | |||
| + | </code> | ||
| + | |||
| + | <code sql> | ||
| + | -- Vérification des opérations effectuées avec le bagde - Exemple 1 (FIDELIA) | ||
| + | |||
| + | select nombre_total_point,numero_carte,numero_code_bar,numero_fidelite,telephone,prenom,nom from | ||
| + | campagne_participant where numero_fidelite="3366710213" and numero_code_bar="10017440"; | ||
| + | |||
| + | -- Vérification des opérations effectuées avec le bagde - Exemple 2 (FIDELIA) | ||
| + | |||
| + | select pc.date_collecte,pc.nombre_point,pc.reference_externe,pc.numero_transaction_externe,pc.valeur_achat, | ||
| + | cp.telephone,cp.numero_code_bar,cp.nom,cp.prenom | ||
| + | from point_collecte pc, campagne_participant cp | ||
| + | where pc.campagne_participant_id=cp.id | ||
| + | and cp.numero_fidelite="3366710213" | ||
| + | and cp.numero_code_bar="10017440" | ||
| + | and cp.telephone="+221776176210" | ||
| + | order by pc.date_collecte desc; | ||
| + | |||
| + | </code> | ||
| + | |||
| + | <code sql> | ||
| + | -- Vérification des points fidélité avec bagde (FIDELIA) | ||
| + | |||
| + | select sum(pc.nombre_point) | ||
| + | from point_collecte pc, campagne_participant cp | ||
| + | where pc.campagne_participant_id=cp.id | ||
| + | and cp.numero_fidelite="3366710213" | ||
| + | and cp.numero_code_bar="10017440" | ||
| + | order by pc.date_collecte desc; | ||
| + | |||
| + | </code> | ||
| + | |||
| + | <code sql> | ||
| + | -- Vérification de l'ensemble des points collecté avec un compte badge (FIDELIA) | ||
| + | |||
| + | select pc.date_collecte,pc.nombre_point,pc.reference_externe,pc.numero_transaction_externe,pc.valeur_achat, | ||
| + | cp.telephone,cp.numero_code_bar,cp.nom,cp.prenom | ||
| + | from point_collecte pc, campagne_participant cp | ||
| + | where pc.campagne_participant_id=cp.id | ||
| + | and cp.numero_fidelite="3366710213" | ||
| + | and cp.numero_code_bar="10017440" | ||
| + | and cp.telephone="+221776176210" | ||
| + | order by pc.date_collecte desc; | ||
| + | |||
| + | </code> | ||
| - | Etape 4- Suppression du compte wallet \\ | ||
| - | <color #00a2e8>delete from wallet where wallet_id="22792544040";</color>\\ | ||
| - | Etape 5- Activation contrainte \\ | ||
| - | SET FOREIGN_KEY_CHECKS=1;</color>\\ | ||