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

Correction reconduction cc et modulateur

parent f3522873
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -35841,6 +35841,7 @@ FROM
WITH t AS (
SELECT
  e.id                etape_id,
  e.structure_id      structure_id,
  e.libelle           etape_libelle,
  e.code              etape_code,
  ep.id               element_pedagogique_id,
@@ -35852,15 +35853,16 @@ SELECT
  ep.code             code
FROM
  etape                     e
  JOIN source               s ON s.importable = 0
  JOIN element_pedagogique ep ON ep.etape_id = e.id AND ep.histo_destruction IS NULL
  LEFT JOIN centre_cout_ep    ccep ON ccep.element_pedagogique_id = ep.id AND ccep.histo_destruction IS NULL AND ccep.source_id = s.id
  LEFT JOIN centre_cout_ep    ccep ON ccep.element_pedagogique_id = ep.id AND ccep.histo_destruction IS NULL
  LEFT JOIN ELEMENT_MODULATEUR em ON em.ELEMENT_ID = ep.ID AND em.HISTO_DESTRUCTION  IS NULL
  LEFT JOIN source               s ON s.id = ccep.source_id AND s.importable = 0
WHERE
  e.histo_destruction IS NULL
  AND (ccep.id IS NULL OR s.id IS NOT NULL)
)
SELECT
  t."ETAPE_ID",t."ETAPE_LIBELLE", t."ETAPE_CODE", t."ELEMENT_PEDAGOGIQUE_ID",t."CENTRE_COUT_ID", t."ELEMENT_MODULATEUR_ID",t."MODULATEUR_ID", t."TYPE_HEURES_ID",t."ANNEE_ID",t."CODE",
  t."ETAPE_ID",t."STRUCTURE_ID", t."ETAPE_LIBELLE", t."ETAPE_CODE", t."ELEMENT_PEDAGOGIQUE_ID",t."CENTRE_COUT_ID", t."ELEMENT_MODULATEUR_ID",t."MODULATEUR_ID", t."TYPE_HEURES_ID",t."ANNEE_ID",t."CODE",
  ep.id new_element_pedagogique_id,
  ccep.id new_centre_cout_ep_id,
  em.id new_element_modulateur_id
+5 −5
Original line number Diff line number Diff line
@@ -221,7 +221,7 @@ class OffreFormationController extends AbstractController
            $datas = $request->getPost();
            //Reconduire les centres de coût des EP de l'étape.
            try {
                $etapesReconduites   = $this->getServiceEtape()->getEtapeReconduit($structure);
                $etapesReconduites   = $this->getServiceEtape()->getEtapeReconduit($structure, 'centrecout');
                $etapesReconduitesCc = [];
                if (isset($datas['etapes'])) {
                    foreach ($datas['etapes'] as $code) {
@@ -231,7 +231,7 @@ class OffreFormationController extends AbstractController
                    }
                }
                $result            = $this->getProcessusReconduction()->reconduireCCFormation($etapesReconduitesCc);
                $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure);
                $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure, 'centrecout');

                $this->flashMessenger()->addSuccessMessage("$result centre(s) de coût(s) ont été reconduit pour l'année prochaine. ");
            } catch (\Exception $e) {
@@ -240,7 +240,7 @@ class OffreFormationController extends AbstractController
        }

        if (empty($etapesReconduites) && !empty($structure)) {
            $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure);
            $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure, 'centrecout');
        }


@@ -285,7 +285,7 @@ class OffreFormationController extends AbstractController

                $this->flashMessenger()->addSuccessMessage("$result modulateur(s) ont été reconduit pour l'année prochaine. ");

                $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure);
                $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure, 'modulateur');
            } catch (\Exception $e) {
                $this->flashMessenger()->addErrorMessage($e->getMessage());
            }
@@ -293,7 +293,7 @@ class OffreFormationController extends AbstractController

        //Récupération de toutes les étapes éligibles à la reconduction des coûts
        if (empty($etapesReconduites) && !empty($structure)) {
            $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure);
            $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure, 'modulateur');
        }


+3 −8
Original line number Diff line number Diff line
@@ -221,7 +221,6 @@ class ReconductionProcessus extends AbstractProcessus
            if (empty($value['NEW_CENTRE_COUT_EP_ID'])) {
                //Récupération de la dernière incrémentation ID CCEP
                $nextSequence = $this->getNextSequence('CENTRE_COUT_EP_ID_SEQ');
//                try{
                $stmt = $connection->insert('centre_cout_ep',
                    ['id'                     => $nextSequence,
                     'centre_cout_id'         => $value['CENTRE_COUT_ID'],
@@ -234,11 +233,6 @@ class ReconductionProcessus extends AbstractProcessus
                    ]);

                $nbCCReconduit++;

//                }catch(\Exception $e)
//                {
//                    continue;
//                }
            }
        }

