Cette documentation décrit la logique de gestion des activités pouvant être sous-traitées dans un système modulaire composé des modules Lambique, LambiqueEntities et LambiqueGlobal.
1. Objectif
Identifier les activités (par exemple : tuyauteur, calorifugeur, etc.) qui peuvent être réalisées en sous-traitance. Ces activités sont référencées dans la classe MEntiteActivite
, avec un champ booléen m_bSousTraitance
pour indiquer leur éligibilité à la sous-traitance.
2. Structure des modules
LambiqueEntities
- Contient la classe
MEntiteActivite
. - Responsable de la persistance des données (mapping BDD).
- Le champ
m_bSousTraitance
indique si l’activité est sous-traitable.
LambiqueGlobal
- Module partagé chargé de centraliser les données.
- Contient un singleton exposant
MEntiteActiviteListe
(liste de toutes lesMEntiteActivite
). - Agit comme source unique pour les modules consommateurs.
Lambique
- Contient la classe
MVARChoix_SousTraitance
. - Cette classe fournit une liste filtrée des activités sous-traitables, à partir de
LambiqueGlobal
. - Module utilisé par d’autres composants applicatifs pour accéder à la logique métier sans dépendre de
LambiqueEntities
.
3. Classe MEntiteActivite
Classe <MAPPING = LATEEntite_Activite>
Hérite de MBase
Implémente IEntiteActivite
Champs principaux :
- m_nRefActivite : entier (clé unique)
- m_sNom : chaîne
- m_sInfo : chaîne
- m_sCleConstant : chaîne
- m_bSousTraitance : booléen (true si l'activité peut être sous-traitée)
- m_nCouleur : entier
- m_nActif : entier
- m_nRefEntite : entier
4. Classe MVARChoix_SousTraitance (dans Lambique)
MVARChoix_SousTraitance est une Classe
hérite de MVARChoix
FIN
PROCÉDURE Constructeur()
Initialiser()
PROCÉDURE Destructeur()
PROCÉDURE PRIVÉE Initialiser()
M est un objet dynamique
iActivite est un IEntiteActivite
POUR TOUT M DE GGlobal.GListe(GEntiteActivite).p_tabModele
iActivite <- M
SI iActivite.m_bSousTraitance ALORS
AjouterChoixPossible(iActivite.IdentifiantUnique, iActivite.p_sNomComplet)
FIN
FIN
5. Bonnes pratiques
- Centraliser les données dans LambiqueGlobal pour éviter la duplication de logique.
- Utiliser
m_bSousTraitance
comme critère simple (plutôt qu’un système de catégories complexes). - Éviter d’accéder directement à
LambiqueEntities
dans les modules consommateurs. - Mettre à jour
LambiqueGlobal
dès qu’il y a modification des activités dans la base.
6. Terminologie
- Sous-traitance : activité pouvant être exécutée par une entité externe.
- Prestataire : entité tierce (souvent de type
MEntite
) exécutant une activité sous-traitable.
7. Remarques techniques
- Le champ
sous-traitance
nécessite probablement des crochets[sous-traitance]
dans SQL Server car il contient un tiret (caractère réservé). - Il est recommandé de nommer ce champ
sous_traitance
ousousTraitance
pour éviter les conflits avec SQL Server.
Dernière mise à jour : 2025-05-05