Commit 652e8c49 authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

Ajout du champs nationalité au niveau du dossier de l'intervenant

Init des champs autres du dossier vs l'intervenant
parent 1e822931
Loading
Loading
Loading
Loading
+58 −32
Changes for data/ddl/package/UNICAEN_TBL/body.sql: 58 added lines, 32 removed lines.
Original line number Diff line number Diff line
@@ -1002,56 +1002,72 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
  filter VARCHAR2(150);
  viewQuery CLOB;
  BEGIN
    viewQuery := 'SELECT
          i.annee_id,
    viewQuery := 'SELECT i.annee_id,
               i.id              intervenant_id,
               si.peut_saisir_dossier,
               d.id              dossier_id,
               v.id              validation_id,
            /*Complétude statut*/
          CASE WHEN si.code = ''AUTRES'' THEN 0
               CASE
                   WHEN si.code = ''AUTRES'' THEN 0
                   ELSE 1 END    completude_statut,
            /*Complétude identité*/
          CASE WHEN
               CASE
                   WHEN
                       (
                               d.civilite_id IS NOT NULL
                               AND d.nom_usuel IS NOT NULL
                               AND d.prenom IS NOT NULL
            ) THEN 1 ELSE 0 END completude_identite,
                           ) THEN 1
                   ELSE 0 END    completude_identite,
            /*Complétude identité complémentaire*/
          CASE WHEN si.dossier_identite_comp = 0 THEN 1
               CASE
                   WHEN si.dossier_identite_comp = 0 THEN 1
                   ELSE
          	  	CASE WHEN
                       CASE
                           WHEN
                               (
                                       d.date_naissance IS NOT NULL
                                       AND NOT (OSE_DIVERS.str_reduce(pn.LIBELLE) = ''france'' AND d.departement_naissance_id IS NULL)
                                       AND d.pays_naissance_id IS NOT NULL
                                       AND d.pays_nationalite_id IS NOT NULL
                                       AND d.commune_naissance IS NOT NULL
          	  	) THEN 1 ELSE 0 END
                                   ) THEN 1
                           ELSE 0 END
                   END           completude_identite_comp,
            /*Complétude contact*/
           CASE WHEN si.dossier_contact = 0 THEN 1
               CASE
                   WHEN si.dossier_contact = 0 THEN 1
                   ELSE
                       (
                CASE WHEN
                           CASE
                               WHEN
                                   (
                  (CASE WHEN si.dossier_email_perso = 1 THEN
                                               (CASE
                                                    WHEN si.dossier_email_perso = 1 THEN
                                                        CASE WHEN d.email_perso IS NOT NULL THEN 1 ELSE 0 END
                                                    ELSE
                     CASE WHEN d.email_pro IS NOT NULL OR d.email_perso IS NOT NULL THEN 1 ELSE 0 END
                                                        CASE
                                                            WHEN d.email_pro IS NOT NULL OR d.email_perso IS NOT NULL THEN 1
                                                            ELSE 0 END
                                                   END) = 1
                                           AND
                  (CASE WHEN si.dossier_tel_perso = 1 THEN
                                               (CASE
                                                    WHEN si.dossier_tel_perso = 1 THEN
                                                        CASE WHEN d.tel_perso IS NOT NULL AND d.tel_pro IS NOT NULL THEN 1 ELSE 0 END
                                                    ELSE
                                                        CASE WHEN d.tel_pro IS NOT NULL OR d.tel_perso IS NOT NULL THEN 1 ELSE 0 END
                                                   END) = 1
                ) THEN 1 ELSE 0 END
                                       ) THEN 1
                               ELSE 0 END
                           ) END completude_contact,
            /*Complétude adresse*/
           CASE WHEN si.dossier_adresse = 0 THEN 1
               CASE
                   WHEN si.dossier_adresse = 0 THEN 1
                   ELSE
                       (
            	CASE WHEN
                           CASE
                               WHEN
                                       (
                                               d.adresse_precisions IS NOT NULL
                                               OR d.adresse_lieu_dit IS NOT NULL
@@ -1060,49 +1076,60 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
                                       (
                                               d.adresse_commune IS NOT NULL
                                               AND d.adresse_code_postal IS NOT NULL
        	    ) THEN 1 ELSE 0 END
                                           ) THEN 1
                               ELSE 0 END
                           ) END completude_adresse,
            /*Complétude INSEE*/
             CASE WHEN si.dossier_insee = 0 THEN 1
               CASE
                   WHEN si.dossier_insee = 0 THEN 1
                   ELSE
                       (
             	CASE WHEN
                           CASE
                               WHEN
                                   (
                                       d.numero_insee IS NOT NULL OR COALESCE(d.numero_insee_provisoire, 0) = 1
             	) THEN 1 ELSE 0 END
                                       ) THEN 1
                               ELSE 0 END
                           ) END completude_insee,
            /*Complétude IBAN*/
             CASE WHEN si.dossier_iban = 0 THEN 1
               CASE
                   WHEN si.dossier_iban = 0 THEN 1
                   ELSE
                       (
             	CASE WHEN
                           CASE
                               WHEN
                                   (
                                           (d.iban IS NOT NULL
                                               AND d.bic IS NOT NULL)
                                           OR COALESCE(d.rib_hors_sepa, 0) = 1
             	) THEN 1 ELSE 0 END
                                       ) THEN 1
                               ELSE 0 END
                           ) END completude_iban,
            /*Complétude employeur*/
             CASE WHEN si.dossier_employeur = 0 THEN 1
               CASE
                   WHEN si.dossier_employeur = 0 THEN 1
                   ELSE
                       (
             	CASE WHEN
                           CASE
                               WHEN
                                   (
                                       d.employeur_id IS NOT NULL
             	) THEN 1 ELSE 0 END
                                       ) THEN 1
                               ELSE 0 END
                           ) END completude_employeur,
            /*Complétude champs autres*/
             CASE WHEN
               CASE
                   WHEN
                       (
                               NOT (d.autre_1 IS NULL AND COALESCE(dca1.obligatoire, 0) = 1)
                               AND NOT (d.autre_2 IS NULL AND COALESCE(dca2.obligatoire, 0) = 1)
                               AND NOT (d.autre_3 IS NULL AND COALESCE(dca3.obligatoire, 0) = 1)
                               AND NOT (d.autre_4 IS NULL AND COALESCE(dca4.obligatoire, 0) = 1)
                               AND NOT (d.autre_5 IS NULL AND COALESCE(dca5.obligatoire, 0) = 1)
             ) THEN 1 ELSE 0 END completude_autres
                           ) THEN 1
                   ELSE 0 END    completude_autres

        FROM
                    intervenant         i
        FROM intervenant i
                 JOIN statut_intervenant si ON si.id = i.statut_id
                 LEFT JOIN intervenant_dossier d ON d.intervenant_id = i.id
            AND d.histo_destruction IS NULL
