ajout d'une fiche si non existante et test selon l'etat de la fiche courante

This commit is contained in:
Pierr0 2024-01-03 23:59:50 +01:00
parent 9f245f6578
commit f08b18fab5
15 changed files with 122 additions and 611 deletions

View File

@ -4,11 +4,34 @@ class Class_newFiche
{ {
private $pdo = null; private $pdo = null;
public function __construct(PdoGsb $pDO) private $month;
private $userId;
public function __construct(PdoGsb $pDO, string $userId, string $month)
{ {
$this->pdo = $pDO->getPdoGsb(); $this->pdo = $pDO->getPdoGsb();
$this->month = $month;
$this->userId = $userId;
$this->existingFile();
} }
/**
* Test et ajoute la fiche si elle n'existe pas
*/
private function existingFile(): void
{
$req = 'SELECT newremboursement(:idUser, :month); ';
$result = $this->pdo->prepare($req);
$result->bindParam('idUser', $this->userId);
$result->bindParam('month', $this->month);
$result->execute();
}
/**
* Liste les frais forfaitaires
*/
public function listFraisForfaitaires(): array public function listFraisForfaitaires(): array
{ {
$req = 'SELECT "fLibelle", NULL AS "lfQuantite", round("fMontant", 2) AS "fMontant", 0 AS "fTotal", "fId" FROM forfait'; $req = 'SELECT "fLibelle", NULL AS "lfQuantite", round("fMontant", 2) AS "fMontant", 0 AS "fTotal", "fId" FROM forfait';
@ -18,7 +41,10 @@ class Class_newFiche
return $result->fetchAll(); return $result->fetchAll();
} }
public function listFraisForfaitForU(string $idUser, int $month): array /**
* Liste les frais Forfetaires d'un user pour 1 mois
*/
public function listFraisForfaitForU(): array
{ {
$req = 'SELECT "fLibelle", "lfQuantite", ROUND("fMontant", 2) AS "fMontant", ROUND("lfQuantite" * "fMontant", 2) AS "fTotal", "fId" $req = 'SELECT "fLibelle", "lfQuantite", ROUND("fMontant", 2) AS "fMontant", ROUND("lfQuantite" * "fMontant", 2) AS "fTotal", "fId"
FROM remboursement FROM remboursement
@ -27,14 +53,17 @@ class Class_newFiche
WHERE "rVisiteur" = :idUser AND "rMois" = :monthF;'; WHERE "rVisiteur" = :idUser AND "rMois" = :monthF;';
$result = $this->pdo->prepare($req); $result = $this->pdo->prepare($req);
$result->bindParam('idUser', $idUser); $result->bindParam('idUser', $this->userId);
$result->bindParam('monthF', $month); $result->bindParam('monthF', $this->month);
$result->execute(); $result->execute();
return $result->fetchAll(); return $result->fetchAll();
} }
public function listFraisHF(string $idVisiteur, int $month): array /**
* Liste les frais hors forfait d'un user pour 1 mois
*/
public function listFraisHF(): array
{ {
$req = 'SELECT to_char("lhDate", \'YYYY-mm-dd\') AS "lhDate", $req = 'SELECT to_char("lhDate", \'YYYY-mm-dd\') AS "lhDate",
"lhLibelle", ROUND("lhMontant",2) as "lhMontant", "lhLibelle", ROUND("lhMontant",2) as "lhMontant",
@ -47,24 +76,43 @@ class Class_newFiche
ORDER BY "lhDate";'; ORDER BY "lhDate";';
$result = $this->pdo->prepare($req); $result = $this->pdo->prepare($req);
$result->bindParam(':idVisiteur', $idVisiteur); $result->bindParam(':idVisiteur', $this->userId);
$result->bindParam(':mois', $month); $result->bindParam(':mois', $this->month);
$result->execute(); $result->execute();
return $result->fetchAll(); return $result->fetchAll();
} }
public function getMontantValide(string $idVisiteur, int $month): float /**
* Fonction qui renvoie le prix total validé d'une fiche de frais
*
* AJOUTER UNE FONCTION QUI CREE LA FICHE DE FRAIS LORS DU SELECT SI CELLE CI N'EXISTE PAS
*/
public function getMontantValide(): float
{ {
$req = 'SELECT "rMontantValide" $req = 'SELECT "rMontantValide"
FROM remboursement FROM remboursement
WHERE "rVisiteur" = :idVisiteur AND "rMois" = :mois ;'; WHERE "rVisiteur" = :idVisiteur AND "rMois" = :mois ;';
$result = $this->pdo->prepare($req); $result = $this->pdo->prepare($req);
$result->bindParam(':idVisiteur', $idVisiteur); $result->bindParam(':idVisiteur', $this->userId);
$result->bindParam(':mois', $month); $result->bindParam(':mois', $this->month);
$result->execute(); $result->execute();
return $result->fetchAll()[0]['rMontantValide']; return $result->fetch()['rMontantValide'];
}
public function getStatus(): string
{
$req = 'select etat."eId" from remboursement
INNER JOIN etat on etat."eId" = remboursement."rEtat"
WHERE "rVisiteur" = :idVisiteur AND "rMois" = :mois ;';
$result = $this->pdo->prepare($req);
$result->bindParam(':idVisiteur', $this->userId);
$result->bindParam(':mois', $this->month);
$result->execute();
return $result->fetch()['eId'];
} }
} }

View File

@ -23,7 +23,7 @@ if (isset($_POST['login']) && isset($_POST['password'])) {
header('location: index.php?direction=home'); header('location: index.php?direction=home');
} }
} else { } else {
header('location: index.php'); include('vues/v_connexion.php');
} }
die; die;
/* /*

View File

@ -1,62 +0,0 @@
<?php
// ***************************************'
// Le CASTEL-BTS SIO/ PROJET PPE4 GSB '
// Programme: c_etatFrais.php '
// Objet : consultations des frais '
// Client : laboratoires GSB '
// Version : 3.0 '
// Date : 03/05/2023 à 14H09 '
// Auteur : pascal-blain@wanadoo.fr '
//****************************************'
$action = $_REQUEST['action'];
switch($action) {
case 'voir':
{
$nbRemboursementsAValider=$pdo->getNbRemboursementsAValider();
include("vues/v_entete.php");
if ($_SESSION['statut']!='1')
{
$lesVisiteurs=$pdo->getLesVisiteurs();
include("vues/v_choixVisiteur.php");
if ($_SESSION['idVisiteur']!=$visiteurChoisi) {unset($_REQUEST['lstMois']);$_SESSION['idVisiteur']=$visiteurChoisi;}
}
$idVisiteur = $_SESSION['idVisiteur'];
$lesMois=$pdo->getLesMoisDisponibles($idVisiteur);
include("vues/v_choixMois.php");
$_SESSION['leMois']= $moisChoisi;
$leMois=$_SESSION['leMois'];
$lesInfosRemboursement = $pdo->getInfosRemboursement($idVisiteur,$leMois);
$libEtat = $lesInfosRemboursement['libEtat'];
$montantValide = $lesInfosRemboursement['montantValide'];
$nbJustificatifs = $lesInfosRemboursement['nbJustificatifs'];
$dateModif = $lesInfosRemboursement['dateModif'];
$etatRemboursement = $lesInfosRemboursement['rEtat'];
$lesFraisForfait= $pdo->getLesFraisForfait($idVisiteur,$leMois);
$lesFraisHorsForfait = $pdo->getLesFraisHorsForfait($idVisiteur,$leMois);
$ajoutFraisPossible = $pdo->getAjoutFraisPossible($idVisiteur, $leMois, $etatRemboursement);
include("vues/v_etatFrais.php");
break;
}
case 'validerEtat':
{
// code à rédiger ici ...
/*
// il faut actualiser le code etat, la date, le nombre de justificatifs et le montant valide
$pdo->valideRemboursement($idVisiteur,$leMois);
$moisASelectionner = $leMois;
header ('location: index.php?uc=etatFrais&action=voir&lstMois='.$leMois);
break;*/
}
default :
{
echo 'erreur d\'aiguillage !'.$action;
break;
}
}
?>

