- VERSION 5.04.17

- Se agregó que se descargue de CAT_GUNAPROD la columna CAT_GP_PROMOCION, que tiene la informacion de si el producto solo aparece en promociones y NO en el catalogo de productos.
- Se cambio el valor de la columna CAT_VE_VERSION de CAT_VERSION, para que refleje el número de la version "minima" permitida para la aplicación.
- Se agregó la funcion Subs.comparaVersiones que sirve para comparar la version minima contra la version actual.
- Se agregó codigo en B4X_Appear para que traiga la version minima desde CAT_VERSION.
- Se modifco el query "select_version_KELL" en el config.properties para que regrese la version y la columna "FORZAR", que representa si es necesario forzar la actualizacion de la aplicacion o no (todavia no hay codigo para forzar la actualizacion o detener la aplicación.)
This commit is contained in:
2025-04-18 18:54:10 -06:00
parent f4ef7e90d0
commit ce2759012a
8 changed files with 172 additions and 31 deletions

View File

@@ -157,6 +157,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD_DOE (CAT_GP_ID TEXT,CAT_GP_NOMBRE TEXT,CAT_GP_IMP1 TEXT,CAT_GP_IMP2 TEXT,CAT_GP_PRECIO TEXT,CAT_GP_CLASIF TEXT,CAT_GP_STS TEXT,CAT_GP_TIPO TEXT,CAT_GP_SUBTIPO TEXT,CAT_GP_IMG TEXT,CAT_GP_ALMACEN TEXT,CAT_GP_TIPOPROD TEXT,CAT_GP_INICIATIVA TEXT,CAT_GP_DEV TEXT,CAT_GP_CODPROMO TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD_DOE (CAT_GP_ID TEXT,CAT_GP_NOMBRE TEXT,CAT_GP_IMP1 TEXT,CAT_GP_IMP2 TEXT,CAT_GP_PRECIO TEXT,CAT_GP_CLASIF TEXT,CAT_GP_STS TEXT,CAT_GP_TIPO TEXT,CAT_GP_SUBTIPO TEXT,CAT_GP_IMG TEXT,CAT_GP_ALMACEN TEXT,CAT_GP_TIPOPROD TEXT,CAT_GP_INICIATIVA TEXT,CAT_GP_DEV TEXT,CAT_GP_CODPROMO TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDO_DOE (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_RUTA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_CLIENTE TEXT,PE_FECHA TEXT,PE_USUARIO TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDO_DOE (PE_PRECIO2 TEXT,PE_TIPO TEXT,PE_FOLIO NUMERIC,PE_DESC NUMERIC,PE_COSTO_SIN TEXT,PE_RUTA TEXT,PE_CEDIS TEXT,PE_COSTO_TOT NUMERIC,PE_COSTOU NUMERIC,PE_CANT NUMERIC,PE_PRONOMBRE TEXT,PE_PROID TEXT,PE_CLIENTE TEXT,PE_FECHA TEXT,PE_USUARIO TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDOS_DOE_ENTREGA (PC_CLIENTE TEXT, PC_ENTREGA TEXT)") Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PEDIDOS_DOE_ENTREGA (PC_CLIENTE TEXT, PC_ENTREGA TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_TRADE_SPENDING_SEMANAL (HIST_TSS_RUTA TEXT, HIST_TSS_IDALMACEN TEXT, HIST_TSS_TIPO TEXT, HIST_TSS_SEMANA1 TEXT, HIST_TSS_SEMANA1_ACUM TEXT, HIST_TSS_SEMANA2 TEXT, HIST_TSS_SEMANA2_ACUM TEXT, HIST_TSS_SEMANA3 TEXT, HIST_TSS_SEMANA3_ACUM TEXT, HIST_TSS_SEMANA4 TEXT, HIST_TSS_SEMANA4_ACUM TEXT, HIST_TSS_SEMANA5 TEXT, HIST_TSS_SEMANA5_ACUM TEXT, HIST_TSS_SEMANA6 TEXT, HIST_TSS_SEMANA6_ACUM TEXT, HIST_TSS_GRUPO TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS TRADE_SPENDING (MONTO_SEMANA TEXT, ACUMULADO TEXT)")
''' FIN DOE ''' FIN DOE
kh.agregaColumna(Starter.skmt, "kmt_info", "IMPRESION", "INTEGER") kh.agregaColumna(Starter.skmt, "kmt_info", "IMPRESION", "INTEGER")
kh.agregaColumna(Starter.skmt, "USUARIOA", "FECHA", "TEXT") kh.agregaColumna(Starter.skmt, "USUARIOA", "FECHA", "TEXT")
@@ -166,6 +168,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
kh.agregaColumna(Starter.skmt, "PROMOS_COMP", "CAT_PA_TIPO_PROMONTO", "TEXT") kh.agregaColumna(Starter.skmt, "PROMOS_COMP", "CAT_PA_TIPO_PROMONTO", "TEXT")
kh.agregaColumna(Starter.skmt, "CAT_GUNAPROD", "CAT_GP_TIPOPROD2", "TEXT") kh.agregaColumna(Starter.skmt, "CAT_GUNAPROD", "CAT_GP_TIPOPROD2", "TEXT")
kh.agregaColumna(Starter.skmt, "CAT_GUNAPROD2", "CAT_GP_TIPOPROD2", "TEXT") kh.agregaColumna(Starter.skmt, "CAT_GUNAPROD2", "CAT_GP_TIPOPROD2", "TEXT")
kh.agregaColumna(Starter.skmt, "CAT_GUNAPROD", "CAT_GP_PROMOCION", "TEXT")
kh.agregaColumna(Starter.skmt, "CAT_GUNAPROD2", "CAT_GP_PROMOCION", "TEXT")
Root = Root1 Root = Root1
' Root.LoadLayout("MainPage") ' Root.LoadLayout("MainPage")
Root.LoadLayout("login") Root.LoadLayout("login")
@@ -423,19 +427,19 @@ Sub B4XPage_Appear
If c.GetString("CUANTOS") = 0 Then If c.GetString("CUANTOS") = 0 Then
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0")) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP","0"))
End If End If
D = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version") ' D = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version")
D.Position = 0 ' D.Position = 0
If D.GetString("CUANTOS") > 0 Then ' If D.GetString("CUANTOS") > 0 Then
c = Starter.skmt.ExecQuery("select NOVERSION from version") ' c = Starter.skmt.ExecQuery("select NOVERSION from version")
c.Position = 0 ' c.Position = 0
If c.GetString("NOVERSION") = "2.1" Then ' If c.GetString("NOVERSION") = "2.1" Then
Starter.skmt.ExecNonQuery("delete from VERSION") ' Starter.skmt.ExecNonQuery("delete from VERSION")
End If ' End If
c.Close ' c.Close
End If ' End If
D.Close ' D.Close
D = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version") ' D = Starter.skmt.ExecQuery("select COUNT(*) AS CUANTOS from version")
D.Position = 0 ' D.Position = 0
' If D.GetString("CUANTOS") > 0 Then ' If D.GetString("CUANTOS") > 0 Then
' c = Starter.skmt.ExecQuery("select NOVERSION from version") ' c = Starter.skmt.ExecQuery("select NOVERSION from version")
' c.Position = 0 ' c.Position = 0
@@ -687,7 +691,7 @@ Sub i_engranes_Click
cmd.Name = "selectBypass" ' Trae la contraseña desde la tabla "BYPASS" en web. (La ultima es KMT2025) cmd.Name = "selectBypass" ' Trae la contraseña desde la tabla "BYPASS" en web. (La ultima es KMT2025)
cmd.Parameters = Array As Object(user.Text.Trim) cmd.Parameters = Array As Object(user.Text.Trim)
reqManager.ExecuteQuery(cmd , 0, "bypass") reqManager.ExecuteQuery(cmd , 0, "bypass")
Log($"${Starter.DBReqServer}, ${user.Text}, ${Subs.traeAlmacen}, ${Subs.traeRuta}"$) ' Log($"${Starter.DBReqServer}, ${user.Text}, ${Subs.traeAlmacen}, ${Subs.traeRuta}"$)
End Sub End Sub
Private Sub i_engranes_LongClick Private Sub i_engranes_LongClick

