Ceci est une ancienne révision du document !
Liste et description des requêtes SQL 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é.
NB : Ci-dessous, la légende sur les différents statut fidélité (statut_fidelite) depuis Cynod
- NP → Non pris en compte
- AP → A prend en compte
- PE → Pris en compte
- PE → Pris en compte
- AA → A annuler
- AN → Annulé
-- Les opérations non remontées pour une carte donnée (CYNOD) 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 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" 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";
-- 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";
-- 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;
-- 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;
-- 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;
-- 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;