View File

@ -1,74 +0,0 @@
<?php
// *****************************************'
// Le CASTEL-BTS SIO/ PROJET PPE4 GSB '
// Programme: c_gererFraisForfaitaire.php '
// Objet : Ajout/modif/suppression frais'
// Client : laboratoires GSB '
// Version : 3.0 '
// Date : 03/05/2023 à 11H01 '
// Auteur : pascal-blain@wanadoo.fr '
//******************************************'
$idVisiteur = $_SESSION['idVisiteur'];
$leMois = $_SESSION['leMois'];
$action = $_REQUEST['action'];
//----------------------------------------- AJOUT
if ($action=='choix')
{
include("vues/v_entete.php");
$lesForfaitsPossibles= $pdo->getLesForfaitsPossibles();
$prixKm=$pdo->getPrixKm($idVisiteur,$leMois);
include("vues/v_ajoutFraisForfaitaire.php");
}
if ($action=='valider')
{// enregistrement de la ligne et retour vers l'etat des frais
$qte = $_REQUEST['zQte'];
if ($qte>0)
{ $forfait = $_REQUEST['zForfait'];
$montant = str_replace(",",".",$_REQUEST['zPrix']);
$montant = str_replace(" ","",$montant);
$pdo->ajoutFraisForfait($idVisiteur, $leMois, $forfait, $qte, $montant); //insertion dans la table;
}
$moisASelectionner = $leMois;
header ('location: index.php?uc=etatFrais&action=voir&lstMois='.$leMois);
}
//----------------------------------------- MODIFICATION
if ($action=='editer')
{
include("vues/v_entete.php");
$forfait = $_REQUEST['forfait'];
$unForfait = $pdo->getUnFraisForfait($idVisiteur, $leMois, $forfait);
include("vues/v_unFraisForfaitaire.php");
}
if ($action=='validerModifier')
{// mise à jour de la ligne et retour vers l'etat des frais
$qte = $_REQUEST['zQte'];
if ($qte>0)
{
$forfait = $_REQUEST['forfait'];
$pdo->majFraisForfait($idVisiteur, $leMois, $forfait, $qte); //mise à jour de la table;
}
$moisASelectionner = $leMois;
header ('location: index.php?uc=etatFrais&action=voir&lstMois='.$leMois);
}
//----------------------------------------- SUPPRESSION
if ($action=='supprimer')
{
include("vues/v_entete.php");
$forfait = $_REQUEST['forfait'];
$unForfait = $pdo->getUnFraisForfait($idVisiteur, $leMois, $forfait);
include("vues/v_unFraisForfaitaire.php");
}
if ($action=='validerSupprimer')
{// suppression de la ligne et retour vers l'etat des frais
$qte = $_REQUEST['zQte'];
if ($qte>0)
{
$forfait = $_REQUEST['forfait'];
$pdo->supprimerFraisForfait($idVisiteur, $leMois, $forfait); //suppession de la ligne dans la table;
}
$moisASelectionner = $leMois;
header ('location: index.php?uc=etatFrais&action=voir&lstMois='.$leMois);
}
?>

