Commit c6399e8f authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Merge branch 'master' into alc-scindage-donnees-pj

# Conflicts:
#	public/dist/.vite/manifest.json
#	public/dist/assets/main-BfSVsre9.js
parents 6d2d39f7 ee4c7a49
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@



# OSE 24.4 (à venir)
# OSE 24.4 (04/06/2025)

## Améliorations

@@ -37,7 +37,8 @@
* Traducteur de formules de calcul : résolution de problème au niveau des SI embarqués dans des paramètres de fonctions (#50652) 
* Correction des demandes de mise en paiement pour pouvoir gérer la notion de budget sur des types de ressources autres que de la "paie état" ou des "ressources propres" (#61953)
* Correction sur les demandes de mise en paiement pour prendre en compte le paiement d'heures faites dans un établissement extérieur.

* Formules de calcul : correction d'un problème important prenant en compte des heures non payables dans des calculs intermédiaires (#61947).
* Formules de calcul : correction d'un problème qui empêchait de prendre en compte les paramètres personnalisés (#60719)


# OSE 24.3 (22/05/2025)
+5 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@
                    <div v-for="(enseignement,codeEnseignement) in etape.enseignements">
                        <div class="cartridge gray bordered" style="padding-bottom: 5px">
                            <span>Enseignement</span>
                            <span v-html="codeEtape +  ' - ' + shorten(etape.libelle, 50)"></span>
                            <span v-html="codeEtape +  ' - ' + shorten(etape.libelle, 40)"></span>
                            <span>{{ codeEnseignement + ' - ' + enseignement.libelle }}</span>
                        </div>
                        <div class="container">
@@ -794,6 +794,10 @@ export default {
        },
        shorten(chaine, length = 20)
        {
            if (chaine === null) {
                return chaine;
            }

            if (chaine.length > length) {

                var centreCout = '<span title="' + chaine + '"';
+17 −4
Original line number Diff line number Diff line
@@ -32,6 +32,10 @@ class AbstractFormuleCalcul

    /** @var FormuleVolumeHoraire[] */
    protected array $volumesHoraires = [];

    /** @var FormuleVolumeHoraire[] */
    protected array $nonPayables = [];

    protected array $cache = [];

    protected int $mainLine = 20;
@@ -154,7 +158,16 @@ class AbstractFormuleCalcul
    public function calculer(FormuleIntervenant $intervenant, Formule $formule): void
    {
        $this->intervenant     = $intervenant;
        $this->volumesHoraires = $intervenant->getVolumesHoraires()->toArray();
        $this->volumesHoraires = [];
        $this->nonPayables     = [];
        foreach ($intervenant->getVolumesHoraires() as $volumesHoraire) {
            if ($volumesHoraire->isNonPayable()) {
                $this->nonPayables[] = $volumesHoraire;
            } else {
                $this->volumesHoraires[] = $volumesHoraire;
            }
        }

        $this->formule         = $formule;
        $this->cache           = [
            'vh'     => [],
@@ -162,14 +175,14 @@ class AbstractFormuleCalcul
        ];

        foreach ($this->volumesHoraires as $l => $volumeHoraire) {
            if ($volumeHoraire->isNonPayable()){
                $this->calculNonPayable($l, $volumeHoraire);
            }else {
            $this->calculPayable($l, $volumeHoraire);
            if ($intervenant->isDepassementServiceDuSansHC()) {
                $this->interdictionHC($l, $volumeHoraire);
            }
        }

        foreach ($this->nonPayables as $l => $volumeHoraire) {
            $this->calculNonPayable($l, $volumeHoraire);
        }

        if ($this->intervenant instanceof FormuleTestIntervenant) {
+4 −4
Original line number Diff line number Diff line
@@ -2,18 +2,18 @@

namespace Formule\Service;

use Administration\Service\ParametresServiceAwareTrait;
use Application\Hydrator\GenericHydrator;
use Application\Service\AbstractEntityService;
use Application\Service\Traits\ParametresServiceAwareTrait;
use Formule\Entity\FormuleIntervenant;
use Formule\Entity\FormuleVolumeHoraire;
use RuntimeException;
use Formule\Entity\Db\Formule;
use Formule\Entity\Db\FormuleTestIntervenant;
use Formule\Entity\Db\FormuleTestVolumeHoraire;
use Formule\Entity\FormuleIntervenant;
use Formule\Entity\FormuleVolumeHoraire;
use Formule\Model\FormuleCalcul;
use Intervenant\Entity\Db\Intervenant;
use Intervenant\Entity\Db\TypeIntervenant;
use RuntimeException;
use Service\Entity\Db\EtatVolumeHoraire;
use Service\Entity\Db\TypeVolumeHoraire;

+13 −0
Original line number Diff line number Diff line
@@ -173,6 +173,12 @@ class FormuleProcess implements ProcessInterface
        $intervenant->setHeuresServiceModifie((float)$data['HEURES_SERVICE_MODIFIE']);
        $intervenant->setDepassementServiceDuSansHC($data['DEPASSEMENT_SERVICE_DU_SANS_HC'] == '1');

        $intervenant->setParam1($data['PARAM_1']);
        $intervenant->setParam2($data['PARAM_2']);
        $intervenant->setParam3($data['PARAM_3']);
        $intervenant->setParam4($data['PARAM_4']);
        $intervenant->setParam5($data['PARAM_5']);

        $intervenant->setArrondisseur(($data['ARRONDISSEUR'] == '1') ? FormuleIntervenant::ARRONDISSEUR_FULL : FormuleIntervenant::ARRONDISSEUR_MINIMAL);
    }

@@ -200,6 +206,13 @@ class FormuleProcess implements ProcessInterface
        $volumeHoraire->setTauxServiceCompl((float)$data['TAUX_SERVICE_COMPL']);
        $volumeHoraire->setPonderationServiceDu((float)$data['PONDERATION_SERVICE_DU']);
        $volumeHoraire->setPonderationServiceCompl((float)$data['PONDERATION_SERVICE_COMPL']);

        $volumeHoraire->setParam1($data['PARAM_1']);
        $volumeHoraire->setParam2($data['PARAM_2']);
        $volumeHoraire->setParam3($data['PARAM_3']);
        $volumeHoraire->setParam4($data['PARAM_4']);
        $volumeHoraire->setParam5($data['PARAM_5']);

        $volumeHoraire->setHeures((float)$data['HEURES']);
    }

Loading