-VERSION 5.01.27

- Se corrigio que cuando revisaba si el cliente ya haba cntestado la encuesta, en lugar de revisar HIST_ENCUESTA3, estaba revisando HIST_ENCUESTA y por eso siemrpe manbdaba la encuesta.
- Se agregó que se descarguen las rutas para las encuestas (CAT_ENCUESTA_PREGUNTA/CAT_EP_RUTAS), para que solo muestra las encuestas en las rutas especificadas y se modificó el query que trae los datos (antes se traian las preguntas con un like '%x%' y mosraba la encuesta en rutas que no debia)
This commit is contained in:
Jose Alberto Guerra Ugalde
2025-01-28 20:19:46 -06:00
parent a3c014e8ec
commit e72dabb069
9 changed files with 74 additions and 42 deletions

16
.gitattributes vendored Normal file
View File

@@ -0,0 +1,16 @@
# Auto detect text files and perform LF normalization
* text=auto
# linguist-language
*.b4a linguist-language=B4X
*.b4i linguist-language=B4X
*.b4j linguist-language=B4X
*.b4r linguist-language=B4X
*.bas linguist-language=B4X
# linguist-detectable
*.b4a linguist-detectable=true
*.b4i linguist-detectable=true
*.b4j linguist-detectable=true
*.b4r linguist-detectable=true
*.bas linguist-detectable=true

View File

@@ -167,6 +167,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_CLASF_PROD (CAT_CP_ID TEXT, CAT_CP_NOMPROD TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS BANDERA_RMI (BR_BANDERA INT)")
Subs.agregaColumna("CAT_ENCUESTA_PREGUNTA", "CAT_EP_IDGRUPO", "TEXT")
Subs.agregaColumna("CAT_ENCUESTA_PREGUNTA", "CAT_EP_RUTAS", "TEXT")
Subs.agregaColumna("HIST_ENCUESTA", "HE_LAT", "TEXT")
Subs.agregaColumna("HIST_ENCUESTA", "HE_LON", "TEXT")
c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("SERVER"))

View File

@@ -413,7 +413,7 @@ End Sub
Sub gest_Click
Log("GEST CLIC")
' Log($"${cuest.encuestaIniciada} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$)
Log($"${cuest.encuestaIniciada} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$)
' If Not(cuest.encuestaIniciada) And Not(cuest.clienteConCuestionario(Subs.traeCliente)) Then
' cuest.agregaPregunta("1", "¿Se puede acceder al negocio o está enrejado?", Array As String("No, está enrejado o no se tiene acceso", "Si se pude acceder"))
' Return False
@@ -1248,10 +1248,13 @@ End Sub
Sub B_VENTA_Click
' Log($"${cuest.encuestaIniciada} - ${cuest.clienteConCuestionario(Subs.traeCliente)}"$)
If Not(cuest.encuestaIniciada) And Not(cuest.clienteConCuestionario(Subs.traeCliente)) Then
cuest.agregaPregunta("1", "¿Se puede acceder al negocio o está enrejado?", Array As String("No, está enrejado o no se tiene acceso", "Si se pude acceder"))
Return False
End If
' If Not(cuest.encuestaIniciada) And Not(cuest.clienteConCuestionario(Subs.traeCliente)) Then
' cuest.agregaPregunta("1", "¿Se puede acceder al negocio o está enrejado?", Array As String("No, está enrejado o no se tiene acceso", "Si se pude acceder"))
' Return False
' End If
' If la_cuenta.Text <> "0" Then
' Dim queenc As String
' ' 1=1 ----> si no esta en el historico que se descargue del web ver si esta contestada de manera local
@@ -1844,6 +1847,24 @@ End Sub
Sub Cuestionario
Log("########################################################")
Log("Entramos a Cuestionario")
Private gruposPermitidos As String = ""
Private gr As ResultSet = Starter.skmt.ExecQuery($"select distinct cat_ep_idgrupo, cat_ep_rutas from cat_encuesta_pregunta"$) 'Traemos el grupo y lista de rutas permitidas para la encuesta
Do While gr.NextRow
Private lasRutas() As String = Regex.Split(",", gr.GetString("CAT_EP_RUTAS")) ' Generamos lista de rutas y por cada una de ellas revisamos si es permitida y si SI, agregamos el grupo a una otra lista.
For i = 0 To lasRutas.Length - 1
If lasRutas(i) = Subs.traeRuta Then
gruposPermitidos = $"${gruposPermitidos},"${gr.GetString("CAT_EP_IDGRUPO")}""$
End If
Next
Loop
If gruposPermitidos.StartsWith(",") Then gruposPermitidos = gruposPermitidos.SubString(1) ' Si la lista de grupos inicia con ",", la quitamos.
' Log("--------------------------------")
' Log(gruposPermitidos)
' Log("--------------------------------")
Log(gr.GetString("CAT_EP_RUTAS"))
' 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 where CAT_EP_IDGRUPO in(${gruposPermitidos}) ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)"$)
' Log(enc.RowCount)
gr.Close
Private logger As Boolean = True
b_encuesta_continuar.Visible = False
et_encuesta.Visible = False
@@ -1855,14 +1876,15 @@ Sub Cuestionario
CUANTOS = 0
If logger Then Log($"Tomar_Foto = ${TOMAR_FOTO}"$)
If TOMAR_FOTO = 0 Then
s = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_ENCUESTA where HE_CLIE In (Select cuenta from cuentaa)")
s = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_ENCUESTA3 where HE_CLIE In (Select cuenta from cuentaa)")
s.Position= 0
CUANTOS = s.GetString("CUANTOS")
Private CUANTOS2 As Int = 0
End If
If logger Then Log(CUANTOS & "|" & CUANTOS2)
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)")
' 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)")
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 where CAT_EP_IDGRUPO in(${gruposPermitidos}) ORDER BY CAT_CE_DESCRIPCION, CAST(CAT_EP_ORDEN_PREGUNTA AS DECIMAL)"$)
If enc.RowCount > 0 Then
enc.position = 0
If logger Then Log($"CAT_EP_ID=${enc.GetString("CAT_EP_ID")}"$)

