- Se corrigio el codigo de la encuesta para que guarde almacen y ruta en la base de datos.

- Se puso una validacion al salir de cliente, para que si hay campos modificados y no se han guardado, mande un aviso.
This commit is contained in:
2024-02-26 15:32:40 -06:00
parent c600d9e044
commit 20fee54acb
9 changed files with 69 additions and 23 deletions

View File

@@ -340,7 +340,7 @@ Private Sub Timer2_Tick
End Sub
Sub GPS_LocationChanged (Location1 As Location)
LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red)
' LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red)
' Log($"${Tracker.FLP.GetLastKnownLocation.Latitude}, ${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
@@ -365,6 +365,17 @@ Sub GPS_LocationChanged (Location1 As Location)
End Sub
Private Sub B4XPage_CloseRequest As ResumableSub
Log(">>>>> MODIFiCADOS: " & camposModificados)
If camposModificados.Size > 0 Then
res = Msgbox2("Hay campos modificados que no se han guardado, estas seguro que desas salir?", "AVISO", "Salir sin guardar", "Regresar", "", Null) 'ignore
If res = DialogResponse.POSITIVE Then
Log("POSITIVO")
Return True
Else
Log("NEGATIVO")
Return False
End If
End If
' BACK key pressed
q.encuestaIniciada = False
q.ocultPanelPregunta
@@ -717,6 +728,10 @@ Private Sub et_diaSemana_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_DIAS_VISITA")
End Sub
Private Sub et_telefono_TextChanged (Old As String, New As String)
camposModificados.Add("CAT_CL_TELEFONO")
End Sub
Private Sub cb_diaSemana_SelectedIndexChanged (Index As Int)
camposModificados.Add("CAT_CL_DIAS_VISITA")
End Sub
@@ -727,9 +742,10 @@ Sub q_preguntaContestada(m As Map)
' If q.IsInitialized Then Log($"${q.encuestaIniciada}|${q.preguntaActual}"$)
' m.Get("panel").As(Panel).Visible = False 'Ocultamos el panel de la pregunta.
m.Get("panel").As(Panel).RemoveView 'Quitamos le panel de la pregunta
DateTime.DateFormat = "yyyyMMdd"
DateTime.DateFormat = "dd/MM/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
skmt.ExecNonQuery($"delete from CUESTIONARIO where Q_IDCLIENTE = '${Subs.traeCliente}' and Q_IDPREGUNTA = '${m.Get("idPregunta")}'"$)
skmt.ExecNonQuery($"insert into CUESTIONARIO (Q_IDCLIENTE, Q_IDPREGUNTA, Q_PREGUNTA, Q_IDRESPUESTA, Q_RESPUESTA, Q_FECHA) values ('${Subs.traeCliente}', '${m.Get("idPregunta")}', '${m.Get("pregunta")}', '${m.Get("idRespuesta")}', '${m.Get("respuesta")}', '${DateTime.Date(DateTime.now)}')"$)
skmt.ExecNonQuery($"insert into CUESTIONARIO (Q_RUTA, Q_ALMACEN, Q_IDCLIENTE, Q_IDPREGUNTA, Q_PREGUNTA, Q_IDRESPUESTA, Q_RESPUESTA, Q_FECHA) values ('${Subs.traeRuta}', '${Subs.traeAlmacen}', '${Subs.traeCliente}', '${m.Get("idPregunta")}', '${m.Get("pregunta")}', '${m.Get("idRespuesta")}', '${m.Get("respuesta")}', '${DateTime.Date(DateTime.now)} ${DateTime.time(DateTime.now)}')"$)
Select Case m.Get("idPregunta")
Case "1"
If m.Get("respuesta") = "No, está enrejado o no se tiene acceso" Then
@@ -829,4 +845,4 @@ Private Sub l_cuestionario_LongClick
skmt.ExecNonQuery($"delete from CUESTIONARIO where Q_IDCLIENTE = '${Subs.traeCliente}'"$)
B4XPage_Appear
End If
End Sub
End Sub