tarif = new Detailtarifmedicament(); } public function index() { } public function exportermodele() { $codeTarifMedicament = $_SESSION['codeTarifMedicament']; $modeles = $this->tarif->getModeleTarif($codeTarifMedicament); // Excel $headerXLS = array( "codeTarifMedicament", "codeMedicament", "libelle", "prix"); $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 MEDICAMENT')); $feuille->fromArray($headerXLS, NULL, 'A1', true); $feuille->fromArray($dataXLS, NULL, 'A2', true); $fichier = 'Temp/TEMPLATE_MEDICAMENTS'."_".uniqid().".xlsx"; $writer = new Xlsx($classeur); $writer->save($fichier); $t_html ='
'; $t_html .=' '._("TELECHARGER").' '; $t_html .='
requete->getParametreFormulaire("idTarif"); $codeTarifMedicament = $this->requete->getParametreFormulaire("codeTarifMedicament"); $cheminFichier = $this->requete->getParametreFormulaire("cheminFichier"); $erreurImport="0"; $this->tarif->initIinsererLigneModeleTarif($codeTarifMedicament); $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++) { $codeMedicament = trim($tableauExcel[$i]['B']); $prix = trim($tableauExcel[$i]['D']); if ($prix<="0") { continue; } if ($codeMedicament<=" ") { $erreurImport="1"; $this->genererVueAjax(array('message_erreur_excel' => "Ligne " . $i ." => codeMedicament ne peut être vide !", 'succes_impot_execl' => "0")); break; exit(); } // codeMedicament inexistant dans p_medicamentmodel et donc p_medicament $codeMedicamentManquant = $this->tarif->getcodemedicamentmanquant($codeMedicament); if ($codeMedicamentManquant=="0") { $erreurImport="1"; $this->genererVueAjax(array('message_erreur_excel' => "$codeMedicament inconnu! => ligne $i", 'succes_impot_execl' => "0")); break; exit(); } $nbDoublon = $this->tarif->getdoubloncodemedicament($codeTarifMedicament, $codeMedicament); if ($nbDoublon>"0") { $erreurImport="1"; $this->genererVueAjax(array('message_erreur_excel' => "$codeMedicament en doublon! => ligne $i", 'succes_impot_execl' => "0")); break; exit(); } $this->tarif->insererLigneModeleTarif($codeTarifMedicament, $codeMedicament, $prix); } // s'il y a une quelquonque => Pas la peine de continuer if ($erreurImport=="1") { $this->genererVueAjax(array('message_erreur_excel' => "Veuillez revoir votre fichier!", 'succes_impot_execl' => "0")); exit(); } else { // Si le nombre total de médicaments importé = 0 => Pas la peine de continuer $nbMedocImportes = $this->tarif->nombremedocsimportes(); if ($nbMedocImportes==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!", 'succes_impot_execl' => "1")); exit(); } } } // public function incorporermedicamentsimportes() { $this->tarif->incorporermedicamentsimportes(); // $this->genererVueAjax(); } public function majetape() { $codeTarifMedicament = $this->requete->getParametreFormulaire("codeTarifMedicament"); $this->tarif->majetape($codeTarifMedicament); } }