Loading admin/src/BddAdmin/Ddl/Ddl.php +19 −0 Original line number Diff line number Diff line Loading @@ -277,6 +277,25 @@ class Ddl implements \Iterator, \ArrayAccess public function orderTabCols(): self { if (!$this->has(Ddl::TABLE)) return $this; foreach ($this->data[Ddl::TABLE] as $table) { $columns = $table['columns']; uasort($columns, function($a,$b){ return $a['position'] > $b['position']; }); $this->data[Ddl::TABLE][$table['name']]['columns'] = $columns; } return $this; } public function writeArray(string $filename, array $data) { $ddlString = "<?php\n\n//@" . "formatter:off\n\nreturn " . $this->arrayExport($data) . ";\n\n//@" . "formatter:on\n"; Loading doc/Connecteurs Import/Connecteurs IMPORT.md +5 −3 Original line number Diff line number Diff line Loading @@ -96,9 +96,6 @@ En voici la liste : * [FCA Manager](FCA Manager/Connecteur.md) également pour l'offre de formation * [Calcul](Calcul/Connecteur.md) pour des données essentiellement liées à l'offre de formation Si vous ne trouvez pas votre bonheur dans les connecteurs déjà fournis, il vous est possible de développer vos propres connecteurs. Vous pourrez suivre pour cela la [procédure de création](creer.md). Et voici ci-dessous la matrice des connecteurs qui reprend, table par table, ce qu'ils peuvent fournir. Les tables sont présentées dans l'ordre où il faut les traiter. Loading Loading @@ -463,6 +460,11 @@ Les tables sont présentées dans l'ordre où il faut les traiter. </tr> </table> # Créer vos propres connecteurs Si vous ne trouvez pas votre bonheur dans les connecteurs déjà fournis, il vous est possible de développer vos propres connecteurs. Vous pourrez suivre pour cela la [procédure de création](creer.md). # Filtres et traitements La synchronisation peut se faire de plusieurs manières : Loading doc/Connecteurs Import/Création tables/AFFECTATION.md +40 −2 Original line number Diff line number Diff line Loading @@ -4,6 +4,44 @@ Liste des affectations (pour donner des rôles aux utilisateurs) Colonnes nécessaires : <!-- AFFECTATION DEB --> |Colonne |Type |Longueur|Nullable|Commentaire | |----------------|--------|--------|--------|-------------------------| |Z_UTILISATEUR_ID|NUMBER | |Non |==> UTILISATEUR.USERNAME | |Z_ROLE_ID |NUMBER | |Non |==> ROLE.CODE | |Z_STRUCTURE_ID |NUMBER | |Oui |==> STRUCTURE.SOURCE_CODE| |Z_SOURCE_ID |NUMBER | |Non |==> SOURCE.CODE | |SOURCE_CODE |VARCHAR2|100 |Oui | | <!-- AFFECTATION FIN --> No newline at end of file Il doit y avoir unicité du trouple de colonnes [Z_UTILISATEUR_ID,Z_ROLE_ID,Z_STRUCTURE_ID] Exemple de requête : ```sql CREATE OR REPLACE VIEW SRC_AFFECTATION AS WITH a AS ( -- Votre requête, à personnaliser SELECT 'choisir un SOURCE.CODE' z_source_id, 'z_utilisateur_id' z_utilisateur_id, NULL z_structure_id, 'z_role_id' z_role_id, 'source_code' source_code FROM dual -- utiliser votre source -- fin de votre requête ) SELECT s.id structure_id, u.id utilisateur_id, r.id role_id, src.id source_id, a.source_code source_code FROM a JOIN source src ON src.code = a.z_source_id LEFT JOIN utilisateur u ON u.username = a.z_utilisateur_id LEFT JOIN structure s ON s.source_code = a.z_structure_id LEFT JOIN role r ON r.code = a.z_role_id ``` No newline at end of file doc/Connecteurs Import/Création tables/AFFECTATION_RECHERCHE.md +9 −2 Original line number Diff line number Diff line Loading @@ -4,6 +4,13 @@ Liste des affectations de recherche Colonnes nécessaires : <!-- AFFECTATION_RECHERCHE DEB --> |Colonne |Type |Longueur|Nullable|Commentaire | |----------------|--------|--------|--------|---------------------------| |Z_INTERVENANT_ID|NUMBER | |Non |==> INTERVENANT.SOURCE_CODE| |Z_STRUCTURE_ID |NUMBER | |Non |==> STRUCTURE.SOURCE_CODE | |LABO_LIBELLE |VARCHAR2|300 |Oui | | |Z_SOURCE_ID |NUMBER | |Non |==> SOURCE.CODE | |SOURCE_CODE |VARCHAR2|100 |Oui | | <!-- AFFECTATION_RECHERCHE FIN --> No newline at end of file Exemple de requête : [SRC_AFFECTATION_RECHERCHE](../Harpège/SRC_AFFECTATION_RECHERCHE.sql) No newline at end of file doc/Connecteurs Import/Création tables/CENTRE_COUT.md +17 −2 Original line number Diff line number Diff line Loading @@ -4,6 +4,21 @@ Liste des centres de coûts Colonnes nécessaires : <!-- CENTRE_COUT DEB --> |Colonne |Type |Longueur|Nullable|Commentaire | |-------------------|--------|--------|--------|-----------------------| |Z_PARENT_ID |NUMBER | |Oui |==> CENTRE_COUT.SOURCE_CODE | |CODE |VARCHAR2|50 |Non | | |LIBELLE |VARCHAR2|200 |Non | | |Z_ACTIVITE_ID |NUMBER | |Non |==> CC_ACTIVITE.CODE | |Z_TYPE_RESSOURCE_ID|NUMBER | |Non |==> TYPE_RESSOURCE.CODE| |UNITE_BUDGETAIRE |VARCHAR2|15 |Oui | | |Z_SOURCE_ID |NUMBER | |Non |==> SOURCE.CODE | |SOURCE_CODE |VARCHAR2|100 |Non | | <!-- CENTRE_COUT FIN --> No newline at end of file Il ne doit y avoir que deux niveaux de centres de coûts maximum. Donc un enregistrement qui a un Z_PARENT_ID non NULL ne doit pas avoir de fils. Généralement, les centres de coûts ont Z_PARENT_ID NULL et les EOTP dépendant du centre de coûts renseigné dans Z_PARENT_ID. Exemple de requête : [SRC_CENTRE_COUT](../Sifac/SRC_CENTRE_COUT.sql) No newline at end of file Loading
admin/src/BddAdmin/Ddl/Ddl.php +19 −0 Original line number Diff line number Diff line Loading @@ -277,6 +277,25 @@ class Ddl implements \Iterator, \ArrayAccess public function orderTabCols(): self { if (!$this->has(Ddl::TABLE)) return $this; foreach ($this->data[Ddl::TABLE] as $table) { $columns = $table['columns']; uasort($columns, function($a,$b){ return $a['position'] > $b['position']; }); $this->data[Ddl::TABLE][$table['name']]['columns'] = $columns; } return $this; } public function writeArray(string $filename, array $data) { $ddlString = "<?php\n\n//@" . "formatter:off\n\nreturn " . $this->arrayExport($data) . ";\n\n//@" . "formatter:on\n"; Loading
doc/Connecteurs Import/Connecteurs IMPORT.md +5 −3 Original line number Diff line number Diff line Loading @@ -96,9 +96,6 @@ En voici la liste : * [FCA Manager](FCA Manager/Connecteur.md) également pour l'offre de formation * [Calcul](Calcul/Connecteur.md) pour des données essentiellement liées à l'offre de formation Si vous ne trouvez pas votre bonheur dans les connecteurs déjà fournis, il vous est possible de développer vos propres connecteurs. Vous pourrez suivre pour cela la [procédure de création](creer.md). Et voici ci-dessous la matrice des connecteurs qui reprend, table par table, ce qu'ils peuvent fournir. Les tables sont présentées dans l'ordre où il faut les traiter. Loading Loading @@ -463,6 +460,11 @@ Les tables sont présentées dans l'ordre où il faut les traiter. </tr> </table> # Créer vos propres connecteurs Si vous ne trouvez pas votre bonheur dans les connecteurs déjà fournis, il vous est possible de développer vos propres connecteurs. Vous pourrez suivre pour cela la [procédure de création](creer.md). # Filtres et traitements La synchronisation peut se faire de plusieurs manières : Loading
doc/Connecteurs Import/Création tables/AFFECTATION.md +40 −2 Original line number Diff line number Diff line Loading @@ -4,6 +4,44 @@ Liste des affectations (pour donner des rôles aux utilisateurs) Colonnes nécessaires : <!-- AFFECTATION DEB --> |Colonne |Type |Longueur|Nullable|Commentaire | |----------------|--------|--------|--------|-------------------------| |Z_UTILISATEUR_ID|NUMBER | |Non |==> UTILISATEUR.USERNAME | |Z_ROLE_ID |NUMBER | |Non |==> ROLE.CODE | |Z_STRUCTURE_ID |NUMBER | |Oui |==> STRUCTURE.SOURCE_CODE| |Z_SOURCE_ID |NUMBER | |Non |==> SOURCE.CODE | |SOURCE_CODE |VARCHAR2|100 |Oui | | <!-- AFFECTATION FIN --> No newline at end of file Il doit y avoir unicité du trouple de colonnes [Z_UTILISATEUR_ID,Z_ROLE_ID,Z_STRUCTURE_ID] Exemple de requête : ```sql CREATE OR REPLACE VIEW SRC_AFFECTATION AS WITH a AS ( -- Votre requête, à personnaliser SELECT 'choisir un SOURCE.CODE' z_source_id, 'z_utilisateur_id' z_utilisateur_id, NULL z_structure_id, 'z_role_id' z_role_id, 'source_code' source_code FROM dual -- utiliser votre source -- fin de votre requête ) SELECT s.id structure_id, u.id utilisateur_id, r.id role_id, src.id source_id, a.source_code source_code FROM a JOIN source src ON src.code = a.z_source_id LEFT JOIN utilisateur u ON u.username = a.z_utilisateur_id LEFT JOIN structure s ON s.source_code = a.z_structure_id LEFT JOIN role r ON r.code = a.z_role_id ``` No newline at end of file
doc/Connecteurs Import/Création tables/AFFECTATION_RECHERCHE.md +9 −2 Original line number Diff line number Diff line Loading @@ -4,6 +4,13 @@ Liste des affectations de recherche Colonnes nécessaires : <!-- AFFECTATION_RECHERCHE DEB --> |Colonne |Type |Longueur|Nullable|Commentaire | |----------------|--------|--------|--------|---------------------------| |Z_INTERVENANT_ID|NUMBER | |Non |==> INTERVENANT.SOURCE_CODE| |Z_STRUCTURE_ID |NUMBER | |Non |==> STRUCTURE.SOURCE_CODE | |LABO_LIBELLE |VARCHAR2|300 |Oui | | |Z_SOURCE_ID |NUMBER | |Non |==> SOURCE.CODE | |SOURCE_CODE |VARCHAR2|100 |Oui | | <!-- AFFECTATION_RECHERCHE FIN --> No newline at end of file Exemple de requête : [SRC_AFFECTATION_RECHERCHE](../Harpège/SRC_AFFECTATION_RECHERCHE.sql) No newline at end of file
doc/Connecteurs Import/Création tables/CENTRE_COUT.md +17 −2 Original line number Diff line number Diff line Loading @@ -4,6 +4,21 @@ Liste des centres de coûts Colonnes nécessaires : <!-- CENTRE_COUT DEB --> |Colonne |Type |Longueur|Nullable|Commentaire | |-------------------|--------|--------|--------|-----------------------| |Z_PARENT_ID |NUMBER | |Oui |==> CENTRE_COUT.SOURCE_CODE | |CODE |VARCHAR2|50 |Non | | |LIBELLE |VARCHAR2|200 |Non | | |Z_ACTIVITE_ID |NUMBER | |Non |==> CC_ACTIVITE.CODE | |Z_TYPE_RESSOURCE_ID|NUMBER | |Non |==> TYPE_RESSOURCE.CODE| |UNITE_BUDGETAIRE |VARCHAR2|15 |Oui | | |Z_SOURCE_ID |NUMBER | |Non |==> SOURCE.CODE | |SOURCE_CODE |VARCHAR2|100 |Non | | <!-- CENTRE_COUT FIN --> No newline at end of file Il ne doit y avoir que deux niveaux de centres de coûts maximum. Donc un enregistrement qui a un Z_PARENT_ID non NULL ne doit pas avoir de fils. Généralement, les centres de coûts ont Z_PARENT_ID NULL et les EOTP dépendant du centre de coûts renseigné dans Z_PARENT_ID. Exemple de requête : [SRC_CENTRE_COUT](../Sifac/SRC_CENTRE_COUT.sql) No newline at end of file