118 lines
5.1 KiB
Plaintext
118 lines
5.1 KiB
Plaintext
IMPORT util
|
|
IMPORT os
|
|
IMPORT security
|
|
DEFINE j INT,
|
|
url_folder STRING,
|
|
tmpfile STRING
|
|
FUNCTION respuestas(pdata)
|
|
|
|
DEFINE pdata STRING,
|
|
foto_empleado BYTE,
|
|
cuenta_alegre,cuenta_malo int
|
|
|
|
DEFINE p RECORD
|
|
credenciales RECORD
|
|
usuario,clave VARCHAR(50)
|
|
END RECORD,
|
|
repuesta RECORD
|
|
num_emp INT,
|
|
cedula,
|
|
nombre,
|
|
id_pregunta,pregunta,repuesta,departamento,fechaVence,motivo STRING,
|
|
conteo int
|
|
END RECORD
|
|
END RECORD,
|
|
|
|
mensajes RECORD
|
|
cod_msg INT,
|
|
descripcion STRING
|
|
END RECORD,
|
|
instString,selecString string
|
|
|
|
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
|
|
|
|
IF p.repuesta.repuesta = "1" THEN
|
|
LET selecString ="SELECT ISNULL(COUNT(*),0) FROM encuestas.dbo.respuestas a WHERE a.cedula = ? AND fechaVence = ? and a.respuesta = ?"
|
|
|
|
PREPARE C_CUENTA FROM selecString
|
|
EXECUTE c_cuenta INTO cuenta_malo USING p.repuesta.cedula,p.repuesta.fechaVence,P.repuesta.repuesta
|
|
|
|
IF cuenta_malo =2 THEN
|
|
LET mensajes.cod_msg=400
|
|
LET mensajes.descripcion = 'SOLO ES POSIBLE EVALUAR DOS COLABORADORES CON MAL SERVICIO'
|
|
DISCONNECT CURRENT
|
|
RETURN util.JSON.stringify(mensajes)
|
|
END IF
|
|
END IF
|
|
|
|
IF p.repuesta.repuesta = "10" THEN
|
|
LET selecString ="SELECT ISNULL(COUNT(*),0) FROM encuestas.dbo.respuestas a WHERE a.cedula = ? AND fechaVence = ? and a.respuesta = ?"
|
|
|
|
PREPARE C_CUENTA1 FROM selecString
|
|
EXECUTE c_cuenta1 INTO cuenta_alegre USING p.repuesta.cedula,p.repuesta.fechaVence,P.repuesta.repuesta
|
|
|
|
IF cuenta_alegre =2 THEN
|
|
LET mensajes.cod_msg=400
|
|
LET mensajes.descripcion = 'SOLO ES POSIBLE EVALUAR DOS COLABORADORES CON BUEN SERVICIO'
|
|
DISCONNECT CURRENT
|
|
RETURN util.JSON.stringify(mensajes)
|
|
END IF
|
|
END IF
|
|
LET selecString =
|
|
"SELECT DISTINCT a.fechaVence FROM encuestas.dbo.respuestas a WHERE a.cedula = ? AND fechaVence = ? AND a.num_emp = ? "
|
|
DISPLAY "datos: ",p.repuesta.cedula," ",p.repuesta.fechaVence," ",p.repuesta.num_emp
|
|
PREPARE existe FROM selecString
|
|
EXECUTE existe USING p.repuesta.cedula,p.repuesta.fechaVence,p.repuesta.num_emp
|
|
|
|
IF status = NOTFOUND THEN
|
|
LET instString =
|
|
"INSERT INTO encuestas.dbo.respuestas( cedula,created_at,nombre,num_emp,departamento,respuesta,pregunta,
|
|
id_pregunta,fechaVence,motivo )
|
|
VALUES ( ?,GETDATE(),?,?,?,?,?,?,?,? ) "
|
|
|
|
PREPARE comando FROM instString
|
|
EXECUTE comando USING p.repuesta.cedula,p.repuesta.nombre,p.repuesta.num_emp,p.repuesta.departamento,
|
|
p.repuesta.repuesta,p.repuesta.pregunta,p.repuesta.id_pregunta,
|
|
p.repuesta.fechaVence,p.repuesta.motivo
|
|
LET mensajes.descripcion = 'RESPUESTA ADICIONADA EXITOSAMENTE'
|
|
ELSE
|
|
LET instString =
|
|
"UPDATE encuestas.dbo.respuestas SET updated_at =GETDATE(),
|
|
departamento =?,
|
|
respuesta =?,
|
|
pregunta =?,
|
|
id_pregunta =?,
|
|
motivo =?
|
|
|
|
|
|
WHERE cedula = ? AND fechaVence = ? AND num_emp = ?
|
|
"
|
|
|
|
PREPARE upcomando FROM instString
|
|
EXECUTE upcomando USING p.repuesta.departamento,
|
|
p.repuesta.repuesta,p.repuesta.pregunta,p.repuesta.id_pregunta,
|
|
P.repuesta.motivo,
|
|
P.repuesta.cedula,P.repuesta.fechaVence, P.repuesta.num_emp
|
|
LET mensajes.descripcion = 'RESPUESTA ACTUALIZADA EXITOSAMENTE'
|
|
END IF
|
|
|
|
DISCONNECT CURRENT
|
|
LET mensajes.cod_msg=200
|
|
RETURN util.JSON.stringify(mensajes)
|
|
|
|
END FUNCTION
|