Commit ea31363a authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Ajout d'une option 'pfiExtraction' dans le config/autoload/local.php acceptant une Closure

pour charger les dépenses d'une activité en isolant la partie PFI de l'EOTP saisi.

// ex: (dans local.php > dans la clef oscar)
'pfiExtraction' => function($pfi){
    return substr($pfi, 0, 8);
},

Cela implique également d'adapter la requête SIFAC dans le WHERE measure = '%s' en utilisant
un SUBSTRING
parent 9c980f3c
Loading
Loading
Loading
Loading
Loading
+35 −17
Original line number Diff line number Diff line
@@ -474,7 +474,10 @@ class OscarConfigurationService implements ServiceLocatorAwareInterface
    /// MAILS D'envoi/rejet
    public function getEmailRejectBody(): string
    {
        return $this->getOptionalConfiguration('email_reject_body', "Bonjour {PERSON},\r\nVotre déclaration pour la période {PERIOD} a été rejetée.\r\nMerci de corriger votre déclaration");
        return $this->getOptionalConfiguration(
            'email_reject_body',
            "Bonjour {PERSON},\r\nVotre déclaration pour la période {PERIOD} a été rejetée.\r\nMerci de corriger votre déclaration"
        );
    }

    public function getEmailRejectSubject(): string
@@ -484,7 +487,10 @@ class OscarConfigurationService implements ServiceLocatorAwareInterface

    public function getEmailToValidatetBody(): string
    {
        return $this->getOptionalConfiguration('email_tovalidate_body', "Bonjour,\r\nUne déclaration de {PERSON} pour la période {PERIOD} attend votre validation.\r\nMerci");
        return $this->getOptionalConfiguration(
            'email_tovalidate_body',
            "Bonjour,\r\nUne déclaration de {PERSON} pour la période {PERIOD} attend votre validation.\r\nMerci"
        );
    }

    public function getEmailToValidateSubject(): string
@@ -800,5 +806,17 @@ class OscarConfigurationService implements ServiceLocatorAwareInterface
        return $documentDropLocation;
    }


    /**
     * @return \Closure
     * @throws OscarException
     */
    public function getPfiExtraction(): \Closure
    {
        return $this->getOptionalConfiguration(
            'pfiExtraction',
            function ($s) {
                return $s;
            }
        );
    }
}
 No newline at end of file
+4 −0
Original line number Diff line number Diff line
@@ -714,6 +714,10 @@ class SpentService implements UseLoggerService, UseOscarConfigurationService, Us

    public function getSpentsByPFI($pfi)
    {
        // PATCH
        $pfiExtraction = $this->getOscarConfigurationService()->getPfiExtraction();
        $pfi = $pfiExtraction($pfi);

        $qb = $this->getEntityManager()
            ->getRepository(SpentLine::class)
            ->createQueryBuilder('s');