View File

@@ -246,17 +246,17 @@ Private Sub B4XPage_Created (Root1 As B4XView)
f = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info limit 1") f = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info limit 1")
l_ruta.Text = "-" l_ruta.Text = "-"
If f.RowCount > 0 Then If f.RowCount > 0 Then
Log(1) ' Log(1)
f.Position = 0 f.Position = 0
Log($"Ruta desde BD: ${f.GetString("CAT_CL_RUTA")}"$) ' Log($"Ruta desde BD: ${f.GetString("CAT_CL_RUTA")}"$)
l_ruta.Text = f.GetString("CAT_CL_RUTA") l_ruta.Text = f.GetString("CAT_CL_RUTA")
End If End If
f.Close f.Close
If l_ruta.Text = "-" Then If l_ruta.Text = "-" Then
Log(2) ' Log(2)
l_ruta.Text = "-" l_ruta.Text = "-"
Else Else
Log(3) ' Log(3)
f = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info") f = Starter.skmt.ExecQuery("select CAT_CL_RUTA from kmt_info")
f.Position = 0 f.Position = 0
l_ruta.Text = f.GetString("CAT_CL_RUTA") l_ruta.Text = f.GetString("CAT_CL_RUTA")
@@ -328,10 +328,17 @@ Sub B4XPage_Appear
' StartActivity(In) ' StartActivity(In)
' End If ' End If
' End If ' End If
If Subs.traeUltimaActividadBD <> "principal" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD) If Subs.traeUltimaActividadBD <> "principal" Then Subs.iniciaActividad(Subs.traeUltimaActividadBD)
borraClientesNuevosSinVenta borraClientesNuevosSinVenta
reqManager.Initialize(Me, Starter.DBReqServer) reqManager.Initialize(Me, Starter.DBReqServer)
Log($"DBREQSERVER = ${Starter.DBReqServer}"$) Log($"DBREQSERVER = ${Starter.DBReqServer}"$)
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_version_KELL"
reqManager.ExecuteQuery(cmd , 0, "version")
' If Not(btAdmin.IsEnabled) Then btAdmin.Enable 'Si no esta prendido el BT, lo prendemos. ' If Not(btAdmin.IsEnabled) Then btAdmin.Enable 'Si no esta prendido el BT, lo prendemos.
e_ruta.Enabled = True e_ruta.Enabled = True
@@ -848,6 +855,18 @@ Sub cargar_Click
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN) cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
reqManager.ExecuteQuery(cmd , 0, "promo_monto") reqManager.ExecuteQuery(cmd , 0, "promo_monto")
cmd.Initialize
cmd.Name = "traeNumSemanaActualCalendarioLaboral"
cmd.Parameters = Array As Object( e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN )
reqManager.ExecuteQuery(cmd , 0, "semanaCalLaboral")
cmd.Initialize
cmd.Name = "traeInfoTradeSpending"
' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
cmd.Parameters = Array As Object(238, 2)
reqManager.ExecuteQuery(cmd , 0, "tradeSpending")
LogColor($"Trade Spending: Ruta: ${e_ruta.text}, almacen: ${ALMACEN}"$, Colors.red)
If E_RUTA2.Text <> "" Then If E_RUTA2.Text <> "" Then
cmd.Initialize cmd.Initialize
cmd.Name = "select_cat_clientes_guna_KELL2" cmd.Name = "select_cat_clientes_guna_KELL2"
@@ -1273,9 +1292,10 @@ Sub JobDone(Job As HttpJob)
Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA")) Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA"))
Dim CAT_GP_TIPOPROD2 As String = records(RESULT.Columns.Get("CAT_GP_TIPOPROD2")) Dim CAT_GP_TIPOPROD2 As String = records(RESULT.Columns.Get("CAT_GP_TIPOPROD2"))
Dim CAT_GP_PROMOCION As String = records(RESULT.Columns.Get("CAT_GP_PROMOCION"))
'CAT_GP_INICIATIVA = 5 'CAT_GP_INICIATIVA = 5
' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO,CAT_GP_TIPOPROD2) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV, CAT_GP_TIPOPROD2)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_GP_DEV,CAT_GP_CODPROMO,CAT_GP_TIPOPROD2,CAT_GP_PROMOCION) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_GP_DEV, CAT_GP_TIPOPROD2,CAT_GP_PROMOCION))
Next Next
Starter.skmt.TransactionSuccessful Starter.skmt.TransactionSuccessful
Starter.skmt.EndTransaction Starter.skmt.EndTransaction
@@ -1712,9 +1732,11 @@ Sub JobDone(Job As HttpJob)
Dim RESULT As DBResult = reqManager.HandleJob(Job) Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "version" Then 'query tag If RESULT.Tag = "version" Then 'query tag
connecta.TextColor = Colors.White connecta.TextColor = Colors.White
' Subs.logJobDoneResultados(RESULT)
For Each records() As Object In RESULT.Rows For Each records() As Object In RESULT.Rows
Starter.skmt.ExecNonQuery("delete from VERSION") Starter.skmt.ExecNonQuery("delete from VERSION")
Dim CAT_VE_VERSION As String = records(RESULT.Columns.Get("CAT_VE_VERSION")) Dim CAT_VE_VERSION As String = records(RESULT.Columns.Get("CAT_VE_VERSION"))
Log(">>>>>>> Version minima: " & CAT_VE_VERSION & " - Actual: " & Application.VersionName & " --> " & Subs.comparaVersiones(CAT_VE_VERSION, Application.VersionName))
Starter.skmt.ExecNonQuery("delete from VERSION") Starter.skmt.ExecNonQuery("delete from VERSION")
Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION)) Starter.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION))
Next Next
@@ -2081,6 +2103,39 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RMI (CAT_ID, CAT_DESCRIPCION, CAT_MONTO) VALUES (?,?,?)", Array As Object (CAT_ID, CAT_DESCRIPCION, CAT_MONTO)) Starter.skmt.ExecNonQuery2("INSERT INTO CAT_RMI (CAT_ID, CAT_DESCRIPCION, CAT_MONTO) VALUES (?,?,?)", Array As Object (CAT_ID, CAT_DESCRIPCION, CAT_MONTO))
Next Next
End If End If
If RESULT.Tag = "semanaCalLaboral" Then 'query tag
' Subs.logJobDoneResultados(RESULT)
For Each records() As Object In RESULT.Rows
Dim SEMANA As String = records(RESULT.COLUMNS.GET("SEMANA_RELATIVA"))
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("SEM_CAL_LABORAL"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("SEM_CAL_LABORAL", SEMANA))
Next
End If
If RESULT.Tag = "tradeSpending" Then 'query tag
' Subs.logJobDoneResultados(RESULT)
Starter.skmt.ExecNonQuery("delete from HIST_TRADE_SPENDING_SEMANAL")
For Each records() As Object In RESULT.Rows
Dim HIST_TSS_RUTA As String = records(RESULT.COLUMNS.GET("HIST_TSS_RUTA"))
Dim HIST_TSS_IDALMACEN As String = records(RESULT.COLUMNS.GET("HIST_TSS_IDALMACEN"))
Dim HIST_TSS_TIPO As String = records(RESULT.COLUMNS.GET("HIST_TSS_TIPO"))
Dim HIST_TSS_SEMANA1 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA1"))
Dim HIST_TSS_SEMANA1_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA1_ACUM"))
Dim HIST_TSS_SEMANA2 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA2"))
Dim HIST_TSS_SEMANA2_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA2_ACUM"))
Dim HIST_TSS_SEMANA3 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA3"))
Dim HIST_TSS_SEMANA3_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA3_ACUM"))
Dim HIST_TSS_SEMANA4 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA4"))
Dim HIST_TSS_SEMANA4_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA4_ACUM"))
Dim HIST_TSS_SEMANA5 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA5"))
Dim HIST_TSS_SEMANA5_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA5_ACUM"))
Dim HIST_TSS_SEMANA6 As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA6"))
Dim HIST_TSS_SEMANA6_ACUM As String = records(RESULT.COLUMNS.GET("HIST_TSS_SEMANA6_ACUM"))
Dim HIST_TSS_GRUPO As String = records(RESULT.COLUMNS.GET("HIST_TSS_GRUPO"))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_TRADE_SPENDING_SEMANAL (HIST_TSS_RUTA, HIST_TSS_IDALMACEN, HIST_TSS_TIPO, HIST_TSS_SEMANA1, HIST_TSS_SEMANA1_ACUM, HIST_TSS_SEMANA2, HIST_TSS_SEMANA2_ACUM, HIST_TSS_SEMANA3, HIST_TSS_SEMANA3_ACUM, HIST_TSS_SEMANA4, HIST_TSS_SEMANA4_ACUM, HIST_TSS_SEMANA5, HIST_TSS_SEMANA5_ACUM, HIST_TSS_SEMANA6, HIST_TSS_SEMANA6_ACUM, HIST_TSS_GRUPO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (HIST_TSS_RUTA, HIST_TSS_IDALMACEN, HIST_TSS_TIPO, HIST_TSS_SEMANA1, HIST_TSS_SEMANA1_ACUM, HIST_TSS_SEMANA2, HIST_TSS_SEMANA2_ACUM, HIST_TSS_SEMANA3, HIST_TSS_SEMANA3_ACUM, HIST_TSS_SEMANA4, HIST_TSS_SEMANA4_ACUM, HIST_TSS_SEMANA5, HIST_TSS_SEMANA5_ACUM, HIST_TSS_SEMANA6, HIST_TSS_SEMANA6_ACUM, HIST_TSS_GRUPO))
Next
End If
End If End If
End If End If
@@ -2097,11 +2152,24 @@ Sub JobDone(Job As HttpJob)
If CARGA = "CARGAR" And S_CP.Text = "LISTO" And S_CC.Text = "LISTO" And S_CH.Text = "LISTO" Then If CARGA = "CARGAR" And S_CP.Text = "LISTO" And S_CC.Text = "LISTO" And S_CH.Text = "LISTO" Then
LogColor("TERMINAMOS", Colors.red) LogColor("TERMINAMOS", Colors.red)
B_OK_PAS.Text = "OK" B_OK_PAS.Text = "OK"
copiaCatGPPromocion
End If End If
Log(reqManager.requestTimes(Job.Tag)) Log(reqManager.requestTimes(Job.Tag))
' Log($"tiempo Total "${Job.Tag}": ${((DateTime.Now - inicioContador)/1000)}"$) ' Log($"tiempo Total "${Job.Tag}": ${((DateTime.Now - inicioContador)/1000)}"$)
' reqManager.PrintTable(RESULT)2 ' reqManager.PrintTable(RESULT)2
End Sub
Sub copiaCatGPPromocion
Log(">>>>>>>>> COPIAMOS CAT_GP_PROMOCION a CAT_GUNAPROD2")
Starter.skmt.ExecNonQuery("UPDATE CAT_GUNAPROD2 SET CAT_GP_PROMOCION = '0'")
Dim c3 As Cursor = Starter.skmt.ExecQuery("select CAT_GP_ID, CAT_GP_PROMOCION from CAT_GUNAPROD")
If c3.RowCount > 0 Then
For h = 0 To c3.RowCount - 1
c3.Position = h
Starter.skmt.ExecNonQuery($"update cat_gunaprod2 set cat_gp_promocion = '${c3.GetString("CAT_GP_PROMOCION")}' where cat_gp_id = '${c3.GetString("CAT_GP_ID")}'"$)
Next
End If
End Sub End Sub
Private Sub B4XPage_CloseRequest As ResumableSub Private Sub B4XPage_CloseRequest As ResumableSub
@@ -2273,6 +2341,8 @@ Sub e_ruta_EnterPressed
Starter.skmt.ExecNonQuery("delete from CAT_PROMO_MONTO") Starter.skmt.ExecNonQuery("delete from CAT_PROMO_MONTO")
Starter.skmt.ExecNonQuery("delete from TMP_CAT_BILLETE") Starter.skmt.ExecNonQuery("delete from TMP_CAT_BILLETE")
Starter.skmt.ExecNonQuery("delete from TMP_CAT_MONEDAS") Starter.skmt.ExecNonQuery("delete from TMP_CAT_MONEDAS")
Starter.skmt.ExecNonQuery("delete from TRADE_SPENDING")
Starter.skmt.ExecNonQuery("delete from HIST_TRADE_SPENDING_SEMANAL")
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,0,?)", Array As Object(sTime, "PEDIDO")) Starter.skmt.ExecNonQuery2("INSERT INTO HIST_ENVIOS VALUES (?,0,?)", Array As Object(sTime, "PEDIDO"))
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO")) Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("NUMERO_PEDIDO"))

