This commit is contained in:
2022-11-08 21:19:51 +01:00
commit 4c456eafc3
160 changed files with 21472 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
from django.db import models
from django.db.models import Q
from .pam import PAM
from .sous_vivier import SousVivier
class StatutCalculChoices(models.TextChoices):
AUCUN = 'AUCUN', 'aucun'
EN_ATTENTE = 'EN_ATTENTE', 'en attente'
EN_ATTENTE_ARRET = 'EN_ATTENTE_ARRET', "en attente d'arrêt"
EN_COURS = 'EN_COURS', 'en cours'
TERMINE = 'TERMINE', 'terminé'
ERREUR_ADMINISTRE = 'ERREUR_ADMINISTRE','terminé en erreur administré',
ERREUR_POSTE = 'ERREUR_POSTE', 'terminé en erreur poste',
ERREUR = 'ERREUR', 'terminé en erreur'
TERMINE_DE_FORCE = 'TERMINE_DE_FORCE', 'terminé de force'
class Calcul(models.Model):
"""
Modèle pour le suivi des calculs
On y intègre également le statut du calcul
"""
id = models.CharField(max_length=100, primary_key=True, default="")
sous_vivier = models.ForeignKey(SousVivier, on_delete=models.CASCADE, verbose_name="Sous-vivier")
pam = models.ForeignKey(PAM, on_delete=models.CASCADE, null=True, blank=True)
ca_date_debut = models.DateTimeField('Date de début', null=True, blank=True)
ca_date_fin = models.DateTimeField('Date de fin', null=True, blank=True)
ca_statut = models.CharField('Statut', max_length=40, choices=StatutCalculChoices.choices)
ca_statut_pourcentage = models.FloatField('Avancement (%)',default=0)
class Meta:
constraints = [
models.CheckConstraint(
name='%(app_label)s_%(class)s_ca_statut_valid',
check=models.Q(ca_statut__in=StatutCalculChoices.values)
),
models.CheckConstraint(
name='%(app_label)s_%(class)s_ca_statut_pourcentage_valid',
check=Q(ca_statut_pourcentage__gte=0.0) & Q(ca_statut_pourcentage__lte=100.0)
),
]