Subir Planillas Web

De Wiki
Revisión del 12:28 2 feb 2012 de Pablo (Discusión | contribuciones) (Conexion)

Saltar a: navegación, buscar

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

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

Destino Temporal

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

Limpieza

Se hace con VFP6 o cualquier editos de dfbs

recibo1

 Debemos eliminar la liquidación duplicada 950 que es la /8

recibo2

Eliminar columnas
f_baja
f_perm
recibo
rec_barra
anti_anios
anti_meses

¿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 
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 debe haber campos vacios o nulos

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

en renglon debe haber campos vacios o nulos

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

en recibo 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 

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 > ./haberes0810_final.sql

levantado del dump a la base haberes

cd
 /usr/bin/psql haberes < ./haberes0810_final.sql

Creditos

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