View File

@@ -1291,7 +1291,7 @@ Sub Busca_TextChanged (Old As String, New As String)
' Log($"${Starter.tipov} - ${query} - ${Subs.traeTablaProds(Starter.tipov)}"$) ' Log($"${Starter.tipov} - ${query} - ${Subs.traeTablaProds(Starter.tipov)}"$)
If lfila.text = "PROMOCIONES" Then If lfila.text = "PROMOCIONES" Then
If Not(lv_promos.Visible) Then lv_promos.Visible = True If Not(lv_promos.Visible) Then lv_promos.Visible = True
Private cPromo As Cursor=Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_TIPO, CAT_GP_IMG from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ORDER BY CAT_GP_TIPOPROD2 DESC, CAT_GP_NOMBRE"$) Private cPromo As Cursor=Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_TIPO, CAT_GP_IMG from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS' AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) and CAT_GP_PROMOCION <> '1' ORDER BY CAT_GP_TIPOPROD2 DESC, CAT_GP_NOMBRE"$)
Log($"res:${cPromo.RowCount}"$) Log($"res:${cPromo.RowCount}"$)
If cPromo.RowCount > 0 Then If cPromo.RowCount > 0 Then
lv_promos.Clear lv_promos.Clear
@@ -1322,7 +1322,7 @@ Sub Busca_TextChanged (Old As String, New As String)
listaProds.Initialize listaProds.Initialize
listaHints.Initialize listaHints.Initialize
Sleep(0) Sleep(0)
Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> 'PROMOS' and CAT_GP_PROMOCION <> '1' order by CAT_GP_NOMBRE"$)
' c2 = Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ", Array As String( Value, Value) ' c2 = Starter.skmt.ExecQuery2("select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG from " & query & " where CAT_GP_ALMACEN > 0 AND CAT_GP_TIPO = ? AND CAT_GP_SUBTIPO =? AND CAT_GP_TIPOPROD <> 1 and (length(CAT_GP_CODPROMO) = 1 OR CAT_GP_CODPROMO = CAT_GP_ID) ", Array As String( Value, Value)
Log("Llamamos LlenaProdsLL") Log("Llamamos LlenaProdsLL")
LlenaProdsLL(p, Null) LlenaProdsLL(p, Null)
@@ -1356,7 +1356,8 @@ Sub LlenaProdsLL(p As ResultSet, extra As String)
Log($"YA HAY RESULTSET ${p.RowCount}"$) Log($"YA HAY RESULTSET ${p.RowCount}"$)
Else Else
' Log("NO HAY RESULTSET") ' 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_TIPO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' ORDER BY CAT_GP_TIPOPROD2 DESC, CAT_GP_NOMBRE"$) Dim p As ResultSet = Starter.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' and CAT_GP_PROMOCION <> '1' ORDER BY CAT_GP_TIPOPROD2 DESC, CAT_GP_NOMBRE"$)
Log($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPO, CAT_GP_TIPOPROD from ${Subs.traeTablaProds(Starter.tipov)} where CAT_GP_PRECIO > 0 And CAT_GP_CLASIF <> 'PROMOS' and CAT_GP_PROMOCION <> '1' ORDER BY CAT_GP_TIPOPROD2 DESC, CAT_GP_NOMBRE"$)
' Log(p.RowCount & " - " & Subs.traeTablaProds(Starter.tipov)) ' Log(p.RowCount & " - " & Subs.traeTablaProds(Starter.tipov))
End If End If

View File

@@ -907,7 +907,7 @@ Version=12.8
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: Kelloggs Venta #ApplicationLabel: Kelloggs Venta
#VersionCode: 3000 #VersionCode: 3000
#VersionName: 5.04.09 #VersionName: 5.04.17
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False
#BridgeLogger:true #BridgeLogger:true
@@ -923,6 +923,10 @@ Version=12.8
#IncludeTitle: False #IncludeTitle: False
#End Region #End Region
' Version que estaba en la tabla CAT_VERSION antes -> 2.95
'actualizaProducto, c=30000007778, p=1008037471, nombre=BARRA ALL BRAN FRESA 37 GR, cant=1, cedis=3, tipo=VENTA
Sub Process_Globals Sub Process_Globals
Public ActionBarHomeClicked As Boolean Public ActionBarHomeClicked As Boolean
' Type DBResult (Tag As Object, Columns As Map, Rows As List) ' Type DBResult (Tag As Object, Columns As Map, Rows As List)

View File

@@ -61,7 +61,7 @@ ModuleBreakpoints7=
ModuleBreakpoints8= ModuleBreakpoints8=
ModuleBreakpoints9= ModuleBreakpoints9=
ModuleClosedNodes0= ModuleClosedNodes0=
ModuleClosedNodes1=4 ModuleClosedNodes1=
ModuleClosedNodes10= ModuleClosedNodes10=
ModuleClosedNodes11= ModuleClosedNodes11=
ModuleClosedNodes12=5,7,8,9 ModuleClosedNodes12=5,7,8,9
@@ -76,7 +76,7 @@ ModuleClosedNodes2=
ModuleClosedNodes20= ModuleClosedNodes20=
ModuleClosedNodes21= ModuleClosedNodes21=
ModuleClosedNodes22= ModuleClosedNodes22=
ModuleClosedNodes23=1,3,4,5,6,7,8,9,11,12,14,15,17,18,21,22,24,25,26,27,28,29,30,31,32,33,35 ModuleClosedNodes23=1,4,5,6,7,8,11,12,14,15,17,18,21,22,24,25,26,27,28,29,30,31,32,33,35
ModuleClosedNodes24= ModuleClosedNodes24=
ModuleClosedNodes25=4 ModuleClosedNodes25=4
ModuleClosedNodes26= ModuleClosedNodes26=
@@ -91,6 +91,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=B4XMainPage,i_engranes_Click,665,5,B4XMainPage,user_EnterPressed,648,0,Diseñador Visual,cliente.bal,-100,1,C_Cliente,p_pideGeoPass_Click,4106,0,C_Cliente,b_geopass_Click,4114,6,B4XMainPage,JobDone,556,6,B4XMainPage,Class_Globals,22,0,Diseñador Visual,login.bal,-100,3,B4XMainPage,et_geocerca_TextChanged,879,0,B4XMainPage,et_maxClientesNuevos_TextChanged,872,0,Starter,Process_Globals,52,6 NavigationStack=Subs,revisaBD,189,0,Subs,CreateBitmapWithNumber,1983,0,Subs,comparaVersionesOriginal,1988,0,B4XMainPage,B4XPage_Appear,437,0,B4XMainPage,JobDone,509,0,C_Principal,JobDone,1731,6,Subs,comparaVersiones,2030,6,Main,Process_Globals,24,0,kms_helperSubs,RD_respalda_cat_gunaprod,180,0,kms_helperSubs,RD_Init,73,0,C_Principal,B4XPage_Created,244,0
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,28,11,3,29,12,7,9,17 VisibleModules=1,28,11,3,29,12,7,9

View File

@@ -56,7 +56,7 @@ Sub Process_Globals
Dim pingShell As Boolean = False Dim pingShell As Boolean = False
Dim errorConnDBReq As Boolean = False Dim errorConnDBReq As Boolean = False
Dim GUID As String = "" Dim GUID As String = ""
dim passSupervisor as string = "13X#X$X46" ' Valor predeterminado DIFERENTE a "" Dim passSupervisor As String = "13X#X$X46" ' Valor predeterminado DIFERENTE a ""
End Sub End Sub
Sub Service_Create Sub Service_Create

View File

@@ -1986,3 +1986,63 @@ Sub CreateBitmapWithNumber(OriginalBitmap As Bitmap, Number As Int) As Bitmap 'i
Canvas.DrawText(Number, (OriginalBitmap.Width / 2), (OriginalBitmap.Height / 2.4), Typeface.DEFAULT, 15, Colors.White, "CENTER") Canvas.DrawText(Number, (OriginalBitmap.Width / 2), (OriginalBitmap.Height / 2.4), Typeface.DEFAULT, 15, Colors.White, "CENTER")
Return NewBitmap Return NewBitmap
End Sub End Sub
' Compara dos versiones en formato "X.YY.ZZ"
' Devuelve:
' -1 si versionActual es MENOR que versionMinima
' 0 si son IGUALES
' 1 si versionActual es MAYOR que versionMinima
Sub comparaVersionesOriginal(versionMinima As String, versionActual As String) As Int
' Dividir las versiones en partes
Dim partesMin() As String = Regex.Split("\.", versionMinima)
Dim partesAct() As String = Regex.Split("\.", versionActual)
' Asegurarse que ambas tienen 3 partes
If partesMin.Length <> 3 Or partesAct.Length <> 3 Then
Log("Formato de versión incorrecto")
Return -1 ' Por seguridad, asumimos que no cumple
End If
' Comparar parte por parte
For i = 0 To 2
Dim numMin As Int = partesMin(i)
Dim numAct As Int = partesAct(i)
If numAct < numMin Then
Return -1 ' Actual es menor
Else If numAct > numMin Then
Return 1 ' Actual es mayor
End If
' Si son iguales, continuar con la siguiente parte
Next
' Si llegamos aquí, todas las partes son iguales
Return 0
End Sub
' Compara dos versiones en formato "X.YY.ZZ"
' Devuelve:
' -1 si versionActual es MENOR que versionMinima
' 0 si son IGUALES
' 1 si versionActual es MAYOR que versionMinima
Sub comparaVersiones(versionMinima As String, versionActual As String) As Int
Dim partesMin() As String = Regex.Split("\.", versionMinima)
Dim partesAct() As String = Regex.Split("\.", versionActual)
' Si la actual tiene MENOS partes que la mínima, es inválida (opcional)
If partesAct.Length < partesMin.Length Then
ToastMessageShow("Version incorrecta", False)
Return -1 ' ← Actual no cumple el formato mínimo
End If
' Compara solo las partes que existen en la versión mínima
For i = 0 To partesMin.Length - 1
Dim numMin As Int = partesMin(i)
Dim numAct As Int = partesAct(i)
If numAct < numMin Then
ToastMessageShow("Versión vieja, por favor actualizar!", false)
Return -1 ' Actual es menor
Else If numAct > numMin Then
Return 1 ' Actual es mayor
End If
' Si son iguales, sigue comparando
Next
' Si todas las partes comparadas son iguales:
Return 0
End Sub

View File

@@ -75,7 +75,9 @@ Sub RD_Init
If chkIfTableExists(skmt, "CAT_GUNAPROD") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD (${getTableColumnList(skmt, "CAT_GUNAPROD")}, FECHA TEXT)"$) If chkIfTableExists(skmt, "CAT_GUNAPROD") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD (${getTableColumnList(skmt, "CAT_GUNAPROD")}, FECHA TEXT)"$)
If chkIfTableExists(skmt, "CAT_GUNAPROD2") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD2 (${getTableColumnList(skmt, "CAT_GUNAPROD2")}, FECHA TEXT)"$) If chkIfTableExists(skmt, "CAT_GUNAPROD2") Then rkmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD2 (${getTableColumnList(skmt, "CAT_GUNAPROD2")}, FECHA TEXT)"$)
agregaColumna(rkmt,"CAT_GUNAPROD", "CAT_GP_TIPOPROD2", "TEXT") agregaColumna(rkmt,"CAT_GUNAPROD", "CAT_GP_TIPOPROD2", "TEXT")
agregaColumna(rkmt,"CAT_GUNAPROD", "CAT_GP_PROMOCION", "TEXT")
agregaColumna(rkmt,"CAT_GUNAPROD2", "CAT_GP_TIPOPROD2", "TEXT") agregaColumna(rkmt,"CAT_GUNAPROD2", "CAT_GP_TIPOPROD2", "TEXT")
agregaColumna(rkmt,"CAT_GUNAPROD2", "CAT_GP_PROMOCION", "TEXT")
agregaColumna(rkmt, "kmt_info", "CAT_CL_LIMITECREDITO", "TEXT") agregaColumna(rkmt, "kmt_info", "CAT_CL_LIMITECREDITO", "TEXT")
If chkIfTableExists(skmt, "kmt_info") Then rkmt.ExecNonQuery($"create table if not exists kmt_info (${getTableColumnList(skmt, "kmt_info")}, FECHA TEXT)"$) If chkIfTableExists(skmt, "kmt_info") Then rkmt.ExecNonQuery($"create table if not exists kmt_info (${getTableColumnList(skmt, "kmt_info")}, FECHA TEXT)"$)
If chkIfTableExists(skmt, "PROMOS_COMP") Then rkmt.ExecNonQuery($"create table if not exists PROMOS_COMP (${getTableColumnList(skmt, "PROMOS_COMP")}, FECHA TEXT)"$) If chkIfTableExists(skmt, "PROMOS_COMP") Then rkmt.ExecNonQuery($"create table if not exists PROMOS_COMP (${getTableColumnList(skmt, "PROMOS_COMP")}, FECHA TEXT)"$)
@@ -1011,7 +1013,7 @@ End Sub
'Regresa los clientes nuevos maximos. 'Regresa los clientes nuevos maximos.
'Si no está especificado, el default es 2. 'Si no está especificado, el default es 2.
Sub traeMaxClientesNuevos As Int 'ignore Sub traeMaxClientesNuevos As Int 'ignore
Private CN As Int = 2 Private CN As Int = 5
Private x As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'MAXCTESNUEVOS'"$) Private x As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'MAXCTESNUEVOS'"$)
If x.RowCount > 0 Then If x.RowCount > 0 Then
x.Position = 0 x.Position = 0