Loading module/Dossier/src/Hydrator/IntervenantDossierHydrator.php +8 −10 Changes for module/Dossier/src/Hydrator/IntervenantDossierHydrator.php: 8 added lines, 10 removed lines. Original line number Diff line number Diff line Loading @@ -223,7 +223,6 @@ class IntervenantDossierHydrator implements HydratorInterface if (isset($data['DossierContact'])) { $object->setEmailPerso(trim($data['DossierContact']['emailPersonnel'])); //$object->setEmailPro($data['DossierContact']['emailEtablissement']); $object->setTelPro(trim($data['DossierContact']['telephoneProfessionnel'])); $object->setTelPerso(trim($data['DossierContact']['telephonePersonnel'])); } Loading @@ -233,8 +232,6 @@ class IntervenantDossierHydrator implements HydratorInterface if (isset($data['DossierInsee'])) { $object->setNumeroInsee(trim($data['DossierInsee']['numeroInsee'])); $object->setNumeroInseeProvisoire($data['DossierInsee']['numeroInseeEstProvisoire']); } else { $object->setNumeroInseeProvisoire(false); } //Hydratation de Iban Loading @@ -256,18 +253,19 @@ class IntervenantDossierHydrator implements HydratorInterface if (!empty($data['DossierStatut']['statut'])) { $statut = $this->getServiceStatut()->get($data['DossierStatut']['statut']); $object->setStatut($statut); } else { $object->setStatut(null); } //Hydratation des champs autres if (isset($data['DossierAutres'])) { $object->setAutre1((isset($data['DossierAutres']['champ-autre-1'])) ? $data['DossierAutres']['champ-autre-1'] : ''); $object->setAutre2((isset($data['DossierAutres']['champ-autre-2'])) ? $data['DossierAutres']['champ-autre-2'] : ''); $object->setAutre3((isset($data['DossierAutres']['champ-autre-3'])) ? $data['DossierAutres']['champ-autre-3'] : ''); $object->setAutre4((isset($data['DossierAutres']['champ-autre-4'])) ? $data['DossierAutres']['champ-autre-4'] : ''); $object->setAutre5((isset($data['DossierAutres']['champ-autre-5'])) ? $data['DossierAutres']['champ-autre-5'] : ''); for ($i = 1; $i <= 5; $i++) { $champ = 'champ-autre-' . $i; if (isset($data['DossierAutres'][$champ])) { $method = 'setAutre' . $i; $object->$method($data['DossierAutres'][$champ]); } } } return $object; } Loading module/Dossier/src/Tbl/Process/DossierProcess.php +9 −7 Changes for module/Dossier/src/Tbl/Process/DossierProcess.php: 9 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -70,16 +70,18 @@ class DossierProcess implements ProcessInterface protected function traitementDossiers(): void { foreach ($this->dossiers as $key => $dossier) { mpg_lower($dossier); $dossierTbl = []; $dossierTbl['ANNEE_ID'] = $dossier['ANNEE_ID']; $dossierTbl['DOSSIER_ID'] = $dossier['DOSSIER_ID']; $dossierTbl['INTERVENANT_ID'] = $dossier['INTERVENANT_ID']; $dossierTbl['ACTIF'] = $dossier['DOSSIER']; $dossierTbl['VALIDATION_ID'] = $dossier['VALIDATION_ID']; $dossierTbl['VALIDATION_COMPLEMENTAIRE_ID'] = $dossier['VALIDATION_COMPLEMENTAIRE_ID']; $dossierTbl['annee_id'] = $dossier['annee_id']; $dossierTbl['dossier_id'] = $dossier['dossier_id']; $dossierTbl['intervenant_id'] = $dossier['intervenant_id']; $dossierTbl['actif'] = $dossier['dossier']; $dossierTbl['validation_id'] = $dossier['validation_id']; $dossierTbl['validation_complementaire_id'] = $dossier['validation_complementaire_id']; $this->calculateurCompletude->calculer($dossier, $dossierTbl); $this->tblData[$dossier['INTERVENANT_ID']] = $dossierTbl; $this->tblData[$dossier['intervenant_id']] = $dossierTbl; } mpg_upper($this->tblData); } Loading module/Dossier/src/Tbl/Process/Sub/CalculateurCompletude.php +67 −67 Changes for module/Dossier/src/Tbl/Process/Sub/CalculateurCompletude.php: 67 added lines, 67 removed lines. Original line number Diff line number Diff line Loading @@ -8,14 +8,14 @@ class CalculateurCompletude { private const DOSSIER_BLOCS = [ 'IDENTITE', 'STATUT', 'IDENTITE_COMP', 'CONTACT', 'ADRESSE', 'INSEE', 'BANQUE', 'EMPLOYEUR', 'identite', 'statut', 'identite_comp', 'contact', 'adresse', 'insee', 'banque', 'employeur', ]; private const REALISEE = 'realisee'; Loading @@ -25,20 +25,20 @@ class CalculateurCompletude public function calculer(array $dossier, array &$destination): void { $destination['COMPLETUDE_STATUT'] = isset($dossier['DOSSIER_ID']) ? $this->completudeStatut($dossier) : false; $destination['COMPLETUDE_IDENTITE'] = isset($dossier['DOSSIER_ID']) ? $this->completudeIdentite($dossier) : false; $destination['COMPLETUDE_IDENTITE_COMP'] = isset($dossier['DOSSIER_ID']) ? $this->completudeIdentiteComplementaire($dossier) : false; $destination['COMPLETUDE_CONTACT'] = isset($dossier['DOSSIER_ID']) ? $this->completudeContact($dossier) : false; $destination['COMPLETUDE_ADRESSE'] = isset($dossier['DOSSIER_ID']) ? $this->completudeAdresse($dossier) : false; $destination['COMPLETUDE_BANQUE'] = isset($dossier['DOSSIER_ID']) ? $this->completudeBanque($dossier) : false; $destination['COMPLETUDE_INSEE'] = isset($dossier['DOSSIER_ID']) ? $this->completudeInsee($dossier) : false; $destination['COMPLETUDE_EMPLOYEUR'] = isset($dossier['DOSSIER_ID']) ? $this->completudeEmployeur($dossier) : false; $destination['COMPLETUDE_AUTRE_AVANT_RECRUTEMENT'] = isset($dossier['DOSSIER_ID']) ? $this->completudeAutreAvantRecrutement($dossier) : false; $destination['COMPLETUDE_AUTRE_APRES_RECRUTEMENT'] = isset($dossier['DOSSIER_ID']) ? $this->completudeAutreApresRecrutement($dossier) : false; $destination['APRES_RECRUTEMENT_ATTENDUE'] = isset($dossier['DOSSIER_ID']) ? $this->calculerCompletude($dossier, $destination, 2, self::ATTENDUE) : false; $destination['AVANT_RECRUTEMENT_ATTENDUE'] = isset($dossier['DOSSIER_ID']) ? $this->calculerCompletude($dossier, $destination, 1, self::ATTENDUE) : false; $destination['APRES_RECRUTEMENT_REALISEE'] = isset($dossier['DOSSIER_ID']) ? $this->calculerCompletude($dossier, $destination, 2, self::REALISEE) : false; $destination['AVANT_RECRUTEMENT_REALISEE'] = isset($dossier['DOSSIER_ID']) ? $this->calculerCompletude($dossier, $destination, 1, self::REALISEE) : false; $destination['completude_statut'] = isset($dossier['dossier_id']) && $this->completudeStatut($dossier); $destination['completude_identite'] = isset($dossier['dossier_id']) && $this->completudeIdentite($dossier); $destination['completude_identite_comp'] = isset($dossier['dossier_id']) && $this->completudeIdentiteComplementaire($dossier); $destination['completude_contact'] = isset($dossier['dossier_id']) && $this->completudeContact($dossier); $destination['completude_adresse'] = isset($dossier['dossier_id']) && $this->completudeAdresse($dossier); $destination['completude_banque'] = isset($dossier['dossier_id']) && $this->completudeBanque($dossier); $destination['completude_insee'] = isset($dossier['dossier_id']) && $this->completudeInsee($dossier); $destination['completude_employeur'] = isset($dossier['dossier_id']) && $this->completudeEmployeur($dossier); $destination['completude_autre_avant_recrutement'] = isset($dossier['dossier_id']) && $this->completudeAutreAvantRecrutement($dossier); $destination['completude_autre_apres_recrutement'] = isset($dossier['dossier_id']) && $this->completudeAutreApresRecrutement($dossier); $destination['apres_recrutement_attendue'] = isset($dossier['dossier_id']) ? $this->calculerCompletude($dossier, $destination, 2, self::ATTENDUE) : false; $destination['avant_recrutement_attendue'] = isset($dossier['dossier_id']) ? $this->calculerCompletude($dossier, $destination, 1, self::ATTENDUE) : false; $destination['apres_recrutement_realisee'] = isset($dossier['dossier_id']) ? $this->calculerCompletude($dossier, $destination, 2, self::REALISEE) : false; $destination['avant_recrutement_realisee'] = isset($dossier['dossier_id']) ? $this->calculerCompletude($dossier, $destination, 1, self::REALISEE) : false; } Loading @@ -51,7 +51,7 @@ class CalculateurCompletude public function completudeStatut(array $dossier): bool { // 1. Si le statut est autre, le statut n'a pas été correctement choisi if ($dossier['CODE_STATUT'] == Statut::CODE_AUTRES) { if ($dossier['code_statut'] == Statut::CODE_AUTRES) { return false; } Loading @@ -68,10 +68,10 @@ class CalculateurCompletude public function completudeIdentite(array $dossier): bool { // 1. Champs obligatoires : civilite, nom_usuel, prénom et date de naissance $champsObligatoires = ['CIVILITE_ID', 'NOM_USUEL', 'PRENOM', 'DATE_NAISSANCE']; $champsObligatoires = ['civilite_id', 'nom_usuel', 'prenom', 'date_naissance']; foreach ($champsObligatoires as $champs) { if (empty($dossier[$champs])) { return false; Loading @@ -91,21 +91,21 @@ class CalculateurCompletude public function completudeIdentiteComplementaire(array $dossier): bool { //Uniquement si la partie données identités complémentaires est activée if ($dossier['DOSSIER_IDENTITE_COMP']) { if ($dossier['dossier_identite_comp']) { // 1. Complétude de la situation matrimoniale if (!empty($dossier['DOSSIER_SITUATION_MATRIMONIALE'])) { $code = $dossier['SITUATION_MATRIMONIALE_CODE'] ?? null; if (!empty($dossier['dossier_situation_matrimoniale'])) { $code = $dossier['situation_matrimoniale_code'] ?? null; // Si ce n’est pas un célibataire, on vérifie la présence du code et de la date if ($code !== Statut::CODE_SITUATION_MATRIMONIALE_CELIBATAIRE && (!$code || empty($dossier['SITUATION_MATRIMONIALE_DATE']))) { (!$code || empty($dossier['situation_matrimoniale_date']))) { return false; } } // 2. Champs obligatoires : pays naissance, nationalité, commune naissance $champsObligatoires = ['PAYS_NAISSANCE_ID', 'PAYS_NATIONALITE_ID', 'COMMUNE_NAISSANCE']; $champsObligatoires = ['pays_naissance_id', 'pays_nationalite_id', 'commune_naissance']; foreach ($champsObligatoires as $champs) { if (empty($dossier[$champs])) { return false; Loading @@ -113,9 +113,9 @@ class CalculateurCompletude } // 3. Département naissance requis si pays = France (insensible à la casse) if (isset($dossier['LIBELLE_PAYS_NAISSANCE']) && strcasecmp($dossier['LIBELLE_PAYS_NAISSANCE'], 'france') === 0 && empty($dossier['DEPARTEMENT_NAISSANCE_ID']) if (isset($dossier['libelle_pays_naissance']) && strcasecmp($dossier['libelle_pays_naissance'], 'france') === 0 && empty($dossier['departement_naissance_id']) ) { return false; } Loading @@ -134,19 +134,19 @@ class CalculateurCompletude */ public function completudeContact(array $dossier): bool { $var = ""; if ($dossier['DOSSIER_CONTACT']) { if ($dossier['dossier_contact']) { // 1. Vérification des emails if ($dossier['DOSSIER_EMAIL_PERSO'] && empty($dossier['EMAIL_PERSO'])) { if ($dossier['dossier_email_perso'] && empty($dossier['email_perso'])) { return false; } elseif (empty($dossier['EMAIL_PRO']) && empty($dossier['EMAIL_PERSO'])) { } elseif (empty($dossier['email_pro']) && empty($dossier['email_perso'])) { return false; } // 2. Vérification des téléphones if ($dossier['DOSSIER_TEL_PERSO'] && empty($dossier['TEL_PERSO'])) { if ($dossier['dossier_tel_perso'] && empty($dossier['tel_perso'])) { return false; } elseif (empty($dossier['TEL_PRO'])) { } elseif (empty($dossier['tel_pro'])) { return false; } Loading @@ -164,16 +164,16 @@ class CalculateurCompletude */ public function completudeAdresse(array $dossier): bool { if ($dossier['DOSSIER_ADRESSE']) { if ($dossier['dossier_adresse']) { // 1. Test de l'adresse if (empty($dossier['ADRESSE_PRECISIONS']) && empty($dossier['ADRESSE_LIEU_DIT']) && (empty($dossier['ADRESSE_VOIE']) && empty($dossier['ADRESSE_NUMERO']))) { if (empty($dossier['adresse_precisions']) && empty($dossier['adresse_lieu_dit']) && (empty($dossier['adresse_voie']) && empty($dossier['adresse_numero']))) { return false; } // 2. Test de la commune et du code postal if (empty($dossier['ADRESSE_COMMUNE']) || empty($dossier['ADRESSE_CODE_POSTAL'])) { if (empty($dossier['adresse_commune']) || empty($dossier['adresse_code_postal'])) { return false; } } Loading @@ -189,8 +189,8 @@ class CalculateurCompletude */ public function completudeBanque(array $dossier): bool { if ($dossier['DOSSIER_BANQUE']) { if (empty($dossier['IBAN']) || empty($dossier['BIC'])) { if ($dossier['dossier_banque']) { if (empty($dossier['iban']) || empty($dossier['bic'])) { return false; } } Loading @@ -208,8 +208,8 @@ class CalculateurCompletude */ public function completudeInsee(array $dossier): bool { if ($dossier['DOSSIER_INSEE']) { if (empty($dossier['NUMERO_INSEE'])) { if ($dossier['dossier_insee']) { if (empty($dossier['numero_insee'])) { return false; } } Loading @@ -227,9 +227,9 @@ class CalculateurCompletude */ public function completudeEmployeur(array $dossier): bool { if ($dossier['DOSSIER_EMPLOYEUR']) { if ($dossier['dossier_employeur']) { // 1. Test si l'employeur est renseigné uniquement s'il est obligatoire if (!$dossier['DOSSIER_EMPLOYEUR_FACULTATIF'] && empty($dossier['EMPLOYEUR_ID'])) { if (!$dossier['dossier_employeur_facultatif'] && empty($dossier['employeur_id'])) { return false; } } Loading @@ -247,8 +247,8 @@ class CalculateurCompletude */ public function completudeChampsAutres(array $dossier, int $numero): bool { if ($dossier['DOSSIER_AUTRE_' . $numero]) { if ($dossier['DOSSIER_AUTRE_' . $numero . '_OBLIGATOIRE'] && empty($dossier['AUTRE_' . $numero])) { if ($dossier['dossier_autre_' . $numero]) { if ($dossier['dossier_autre_' . $numero . '_obligatoire'] && empty($dossier['autre_' . $numero])) { return false; } } Loading @@ -260,9 +260,9 @@ class CalculateurCompletude public function completudeAutreAvantRecrutement(array $dossier): bool { for ($i = 1; $i < 6; $i++) { if ($dossier['DOSSIER_AUTRE_' . $i . '_OBLIGATOIRE'] && empty($dossier['AUTRE_' . $i]) && $dossier['DOSSIER_AUTRE_' . $i] == 1 if ($dossier['dossier_autre_' . $i . '_obligatoire'] && empty($dossier['autre_' . $i]) && $dossier['dossier_autre_' . $i] == 1 ) { return false; } Loading @@ -277,9 +277,9 @@ class CalculateurCompletude public function completudeAutreApresRecrutement(array $dossier): bool { for ($i = 1; $i < 6; $i++) { if ($dossier['DOSSIER_AUTRE_' . $i . '_OBLIGATOIRE'] && empty($dossier['AUTRE_' . $i]) && $dossier['DOSSIER_AUTRE_' . $i] == 2 if ($dossier['dossier_autre_' . $i . '_obligatoire'] && empty($dossier['autre_' . $i]) && $dossier['dossier_autre_' . $i] == 2 ) { return false; } Loading @@ -304,7 +304,7 @@ class CalculateurCompletude $completude = 0; foreach (self::DOSSIER_BLOCS as $value) { $keyDossier = 'DOSSIER_' . $value; $keyDossier = 'dossier_' . $value; if (!array_key_exists($keyDossier, $dossier)) { continue; Loading @@ -315,7 +315,7 @@ class CalculateurCompletude } if ($type === self::REALISEE) { $keyDestination = 'COMPLETUDE_' . $value; $keyDestination = 'completude_' . $value; if (!empty($destination[$keyDestination])) { $completude++; } Loading @@ -326,17 +326,17 @@ class CalculateurCompletude //Gestion des champs autres for ($i = 1; $i < 6; $i++) { if ($dossier['DOSSIER_AUTRE_' . $i] != $etat) { if ($dossier['dossier_autre_' . $i] != $etat) { continue; } //Champs autre non obligatoire on passe if (empty($dossier['DOSSIER_AUTRE_' . $i . '_OBLIGATOIRE'])) { if (empty($dossier['dossier_autre_' . $i . '_obligatoire'])) { $completude++; continue; } if ($type === self::REALISEE) { if (!empty($dossier['AUTRE_' . $i])) { if (!empty($dossier['autre_' . $i])) { $completude++; } } else { Loading module/PieceJointe/src/Tbl/Process/PieceJointeProcess.php +40 −33 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
module/Dossier/src/Hydrator/IntervenantDossierHydrator.php +8 −10 Changes for module/Dossier/src/Hydrator/IntervenantDossierHydrator.php: 8 added lines, 10 removed lines. Original line number Diff line number Diff line Loading @@ -223,7 +223,6 @@ class IntervenantDossierHydrator implements HydratorInterface if (isset($data['DossierContact'])) { $object->setEmailPerso(trim($data['DossierContact']['emailPersonnel'])); //$object->setEmailPro($data['DossierContact']['emailEtablissement']); $object->setTelPro(trim($data['DossierContact']['telephoneProfessionnel'])); $object->setTelPerso(trim($data['DossierContact']['telephonePersonnel'])); } Loading @@ -233,8 +232,6 @@ class IntervenantDossierHydrator implements HydratorInterface if (isset($data['DossierInsee'])) { $object->setNumeroInsee(trim($data['DossierInsee']['numeroInsee'])); $object->setNumeroInseeProvisoire($data['DossierInsee']['numeroInseeEstProvisoire']); } else { $object->setNumeroInseeProvisoire(false); } //Hydratation de Iban Loading @@ -256,18 +253,19 @@ class IntervenantDossierHydrator implements HydratorInterface if (!empty($data['DossierStatut']['statut'])) { $statut = $this->getServiceStatut()->get($data['DossierStatut']['statut']); $object->setStatut($statut); } else { $object->setStatut(null); } //Hydratation des champs autres if (isset($data['DossierAutres'])) { $object->setAutre1((isset($data['DossierAutres']['champ-autre-1'])) ? $data['DossierAutres']['champ-autre-1'] : ''); $object->setAutre2((isset($data['DossierAutres']['champ-autre-2'])) ? $data['DossierAutres']['champ-autre-2'] : ''); $object->setAutre3((isset($data['DossierAutres']['champ-autre-3'])) ? $data['DossierAutres']['champ-autre-3'] : ''); $object->setAutre4((isset($data['DossierAutres']['champ-autre-4'])) ? $data['DossierAutres']['champ-autre-4'] : ''); $object->setAutre5((isset($data['DossierAutres']['champ-autre-5'])) ? $data['DossierAutres']['champ-autre-5'] : ''); for ($i = 1; $i <= 5; $i++) { $champ = 'champ-autre-' . $i; if (isset($data['DossierAutres'][$champ])) { $method = 'setAutre' . $i; $object->$method($data['DossierAutres'][$champ]); } } } return $object; } Loading
module/Dossier/src/Tbl/Process/DossierProcess.php +9 −7 Changes for module/Dossier/src/Tbl/Process/DossierProcess.php: 9 added lines, 7 removed lines. Original line number Diff line number Diff line Loading @@ -70,16 +70,18 @@ class DossierProcess implements ProcessInterface protected function traitementDossiers(): void { foreach ($this->dossiers as $key => $dossier) { mpg_lower($dossier); $dossierTbl = []; $dossierTbl['ANNEE_ID'] = $dossier['ANNEE_ID']; $dossierTbl['DOSSIER_ID'] = $dossier['DOSSIER_ID']; $dossierTbl['INTERVENANT_ID'] = $dossier['INTERVENANT_ID']; $dossierTbl['ACTIF'] = $dossier['DOSSIER']; $dossierTbl['VALIDATION_ID'] = $dossier['VALIDATION_ID']; $dossierTbl['VALIDATION_COMPLEMENTAIRE_ID'] = $dossier['VALIDATION_COMPLEMENTAIRE_ID']; $dossierTbl['annee_id'] = $dossier['annee_id']; $dossierTbl['dossier_id'] = $dossier['dossier_id']; $dossierTbl['intervenant_id'] = $dossier['intervenant_id']; $dossierTbl['actif'] = $dossier['dossier']; $dossierTbl['validation_id'] = $dossier['validation_id']; $dossierTbl['validation_complementaire_id'] = $dossier['validation_complementaire_id']; $this->calculateurCompletude->calculer($dossier, $dossierTbl); $this->tblData[$dossier['INTERVENANT_ID']] = $dossierTbl; $this->tblData[$dossier['intervenant_id']] = $dossierTbl; } mpg_upper($this->tblData); } Loading
module/Dossier/src/Tbl/Process/Sub/CalculateurCompletude.php +67 −67 Changes for module/Dossier/src/Tbl/Process/Sub/CalculateurCompletude.php: 67 added lines, 67 removed lines. Original line number Diff line number Diff line Loading @@ -8,14 +8,14 @@ class CalculateurCompletude { private const DOSSIER_BLOCS = [ 'IDENTITE', 'STATUT', 'IDENTITE_COMP', 'CONTACT', 'ADRESSE', 'INSEE', 'BANQUE', 'EMPLOYEUR', 'identite', 'statut', 'identite_comp', 'contact', 'adresse', 'insee', 'banque', 'employeur', ]; private const REALISEE = 'realisee'; Loading @@ -25,20 +25,20 @@ class CalculateurCompletude public function calculer(array $dossier, array &$destination): void { $destination['COMPLETUDE_STATUT'] = isset($dossier['DOSSIER_ID']) ? $this->completudeStatut($dossier) : false; $destination['COMPLETUDE_IDENTITE'] = isset($dossier['DOSSIER_ID']) ? $this->completudeIdentite($dossier) : false; $destination['COMPLETUDE_IDENTITE_COMP'] = isset($dossier['DOSSIER_ID']) ? $this->completudeIdentiteComplementaire($dossier) : false; $destination['COMPLETUDE_CONTACT'] = isset($dossier['DOSSIER_ID']) ? $this->completudeContact($dossier) : false; $destination['COMPLETUDE_ADRESSE'] = isset($dossier['DOSSIER_ID']) ? $this->completudeAdresse($dossier) : false; $destination['COMPLETUDE_BANQUE'] = isset($dossier['DOSSIER_ID']) ? $this->completudeBanque($dossier) : false; $destination['COMPLETUDE_INSEE'] = isset($dossier['DOSSIER_ID']) ? $this->completudeInsee($dossier) : false; $destination['COMPLETUDE_EMPLOYEUR'] = isset($dossier['DOSSIER_ID']) ? $this->completudeEmployeur($dossier) : false; $destination['COMPLETUDE_AUTRE_AVANT_RECRUTEMENT'] = isset($dossier['DOSSIER_ID']) ? $this->completudeAutreAvantRecrutement($dossier) : false; $destination['COMPLETUDE_AUTRE_APRES_RECRUTEMENT'] = isset($dossier['DOSSIER_ID']) ? $this->completudeAutreApresRecrutement($dossier) : false; $destination['APRES_RECRUTEMENT_ATTENDUE'] = isset($dossier['DOSSIER_ID']) ? $this->calculerCompletude($dossier, $destination, 2, self::ATTENDUE) : false; $destination['AVANT_RECRUTEMENT_ATTENDUE'] = isset($dossier['DOSSIER_ID']) ? $this->calculerCompletude($dossier, $destination, 1, self::ATTENDUE) : false; $destination['APRES_RECRUTEMENT_REALISEE'] = isset($dossier['DOSSIER_ID']) ? $this->calculerCompletude($dossier, $destination, 2, self::REALISEE) : false; $destination['AVANT_RECRUTEMENT_REALISEE'] = isset($dossier['DOSSIER_ID']) ? $this->calculerCompletude($dossier, $destination, 1, self::REALISEE) : false; $destination['completude_statut'] = isset($dossier['dossier_id']) && $this->completudeStatut($dossier); $destination['completude_identite'] = isset($dossier['dossier_id']) && $this->completudeIdentite($dossier); $destination['completude_identite_comp'] = isset($dossier['dossier_id']) && $this->completudeIdentiteComplementaire($dossier); $destination['completude_contact'] = isset($dossier['dossier_id']) && $this->completudeContact($dossier); $destination['completude_adresse'] = isset($dossier['dossier_id']) && $this->completudeAdresse($dossier); $destination['completude_banque'] = isset($dossier['dossier_id']) && $this->completudeBanque($dossier); $destination['completude_insee'] = isset($dossier['dossier_id']) && $this->completudeInsee($dossier); $destination['completude_employeur'] = isset($dossier['dossier_id']) && $this->completudeEmployeur($dossier); $destination['completude_autre_avant_recrutement'] = isset($dossier['dossier_id']) && $this->completudeAutreAvantRecrutement($dossier); $destination['completude_autre_apres_recrutement'] = isset($dossier['dossier_id']) && $this->completudeAutreApresRecrutement($dossier); $destination['apres_recrutement_attendue'] = isset($dossier['dossier_id']) ? $this->calculerCompletude($dossier, $destination, 2, self::ATTENDUE) : false; $destination['avant_recrutement_attendue'] = isset($dossier['dossier_id']) ? $this->calculerCompletude($dossier, $destination, 1, self::ATTENDUE) : false; $destination['apres_recrutement_realisee'] = isset($dossier['dossier_id']) ? $this->calculerCompletude($dossier, $destination, 2, self::REALISEE) : false; $destination['avant_recrutement_realisee'] = isset($dossier['dossier_id']) ? $this->calculerCompletude($dossier, $destination, 1, self::REALISEE) : false; } Loading @@ -51,7 +51,7 @@ class CalculateurCompletude public function completudeStatut(array $dossier): bool { // 1. Si le statut est autre, le statut n'a pas été correctement choisi if ($dossier['CODE_STATUT'] == Statut::CODE_AUTRES) { if ($dossier['code_statut'] == Statut::CODE_AUTRES) { return false; } Loading @@ -68,10 +68,10 @@ class CalculateurCompletude public function completudeIdentite(array $dossier): bool { // 1. Champs obligatoires : civilite, nom_usuel, prénom et date de naissance $champsObligatoires = ['CIVILITE_ID', 'NOM_USUEL', 'PRENOM', 'DATE_NAISSANCE']; $champsObligatoires = ['civilite_id', 'nom_usuel', 'prenom', 'date_naissance']; foreach ($champsObligatoires as $champs) { if (empty($dossier[$champs])) { return false; Loading @@ -91,21 +91,21 @@ class CalculateurCompletude public function completudeIdentiteComplementaire(array $dossier): bool { //Uniquement si la partie données identités complémentaires est activée if ($dossier['DOSSIER_IDENTITE_COMP']) { if ($dossier['dossier_identite_comp']) { // 1. Complétude de la situation matrimoniale if (!empty($dossier['DOSSIER_SITUATION_MATRIMONIALE'])) { $code = $dossier['SITUATION_MATRIMONIALE_CODE'] ?? null; if (!empty($dossier['dossier_situation_matrimoniale'])) { $code = $dossier['situation_matrimoniale_code'] ?? null; // Si ce n’est pas un célibataire, on vérifie la présence du code et de la date if ($code !== Statut::CODE_SITUATION_MATRIMONIALE_CELIBATAIRE && (!$code || empty($dossier['SITUATION_MATRIMONIALE_DATE']))) { (!$code || empty($dossier['situation_matrimoniale_date']))) { return false; } } // 2. Champs obligatoires : pays naissance, nationalité, commune naissance $champsObligatoires = ['PAYS_NAISSANCE_ID', 'PAYS_NATIONALITE_ID', 'COMMUNE_NAISSANCE']; $champsObligatoires = ['pays_naissance_id', 'pays_nationalite_id', 'commune_naissance']; foreach ($champsObligatoires as $champs) { if (empty($dossier[$champs])) { return false; Loading @@ -113,9 +113,9 @@ class CalculateurCompletude } // 3. Département naissance requis si pays = France (insensible à la casse) if (isset($dossier['LIBELLE_PAYS_NAISSANCE']) && strcasecmp($dossier['LIBELLE_PAYS_NAISSANCE'], 'france') === 0 && empty($dossier['DEPARTEMENT_NAISSANCE_ID']) if (isset($dossier['libelle_pays_naissance']) && strcasecmp($dossier['libelle_pays_naissance'], 'france') === 0 && empty($dossier['departement_naissance_id']) ) { return false; } Loading @@ -134,19 +134,19 @@ class CalculateurCompletude */ public function completudeContact(array $dossier): bool { $var = ""; if ($dossier['DOSSIER_CONTACT']) { if ($dossier['dossier_contact']) { // 1. Vérification des emails if ($dossier['DOSSIER_EMAIL_PERSO'] && empty($dossier['EMAIL_PERSO'])) { if ($dossier['dossier_email_perso'] && empty($dossier['email_perso'])) { return false; } elseif (empty($dossier['EMAIL_PRO']) && empty($dossier['EMAIL_PERSO'])) { } elseif (empty($dossier['email_pro']) && empty($dossier['email_perso'])) { return false; } // 2. Vérification des téléphones if ($dossier['DOSSIER_TEL_PERSO'] && empty($dossier['TEL_PERSO'])) { if ($dossier['dossier_tel_perso'] && empty($dossier['tel_perso'])) { return false; } elseif (empty($dossier['TEL_PRO'])) { } elseif (empty($dossier['tel_pro'])) { return false; } Loading @@ -164,16 +164,16 @@ class CalculateurCompletude */ public function completudeAdresse(array $dossier): bool { if ($dossier['DOSSIER_ADRESSE']) { if ($dossier['dossier_adresse']) { // 1. Test de l'adresse if (empty($dossier['ADRESSE_PRECISIONS']) && empty($dossier['ADRESSE_LIEU_DIT']) && (empty($dossier['ADRESSE_VOIE']) && empty($dossier['ADRESSE_NUMERO']))) { if (empty($dossier['adresse_precisions']) && empty($dossier['adresse_lieu_dit']) && (empty($dossier['adresse_voie']) && empty($dossier['adresse_numero']))) { return false; } // 2. Test de la commune et du code postal if (empty($dossier['ADRESSE_COMMUNE']) || empty($dossier['ADRESSE_CODE_POSTAL'])) { if (empty($dossier['adresse_commune']) || empty($dossier['adresse_code_postal'])) { return false; } } Loading @@ -189,8 +189,8 @@ class CalculateurCompletude */ public function completudeBanque(array $dossier): bool { if ($dossier['DOSSIER_BANQUE']) { if (empty($dossier['IBAN']) || empty($dossier['BIC'])) { if ($dossier['dossier_banque']) { if (empty($dossier['iban']) || empty($dossier['bic'])) { return false; } } Loading @@ -208,8 +208,8 @@ class CalculateurCompletude */ public function completudeInsee(array $dossier): bool { if ($dossier['DOSSIER_INSEE']) { if (empty($dossier['NUMERO_INSEE'])) { if ($dossier['dossier_insee']) { if (empty($dossier['numero_insee'])) { return false; } } Loading @@ -227,9 +227,9 @@ class CalculateurCompletude */ public function completudeEmployeur(array $dossier): bool { if ($dossier['DOSSIER_EMPLOYEUR']) { if ($dossier['dossier_employeur']) { // 1. Test si l'employeur est renseigné uniquement s'il est obligatoire if (!$dossier['DOSSIER_EMPLOYEUR_FACULTATIF'] && empty($dossier['EMPLOYEUR_ID'])) { if (!$dossier['dossier_employeur_facultatif'] && empty($dossier['employeur_id'])) { return false; } } Loading @@ -247,8 +247,8 @@ class CalculateurCompletude */ public function completudeChampsAutres(array $dossier, int $numero): bool { if ($dossier['DOSSIER_AUTRE_' . $numero]) { if ($dossier['DOSSIER_AUTRE_' . $numero . '_OBLIGATOIRE'] && empty($dossier['AUTRE_' . $numero])) { if ($dossier['dossier_autre_' . $numero]) { if ($dossier['dossier_autre_' . $numero . '_obligatoire'] && empty($dossier['autre_' . $numero])) { return false; } } Loading @@ -260,9 +260,9 @@ class CalculateurCompletude public function completudeAutreAvantRecrutement(array $dossier): bool { for ($i = 1; $i < 6; $i++) { if ($dossier['DOSSIER_AUTRE_' . $i . '_OBLIGATOIRE'] && empty($dossier['AUTRE_' . $i]) && $dossier['DOSSIER_AUTRE_' . $i] == 1 if ($dossier['dossier_autre_' . $i . '_obligatoire'] && empty($dossier['autre_' . $i]) && $dossier['dossier_autre_' . $i] == 1 ) { return false; } Loading @@ -277,9 +277,9 @@ class CalculateurCompletude public function completudeAutreApresRecrutement(array $dossier): bool { for ($i = 1; $i < 6; $i++) { if ($dossier['DOSSIER_AUTRE_' . $i . '_OBLIGATOIRE'] && empty($dossier['AUTRE_' . $i]) && $dossier['DOSSIER_AUTRE_' . $i] == 2 if ($dossier['dossier_autre_' . $i . '_obligatoire'] && empty($dossier['autre_' . $i]) && $dossier['dossier_autre_' . $i] == 2 ) { return false; } Loading @@ -304,7 +304,7 @@ class CalculateurCompletude $completude = 0; foreach (self::DOSSIER_BLOCS as $value) { $keyDossier = 'DOSSIER_' . $value; $keyDossier = 'dossier_' . $value; if (!array_key_exists($keyDossier, $dossier)) { continue; Loading @@ -315,7 +315,7 @@ class CalculateurCompletude } if ($type === self::REALISEE) { $keyDestination = 'COMPLETUDE_' . $value; $keyDestination = 'completude_' . $value; if (!empty($destination[$keyDestination])) { $completude++; } Loading @@ -326,17 +326,17 @@ class CalculateurCompletude //Gestion des champs autres for ($i = 1; $i < 6; $i++) { if ($dossier['DOSSIER_AUTRE_' . $i] != $etat) { if ($dossier['dossier_autre_' . $i] != $etat) { continue; } //Champs autre non obligatoire on passe if (empty($dossier['DOSSIER_AUTRE_' . $i . '_OBLIGATOIRE'])) { if (empty($dossier['dossier_autre_' . $i . '_obligatoire'])) { $completude++; continue; } if ($type === self::REALISEE) { if (!empty($dossier['AUTRE_' . $i])) { if (!empty($dossier['autre_' . $i])) { $completude++; } } else { Loading
module/PieceJointe/src/Tbl/Process/PieceJointeProcess.php +40 −33 File changed.Preview size limit exceeded, changes collapsed. Show changes