112 lines
4.6 KiB
Plaintext
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
|