1190 lines
54 KiB
Plaintext
1190 lines
54 KiB
Plaintext
{
|
|
----------------------------------------------------------------------------
|
|
PROGRAMA : NOPRMT003
|
|
OBJETIVO : Modificar y Eliminar registros de la
|
|
Tabla de Maestra de Empleados
|
|
PROGRAMADOR : JUAN SOTO
|
|
FECHA REALIZACION : FEBRERO 18, 1998.
|
|
----------------------------------------------------------------------------
|
|
}
|
|
IMPORT os
|
|
|
|
GLOBALS "noprgb000.4gl"
|
|
DEFINE tipo_sexo CHAR(9),
|
|
operacion CHAR(1),
|
|
descrip_st CHAR(20),
|
|
descripcion_cuenta,imagenom,filepath,filedestino CHAR(100),
|
|
sec_vend_supervisor SMALLINT,
|
|
num_emp_supervisor INT,
|
|
nombre_out,nombre_supervisor,nombre_super VARCHAR(60),
|
|
actualiza_datos STRING,
|
|
nombre_empleado_out VARCHAR(100),
|
|
imagen_emp BYTE
|
|
|
|
DEFINE p_sexo CHAR(1)
|
|
DEFINE herramientas DYNAMIC ARRAY OF RECORD
|
|
codigo VARCHAR(20),
|
|
descripcion VARCHAR(80),
|
|
fecha DATE,
|
|
documento VARCHAR(20),
|
|
cantidad DECIMAL(12,5)
|
|
END RECORD
|
|
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
CALL ARG_VAL(1) RETURNING usuarios
|
|
CALL ARG_VAL(2) RETURNING clave
|
|
|
|
CONNECT TO "marmotech" AS "IFMX" USER usuarios USING clave
|
|
CONNECT to "smarmotech" AS "MSSQL" USER usuarios USING clave
|
|
SELECT a.* INTO p_companias.* FROM companias a
|
|
CALL noprmt003()
|
|
END MAIN
|
|
|
|
FUNCTION noprmt003()
|
|
|
|
CLEAR SCREEN
|
|
OPTIONS
|
|
FORM LINE 9,
|
|
ERROR LINE 24,
|
|
COMMENT LINE 23
|
|
|
|
OPEN FORM nofmmt003 FROM "nofmmt003"
|
|
DISPLAY FORM nofmmt003
|
|
LET selec = "SELECT a.deptname FROM facial.dbo.departments a WHERE a.code = ? "
|
|
PREPARE BUSCA_DEPTO FROM selec
|
|
|
|
MENU
|
|
ON ACTION nuevo
|
|
SET CONNECTION "MSSQL"
|
|
SELECT a.usuario FROM seg0001 a,seg0005 b
|
|
WHERE a.usuario =usuarios AND
|
|
a.cod_perfil = b.cod_perfil AND
|
|
b.programa = 'noprmt003.nuevo'
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
CALL fgl_winmessage("ERROR","USTED NO TIENE PERMISOS PARA UTILIZAR OPCION","INFO")
|
|
CONTINUE MENU
|
|
END IF
|
|
|
|
let int_flag = false
|
|
LET operacion = "A"
|
|
INITIALIZE emplea.* TO NULL
|
|
LOCATE emplea.foto_empleado IN MEMORY
|
|
CALL adpcmf022()
|
|
ON ACTION buscar
|
|
SET CONNECTION "MSSQL"
|
|
let int_flag = false
|
|
LET operacion = "M"
|
|
CALL adpcmf022()
|
|
ON ACTION Salir
|
|
EXIT MENU
|
|
END MENU
|
|
END FUNCTION
|
|
|
|
FUNCTION adpcmf022()
|
|
## AQUI SE PREPARA PARA LA CAPTURA DEL CRITERIO DE SELECCION PARA CONSULTA Y
|
|
## MODIFICACION DE REGISTROS
|
|
|
|
IF operacion = "M" THEN
|
|
CONSTRUCT criterio ON a.num_emp,a.departamento,a.nom1_emp,a.apell1_emp,a.nom2_emp,a.apell2_emp,a.cedula,a.alias
|
|
FROM num_emp,departamento,nom1_emp,apell1_emp,nom2_emp,apell2_emp,cedula,alias
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = FALSE
|
|
RETURN
|
|
END IF
|
|
|
|
LET SELEC =
|
|
"SELECT a.num_emp,a.departamento,a.nivel_emp,
|
|
a.cod_puesto,a.nom1_emp,a.nom2_emp,
|
|
a.apell1_emp,a.apell2_emp,a.tipo_empleado,
|
|
convert(char(10),a.fecha_termino_c,103),a.calle,a.casa_num,a.barrio,
|
|
a.urbanizacion,a.credito,a.telefono,a.telefonoCorporativo,a.numeroOficina,a.extension,
|
|
convert(char(10),a.fech_nac,103),a.cod_nac,
|
|
a.estado_civil,a.tipo_sangre,a.cedula,a.serie,
|
|
a.licencia,a.sueldo_ac,a.nomina, CONVERT(char(10),a.fech_efec,103),
|
|
CONVERT(CHAR(10),a.fecha_salida,103),a.paga_seg,a.cod_seg1,a.cod_seg2,",
|
|
"a.cod_seg3,a.tipocuenta,a.cuenta_no,a.status_t,a.us_crea,
|
|
a.fech_crea,a.us_mod,a.fech_mod,a.foto_empleado,a.sucid,",
|
|
"a.monto_seg_med,a.monto_seg_int,a.monto_care,",
|
|
"CONVERT(CHAR(10),a.fecha_ultimo_aumento,103),a.moneda,a.codbancodestino,",
|
|
"a.digiverbancodestino,a.tipo_sueldo,a.email,a.email_corporativo, a.instalador,a.cuenta_aux,a.cuenta_out,
|
|
CONVERT(CHAR(10),ISNULL(a.fecha_suspension,'01/01/2007'),103),
|
|
a.codigo_retiro_bco,a.retiro_comercial,a.estado_legal,a.genera_file_bco,a.observacion,
|
|
a.tipo_documento,a.gerentemarcas,a.enviar_encuesta,a.enviar_volante
|
|
FROM adtb00003 a ",
|
|
"WHERE (a.status_t is null OR a.status_t NOT IN('T','E')) AND ",
|
|
criterio clipped," ORDER BY a.num_emp "
|
|
|
|
PREPARE busca FROM selec
|
|
DECLARE datos SCROLL CURSOR FOR busca
|
|
OPEN datos
|
|
LOCATE emplea.foto_empleado IN MEMORY
|
|
FETCH FIRST datos INTO emplea.num_emp,emplea.departamento,emplea.nivel_emp,
|
|
emplea.cod_puesto,emplea.nom1_emp,emplea.nom2_emp,
|
|
emplea.apell1_emp,emplea.apell2_emp,emplea.tipo_empleado,
|
|
emplea.fecha_termino_c,emplea.calle,emplea.casa_num,emplea.barrio,
|
|
emplea.urbanizacion,emplea.credito,emplea.telefono,emplea.telefonoCorporativo,
|
|
emplea.numeroOficina,emplea.extension,emplea.fech_nac,emplea.cod_nac,
|
|
emplea.estado_civil,emplea.tipo_sangre,emplea.cedula,emplea.serie,
|
|
emplea.licencia,emplea.sueldo_ac,emplea.nomina,emplea.fech_efec,
|
|
emplea.fecha_salida,emplea.paga_seg,emplea.cod_seg1,emplea.cod_seg2,
|
|
emplea.cod_seg3,emplea.tipocuenta,emplea.cuenta_no,emplea.status_t,emplea.us_crea,
|
|
emplea.fech_crea,emplea.us_mod,emplea.fech_mod,emplea.foto_empleado,emplea.sucid,
|
|
emplea.monto_seg_med,emplea.monto_seg_int,emplea.monto_care,
|
|
emplea.fecha_ultimo_aumento,emplea.moneda,emplea.codbancodestino,
|
|
emplea.digiverbancodestino,emplea.tipo_sueldo,emplea.email,emplea.email_corporativo,emplea.instalador,emplea.cuenta_aux,
|
|
emplea.cuenta_out,emplea.fecha_suspension,
|
|
emplea.codigo_retiro_bco,emplea.retiro_comercial,emplea.estado_legal,emplea.genera_file_bco,
|
|
emplea.observacion,emplea.tipo_documento,emplea.gerentemarcas,emplea.enviar_encuesta,emplea.enviar_volante
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
LET numero_msg = 3
|
|
CALL msg(numero_msg)
|
|
RETURN
|
|
END IF
|
|
|
|
CALL selecta1()
|
|
|
|
MENU "OPCION"
|
|
COMMAND "Siguiente"
|
|
"Presenta en pantalla el proximo registro encontrado"
|
|
FETCH NEXT datos INTO emplea.num_emp,emplea.departamento,emplea.nivel_emp,
|
|
emplea.cod_puesto,emplea.nom1_emp,emplea.nom2_emp,
|
|
emplea.apell1_emp,emplea.apell2_emp,emplea.tipo_empleado,
|
|
emplea.fecha_termino_c,emplea.calle,emplea.casa_num,emplea.barrio,
|
|
emplea.urbanizacion,emplea.credito,emplea.telefono,emplea.telefonoCorporativo,
|
|
emplea.numeroOficina,emplea.extension,emplea.fech_nac,emplea.cod_nac,
|
|
emplea.estado_civil,emplea.tipo_sangre,emplea.cedula,emplea.serie,
|
|
emplea.licencia,emplea.sueldo_ac,emplea.nomina,emplea.fech_efec,
|
|
emplea.fecha_salida,emplea.paga_seg,emplea.cod_seg1,emplea.cod_seg2,
|
|
emplea.cod_seg3,emplea.tipocuenta,emplea.cuenta_no,emplea.status_t,emplea.us_crea,
|
|
emplea.fech_crea,emplea.us_mod,emplea.fech_mod,emplea.foto_empleado,emplea.sucid,
|
|
emplea.monto_seg_med,emplea.monto_seg_int,emplea.monto_care,
|
|
emplea.fecha_ultimo_aumento,emplea.moneda,emplea.codbancodestino,
|
|
emplea.digiverbancodestino,emplea.tipo_sueldo,emplea.email,emplea.email_corporativo,emplea.instalador,emplea.cuenta_aux,
|
|
emplea.cuenta_out,emplea.fecha_suspension,
|
|
emplea.codigo_retiro_bco,emplea.retiro_comercial,emplea.estado_legal,emplea.genera_file_bco,
|
|
emplea.observacion,emplea.tipo_documento,emplea.gerentemarcas,emplea.enviar_encuesta,emplea.enviar_volante
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
LET numero_msg = 4
|
|
CALL msg(numero_msg)
|
|
END IF
|
|
|
|
LET tipo_sexo = " "
|
|
CALL selecta1()
|
|
|
|
COMMAND "Anterior"
|
|
"Presenta en pantalla el registro anterior encontrado"
|
|
FETCH PREVIOUS datos INTO emplea.num_emp,emplea.departamento,emplea.nivel_emp,
|
|
emplea.cod_puesto,emplea.nom1_emp,emplea.nom2_emp,
|
|
emplea.apell1_emp,emplea.apell2_emp,emplea.tipo_empleado,
|
|
emplea.fecha_termino_c,emplea.calle,emplea.casa_num,emplea.barrio,
|
|
emplea.urbanizacion,emplea.credito,emplea.telefono,emplea.telefonoCorporativo,
|
|
emplea.numeroOficina,emplea.extension,emplea.fech_nac,emplea.cod_nac,
|
|
emplea.estado_civil,emplea.tipo_sangre,emplea.cedula,emplea.serie,
|
|
emplea.licencia,emplea.sueldo_ac,emplea.nomina,emplea.fech_efec,
|
|
emplea.fecha_salida,emplea.paga_seg,emplea.cod_seg1,emplea.cod_seg2,
|
|
emplea.cod_seg3,emplea.tipocuenta,emplea.cuenta_no,emplea.status_t,emplea.us_crea,
|
|
emplea.fech_crea,emplea.us_mod,emplea.fech_mod,emplea.foto_empleado,emplea.sucid,
|
|
emplea.monto_seg_med,emplea.monto_seg_int,emplea.monto_care,
|
|
emplea.fecha_ultimo_aumento,emplea.moneda,emplea.codbancodestino,
|
|
emplea.digiverbancodestino,emplea.tipo_sueldo,emplea.email,emplea.email_corporativo,emplea.instalador,emplea.cuenta_aux,
|
|
emplea.cuenta_out,emplea.fecha_suspension,
|
|
emplea.codigo_retiro_bco,emplea.retiro_comercial,emplea.estado_legal,emplea.genera_file_bco,
|
|
emplea.observacion,emplea.tipo_documento,emplea.gerentemarcas,emplea.enviar_encuesta,emplea.enviar_volante
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
LET numero_msg = 5
|
|
CALL msg(numero_msg)
|
|
END IF
|
|
|
|
LET tipo_sexo = " "
|
|
CALL selecta1()
|
|
|
|
COMMAND "Primero"
|
|
"Presenta en pantalla el primer registro encontrado"
|
|
FETCH FIRST datos INTO emplea.num_emp,emplea.departamento,emplea.nivel_emp,
|
|
emplea.cod_puesto,emplea.nom1_emp,emplea.nom2_emp,
|
|
emplea.apell1_emp,emplea.apell2_emp,emplea.tipo_empleado,
|
|
emplea.fecha_termino_c,emplea.calle,emplea.casa_num,emplea.barrio,
|
|
emplea.urbanizacion,emplea.credito,emplea.telefono,emplea.telefonoCorporativo,
|
|
emplea.numeroOficina,emplea.extension,emplea.fech_nac,emplea.cod_nac,
|
|
emplea.estado_civil,emplea.tipo_sangre,emplea.cedula,emplea.serie,
|
|
emplea.licencia,emplea.sueldo_ac,emplea.nomina,emplea.fech_efec,
|
|
emplea.fecha_salida,emplea.paga_seg,emplea.cod_seg1,emplea.cod_seg2,
|
|
emplea.cod_seg3,emplea.tipocuenta,emplea.cuenta_no,emplea.status_t,emplea.us_crea,
|
|
emplea.fech_crea,emplea.us_mod,emplea.fech_mod,emplea.foto_empleado,emplea.sucid,
|
|
emplea.monto_seg_med,emplea.monto_seg_int,emplea.monto_care,
|
|
emplea.fecha_ultimo_aumento,emplea.moneda,emplea.codbancodestino,
|
|
emplea.digiverbancodestino,emplea.tipo_sueldo,emplea.email,emplea.email_corporativo,emplea.instalador,emplea.cuenta_aux,
|
|
emplea.cuenta_out,emplea.fecha_suspension,
|
|
emplea.codigo_retiro_bco,emplea.retiro_comercial,emplea.estado_legal,emplea.genera_file_bco,
|
|
emplea.observacion,emplea.tipo_documento,emplea.gerentemarcas,emplea.enviar_encuesta,emplea.enviar_volante
|
|
|
|
CALL selecta1()
|
|
|
|
LET tipo_sexo = " "
|
|
LET numero_msg = 5
|
|
CALL msg(numero_msg)
|
|
|
|
COMMAND "Ultimo"
|
|
"Presenta en pantalla el ultimo registro encontrado"
|
|
FETCH LAST datos INTO emplea.num_emp,emplea.departamento,emplea.nivel_emp,
|
|
emplea.cod_puesto,emplea.nom1_emp,emplea.nom2_emp,
|
|
emplea.apell1_emp,emplea.apell2_emp,emplea.tipo_empleado,
|
|
emplea.fecha_termino_c,emplea.calle,emplea.casa_num,emplea.barrio,
|
|
emplea.urbanizacion,emplea.credito,emplea.telefono,emplea.telefonoCorporativo,
|
|
emplea.numeroOficina,emplea.extension,emplea.fech_nac,emplea.cod_nac,
|
|
emplea.estado_civil,emplea.tipo_sangre,emplea.cedula,emplea.serie,
|
|
emplea.licencia,emplea.sueldo_ac,emplea.nomina,emplea.fech_efec,
|
|
emplea.fecha_salida,emplea.paga_seg,emplea.cod_seg1,emplea.cod_seg2,
|
|
emplea.cod_seg3,emplea.tipocuenta,emplea.cuenta_no,emplea.status_t,emplea.us_crea,
|
|
emplea.fech_crea,emplea.us_mod,emplea.fech_mod,emplea.foto_empleado,emplea.sucid,
|
|
emplea.monto_seg_med,emplea.monto_seg_int,emplea.monto_care,
|
|
emplea.fecha_ultimo_aumento,emplea.moneda,emplea.codbancodestino,
|
|
emplea.digiverbancodestino,emplea.tipo_sueldo,emplea.email,emplea.email_corporativo,emplea.instalador,emplea.cuenta_aux,
|
|
emplea.cuenta_out,emplea.fecha_suspension,
|
|
emplea.codigo_retiro_bco,emplea.retiro_comercial,emplea.estado_legal,emplea.genera_file_bco,
|
|
emplea.observacion,emplea.tipo_documento,emplea.gerentemarcas,emplea.enviar_encuesta,emplea.enviar_volante
|
|
|
|
CALL selecta1()
|
|
|
|
LET tipo_sexo = " "
|
|
LET numero_msg = 4
|
|
CALL msg(numero_msg)
|
|
|
|
COMMAND "Escoger" "<Esc> Actualiza Registro <Ctrl-C> Cancela Operacion"
|
|
SET CONNECTION "MSSQL"
|
|
SELECT a.usuario FROM seg0001 a,seg0005 b
|
|
WHERE a.usuario =usuarios AND
|
|
a.cod_perfil = b.cod_perfil AND
|
|
b.programa = 'noprmt003.modifica'
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
CALL acepta1()
|
|
ELSE
|
|
CALL acepta()
|
|
END IF
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = FALSE
|
|
EXIT MENU
|
|
END IF
|
|
|
|
SET CONNECTION "MSSQL"
|
|
IF emplea.nivel_emp IS NULL THEN
|
|
CALL msg(16)
|
|
CONTINUE MENU
|
|
END IF
|
|
## AQUI SE ACTUALIZA EL REGISTRO
|
|
IF operacion = "M" THEN
|
|
UPDATE adtb00003 SET
|
|
(nom1_emp,nom2_emp,
|
|
apell1_emp,apell2_emp,calle,casa_num,barrio,fech_efec,
|
|
fech_nac,
|
|
urbanizacion,telefono,telefonoCorporativo,numeroOficina,extension,cedula,serie,cod_nac,estado_civil,
|
|
tipo_sangre,sueldo_ac,nomina,paga_seg, fecha_salida,cuenta_no, us_mod,fech_mod,
|
|
licencia,cod_seg1,cod_seg3,foto_empleado,sucid,credito,fecha_ultimo_aumento,codbancodestino,
|
|
digiverbancodestino,tipo_sueldo,email,email_corporativo,instalador,cuenta_aux,num_emp_supervisor,
|
|
retiro_comercial,estado_legal,genera_file_bco,observacion,gerentemarcas,enviar_encuesta,enviar_volante)=
|
|
|
|
(emplea.nom1_emp,emplea.nom2_emp,emplea.apell1_emp,
|
|
emplea.apell2_emp,emplea.calle,emplea.casa_num,
|
|
emplea.barrio,emplea.fech_efec,emplea.fech_nac,
|
|
emplea.urbanizacion,
|
|
emplea.telefono,emplea.telefonoCorporativo,emplea.numeroOficina, emplea.extension,
|
|
emplea.cedula,emplea.serie,emplea.cod_nac,
|
|
emplea.estado_civil,emplea.tipo_sangre,emplea.sueldo_ac,
|
|
emplea.nomina,emplea.paga_seg,emplea.fecha_salida,emplea.cuenta_no,SUSER_SNAME(),GETDATE(),
|
|
emplea.licencia,emplea.cod_seg1,emplea.cod_seg3,emplea.foto_empleado,
|
|
localidad,emplea.credito,emplea.fecha_ultimo_aumento,emplea.codbancodestino,emplea.digiverbancodestino,emplea.tipo_sueldo,
|
|
emplea.email,emplea.email_corporativo,emplea.instalador,emplea.cuenta_aux,num_emp_supervisor,emplea.retiro_comercial,
|
|
emplea.estado_legal,emplea.genera_file_bco,emplea.observacion,
|
|
emplea.gerentemarcas,emplea.enviar_encuesta,emplea.enviar_volante)
|
|
WHERE @num_emp = emplea.num_emp
|
|
SELECT a.num_emp FROM adtb00021 a WHERE a.num_emp = emplea.num_emp
|
|
IF STATUS <> NOTFOUND THEN
|
|
UPDATE adtb00021 SET sexo = p_sexo
|
|
WHERE num_emp = emplea.num_emp
|
|
ELSE
|
|
|
|
INSERT INTO adtb00021 VALUES (emplea.num_emp,null,null,emplea.nom1_emp,
|
|
emplea.cedula,p_sexo,emplea.fech_nac,null,
|
|
SUSER_SNAME(),GETDATE(),null,null)
|
|
END IF
|
|
{
|
|
LET actualiza_Datos =
|
|
"UPDATE cooperativa.dbo.adtb00003 SET
|
|
departamento= ",emplea.departamento,",",
|
|
"cod_puesto=",emplea.cod_puesto,",",
|
|
"nivel_emp=", emplea.nivel_emp,",",
|
|
"nom1_emp='",emplea.nom1_emp CLIPPED,"',",
|
|
"nom2_emp='",emplea.nom2_emp CLIPPED,"',",
|
|
"apell1_emp='",emplea.apell1_emp CLIPPED,"',",
|
|
"apell2_emp='",emplea.apell2_emp CLIPPED,"',",
|
|
"calle='",emplea.calle CLIPPED,"',",
|
|
"casa_num='",emplea.casa_num CLIPPED,"',",
|
|
"barrio='",emplea.barrio CLIPPED,"',",
|
|
"fech_efec='",emplea.fech_efec,"',",
|
|
"fech_nac='",emplea.fech_nac,"',",
|
|
" urbanizacion='",emplea.urbanizacion CLIPPED,"',",
|
|
" telefono='",emplea.telefono CLIPPED,"',",
|
|
" cedula='",emplea.cedula,"',",
|
|
" serie='",emplea.serie,"',",
|
|
" cod_nac=",emplea.cod_nac,",",
|
|
" estado_civil='",emplea.estado_civil,"',",
|
|
" tipo_sangre='",emplea.tipo_sangre,"',",
|
|
" sueldo_ac=",emplea.sueldo_ac,",",
|
|
" nomina='",emplea.nomina,"',",
|
|
" paga_seg='",emplea.paga_seg,"',",
|
|
" fecha_salida='",emplea.fecha_salida,"',",
|
|
" cuenta_no='",emplea.cuenta_no,"',",
|
|
" us_mod='",usuarios CLIPPED,"',",
|
|
" fech_mod=getdate(),",
|
|
" licencia='",emplea.licencia,"',",
|
|
" cod_seg1='",emplea.cod_seg1,"',",
|
|
" cod_seg3='",emplea.cod_seg3,"',",
|
|
|
|
" sucid=",emplea.sucid,",",
|
|
" credito='",emplea.credito CLIPPED,"',",
|
|
" fecha_ultimo_aumento='",emplea.fecha_ultimo_aumento,"',",
|
|
" codbancodestino='",emplea.codbancodestino,"',",
|
|
" digiverbancodestino='",emplea.digiverbancodestino,"',",
|
|
" tipo_sueldo='",emplea.tipo_sueldo,"',",
|
|
" email='", emplea.email CLIPPED,"',",
|
|
" instalador='",emplea.instalador,"',",
|
|
" cuenta_aux='",emplea.cuenta_aux,"' ",
|
|
" retiro_comercial='",emplea.retiro_comercial,"' ",
|
|
" WHERE num_emp =", emplea.num_emp
|
|
|
|
PREPARE comando_up FROM actualiza_datos
|
|
EXECUTE comando_up
|
|
}
|
|
{ SET CONNECTION "IFMX"
|
|
SELECT a.num_emp FROM adtb00003 a WHERE a.num_emp = emplea.num_emp
|
|
IF STATUS <> NOTFOUND THEN
|
|
UPDATE adtb00003 SET
|
|
(departamento,cod_puesto,nivel_emp,nom1_emp,nom2_emp,
|
|
apell1_emp,apell2_emp,calle,casa_num,barrio,fech_efec,
|
|
fech_nac,
|
|
urbanizacion,telefono,cedula,serie,cod_nac,estado_civil,
|
|
tipo_sangre,sueldo_ac,nomina,paga_seg, fecha_salida,cuenta_no, us_mod,fech_mod,
|
|
licencia,cod_seg1,cod_seg3)=
|
|
|
|
(emplea.departamento,emplea.cod_puesto,emplea.nivel_emp,
|
|
emplea.nom1_emp,emplea.nom2_emp,emplea.apell1_emp,
|
|
emplea.apell2_emp,emplea.calle,emplea.casa_num,
|
|
emplea.barrio,emplea.fech_efec,emplea.fech_nac,
|
|
emplea.urbanizacion,
|
|
emplea.telefono,
|
|
emplea.cedula,emplea.serie,emplea.cod_nac,
|
|
emplea.estado_civil,emplea.tipo_sangre,emplea.sueldo_ac,
|
|
emplea.nomina,emplea.paga_seg,emplea.fecha_salida,emplea.cuenta_no,usuarios,getdate(),
|
|
emplea.licencia,emplea.cod_seg1,emplea.cod_seg3)
|
|
|
|
WHERE @num_emp = emplea.num_emp
|
|
ELSE
|
|
|
|
INSERT INTO adtb00003
|
|
(num_emp,departamento,cod_puesto,nivel_emp,nom1_emp,
|
|
nom2_emp, apell1_emp,apell2_emp,calle,casa_num,barrio,
|
|
urbanizacion,telefono,cedula,serie,cod_nac,estado_civil,
|
|
fech_efec,fecha_salida,fech_nac,
|
|
tipo_sangre,sueldo_ac,nomina,paga_seg, cuenta_no,us_crea,
|
|
fech_crea,licencia,cod_Seg3)
|
|
VALUES
|
|
(emplea.num_emp,emplea.departamento,
|
|
emplea.cod_puesto,emplea.nivel_emp,
|
|
emplea.nom1_emp,emplea.nom2_emp,emplea.apell1_emp,
|
|
emplea.apell2_emp,emplea.calle,emplea.casa_num,
|
|
emplea.barrio,emplea.urbanizacion,emplea.telefono,
|
|
emplea.cedula,emplea.serie,emplea.cod_nac,
|
|
emplea.estado_civil,emplea.fech_efec,emplea.fecha_salida,emplea.fech_nac,
|
|
emplea.tipo_sangre,emplea.sueldo_ac,
|
|
emplea.nomina,emplea.paga_seg,emplea.cuenta_no,usuarios,getdate(),
|
|
emplea.licencia,emplea.cod_seg3)
|
|
|
|
|
|
|
|
END IF
|
|
}
|
|
LET numero_msg = 13
|
|
CALL msg(numero_msg)
|
|
END IF
|
|
|
|
|
|
IF status < 0 THEN
|
|
CALL integridad()
|
|
END IF
|
|
|
|
## AQUI SE ELIMINAN LOS REGISTROS
|
|
{ COMMAND KEY ("L") "eLiminar"
|
|
PROMPT "Esta Seguro de Eliminar Este Empleado? " FOR CHAR opt5
|
|
IF opt5 = "S" THEN
|
|
update adtb00003 set status_t = "E",us_mod = USER_SNAME(),fech_mod = GETDATE()
|
|
WHERE num_emp = emplea.num_emp
|
|
END IF
|
|
|
|
LET numero_msg = 39
|
|
CALL msg(numero_msg)
|
|
} ON ACTION carnet ATTRIBUTE(TEXT="Carnet",IMAGE="fa-print")
|
|
CALL cardnet(emplea.num_emp)
|
|
|
|
COMMAND "Retornar" "Retorna al menu anterior"
|
|
CLEAR FORM
|
|
EXIT MENU
|
|
END MENU
|
|
ELSE
|
|
CALL acepta()
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = FALSE
|
|
RETURN
|
|
END IF
|
|
|
|
END IF
|
|
END FUNCTION
|
|
|
|
FUNCTION selecta1()
|
|
SELECT a.fecha_suspension INTO emplea.fecha_suspension FROM adtb00003 a
|
|
WHERE a.num_emp = emplea.num_emp
|
|
|
|
SELECT a.sexo INTO p_sexo FROM adtb00021 a
|
|
WHERE a.num_emp = emplea.num_emp
|
|
|
|
SELECT nom_dpto INTO depto.nom_dpto FROM adtb00001
|
|
WHERE departamento = emplea.departamento
|
|
|
|
SELECT @nom_puesto INTO puesto.nom_puesto FROM adtb00004
|
|
WHERE @cod_puesto = emplea.cod_puesto
|
|
|
|
IF p_sexo = "M" THEN
|
|
LET tipo_sexo = "MASCULINO"
|
|
END IF
|
|
IF p_sexo = "F" THEN
|
|
LET tipo_sexo = "FEMENINO"
|
|
END IF
|
|
|
|
IF emplea.nomina = "Q" THEN
|
|
LET descrip = "QUINCENAL"
|
|
END IF
|
|
IF emplea.nomina = "S" THEN
|
|
LET descrip = "SEMANAL"
|
|
END IF
|
|
|
|
IF emplea.status_t = "D" THEN
|
|
LET descrip_st = "DESACTIVADO"
|
|
END IF
|
|
IF emplea.status_t = "E" THEN
|
|
LET descrip_st = "ELIMINADO"
|
|
END IF
|
|
IF emplea.status_t IS NULL THEN
|
|
LET descrip_st = "ACTIVADO"
|
|
END IF
|
|
DISPLAY BY NAME descrip_st ATTRIBUTE(REVERSE,RED)
|
|
|
|
SELECT a.licencia INTO emplea.licencia
|
|
FROM adtb00003 a
|
|
WHERE a.num_emp = emplea.num_emp
|
|
|
|
SELECT nom_nac INTO nacion.nom_nac FROM adtb00007
|
|
WHERE cod_nac = emplea.cod_nac
|
|
|
|
CALL departamentos()
|
|
CALL puestos()
|
|
LET plocalidad = ui.ComboBox.forName("formonly.localidad")
|
|
CALL nolocalidades()
|
|
|
|
LET localidad = emplea.sucid
|
|
SELECT RTRIM(a.nom1_emp)||' '||a.apell1_Emp INTO nombre_super FROM adtb00003 a
|
|
WHERE a.num_emp = num_emp_supervisor AND a.status_t IS NULL
|
|
CALL nivel_educacion()
|
|
DISPLAY BY NAME emplea.num_emp,emplea.departamento,emplea.nivel_emp,
|
|
emplea.cod_puesto,emplea.nom1_emp,emplea.nom2_emp,
|
|
emplea.apell1_emp,emplea.apell2_emp,emplea.calle,
|
|
emplea.casa_num,
|
|
emplea.barrio,emplea.urbanizacion,emplea.cedula,
|
|
emplea.serie,emplea.fech_nac,emplea.cod_nac,
|
|
emplea.licencia,emplea.telefono,emplea.telefonoCorporativo,
|
|
emplea.numeroOficina, emplea.extension,emplea.estado_civil,
|
|
emplea.tipo_sangre,emplea.sueldo_ac,emplea.nomina,
|
|
emplea.fech_efec,descrip,nacion.nom_nac,
|
|
depto.nom_dpto,puesto.nom_puesto,p_sexo,tipo_sexo,
|
|
emplea.paga_seg,emplea.cod_seg1,emplea.cod_seg2,
|
|
emplea.cod_seg3,emplea.cuenta_no,emplea.fecha_salida,
|
|
localidad,emplea.credito,emplea.fecha_ultimo_aumento,
|
|
emplea.tipocuenta,emplea.codbancodestino,
|
|
emplea.digiverbancodestino,emplea.tipo_sueldo,emplea.email,
|
|
emplea.email_corporativo,
|
|
emplea.instalador,emplea.cuenta_aux,num_emp_supervisor,nombre_super,
|
|
emplea.fecha_suspension,emplea.codigo_retiro_bco,
|
|
emplea.retiro_comercial,emplea.estado_legal,emplea.genera_file_bco,
|
|
emplea.cuenta_out,emplea.observacion,emplea.moneda,
|
|
emplea.tipo_documento,
|
|
emplea.gerentemarcas,emplea.enviar_encuesta,emplea.enviar_volante
|
|
IF emplea.foto_empleado IS NOT NULL THEN
|
|
LET filepath = ".\\IMAGENES\\tmpfile.jpg"
|
|
|
|
CALL emplea.foto_empleado.writeFile(filepath)
|
|
DISPLAY filepath TO fotos
|
|
END IF
|
|
|
|
CALL carga_herramientas()
|
|
|
|
END FUNCTION
|
|
|
|
FUNCTION acepta()
|
|
DIALOG ATTRIBUTES(UNBUFFERED, FIELD ORDER FORM)
|
|
INPUT BY NAME emplea.num_emp,emplea.departamento,emplea.nivel_emp,
|
|
emplea.cod_puesto,emplea.nom1_emp,emplea.nom2_emp,
|
|
emplea.apell1_emp,emplea.apell2_emp,emplea.gerentemarcas,
|
|
emplea.enviar_volante,emplea.enviar_encuesta,
|
|
localidad,
|
|
num_emp_supervisor,
|
|
emplea.calle,emplea.casa_num,emplea.barrio,
|
|
emplea.urbanizacion,emplea.credito,emplea.tipo_documento, emplea.cedula,
|
|
emplea.telefono,emplea.telefonoCorporativo, emplea.numeroOficina, emplea.extension,
|
|
emplea.fech_nac,emplea.cod_nac,emplea.licencia,emplea.alias,
|
|
emplea.estado_civil,emplea.tipo_sangre,emplea.sueldo_ac,emplea.moneda,
|
|
emplea.nomina,emplea.fech_efec,emplea.fecha_salida,emplea.paga_seg,
|
|
emplea.cod_seg1,
|
|
emplea.cod_seg2,emplea.cod_seg3,emplea.tipocuenta, emplea.codbancodestino,
|
|
emplea.digiverbancodestino,
|
|
emplea.cuenta_no,emplea.genera_file_bco, p_sexo,emplea.fecha_ultimo_aumento,sec_vend_supervisor,
|
|
emplea.tipo_sueldo,emplea.email,emplea.email_corporativo,emplea.instalador,emplea.cuenta_aux,emplea.cuenta_out,
|
|
emplea.retiro_comercial,emplea.estado_legal,
|
|
emplea.observacion
|
|
ATTRIBUTE(WITHOUT DEFAULTS)
|
|
AFTER FIELD cod_nac
|
|
IF emplea.cod_nac IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD cod_nac
|
|
END IF
|
|
|
|
SELECT nom_nac INTO nacion.nom_nac FROM adtb00007
|
|
WHERE cod_nac = emplea.cod_nac
|
|
DISPLAY BY NAME nacion.nom_nac
|
|
|
|
BEFORE FIELD cedula
|
|
|
|
IF operacion = "M" AND emplea.tipo_documento = 'CEDULA' THEN
|
|
NEXT FIELD telefono
|
|
END IF
|
|
AFTER FIELD num_emp_supervisor
|
|
IF num_emp_supervisor IS NOT NULL THEN
|
|
SELECT RTRIM(a.nom1_emp)||' '||a.apell1_Emp INTO nombre_super FROM adtb00003 a
|
|
WHERE a.num_emp = num_emp_supervisor AND a.status_t IS NULL
|
|
IF STATUS = NOTFOUND THEN
|
|
CALL msg(3)
|
|
NEXT FIELD num_emp_supervisor
|
|
END IF
|
|
DISPLAY BY NAME nombre_super
|
|
END IF
|
|
AFTER FIELD cedula
|
|
IF emplea.cedula IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD cedula
|
|
END IF
|
|
DISPLAY "tipo ",emplea.tipo_documento
|
|
IF emplea.tipo_documento = 'CEDULA' THEN
|
|
IF LENGTH(emplea.cedula) <> 11 THEN
|
|
CALL msg(77)
|
|
NEXT FIELD cedula
|
|
END IF
|
|
SELECT UNIQUE a.cedula FROM adtb00003 a WHERE a.cedula = emplea.cedula AND a.status_t IS NULL
|
|
IF STATUS <> NOTFOUND THEN
|
|
CALL msg(12)
|
|
NEXT FIELD cedula
|
|
END IF
|
|
END IF
|
|
|
|
AFTER FIELD cuenta_aux
|
|
IF emplea.cuenta_aux IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD cuenta_aux
|
|
END IF
|
|
SELECT a.descripcion INTO descripcion_cuenta FROM cgtb00001 a
|
|
WHERE a.cuenta_no = emplea.cuenta_aux AND a.status_t IS NULL
|
|
IF STATUS = NOTFOUND THEN
|
|
CALL msg(3)
|
|
NEXT FIELD cuenta_aux
|
|
END IF
|
|
DISPLAY BY NAME descripcion_cuenta
|
|
ON ACTION busca_foto
|
|
LET imagenom = "*.jpg *.png *.jpeg"
|
|
CALL ui.interface.frontcall("standard","openfile",[imagenom,"jpg","png jpg bmp gif","Busca Imagen"],filepath)
|
|
IF filepath IS NOT NULL THEN
|
|
LET filedestino = FGL_GETENV("IMAGENNOMINA")
|
|
#LET filedestino = "F:\\FOURJS\\GAS22006\\pic\\NOMINA\\"
|
|
LET filedestino = filedestino CLIPPED,"\\",emplea.num_emp USING "&&&&&",".jpg"
|
|
LET emplea.url_foto = filedestino
|
|
# CALL FGL_WINMESSAGE("W",filedestino,"stop")
|
|
# CALL fgl_getfile(filepath,filedestino)
|
|
|
|
LOCATE imagen_emp IN MEMORY
|
|
|
|
# LET filedestino = "./IMAGENES/", os.path.basename(filepath)
|
|
# CALL fgl_winmessage("info",filedestino,"info")
|
|
CALL fgl_getfile(filepath,filedestino)
|
|
|
|
CALL imagen_emp.readFile(filedestino)
|
|
LET emplea.foto_empleado = imagen_emp
|
|
# LET filedestino="F:\\MASTER\\IMAGENES\\NOMINA\\tmp.jpg"
|
|
LET filepath=filedestino
|
|
DISPLAY filepath TO fotos
|
|
|
|
END IF
|
|
|
|
## VERIFICA QUE LOS CAMPOS MODIFICABLES NO ESTEN EN BLANCO
|
|
BEFORE INPUT
|
|
CALL departamentos()
|
|
CALL puestos()
|
|
CALL nivel_educacion()
|
|
IF operacion = "A" THEN
|
|
SELECT MAX(a.num_emp) INTO emplea.num_emp FROM adtb00003 a
|
|
WHERE a.num_emp < 9999
|
|
IF emplea.num_emp IS NULL THEN
|
|
LET emplea.num_emp = 0
|
|
END IF
|
|
LET emplea.num_emp = emplea.num_emp+1
|
|
DISPLAY BY NAME emplea.num_emp
|
|
END IF
|
|
CALL comisiones_adicionales.clear()
|
|
CALL comisiones.clear()
|
|
|
|
IF operacion <> "M" THEN
|
|
LET emplea.credito = "SI"
|
|
DISPLAY BY NAME emplea.credito
|
|
END IF
|
|
LET plocalidad = ui.ComboBox.forName("formonly.localidad")
|
|
CALL nolocalidades()
|
|
|
|
IF operacion = "M" THEN
|
|
NEXT FIELD calle
|
|
END IF
|
|
AFTER FIELD sec_Vend_supervisor
|
|
IF sec_Vend_supervisor IS NOT NULL THEN
|
|
SELECT a.nom1_emp||' '||a.apell1_Emp INTO nombre_supervisor
|
|
FROM adtb0003 a
|
|
WHERE a.num_Emp = sec_vend_supervisor
|
|
IF STATUS = NOTFOUND THEN
|
|
CALL FGL_WINMESSAGE("ERROR","EMPLEADO NO EXISTE","info")
|
|
NEXT FIELD sec_Vend_supervisor
|
|
END IF
|
|
END IF
|
|
AFTER FIELD num_emp
|
|
SELECT a.nom1_emp INTO emplea.nom1_emp FROM adtb00003 a
|
|
WHERE a.num_emp = emplea.num_emp
|
|
|
|
IF STATUS != NOTFOUND THEN
|
|
IF operacion = "A" THEN
|
|
LET numero_msg = 3
|
|
CALL msg(numero_msg)
|
|
DISPLAY BY NAME emplea.nom1_emp
|
|
NEXT FIELD num_emp
|
|
END IF
|
|
END IF
|
|
AFTER FIELD localidad
|
|
SELECT sucid FROM sucursales WHERE sucid = localidad AND sucid_sirla IS NOT NULL
|
|
IF STATUS = NOTFOUND THEN
|
|
CALL msg(16)
|
|
NEXT FIELD localidad
|
|
END IF
|
|
LET emplea.sucid = localidad
|
|
BEFORE FIELD departamento
|
|
IF operacion = "M" THEN
|
|
NEXT FIELD nivel_emp
|
|
END IF
|
|
AFTER FIELD departamento
|
|
|
|
IF emplea.departamento IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD departamento
|
|
END IF
|
|
|
|
SELECT nom_dpto INTO depto.nom_dpto FROM adtb00001
|
|
WHERE departamento = emplea.departamento
|
|
|
|
DISPLAY BY NAME depto.nom_dpto
|
|
EXECUTE BUSCA_DEPTO INTO nombre_out USING depto.departamento_out
|
|
DISPLAY BY NAME nombre_out
|
|
|
|
AFTER FIELD cod_puesto
|
|
|
|
IF emplea.cod_puesto IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD cod_puesto
|
|
END IF
|
|
|
|
SELECT a.nom_puesto INTO puesto.nom_puesto FROM adtb00004 a
|
|
WHERE a.cod_puesto = emplea.cod_puesto AND a.cod_puesto_sirla IS NOT null
|
|
IF STATUS = NOTFOUND THEN
|
|
CALL fgl_winmessage("INFO","PUESTO NO EXISTE","INFO")
|
|
NEXT FIELD cod_puesto
|
|
END IF
|
|
DISPLAY BY NAME puesto.nom_puesto
|
|
|
|
AFTER FIELD sueldo_ac
|
|
|
|
IF emplea.sueldo_ac IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD sueldo_ac
|
|
END IF
|
|
|
|
AFTER FIELD fech_nac
|
|
|
|
IF emplea.fech_nac IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fech_nac
|
|
END IF
|
|
|
|
IF YEAR(emplea.fech_nac) >= YEAR(today) THEN
|
|
ERROR "FECHA INCORRECTA"
|
|
NEXT FIELD fech_nac
|
|
END IF
|
|
|
|
AFTER FIELD nomina
|
|
IF emplea.nomina IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD nomina
|
|
END IF
|
|
|
|
IF emplea.nomina = "Q" THEN
|
|
LET descrip = "QUINCENAL"
|
|
END IF
|
|
IF emplea.nomina = "S" THEN
|
|
LET descrip = "SEMANAL"
|
|
END IF
|
|
IF emplea.nomina = "V" THEN
|
|
LET descrip = "VENDEDOR"
|
|
END IF
|
|
DISPLAY BY NAME descrip
|
|
|
|
AFTER FIELD p_sexo
|
|
IF p_sexo IS NULL THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD p_sexo
|
|
END IF
|
|
|
|
IF p_sexo = "M" THEN
|
|
LET tipo_sexo = "MASCULINO"
|
|
ELSE
|
|
IF p_sexo = "F" THEN
|
|
LET tipo_sexo = "FEMENINO"
|
|
END IF
|
|
END IF
|
|
DISPLAY BY NAME tipo_sexo
|
|
#### Verifica si el usuario presiono la tecla <Ctrl-C>
|
|
|
|
AFTER INPUT
|
|
IF emplea.nivel_emp IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD nivel_emp
|
|
END IF
|
|
IF emplea.cod_nac IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD cod_nac
|
|
END IF
|
|
IF emplea.estado_civil IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD estado_civil
|
|
END IF
|
|
DECLARE busca_comision CURSOR FOR
|
|
SELECT a.sec_vend_a,RTRIM(b.nom1_emp) || " "||RTRIM(ISNULL(b.nom2_emp,' '))||" "||
|
|
RTRIM(ISNULL(b.apell1_emp,' ')),a.porc_cobros,a.porc_cobros_a
|
|
FROM vetb00075 a,adtb00003 b
|
|
WHERE a.sec_vend_a = emplea.num_emp AND
|
|
a.sec_vend_a = b.num_emp
|
|
|
|
|
|
LET idx = 1
|
|
FOREACH busca_comision INTO comisiones[idx].*
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
DECLARE comision_adicional CURSOR FOR
|
|
SELECT a.sec_vend,RTRIM(b.nom1_emp) || " "||RTRIM(ISNULL(b.nom2_emp,' '))||" "||
|
|
RTRIM(ISNULL(b.apell1_emp,' ')),a.cod_n,c.producto,a.porc_vendedor,a.porc_supervisor
|
|
FROM vetb00076 a,adtb00003 b,iptb00020 c
|
|
WHERE a.sec_vend = emplea.num_emp AND
|
|
a.sec_vend = b.num_emp AND
|
|
a.cod_n = c.cod_n
|
|
|
|
|
|
LET idx = 1
|
|
FOREACH comision_adicional INTO comisiones_adicionales[idx].*
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
IF emplea.cuenta_aux IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD cuenta_aux
|
|
END IF
|
|
IF emplea.tipo_documento = 'CEDULA' THEN
|
|
IF LENGTH(emplea.cedula) <> 11 THEN
|
|
CALL msg(77)
|
|
NEXT FIELD cedula
|
|
END IF
|
|
END IF
|
|
END INPUT
|
|
|
|
INPUT ARRAY comisiones FROM s_comisiones.* ATTRIBUTE(WITHOUT DEFAULTS)
|
|
AFTER FIELD sec_vend
|
|
LET idx = arr_curr()
|
|
LET scr_l = scr_line()
|
|
|
|
SELECT RTRIM(b.nom1_emp) || " "||RTRIM(ISNULL(b.nom2_emp,' '))||" "||
|
|
RTRIM(ISNULL(b.apell1_emp,' '))
|
|
FROM adtb00003 b
|
|
WHERE b.num_emp = comisiones[idx].sec_vend_a
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
CALL fgl_winmessage("ERROR","EMPLEADO NO EXISTE","INFO")
|
|
NEXT FIELD num_emp
|
|
END IF
|
|
DISPLAY comisiones[idx].nombre_vend TO s_comisiones[scr_l].nombre_Vend
|
|
END INPUT
|
|
INPUT ARRAY comisiones_adicionales FROM s_adicionales.* ATTRIBUTE (WITHOUT DEFAULTS)
|
|
AFTER FIELD cod_n
|
|
IF comisiones_adicionales[arr_curr()].cod_n IS NOT NULL THEN
|
|
SELECT a.descrip_Esp INTO comisiones_adicionales[arr_curr()].descripcion
|
|
FROM iptb00020 a
|
|
WHERE a.cod_n = comisiones_adicionales[arr_curr()].cod_n AND a.status_t IS NULL
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
CALL fgl_winmessage("ERROR","REGISTRO NO EXISTE","INFO")
|
|
NEXT FIELD cod_n
|
|
END IF
|
|
DISPLAY comisiones_adicionales[arr_curr()].descripcion TO s_adicionales[scr_line()].descripcion
|
|
|
|
|
|
|
|
END IF
|
|
END INPUT
|
|
|
|
ON ACTION CANCEL
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
CLEAR FORM
|
|
LET INT_FLAG = true
|
|
RETURN
|
|
ON ACTION guardar ATTRIBUTE(TEXT="Guardar",IMAGE="filesave")
|
|
IF emplea.nivel_emp IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD nivel_emp
|
|
END IF
|
|
IF emplea.fech_nac IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD fech_nac
|
|
END IF
|
|
|
|
IF emplea.fech_efec IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD fech_efec
|
|
END IF
|
|
IF emplea.tipo_documento = 'CEDULA' THEN
|
|
IF LENGTH(emplea.cedula) <> 11 THEN
|
|
CALL msg(77)
|
|
NEXT FIELD cedula
|
|
END IF
|
|
END IF
|
|
IF localidad IS NULL THEN
|
|
CALL msg(16)
|
|
NEXT FIELD localidad
|
|
END IF
|
|
## AQUI SE ACTUALIZA EL REGISTRO
|
|
IF operacion = "M" THEN
|
|
SET CONNECTION "MSSQL"
|
|
UPDATE adtb00003 SET
|
|
(departamento,cod_puesto,nivel_emp,nom1_emp,nom2_emp,
|
|
apell1_emp,apell2_emp,calle,casa_num,barrio,fech_efec,
|
|
fech_nac,
|
|
urbanizacion,telefono,telefonoCorporativo,numeroOficina,extension,cedula,serie,cod_nac,estado_civil,
|
|
tipo_sangre,sueldo_ac,nomina,paga_seg, fecha_salida,cuenta_no, us_mod,fech_mod,
|
|
licencia,cod_seg1,cod_seg3,foto_empleado,sucid,credito,tipocuenta,
|
|
codbancodestino,digiverbancodestino,tipo_sueldo,email,email_corporativo,cuenta_aux,cuenta_out,departamento_out,
|
|
num_emp_supervisor,retiro_comercial,estado_legal,genera_file_bco,observacion,moneda,tipo_documento,
|
|
gerentemarcas,alias,url_foto,enviar_encuesta,enviar_volante)=
|
|
|
|
(emplea.departamento,emplea.cod_puesto,emplea.nivel_emp,
|
|
emplea.nom1_emp,emplea.nom2_emp,emplea.apell1_emp,
|
|
emplea.apell2_emp,emplea.calle,emplea.casa_num,
|
|
emplea.barrio,emplea.fech_efec,emplea.fech_nac,
|
|
emplea.urbanizacion,
|
|
emplea.telefono,emplea.telefonoCorporativo, emplea.numeroOficina, emplea.extension,
|
|
emplea.cedula,emplea.serie,emplea.cod_nac,
|
|
emplea.estado_civil,emplea.tipo_sangre,emplea.sueldo_ac,
|
|
emplea.nomina,emplea.paga_seg,emplea.fecha_salida,emplea.cuenta_no,usuarios,GETDATE(),
|
|
emplea.licencia,emplea.cod_seg1,emplea.cod_seg3,emplea.foto_empleado,
|
|
localidad,emplea.credito,emplea.tipocuenta,emplea.codbancodestino,emplea.digiverbancodestino,
|
|
emplea.tipo_sueldo,emplea.email,emplea.email_corporativo,emplea.cuenta_aux,emplea.cuenta_out,emplea.departamento_out,
|
|
num_emp_supervisor,emplea.retiro_comercial,emplea.estado_legal,emplea.genera_file_bco,
|
|
emplea.observacion,emplea.moneda,emplea.tipo_documento,
|
|
emplea.gerentemarcas,emplea.alias,emplea.url_foto,emplea.enviar_encuesta,emplea.enviar_volante)
|
|
WHERE @num_emp = emplea.num_emp
|
|
|
|
SELECT a.num_emp FROM adtb00021 a WHERE a.num_emp = emplea.num_emp
|
|
IF STATUS <> NOTFOUND THEN
|
|
UPDATE adtb00021 SET sexo = p_sexo
|
|
WHERE num_emp = emplea.num_emp
|
|
ELSE
|
|
|
|
INSERT INTO adtb00021 VALUES (emplea.num_emp,null,null,emplea.nom1_emp,
|
|
emplea.cedula,p_sexo,emplea.fech_nac,null,
|
|
SUSER_SNAME(),GETDATE(),null,null)
|
|
END IF
|
|
|
|
{ SET CONNECTION "IFMX"
|
|
SELECT a.num_emp FROM adtb00003 a WHERE a.num_emp = emplea.num_emp
|
|
|
|
IF STATUS <> NOTFOUND THEN
|
|
|
|
UPDATE adtb00003 SET
|
|
(departamento,cod_puesto,nivel_emp,nom1_emp,nom2_emp,
|
|
apell1_emp,apell2_emp,calle,casa_num,barrio,fech_efec,
|
|
fech_nac,
|
|
urbanizacion,telefono,cedula,serie,cod_nac,estado_civil,
|
|
tipo_sangre,sueldo_ac,nomina,paga_seg, fecha_salida,cuenta_no, us_mod,fech_mod,
|
|
licencia,cod_seg1,cod_seg3)=
|
|
|
|
(emplea.departamento,emplea.cod_puesto,emplea.nivel_emp,
|
|
emplea.nom1_emp,emplea.nom2_emp,emplea.apell1_emp,
|
|
emplea.apell2_emp,emplea.calle,emplea.casa_num,
|
|
emplea.barrio,emplea.fech_efec,emplea.fech_nac,
|
|
emplea.urbanizacion,
|
|
emplea.telefono,
|
|
emplea.cedula,emplea.serie,emplea.cod_nac,
|
|
emplea.estado_civil,emplea.tipo_sangre,emplea.sueldo_ac,
|
|
emplea.nomina,emplea.paga_seg,emplea.fecha_salida,emplea.cuenta_no,usuarios,GETDATE(),
|
|
emplea.licencia,emplea.cod_seg1,emplea.cod_seg3)
|
|
WHERE @num_emp = emplea.num_emp
|
|
|
|
ELSE
|
|
INSERT INTO adtb00003
|
|
(num_emp,departamento,cod_puesto,nivel_emp,nom1_emp,
|
|
nom2_emp, apell1_emp,apell2_emp,calle,casa_num,barrio,
|
|
urbanizacion,telefono,cedula,serie,cod_nac,estado_civil,
|
|
fech_efec,fecha_salida,fech_nac,
|
|
tipo_sangre,sueldo_ac,nomina,paga_seg, cuenta_no,us_crea,
|
|
fech_crea,licencia,cod_Seg3,moneda)
|
|
VALUES
|
|
(emplea.num_emp,emplea.departamento,
|
|
emplea.cod_puesto,emplea.nivel_emp,
|
|
emplea.nom1_emp,emplea.nom2_emp,emplea.apell1_emp,
|
|
emplea.apell2_emp,emplea.calle,emplea.casa_num,
|
|
emplea.barrio,emplea.urbanizacion,emplea.telefono,
|
|
emplea.cedula,emplea.serie,emplea.cod_nac,
|
|
emplea.estado_civil,emplea.fech_efec,emplea.fecha_salida,emplea.fech_nac,
|
|
emplea.tipo_sangre,emplea.sueldo_ac,
|
|
emplea.nomina,emplea.paga_seg,emplea.cuenta_no,usuarios,GETDATE(),
|
|
emplea.licencia,emplea.cod_seg3,emplea.moneda)
|
|
|
|
END IF
|
|
}
|
|
LET numero_msg = 13
|
|
CALL msg(numero_msg)
|
|
|
|
END IF
|
|
IF operacion = "A" THEN
|
|
SET CONNECTION "MSSQL"
|
|
SELECT MAX(a.num_emp) INTO emplea.num_emp FROM adtb00003 a
|
|
WHERE a.num_emp < 9999
|
|
IF emplea.num_emp IS NULL THEN
|
|
LET emplea.num_emp = 0
|
|
END IF
|
|
LET emplea.num_emp = emplea.num_emp+1
|
|
DISPLAY BY NAME emplea.num_emp
|
|
|
|
INSERT INTO adtb00003
|
|
(num_emp,departamento,cod_puesto,nivel_emp,nom1_emp,
|
|
nom2_emp, apell1_emp,apell2_emp,calle,casa_num,barrio,
|
|
urbanizacion,telefono,telefonoCorporativo,numeroOficina,extension,cedula,serie,cod_nac,estado_civil,
|
|
fech_efec,fecha_salida,fech_nac,
|
|
tipo_sangre,sueldo_ac,nomina,paga_seg, cuenta_no,us_crea,
|
|
fech_crea,licencia,cod_Seg3,foto_empleado,sucid,credito,fecha_ultimo_aumento,tipocuenta,
|
|
codbancodestino,digiverbancodestino,email,email_corporativo,instalador,cuenta_aux,cuenta_out,
|
|
departamento_out,num_emp_supervisor,retiro_comercial,estado_legal,genera_file_bco,observacion,tipo_documento,
|
|
gerentemarcas,alias,url_foto,enviar_encuesta,enviar_volante)
|
|
VALUES
|
|
(emplea.num_emp,emplea.departamento,
|
|
emplea.cod_puesto,emplea.nivel_emp,
|
|
emplea.nom1_emp,emplea.nom2_emp,emplea.apell1_emp,
|
|
emplea.apell2_emp,emplea.calle,emplea.casa_num,
|
|
emplea.barrio,emplea.urbanizacion,emplea.telefono,emplea.telefonoCorporativo, emplea.numeroOficina, emplea.extension,
|
|
emplea.cedula,emplea.serie,emplea.cod_nac,
|
|
emplea.estado_civil,emplea.fech_efec,emplea.fecha_salida,emplea.fech_nac,
|
|
emplea.tipo_sangre,emplea.sueldo_ac,
|
|
emplea.nomina,emplea.paga_seg,emplea.cuenta_no,usuarios,GETDATE(),
|
|
emplea.licencia,emplea.cod_seg3,emplea.foto_empleado,emplea.sucid,emplea.credito,
|
|
emplea.fecha_ultimo_aumento,emplea.tipocuenta,emplea.codbancodestino,emplea.digiverbancodestino,
|
|
emplea.email,emplea.email_corporativo,emplea.instalador,emplea.cuenta_aux,emplea.cuenta_out,
|
|
emplea.departamento_out,num_emp_supervisor,emplea.retiro_comercial,emplea.estado_legal,
|
|
emplea.genera_file_bco,emplea.observacion,emplea.tipo_documento,
|
|
emplea.gerentemarcas,emplea.alias,emplea.url_foto,emplea.enviar_encuesta,emplea.enviar_volante)
|
|
|
|
|
|
INSERT INTO adtb00021 VALUES (emplea.num_emp,null,null,emplea.nom1_emp,
|
|
emplea.cedula,p_sexo,emplea.fech_nac,null,
|
|
SUSER_SNAME(),GETDATE(),null,null)
|
|
{ LET actualiza_datos =
|
|
"INSERT INTO cooperativa.dbo.adtb00003
|
|
(num_emp,departamento,cod_puesto,nivel_emp,nom1_emp,
|
|
nom2_emp, apell1_emp,apell2_emp,calle,casa_num,barrio,
|
|
urbanizacion,telefono,cedula,serie,cod_nac,estado_civil,
|
|
fech_efec,fecha_salida,fech_nac,
|
|
tipo_sangre,sueldo_ac,nomina,paga_seg, cuenta_no,us_crea,
|
|
fech_crea,licencia,cod_Seg3)
|
|
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,getdate(),?,?)"
|
|
|
|
PREPARE command_ins FROM actualiza_datos
|
|
EXECUTE command_ins USING
|
|
emplea.num_emp, emplea.departamento,
|
|
emplea.cod_puesto, emplea.nivel_emp,
|
|
emplea.nom1_emp, emplea.nom2_emp,emplea.apell1_emp,
|
|
emplea.apell2_emp, emplea.calle,emplea.casa_num,
|
|
emplea.barrio, emplea.urbanizacion,emplea.telefono,
|
|
emplea.cedula, emplea.serie,emplea.cod_nac,
|
|
emplea.estado_civil, emplea.fech_efec, emplea.fecha_salida, emplea.fech_nac,
|
|
emplea.tipo_sangre, emplea.sueldo_ac,
|
|
emplea.nomina, emplea.paga_seg, emplea.cuenta_no,
|
|
usuarios,
|
|
emplea.licencia, emplea.cod_seg3
|
|
}
|
|
SET CONNECTION "IFMX"
|
|
INSERT INTO adtb00003
|
|
(num_emp,departamento,cod_puesto,nivel_emp,nom1_emp,
|
|
nom2_emp, apell1_emp,apell2_emp,calle,casa_num,barrio,
|
|
urbanizacion,telefono,cedula,serie,cod_nac,estado_civil,
|
|
fech_efec,fecha_salida,fech_nac,
|
|
tipo_sangre,sueldo_ac,nomina,paga_seg, cuenta_no,us_crea,
|
|
fech_crea,licencia,cod_Seg3)
|
|
VALUES
|
|
(emplea.num_emp,emplea.departamento,
|
|
emplea.cod_puesto,emplea.nivel_emp,
|
|
emplea.nom1_emp,emplea.nom2_emp,emplea.apell1_emp,
|
|
emplea.apell2_emp,emplea.calle,emplea.casa_num,
|
|
emplea.barrio,emplea.urbanizacion,emplea.telefono,
|
|
emplea.cedula,emplea.serie,emplea.cod_nac,
|
|
emplea.estado_civil,emplea.fech_efec,emplea.fecha_salida,emplea.fech_nac,
|
|
emplea.tipo_sangre,emplea.sueldo_ac,
|
|
emplea.nomina,emplea.paga_seg,emplea.cuenta_no,usuarios,GETDATE(),
|
|
emplea.licencia,emplea.cod_seg3)
|
|
|
|
LET numero_msg = 1
|
|
CALL msg(numero_msg)
|
|
|
|
END IF
|
|
RETURN
|
|
END DIALOG
|
|
END FUNCTION
|
|
FUNCTION acepta1()
|
|
MENU
|
|
ON ACTION busca_foto
|
|
LET imagenom = "*.jpg *.png *.jpeg"
|
|
CALL ui.interface.frontcall("standard","openfile",[imagenom,"jpg","png jpg bmp gif","Busca Imagen"],filepath)
|
|
IF filepath IS NOT NULL THEN
|
|
LET filedestino = FGL_GETENV("IMAGENNOMINA")
|
|
|
|
LET filedestino = filedestino CLIPPED,"\\",emplea.num_emp USING "&&&&&",".jpg"
|
|
LET emplea.url_foto = filedestino
|
|
# CALL FGL_WINMESSAGE("W",filedestino,"stop")
|
|
# CALL fgl_getfile(filepath,filedestino)
|
|
|
|
LOCATE imagen_emp IN MEMORY
|
|
|
|
# LET filedestino = "./IMAGENES/", os.path.basename(filepath)
|
|
# CALL fgl_winmessage("info",filedestino,"info")
|
|
CALL fgl_getfile(filepath,filedestino)
|
|
|
|
CALL imagen_emp.readFile(filedestino)
|
|
LET emplea.foto_empleado = imagen_emp
|
|
# LET filedestino="F:\\MASTER\\IMAGENES\\NOMINA\\tmp.jpg"
|
|
LET filepath=filedestino
|
|
DISPLAY filepath TO fotos
|
|
|
|
END IF
|
|
|
|
ON ACTION CANCEL
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
CLEAR FORM
|
|
LET INT_FLAG = true
|
|
RETURN
|
|
ON ACTION guardar ATTRIBUTE(TEXT="Guardar",IMAGE="filesave")
|
|
SET CONNECTION "MSSQL"
|
|
UPDATE adtb00003 SET
|
|
foto_empleado = emplea.foto_empleado,
|
|
us_mod = usuarios,
|
|
fech_mod = getdate()
|
|
|
|
WHERE @num_emp = emplea.num_emp
|
|
|
|
|
|
LET numero_msg = 13
|
|
CALL msg(numero_msg)
|
|
|
|
|
|
END MENU
|
|
END FUNCTION
|
|
|
|
FUNCTION carga_herramientas()
|
|
DEFINE i INTEGER
|
|
SET CONNECTION "MSSQL"
|
|
CALL herramientas.clear()
|
|
|
|
DECLARE cur_herr CURSOR FOR
|
|
SELECT a.codigo,
|
|
RTRIM(ISNULL(b.descrip_esp,'')),
|
|
a.fecha,
|
|
a.documento,
|
|
a.cantidad
|
|
FROM adtb00057 a
|
|
LEFT JOIN irtb00002 b
|
|
ON CAST(b.cod_n AS VARCHAR(10)) + '-' +
|
|
CAST(b.cod_grupo AS VARCHAR(10)) + '-' +
|
|
CAST(b.cod_tipo AS VARCHAR(10)) + '-' +
|
|
CAST(b.cod_sec AS VARCHAR(10)) = a.codigo
|
|
WHERE a.num_emp = emplea.num_emp
|
|
ORDER BY a.codigo
|
|
|
|
LET i = 1
|
|
FOREACH cur_herr INTO herramientas[i].*
|
|
LET i = i + 1
|
|
END FOREACH
|
|
IF i > 1 THEN
|
|
CALL herramientas.deleteElement(i) -- quita el slot vac�o final
|
|
END IF
|
|
|
|
CALL muestra_herramientas()
|
|
END FUNCTION
|
|
|
|
FUNCTION muestra_herramientas()
|
|
DEFINE i, tope INTEGER
|
|
CLEAR s_herramientas.*
|
|
LET tope = herramientas.getLength()
|
|
IF tope > 12 THEN LET tope = 12 END IF
|
|
FOR i = 1 TO tope
|
|
DISPLAY herramientas[i].codigo,
|
|
herramientas[i].descripcion,
|
|
herramientas[i].fecha,
|
|
herramientas[i].documento,
|
|
herramientas[i].cantidad
|
|
TO s_herramientas[i].*
|
|
END FOR
|
|
END FUNCTION
|