garant/Controleur/ControleurGenererbon.php
2025-12-01 19:18:15 +00:00

63 lines
2.2 KiB
PHP

<?php
require_once 'Framework/Controleur.php';
//require_once 'Modele/Typebon.php';
require_once 'Modele/Prestataire.php';
require_once 'Modele/Bonpec.php';
require_once 'Modele/Menuvueprofil.php';
class ControleurGenererbon extends Controleur {
private $bonpec;
private $prestataire;
private $denierNumeroBon;
public function __construct() {
$this->menuvue = new Menuvueprofil();
$this->menuvue->getMenuVue('Genererbon');
$this->bonpec = new Bonpec();
//$this->typebon = (new Typebon())->getListe();
//$this->prestataire = (new Prestataire())->getListeTypePrestataire('CSO');
$this->prestataire = (new Prestataire())->getListeTypePrestataireBon();
$this->denierNumeroBon = $this->bonpec->getDenierNumeroBon();
}
public function index() {
$msgErreur = "";
$this->genererVue(array('prestataire' => $this->prestataire, 'denierNumeroBon' => $this->denierNumeroBon, 'msgErreur' => $msgErreur));
}
public function genererBon() {
if (isset($_POST['codePrestataire']))
{
$codePrestataire = $this->requete->getParametre("codePrestataire");
$noDepart = $this->requete->getParametre("noDepart");
$noFin = $this->requete->getParametre("noFin");
$denierNumeroBon = $this->bonpec->getDenierNumeroBon();
if ($noFin<$noDepart)
{
$msgErreur = 'Veuillez revoir vos bornes !';
$this->genererVue(array('prestataire' => $this->prestataire, 'denierNumeroBon' => $denierNumeroBon, 'msgErreur' => $msgErreur), "index");
}
else
// Vérifier que la plage est libre
if ($this->bonpec->plageLibre($noDepart, $noFin))
{
$this->bonpec->genererBon($codePrestataire, $noDepart, $noFin);
$denierNumeroBon = $this->bonpec->getDenierNumeroBon();
$msgErreur = 'Génération terminée avec succès!';
$this->genererVue(array('prestataire' => $this->prestataire, 'denierNumeroBon' => $denierNumeroBon, 'msgErreur' => $msgErreur), "index");
}
else
{
$msgErreur = 'Cette plage est déjà occupée!';
$this->genererVue(array('prestataire' => $this->prestataire, 'denierNumeroBon' => $denierNumeroBon, 'msgErreur' => $msgErreur), "index");
}
} else
{
$this->rediriger("/");
}
}
}