Commit f13484e8 authored by Laurent Lécluse's avatar Laurent Lécluse
Browse files

Amélioration de performances pour l'affichage des données personnelles

parent e28745a3
......@@ -30,6 +30,7 @@ les nouveaux volumes horaires négatifs générés portent maintenant les mêmes
* Les coordonnées bancaires peuvent être saisies même si elles sont hors zone SEPA (une case à cocher limite le contrôle)
* L'export PDF des services est maintenant personnalisable.
* Le pays "France" est détecté automatiquement. Il n'a donc plus besoin d'être identifié via administration/paramètres généraux.
* Amélioration de performances pour l'affichage des données personnelles
## Notes de mise à jour
......
......@@ -18,6 +18,10 @@ class PaysService extends AbstractEntityService
use ParametresServiceAwareTrait;
/**
* @var array
*/
private $idsByLibelle;
/**
......@@ -49,15 +53,19 @@ class PaysService extends AbstractEntityService
*/
public function getIdByLibelle(string $libelle)
{
$sql = 'SELECT id FROM pays WHERE ose_divers.str_reduce(libelle_court) = :pays AND histo_destruction IS NULL';
if (!isset($this->idsByLibelle[$libelle])) {
$sql = 'SELECT id FROM pays WHERE ose_divers.str_reduce(libelle_court) = :pays AND histo_destruction IS NULL';
$res = $this->getEntityManager()->getConnection()->fetchAll($sql, ['pays' => Util::reduce($libelle)]);
$res = $this->getEntityManager()->getConnection()->fetchAll($sql, ['pays' => Util::reduce($libelle)]);
if (isset($res[0]['ID'])){
return (int)$res[0]['ID'];
if (isset($res[0]['ID'])) {
$this->idsByLibelle[$libelle] = (int)$res[0]['ID'];
}else{
$this->idsByLibelle[$libelle] = null;
}
}
return null;
return $this->idsByLibelle[$libelle];
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment