mirror of
https://github.com/KeymonSoft/Kelloggs_v4.git
synced 2026-04-17 18:26:11 +00:00
- VERSION 4.10.20
- Se agregó que restaure desde la tarjeta de memoria la base de respaldo cuando se reinstala la aplicación.
This commit is contained in:
@@ -363,8 +363,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Wait For MES_StorageAvailable
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
' Log("Permisos BT: " & rp.Check("android.permission.BLUETOOTH_CONNECT"))
|
||||
' Log("REVISAMOS PERMISOS DE BT")
|
||||
' rp.CheckAndRequest("android.permission.BLUETOOTH_CONNECT")
|
||||
@@ -376,6 +375,10 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
If MES1.IsInitialized Then
|
||||
LogColor(MES1.HasPermission, Colors.Magenta)
|
||||
If MES1.HasPermission Then kh.revisaSiExisteRespaldo
|
||||
End If
|
||||
kh.RD_Init
|
||||
kh.SetButtonTintList(cb_geocerca, Colors.LightGray, Colors.RGB(43, 154, 211))
|
||||
kh.SetButtonTintList(cb_cartaPorte, Colors.LightGray, Colors.RGB(43, 154, 211))
|
||||
@@ -490,7 +493,7 @@ Sub JobDone(Job As HttpJob)
|
||||
Log("JOBDONE MAINPAGE")
|
||||
If Job.Tag.As(String).StartsWith("_KMS_") Then Job.tag = Job.Tag.As(String).SubString(16)
|
||||
If Job.Success = False Then
|
||||
LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red)
|
||||
LogColor("Error: " & Job.tag & " : " & Subs.parseHTTPError(Job.ErrorMessage), Colors.red)
|
||||
ToastMessageShow("Error: " & Job.ErrorMessage, True)
|
||||
Else
|
||||
' If logger Then LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110
|
||||
|
||||
@@ -3836,6 +3836,7 @@ Sub revisaPromoEspecial As Map
|
||||
' If clienteImpreso = "0" Then Log("El cliente no tiene venta impresa.")
|
||||
x.Close
|
||||
'Revisamos que tenga asignada la promo.
|
||||
|
||||
x=Starter.skmt.ExecQuery("select count(*) as clienteConPromo, CPM_PROID, CPM_CANT, CPM_RANGO, CPM_DESC, CPM_IDPROMO, CPM_MONTO from CAT_PROMO_MONTO where CPM_CLIENTE in (Select CUENTA from cuentaa)")
|
||||
If x.RowCount > 0 Then
|
||||
x.Position = 0
|
||||
@@ -3876,7 +3877,7 @@ Sub metePromoEspecial(idProd As String, idPromo As String, cantProd As Int, nomb
|
||||
query = "cat_gunaprod"
|
||||
If Starter.tipov = "VENTA" Then query = "cat_gunaprod2"
|
||||
' Falta nombre de producto en el insert
|
||||
Starter.skmt.ExecNonQuery2("DELETE from PEDIDO where PE_CEDIS = ?", Array As String (idPromo))
|
||||
Starter.skmt.ExecNonQuery2("DELETE from PEDIDO where PE_CEDIS = ?", Array As String (idPromo)) ' HAY QUE AGREGAR EL CLIENTE PARA QUE NO BORRE TODAS LAS PROMOS!!
|
||||
'Metemos encabezado de la promo.
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO (PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_RUTA, PE_TIPO, PE_PRECIO2) VALUES(?,?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (idPromo, 0, 0, cantProd, promoDescr, idPromo, idCliente, sDate & sTime, idUsuario, idRuta, Starter.tipov, 0))
|
||||
'Metemos el producto de regalo.
|
||||
@@ -4101,7 +4102,7 @@ Sub JobDone(Job As HttpJob)
|
||||
Log("JOBDONE CLIENTE")
|
||||
If Job.Success = False Then
|
||||
' ToastMessageShow("Error: " & Job.ErrorMessage, True)
|
||||
LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red)
|
||||
LogColor("Error: " & Job.tag & " : " & Subs.parseHTTPError(Job.ErrorMessage), Colors.red)
|
||||
' LogColor("Error: " & Job.ErrorMessage, Colors.red)
|
||||
Else
|
||||
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211110
|
||||
|
||||
@@ -986,7 +986,7 @@ Sub JobDone(Job As HttpJob)
|
||||
Log("JOBDONE PRINCIPAL")
|
||||
reqManager.trackNext(Job)
|
||||
If Not(Job.Success) Then
|
||||
LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red)
|
||||
LogColor("Error: " & Job.tag & " : " & Subs.parseHTTPError(Job.ErrorMessage), Colors.red)
|
||||
If Job.Tag = "version" Then
|
||||
Starter.errorConnDBReq = True
|
||||
connecta.TextColor = Colors.red
|
||||
|
||||
@@ -161,6 +161,7 @@ End Sub
|
||||
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||
|
||||
Sub B4XPage_Appear
|
||||
Log("Entro: " & entro)
|
||||
' Log($"LIMITE ABORDO: ${limiteAbordo}"$)
|
||||
' clv_prods_ll.Initialize(Me, "clv_prods_ll")
|
||||
' list_prodsPedido.Initialize
|
||||
@@ -493,7 +494,7 @@ Private Sub B4XPage_CloseRequest As ResumableSub
|
||||
else If entro = "4" Then
|
||||
entro = "3"
|
||||
B4XPage_Appear
|
||||
Return True
|
||||
' Return True
|
||||
Else If entro = "3" Then
|
||||
Subs.iniciaActividad("Cliente")
|
||||
' B4XPages.ShowPage("Cliente")
|
||||
@@ -503,6 +504,7 @@ Private Sub B4XPage_CloseRequest As ResumableSub
|
||||
' B4XPages.ShowPage("Cliente")
|
||||
Return False
|
||||
End If
|
||||
Return False
|
||||
End Sub
|
||||
|
||||
Sub b_QR_Click
|
||||
|
||||
@@ -66,6 +66,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
B4XPages.MainPage.productos.entro = 3
|
||||
' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.blue)
|
||||
prodsIds.Initialize
|
||||
prodsCants.Initialize
|
||||
|
||||
@@ -887,7 +887,7 @@ Version=12.8
|
||||
#Region Project Attributes
|
||||
#ApplicationLabel: Kelloggs Venta
|
||||
#VersionCode: 3000
|
||||
#VersionName: 4.10.15
|
||||
#VersionName: 4.10.19
|
||||
#SupportedOrientations: portrait
|
||||
#CanInstallToExternalStorage: False
|
||||
#BridgeLogger:true
|
||||
|
||||
@@ -61,11 +61,11 @@ ModuleBreakpoints7=
|
||||
ModuleBreakpoints8=
|
||||
ModuleBreakpoints9=
|
||||
ModuleClosedNodes0=
|
||||
ModuleClosedNodes1=2
|
||||
ModuleClosedNodes1=
|
||||
ModuleClosedNodes10=
|
||||
ModuleClosedNodes11=3,25
|
||||
ModuleClosedNodes12=
|
||||
ModuleClosedNodes13=
|
||||
ModuleClosedNodes12=3,5,6,7,8,9
|
||||
ModuleClosedNodes13=1
|
||||
ModuleClosedNodes14=
|
||||
ModuleClosedNodes15=
|
||||
ModuleClosedNodes16=
|
||||
@@ -91,6 +91,6 @@ ModuleClosedNodes6=
|
||||
ModuleClosedNodes7=
|
||||
ModuleClosedNodes8=
|
||||
ModuleClosedNodes9=
|
||||
NavigationStack=Starter,Process_Globals,49,6,ManageExternalStorage,RaiseEvent,47,0,C_Principal,connecta_Click,2151,0,C_Principal,B4XPage_Appear,519,0,Subs,GUID,1878,0,B4XMainPage,B4XPage_Appear,371,0,B4XMainPage,B4XPage_Created,338,6,kms_helperSubs,motivoNoVisitaActivo,1212,0,Subs,generaGUID_EnExterno,1881,2,kms_helperSubs,RD_Init,46,0
|
||||
NavigationStack=kms_helperSubs,RD_respaldoBatch,461,0,B4XMainPage,b_cargaLocalOk_Click,760,0,Starter,Process_Globals,42,1,B4XMainPage,Class_Globals,90,0,kms_helperSubs,Initialize,41,0,kms_helperSubs,agregaColumna,522,0,kms_helperSubs,revisaSiExisteRespaldo,87,2,kms_helperSubs,RD_Init,81,6,B4XMainPage,B4XPage_Appear,372,6,B4XMainPage,B4XPage_Created,362,4
|
||||
SelectedBuild=0
|
||||
VisibleModules=1,28,11,3,29,12,4,13,23,26,24
|
||||
VisibleModules=1,28,11,3,29,12,4,13,23,7
|
||||
|
||||
@@ -46,7 +46,7 @@ Sub Process_Globals
|
||||
Dim ultimaActualizacionGPS As String = 235959 '
|
||||
Dim fechaRuta As String 'ignore
|
||||
Dim tiempos As Map
|
||||
Dim Logger As Boolean = False
|
||||
Dim Logger As Boolean = True
|
||||
Dim ultimaActividad As String = ""
|
||||
Dim boleta As String = 0
|
||||
Dim sesion As Map
|
||||
|
||||
16
B4A/Subs.bas
16
B4A/Subs.bas
@@ -1019,7 +1019,7 @@ Sub traePromo(promo As String, cliente As String) As Map
|
||||
' Si la promo esta en la lista, SOLO los clientes que la tengan la pueden ver.
|
||||
Private ps As Cursor = Starter.skmt.ExecQuery($"select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}' and HCCP_CLIENTE = '${cliente}'"$)
|
||||
' Log($"select * from HIST_CLIENTE_CANT_PROMOS where HCCP_PROMO = '${promo}'"$)
|
||||
Log($"PROMOS SEGMENTADAS DISPONIBLES: ${ps.RowCount}"$)
|
||||
If thisLog Then Log($"PROMOS SEGMENTADAS DISPONIBLES: ${ps.RowCount}"$)
|
||||
If ps.RowCount > 0 Then
|
||||
ps.Position = 0
|
||||
promoMap = CreateMap("id":promo, "maxXcliente":0, "maxRecurrente":0, "maxPromos":0) 'Si es segmentada la ponemos en cero, porque SOLO le debe de aparecer a ciertos clientes.
|
||||
@@ -1349,7 +1349,7 @@ End Sub
|
||||
'regresa el maximo por productos fijos. Ej. si las promos por variables es 10, pero el maximo por
|
||||
'fijos es 5, entonces regresamos 5.
|
||||
Sub revisaMaxPromosProdsVariablesPorInventario(pm As Map) As Int 'ignore
|
||||
Private thisLog As Boolean = True
|
||||
Private thisLog As Boolean = False
|
||||
If thisLog Then Log("======================================================")
|
||||
If thisLog Then Log("======================================================")
|
||||
Private invFijoXpromo As Map
|
||||
@@ -1898,4 +1898,16 @@ Sub generaGUID_EnExterno
|
||||
File.WriteString(File.DirRootExternal,$"/Android/kmts/GUID_${Starter.GUID}"$, "0")
|
||||
End If
|
||||
Log($"##### GUID: ${Starter.GUID} #####"$)
|
||||
End Sub
|
||||
|
||||
Sub parseHTTPError(error As String) As String
|
||||
Private nuevoError As String = error
|
||||
Private inicio As Int = error.IndexOf("<title>")
|
||||
Private final As Int = error.IndexOf("</title>")
|
||||
Log("|" & inicio & "|" & final & "|")
|
||||
If inicio > 0 And final > 0 Then
|
||||
nuevoError = error.SubString2(inicio + 17, final)
|
||||
' LogColor(error.SubString2(inicio + 17, final), Colors.Blue)
|
||||
End If
|
||||
Return nuevoError
|
||||
End Sub
|
||||
@@ -66,8 +66,9 @@ Sub RD_Init
|
||||
If Not(File.IsDirectory(Dirp, Dir)) Then safePath = rp.GetSafeDirDefaultExternal("kmts")
|
||||
Log($"Hay directorio: ${Dirp} ${Dir} - ${File.IsDirectory(Dirp, Dir)}"$)
|
||||
If Starter.Logger Then Log($"Safepath:${safePath}"$)
|
||||
Private name() As String = Regex.split(" ", Application.LabelName) 'Obtenemos el nombre de la app para ponerselo a la BD.
|
||||
Private name() As String = Regex.split(" ", Application.LabelName) 'Obtenemos el nombre de la app para ponerselo a la BD.
|
||||
rkmt.Initialize(safePath, $"${name(0)}.rkmt.km"$, True)
|
||||
Log("TAMAÑO DE ARCHIVO RESPALDO " &File.size(File.DirInternal&"/kmts", $"${name(0)}.rkmt.km"$))
|
||||
skmt.Initialize(File.DirInternal,"kmt.db", False)
|
||||
If chkIfTableExists(skmt, "PEDIDO") Then rkmt.ExecNonQuery($"create table if not exists PEDIDO (${getTableColumnList(skmt, "PEDIDO")}, FECHA TEXT)"$)
|
||||
If chkIfTableExists(skmt, "CAT_DETALLES_PAQ") Then rkmt.ExecNonQuery($"create table if not exists CAT_DETALLES_PAQ (${getTableColumnList(skmt, "CAT_DETALLES_PAQ")}, FECHA TEXT)"$)
|
||||
@@ -86,6 +87,17 @@ Sub RD_Init
|
||||
' revisaRkmtAttached
|
||||
End Sub
|
||||
|
||||
Sub revisaSiExisteRespaldo
|
||||
Private extDir As String = ""
|
||||
Private name() As String = Regex.split(" ", Application.LabelName) 'Obtenemos el nombre de la app para ponerselo a la BD.
|
||||
If File.IsDirectory(File.DirRootExternal, "kmts") Then extDir = "/kmts"
|
||||
If File.size(File.DirInternal&"/kmts", $"${name(0)}.rkmt.km"$) < 37000 And File.Exists(File.DirRootExternal & extDir, $"${name(0)}.rkmt.km"$) Then
|
||||
LogColor("Copiamos el respaldo desde la tarjeta!!", Colors.red)
|
||||
File.Copy(File.DirRootExternal & extDir, $"${name(0)}.rkmt.km"$, File.DirInternal&"/kmts", $"${name(0)}.rkmt.km"$)
|
||||
End If
|
||||
Sleep(300)
|
||||
End Sub
|
||||
|
||||
'RD - Revisa si esta montada "kmt.db" como "skmt1" y si no, la monta
|
||||
'Para que "rkmt" vea a "skmt", es necesario montarla (attach).
|
||||
Sub revisaSkmtAttached As Boolean
|
||||
@@ -336,11 +348,13 @@ Sub RD_restaura_kmt_info
|
||||
fechaRestauracion = RD_fechaRestauracionSQL(RD_fechaRestauracion)
|
||||
Private lasCols As String = getTableColumnListName(rkmt, "kmt_info")
|
||||
lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la fecha del respaldo.
|
||||
Log($"Restauramos ${fechaRestauracion}"$)
|
||||
Log($"select distinct fecha from kmt_info ${fechaRestauracion} order by fecha desc"$)
|
||||
Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from kmt_info ${fechaRestauracion} order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy.
|
||||
' Log(c.RowCount)
|
||||
If c.RowCount > 0 Then
|
||||
c.Position = 0
|
||||
' Log(c.GetString("FECHA"))
|
||||
Log(c.GetString("FECHA"))
|
||||
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("DIA_VISITA"))' Ponemos el dia de hoy para visita.
|
||||
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("DIA_VISITA", Subs.traeDiaSemana))
|
||||
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("FINDIA_FECHA"))' Borramos fecha de FIN DIA.
|
||||
|
||||
Reference in New Issue
Block a user