Files
MBS/WEBSERVICES/respuestas_ref.4gl

112 lines
4.6 KiB
Plaintext

IMPORT util
IMPORT os
IMPORT security
DEFINE j INT,
url_folder STRING,
tmpfile STRING
FUNCTION respuestas_ref(pdata)
DEFINE pdata STRING,
foto_empleado BYTE
DEFINE p RECORD
credenciales RECORD
usuario,clave VARCHAR(50)
END RECORD,
repuesta RECORD
num_emp INT,
cedula,
nombre,
id_pregunta,pregunta,referencia_pregunta,repuesta,departamento,fechaVence,motivo STRING,
conteo int
END RECORD
END RECORD,
mensajes RECORD
cod_msg INT,
descripcion STRING
END RECORD,
instString,selecString string
DISPLAY "recibido: ",pdata
CALL util.JSON.parse(pdata,p)
IF STATUS < 0 THEN
LET mensajes.cod_msg=STATUS
LET mensajes.descripcion = 'ERROR EN CONEXION ',SQLCA.sqlerrm
RETURN util.JSON.stringify(p)
END IF
DISPLAY "<RESPUESTA:>USUARIO: ",p.credenciales.usuario," pass ",p.credenciales.clave
CONNECT TO "smarmotech" USER p.credenciales.usuario USING p.credenciales.clave
IF STATUS < 0 THEN
LET mensajes.cod_msg=STATUS
LET mensajes.descripcion = 'ERROR EN CONEXION ',SQLCA.sqlerrm
DISCONNECT CURRENT
RETURN util.JSON.stringify(p)
END IF
LET selecString =
"SELECT DISTINCT a.referencia FROM encuestas.dbo.respuesta_referencias a WHERE a.cedula = ? and
a.pregunta = ? and a.referencia_pregunta =? "
PREPARE existe FROM selecString
EXECUTE existe USING p.repuesta.cedula,p.repuesta.pregunta,p.repuesta.referencia_pregunta
IF status = NOTFOUND THEN
LET instString =
"
INSERT INTO encuestas.[dbo].[respuesta_referencias]
([num_emp]
,departamento
,[cedula]
,[nombre]
,[referencia_pregunta]
,[referencia]
,[pregunta]
,[respuesta]
,[fech_crea]
, motivo
)
VALUES
(?
,?
,?
,?
,?
,?
,?
,?
,getdate()
,?)
"
PREPARE comando FROM instString
EXECUTE comando USING p.repuesta.num_emp,p.repuesta.departamento,p.repuesta.cedula,p.repuesta.nombre,
p.repuesta.referencia_pregunta,p.repuesta.id_pregunta, p.repuesta.pregunta,p.repuesta.repuesta,
p.repuesta.motivo
LET mensajes.descripcion = 'RESPUESTA ADICIONADA EXITOSAMENTE'
ELSE
LET instString =
"
UPDATE encuestas.dbo.respuesta_referencias
SET encuestas.dbo.respuesta_referencias.[respuesta] ='",p.repuesta.repuesta,"'",
",encuestas.dbo.respuesta_referencias.[fech_mod] = getdate()",
",encuestas.dbo.respuesta_referencias.motivo ='",p.repuesta.motivo CLIPPED,"' ",
" WHERE cedula = '",p.repuesta.cedula CLIPPED,"' AND referencia = '",p.repuesta.id_pregunta CLIPPED,"'",
" and encuestas.dbo.respuesta_referencias.referencia_pregunta = '", p.repuesta.referencia_pregunta CLIPPED,
"' and encuestas.dbo.respuesta_referencias.pregunta = '",P.repuesta.pregunta CLIPPED,"'"
PREPARE upcomando FROM instString
EXECUTE upcomando
LET mensajes.descripcion = 'RESPUESTA ACTUALIZADA EXITOSAMENTE'
END IF
DISCONNECT CURRENT
LET mensajes.cod_msg=200
RETURN util.JSON.stringify(mensajes)
END FUNCTION