@@ -258,8 +252,9 @@ class ReconductionProcessus extends AbstractProcessus
            V_RECONDUCTION_CC_MODULATEUR
        WHERE
            ANNEE_ID = ?
        AND 
            ETAPE_CODE IN (?)';
            AND ETAPE_CODE IN (?)
            AND ELEMENT_MODULATEUR_ID IS NOT NULL ';

        $connection   = $this->getEntityManager()->getConnection();
        $stmt         = $connection->executeQuery($sql, [$this->getServiceContext()->getAnnee()->getId(), $etapes_codes], [ParameterType::INTEGER, Connection::PARAM_STR_ARRAY]);
        $mepN         = $stmt->fetchAll();
+22 −7
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ class EtapeService extends AbstractEntityService
     * @return string
     */

    public function getEtapeReconduit($structure)
    public function getEtapeReconduit($structure, $filter = null)
    {
        $annee  = $this->getServiceContext()->getAnnee()->getId();

@@ -86,7 +86,22 @@ class EtapeService extends AbstractEntityService
            V_RECONDUCTION_CC_MODULATEUR 
        WHERE
            annee_id = :annee
        GROUP BY 
            AND new_element_pedagogique_id IS NOT NULL
            AND structure_id = '  . $structure->getId();

        if(!empty($filter))
        {
            if($filter == 'centrecout')
            {
                $sql .= ' AND  centre_cout_id IS NOT NULL';
            }
            if($filter == 'modulateur')
            {
                $sql .= ' AND element_modulateur_id IS NOT NULL';
            }
        }

        $sql .= ' GROUP BY 
            etape_id,
            etape_libelle,
            etape_code
@@ -116,7 +131,7 @@ class EtapeService extends AbstractEntityService
     */
    public function finderByNiveau(\Application\Entity\NiveauEtape $niveau, QueryBuilder $qb = null, $alias = null)
    {
        list($qb, $alias) = $this->initQuery($qb, $alias);
        [$qb, $alias] = $this->initQuery($qb, $alias);

        $typeFormationAlias       = $this->getServiceTypeFormation()->getAlias();
        $groupeTypeFormationAlias = $this->getServiceGroupeTypeFormation()->getAlias();
@@ -143,7 +158,7 @@ class EtapeService extends AbstractEntityService
     */
    public function finderByStructure(\Application\Entity\Db\Structure $structure, QueryBuilder $qb = null, $alias = null)
    {
        list($qb, $alias) = $this->initQuery($qb, $alias);
        [$qb, $alias] = $this->initQuery($qb, $alias);

        $structureService = $this->getServiceStructure();
        $structureAlias   = $structureService->getAlias();
@@ -166,7 +181,7 @@ class EtapeService extends AbstractEntityService
     */
    public function finderByContext(QueryBuilder $qb = null, $alias = null)
    {
        list($qb, $alias) = $this->initQuery($qb, $alias);
        [$qb, $alias] = $this->initQuery($qb, $alias);

        $this->finderByAnnee($this->getServiceContext()->getAnnee(), $qb, $alias);
        if ($cStructure = $this->getServiceContext()->getStructure()) {
@@ -180,7 +195,7 @@ class EtapeService extends AbstractEntityService

    public function orderBy(QueryBuilder $qb = null, $alias = null)
    {
        list($qb, $alias) = $this->initQuery($qb, $alias);
        [$qb, $alias] = $this->initQuery($qb, $alias);

        $qb->addOrderBy("$alias.libelle");

+1 −1
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ echo $this->messenger()->addCurrentMessagesFromFlashMessenger()->addMessagesFrom
            <?php foreach ($etapesReconduites as $er): ?>
                <tr>
                    <td>
                        <?= ($er['NB_EP']-$er['NB_CC_EP'] == 0)?'<input disabled="disabled" title="Aucun centre de coût à reconduire" class="checkbox-element" type="checkbox" name="etapes[]" value="'.$er['ETAPE_CODE'].'">':'<input class="checkbox-element" type="checkbox" name="etapes[]" value="'.$er['ETAPE_CODE'].'">'; ?>
                        <?= ($er['NB_EP']-$er['NB_CC_EP'] <= 0)?'<input disabled="disabled" title="Aucun centre de coût à reconduire" class="checkbox-element" type="checkbox" name="etapes[]" value="'.$er['ETAPE_CODE'].'">':'<input class="checkbox-element" type="checkbox" name="etapes[]" value="'.$er['ETAPE_CODE'].'">'; ?>
                    </td>
                    <td><?= $er['ETAPE_CODE']; ?></td>
                    <td><?= $er['ETAPE_LIBELLE']; ?></td>
Loading