Commit 31fd82d8 authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Finalisation calcul tbl_dossier

parent bf5d6904
Loading
Loading
Loading
Loading
Loading
+37 −32
Original line number Diff line number Diff line
@@ -107,8 +107,38 @@ return [
                ],
            ],

            'piece_jointe_demande' => [
            'dossier' => [
                'order'   => 2,
                'process' => \Dossier\Tbl\Process\DossierProcess::class,
                'cols'    => [
                    'ANNEE_ID',
                    'INTERVENANT_ID',
                    'ACTIF',
                    'DOSSIER_ID',
                    'VALIDATION_ID',
                    'COMPLETUDE_STATUT',
                    'COMPLETUDE_IDENTITE',
                    'COMPLETUDE_IDENTITE_COMP',
                    'COMPLETUDE_CONTACT',
                    'COMPLETUDE_ADRESSE',
                    'COMPLETUDE_INSEE',
                    'COMPLETUDE_BANQUE',
                    'COMPLETUDE_EMPLOYEUR',
                    'COMPLETUDE_AUTRES_1',
                    'COMPLETUDE_AUTRES_2',
                    'COMPLETUDE_AUTRES_3',
                    'COMPLETUDE_AUTRES_4',
                    'COMPLETUDE_AUTRES_5',
                    'COMPLETUDE_AVANT_RECRUTEMENT',
                    'COMPLETUDE_APRES_RECRUTEMENT',
                ],
                'key'     => [
                    'INTERVENANT_ID',
                ],
            ],

            'piece_jointe_demande' => [
                'order'   => 3,
                'process' => 'DbDiff',
                'cols'    => [
                    'ANNEE_ID',
@@ -127,7 +157,7 @@ return [
            ],

            'piece_jointe_fournie' => [
                'order'              => 3,
                'order'              => 4,
                'process'            => 'DbDiff',
                'cols'               => [
                    'ANNEE_ID',
@@ -154,7 +184,7 @@ return [
            ],

            'agrement' => [
                'order'              => 4,
                'order'              => 5,
                'process'            => 'DbDiff',
                'cols'               => [
                    'ANNEE_ID',
@@ -179,7 +209,7 @@ return [
            ],

            'cloture_realise' => [
                'order'   => 5,
                'order'   => 6,
                'process' => 'DbDiff',
                'cols'    => [
                    'ANNEE_ID',
@@ -193,7 +223,7 @@ return [
            ],

            'mission' => [
                'order'              => 6,
                'order'              => 7,
                'process'            => 'DbDiff',
                'cols'               => [
                    'ANNEE_ID',
@@ -218,8 +248,9 @@ return [
                ],
            ],


            'contrat' => [
                'order'              => 7,
                'order'              => 8,
                'process'            => \Contrat\Tbl\Process\ContratProcess::class,
                'cols'               => [
                    'ID',
@@ -278,32 +309,6 @@ return [
                ],
            ],

            'dossier' => [
                'order'   => 8,
                'process' => \Dossier\Tbl\Process\DossierProcess::class,
                'cols'    => [
                    'ANNEE_ID',
                    'INTERVENANT_ID',
                    'ACTIF',
                    'DOSSIER_ID',
                    'VALIDATION_ID',
                    'COMPLETUDE_STATUT',
                    'COMPLETUDE_IDENTITE',
                    'COMPLETUDE_IDENTITE_COMP',
                    'COMPLETUDE_CONTACT',
                    'COMPLETUDE_ADRESSE',
                    'COMPLETUDE_INSEE',
                    'COMPLETUDE_BANQUE',
                    'COMPLETUDE_EMPLOYEUR',
                    'COMPLETUDE_AUTRES',
                    'COMPLETUDE',
                    'COMPLETUDE_POST_RECRUTEMENT',
                ],
                'key'     => [
                    'INTERVENANT_ID',
                ],
            ],

            'paiement' => [
                'order'              => 9,
                'process'            => \Paiement\Tbl\Process\PaiementProcess::class,
+2 −10
Original line number Diff line number Diff line
@@ -9,16 +9,8 @@ FROM
  JOIN INTERVENANT_DOSSIER ido ON ido.ID = d.DOSSIER_ID
WHERE
  d.dossier_id IS NOT NULL
  /*Complétude des différents bloc dossier*/
  AND d.completude_identite = 1
  AND d.completude_identite_comp = 1
  AND d.completude_contact = 1
  AND d.completude_adresse = 1
  AND d.completude_insee = 1
  AND d.completude_banque = 1
  AND d.completude_employeur = 1
  AND d.completude_autres = 1
  AND d.completude_statut = 1
  AND d.completude_avant_recrutement = 1
  AND d.completude_apres_recrutement = 1
  AND d.validation_id IS NULL
  AND d.actif = 1
GROUP BY (d.intervenant_id, i.STRUCTURE_ID)
 No newline at end of file
+5 −5
Original line number Diff line number Diff line
@@ -67,11 +67,11 @@ FROM
  LEFT JOIN validation       v ON v.intervenant_id = i.id
                              AND v.type_validation_id = tv.id
                              AND v.histo_destruction IS NULL
  LEFT JOIN dossier_champ_autre dca1 ON dca1.id = 1 AND si.dossier_autre_1 = 1
  LEFT JOIN dossier_champ_autre dca2 ON dca2.id = 2 AND si.dossier_autre_2 = 1
  LEFT JOIN dossier_champ_autre dca3 ON dca3.id = 3 AND si.dossier_autre_3 = 1
  LEFT JOIN dossier_champ_autre dca4 ON dca4.id = 4 AND si.dossier_autre_4 = 1
  LEFT JOIN dossier_champ_autre dca5 ON dca5.id = 5 AND si.dossier_autre_5 = 1
  LEFT JOIN dossier_champ_autre dca1 ON dca1.id = 1
  LEFT JOIN dossier_champ_autre dca2 ON dca2.id = 2
  LEFT JOIN dossier_champ_autre dca3 ON dca3.id = 3
  LEFT JOIN dossier_champ_autre dca4 ON dca4.id = 4
  LEFT JOIN dossier_champ_autre dca5 ON dca5.id = 5
WHERE
  i.histo_destruction IS NULL
  /*@INTERVENANT_ID=i.id*/
+10 −4
Original line number Diff line number Diff line
@@ -91,7 +91,9 @@ class IntervenantDossierAssertion extends AbstractAssertion
        $role = $this->getRole();

        // Si le rôle n'est pas renseigné alors on s'en va...
        if (!$role instanceof Role) return false;
        if (!$role instanceof Role) {
            return false;
        }

        switch (true) {
            case $entity instanceof Intervenant:
@@ -407,7 +409,7 @@ class IntervenantDossierAssertion extends AbstractAssertion
        $isValidate         = $this->getServiceDossier()->getValidation($intervenant);

        return $this->asserts([
            (!empty($intervenantDossier->getTblDossier())) ? $intervenantDossier->getTblDossier()->getCompletude() : false,
            (!empty($intervenantDossier->getTblDossier())) ? $intervenantDossier->getTblDossier()->getCompletudeAvantRecrutement() : false,
            !$isValidate,
            $this->getRole()->hasPrivilege(Privileges::DOSSIER_VALIDATION),
        ]);
@@ -469,7 +471,9 @@ class IntervenantDossierAssertion extends AbstractAssertion
            case IntervenantDossierController::class:
                switch ($action) {
                    case 'index':
                        if (!$this->assertPriv(Privileges::DOSSIER_VISUALISATION)) return false;
                        if (!$this->assertPriv(Privileges::DOSSIER_VISUALISATION)) {
                            return false;
                        }

                        return $this->assertDossierEdition($intervenant);
                        break;
@@ -510,7 +514,9 @@ class IntervenantDossierAssertion extends AbstractAssertion
    protected function assertPriv($privilege)
    {
        $role = $this->getRole();
        if (!$role instanceof Role) return false;
        if (!$role instanceof Role) {
            return false;
        }

        return $role->hasPrivilege($privilege);
    }
+13 −18
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ use UnicaenApp\Util;
use UnicaenApp\View\Model\MessengerViewModel;
use UnicaenImport\Processus\Traits\ImportProcessusAwareTrait;


class IntervenantDossierController extends AbstractController
{
    use ContextServiceAwareTrait;
@@ -72,7 +71,7 @@ class IntervenantDossierController extends AbstractController
            //$this->em()->refresh($intervenantDossier);
            $tblDossier = $intervenantDossier->getTblDossier();
        }
        $lastCompleted = (!empty($tblDossier)) ? $tblDossier->getCompletude() : '';
        $lastCompleted = (!empty($tblDossier)) ? $tblDossier->getCompletudeAvantRecrutement() : '';

        /* Initialisation du formulaire */
        $form = $this->getFormIntervenantIntervenantDossier()->setIntervenant($intervenant)->initForm();
@@ -99,12 +98,12 @@ class IntervenantDossierController extends AbstractController
                $this->updateTableauxBord($intervenantDossier->getIntervenant());
                $this->em()->refresh($intervenantDossier);
                $tblDossier    = $intervenantDossier->getTblDossier();
                $lastCompleted = $tblDossier->getCompletude();
                $lastCompleted = $tblDossier->getCompletudeAvantRecrutement();

                $this->flashMessenger()->addSuccessMessage('Enregistrement de vos données effectué');
                //return $this->redirect()->toUrl($this->url()->fromRoute('intervenant/dossier', [], [], true));

                if (!$lastCompleted && $tblDossier->getCompletude() && $role->getIntervenant()) { // on ne redirige que pour l'intervenant et seulement si le dossier a été nouvellement créé
                if (!$lastCompleted && $tblDossier->getCompletudeAvantRecrutement() && $role->getIntervenant()) { // on ne redirige que pour l'intervenant et seulement si le dossier a été nouvellement créé
                    $nextEtape = $this->getServiceWorkflow()->getNextEtape(WfEtape::CODE_DONNEES_PERSO_SAISIE, $intervenant);
                    if ($nextEtape && $url = $nextEtape->getUrl()) {
                        return $this->redirect()->toUrl($url);
@@ -136,7 +135,8 @@ class IntervenantDossierController extends AbstractController
            $hetd = Util::formattedFloat(
                $lastHETD,
                \NumberFormatter::DECIMAL,
                2);
                2
            );
            $this->flashMessenger()->addInfoMessage(
                $role->getIntervenant() ?
                    sprintf("Vous avez effectué %s HETD en %s.", $hetd, $iPrec->getAnnee())
@@ -201,8 +201,7 @@ class IntervenantDossierController extends AbstractController



    public
    function validerAction ()
    public function validerAction()
    {
        $this->initFilters();

@@ -227,8 +226,7 @@ class IntervenantDossierController extends AbstractController



    public
    function devaliderAction ()
    public function devaliderAction()
    {
        $this->initFilters();

@@ -248,8 +246,7 @@ class IntervenantDossierController extends AbstractController



    public
    function supprimerAction ()
    public function supprimerAction()
    {
        $this->initFilters();

@@ -270,8 +267,7 @@ class IntervenantDossierController extends AbstractController



    public
    function differencesAction ()
    public function differencesAction()
    {
        $intervenant = $this->getEvent()->getParam('intervenant');

@@ -299,8 +295,7 @@ class IntervenantDossierController extends AbstractController



    public
    function purgerDifferencesAction ()
    public function purgerDifferencesAction()
    {
        $intervenant = $this->getEvent()->getParam('intervenant');

@@ -311,7 +306,8 @@ class IntervenantDossierController extends AbstractController

                $this->flashMessenger()->addSuccessMessage(sprintf(
                    "L'historique des modifications d'informations importantes dans les données personnelles de %s a été effacé avec succès.",
                    $intervenant));
                    $intervenant
                ));

                $this->flashMessenger()->addSuccessMessage("Action effectuée avec succès.");
            } catch (\Exception $e) {
@@ -326,8 +322,7 @@ class IntervenantDossierController extends AbstractController



    private
    function updateTableauxBord (Intervenant $intervenant, $validation = false)
    private function updateTableauxBord(Intervenant $intervenant, $validation = false)
    {
        $this->getServiceWorkflow()->calculerTableauxBord([
            'dossier',
Loading