208 lines
5.4 KiB
PHP
Executable File
208 lines
5.4 KiB
PHP
Executable File
<?php
|
|
require_once 'vendor/autoload.php';
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
|
require_once 'Framework/Controleurrequete.php'; // OK
|
|
require_once 'Modele/Detailtarifacte.php';
|
|
|
|
class ControleurAjaximportertarifacte extends Controleurrequete
|
|
{
|
|
private $tarif;
|
|
|
|
public function __construct() {
|
|
$this->tarif = new Detailtarifacte();
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
}
|
|
|
|
public function exportermodele()
|
|
{
|
|
$codeTarifActe = $_SESSION['codeTarifActe_C'];
|
|
|
|
$modeles = $this->tarif->getModeleTarif($codeTarifActe);
|
|
|
|
// Excel
|
|
$headerXLS = array(
|
|
"codeTarifActe",
|
|
"codeGarantie",
|
|
"garantie",
|
|
"garantieEng",
|
|
"codeActe",
|
|
"libelleActe",
|
|
"libelleActeEng",
|
|
"prix",
|
|
"prixNuitFerier",
|
|
"ordre");
|
|
|
|
$dataXLS = array();
|
|
|
|
foreach ($modeles as $modele)
|
|
{
|
|
$dataXLS[]=$modele;
|
|
}
|
|
|
|
$classeur = new Spreadsheet();
|
|
$classeur->getProperties()->setCreator("INTER-SANTE");
|
|
$classeur->setActiveSheetIndex(0);
|
|
$feuille=$classeur->getActiveSheet();
|
|
$feuille->setTitle(_('MODELE TARIF ACTE'));
|
|
$feuille->fromArray($headerXLS, NULL, 'A1', true);
|
|
$feuille->fromArray($dataXLS, NULL, 'A2', true);
|
|
|
|
$fichier = 'Temp/TEMPLATE_ACTES'."_".uniqid().".xlsx";
|
|
|
|
$writer = new Xlsx($classeur);
|
|
$writer->save($fichier);
|
|
|
|
$t_html =' <div class="alert alert-success"> ';
|
|
$t_html .=' <a style="font-size:15pt;" href="'.$fichier.'" target="_blank" > '._("TELECHARGER").' </a> ';
|
|
$t_html .=' </div ';
|
|
|
|
echo $t_html;
|
|
|
|
exit();
|
|
}
|
|
|
|
public function importermodele()
|
|
{
|
|
$codeTarifActe = $this->requete->getParametreFormulaire("codeTarifActe");
|
|
$cheminFichier = $this->requete->getParametreFormulaire("cheminFichier");
|
|
|
|
$this->tarif->initIinsererLigneModeleTarif($codeTarifActe);
|
|
|
|
$erreurImport="0";
|
|
|
|
$dataXLS = array();
|
|
|
|
$fichier = "Temp/import/".$cheminFichier;
|
|
|
|
if (!file_exists($fichier))
|
|
{
|
|
$erreurImport="1";
|
|
$this->genererVueAjax(array('message_erreur_excel' => "Fichier introubable sur le serveur !", 'succes_impot_execl' => "0"));
|
|
exit();
|
|
}
|
|
|
|
$docXLS = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
|
|
$Excel = $docXLS->load($fichier);
|
|
$feuille = $Excel->getSheet($Excel->getFirstSheetIndex());
|
|
|
|
$derniereLigne = $feuille->getHighestRow();
|
|
$derniereColonne = $feuille->getHighestColumn();
|
|
|
|
$tableauExcel = $feuille->toArray(null, true, true, true);
|
|
|
|
for ($i = 2; $i <= $derniereLigne; $i++)
|
|
{
|
|
|
|
$codeActe = trim($tableauExcel[$i]['E']);
|
|
|
|
$prix = trim($tableauExcel[$i]['H']);
|
|
if ($prix<="0")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
$prixNuitFerier = trim($tableauExcel[$i]['I']);
|
|
if ($prixNuitFerier<="0")
|
|
{
|
|
$prixNuitFerier = $prix;
|
|
}
|
|
|
|
if ($codeActe<=" ")
|
|
{
|
|
$erreurImport="1";
|
|
$this->genererVueAjax(array('message_erreur_excel' => "Ligne " . $i ." => Le Code Acte ne peut être vide !", 'succes_impot_execl' => "0"));
|
|
break;
|
|
exit();
|
|
}
|
|
|
|
$nbDoublon = $this->tarif->getdoublonimportacte($codeActe);
|
|
if ($nbDoublon > 0)
|
|
{
|
|
$erreurImport="1";
|
|
$this->genererVueAjax(array('message_erreur_excel' => "$codeActe en doublon! => ligne $i", 'succes_impot_execl' => "0"));
|
|
break;
|
|
exit();
|
|
}
|
|
|
|
$nbActe = $this->tarif->acteimporteexite($codeActe);
|
|
if ($nbActe==0)
|
|
{
|
|
$erreurImport="1";
|
|
$this->genererVueAjax(array('message_erreur_excel' => "$codeActe inconnu! => ligne $i", 'succes_impot_execl' => "0"));
|
|
break;
|
|
exit();
|
|
}
|
|
|
|
$this->tarif->insererLigneModeleTarif($codeActe, $prix, $prixNuitFerier);
|
|
}
|
|
|
|
// s'il y a une quelquonque => Pas la peine de continuer
|
|
if ($erreurImport=="1")
|
|
{
|
|
$this->genererVueAjax(array('message_erreur_excel' => "Veullez revoir votre fichier!", 'succes_impot_execl' => "0"));
|
|
exit();
|
|
}
|
|
else
|
|
{
|
|
// Si le nombre total d'actes importé = 0 => Pas la peine de continuer
|
|
$nbActeImportes = $this->tarif->nombreacteimportes();
|
|
if ($nbActeImportes==0)
|
|
{
|
|
$erreurImport="1";
|
|
$this->genererVueAjax(array('message_erreur_excel' => "Liste vide. Veuillez revoir votre fichier!", 'succes_impot_execl' => "0"));
|
|
exit();
|
|
}
|
|
else
|
|
{
|
|
$this->genererVueAjax(array('message_erreur_excel' => "Fichier temporaire extrait du serveur avec succes! => $nbActeImportes lignes importées", 'succes_impot_execl' => "1"));
|
|
exit();
|
|
}
|
|
}
|
|
}
|
|
|
|
//
|
|
|
|
|
|
public function incorporermedicamentsimportes()
|
|
{
|
|
$this->tarif->incorporermedicamentsimportes();
|
|
|
|
// $this->genererVueAjax();
|
|
}
|
|
|
|
public function majetape()
|
|
{
|
|
$codeTarifActe = $this->requete->getParametreFormulaire("codeTarifActe");
|
|
$this->tarif->majetape($codeTarifActe);
|
|
}
|
|
|
|
public function affichercomposantetarif()
|
|
{
|
|
$codeTarifActe = $this->requete->getParametreFormulaire("codeTarifActe");
|
|
$codeFamilleActe = $this->requete->getParametreFormulaire("codeFamilleActe");
|
|
|
|
|
|
$_SESSION['codeTarifActe_C'] = $codeTarifActe;
|
|
$_SESSION['codeFamilleActe_C'] = $codeFamilleActe;
|
|
|
|
|
|
$actes_in = $this->tarif->getactesimportes($codeTarifActe, $codeFamilleActe);
|
|
|
|
|
|
$this->genererVueAjax(array('actes_in' => $actes_in));
|
|
}
|
|
|
|
public function validerimporttarifacte()
|
|
{
|
|
$codeTarifActe = $this->requete->getParametreFormulaire("codeTarifActe");
|
|
|
|
$this->tarif->validerimporttarifacte($codeTarifActe);
|
|
|
|
|
|
}
|
|
|
|
} |