Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
node_crisp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
web
node_crisp
Commits
a95c431b
Commit
a95c431b
authored
Jun 03, 2021
by
Gabriel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Cambia el formato de fecha que se muestra, de USA a ARG
parent
2e8b221a
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
49 additions
and
18 deletions
+49
-18
is.js
endpoints/is.js
+2
-7
handlers.js
handlers.js
+47
-11
No files found.
endpoints/is.js
View file @
a95c431b
...
@@ -60,13 +60,8 @@ module.exports =
...
@@ -60,13 +60,8 @@ module.exports =
console
.
log
(
error
);
console
.
log
(
error
);
});
});
},
},
getTurnosDisponibles
:
async
function
(
idAgenda
,
idPersonaInstitucional
,
fecha
)
{
getTurnosDisponibles
:
async
function
(
idAgenda
,
idPersonaInstitucional
,
fechaUsa
)
{
let
year
=
fecha
.
split
(
'/'
)[
2
];
return
await
axios
.
get
(
`/turnos/turnos_disponibles?id_agenda=
${
idAgenda
}
&id_persona_institucional=
${
idPersonaInstitucional
}
&fecha=
${
fechaUsa
}
`
)
let
month
=
fecha
.
split
(
'/'
)[
1
];
let
day
=
fecha
.
split
(
'/'
)[
0
];
let
fechaUSA
=
year
+
"-"
+
month
+
"-"
+
day
;
console
.
log
(
fechaUSA
);
return
await
axios
.
get
(
`/turnos/turnos_disponibles?id_agenda=
${
idAgenda
}
&id_persona_institucional=
${
idPersonaInstitucional
}
&fecha=
${
fechaUSA
}
`
)
.
then
(
async
function
(
response
)
{
.
then
(
async
function
(
response
)
{
return
response
.
data
.
turnos
;
return
response
.
data
.
turnos
;
})
})
...
...
handlers.js
View file @
a95c431b
...
@@ -101,14 +101,40 @@ function getChoiceElegida(message){
...
@@ -101,14 +101,40 @@ function getChoiceElegida(message){
}
}
}
}
function
toFechaUsa
(
fecha
){
function
fechaArgToFechaUsa
(
fechaArg
){
let
year
=
fecha
.
split
(
'/'
)[
2
];
let
year
=
fecha
Arg
.
split
(
'/'
)[
2
];
let
month
=
fecha
.
split
(
'/'
)[
1
];
let
month
=
fecha
Arg
.
split
(
'/'
)[
1
];
let
day
=
fecha
.
split
(
'/'
)[
0
];
let
day
=
fecha
Arg
.
split
(
'/'
)[
0
];
let
fechaUSA
=
year
+
"-"
+
month
+
"-"
+
day
;
let
fechaUSA
=
year
+
"-"
+
month
+
"-"
+
day
;
return
fechaUSA
;
return
fechaUSA
;
}
}
function
fechaHoraUsaToFechaHoraArg
(
fechaHoraUsa
){
let
fechaUsa
=
fechaHoraUsa
.
split
(
" "
)[
0
];
let
horaUsa
=
fechaHoraUsa
.
split
(
" "
)[
1
];
let
year
=
fechaUsa
.
split
(
"-"
)[
0
];
let
month
=
fechaUsa
.
split
(
"-"
)[
1
];
let
day
=
fechaUsa
.
split
(
"-"
)[
2
];
let
hora
=
horaUsa
.
split
(
":"
)[
0
];
let
minuto
=
horaUsa
.
split
(
":"
)[
1
];
let
fechaHoraArg
=
`
${
day
}
/
${
month
}
/
${
year
}
${
hora
}
:
${
minuto
}
`
;
return
fechaHoraArg
;
}
function
fechaHoraArgToFechaHoraUsa
(
fechaHoraArg
){
let
fechaArg
=
fechaHoraArg
.
split
(
" "
)[
0
];
let
fechaUsa
=
fechaArgToFechaUsa
(
fechaArg
);
let
horaArg
=
fechaHoraArg
.
split
(
" "
)[
1
];
let
hora
=
horaArg
.
split
(
":"
)[
0
];
let
minuto
=
horaArg
.
split
(
":"
)[
1
];
let
fechaHoraUsa
=
`
${
fechaUsa
}
${
hora
}
:
${
minuto
}
:00`
;
return
fechaHoraUsa
;
}
module
.
exports
=
module
.
exports
=
{
{
ask_reservar_turno
:
async
function
(
message
,
userData
,
website_id
,
session_id
)
{
ask_reservar_turno
:
async
function
(
message
,
userData
,
website_id
,
session_id
)
{
...
@@ -199,22 +225,29 @@ module.exports =
...
@@ -199,22 +225,29 @@ module.exports =
await
this
.
ask_hora_turno
(
message
,
userData
,
website_id
,
session_id
);
await
this
.
ask_hora_turno
(
message
,
userData
,
website_id
,
session_id
);
},
},
ask_hora_turno
:
async
function
(
message
,
userData
,
website_id
,
session_id
){
ask_hora_turno
:
async
function
(
message
,
userData
,
website_id
,
session_id
){
let
turnos
=
await
is
.
getTurnosDisponibles
(
userData
[
ID_AGENDA
],
userData
[
ID_PERSONA_INSTITUCIONAL
],
userData
[
FECHA_TURNO
]
);
let
turnos
=
await
is
.
getTurnosDisponibles
(
userData
[
ID_AGENDA
],
userData
[
ID_PERSONA_INSTITUCIONAL
],
fechaArgToFechaUsa
(
userData
[
FECHA_TURNO
])
);
let
choices
=
[];
let
choices
=
[];
for
(
let
i
=
0
;
i
<
turnos
.
length
&&
i
<
5
;
i
++
){
for
(
let
i
=
0
;
i
<
turnos
.
length
&&
i
<
5
;
i
++
){
choices
.
push
(
utils
.
armarChoice
(
i
.
toString
(),
turnos
[
i
].
fechaHora
));
let
fechaHoraUsa
=
turnos
[
i
].
fechaHora
;
let
fechaHoraArg
=
fechaHoraUsaToFechaHoraArg
(
fechaHoraUsa
);
let
horaArg
=
fechaHoraArg
.
split
(
" "
)[
1
];
choices
.
push
(
utils
.
armarChoice
(
i
.
toString
(),
horaArg
));
}
}
//TODO: agregar 'Mostrar mas'
//TODO: agregar 'Mostrar mas'
userData
[
TURNOS_DISPONIBLES
]
=
turnos
;
userData
[
TURNOS_DISPONIBLES
]
=
turnos
;
await
crisp
.
sendPickerMessage
(
website_id
,
session_id
,
pasos
.
RESP_HORA_TURNO
,
"Seleccione un turno"
,
choices
);
let
fechaArg
=
userData
[
FECHA_TURNO
];
await
crisp
.
sendPickerMessage
(
website_id
,
session_id
,
pasos
.
RESP_HORA_TURNO
,
`Seleccione un turno para el
${
fechaArg
}
`
,
choices
);
await
crisp
.
setSiguientePaso
(
website_id
,
session_id
,
pasos
.
RESP_HORA_TURNO
,
userData
);
await
crisp
.
setSiguientePaso
(
website_id
,
session_id
,
pasos
.
RESP_HORA_TURNO
,
userData
);
},
},
resp_hora_turno
:
async
function
(
message
,
userData
,
website_id
,
session_id
){
resp_hora_turno
:
async
function
(
message
,
userData
,
website_id
,
session_id
){
let
turnoElegidoChoice
=
getChoiceElegida
(
message
);
let
turnoElegidoChoice
=
getChoiceElegida
(
message
);
let
turnosDisponibles
=
JSON
.
parse
(
userData
[
TURNOS_DISPONIBLES
])
;
let
turnosDisponibles
=
userData
[
TURNOS_DISPONIBLES
]
;
let
turno
;
let
turno
;
for
(
let
i
=
0
;
i
<
turnosDisponibles
.
length
;
i
++
){
for
(
let
i
=
0
;
i
<
turnosDisponibles
.
length
;
i
++
){
if
(
turnoElegidoChoice
.
label
===
turnosDisponibles
[
i
].
fechaHora
){
let
horaArg
=
turnoElegidoChoice
.
label
;
let
fechaHoraArg
=
`
${
userData
[
FECHA_TURNO
]}
${
horaArg
}
`
;
let
fechaHoraUsa
=
fechaHoraArgToFechaHoraUsa
(
fechaHoraArg
);
if
(
fechaHoraUsa
===
turnosDisponibles
[
i
].
fechaHora
){
turno
=
turnosDisponibles
[
i
];
turno
=
turnosDisponibles
[
i
];
}
}
}
}
...
@@ -278,11 +311,14 @@ module.exports =
...
@@ -278,11 +311,14 @@ module.exports =
return
;
return
;
}
}
let
turnoElegido
=
userData
[
TURNO_ELEGIDO
];
let
turnoElegido
=
userData
[
TURNO_ELEGIDO
];
let
resp
=
await
is
.
crearTurno
(
userData
[
TIPO_DOCUMENTO
],
userData
[
NUMERO_DOCUMENTO
],
t
oFechaUsa
(
userData
[
FECHA_NACIMIENTO
]),
let
resp
=
await
is
.
crearTurno
(
userData
[
TIPO_DOCUMENTO
],
userData
[
NUMERO_DOCUMENTO
],
fechaArgT
oFechaUsa
(
userData
[
FECHA_NACIMIENTO
]),
userData
[
SEXO
],
userData
[
CORREO
],
0
,
turnoElegido
.
horarioId
,
turnoElegido
.
fechaHora
);
userData
[
SEXO
],
userData
[
CORREO
],
0
,
turnoElegido
.
horarioId
,
turnoElegido
.
fechaHora
);
if
(
resp
.
success
===
true
){
if
(
resp
.
success
===
true
){
let
fechaHoraArg
=
fechaHoraUsaToFechaHoraArg
(
turnoElegido
.
fechaHora
);
let
fechaArg
=
fechaHoraArg
.
split
(
" "
)[
0
];
let
horaArg
=
fechaHoraArg
.
split
(
" "
)[
1
];
await
crisp
.
sendTextMessage
(
website_id
,
session_id
,
await
crisp
.
sendTextMessage
(
website_id
,
session_id
,
`Listo! El turno fue reservado para el
${
turnoElegido
.
fechaHora
}
, con
${
userData
[
NOMBRE_MEDICO
]}
`
`Listo! El turno fue reservado para el
${
fechaArg
}
a las
${
horaArg
}
, con
${
userData
[
NOMBRE_MEDICO
]}
`
);
);
if
(
resp
.
link_mercadopago
!=
null
){
if
(
resp
.
link_mercadopago
!=
null
){
await
crisp
.
sendTextMessage
(
website_id
,
session_id
,
'Haz click aquí si deseas abonar la consulta en este momento'
);
await
crisp
.
sendTextMessage
(
website_id
,
session_id
,
'Haz click aquí si deseas abonar la consulta en este momento'
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment