production/Controleur/ControleurAjaxexporterfacturegarant.php
2025-12-02 11:29:44 +00:00

248 lines
6.5 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/Facturegarant.php';
class ControleurAjaxexporterfacturegarant extends Controleurrequete
{
private $facture;
public function __construct() {
$this->facture = new Facturegarant();
}
public function index()
{
$factures = $this->facture->facturegarantexport();
$debut = $this->requete->getParametreDate("debut");
$fin = $this->requete->getParametreDate("fin");
$encaisse = $this->requete->getParametreFormulaire("encaisse");
// Excel
$headerXLS = array
(
_('Garant'),
_('Exercice'),
_('Date Facture'),
_('Type'),
_('Périodicité'),
_('Début'),
_('Fin'),
_('Groupe'),
_('Numéro'),
_('Prime Nette'),
_('Commission'),
_('Accessoires'),
_('Montant Sinistres'),
_('Honoraires Sinistres'),
_('Montant HT'),
_('Taxe'),
_('Montant TTC'),
_('Encaissements'),
_('Solde'),
_('Soldée'),
_('Population')
);
$dataXLS = array();
foreach ($factures as $v)
{
$dataXLS[]=$v;
}
$classeur = new Spreadsheet();
$classeur->getProperties()->setCreator("INTER SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('LISTE DES FACTURES GARANT'));
/*
$feuille->fromArray($headerXLS, NULL, 'A1', true);
$feuille->fromArray($dataXLS, NULL, 'A2', true);
*/
$feuille->setCellValue('A1', convertirc($_SESSION['nomSociete']));
$feuille->setCellValue('A2', convertirc(_('LISTE DES FACTURES GARANT DU').' '.dateLang($debut).' AU '.dateLang($fin)));
$feuille->mergeCells('A2:D2');
if($encaisse=="0"){
$feuille->setCellValue('A3', convertirc(_('FACTURES NON SOLDEES')));
}elseif($encaisse=="1"){
$feuille->setCellValue('A3', convertirc(_('FACTURES SOLDEES')));
}else{
$feuille->setCellValue('A3', convertirc(_('FACTURES TOUS SOLDES CONFONDUS')));
}
$feuille->fromArray($headerXLS, NULL, 'A5', true);
$feuille->fromArray($dataXLS, NULL, 'A6', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_FACTURES_GARANT'."_".uniqid().".xlsx";
$writer = new Xlsx($classeur);
$writer->save($fichier);
$t_html =' <div id ="div_export_a" class="alert alert-info"> ';
$t_html .=' <a style="font-size:15pt;" href="'.$fichier.'" target="_blank" > '._("TELECHARGER").' </a> ';
$t_html .=' </div ';
echo $t_html;
exit();
}
public function groupefacture()
{
$factures = $this->facture->groupefacturegarantexport();
$debut = $this->requete->getParametreDate("debut");
$fin = $this->requete->getParametreDate("fin");
$encaisse = $this->requete->getParametreFormulaire("encaisse");
// Excel
$headerXLS = array
(
_('Garant'),
_('Exercice'),
_('Date Facture'),
_('Type'),
_('Périodicité'),
_('Début'),
_('Fin'),
_('Groupe'),
_('Numéro'),
_('Prime Nette'),
_('Commission'),
_('Accessoires'),
_('Montant Sinistres'),
_('Honoraires Sinistres'),
_('Montant HT'),
_('Taxe'),
_('Montant TTC'),
_('Encaissements'),
_('Solde'),
_('Soldée'),
_('Population')
);
$dataXLS = array();
foreach ($factures as $v)
{
$dataXLS[]=$v;
}
$classeur = new Spreadsheet();
$classeur->getProperties()->setCreator("INTER SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('LISTE DES FACTURES GARANT'));
/*
$feuille->fromArray($headerXLS, NULL, 'A1', true);
$feuille->fromArray($dataXLS, NULL, 'A2', true);
*/
$feuille->setCellValue('A1', convertirc($_SESSION['nomSociete']));
$feuille->setCellValue('A2', convertirc(_('LISTE DES FACTURES GARANT DU').' '.dateLang($debut).' AU '.dateLang($fin)));
$feuille->mergeCells('A2:D2');
if($encaisse=="0"){
$feuille->setCellValue('A3', convertirc(_('FACTURES NON SOLDEES')));
}elseif($encaisse=="1"){
$feuille->setCellValue('A3', convertirc(_('FACTURES SOLDEES')));
}else{
$feuille->setCellValue('A3', convertirc(_('FACTURES TOUS SOLDES CONFONDUS')));
}
$feuille->fromArray($headerXLS, NULL, 'A5', true);
$feuille->fromArray($dataXLS, NULL, 'A6', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_FACTURES_GARANT'."_".uniqid().".xlsx";
$writer = new Xlsx($classeur);
$writer->save($fichier);
$t_html =' <div id ="div_export_a" class="alert alert-info"> ';
$t_html .=' <a style="font-size:15pt;" href="'.$fichier.'" target="_blank" > '._("TELECHARGER").' </a> ';
$t_html .=' </div ';
echo $t_html;
exit();
}
public function encaissementgarant()
{
$encaissements = $this->facture->encaissementgarantexport();
$debut = $this->requete->getParametreDate("debut");
$fin = $this->requete->getParametreDate("fin");
// Excel
$headerXLS = array
(
_('Garant'),
_('Date Encaissement'),
_('Date Comptable'),
_('Numéro'),
_('Opération'),
_('Montant Encaissé'),
_('Mode paiement'),
_('Référence'),
_('Nombre Factures'),
_('Caissier')
);
$dataXLS = array();
foreach ($encaissements as $v)
{
$dataXLS[]=$v;
}
$classeur = new Spreadsheet();
$classeur->getProperties()->setCreator("INTER SANTE");
$classeur->setActiveSheetIndex(0);
$feuille=$classeur->getActiveSheet();
$feuille->setTitle(_('LISTE DES ENCAISSEMENTS GARANT'));
/*
$feuille->fromArray($headerXLS, NULL, 'A1', true);
$feuille->fromArray($dataXLS, NULL, 'A2', true);
*/
$feuille->setCellValue('A1', convertirc($_SESSION['nomSociete']));
$feuille->setCellValue('A2', convertirc(_('LISTE DES ENCAISSEMENTS GARANT DU').' '.dateLang($debut).' AU '.dateLang($fin)));
$feuille->mergeCells('A2:D2');
$feuille->fromArray($headerXLS, NULL, 'A4', true);
$feuille->fromArray($dataXLS, NULL, 'A5', true);
//Forcer le téléchargement vers le navigateur;
$fichier = 'Temp/TMP_FACTURES_GARANT'."_".uniqid().".xlsx";
$writer = new Xlsx($classeur);
$writer->save($fichier);
$t_html =' <div id ="div_export_b" class="alert alert-info"> ';
$t_html .=' <a style="font-size:15pt;" href="'.$fichier.'" target="_blank" > '._("TELECHARGER").' </a> ';
$t_html .=' </div ';
echo $t_html;
exit();
}
}