@@ -1127,8 +1154,7 @@ CREATE OR REPLACE PACKAGE BODY "UNICAEN_TBL" AS
            /*Champs autre 5*/
                 LEFT JOIN dossier_champ_autre_par_statut dcas5 ON dcas5.dossier_champ_autre_id = 5 AND dcas5.statut_id = si.id
                 LEFT JOIN dossier_champ_autre dca5 ON dca5.id = 5 AND dcas5.dossier_champ_autre_id = dca5.id
        WHERE
          i.histo_destruction IS NULL
        WHERE i.histo_destruction IS NULL
        /*@INTERVENANT_ID=i.id*/
        /*@ANNEE_ID=i.annee_id*/';

+2 −0
Changes for data/ddl/view/V_TBL_DOSSIER.sql: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -22,6 +22,8 @@ SELECT
  	  	(
  	  	   d.date_naissance IS NOT NULL
		   AND NOT (OSE_DIVERS.str_reduce(pn.LIBELLE) = 'france' AND d.departement_naissance_id IS NULL)
           AND d.pays_naissance_id IS NOT NULL
           AND d.pays_nationalite_id IS NOT NULL
           AND d.commune_naissance IS NOT NULL
  	  	) THEN 1 ELSE 0 END
   END completude_identite_comp,
+6 −1
Changes for module/Application/src/Application/Entity/Db/IntervenantDossier.php: 6 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -873,7 +873,12 @@ class IntervenantDossier implements HistoriqueAwareInterface, ResourceInterface,
            ->setAdresseNumeroCompl($intervenant->getAdresseNumeroCompl())
            ->setAdressePays($intervenant->getAdressePays())
            ->setAdresseVoie($intervenant->getAdresseVoie())
            ->setAdresseVoirie($intervenant->getAdresseVoirie());
            ->setAdresseVoirie($intervenant->getAdresseVoirie())
            ->setAutre1($intervenant->getAutre1())
            ->setAutre2($intervenant->getAutre2())
            ->setAutre3($intervenant->getAutre3())
            ->setAutre4($intervenant->getAutre4())
            ->setAutre5($intervenant->getAutre5());

        return $this;
    }
