tecdoc:requetesqlfidelia

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

  1. NP → Non pris en compte
  2. AP → A prend en compte
  3. PE → Pris en compte
  4. PE → Pris en compte
  5. AA → A annuler
  6. 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;
  • tecdoc/requetesqlfidelia.1734346176.txt.gz
  • Dernière modification: 2024/12/16 10:49
  • par mamadou.gueye_sensoft.sn