35
by Marcelo Escobal
Agrego codss.py y evolucion.py: evolución financiera |
1 |
#!/usr/bin/env python
|
2 |
# -*- coding: utf-8 -*-
|
|
3 |
"""Programa para mostrar evolución financiera"""
|
|
4 |
import cgitb; cgitb.enable() |
|
5 |
import htm |
|
6 |
import cgi |
|
7 |
import datos |
|
8 |
import funciones |
|
114
by Marcelo Escobal
Varios cambios al chequear con Eclipse, múltiples errores de tipeo y otros |
9 |
import pagina |
35
by Marcelo Escobal
Agrego codss.py y evolucion.py: evolución financiera |
10 |
def listado(): |
11 |
"""Listado de evolución financiera"""
|
|
61
by Marcelo Escobal
Varias actualizaciones estructurales en PAGINA y HTM separando ambas logicas |
12 |
pag = pagina.Pagina("Evolución financiera", 2) |
13 |
htm.button("Volver", "geined.py?accion=financiero") |
|
35
by Marcelo Escobal
Agrego codss.py y evolucion.py: evolución financiera |
14 |
global i |
15 |
i = 0 |
|
16 |
htm.encabezado_tabla(["Item", "2008", "2009", "2010"]) |
|
36
by Marcelo Escobal
Cambios en alumnos x sucursal, se arregla error |
17 |
hilera("Bienes de uso", "122") |
35
by Marcelo Escobal
Agrego codss.py y evolucion.py: evolución financiera |
18 |
hilera("Ingresos por cursos", "411") |
19 |
hilera("Otros ingresos", "412") |
|
20 |
hilera("Ingresos por textos", "413") |
|
21 |
hilera("Ingresos no operativos", "42") |
|
22 |
i = 1 |
|
23 |
hilera("TOTAL DE INGRESOS", "4") |
|
24 |
i = 0 |
|
25 |
hilera("Gastos operativos", "51") |
|
26 |
hilera("Gastos no operativos", "52") |
|
27 |
i = 1 |
|
28 |
hilera("TOTAL DE GASTOS", "5") |
|
29 |
htm.fila_alterna(i) |
|
114
by Marcelo Escobal
Varios cambios al chequear con Eclipse, múltiples errores de tipeo y otros |
30 |
print(htm.td("RESULTADOS FINANCIEROS")) |
35
by Marcelo Escobal
Agrego codss.py y evolucion.py: evolución financiera |
31 |
ingresos_2008 = consulta("2008", "4") |
32 |
egresos_2008 = consulta("2008", "5") |
|
33 |
saldo_2008 = ingresos_2008 + egresos_2008 |
|
114
by Marcelo Escobal
Varios cambios al chequear con Eclipse, múltiples errores de tipeo y otros |
34 |
print(htm.td(funciones.moneda(saldo_2008), "d")) |
35
by Marcelo Escobal
Agrego codss.py y evolucion.py: evolución financiera |
35 |
|
36 |
ingresos_2009 = consulta("2009", "4") |
|
37 |
egresos_2009 = consulta("2009", "5") |
|
38 |
saldo_2009 = ingresos_2009 + egresos_2009 |
|
114
by Marcelo Escobal
Varios cambios al chequear con Eclipse, múltiples errores de tipeo y otros |
39 |
print(htm.td(funciones.moneda(saldo_2009), "d")) |
35
by Marcelo Escobal
Agrego codss.py y evolucion.py: evolución financiera |
40 |
|
41 |
ingresos_2010 = consulta("2010", "4") |
|
42 |
egresos_2010 = consulta("2010", "5") |
|
43 |
saldo_2010 = ingresos_2010 + egresos_2010 |
|
114
by Marcelo Escobal
Varios cambios al chequear con Eclipse, múltiples errores de tipeo y otros |
44 |
print(htm.td(funciones.moneda(saldo_2010), "d")) |
35
by Marcelo Escobal
Agrego codss.py y evolucion.py: evolución financiera |
45 |
print("</tr>") |
46 |
||
47 |
htm.fin_tabla() |
|
61
by Marcelo Escobal
Varias actualizaciones estructurales en PAGINA y HTM separando ambas logicas |
48 |
htm.button("Volver", "geined.py?accion=financiero") |
35
by Marcelo Escobal
Agrego codss.py y evolucion.py: evolución financiera |
49 |
pag.fin() |
50 |
def hilera(texto, rubro): |
|
51 |
"""Devuelve una hilera de la tabla de evolución"""
|
|
52 |
global i |
|
53 |
htm.fila_alterna(i) |
|
114
by Marcelo Escobal
Varios cambios al chequear con Eclipse, múltiples errores de tipeo y otros |
54 |
print(htm.td(texto)) |
55 |
print(htm.td(funciones.moneda(consulta("2008", rubro)), "d")) |
|
56 |
print(htm.td(funciones.moneda(consulta("2009", rubro)), "d")) |
|
57 |
print(htm.td(funciones.moneda(consulta("2010", rubro)), "d")) |
|
35
by Marcelo Escobal
Agrego codss.py y evolucion.py: evolución financiera |
58 |
print("</tr>") |
59 |
||
60 |
def consulta(ano, rubro): |
|
61 |
"""Devuelve el saldo para un año y encabezado de rubro"""
|
|
62 |
db = datos.Datos() |
|
63 |
sql = "select sum(transacciones.debe) as debe, sum(transacciones.haber) as haber from transacciones join cuentas on transacciones.cuenta_id = cuentas.id WHERE (YEAR(transacciones.fecha)=" \ |
|
64 |
+ ano + ") and (cuentas.rubro like '" + rubro + "%')" |
|
65 |
db.cursor.execute(sql) |
|
66 |
resultado = db.cursor.fetchone() |
|
67 |
if type(resultado["haber"]) == type(None): |
|
68 |
haber = 0 |
|
69 |
else: |
|
70 |
haber = resultado["haber"] |
|
71 |
if type(resultado["debe"]) == type(None): |
|
72 |
debe = 0 |
|
73 |
else: |
|
74 |
debe = resultado["debe"] |
|
75 |
saldo = haber - debe |
|
76 |
return saldo |
|
77 |
||
78 |
if __name__ == "__main__": |
|
79 |
form = cgi.FieldStorage() |
|
80 |
accion = form.getvalue("accion", "listado") |
|
81 |
if accion == "listado": |
|
82 |
listado() |
|
83 |
else: |
|
84 |
listado() |