Description générale du projet:

Titre: Fonctionnement des redevances
3.1 Description sommaire de la section4
1. La job CI_jobs_fin_jour est exécuter à tout les jour à 23:53h et
   les redevances son calculer dans cette job dans l'étape Update gains_mois

2. Dans l'étape Update gains_mois c'est la store procédure ps_update_gainsMois
   qui contient les store procédure pour le calcul des redevances.

3. ps_insert_transaction_montant_detail, ps_insert_redevance sont les store procédures
   qui fait le calcul de s redevances.

4. ps_insert_transaction_montant_detail sert à remplir la table transaction_montant_detail
   de chaque achats et des revenues de la coupeCI de chaque membre de CI, ainsi que le montant de la redevance a distribuer.
   Tant que le mois n'est pas terminé, cette procédure efface les informations de la veille pour garder seulement les information du mois complet.

   - Les gain des affichages de pub et de clic
     Le nombre de clic et popup sont pris dans la table afficheur_archive_mois.
     Les % de remises sont pris dans la table coupeci_remise et 4 type de remise son possible par cle
     Et ne contient pas de fk_transaction_produit contrairement au 2 autres type de redevance
   - Les achats et le montant de redevance à distribuer (type=1 pour les redevances)
     Les produits acheter son pris dans la table transaction_produit
     Les redevance sont pris dans la table CI_forfait et 4 type de redevance son possible par cle
     Contient un fk_transaction_produit
   - Les achats et le montant de redevance à distribuer sur les cadeaux données
     Les produits cadeau son pris dans la table cadeau linker par la table transaction_produit
     Les redevance sont pris dans la table CI_forfait et 4 type de redevance son possible par cle
     Contient un fk_transaction_produit

   Une fois la table transaction_montant_detail rempli, on met à jour le champ fk_transaction_montant_detail 
   dans les tables afficheur_archive_mois et transaction_produit. 

5. ps_insert_redevance sert à remplir la table redevance.

   - Création de 2 table temporaire pour gérer l'information
   - On met 2 fois l'information de la table transaction_montant_detail 
     dans #temp_montant. Une fois pour la matrice de vente et une fois pour la matrice de soutient.
     Le montant est divisé par 2 dans chaque matrice.
   - On fait un premier ajout dans la table temporaire #temp_redevance. 
     Le montant est multiplier par le pourcentage associer au type de vendeur du parrain, trouver dans la table vendeur_statu
   - On soustrait au montant de la table temporaire #temp_montant la premier distribution de redevance.
   - On entre dans une boucle pour distribuer le reste du montant de #temp_montant, tant que les montants * %redevance sont > 0.01