View File

@ -1,75 +0,0 @@
<?php
// *****************************************'
// Le CASTEL-BTS SIO/ PROJET PPE4 GSB '
// Programme: c_gererFraisHorsForfait.php '
// Objet : Ajout/modif/suppression frais'
// Client : laboratoires GSB '
// Version : 3.0 '
// Date : 03/05/2023 à 11H01 '
// Auteur v1: pascal-blain@wanadoo.fr '
//******************************************'
$idVisiteur = $_SESSION['idVisiteur'];
$leMois = $_SESSION['leMois'];
$action = $_REQUEST['action'];
//----------------------------------------- AJOUT
if ($action=='ajouter')
{
include("vues/v_entete.php");
include("vues/v_ajoutFraisHorsForfait.php");
}
if ($action=='valider')
{// enregistrement de la ligne et retour vers l'etat des frais
$date = $_REQUEST['zDate'];
if ($date>0)
{ $libelle=addslashes($_REQUEST['zLibelle']);
$montant = str_replace(",",".",$_REQUEST['zMontant']);
$montant = str_replace(" ","",$montant);
$pdo->ajoutFraisHorsForfait($idVisiteur, $leMois, $date, $libelle, $montant); //insertion dans la table;
}
$moisASelectionner = $leMois;
header ('location: index.php?uc=etatFrais&action=voir&lstMois='.$leMois);
}
//----------------------------------------- MODIFICATION
if ($action=='editer')
{
include("vues/v_entete.php");
$idFrais = $_REQUEST['idFrais'];
$unFrais = $pdo->getUnFraisHorsForfait($idFrais);
include("vues/v_unFraisHorsForfait.php");
}
if ($action=='validerModifier')
{// mise à jour de la ligne et retour vers l'etat des frais
$montant = $_REQUEST['zMontant'];
if ($montant>0)
{
$idFrais = $_REQUEST['idFrais'];
$date = $_REQUEST['zDate'];
$libelle=addslashes($_REQUEST['zLibelle']);
$montant = str_replace(",",".",$_REQUEST['zMontant']);
$montant = str_replace(" ","",$montant);
$pdo->majFraisHorsForfait($idFrais, $date, $libelle, $montant); //mise à jour de la table;
}
$moisASelectionner = $leMois;
header ('location: index.php?uc=etatFrais&action=voir&lstMois='.$leMois);
}
//----------------------------------------- SUPPRESSION
if ($action=='supprimer')
{
}
if ($action=='validerSupprimer')
{
$montant = $_REQUEST['zMontant'];
if ($montant>0)
{
}
}
?>

View File

