from django.db import models
from ordenes.models import ProductionOrder
from usuarios.models import Usuario

class SesionOperario(models.Model):
    pk_sesion = models.AutoField(primary_key=True)
    fk_orden = models.ForeignKey(ProductionOrder, on_delete=models.CASCADE, related_name="sesiones")
    att_id_maquina = models.CharField(max_length=50)
    att_hora_inicio = models.DateTimeField()
    att_hora_fin = models.DateTimeField(blank=True, null=True)
    msr_cantidad_producida = models.DecimalField(max_digits=10, decimal_places=2, default=0)
    att_observaciones = models.TextField(blank=True, null=True)
    att_estado = models.CharField(max_length=20, default="activa")

    def __str__(self):
        return f"Sesión {self.pk_sesion} - Orden {self.fk_orden.att_DocumentNumber}"


class SesionOperarios(models.Model):
    pk_sesion_operario = models.AutoField(primary_key=True)
    fk_sesion = models.ForeignKey(SesionOperario, on_delete=models.CASCADE, related_name="operarios")
    fk_usuario = models.ForeignKey(Usuario, on_delete=models.CASCADE, related_name="sesiones_participadas")
    att_rol_en_sesion = models.CharField(max_length=50, blank=True, null=True)
    att_hora_inicio = models.DateTimeField()
    att_hora_fin = models.DateTimeField(blank=True, null=True)
    msr_cantidad_individual = models.DecimalField(max_digits=10, decimal_places=2, default=0)

    def __str__(self):
        return f"{self.fk_usuario.att_nombre} - Sesión {self.fk_sesion_id}"
