-
Notifications
You must be signed in to change notification settings - Fork 0
/
fixEstadosComponentes.py
71 lines (60 loc) · 2.71 KB
/
fixEstadosComponentes.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# -*- coding: utf-8 -*-
import os, django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ControlObras.settings")
django.setup()
from fu.models import ComponentesParque, Componente, EstadoFU, Membership, ParqueEolico, RelacionesFU
from vista.models import ParqueSolar
borrar = False
if __name__ == '__main__':
parques = ParqueEolico.objects.all()
no_parques = parques.count()
if borrar:
for parque in parques:
parque.delete()
if no_parques == 0: # Si el número de parques es cero, entonces hay que rellenar
for c in ComponentesParque.objects.all():
print(c.parque.nombre)
parque_eolico = ParqueEolico(parque=c.parque)
parque_eolico.save()
# Iteramos para cada uno de los estados
estado = EstadoFU.objects.get(nombre='Descarga')
orden = 1
for r in c.relacionesfu_set.filter(orden_descarga__gt=0).order_by('orden_descarga'):
m = Membership(parque_eolico=parque_eolico,
componente=r.componente,
estado=estado,
orden=orden)
m.save()
orden += 1
estado = EstadoFU.objects.get(nombre='Pre-Montaje')
orden = 1
for r in c.relacionesfu_set.filter(orden_premontaje__gt=0).order_by('orden_premontaje'):
m = Membership(parque_eolico=parque_eolico,
componente=r.componente,
estado=estado,
orden=orden)
m.save()
orden += 1
estado = EstadoFU.objects.get(nombre='Montaje')
orden = 1
for r in c.relacionesfu_set.filter(orden_montaje__gt=0).order_by('orden_montaje'):
m = Membership(parque_eolico=parque_eolico,
componente=r.componente,
estado=estado,
orden=orden)
m.save()
orden += 1
estado = EstadoFU.objects.get(nombre='Puesta en marcha')
orden = 1
for r in c.relacionesfu_set.filter(orden_puestaenmarcha__gt=0).order_by('orden_puestaenmarcha'):
m = Membership(parque_eolico=parque_eolico,
componente=r.componente,
estado=estado,
orden=orden)
m.save()
orden += 1
else:
for p in parques:
print(p.parque.nombre)
for m in p.membership_set.all():
print(' - ' + m.componente.nombre + ': ' + m.estado.nombre +'->'+ str(m.orden))