Commit e6e879e6 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

DOC création de connecteurs

parent 3bb5ac5e
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -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";
+5 −3
Original line number Diff line number Diff line
@@ -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.

@@ -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 :
+40 −2
Original line number Diff line number Diff line
@@ -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
+9 −2
Original line number Diff line number Diff line
@@ -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
+17 −2
Original line number Diff line number Diff line
@@ -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