~marcelo-escobal/geined/Alianza

50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
1
#!/usr/bin/env ruby
2
require 'funciones'
3
require 'datos'
4
5
def listado
6
    pag = Pagina.new('Prestamo de material a empleados', 5)
7
    # extra_id=1 es PRESTAMO DE MATERIAL
8
    cta_empleados = Cta_empleado.find(:all, :conditions=>{:extra_id=>1})
9
    i = 0
10
    boton('Nuevo', 'presmat.rb?accion=nuevo')
11
    boton('Volver', 'geined.py?accion=comprobantes')
12
    encabezado_tabla(['Nº', 'Empleado', 'Fecha', 'Detalle', 'Debe', 'Haber', 'Saldo', 'Acciones'])
13
    cta_empleados.each do |fila|
14
        id = cta_empleados.id
15
        fila_alterna(i)
16
        empleado_id = cta_empleados.empleado_id
17
        celda(id)
18
        empleado = Empleado.find(empleado_id)
19
20
        $fil_emp = buscar_registro("empleados","id",$empleado_id);
21
        celda($fil_emp['nombre']);
60 by Marcelo Escobal
Modificaciones en manejo de fechas por bug de ActiveRecord en Ruby
22
        celda(mysql_a_fecha(fila.fecha))
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
23
        celda($fil_pre['detalle']);
24
        linea_moneda($fil_pre['debe']);
25
        linea_moneda($fil_pre['haber']);
26
        $saldo = $saldo - $fil_pre['debe'] + $fil_pre['haber'];
27
        linea_moneda($saldo);
28
        echo '<td>';
82 by Marcelo escobal
Actualizacion de rutina de manejo de empleados.
29
        boton("Ver cuenta","ctaempleados.py?accion=listado&id=$empleado_id");
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
30
        boton("Devolución","presmat.php?accion=devolver&id=$id");
31
        echo '</td></tr>';
60 by Marcelo Escobal
Modificaciones en manejo de fechas por bug de ActiveRecord en Ruby
32
        i = i + 1
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
33
    end
60 by Marcelo Escobal
Modificaciones en manejo de fechas por bug de ActiveRecord en Ruby
34
    fin_tabla
35
    boton("Volver","geined.py?accion=comprobantes")
36
    pag.fin
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
37
end
38
def nuevo
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
39
    $sql_emp = "SELECT * FROM empleados ORDER BY nombre";
40
    $res_emp = mysql_query($sql_emp);
41
    $sql_bie = "SELECT * FROM bie_cam ORDER BY descripcion";
42
    $res_bie = mysql_query($sql_bie);
43
    encabezado_fecha("Prestamo de material a empleados");
44
    formulario("presmat.php?accion=agregar");
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
45
    # empleado_id
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
46
    input_combo("Empleado:","empleado_id",$res_emp,"");
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
47
    # Problema: es complicado armar un formulario de prestamo de material que
48
    # se traduzca en movimientos en la cuenta del empleado,
49
    # que se traduzca en cambios en el inventario
50
    # que se traduzca en cambios en la contabilidad
51
    # Requiere de mas pienso */
52
    encabezado_tabla(["Campo","Valor"])
53
    # fecha
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
54
    input_fecha("Fecha","fecha",fecha_a_mysql(date('d/m/y')));
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
55
    # biecam_id
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
56
    input_combo("Material:","biecam_id",$res_bie,"");
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
57
    # cantidad
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
58
    input_numero("Cantidad:","cantidad","1");
59
    fin_tabla();
60
    botones();
61
    fin_formulario();
62
    script_fecha();
63
    fin();
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
64
end
60 by Marcelo Escobal
Modificaciones en manejo de fechas por bug de ActiveRecord en Ruby
65
def agregar(frm)
66
    fecha = Fecha.new(frm['fecha'], 'eu')
67
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
68
    $biecam_id = $_POST['biecam_id'];
69
    $empleado_id = $_POST['empleado_id'];
70
    $fecha2 = fecha_a_mysql($_POST['fecha']);
71
    $fil_bie = buscar_registro("bie_cam","id",$biecam_id);
72
    $material = $fil_bie['descripcion'];
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
73
    # monto ---- dato secundario
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
74
    $precio = $fil_bie['precio'];
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
75
    # deposito_id POR DEFECTO ES LA SUCURSAL EN LA QUE ESTA, OJO SI ES CENTRAL
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
76
    $deposito_id = $_SESSION['deposito_id'];
77
    $fil_suc = buscar_registro("depositos","id",$deposito_id);
78
    $sucursal = $fil_suc['deposito'];
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
79
    # extra_id valor arbitrario: 1 es material
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
80
    $extra_id = 1;
81
    $detalle = "Prestamo de $material en sucursal $sucursal";
82
    $sql = "INSERT INTO cta_empleados SET empleado_id = $empleado_id,
83
    fecha = '$fecha2', detalle ='$detalle', debe = $precio, haber = 0, extra_id = $extra_id";
84
    $res = mysql_query($sql);
85
    redirigir("presmat.php?accion=listado");
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
86
    # operacion sobre cta_empleados */
87
    # No altera stock porque no son libros a la venta sino material docente */
88
    # NO altera contabilidad porque son dentro del mismo rubro */
89
end
90
def devolver
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
91
    $id = $_GET['id'];
92
    $fil_cta = buscar_registro("cta_empleados","id",$id);
93
    $empleado_id = $fil_cta['empleado_id'];
94
    $fecha2 = fecha_a_mysql(date('d/m/y'));
95
    $detalle = $fil_cta['detalle'];
96
    $precio = $fil_cta['debe'];
97
    $extra_id = $fil_cta['extra_id'];
98
    $sql = "INSERT INTO cta_empleados SET empleado_id = $empleado_id,
99
    fecha = '$fecha2', detalle ='$detalle', debe = 0, haber = $precio, extra_id = $extra_id";
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
100
    if precio != 0
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
101
        $res = mysql_query($sql);
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
102
    end
50 by Marcelo Escobal
Retorno a pru.php y algunos rb mas
103
    redirigir("presmat.php?accion=listado");
59 by Marcelo Escobal
tra.tb modificado, permite edicion de asientos aun cuando tengan un documento-boleta. Transitorio
104
end
105
form = CGI.new('html3')
106
accion = 'listado'
107
if form.has_key?('accion')
108
    accion = form['accion']
109
end
110
case accion
111
when 'listado'
112
    listado
113
when 'nuevo'
114
    nuevo
115
when 'agregar'
116
    agregar
117
when 'editar'
118
    editar
119
when 'actualizar'
120
    actualizar
121
when 'devolver'
122
    devolver
60 by Marcelo Escobal
Modificaciones en manejo de fechas por bug de ActiveRecord en Ruby
123
end