Loading module/InscriptionAdministrative/data/tmp_tables.sql +6 −6 Changes for module/InscriptionAdministrative/data/tmp_tables.sql: 6 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -96,12 +96,12 @@ create table tmp_inscription_administrative_periode histo_destructeur_id bigint ); create index tmp_inscription_administrative_source_code_index on tmp_inscription_administrative (source_code); create index tmp_inscription_administrative_source_id_index on tmp_inscription_administrative (source_id); create unique index tmp_inscription_administrative_unique_index on tmp_inscription_administrative (source_id, source_code); create index tmp_inscription_administrative_periode_source_code_index on tmp_inscription_administrative_periode (source_code); create index tmp_inscription_administrative_periode_source_id_index on tmp_inscription_administrative_periode (source_id); create unique index tmp_inscription_administrative_periode_unique_index on tmp_inscription_administrative_periode (source_id, source_code); Loading module/SygalApiImpl/src/V1/Rest/InscriptionAdministrative/InscriptionAdministrativeResource.php +1 −1 Changes for module/SygalApiImpl/src/V1/Rest/InscriptionAdministrative/InscriptionAdministrativeResource.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ class InscriptionAdministrativeResource extends \SygalApi\V1\Rest\InscriptionAdm } catch (Exception $e) { @trigger_error($e, E_USER_WARNING); return new ApiProblem(500, new RuntimeException( "Une erreur est survenue lors de l'import des inscriptions administratives", null, $e "Une erreur est survenue lors de l'import de l'inscription administrative : " . $e->getMessage(), null, $e )); } } Loading module/SygalApiImpl/src/V1/Rest/InscriptionAdministrative/Service/ImportService.php +61 −3 Changes for module/SygalApiImpl/src/V1/Rest/InscriptionAdministrative/Service/ImportService.php: 61 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ use Import\Filter\PrefixEtabColumnValueFilter; use stdClass; use SygalApi\V1\Rest\InscriptionAdministrative\Extractor\DoctorantExtractor; use SygalApi\V1\Rest\InscriptionAdministrative\Extractor\IndividuExtractor; use SygalApi\V1\Rest\InscriptionAdministrative\Extractor\InscriptionExtractor; use UnicaenDbImport\Connection\ApiConnection; use UnicaenDbImport\Domain\Destination; use UnicaenDbImport\Domain\Import; Loading Loading @@ -39,10 +40,11 @@ class ImportService try { $this->importIndividu($data); $this->importDoctorant($data); // $this->importInscription($data); $this->destinationConnection->commit(); } catch (Exception $e) { $this->destinationConnection->rollback(); throw new Exception("Une erreur est survenue lors de l'import de l'inscription administrative", null, $e); throw $e; } } Loading Loading @@ -72,6 +74,19 @@ class ImportService } } /** * @throws \Exception */ private function importInscription(stdClass $data) { try { $import = $this->createImportInscription($data); $this->runImport($import); } catch (Exception $e) { throw new Exception("Une erreur est survenue lors de l'import de l'inscription", null, $e); } } /** * @throws \UnicaenDbImport\Config\ConfigException */ Loading Loading @@ -102,7 +117,7 @@ class ImportService $source->setData([$preparedData]); return Import::fromConfig([ 'name' => 'inscrit', 'name' => 'individu', 'source' => $source, 'destination' => $destination, ]); Loading Loading @@ -146,7 +161,7 @@ class ImportService $source->setData([$preparedData]); return Import::fromConfig([ 'name' => 'inscrit', 'name' => 'doctorant', 'source' => $source, 'destination' => $destination, ]); Loading @@ -159,6 +174,49 @@ class ImportService return $hydrator->extract($data); } /** * @throws \UnicaenDbImport\Config\ConfigException */ private function createImportInscription(stdClass $data): Import { $filter = new PrefixEtabColumnValueFilter([ 'source_code', //'source_id', // pas le source_id ! ]); $filter->setParams([PrefixEtabColumnValueFilter::PARAM_CODE_ETABLISSEMENT => $data->instancePegase]); $source = Source::fromConfig([ 'name' => 'vxcvxcvxc', 'connection' => new ApiConnection(), 'select' => 'xxxxx', 'source_code_column' => 'source_code', 'column_value_filter' => $filter, ]); $destination = Destination::fromConfig([ 'name' => 'Application', 'table' => 'tmp_inscription_administrative', 'connection' => $this->destinationConnection, 'source_code_column' => 'source_code', 'id_sequence' => false, ]); $preparedData = $this->prepareDataForImportInscription($data); $source->setData([$preparedData]); return Import::fromConfig([ 'name' => 'inscription', 'source' => $source, 'destination' => $destination, ]); } private function prepareDataForImportInscription(stdClass $data): array { $hydrator = new InscriptionExtractor(); return $hydrator->extract($data); } /** * @throws \Exception */ Loading Loading
module/InscriptionAdministrative/data/tmp_tables.sql +6 −6 Changes for module/InscriptionAdministrative/data/tmp_tables.sql: 6 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -96,12 +96,12 @@ create table tmp_inscription_administrative_periode histo_destructeur_id bigint ); create index tmp_inscription_administrative_source_code_index on tmp_inscription_administrative (source_code); create index tmp_inscription_administrative_source_id_index on tmp_inscription_administrative (source_id); create unique index tmp_inscription_administrative_unique_index on tmp_inscription_administrative (source_id, source_code); create index tmp_inscription_administrative_periode_source_code_index on tmp_inscription_administrative_periode (source_code); create index tmp_inscription_administrative_periode_source_id_index on tmp_inscription_administrative_periode (source_id); create unique index tmp_inscription_administrative_periode_unique_index on tmp_inscription_administrative_periode (source_id, source_code); Loading
module/SygalApiImpl/src/V1/Rest/InscriptionAdministrative/InscriptionAdministrativeResource.php +1 −1 Changes for module/SygalApiImpl/src/V1/Rest/InscriptionAdministrative/InscriptionAdministrativeResource.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ class InscriptionAdministrativeResource extends \SygalApi\V1\Rest\InscriptionAdm } catch (Exception $e) { @trigger_error($e, E_USER_WARNING); return new ApiProblem(500, new RuntimeException( "Une erreur est survenue lors de l'import des inscriptions administratives", null, $e "Une erreur est survenue lors de l'import de l'inscription administrative : " . $e->getMessage(), null, $e )); } } Loading
module/SygalApiImpl/src/V1/Rest/InscriptionAdministrative/Service/ImportService.php +61 −3 Changes for module/SygalApiImpl/src/V1/Rest/InscriptionAdministrative/Service/ImportService.php: 61 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ use Import\Filter\PrefixEtabColumnValueFilter; use stdClass; use SygalApi\V1\Rest\InscriptionAdministrative\Extractor\DoctorantExtractor; use SygalApi\V1\Rest\InscriptionAdministrative\Extractor\IndividuExtractor; use SygalApi\V1\Rest\InscriptionAdministrative\Extractor\InscriptionExtractor; use UnicaenDbImport\Connection\ApiConnection; use UnicaenDbImport\Domain\Destination; use UnicaenDbImport\Domain\Import; Loading Loading @@ -39,10 +40,11 @@ class ImportService try { $this->importIndividu($data); $this->importDoctorant($data); // $this->importInscription($data); $this->destinationConnection->commit(); } catch (Exception $e) { $this->destinationConnection->rollback(); throw new Exception("Une erreur est survenue lors de l'import de l'inscription administrative", null, $e); throw $e; } } Loading Loading @@ -72,6 +74,19 @@ class ImportService } } /** * @throws \Exception */ private function importInscription(stdClass $data) { try { $import = $this->createImportInscription($data); $this->runImport($import); } catch (Exception $e) { throw new Exception("Une erreur est survenue lors de l'import de l'inscription", null, $e); } } /** * @throws \UnicaenDbImport\Config\ConfigException */ Loading Loading @@ -102,7 +117,7 @@ class ImportService $source->setData([$preparedData]); return Import::fromConfig([ 'name' => 'inscrit', 'name' => 'individu', 'source' => $source, 'destination' => $destination, ]); Loading Loading @@ -146,7 +161,7 @@ class ImportService $source->setData([$preparedData]); return Import::fromConfig([ 'name' => 'inscrit', 'name' => 'doctorant', 'source' => $source, 'destination' => $destination, ]); Loading @@ -159,6 +174,49 @@ class ImportService return $hydrator->extract($data); } /** * @throws \UnicaenDbImport\Config\ConfigException */ private function createImportInscription(stdClass $data): Import { $filter = new PrefixEtabColumnValueFilter([ 'source_code', //'source_id', // pas le source_id ! ]); $filter->setParams([PrefixEtabColumnValueFilter::PARAM_CODE_ETABLISSEMENT => $data->instancePegase]); $source = Source::fromConfig([ 'name' => 'vxcvxcvxc', 'connection' => new ApiConnection(), 'select' => 'xxxxx', 'source_code_column' => 'source_code', 'column_value_filter' => $filter, ]); $destination = Destination::fromConfig([ 'name' => 'Application', 'table' => 'tmp_inscription_administrative', 'connection' => $this->destinationConnection, 'source_code_column' => 'source_code', 'id_sequence' => false, ]); $preparedData = $this->prepareDataForImportInscription($data); $source->setData([$preparedData]); return Import::fromConfig([ 'name' => 'inscription', 'source' => $source, 'destination' => $destination, ]); } private function prepareDataForImportInscription(stdClass $data): array { $hydrator = new InscriptionExtractor(); return $hydrator->extract($data); } /** * @throws \Exception */ Loading