173 lines
6.7 KiB
Plaintext
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
|