Files
MBS/WEBSERVICES/empleadoscedula.4gl
T

173 lines
6.7 KiB
Plaintext

IMPORT util
IMPORT os
IMPORT security
DEFINE j INT,
url_folder STRING,
tmpfile STRING
FUNCTION busca_emp(pdata)
DEFINE pdata STRING
DEFINE credenciales RECORD
usuario,clave VARCHAR(50),
cedula,nombre,alias VARCHAR(25),
num_emp INT
END RECORD
DEFINE p RECORD
empleado RECORD
num_emp INT,
nombre,
puesto ,
alias,
departamento VARCHAR(100),
foto BYTE,
url_foto VARCHAR(255),
id STRING
END RECORD,
mensajes RECORD
cod_msg INT,
descripcion STRING
END RECORD
END RECORD,
selec STRING,
url_files STRING
CALL util.JSON.parse(pdata,credenciales)
IF STATUS < 0 THEN
LET p.mensajes.cod_msg=400
LET p.mensajes.descripcion = 'ERROR EN CONEXION ',SQLCA.sqlerrm
RETURN util.JSON.stringify(p)
END IF
IF credenciales.cedula IS NULL AND credenciales.num_emp IS NULL THEN
LET p.mensajes.cod_msg=400
LET p.mensajes.descripcion = 'ERROR, CEDULA ESTA EN BLANCO '
RETURN util.JSON.stringify(p)
END IF
LET url_folder = FGL_GETENV("IMAGENES")
# LET url_folder = FGL_GETENV("DATAIMG")
CONNECT TO "smarmotech" USER credenciales.usuario USING credenciales.clave
IF STATUS < 0 THEN
LET p.mensajes.cod_msg=400
LET p.mensajes.descripcion = 'ERROR EN CONEXION ',SQLCA.sqlerrm
DISCONNECT CURRENT
RETURN util.JSON.stringify(p)
END IF
DISPLAY "<EMPLEADOS CEDULA:>USUARIO: ",credenciales.usuario," pass ",credenciales.clave,
" emp: ",credenciales.num_emp
LOCATE p.empleado.foto IN MEMORY
IF credenciales.cedula IS NOT NULL THEN
LET selec =
"SELECT a.num_emp,RTRIM(ISNULL(a.nom1_emp,' '))+' '+RTRIM(ISNULL(a.nom2_emp,' '))+' '+
RTRIM(ISNULL(a.apell1_emp,' '))+' '+RTRIM(ISNULL(a.apell2_emp,' ')),
RTRIM(b.nom_puesto),RTRIM(a.alias),RTRIM(c.nom_dpto),
a.foto_empleado,a.url_foto
FROM adtb00003 a INNER JOIN adtb00004 b ON b.cod_puesto = a.cod_puesto,
adtb00001 c
where c.departamento = a.departamento and
a.cedula = ? AND
(a.status_t IS NULL OR a.status_t = 'I')
ORDER BY RTRIM(ISNULL(a.nom1_emp,' '))+' '+RTRIM(ISNULL(a.nom2_emp,' '))+' '+
RTRIM(ISNULL(a.apell1_emp,' '))+' '+RTRIM(ISNULL(a.apell2_emp,' ')) "
PREPARE comando FROM selec
EXECUTE comando USING credenciales.cedula INTO p.empleado.*
IF STATUS = NOTFOUND THEN
LET p.mensajes.cod_msg=400
LET p.mensajes.descripcion = 'ERROR, CEDULA NO EXISTE EN BASE DE DATOS'
DISCONNECT CURRENT
RETURN util.JSON.stringify(p)
END IF
END IF
IF credenciales.nombre IS NOT NULL THEN
LET selec =
"SELECT a.num_emp,RTRIM(ISNULL(a.nom1_emp,' '))+' '+RTRIM(ISNULL(a.nom2_emp,' '))+' '+
RTRIM(ISNULL(a.apell1_emp,' '))+' '+RTRIM(ISNULL(a.apell2_emp,' ')),
RTRIM(b.nom_puesto),RTRIM(a.alias),
a.url_foto
FROM adtb00003 a INNER JOIN adtb00004 b ON b.cod_puesto = a.cod_puesto
where
RTRIM(a.nom1_emp) + RTRIM(a.apell1_emp) like '%'+?+'%' AND
(a.status_t IS NULL OR a.status_t = 'I')
ORDER BY RTRIM(ISNULL(a.nom1_emp,' '))+' '+RTRIM(ISNULL(a.nom2_emp,' '))+' '+
RTRIM(ISNULL(a.apell1_emp,' '))+' '+RTRIM(ISNULL(a.apell2_emp,' ')) "
PREPARE comando FROM selec
EXECUTE comando USING credenciales.nombre INTO p.empleado.*
END IF
IF credenciales.alias IS NOT NULL THEN
LET selec =
"SELECT a.num_emp,RTRIM(ISNULL(a.nom1_emp,' '))+' '+RTRIM(ISNULL(a.nom2_emp,' '))+' '+
RTRIM(ISNULL(a.apell1_emp,' '))+' '+RTRIM(ISNULL(a.apell2_emp,' ')),
RTRIM(b.nom_puesto),RTRIM(a.alias),
a.foto_empleado,a.url_foto
FROM adtb00003 a INNER JOIN adtb00004 b ON b.cod_puesto = a.cod_puesto
where
RTRIM(a.alias) like '%'+?+'%' AND
(a.status_t IS NULL OR a.status_t = 'I')
ORDER BY RTRIM(ISNULL(a.nom1_emp,' '))+' '+RTRIM(ISNULL(a.nom2_emp,' '))+' '+
RTRIM(ISNULL(a.apell1_emp,' '))+' '+RTRIM(ISNULL(a.apell2_emp,' ')) "
PREPARE comando FROM selec
EXECUTE comando USING credenciales.alias INTO p.empleado.*
END IF
IF credenciales.num_emp IS NOT NULL THEN
LET selec =
"SELECT a.num_emp,RTRIM(ISNULL(a.nom1_emp,' '))+' '+RTRIM(ISNULL(a.nom2_emp,' '))+' '+
RTRIM(ISNULL(a.apell1_emp,' '))+' '+RTRIM(ISNULL(a.apell2_emp,' ')),
RTRIM(b.nom_puesto),RTRIM(a.alias), RTRIM(c.nom_dpto),
a.foto_empleado,a.url_foto
FROM adtb00003 a INNER JOIN adtb00004 b ON b.cod_puesto = a.cod_puesto,
adtb00001 c
where c.departamento = a.departamento and
a.num_emp = ? AND
(a.status_t IS NULL OR a.status_t = 'I')
"
PREPARE comando FROM selec
EXECUTE comando USING credenciales.num_emp INTO p.empleado.*
IF STATUS = NOTFOUND THEN
LET p.mensajes.cod_msg=400
LET p.mensajes.descripcion='EMPLEADO NO EXISTE'
DISCONNECT CURRENT
RETURN util.JSON.stringify(p)
ELSE
LET p.mensajes.cod_msg=200
LET p.mensajes.descripcion='EMPLEADO EXISTE'
DISPLAY "empleado ",P.empleado.nombre
DISCONNECT CURRENT
RETURN util.JSON.stringify(p)
END IF
END IF
LET url_files = 'https://ws.marmotech.com.do/imagenessistema/nomina/'
LET tmpfile = url_folder CLIPPED,"//",p.empleado.num_emp USING "&&&&&&&&",'.JPG'
LET p.empleado.url_foto = url_files CLIPPED,p.empleado.num_emp USING "&&&&&&&&",'.JPG'
CALL p.empleado.foto.writeFile(tmpfile)
CALL comprimeImagen(tmpfile,' -resize 200x200 ')
DISCONNECT CURRENT
LET p.empleado.id='1'
LET p.mensajes.cod_msg=200
LET p.mensajes.descripcion = 'EJECUCION SATISFACTORIA'
RETURN util.JSON.stringify(p)
END FUNCTION