diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index a2e93b7..266d859 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -294,6 +294,7 @@ Sub Class_Globals Private R_5 As RadioButton Private e_comm As EditText Private p_infoGral2 As Panel + dim indicePregunta as Int End Sub 'You can add more parameters here. @@ -398,6 +399,7 @@ End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. Sub B4XPage_Appear + indicePregunta = 0 b_noVenta.Enabled = False Log(kh.traeTotalCliente) If kh.traeTotalCliente = 0 Then b_noVenta.Enabled = True @@ -2128,23 +2130,36 @@ Sub Cuestionario End If If CUANTOS = 0 And CUANTOS2 = 0 Then Private enc As Cursor = Starter.skmt.ExecQuery("SELECT CAT_EP_ID, CAT_EP_IDTIPOPREGUNTA, CAT_CE_DESCRIPCION, CAT_EP_PREGUNTA, CAT_EP_RES1_PRED, CAT_EP_RES2_PRED, CAT_EP_RES3_PRED, CAT_EP_ORDEN_PREGUNTA FROM CAT_ENCUESTA_PREGUNTA ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)") - If enc.RowCount>0 Then + If enc.RowCount > 0 Then enc.position = 0 ToastMessageShow($"CAT_EP_ID=${enc.GetString("CAT_EP_ID")}"$, False) - For i=0 To enc.RowCount -1 + Private listaPreguntas As List + listaPreguntas.Initialize + For j = 0 To enc.RowCount - 1 'Ponemos en una lista los ID de las preguntas. + enc.Position = j + listaPreguntas.Add(enc.GetString("CAT_EP_ID")) + Next + enc.position = 0 + For i = 0 To enc.RowCount - 1 + Log($"ROWCOUNT: ${enc.RowCount}"$) + Log($"tipo: ${enc.GetString("CAT_EP_IDTIPOPREGUNTA")}"$) + Log($"CAT_EP_ID=${enc.GetString("CAT_EP_ID")}, CAT_EP_PREGUNTA=${enc.GetString("CAT_EP_PREGUNTA")}"$) + If indicePregunta <> 0 Then i = indicePregunta + Log("INDICEPREG: " & indicePregunta) + Log(TOMAR_FOTO) If TOMAR_FOTO = 1 Then If CURSOR_FOTO + 1 > enc.RowCount -1 Then TOMAR_FOTO = 0 Exit Else - i = CURSOR_FOTO +1 + i = CURSOR_FOTO + 1 End If 'Msgbox(i,"a") TOMAR_FOTO = 0 End If - enc.Position=i - Log($"CAT_EP_ID=${enc.GetString("CAT_EP_ID")}, CAT_EP_PREGUNTA=${enc.GetString("CAT_EP_PREGUNTA")}"$) - Dim tipoPregunta As String = enc.GetString("CAT_EP_IDTIPOPREGUNTA") + enc.Position = i + Log($"POSICION = ${enc.Position}"$) +' Dim tipoPregunta As String = enc.GetString("CAT_EP_IDTIPOPREGUNTA") ' If Logger Then Log("=================== "&tipoPregunta) ' If Logger Then Log($"Pregunta tipo: ${tipoPregunta}"$) ' Msgbox("paso1","a") @@ -2169,15 +2184,61 @@ Sub Cuestionario Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, encuestaRes,sDate & sTime,enc.GetString("CAT_EP_ID"))) ocultaPanelEncuesta ELSE IF enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 4 Then - res = Msgbox2(enc.GetString("CAT_EP_PREGUNTA"),enc.GetString("CAT_CE_DESCRIPCION"), "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore - If res = DialogResponse.POSITIVE Then - Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,enc.GetString("CAT_EP_ID"))) - Else IF res = DialogResponse.NEGATIVE Then - Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,enc.GetString("CAT_EP_ID"))) - i = enc.GetInt("CAT_EP_RES2_PRED") -2 - Else IF res = DialogResponse.CANCEL Then - i = i -1 + Log("Entramos a 4") + + botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta + l_titEncuesta.Text = enc.GetString("CAT_CE_DESCRIPCION") + l_txtEncuesta.Text = enc.GetString("CAT_EP_PREGUNTA") + Subs.centraEtiqueta(l_txtEncuesta, Root.Width) + muestraBoton(b_encuesta_1,"SI", centroPantalla-350, 580, 300, 160) + muestraBoton(b_encuesta_2, "NO", centroPantalla+50, 580, 300, 160) + muestraEncuesta + Do Until botonPresionado = 1 'Esperamos que respondan la pregunta + Sleep(0) + Loop + Log("ENCUESTARES: " & encuestaRes) + If encuestaRes = "SI" Then + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI", sDate & sTime, enc.GetString("CAT_EP_ID"))) + indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES1_PRED")) + Log($"IndicePreg = ${indicePregunta}"$) + i = indicePregunta + else if encuestaRes = "NO" Then + Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO", sDate & sTime, enc.GetString("CAT_EP_ID"))) + indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES2_PRED")) + Log($"IndicePreg = ${indicePregunta}"$) + i = indicePregunta + Log($"I = ${i}"$) End If + If i = enc.RowCount - 1 Then + i = i - 1 + End If + +' res = Msgbox2(enc.GetString("CAT_EP_PREGUNTA"),enc.GetString("CAT_CE_DESCRIPCION"), "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore +' If res = DialogResponse.POSITIVE Then +' Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "SI",sDate & sTime,enc.GetString("CAT_EP_ID"))) +' Log($"POSITIVO: ${enc.GetString("CAT_EP_RES1_PRED")}"$) +' Log($"${listaPreguntas} - ${listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES1_PRED"))}"$) +' indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES1_PRED")) +' Log($"IndicePreg = ${indicePregunta}"$) +' i = indicePregunta +' If i = enc.RowCount - 1 Then +' i = i - 1 +' End If +' Log($"I = ${i}"$) +' Else IF res = DialogResponse.NEGATIVE Then +' Log($"NEGATIVO: ${enc.GetString("CAT_EP_RES2_PRED")}"$) +' Starter.skmt.ExecNonQuery2("insert into HIST_ENCUESTA(HE_CLIE, HE_RES, HE_FECHA, HE_TIPO) VALUES (?,?,?,?)", Array As Object(la_cuenta.Text, "NO",sDate & sTime,enc.GetString("CAT_EP_ID"))) +'' i = enc.GetInt("CAT_EP_RES2_PRED") - 2 +' Log($"i -> ${enc.GetInt("CAT_EP_RES2_PRED")} - 2 = ${i} "$) +' Log($"${listaPreguntas} -> ${listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES2_PRED"))}"$) +' indicePregunta = listaPreguntas.IndexOf(enc.GetString("CAT_EP_RES2_PRED")) +' Log($"IndicePreg = ${indicePregunta}"$) +' i = indicePregunta +' Log($"I = ${i}"$) +' Else IF res = DialogResponse.CANCEL Then +' Log("CANCEL") +' i = i - 1 +' End If ' Msgbox("paso3","a") ELSE If enc.GetString("CAT_EP_IDTIPOPREGUNTA") = 2 Then ' Tipo 3 opciones. botonPresionado = 0 ' Bandera para que espere a que se conteste la pregunta. diff --git a/B4A/KelloggsV4.b4a b/B4A/KelloggsV4.b4a index 5b4ada1..27573d2 100644 --- a/B4A/KelloggsV4.b4a +++ b/B4A/KelloggsV4.b4a @@ -869,7 +869,7 @@ Version=12.8 #Region Project Attributes #ApplicationLabel: Kelloggs Venta #VersionCode: 3000 - #VersionName: 4.03.03 + #VersionName: 4.03.04 #SupportedOrientations: portrait #CanInstallToExternalStorage: False #BridgeLogger:true diff --git a/B4A/KelloggsV4.b4a.meta b/B4A/KelloggsV4.b4a.meta index d0d380a..046240e 100644 --- a/B4A/KelloggsV4.b4a.meta +++ b/B4A/KelloggsV4.b4a.meta @@ -88,6 +88,6 @@ ModuleClosedNodes6= ModuleClosedNodes7=3,11,12 ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Promos,agregaFijosALista,182,0,Subs,traePromo,982,0,Subs,restaFijosPromo,1093,0,Main,Activity_Create,27,0,Main,Process_Globals,22,0,Main,Globals,24,0,Visual Designer,promociones.bal,-100,6,Subs,fechaKMT2Ticks,515,0,C_Promos,et_promoCant_TextChanged,516,6,C_Promos,b_continuar_Click,509,0,C_Cliente,Cuestionario,2165,1 +NavigationStack=C_Cliente,centroPantalla,3650,0,Main,Process_Globals,22,0,Main,Globals,24,0,Visual Designer,promociones.bal,-100,6,Subs,fechaKMT2Ticks,515,0,C_Promos,et_promoCant_TextChanged,516,6,C_Promos,b_continuar_Click,509,0,C_Cliente,Class_Globals,290,4,C_Cliente,b_encuesta_continuar_Click,3681,0,C_Cliente,Cuestionario,2199,6,C_Cliente,b_encuesta_1_Click,3659,0 SelectedBuild=0 VisibleModules=1,27,11,3,12,4,28,13,23,2