Instances de contrat
Définition
Une Instance de contrat est un Contrat modèle permettant de formaliser l'accord entre l'Entrepreneur Principal et un Sous-Traitant donné dans le cadre d'un Marché Principal donné en vue de la réalisation de Travaux sous-traités.
Détails
L'Instance de contrat est un ensemble d'Instances de questionnaire appliqué un modèle de vue, entre un Entrepreneur Principal et un Sous-Traitant dans le cadre d'un Marché Principal.
L'Instance de contrat est un objet avec une durée de vie plus longue que tout le reste. Dans un premier temps, son status de rédaction dépend du status le moins avancé parmi l'ensemble des instances de questionnaires dont il est composé. Puis, ayant sa propre vie, son status s'étend à sa propre validation, envoyé, signature, en vie, archivé... On pourrait aussi dire qu'il a un status de rédaction de created lorsque la plus avancée des instances de questionnaire est created, draft lorsque la moins avancée des instances de questionnaire n'est pas verified, puis completed et possède son propre système de validation global éventuellement. Voir le warning plus bas.
Représentation en base de données
Structure d'un contractInstance:
- (id): (int) identifiant unique d'une instance de contrat
- description: (string) description des travaux sous-traités
- status: (string) statut du contrat
De la même manière que le status de l'instance de questionnaire, le status du contrat devra être un enum. Il faudra travailler sur la logique métier pour les déterminer. Mais ce travail est remis à plus tard. Dans l'idée created, draft, completed, verified, closed – tout comme le status de l'instance de questionnaire
Relations des contractInstances:
- contractTemplate: une instance de contrat se rapporte à 1 et 1 seul modèle de contrat – un modèle de contrat peut être utilisé 0 à N fois dans les instances de contrats
- questionnaireInstances: une instance de contrat contient 0 à N instances de questionnaire – une instance de questionnaire ne peut se rattacher qu'à 1 et 1 seul contrat.