+25 −0
Changes for module/Application/src/Application/Form/Intervenant/Dossier/DossierIdentiteComplementaireFieldset.php: 25 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -73,6 +73,27 @@ class DossierIdentiteComplementaireFieldset extends AbstractFieldset
        $this->get('paysNaissance')
            ->setValueOptions(['' => '(Sélectionnez un pays)'] + \UnicaenApp\Util::collectionAsOptions($this->getServicePays()->getList()));

        /**
         * Pays nationalité
         */
        $this->add([
            'name'       => 'paysNationalite',
            'options'    => [
                'label'         => 'Pays de Nationalité <span class="text-danger">*</span>',
                'label_options' => [
                    'disable_html_escape' => true,
                ],],
            'attributes' => [
                'class'            => 'selectpicker dossierElement',
                'data-live-search' => 'true',
            ],
            'type'       => 'Select',
        ]);


        $this->get('paysNationalite')
            ->setValueOptions(['' => '(Sélectionnez une nationalité)'] + \UnicaenApp\Util::collectionAsOptions($this->getServicePays()->getList()));


        /**
         * Département de naissance
@@ -147,6 +168,10 @@ class DossierIdentiteComplementaireFieldset extends AbstractFieldset
                    new PaysNaissanceValidator(['service' => $this->getServicePays()]),
                ],
            ],
            'paysNationalite'      => [
                'required'    => false,
                'allow_empty' => true,
            ],
            'departementNaissance' => [
                'required'   => false,//$departementRequired,
                'validators' => [
+5 −0
Changes for module/Application/src/Application/Hydrator/IntervenantDossierHydrator.php: 5 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ class IntervenantDossierHydrator implements HydratorInterface
        $data['DossierIdentiteComplementaire'] = [
            'dateNaissance'        => $object->getDateNaissance(),
            'paysNaissance'        => ($object->getPaysNaissance()) ? $object->getPaysNaissance()->getId() : '',
            'paysNationalite'      => ($object->getPaysNationalite()) ? $object->getPaysNationalite()->getId() : '',
            'departementNaissance' => ($object->getDepartementNaissance()) ? $object->getDepartementNaissance()->getId() : '',
            'villeNaissance'       => $object->getCommuneNaissance(),
        ];
@@ -171,6 +172,10 @@ class IntervenantDossierHydrator implements HydratorInterface
            $paysNaissance = (!empty($data['DossierIdentiteComplementaire']['paysNaissance'])) ?
                $this->getServicePays()->get($data['DossierIdentiteComplementaire']['paysNaissance']) : null;
            $object->setPaysNaissance($paysNaissance);
            //Pays de natioanlite
            $paysNationalite = (!empty($data['DossierIdentiteComplementaire']['paysNationalite'])) ?
                $this->getServicePays()->get($data['DossierIdentiteComplementaire']['paysNationalite']) : $paysNaissance;
            $object->setPaysNationalite($paysNationalite);
            //Si pays n'est pas France alors null pour département
            if (!is_null($paysNaissance) && $paysNaissance->getLibelle() == 'FRANCE') {
                $object->setDepartementNaissance(null);
Loading