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
-- 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;