Compte-Rendu PPE 3.2

T1: Script de clôture

Le script de clôture a été réalisé de cette manière, elle permet de modifier manuellement l'état d'une fiche de frais:

<php> function modifierEtatFicheFrais($idCnx, $unMois, $unIdVisiteur, $unEtat) {

$requete = "update FicheFrais set idEtat = '" . $unEtat .
"', dateModif = now() where idVisiteur ='" .
$unIdVisiteur . "' and mois = '". $unMois . "'";
mysql_query($requete, $idCnx);

</php>

Il est possible de l'automatiser avec le code suivant (à rentrer sur PHPMyAdmin):

CREATE EVENT Cloture
ON SCHEDULE EVERY 1 MONTH STARTS '2013-10-10 01:00:00'
DO UPDATE fichefrais SET idEtat='CL' WHERE RIGHT(mois , 2) = MONTH(DATE_SUB(NOW(), INTERVAL 1 MONTH))

T2: programme de validation/suppression/modification des fiches de frais

La fonction modifierEtatFicheFrais utilisé en T1 permet aussi de valider les fiches de frais.

Le programme de suppression est codé de la manière suivante:

<php> function refuseLigneHF($idCnx, $unIdLigneHF) {

$requete = "update lignefraishorsforfait set libelle = CONCAT('[REFUSE] ', libelle) where id =".$unIdLigneHF;
mysql_query($requete, $idCnx);

} </php>

Cette fonction ajoute simplement le mot [REFUSE] à la fiche de frais choisi.

La modification d'une fiche de frais est codée de la manière suivante:

<php> function modifierEltsForfait($idCnx, $unMois, $unIdVisiteur, $desEltsForfait) {

$unMois=filtrerChainePourBD($unMois);
$unIdVisiteur=filtrerChainePourBD{{:slam:ws:2013:ppe3.2:equipe6:applifrais.zip|}}($unIdVisiteur);
foreach ($desEltsForfait as $idFraisForfait => $quantite) {
$requete = "update LigneFraisForfait set quantite = " . $quantite
. " where idVisiteur = '" . $unIdVisiteur . "' and mois = '"
. $unMois . "' and idFraisForfait='" . $idFraisForfait . "'";
mysql_query($requete, $idCnx);
}

} </php>

Le comptable entrera ensuite les nouvelles coordonnées de la fiche de frais sur un tableau prévu à cet effet et valider.

T3:

Lien partie: applifrais.zip