Subir Planillas Web

De Wiki
Revisión del 13:51 4 jul 2012 de Mwilson (Discusión | contribuciones) (Nro recibo erroneo)

Saltar a: navegación, buscar

¡¡¡¡ Importante !!!!hay q cambiar el script htdocs/sitios/sitiodgp/planilla_web/subir_planillas.pl

q hizo martin para q borre r1 r2 y r3 de haberes_temp antes de incorporar los dbfs
esto es para evitar subir datos duplicados a la base final 

Archivos Necesarios

Origen de datos

recibo1.DBF
recibo2.DBF
recibo3.DBF
Estos deben ser los del mes a procesar. Lo mejor es tomarlos de donde se imprimen los recibos.
Debe de mes liquidado osea el anterior.

Ejemplo
T:\reportes\recibos\datos\AAAAMM 
donde T ==> \\dgpxeon\transacciones-pampa

Destino Temporal

Lo que se hace es copiarlos a una carpeta local para trabajarlos
Ejemplo:
C:\RECIB\MMAA

Limpieza

Se hace con VFP6 o cualquier editos de dfbs

recibo1

 Debemos eliminar la liquidación duplicada 950 que es la /8
¿Como lo hacemos?
use c:\ubicacion\recibo1.dbf
sele recibo1
brow
seleccion la liquidacion duplica y consola escribo pack

recibo2

Eliminar columnas
f_baja
f_perm
recibo
rec_barra
anti_meses 
anti_anios

¿Cómo Eliminar Columnas?

use c:\"ubicacion"
brows
modify structure 
ó
alter table recibo2 drop column f_baja
alter table recibo2 drop column f_perm
alter table recibo2 drop column recibo
alter table recibo2 drop column rec_barra
alter table recibo2 drop column anti_anios
alter table recibo2 drop column anti_meses
Control de datos erroneros
Numeros de recibos en 0
replace all nro_recibo with 1 for nro_recibo=0
tot_reten en NULL (deberias ser cero)
brow for isnull(tot_reten)
brow for empty(tot_reten)
en horas dedic no debe haber campos vacios o nulos
brow for empty(hs_dedica) 
brow for isnull(hs_dedica)
en dias_retro idem horas_dedic
  • no encontre como preguntarq este vacio, x q si pregunto por empty() me trae tambien los q valen cero

recibo3

Eliminar columnas
codc_uacad
alter table recibo3 drop column codc_uacad
Control de datos erroneros
Año y mes retro
selec * from recibo3 where ano_retro=9999 and mes_retro=99 
select recibo3
replace ano_retro with 0, mes_retro with 0 for ano_retro=9999
replace ano_retro with 0, mes_retro with 0 for mes_retro=99
Nro de renglon
replace all nro_renglo with 1 for nro_renglo=0
Nro de recibo
replace all nro_recibo with 1 for nro_recibo=0
Registros sin datos
brow for isnull(nro_liqui)
Novedad 1 erroneo

En novedad1 NO debe haber campos vacios o nulos

brow for empty(novedad1) 
brow for isnull(novedad1)
Nro de renglon erroneo

En nro_renglo NO debe haber campos vacios o nulos

brow for empty(nro_renglo) 
brow for isnull(nro_renglo)
Nro recibo erroneo

En nro_recib NO debe haber campos vacios o nulos

brow for empty(nro_recibo) 
brow for isnull(nro_recibo)

Destino Final de los DBFS

Conexion

Conectarse por ftp a 200.16.30.9
usuario dgp
clave   *****

Copia

copiarlos a 
/htdocs/sitios/sitiodgp/planilla_web/recibos/

Importante el nombre debe ser
recibo1.DBF (nombre en minuscula, extension en mayuscula)

Vaciar la base

Esto se puede hacer desde phpPgAdmin

Conexion

entrar a 
http://www.dgp.unc.edu.ar/Pg/
usuario: dgppostgres
pass:    ******

Elegir Bd

Entrar a la base 
haberes_temp

Vaciado

vaciar las tablas 
recibo1
recibo2
recibo3
Luego hacer limpieza full analyse (selectall/limpiar->execute)

Ejecucion del script

Conexion

Conectarse Via ssh a 200.16.30.9
usuario dgp
clave   *****
Ahora me logueo como root

Ejecucion

cd htdocs/sitios/sitiodgp/planilla_web/
./subir_planillas.pl

Esto carga las tablas
recibo1,recibo2 y recibo3 
de la base haberes_temp

Control

desde fox contar las cantidades de los registros en las 3 dbfs.
Hacer lo mismo en la base habares_temp en las 3 tablas.
Si no coincide, no continuar y ver donde esta el problema(habia un bug 
en subir_planillas.pl, que ya  se arreglo en abril 2012)

Bajada y subida

Una vez que se cargaron las tablas en habers_temp

Loguearse como postgres

siempre via ssh
lo mejor es hacerse root
su
pass:*****

y luego hacerse postgres
su postgres

dump de la base haberers_temp

# cd
# /usr/bin/pg_dump -d haberes_temp > ./haberesmmaa_final.sql

levantado del dump a la base haberes

# cd
# /usr/bin/psql haberes < ./haberesmmaa_final.sql

Creditos

El script de conversion de dbfs a postgres fue desarrollado por Martin Villalba

Notas

En caso de subirla mal

Buscamos el mes

En este caso buscamos año 2012 mes 05
select * from recibo1 where per_liano=2012 and per_limes=05

Liquidaciones a borrar

--------
979
980
981
982
--------
Borramos
delete from recibo3 where nro_liqui in (979,980,981,982)