File size: 2,023 Bytes
08c979a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
def Nuevo_Criterio(st,controller):
    con = 0
    aux3 = {}
    st.subheader("Nombre del bloque de criterios")
    n_bloque = st.text_input("Nombre del bloque de criterios")
    st.subheader("Criterio y valor porcentual")
    criterio = st.text_input("Criterio")
    porcentaje = st.number_input("Valor porcentual", min_value=0, max_value=100)
    sig = st.button("Siguiente")
    if sig:
        aux = controller.crt_aux
        n_igual = False
        for key in aux:
            con += aux.get(key)
            if(key == criterio):
                n_igual = True
        if n_igual:
            st.text("No se puede añadir el criterio, ya que existe uno con el mismo nombre")
        elif ((con+porcentaje) > 100):
            st.text("No se puede añadir, ya que supera el 100%")
            con = 0
        else:
            controller.crt_aux[criterio] = porcentaje
            st.text("Criterio añadido a "+n_bloque)
            con = 0

    guardar = st.button("Guardar")

    if guardar:
        aux = controller.crt_aux
        aux2 = controller.criterios
        n_igual = False
        for key in aux:
            con += aux.get(key)
        for key in aux2:
            if (n_bloque == key):
                n_igual = True
        if n_igual:
            st.text("No se puede añadir el bloque, ya que existe uno con el mismo nombre")
        elif ((con) < 100):
            st.text("No se puede añadir, ya que no llega a el 100%")
            con = 0
        else:
            aux3 = controller.crt_aux.copy()
            controller.criterios[n_bloque] = aux3
            st.text("Bloque " + n_bloque+ "ha sido añadido correctamente")
            controller.crt_aux.clear()

    vaciar = st.button("Vaciar")

    if vaciar:
        controller.crt_aux.clear()
        st.text("Bloque " + n_bloque + " sido vaciado correctamente")

    st.subheader("El bloque "+n_bloque+" quedaría de la siguiente manera")
    aux = controller.crt_aux
    for key in aux:
        st.text(key+" - "+str(aux.get(key))+"%")