Commit 236ee91b authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Nouvelle macro

parent 0ef4e7dd
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -7,6 +7,8 @@ Version 3.2.4 (XX/XX/2023)
- Modification de SynchroOctopus pour utiliser le nouveau système de synchronisation
- Remonter des emploi-types et ajout dans les agents grades
- [FIX] Correction du classement des agents sans obligation d'EP pour les supérieur·es et autorités 
- Ajout d'une fonction et d'une macro pour les quotités d'affectation.


Modification en BD
---
+50 −0
Original line number Diff line number Diff line
-- AGENT_STATUT ------------------
CREATE OR REPLACE VIEW V_EMC2_AGENT_STATUT (
                                            "ID_ORIG",
                                            "AGENT_ID",
                                            "STRUCTURE_ID",
                                            "DATE_DEBUT",
                                            "DATE_FIN",
                                            "T_TITULAIRE",
                                            "T_CDI",
                                            "T_CDD",
                                            "T_ADMINISTRATIF",
                                            "T_ENSEIGNANT",
                                            "T_CHERCHEUR",
                                            "T_VACATAIRE",
                                            "T_DOCTORANT",
                                            "T_DETACHE_IN",
                                            "T_DETACHE_OUT",
                                            "T_HEBERGE",
                                            "T_DISPO",
                                            "T_EMERITE",
                                            "T_RETRAITE"
    ) AS (
         SELECT
             DISTINCT (IST.ID) AS ID_ORIG,
                      IST.INDIVIDU_ID as AGENT_ID,
                      IST.STRUCTURE_ID as STRUCTURE_ID,
                      TO_CHAR(IST.D_DEBUT, 'YYYY-MM-DD HH:MM:SS') AS DATE_DEBUT,
                      TO_CHAR(IST.D_FIN, 'YYYY-MM-DD HH:MM:SS')   AS DATE_FIN,
                      IST.T_TITULAIRE,
                      IST.T_CDI,
                      IST.T_CDD,
                      IST.T_ADMINISTRATIF,
                      IST.T_ENSEIGNANT,
                      IST.T_CHERCHEUR,
                      IST.T_VACATAIRE,
                      IST.T_DOCTORANT,
                      IST.T_DETACHE_IN,
                      IST.T_DETACHE_OUT,
                      IST.T_HEBERGE,
                      IST.T_DISPO,
                      IST.T_EMERITE,
                      IST.T_RETRAITE
         FROM V_EMC2_AGENT VPA
                  JOIN INDIVIDU_STATUT IST ON VPA.C_INDIVIDU = IST.INDIVIDU_ID
                  JOIN STRUCTURE S ON IST.STRUCTURE_ID = S.ID
         WHERE 1=1
           AND IST.T_APPRENANT = 'N'
           AND IST.T_HEBERGE = 'N'
           AND IST.T_INVITE = 'N'
             );
 No newline at end of file
+0 −8
Original line number Diff line number Diff line
@@ -596,14 +596,6 @@ class Agent implements
        return $result;
    }

    public function getQuotiteAffectation(?DateTime $date = null) : string
    {
        $ficheposte = $this->getFichePosteBest();
        if ($ficheposte === null) return 'Aucun fiche de poste au format EMC2';

        return $ficheposte->toStringCompositionFichesMetiers();
    }

    public function getStatutToString(?DateTime $date = null) : string
    {
        $result = "";
+26 −0
Original line number Diff line number Diff line
@@ -162,6 +162,32 @@ trait AgentMacroTrait
        $texte = implode("<br>",array_map(function (AgentQuotite $a) { return ($a->getQuotite())?$a->getQuotite()."%":"100%"; }, $quotites));
        return $texte;
    }

    public function toStringQuotiteAffectation() : string
    {
        /** @var Agent $agent */
        $agent = $this;
        $affectations = $agent->getAffectationsActifs();
        if (empty($affectations)) return "Aucune quotité  d'affectation de remontée du SIRH";

        $texte = "<ul>";
        foreach ($affectations as $affectation) {
            $texte .= "<li>";
            $texte .= $affectation->getStructure()->getLibelleLong() . " ";
            if ($affectation->isHierarchique()) $texte .= " Hiérarchique ";
            if ($affectation->isFonctionnelle()) $texte .= " Fonctionnelle ";
            if ($affectation->getQuotite()) {
                $texte .= $affectation->getQuotite() . "%";
            } else {
                $texte .= "<i>quotité non précisée</i>";
            }

            $texte .= "</li>";
        }
        $texte .= "</ul>";
        return $texte;
    }

    /**
     * TODO a remplacer lorsque l'on aura les macros de macro
     * @return string
+6 −1
Original line number Diff line number Diff line
@@ -87,9 +87,14 @@ class SynchronisationService {
        //check for removal
        $nbRetrait = 0;
        foreach ($data_destination as $id => $item) {
            if ($item['deleted_on'] === null AND !isset($data_source[$id])) {
            if ($item['deleted_on'] === null && !isset($data_source[$id])) {
//                var_dump($id);
//                var_dump($item['deleted_on'] . " >>> " . !isset($data_source[$id]));
//                var_dump($item['deleted_on']);
//                var_dump($item['deleted_on'] === null);
                $nbRetrait++;
                $this->getSqlHelperService()->delete($orm_destination, $table_destination, $id);
//                die();
            }
        }