@ -1,13 +1,9 @@
<?php <?php
require_once(__DIR__ . '/../Class/class.newFiche.php'); require_once(__DIR__ . '/../Class/class.newFiche.php');
$newFiche = new Class_newFiche($pdo); $typeUser = $_SESSION['uType']; //visiteur ou comptable
$userId = $_SESSION['uId']; //exemple: 'b34'
$_SESSION['userId'] = 'b34';
$_SESSION['typeU'] = 'visiteur';
$typeUser = $_SESSION['uType'];
$userId = $_SESSION['uId'];
$date = '202011';
/** /**
* Gestion de la date selon la vue à afficher * Gestion de la date selon la vue à afficher
@ -41,10 +37,14 @@ if (isset($_GET['currentList'])) {
$date = $_GET['dateListing']; $date = $_GET['dateListing'];
} }
$date = '202404';
$newFiche = new Class_newFiche($pdo, $userId, $date);
/** /**
* Liste des frais forfaitaires du mois et de l'user :: sinon afficher les libelle * Liste des frais forfaitaires du mois et de l'user :: sinon afficher les libelle
*/ */
$listeFraisForfaitaire = $newFiche->listFraisForfaitForU($userId, $date); $listeFraisForfaitaire = $newFiche->listFraisForfaitForU();
if (count($listeFraisForfaitaire) == 0) { if (count($listeFraisForfaitaire) == 0) {
$listeFraisForfaitaire = $newFiche->listFraisForfaitaires(); $listeFraisForfaitaire = $newFiche->listFraisForfaitaires();
} }
@ -52,11 +52,18 @@ if (count($listeFraisForfaitaire) == 0) {
/** /**
* Listes des frais HF * Listes des frais HF
*/ */
$listeFraisHf = $newFiche->listFraisHF($userId, $date); $listeFraisHf = $newFiche->listFraisHF();
/** /**
* TOTAL DE LA FICHE * TOTAL DE LA FICHE
*/ */
$totalFraisFiche = $newFiche->getMontantValide($userId, $date); $totalFraisFiche = $newFiche->getMontantValide();
/**
* ETAT DE LA FICHE
*/
$status = $newFiche->getStatus();
//$status = 'CR'; //créé
$disabled = ($status !== 'CR') ? 'disabled' : '';
include(__DIR__ . '/../vues/v_newFiche.php'); include(__DIR__ . '/../vues/v_newFiche.php');

View File

@ -14,13 +14,11 @@ session_start();
require_once("Class/class.pdo.php"); require_once("Class/class.pdo.php");
$pdo = new PdoGsb(); $pdo = new PdoGsb();
//$estConnecte = estConnecte();
$_SESSION['typeU'] = 'visiteur'; $_SESSION['typeU'] = 'visiteur';
/*
if (!isset($_SESSION['userId'])) { /**
$_REQUEST['direction'] = 'connexion'; * Direction si non renseigné et non connecté
} */
*/
if (!isset($_REQUEST['direction']) && !isset($_SESSION['uId'])) { if (!isset($_REQUEST['direction']) && !isset($_SESSION['uId'])) {
$_REQUEST['direction'] = 'connexion'; $_REQUEST['direction'] = 'connexion';
} elseif (!isset($_REQUEST['direction']) && isset($_SESSION['uId'])) { } elseif (!isset($_REQUEST['direction']) && isset($_SESSION['uId'])) {

24
sqlFunction.txt Normal file
View File

@ -0,0 +1,24 @@
--Fonction pour créer une fiche si celle-ci n'existe pas
CREATE OR REPLACE FUNCTION newRemboursement(userId CHAR(10), monthFile CHAR(10)) RETURNS int AS $$
DECLARE
returnValue INT;
BEGIN
SELECT COUNT(*) INTO returnValue
FROM remboursement
WHERE "rVisiteur" = userId AND "rMois" = monthFile;
IF returnValue = 0 THEN
-- Ajoute une nouvelle ligne à la table remboursement
INSERT INTO remboursement
VALUES(userId, monthFile, 0, 0, CURRENT_DATE, 'CR');
-- Mettre à jour la valeur de returnValue après l'insertion
returnValue := 1; -- Valeur pour indiquer qu'une ligne a été insérée
END IF;
RETURN returnValue;
END;
$$ LANGUAGE 'plpgsql';

View File

@ -1,75 +0,0 @@
<!-- Derniere modification le 03/05/2023 à 11H01 -->
<div id="contenu">
<h2>AJOUT FRAIS FORFAITAIRE</h2>
<form name="nouveauFraisForfaitaire" action="index.php?uc=gererFraisForfaitaire&action=valider" method="POST">
<table class="listeLegere">
<thead>
<tr>
<th class="date">Quantit&eacute;</th>
<th class="eltForfait">Nature de la d&eacute;pense</th>
<th class="montant">Prix</th>
<th class="montant">Montant</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="hidden" name="zMois" value="<?PHP echo $leMois; ?>">
<input type="text" name="zQte" onkeyup="calculer()" style="text-align:right;"></td>
<td><select name="zForfait" onchange="calculer()">
<?PHP
foreach ($lesForfaitsPossibles as $unForfait)
{echo'<option value="'.$unForfait['fId'].'" size="1">'.$unForfait['fLibelle'].'</option>';}
?>
</select>
</td>
<td><input type="text" name="zPrix" style="text-align:right;" disabled></td>
<td><input type="text" name="zMontant" style="text-align:right;" disabled></td>
</tr>
</tbody>
</table>
<?php echo 'Puissance du v&eacute;hicule : '.$prixKm['aPuissance'].' - Carburant : '.$prixKm['aMotorisation'].' (tarif en vigueur depuis le : '.$prixKm['aDate'].')'; ?>
<p align="right"><input type="image" name="zValider" alt="Valider" src="images/valider.jpg" onclick="valider()"><input type="image" name="zAnnuler" alt="Annuler" src="images/annuler.jpg" onclick="annuler()"></p>
</form>
</div>
<script src="include/proceduresJava.js" type="text/javascript"></script>
<script type="text/javascript">
function calculer()
{
<?php
$tarif = 'var tarif = [';
foreach ($lesForfaitsPossibles as $unForfait)
{
$tarif .= $unForfait['fMontant'].',';
}
$tarif .='];';
echo $tarif."\n";
?>
var iLeChoix = document.nouveauFraisForfaitaire.zForfait.selectedIndex;
var quantite = document.nouveauFraisForfaitaire.zQte.value;
if (!isNaN(quantite))
{
document.nouveauFraisForfaitaire.zMontant.value = format_euro(quantite * (parseInt(parseFloat(tarif[iLeChoix])*1000))/1000);
}
document.nouveauFraisForfaitaire.zPrix.value = format_euro((parseInt(parseFloat(tarif[iLeChoix])*1000))/1000);
}
function valider()
{
document.nouveauFraisForfaitaire.zPrix.disabled=false;
document.nouveauFraisForfaitaire.submit();
}
function annuler()
{
document.nouveauFraisForfaitaire.reset();
document.nouveauFraisForfaitaire.submit();
}
window.onload = function() { calculer(); };
</script>

View File

@ -1,39 +0,0 @@
<!-- ajout d'un frais hors forfaits / Dernière modification le 03/05/2023 à 11H01 par P. Blain -->
<div id="contenu">
<h2>AJOUT D'UN FRAIS HORS FORFAIT</h2>
<form name="unFraisHorsForfait" action="index.php?uc=gererFraisHorsForfait&action=valider" method="POST">
<table class="listeLegere">
<thead>
<tr>
<th class="date">Date</th>
<th class="eltForfait">Nature de la d&eacute;pense</th>
<th class="montant">Montant</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="hidden" name="zMois" value="<?PHP echo $leMois; ?>">
<input type="text" name="zDate" style="text-align:center;border:0;"></td>
<td><input type="text" name="zLibelle" style="text-align:left;border:0;" size='80' maxlength='80' ></td>
<td><input type="text" name="zMontant" style="text-align:right;border:0;"></td>
</tr>
</tbody>
</table>
<p align="right"><input type="image" name="zValider" alt="Valider" src="images/valider.jpg" onclick="valider()"><input type="image" name="zAnnuler" alt="Annuler" src="images/annuler.jpg" onclick="annuler()"></p>
</form>
</div>
<script type="text/javascript">
function valider()
{
document.unFraisHorsForfait.submit();
}
function annuler()
{
document.unFraisHorsForfait.reset();
document.unFraisHorsForfait.submit();
}
</script>
<!-- fin -->

View File

@ -1,49 +0,0 @@
<!-- choix d'un mois / Derniere modification le 03/05/2023 à 11H01 par Pascal Blain -->
<script src="include/proceduresJava.js" type="text/javascript"></script>
<?php
if ($_SESSION['statut']=="1") {
$nbM=count($lesMois);
echo '
<div id="contenu">
<form name="choixM" action="index.php?uc=etatFrais&action=voir" method="post">
<h2>Etat de frais de ';} ?>
<select id="lstMois" name="lstMois" onchange="submit();">
<?php
if (!isset($_REQUEST['lstMois']))
{$moisChoisi = 'premier';}
else
{$moisChoisi=$_REQUEST['lstMois'];
}
$i=1;
foreach ($lesMois as $unMois)
{
if($unMois['mois'] == $moisChoisi or $moisChoisi == 'premier')
{echo "<option selected value=\"".$unMois['mois']."\">".$unMois['numMois']." ".$unMois['numAnnee']."</option>\n ";
$moisChoisi = $unMois['mois'];
$noM=$i;}
else
{echo "<option value=\"".$unMois['mois']."\">".$unMois['numMois']." ".$unMois['numAnnee']."</option>\n ";
$i=$i+1;}
}
echo '
</select></h2>';
?>
<!-- ============================================================== navigation dans les listes visiteurs et mois -->
<div id="navigation">
<input type="image" id="zPremier" alt="premier" src="images/goPremier.gif" onclick="premier(<?php echo "'".$_SESSION['statut']."'"; ?>)">
<input type="image" id="zPrecedent" alt="pr&eacute;c&eacute;dent" src="images/goPrecedent.gif" onclick="precedent(<?php echo "'".$_SESSION['statut']."'"; ?>)">
<?php
echo '
<input type="text" id="zNumero" alt="indice" value="'.$noM.'/'.$nbM.'" disabled="true" size="5" style="text-align:center;vertical-align:top;">';
?>
<input type="image" id="zSuivant" alt="premier" src="images/goSuivant.gif" onclick="suivant(<?php echo "'".$_SESSION['statut']."'"; ?>)">
<input type="image" id="zDernier" alt="premier" src="images/goDernier.gif" onclick="dernier(<?php echo "'".$_SESSION['statut']."'"; ?>)">
</div>
</form>
<!-- fin liste de choix -->

View File

@ -1,34 +0,0 @@
<!-- Choix d'un visiteur / Derniere modification le 03/05/2023 à 11H01 par Pascal Blain -->
<?php
if ($_SESSION['statut']!="1")
{
echo '
<div id="contenu">
<form name="choixV" action="index.php?uc=etatFrais&action=voir" method="post">
<h2>Etat de frais de
<select id="lstVisiteurs" name="lstVisiteurs" onchange="submit();">';
if (!isset($_REQUEST['lstVisiteurs']))
{$visiteurChoisi = 'premier';}
else
{
$visiteurChoisi=$_REQUEST['lstVisiteurs'];
}
echo '
</select>
Mois de ';
}
?>

View File

@ -1,30 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Intranet du Laboratoire Galaxy-Swiss Bourdin</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link href="./styles/stylesGSB.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" type="image/x-icon" href="./images/favicon.ico" />
</head>
<body>
<div id="page">
<div id="entete">
<img src="./images/logo.jpg" id="logoGSB" alt="Laboratoire Galaxy-Swiss Bourdin" title="Laboratoire Galaxy-Swiss Bourdin" />
<?php if (isset($_SESSION['idUtilisateur']))
{echo '
<!-- affichage du menu / Derniere modification le 03/05/2023 à 11H01 par P. Blain -->
<div id="sommaire">
<ul>
<li><a href="" title="">&nbsp;</a></li>
<li><a href="" title="">&nbsp;</a>|</li>
<li><b>Bienvenue '.$_SESSION['prenom'].' '.strtoupper($_SESSION['nom']).'</b> ('.$_SESSION['typeUtilisateur'].')';
if ($_SESSION['statut']<>'1') {echo '<br /><i>Il y a '.$nbRemboursementsAValider.' demandes &agrave; valider</i>';}
echo ' </li>
<li><a href="index.php?uc=connexion&action=demandeConnexion" title="Se d&eacute;connecter"><img alt="déconnexion" src="images/deconnexion.png" border="0" height="26px"></a></li>
</ul>
</div>';} ?>
<br /><br /><h1>&Eacute;TAT DES FRAIS ENGAG&Eacute;S</h1>
<p style="text-align=left;"><?php echo $_SESSION['adr1'].'<br />'.$_SESSION['adr2'].'</p>';?>
</div>
<!-- fin affichage du menu -->

View File

@ -1,140 +0,0 @@
<!-- affichage du detail de la fiche frais / Derniere modification le 03/05/2023 à 11H01 par Pascal BLAIN -->
<div class="encadre">
<!-- ============================================================== frais forfaitaires -->
<table class="listeLegere">
<caption><h3>&emsp;&Eacute;l&eacute;ments forfaitis&eacute;s
<?php
if ($ajoutFraisPossible['forfait']=="oui") echo '
<a href="index.php?uc=gererFraisForfaitaire&action=choix" title="ajout frais forfaitaire">
<img alt="Ajouter un frais forfaitaire" src="images/ajouter.jpg" border="0">&nbsp;</a>
';?></h3>
</caption>
<thead>
<tr>
<th class="date">Quantit&eacute;</th>
<th class="eltForfait">Nature de la d&eacute;pense</th>
<th class="montant">Prix</th>
<th class="montant">Montant</th>
<?php
if ($ajoutFraisPossible['horsForfait']=="oui" or $ajoutFraisPossible['modifComptable']=="oui") {echo '
<th>&nbsp;</th>
<th>&nbsp;</th>';} ?>
</tr>
</thead>
<tbody>
<?php
$totalFraisForfait=0;
foreach ( $lesFraisForfait as $unFraisForfait )
{ echo '
<tr>
<td align="right">'.$unFraisForfait['lfQuantite'].'</td>
<td>'.$unFraisForfait['fLibelle'].'</td>
<td align="right">'.number_format($unFraisForfait['lfMontant'],2,',','.').'</td>
<td align="right">'.number_format($unFraisForfait['totalLigne'],2,',','.').'</td>';
if ($ajoutFraisPossible['horsForfait']=="oui" or $ajoutFraisPossible['modifComptable']=="oui") echo '
<td><a href="index.php?uc=gererFraisForfaitaire&action=editer&forfait='.$unFraisForfait['idfrais'].'"><img alt="modifier" src="images/editer.jpg" border="0"></a></td>
<td><a href="index.php?uc=gererFraisForfaitaire&action=supprimer&forfait='.$unFraisForfait['idfrais'].'"><img alt="supprimer" src="images/supprimer.jpg" border="0"></a></td>';
echo '
</tr>';
$totalFraisForfait=$totalFraisForfait + $unFraisForfait['totalLigne'];
}
echo '
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td align="right"><b>Total</b></td>
<td align="right"><b>'.number_format($totalFraisForfait,2,',','.').'</b></td>';
if ($ajoutFraisPossible['horsForfait']=="oui" or $ajoutFraisPossible['modifComptable']=="oui") {echo '
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>';}
?>
</tbody>
</table>
<!-- ============================================================== rappel des elements du remboursement -->
<form name="autresfrais" action="index.php?uc=etatFrais&action=validerEtat" method="post">
<div id="menu">
<ul>
<li>Etat : <b><?php echo $libEtat;?> </b></li>
<li>depuis le :<br /><b><?php echo $dateModif;?></b> </li>
<li>Justificatifs : <b><?php echo $nbJustificatifs; ?></b></li>
<li>Montant valid&eacute; : <br /><b><?php echo number_format($montantValide,2,',','.').' &euro;';?></b> </li><br />
<?php
if ($ajoutFraisPossible['modifComptable']=="oui") { echo '
<li style="list-style-type:none;"><img alt="validation de la demande de remboursement" src="images/validation.jpg" onClick="document.autresfrais.submit();"></li>';}
?>
</ul>
</div>
<!-- ============================================================== frais hors forfaits -->
<table class="listeLegere">
<caption><h3>&emsp;Autres d&eacute;penses (hors forfaits)
<?php
if ($ajoutFraisPossible['horsForfait']=="oui") echo '
<a href="index.php?uc=gererFraisHorsForfait&action=ajouter" title="ajout frais hors forfait">
<img alt="Ajouter un frais hors forfait" src="images/ajouter.jpg" border="0">&nbsp;</a>
';?></h3>
</caption>
<thead>
<tr>
<th class="date">Date</th>
<th class="libelle">Nature de la d&eacute;pense</th>
<th class="montant">Montant</th>
<?php
if ($ajoutFraisPossible['horsForfait']=="oui" or $ajoutFraisPossible['modifComptable']=="oui") {echo '
<th>&nbsp;</th>
<th>&nbsp;</th>';}
if ($ajoutFraisPossible['modifComptable']=="oui") {echo '
<th><img name="zTous" alt="valider tous les justificatifs" src="images/cocheB.gif" width="20px" onClick="tousLesJustificatifs(document.autresfrais);" onMouseOver="src=\'images/cocheR.gif\'" onMouseOut="src=\'images/cocheB.gif\'">
<input type="hidden" name="zSens" value="on"></th>';}
?>
</tr>
</thead>
<tbody>
<?php
$totalFraisHorsForfait=0;
foreach ( $lesFraisHorsForfait as $unFraisHorsForfait )
{if (substr($unFraisHorsForfait['lhLibelle'],0,6)<>'REFUSE') {$td='<td style="text-decoration:none;"';} else {$td='<td style="text-decoration:line-through; color:red;"';}
echo '<tr>'.
$td.'>'.$unFraisHorsForfait['lhDate'].'</td>'.
$td.'>'.$unFraisHorsForfait['lhLibelle'].'</td>'.
$td.' align="right">'.number_format($unFraisHorsForfait['lhMontant'],2,',','.').'</td>';
if ($ajoutFraisPossible['horsForfait']=="oui" or $ajoutFraisPossible['modifComptable']=="oui")
{echo '
<td><a href="index.php?uc=gererFraisHorsForfait&action=editer&idFrais='.$unFraisHorsForfait['lhId'].'"><img alt="modifier" src="images/editer.jpg" border="0"></a></td>
<td><img alt="supprimer" src="images/supprimer.jpg" border="0"></td>';
}
if ($ajoutFraisPossible['modifComptable']=="oui")
{if (substr($unFraisHorsForfait['lhLibelle'],0,6)<>'REFUSE')
{echo '<td><input type="checkbox" name="justificatifs[]" value="'.$unFraisHorsForfait['lhId'].'" checked onClick=""></td>';}
else
{echo '<td>&nbsp;</td>';}
}
$totalFraisHorsForfait=$totalFraisHorsForfait + $unFraisHorsForfait['lhMontant']; echo '
</tr>';
}
echo '
<tr>
<td>&nbsp;</td>
<td align="right"><b>Total</b></td>
<td align="right"><b>'.number_format($totalFraisHorsForfait,2,',','.').'</b></td>';
if ($ajoutFraisPossible['horsForfait']=="oui" or $ajoutFraisPossible['modifComptable']=="oui") {echo '
<td>&nbsp;</td>
<td>&nbsp;</td>';}
if ($ajoutFraisPossible['modifComptable']=="oui") {echo '
<td>&nbsp;</td>';} echo '
</tr>
</tbody>
</table>
</div>
<h3 align="center"><b>Total de la demande de remboursement de frais : '.number_format($totalFraisForfait + $totalFraisHorsForfait,2,',','.').' &euro;</b></h3>
</form>
</div>'; ?>

View File

@ -30,7 +30,7 @@
</th> </th>
<td> <td>
<input type="text" name="fraisForfait-<?= $value['fId'] ?>" class="form-control frsFrt" <input type="text" name="fraisForfait-<?= $value['fId'] ?>" class="form-control frsFrt"
id="<?= $key ?>" value="<?= $value['lfQuantite'] ?>"> id="<?= $key ?>" value="<?= $value['lfQuantite'] ?>" <?= $disabled ?>>
</td> </td>
<td id="mttFrs-<?= $key ?>" data-price="<?= $value['fMontant'] ?>"> <td id="mttFrs-<?= $key ?>" data-price="<?= $value['fMontant'] ?>">
<?= $value['fMontant'] ?> <?= $value['fMontant'] ?>
@ -86,11 +86,11 @@
<td> <td>
<?php <?php
if ($typeUser === 'comptable') { ?> if ($typeUser === 'comptable') { ?>
<button type="button" class="btn btn-outline-primary btnRefuseFraisHf" id="frsSup-<?= $key ?>"> <button type="button" class="btn btn-outline-primary btnRefuseFraisHf" id="frsSup-<?= $key ?>" <?= $disabled ?>>
Refuser Refuser
</button> </button>
<?php } elseif ($typeUser === 'visiteur') { ?> <?php } elseif ($typeUser === 'visiteur') { ?>
<button type="button" class="btn btn-outline-primary btnSuprFraisHf" id="frsSup-<?= $key ?>"> <button type="button" class="btn btn-outline-primary btnSuprFraisHf" id="frsSup-<?= $key ?>" <?= $disabled ?>>
Supprimer Supprimer
</button> </button>
<?php } ?> <?php } ?>
@ -102,6 +102,9 @@
<!-- <!--
Formulaire d'ajout de frais HF Formulaire d'ajout de frais HF
--> -->
<?php
if ($disabled !== 'disabled'):
?>
<tr class="newFraisForm"> <tr class="newFraisForm">
<td> <td>
<!-- Date form --> <!-- Date form -->
@ -115,6 +118,7 @@
<td><input type="file" class="form-control"></td> <td><input type="file" class="form-control"></td>
<td><button type="button" class="btn btn-outline-primary validFraisHF">Valider</button></td> <td><button type="button" class="btn btn-outline-primary validFraisHF">Valider</button></td>
</tr> </tr>
<?php endif ?>
<tr> <tr>
<td colspan="2" class="border-0"></td> <td colspan="2" class="border-0"></td>
<td class="table-primary" id="total-frais-HF">TOTAL: 0</td> <!--COMPLETE HERE --> <td class="table-primary" id="total-frais-HF">TOTAL: 0</td> <!--COMPLETE HERE -->
@ -137,7 +141,15 @@
<textarea name="commentaireFiche" id="commentaireFiche" class="form-control border-black"></textarea> <textarea name="commentaireFiche" id="commentaireFiche" class="form-control border-black"></textarea>
</div> </div>
--> -->
<div class="col-3 d-flex mx-auto my-5 justify-content-center"> <?php
<button type="button" class="btn btn-outline-primary btn-lg">Envoyer la Fiche</button> /**
</div> * Affiche le bouton si fiche non cloturé
*/
if ($status === 'CR'):
?>
<div class="col-3 d-flex mx-auto my-5 justify-content-center">
<button type="button" class="btn btn-outline-primary btn-lg" data-uType="<?= $typeUser ?>">Envoyer la Fiche
</button>
</div>
<?php endif ?>
<script src="../include/newFiche.js"></script> <script src="../include/newFiche.js"></script>