View File

@@ -162,7 +162,6 @@ Sub Class_Globals
Private l_montoColgateResumen As Label
Private l_nes_humedos As Label
Private l_nes_secos As Label
Private l_conagra As Label
End Sub
Sub initialize
@@ -873,6 +872,7 @@ Sub cargar_Click
skmt.ExecNonQuery("delete from HIST_EXIBIDORES")
skmt.ExecNonQuery("delete from CAT_EXHIBIDORES")
skmt.ExecNonQuery("delete from CAT_ENCUESTA_PREGUNTA")
skmt.ExecNonQuery("delete from HIST_ENCUESTA3")
c=skmt.ExecQuery("select usuario from usuarioa")
c.Position = 0
@@ -1026,8 +1026,8 @@ Sub cargar_Click
reqManager.ExecuteQuery(cmd , 0, "sucursal")
cmd.Initialize
cmd.Name = "select_cat_encuesta_p_DUR"
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
cmd.Name = "select_cat_encuesta2_p_DUR"
cmd.Parameters = Array As Object( ALMACEN )
reqManager.ExecuteQuery(cmd , 0, "carga_encuesta")
' c=skmt.ExecQuery("select HIST_VI_CREDITO, HIST_VI_PRODUCTO,HIST_VI_VISITADOR, HIST_VI_RESULTADO, HIST_VI_CODIGO, HIST_VI_PARENTESCO, HIST_VI_COMENTARIO, HIST_VI_DTEVISITA, HIST_VI_LONGITUD, HIST_VI_LATITUD, hist_vi_imagen, hist_vi_dprom, hist_vi_mprom from HIST_VISITAS")
@@ -1091,7 +1091,7 @@ Sub JobDone(Job As HttpJob)
End If
End If
Else
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Magenta) 'Mod por CHV - 211027
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
@@ -1666,7 +1666,8 @@ Sub JobDone(Job As HttpJob)
Dim CAT_EP_RES2_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES2_PRED"))
Dim CAT_EP_RES3_PRED As String = records(RESULT.COLUMNS.GET("CAT_EP_RES3_PRED"))
Dim CAT_EP_ORDEN_PREGUNTA As String = records(RESULT.COLUMNS.GET("CAT_EP_ORDEN_PREGUNTA"))
skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_PREGUNTA (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,CAT_EP_IDGRUPO) VALUES (?,?,?,?,?,?,?,?,?)", Array As Object (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,CAT_EP_IDGRUPO))
Dim CAT_EP_RUTAS As String = records(RESULT.COLUMNS.GET("CAT_EP_RUTAS"))
skmt.ExecNonQuery2("INSERT INTO CAT_ENCUESTA_PREGUNTA (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,CAT_EP_IDGRUPO,CAT_EP_RUTAS) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object (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,CAT_EP_IDGRUPO,CAT_EP_RUTAS))
Next
End If
End If
@@ -2387,16 +2388,6 @@ Sub Resumen_Click
Loop
l_nes_secos.Text = NumberFormat2(cRes3, 1, 2, 2, True)
Private r9 As ResultSet = Starter.skmt.ExecQuery($"SELECT CAT_GP_CLASIF, PEDIDO.* FROM PEDIDO JOIN CAT_GUNAPROD WHERE CAT_GP_CLASIF LIKE '%CONAGRA%' AND PE_PROID = CAT_GP_ID"$)
Private cRes4 As String = 0
Do While r9.NextRow
cRes4 = cRes4 + r9.GetString("PE_COSTO_TOT")
Loop
l_conagra.Text = NumberFormat2(cRes4, 1, 2, 2, True)
b=skmt.ExecQuery("Select count(*) as CUANTOS from pedido_cliente where pc_cliente <> 0")
b.Position=0
Cuantos = b.GetString("CUANTOS")

View File

@@ -1342,7 +1342,7 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
Else
Log("NO HAY RESULTSET")
' Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$)
Dim p As ResultSet = Starter.skmt.ExecQuery($"Select distinct ${Subs.traeTablaProds(Starter.tipov)}.CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, LISTA_PRECIOS.CAT_GP_ID as precioAlt, CAT_GP_CLASIF from ${Subs.traeTablaProds(Starter.tipov)} left join LISTA_PRECIOS on LISTA_PRECIOS.CAT_GP_ID = ${Subs.traeTablaProds(Starter.tipov)}.CAT_GP_ID where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_CLASIF, CAT_GP_NOMBRE"$)
Dim p As ResultSet = Starter.skmt.ExecQuery($"Select distinct ${Subs.traeTablaProds(Starter.tipov)}.CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, LISTA_PRECIOS.CAT_GP_ID as precioAlt from ${Subs.traeTablaProds(Starter.tipov)} left join LISTA_PRECIOS on LISTA_PRECIOS.CAT_GP_ID = ${Subs.traeTablaProds(Starter.tipov)}.CAT_GP_ID where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$)
Log("|" & Starter.tipov & "|")
Log($"Select distinct ${Subs.traeTablaProds(Starter.tipov)}.CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, LISTA_PRECIOS.CAT_GP_ID as precioAlt from ${Subs.traeTablaProds(Starter.tipov)} left join LISTA_PRECIOS on LISTA_PRECIOS.CAT_GP_ID = ${Subs.traeTablaProds(Starter.tipov)}.CAT_GP_ID where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$)
End If

View File

@@ -572,20 +572,20 @@ File611=celltitle.bal
File612=Cliente.bal
File613=Clientes.bal
File614=colgate.png
File615=conagra.jpg
File616=detalle_promo.bal
File617=durakelo.png
File618=durakelo_192x192.png
File619=durakelo1.png
File615=detalle_promo.bal
File616=durakelo.png
File617=durakelo_192x192.png
File618=durakelo1.png
File619=encuesta.bal
File62=117marker-verde.png
File620=encuesta.bal
File621=engrane.jpg
File622=engrane3.png
File623=espera.gif
File624=fondo_kmt.jpg
File625=foto.bal
File626=guardagestion.bal
File627=guna_viejo.png
File620=engrane.jpg
File621=engrane3.png
File622=espera.gif
File623=fondo_kmt.jpg
File624=foto.bal
File625=guardagestion.bal
File626=guna_viejo.png
File627=historico.bal
File628=infonavit1.jpg
File629=itembuttonblue.png
File63=118.png
@@ -1404,7 +1404,7 @@ Version=12.8
#Region Project Attributes
#ApplicationLabel: Durakelo
#VersionCode: 1
#VersionName: 4.09.06
#VersionName: 5.01.27
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False

View File

@@ -50,7 +50,7 @@ ModuleBreakpoints8=
ModuleBreakpoints9=
ModuleClosedNodes0=
ModuleClosedNodes1=
ModuleClosedNodes10=
ModuleClosedNodes10=1
ModuleClosedNodes11=7,35,36,41,42
ModuleClosedNodes12=
ModuleClosedNodes13=
@@ -60,7 +60,7 @@ ModuleClosedNodes16=
ModuleClosedNodes17=
ModuleClosedNodes18=
ModuleClosedNodes19=
ModuleClosedNodes2=2
ModuleClosedNodes2=2,5
ModuleClosedNodes20=
ModuleClosedNodes21=
ModuleClosedNodes22=1
@@ -73,6 +73,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=B4XMainPage,Class_Globals,94,0,C_Productos,Class_Globals,0,0,C_Productos,B4XPage_Appear,265,0,C_Productos,Busca_TextChanged,1299,0,C_Productos,LlenaProdsLL,1338,1,Diseñador Visual,principal.bal,-100,6,B4XMainPage,Initialize,101,0,C_Principal,Class_Globals,158,0,C_Principal,Resumen_Click,2384,2,C_Cliente,Class_Globals,0,0,C_Cliente,gest_Click,407,0
NavigationStack=B4XMainPage,B4XPage_Created,163,0,Main,Activity_Create,30,0,Main,Process_Globals,21,0,Main,Globals,23,0,C_Principal,Subir_Click,632,0,C_Cliente,gest_Click,481,0,C_Principal,cargar_Click,896,6,C_Principal,JobDone,1248,4,C_Cliente,Class_Globals,0,0,C_Cliente,Cuestionario,1857,6
SelectedBuild=0
VisibleModules=2,10,4,19,5,6,8,9,11,24
VisibleModules=2,10,4,19,6,8,9,11,24,23

Binary file not shown.

View File

@@ -980,9 +980,11 @@ Sub traeMaxPromos(pm As Map) As Int
' End If
If thisLog Then LogColor("==== HISTORICO:"&pm.Get("historico"), Colors.Red)
If thisLog Then Log(pm)
Log(maxPromos)
If pm.Get("historico") = "1" Then maxPromos.Add(pm.Get("maxRecurrente")) 'Si hay historico, agregamos maxRecurrente
maxPromos.Add(pm.Get("maxPromos")) 'Agregamos maxPromos
maxPromos.Add(pm.Get("maxXcliente")) 'Agregamos maxXcliente
Log(maxPromos)
If hccp.RowCount > 0 Then 'Agregamos promos HCCP
hccp.Position = 0
maxPromos.Add(hccp.GetString("HCCP_CANT"))