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 "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