~marcelo-escobal/geined/Alianza

« back to all changes in this revision

Viewing changes to biecam.py

  • Committer: Marcelo Escobal
  • Date: 2010-04-13 12:55:00 UTC
  • Revision ID: marcelo.escobal@gmail.com-20100413125500-x96mz76yvpkyuikn
Solucion problema rubro Tipo de Cursos

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
# -*- coding: utf-8 -*-
 
3
import cgitb; cgitb.enable()
 
4
import cgi
 
5
import funciones
 
6
import htm
 
7
import datos
 
8
 
 
9
def listado():
 
10
    """Listado de bienes de cambio"""
 
11
    pag = htm.Pagina("Listado de Bienes de Cambio", 5)
 
12
    htm.boton("Nuevo", "biecam.py?accion=nuevo")
 
13
    htm.boton('Volver', 'geined.py?accion=direccion')
 
14
    # cargar datos
 
15
    bie_cam = datos.Tabla("bie_cam")
 
16
    existencias = datos.Tabla("existencias")
 
17
    htm.encabezado_tabla([("Nº", "Descripción", "Precio", "Cantidad", "Acciones"])
 
18
    i = 0
 
19
    for fila in bie_cam.resultado:
 
20
        htm.fila_alterna(i)
 
21
        biecam_id = str(fila['id'])
 
22
        htm.celda(biecam_id)
 
23
        htm.celda(fila['descripcion'])
 
24
        htm.linea_moneda(fila['precio'])
 
25
        existencias.filtro = "biecam_id = " + biecam_id
 
26
        existencias.filtrar()
 
27
        if not existencias.encontrado:
 
28
            cantidad = 0
 
29
        cantidad = existencias.num_filas
 
30
        htm.celda(cantidad)
 
31
        print('<td>')
 
32
        htm.boton_detalles('biecam.py?accion=ver&id=' + biecam_id)
 
33
        htm.boton_editar('biecam.py?accion=editar&id=' + biecam_id)
 
34
        htm.boton_eliminar('biecam.py?accion=eliminar&id=' + biecam_id)
 
35
        print('</td>')
 
36
        i = i + 1
 
37
    htm.fin_tabla()
 
38
    htm.boton('Volver', 'geined.py?accion=direccion')
 
39
    pag.fin()
 
40
 
 
41
def nuevo():
 
42
    """Formulario nuevo ítem BC"""
 
43
    pag = htm.Pagina("Nuevo ítem en Bienes de Cambio")
 
44
    htm.form_edicion("biecam.py?accion=agregar")
 
45
    htm.input_texto("Descripción:", "descripcion", "")
 
46
    htm.input_numero("Precio:", "precio", "")
 
47
    htm.botones("biecam.py?accion=listado")
 
48
    htm.form_edicion_fin()
 
49
    pag.fin()
 
50
 
 
51
def agregar(frm):
 
52
    """Inserta un item de BC en la BDD"""
 
53
    pag = htm.Pagina("Insertando datos")
 
54
    bie_cam = datos.Tabla("bie_cam")
 
55
    bie_cam.buscar("descripcion", frm.getvalue("descripcion")
 
56
    if encontrado:
 
57
        htm.duplicado("biecam.py?accion=listado")
 
58
    else:
 
59
        bie_cam.registro["descripcion"] = frm.getvalue("descripcion")
 
60
        bie_cam.registro["precio"] = frm.getvalue("precio")
 
61
        bie_cam.insertar()
 
62
    htm.redirigir("biecam.py?accion=listado")
 
63
    pag.fin()
 
64
 
 
65
def editar(frm):
 
66
    pag = htm.Pagina("Edición de ítem en Bienes de Cambio", 5)
 
67
    bie_cam = datos.Tabla("bie_cam")
 
68
    bie_cam.buscar("id", frm.getvalue("id"))
 
69
    htm.form_edicion("biecam.py?accion=actualizar")
 
70
    htm.campo_oculto("id", bie_cam.registro["id"])
 
71
    htm.input_texto("Descripción:", "descripcion", bie_cam.registro["descripcion"])
 
72
    htm.input_numero("Precio:", "precio", bie_cam.registro["precio"])
 
73
    htm.botones("biecam.py?accion=listado")
 
74
    htm.form_edicion_fin()
 
75
    pag.fin()
 
76
 
 
77
def actualizar(frm):
 
78
    pag = htm.Pagina("Actualizando", 10)
 
79
    bie_cam = datos.Tabla("bie_cam")
 
80
    bie_cam.buscar("id", frm.getvalue("id"))
 
81
    bie_cam.registro["descripcion"] = frm.getvalue("descripcion")
 
82
    bie_cam.registro["precio"] = frm.getvalue("precio")
 
83
    bie_cam.actualizar()
 
84
    htm.redirigir("biecam.py?accion=listado")
 
85
    pag.fin()
 
86
 
 
87
def detalle(frm):
 
88
    """Detalles de un item de Bienes de cambio"""
 
89
    # Recuperar variables
 
90
    id = frm.getvalue("id")
 
91
    # datos
 
92
    exitencias = datos.Tabla("existencias")
 
93
    bie_cam = datos.Tabla("bie_cam")
 
94
    depositos = datos.Tabla("depositos")
 
95
    # Pagina
 
96
    pag = htm.Pagina("Existencias de Bienes de Cambio", 5)
 
97
    htm.boton("Ingresar a stock", "biecam.py?accion=ingstock&id=" + str(id))
 
98
    bie_cam.buscar("id", id)
 
99
    htm.h2(bie_cam.registro["descripcion"])
 
100
    htm.encabezado_tabla(["Sucursal", "Cantidad", "Acciones"])
 
101
    existencias.buscar("biecam_id", id)
 
102
    i = 0
 
103
    for fila in existencias.resultado:
 
104
        htm.fila_alterna(i)
 
105
        depositos.buscar("id", fila["deposito_id"])
 
106
        htm.celda(fila["deposito"])
 
107
        htm.celda(fila["cantidad"])
 
108
        print("<td>")
 
109
        htm.boton("Ajustar", "biecam.py?accion=ajustar&id=" + str(fila['id']))
 
110
        htm.boton("Transferir", 'biecam.py?accion=transferir&id=' + str(fila['id'])
 
111
        print('</td></tr>')
 
112
    htm.fin_tabla()
 
113
    htm.boton('Volver', 'biecam.py?accion=listado')
 
114
 
 
115
def ing_stock(frm):
 
116
    # Recuperar variables
 
117
    id = frm.getvalue("id")
 
118
 
 
119
    # VOY POR ACA
 
120
    $fil_bie = buscar_registro("bie_cam","id",$id);
 
121
    $bien = $fil_bie['descripcion'];
 
122
    /* Preparar combo box */
 
123
    $sql_dep = "SELECT * FROM depositos";
 
124
    $res_dep = mysql_query($sql_dep);
 
125
    encabezado("Ingresar bienes a stock");
 
126
    echo "<h3>$bien</h3>";
 
127
    formulario("biecam.php?accion=ingresar&biecam_id=$id");
 
128
    encabezado_tabla(array("Campo","Valor"));
 
129
    input_combo("Sucursal:","deposito_id",$res_dep,"");
 
130
    input_numero("Cantidad:","cantidad","");
 
131
    fin_tabla();
 
132
    botones();
 
133
    fin_formulario();
 
134
    boton("Volver","biecam.php?accion=listado");
 
135
    fin();
 
136
}
 
137
function ingresar(){
 
138
    /* Recuperación de variables */
 
139
    $biecam_id = $_GET['biecam_id'];
 
140
    $deposito_id = $_POST['deposito_id'];
 
141
    $cantidad = $_POST['cantidad'];
 
142
    /* Detección de duplicados */
 
143
    $sql_dup = "SELECT * FROM existencias WHERE deposito_id=$deposito_id AND biecam_id=$biecam_id";
 
144
    $res_dup = mysql_query($sql_dup);
 
145
    if(mysql_num_rows($res_dup)==0){
 
146
        /* Armar SQL */
 
147
        $sql = "INSERT INTO existencias SET deposito_id = '$deposito_id',
 
148
        cantidad = '$cantidad', biecam_id = '$biecam_id'";
 
149
        $res = mysql_query($sql);
 
150
        /* Redirigir */
 
151
        redirigir("biecam.php?accion=ver&id=$biecam_id");
 
152
    } else {
 
153
        duplicado("biceam.php?accion=ver&id=$biecam_id");
 
154
    }
 
155
}
 
156
function ajustar(){
 
157
    autorizacion(5);
 
158
    encabezado("Actualizar existencias");
 
159
    formulario("biecam.php?accion=act_exi");
 
160
    encabezado_tabla(array("Campo","Valor"));
 
161
    $id = $_GET['id'];
 
162
    $fil_exi = buscar_registro("existencias","id",$id);
 
163
    $deposito_id=$fil_exi['deposito_id'];
 
164
    $fil_suc = buscar_registro("depositos","id",$deposito_id);
 
165
    $sucursal = $fil_suc['deposito'];
 
166
    campo_oculto("id",$id);
 
167
    campo_oculto("biecam_id",$fil_exi['biecam_id']);
 
168
    echo "<tr><td>Sucursal:</td><td>$sucursal</td><tr>";
 
169
    input_numero("Cantidad:","cantidad",$fil_exi['cantidad']);
 
170
    fin_tabla();
 
171
    botones();
 
172
    fin_formulario();
 
173
    fin();
 
174
}
 
175
function act_exi(){
 
176
    $id = $_POST['id'];
 
177
    $cantidad = $_POST['cantidad'];
 
178
    $biecam_id = $_POST['biecam_id'];
 
179
    $sql = "UPDATE existencias SET cantidad='$cantidad' WHERE id='$id'";
 
180
    $res = mysql_query($sql);
 
181
    redirigir("biecam.php?accion=ver&id=$biecam_id");
 
182
}
 
183
function transferir(){
 
184
    $id=$_GET['id'];
 
185
    $sql_dep = "SELECT * FROM depositos";
 
186
    $res_dep = mysql_query($sql_dep);
 
187
    encabezado("Transferir bienes de cambio");
 
188
    formulario("biecam.php?accion=acttra");
 
189
    campo_oculto("id",$id);
 
190
    encabezado_tabla(array("Campo","Valor"));
 
191
    input_combo("Tansferir hasta:","hasta",$res_dep,"");
 
192
    input_numero("Cantidad a transferir:","cantidad","");
 
193
    fin_tabla();
 
194
    botones();
 
195
    fin_formulario();
 
196
    fin();
 
197
}
 
198
function acttra(){
 
199
    $id = $_POST['id'];
 
200
    $cantidad_a_transferir = $_POST['cantidad'];
 
201
    $fil_exi = buscar_registro("existencias","id",$id);
 
202
    $origen = $fil_exi['deposito_id'];
 
203
    $destino = $_POST['hasta'];
 
204
    $biecam_id = $fil_exi['biecam_id'];
 
205
    $pre_origen = $fil_exi['cantidad'];
 
206
    $sql_destino = "SELECT * FROM existencias WHERE deposito_id='$destino' AND biecam_id='$biecam_id'";
 
207
    $res_destino = mysql_query($sql_destino);
 
208
    if (mysql_num_rows($res_destino)==0){
 
209
        $sql_trans = "INSERT INTO existencias SET deposito_id='$destino', cantidad='$cantidad_a_transferir', biecam_id = '$biecam_id'";
 
210
        $res = mysql_query($sql_trans);
 
211
        $saldo_origen = $pre_origen - $cantidad_a_transferir;
 
212
        $sql_trans2 = "UPDATE existencias SET cantidad ='$saldo_origen' WHERE id='$id'";
 
213
        $res = mysql_query($sql_trans2);
 
214
    }
 
215
    else {
 
216
        $fil_destino = mysql_fetch_array($res_destino);
 
217
        $pre_destino = $fil_destino['cantidad'];
 
218
        $id_destino = $fil_destino['id'];
 
219
        $saldo_origen = $pre_origen - $cantidad_a_transferir;
 
220
        $saldo_destino = $pre_destino + $cantidad_a_transferir;
 
221
        $sql_ori = "UPDATE existencias SET cantidad='$saldo_origen' WHERE id='$id'";
 
222
        $res = mysql_query($sql_ori);
 
223
        $sql_des = "UPDATE existencias SET cantidad='$saldo_destino' WHERE id='$id_destino'";
 
224
        $res = mysql_query($sql_des) or die("Error:".mysql_error());
 
225
    }
 
226
    redirigir("biecam.php?accion=ver&id=$biecam_id");
 
227
}
 
228
autorizacion(10);
 
229
if (!$_GET['accion']) $accion = 'listado';
 
230
else $accion=$_GET['accion'];
 
231
switch ($accion) {
 
232
    case 'listado':
 
233
        listado();
 
234
        break;
 
235
    case 'nuevo':
 
236
        nuevo();
 
237
        break;
 
238
    case 'agregar':
 
239
        agregar();
 
240
        break;
 
241
    case 'editar':
 
242
        editar();
 
243
        break;
 
244
    case 'actualizar':
 
245
        actualizar();
 
246
        break;
 
247
    case 'confirmar':
 
248
        confirmar_borrar($_GET['id'],'biecam.php');
 
249
        break;
 
250
    case 'eliminar':
 
251
        autorizacion(2);
 
252
        borrar('bie_cam',$_POST['id'],'biecam.php');
 
253
        break;
 
254
    case 'ver':
 
255
        detalle();
 
256
        break;
 
257
    case 'ajustar':
 
258
        ajustar();
 
259
        break;
 
260
    case 'act_exi':
 
261
        act_exi();
 
262
        break;
 
263
    case 'transferir':
 
264
        transferir();
 
265
        break;
 
266
    case 'acttra':
 
267
        acttra();
 
268
        break;
 
269
    case 'ingstock':
 
270
        ing_stock();
 
271
        break;
 
272
    case 'ingresar':
 
273
        ingresar();
 
274
        break;
 
275
}
 
276
?>