Loading data/ddl.php +6 −4 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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 module/Application/src/Application/Controller/OffreFormationController.php +5 −5 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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) { Loading @@ -240,7 +240,7 @@ class OffreFormationController extends AbstractController } if (empty($etapesReconduites) && !empty($structure)) { $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure); $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure, 'centrecout'); } Loading Loading @@ -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()); } Loading @@ -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'); } Loading module/Application/src/Application/Processus/ReconductionProcessus.php +3 −8 Original line number Diff line number Diff line Loading @@ -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'], Loading @@ -234,11 +233,6 @@ class ReconductionProcessus extends AbstractProcessus ]); $nbCCReconduit++; // }catch(\Exception $e) // { // continue; // } } } Loading @@ -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(); Loading module/Application/src/Application/Service/EtapeService.php +22 −7 Original line number Diff line number Diff line Loading @@ -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(); Loading @@ -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 Loading Loading @@ -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(); Loading @@ -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(); Loading @@ -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()) { Loading @@ -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"); Loading module/Application/view/application/offre-formation/reconduction-centre-cout.phtml +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
data/ddl.php +6 −4 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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
module/Application/src/Application/Controller/OffreFormationController.php +5 −5 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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) { Loading @@ -240,7 +240,7 @@ class OffreFormationController extends AbstractController } if (empty($etapesReconduites) && !empty($structure)) { $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure); $etapesReconduites = $this->getServiceEtape()->getEtapeReconduit($structure, 'centrecout'); } Loading Loading @@ -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()); } Loading @@ -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'); } Loading
module/Application/src/Application/Processus/ReconductionProcessus.php +3 −8 Original line number Diff line number Diff line Loading @@ -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'], Loading @@ -234,11 +233,6 @@ class ReconductionProcessus extends AbstractProcessus ]); $nbCCReconduit++; // }catch(\Exception $e) // { // continue; // } } } Loading @@ -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(); Loading
module/Application/src/Application/Service/EtapeService.php +22 −7 Original line number Diff line number Diff line Loading @@ -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(); Loading @@ -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 Loading Loading @@ -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(); Loading @@ -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(); Loading @@ -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()) { Loading @@ -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"); Loading
module/Application/view/application/offre-formation/reconduction-centre-cout.phtml +1 −1 Original line number Diff line number Diff line Loading @@ -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