From d98fac2649f49ba81c1fc166c0b62e77780d84b7 Mon Sep 17 00:00:00 2001 From: Antony Le Courtes <antony.lecourtes@unicaen.fr> Date: Mon, 26 Jul 2021 15:22:36 +0200 Subject: [PATCH] Synchronisation de l'adresse --- composer.lock | 5 ++- .../src/Connecteur/Siham/SihamConnecteur.php | 40 ++++++++++++++++++- .../src/Controller/ExportRhController.php | 3 ++ module/ExportRh/src/Entity/IntervenantRh.php | 26 ++++++++++++ .../ExportRh/src/Service/ExportRhService.php | 7 ++++ .../view/export-rh/export-rh/exporter.phtml | 16 +++++++- 6 files changed, 92 insertions(+), 5 deletions(-) diff --git a/composer.lock b/composer.lock index 0d1364353d..8a2394112a 100755 --- a/composer.lock +++ b/composer.lock @@ -2884,7 +2884,7 @@ "source": { "type": "git", "url": "https://git.unicaen.fr/lib/unicaen/siham.git", - "reference": "147f055c50636a7329e47ecc79c26326dcc10475" + "reference": "b57e42f7d66ae72e410d216aa740ab9337fded83" }, "require": { "unicaen/app": "^3.0" @@ -2908,7 +2908,7 @@ } ], "description": "PHP library for SIHAM webservices", - "time": "2021-07-22T14:04:13+00:00" + "time": "2021-07-26T08:57:28+00:00" }, { "name": "unicaen/tbl", @@ -7687,6 +7687,7 @@ "type": "github" } ], + "abandoned": true, "time": "2020-11-30T07:30:19+00:00" }, { diff --git a/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php b/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php index 356052ac2c..46e43fc121 100644 --- a/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php +++ b/module/ExportRh/src/Connecteur/Siham/SihamConnecteur.php @@ -92,6 +92,15 @@ class SihamConnecteur implements ConnecteurRhInterface $intervenantRh->setIBAN($agent->getIban()); $intervenantRh->setBIC($agent->getBic()); $intervenantRh->setCodeRh($agent->getMatricule()); + $intervenantRh->setAdresseNumero($agent->getNoVoieAdresse()); + $intervenantRh->setAdresseNumeroCompl(null); + $intervenantRh->setAdresseVoirie(null); + $intervenantRh->setAdresseVoie($agent->getNomVoieAdresse()); + $intervenantRh->setAdressePrecisions($agent->getComplementAdresse()); + $intervenantRh->setAdresseCodePostal($agent->getCodePostalAdresse()); + $intervenantRh->setAdresseCommune($agent->getBureauDistributeurAdresse()); + $intervenantRh->setAdresseDateDebut($agent->getDateDebutAdresse()); + return $intervenantRh; } @@ -208,10 +217,37 @@ class SihamConnecteur implements ConnecteurRhInterface } //TODO : Synchroniser l'adresse + if ($datas['generiqueFieldset']['adressePrincipale']) { + + $adresse = ''; + $adresse .= (!empty($dossierIntervenant->getAdresseNumero())) ? $dossierIntervenant->getAdresseNumero() . ' ' : ''; + $adresse .= (!empty($dossierIntervenant->getAdresseNumeroCompl())) ? $dossierIntervenant->getAdresseNumeroCompl() . ' ' : ''; + $adresse .= (!empty($dossierIntervenant->getAdresseVoirie())) ? $dossierIntervenant->getAdresseVoirie() . ' ' : ''; + $adresse .= (!empty($dossierIntervenant->getAdresseVoie())) ? $dossierIntervenant->getAdresseVoie() . ' ' : ''; + $adresse .= (!empty($dossierIntervenant->getAdressePrecisions())) ? $dossierIntervenant->getAdressePrecisions() . ' ' : ''; + + + $params = [ + 'matricule' => $intervenantRh->getCodeRh(), + 'dateDebut' => $intervenantRh->getAdresseDateDebut(), + 'bureauDistributeur' => $dossierIntervenant->getAdresseCommune(), + 'complementAdresse' => $adresse, + 'noVoie' => ' ', + 'natureVoie' => '', + 'nomVoie' => ' ', + 'commune' => $dossierIntervenant->getAdresseCommune(), + 'codePostal' => $dossierIntervenant->getAdresseCodePostal(), + 'codePays' => $dossierIntervenant->getAdressePays()->getCode(), + + ]; + + $this->siham->modifierAdressePrincipaleAgent($params); + } return true; - } catch (SihamException $e) { + } catch + (SihamException $e) { throw new \Exception($e->getMessage()); } } @@ -333,6 +369,8 @@ class SihamConnecteur implements ConnecteurRhInterface ]; $matricule = $this->siham->priseEnChargeAgent($params); + var_dump($this->siham->getClient()->getLastRequest()); + die; return $matricule; diff --git a/module/ExportRh/src/Controller/ExportRhController.php b/module/ExportRh/src/Controller/ExportRhController.php index 2f7b390497..a37f456f7c 100644 --- a/module/ExportRh/src/Controller/ExportRhController.php +++ b/module/ExportRh/src/Controller/ExportRhController.php @@ -101,6 +101,7 @@ class ExportRhController extends AbstractController */ try { $intervenantRh = $this->exportRhService->getIntervenantRh($intervenant); + //On a trouvé un intervenant dans le SI RH if (!empty($intervenantRh)) { //On regarde si il a une affectation en cours pour l'année courante si oui alors on propose uniquement une synchronisation des données personnelles @@ -150,6 +151,7 @@ class ExportRhController extends AbstractController $result = $this->exportRhService->priseEnChargeIntrervenantRh($intervenant, $posts); + if ($result !== false) { $this->flashMessenger()->addSuccessMessage('succes matricule : ' . $result); } else { @@ -157,6 +159,7 @@ class ExportRhController extends AbstractController } } } catch (\Exception $e) { + $this->flashMessenger()->addErrorMessage($e->getMessage()); } diff --git a/module/ExportRh/src/Entity/IntervenantRh.php b/module/ExportRh/src/Entity/IntervenantRh.php index 2e7dc956ef..4f77db3a9e 100644 --- a/module/ExportRh/src/Entity/IntervenantRh.php +++ b/module/ExportRh/src/Entity/IntervenantRh.php @@ -63,6 +63,8 @@ class IntervenantRh public ?string $emailPersoDateDebut; + public ?string $adresseDateDebut; + public ?string $adressePrecisions; public ?string $adresseNumero; @@ -723,6 +725,30 @@ class IntervenantRh + /** + * @return string|null + */ + public function getAdresseDateDebut(): ?string + { + return $this->adresseDateDebut; + } + + + + /** + * @param string|null $adresseDateDebut + * + * @return IntervenantRH + */ + public function setAdresseDateDebut(?string $adresseDateDebut): IntervenantRH + { + $this->adresseDateDebut = $adresseDateDebut; + + return $this; + } + + + /** * @return string|null */ diff --git a/module/ExportRh/src/Service/ExportRhService.php b/module/ExportRh/src/Service/ExportRhService.php index 9fd95f2fad..80bf8da217 100644 --- a/module/ExportRh/src/Service/ExportRhService.php +++ b/module/ExportRh/src/Service/ExportRhService.php @@ -255,4 +255,11 @@ class ExportRhService extends AbstractService return $this->connecteur->getConnecteurName(); } + + + public function getConnecteur() + { + return $this->connecteur; + } + } \ No newline at end of file diff --git a/module/ExportRh/view/export-rh/export-rh/exporter.phtml b/module/ExportRh/view/export-rh/export-rh/exporter.phtml index 5ceb826cdf..271ae8b885 100755 --- a/module/ExportRh/view/export-rh/export-rh/exporter.phtml +++ b/module/ExportRh/view/export-rh/export-rh/exporter.phtml @@ -15,7 +15,7 @@ if ($priseEnCharge) { ?> <br/> - + <form class="no-intranavigation form-export-rh" action="<?= $this->url($action, ['intervenant' => $intervenant->getId()]) ?>" method="post"> <?php echo $this->messenger()->addCurrentMessagesFromFlashMessenger()->addMessagesFromFlashMessenger(); ?> @@ -126,7 +126,19 @@ if ($priseEnCharge) { echo $adresse; ?> </td> - <td class="active"></td> + <td class="active"> + <?php + $adresse = ''; + $adresse .= (!empty(trim($intervenantRh->getAdresseNumero()))) ? $intervenantRh->getAdresseNumero() . ' ' : ''; + $adresse .= (!empty(trim($intervenantRh->getAdresseNumeroCompl()))) ? $intervenantRh->getAdresseNumeroCompl() . ' ' : ''; + $adresse .= (!empty(trim($intervenantRh->getAdresseVoirie()))) ? $intervenantRh->getAdresseVoirie() . ' ' : ''; + $adresse .= (!empty(trim($intervenantRh->getAdresseVoie()))) ? $intervenantRh->getAdresseVoie() . ' ' : ''; + $adresse .= (!empty(trim($intervenantRh->getAdressePrecisions()))) ? '<br/>' . $intervenantRh->getAdressePrecisions() . ' ' : ''; + $adresse .= '<br/>'; + $adresse .= $intervenantRh->getAdresseCodePostal() . ' ' . $intervenantRh->getAdresseCommune(); + echo $adresse; + ?> + </td> </tr> <tr> <td> -- GitLab