diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 0a34b60..80e6bb4 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -336,6 +336,7 @@ Private Sub B4XPage_Created (Root1 As B4XView) Else ToastMessageShow("Sin permisos para GPS", True) End If + Log("***********************************************") MES1.Initialize(Me, "MES1") ' Log("SDK: " & device.SdkVersion) ' Get the device SDK version @@ -363,7 +364,10 @@ Private Sub B4XPage_Created (Root1 As B4XView) Wait For MES_StorageAvailable End If End If - + Log(MES1.IsInitialized) + Log(MES1.HasPermission) + Log("***********************************************") + MES1.Initialize(Me, "MES1") ' Log("Permisos BT: " & rp.Check("android.permission.BLUETOOTH_CONNECT")) ' Log("REVISAMOS PERMISOS DE BT") ' rp.CheckAndRequest("android.permission.BLUETOOTH_CONNECT") @@ -375,10 +379,7 @@ 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 + Log(">>>>>> INICIAMOS MAIN PAGE <<<<<<<<<") 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)) @@ -446,6 +447,12 @@ Sub B4XPage_Appear cmd.Name = "select_fecha" ' cmd.Parameters = Array As Object(Null) reqManager.ExecuteQuery(cmd , 0, "fecha") + Log("############### APPEAR PAGE ####################") + Log(MES1.IsInitialized) + If MES1.IsInitialized Then + LogColor("Permisos de almacenamiento: " & MES1.HasPermission, Colors.Magenta) + If MES1.HasPermission Then kh.revisaSiExisteRespaldo + End If End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. @@ -739,7 +746,7 @@ Private Sub p_cargaLocal_Click End Sub 'Recibe la contraseña para la carga local -> "CL" + diaMes * 3 + numMes * 4 -'Ej: para el 5 de agosto serìa : CL1532 +'Ej: Si por ejemplo, hoy es 5 de agosto, ponemos : CL1532 'Si se agrega un numero despues de la contraseña, lo toma como los dia hacia atras para tomar el dìa de respaldo. 'Ej: CL1532-2 Serìa restaurar el respaldo del dìa 3 de agosto (5-2), puede haber espacios entre la clave y el numero de dìas. Private Sub b_cargaLocalOk_Click @@ -748,9 +755,10 @@ Private Sub b_cargaLocalOk_Click p_cargaLocal.Visible = False ' Log(et_cargaLocal.Text.Length > pass1.Length) + ' RD_fechaRestauracion - Si esta en blanco, la fecha de restauracion es HOY, si no, es la especificada en "ticks". kh.RD_fechaRestauracion = "" -' kh.RD_fechaRestauracion = DateTime.now 'Se va a restaurar el respaldo de la fecha de HOY + ' Si a la contraseña se le agrega un -1 o -2, aqui se procesa para saber de cuantos dias antes traemos el respaldo. If et_cargaLocal.Text.Length > pass1.Length Then Private dias As String = et_cargaLocal.Text.SubString(pass1.Length).Trim ' Log("|" & dias & "|") @@ -759,18 +767,26 @@ Private Sub b_cargaLocalOk_Click p.Days = dias Dim nextdate As Long = DateUtils.AddPeriod(DateTime.Now, p) kh.RD_fechaRestauracion = nextdate - Log($"Next date: $Date{nextdate}"$) ' Next date: 20231018 + Log($"Restauramos respaldo de fecha: $Date{nextdate}"$) Else Log("NOT NUMBER") End If End If + + DateTime.DateFormat = "YYYY-MMM-dd" + Private fechaRes As String = DateTime.Date(DateTime.now) + If kh.RD_fechaRestauracion <> "" Then fechaRes = DateTime.Date(kh.RD_fechaRestauracion) + + Msgbox($"Se va a restaurar el respaldo de la fecha: ${fechaRes}"$, "AVISO") kh.revisaRkmtAttached kh.RD_restaura_cat_gunaprod + kh.RD_restaura_cat_variables kh.RD_restaura_cat_gunaprod2 kh.RD_restaura_cat_detalle_paq - kh.RD_restaura_kmt_info kh.RD_restaura_promos_comp + kh.RD_restaura_kmt_info + ime.HideKeyboard ' DateTime.DateFormat = "yyyyMMdd" ' Starter.skmt.ExecNonQuery($"update USUARIOA set fecha = '${DateTime.Date(DateTime.Now)}'"$) @@ -890,18 +906,18 @@ Sub CreateCommand(Name As String, Parameters() As Object) As DBCommand End Sub Sub GetFecha -' Dim req As DBRequestManager = CreateRequest -' Dim cmd As DBCommand = CreateCommand("select_fecha", Array(Null)) -' Wait For (req.ExecuteQuery(cmd, 0, Null)) JobDone(j As HttpJob) -' If j.Success Then -' req.HandleJobAsync(j, "req") -' Wait For (req) req_Result(res As DBResult) -' 'work with result -' req.PrintTable(res) -' Else -' Log("ERROR: " & j.ErrorMessage) -' End If -' j.Release + Dim req As DBRequestManager = CreateRequest + Dim cmd As DBCommand = CreateCommand("select_fecha", Array(Null)) + Wait For (req.ExecuteQuery(cmd, 0, Null)) JobDone(j As HttpJob) + If j.Success Then + req.HandleJob(j) + Wait For (req) req_Result(res As DBResult) + 'work with result + req.PrintTable(res) + Else + Log("ERROR: " & j.ErrorMessage) + End If + j.Release End Sub Private Sub ImageView1_LongClick diff --git a/B4A/KelloggsV4.b4a b/B4A/KelloggsV4.b4a index 8e6e212..31ffc95 100644 --- a/B4A/KelloggsV4.b4a +++ b/B4A/KelloggsV4.b4a @@ -887,7 +887,7 @@ Version=12.8 #Region Project Attributes #ApplicationLabel: Kelloggs Venta #VersionCode: 3000 - #VersionName: 4.10.20 + #VersionName: 4.11.13 #SupportedOrientations: portrait #CanInstallToExternalStorage: False #BridgeLogger:true @@ -907,6 +907,8 @@ Sub Process_Globals Public ActionBarHomeClicked As Boolean ' Type DBResult (Tag As Object, Columns As Map, Rows As List) ' Type DBCommand (Name As String, Parameters() As Object) + Dim MES1 As ManageExternalStorage + Dim device As Phone End Sub Sub Globals @@ -916,6 +918,37 @@ End Sub Sub Activity_Create(FirstTime As Boolean) Dim pm As B4XPagesManager pm.Initialize(Activity) + Log("***********************************************") + MES1.Initialize(Me, "MES1") +' Log("SDK: " & device.SdkVersion) +' Get the device SDK version + Dim SdkVersion As Int = device.SdkVersion + ' Choose which permission to request in order to access external storgage + If SdkVersion < 30 Then + Log("SDK = " & SdkVersion & " : Requesting WRITE_EXTERNAL_STORAGE permission") + Dim rp As RuntimePermissions + rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE) ' Implicit read capability if granted + Wait For B4XPage_PermissionResult (Permission As String, ResultY As Boolean) + Log($"PERMISSION_WRITE_EXTERNAL_STORAGE = ${ResultY}"$) + Log("SDK = " & SdkVersion & " : Requesting READ_EXTERNAL_STORAGE permission") + Dim rp As RuntimePermissions + rp.CheckAndRequest(rp.PERMISSION_READ_EXTERNAL_STORAGE) ' Implicit read capability if granted + Wait For B4XPage_PermissionResult (Permission As String, ResultX As Boolean) + Log($"PERMISSION_READ_EXTERNAL_STORAGE = ${ResultX}"$) + Else + Log("SDK = " & SdkVersion & " : Requesting MANAGE_EXTERNAL_STORAGE permission") + Log("On Entry MANAGE_EXTERNAL_STORAGE = " & MES1.HasPermission) + If Not(MES1.HasPermission) Then + MsgboxAsync("This app requires access to all files, please enable the option", "Manage All Files") + Wait For Msgbox_Result(Res As Int) + Log("Getting MES permission") + MES1.GetPermission + Wait For MES_StorageAvailable + End If + End If + Log(MES1.IsInitialized) + Log(MES1.HasPermission) + Log("***********************************************") End Sub 'Template version: B4A-1.01 diff --git a/B4A/KelloggsV4.b4a.meta b/B4A/KelloggsV4.b4a.meta index 7283776..52658f7 100644 --- a/B4A/KelloggsV4.b4a.meta +++ b/B4A/KelloggsV4.b4a.meta @@ -65,7 +65,7 @@ ModuleClosedNodes1= ModuleClosedNodes10= ModuleClosedNodes11=3,25 ModuleClosedNodes12=3,5,6,7,8,9 -ModuleClosedNodes13=1 +ModuleClosedNodes13=1,5 ModuleClosedNodes14= ModuleClosedNodes15= ModuleClosedNodes16= @@ -76,7 +76,7 @@ ModuleClosedNodes2= ModuleClosedNodes20= ModuleClosedNodes21= ModuleClosedNodes22= -ModuleClosedNodes23= +ModuleClosedNodes23=1,5,8,11,19 ModuleClosedNodes24= ModuleClosedNodes25= ModuleClosedNodes26= @@ -91,6 +91,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=kms_helperSubs,revisaSiExisteRespaldo,87,2,kms_helperSubs,RD_Init,81,6,B4XMainPage,B4XPage_Appear,372,6,C_Principal,JobDone,2053,0,B4XMainPage,B4XPage_Created,362,4,C_Cliente,Class_Globals,0,0,C_Cliente,revisaPromoEspecial,3867,0,C_Cliente,B4XPage_Appear,665,0,C_Cliente,metePromoEspecial,3873,6,Starter,Process_Globals,42,1,C_Promos,muestraPromo,80,0 +NavigationStack=kms_helperSubs,RD_restaura_cat_gunaprod,191,3,B4XMainPage,p_cargaLocal_Click,710,0,Main,Globals,28,0,Main,Process_Globals,26,0,Main,Activity_Create,34,0,B4XMainPage,b_cargaLocalOk_Click,740,6,B4XMainPage,B4XPage_Created,361,0,kms_helperSubs,revisaSiExisteRespaldo,92,0,kms_helperSubs,RD_respaldoBatch,525,0,kms_helperSubs,RD_copiaRespaldoDiario,529,6 SelectedBuild=0 -VisibleModules=1,28,11,3,29,12,4,13,23,7 +VisibleModules=1,28,11,3,29,12,4,13,23,7,24 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 365f9c6..51d3de4 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -1677,6 +1677,16 @@ Sub fechanormal(fecha As String) As String 'ignore Return nuevaFecha End Sub +Sub fechanormal2(fecha As String) As String 'ignore +' Log(fecha) + Dim OrigFormat As String = DateTime.DateFormat 'save orig date format + DateTime.DateFormat = "YYYY/MMM/dd" + Dim nuevaFecha As String=DateTime.Date(fecha) + DateTime.DateFormat = OrigFormat 'return to orig date format +' Log(nuevaFecha) + Return nuevaFecha +End Sub + Sub horaNormal(fecha As String) As String 'ignore ' Log(fecha) Dim OrigFormat As String = DateTime.DateFormat 'save orig date format diff --git a/B4A/kms_helperSubs.bas b/B4A/kms_helperSubs.bas index a27f460..f556026 100644 --- a/B4A/kms_helperSubs.bas +++ b/B4A/kms_helperSubs.bas @@ -64,11 +64,11 @@ Sub RD_Init safePath = Dirp & Dir 'Si no existe el directorio "kmts" en el raiz de la tarjeta de memoria, nos cambiamos al directorio seguro (sdcard/Android/data/kelloggs...) If Not(File.IsDirectory(Dirp, Dir)) Then safePath = rp.GetSafeDirDefaultExternal("kmts") - Log($"Hay directorio: ${Dirp} ${Dir} - ${File.IsDirectory(Dirp, Dir)}"$) +' 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. rkmt.Initialize(safePath, $"${name(0)}.rkmt.km"$, True) - Log("TAMAÑO DE ARCHIVO RESPALDO " &File.size(File.DirInternal&"/kmts", $"${name(0)}.rkmt.km"$)) +' 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)"$) @@ -79,6 +79,7 @@ Sub RD_Init 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, "PROMOS_COMP") Then rkmt.ExecNonQuery($"create table if not exists PROMOS_COMP (${getTableColumnList(skmt, "PROMOS_COMP")}, FECHA TEXT)"$) + If chkIfTableExists(skmt, "CAT_VARIABLES") Then rkmt.ExecNonQuery($"create table if not exists CAT_VARIABLES (${getTableColumnList(skmt, "CAT_VARIABLES")}, FECHA TEXT)"$) If chkIfTableExists(skmt, "CAT_RMI") Then rkmt.ExecNonQuery($"create table if not exists CAT_RMI (${getTableColumnList(skmt, "CAT_RMI")}, FECHA TEXT)"$) DateTime.DateFormat = "yyyyMMdd" fechaHoy = DateTime.Date(DateTime.Now) @@ -88,12 +89,16 @@ Sub RD_Init End Sub Sub revisaSiExisteRespaldo + LogColor("Revisamos si existe respaldo en la tarjeta!!", Colors.red) Private extDir As String = "" Private name() As String = Regex.split(" ", Application.LabelName) 'Obtenemos el nombre de la app para ponerselo a la BD. + Log(File.size(File.DirInternal&"/kmts", $"${name(0)}.rkmt.km"$)) 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 + If File.size(File.DirInternal&"/kmts", $"${name(0)}.rkmt.km"$) < 43000 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"$) + Else + LogColor("No hay respaldo en tarjeta externa!", Colors.red) End If Sleep(300) End Sub @@ -120,7 +125,7 @@ Sub revisaRkmtAttached As Boolean Dim rs As ResultSet = skmt.ExecQuery("SELECT * FROM pragma_database_list") Do While rs.NextRow 'Revisamos si esta montada "kmt.db" como "rkmt1" y si no, la montamos. If rs.GetString("name") = "rkmt1" Then rkmtAttached = True - Log(rs.GetString("name")) +' Log(rs.GetString("name")) Loop If Not(rkmtAttached) Then @@ -171,7 +176,6 @@ End Sub Sub RD_respalda_cat_gunaprod Private inicio As String = DateTime.Now ' Log("Copiando CAT_GUNAPROD ...") - Private x As Cursor = skmt.ExecQuery("select * from CAT_GUNAPROD") If x.RowCount > 0 Then Private lasCols As String = getTableColumnListName(skmt, "CAT_GUNAPROD") @@ -190,19 +194,19 @@ End Sub Sub RD_restaura_cat_gunaprod Private inicio As String = DateTime.Now ' Log("Restaurando CAT_GUNAPROD ...") - Log($"FECHA RESTAURACION: ${RD_fechaRestauracion}"$) +' Log($"FECHA RESTAURACION: ${RD_fechaRestauracion}"$) fechaRestauracion = RD_fechaRestauracionSQL(RD_fechaRestauracion) Private lasCols As String = getTableColumnListName(rkmt, "CAT_GUNAPROD") - Log(fechaRestauracion) + Log(">>>>>>>> fechaRestauracion GP: " & fechaRestauracion) lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la imagen del respaldo. - Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from CAT_GUNAPROD ${fechaRestauracion} order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy. + Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from CAT_GUNAPROD ${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")) skmt.ExecNonQuery("delete from CAT_GUNAPROD") skmt.ExecNonQuery($"insert into CAT_GUNAPROD (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD where fecha = '${c.GetString("FECHA")}'"$) - Log($"insert into CAT_GUNAPROD (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD where fecha = '${c.GetString("FECHA")}'"$) +' Log($"insert into CAT_GUNAPROD (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD where fecha = '${c.GetString("FECHA")}'"$) Else If fechaRestauracion.Length > 0 Then ToastMessageShow($"No hay respaldo GP para la fecha ${fechaRestauracion.SubString(fechaRestauracion.Length - 10)}"$, True) @@ -237,16 +241,18 @@ Sub RD_restaura_cat_gunaprod2 Private inicio As String = DateTime.Now ' Log("Restaurando CAT_GUNAPROD2 ...") fechaRestauracion = RD_fechaRestauracionSQL(RD_fechaRestauracion) +' Log(">>>>>>>> fechaRestauracion GP2: " & fechaRestauracion) Private lasCols As String = getTableColumnListName(rkmt, "CAT_GUNAPROD2") lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la fecha del respaldo. Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from CAT_GUNAPROD2 ${fechaRestauracion} order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy. ' Log(c.RowCount) +' Log($"select distinct fecha from CAT_GUNAPROD2 ${fechaRestauracion} order by fecha desc"$) If c.RowCount > 0 Then c.Position = 0 - Log(c.GetString("FECHA")) + LogColor(">>>>> Restauramos GP: " & c.GetString("FECHA"), Colors.red) skmt.ExecNonQuery("delete from CAT_GUNAPROD2") skmt.ExecNonQuery($"insert into CAT_GUNAPROD2 (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD2 where fecha = '${c.GetString("FECHA")}'"$) - Log($"insert into CAT_GUNAPROD2 (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD2 where fecha = '${c.GetString("FECHA")}'"$) +' Log($"insert into CAT_GUNAPROD2 (${lasCols}) select ${lasCols} from rkmt1.CAT_GUNAPROD2 where fecha = '${c.GetString("FECHA")}'"$) Else If fechaRestauracion.Length > 0 Then ToastMessageShow($"No hay respaldo GP2 para la fecha ${fechaRestauracion.SubString(fechaRestauracion.Length - 10)}"$, True) @@ -303,6 +309,7 @@ Sub RD_restaura_cat_detalle_paq Private inicio As String = DateTime.Now ' Log("Restaurando CAT_DETALLES_PAQ ...") fechaRestauracion = RD_fechaRestauracionSQL(RD_fechaRestauracion) +' Log(">>>>>>>> fechaRestauracion DP: " & fechaRestauracion) Private lasCols As String = getTableColumnListName(rkmt, "CAT_DETALLES_PAQ") lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la fecha del respaldo. Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from CAT_DETALLES_PAQ ${fechaRestauracion} order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy. @@ -346,15 +353,14 @@ Sub RD_restaura_kmt_info Private inicio As String = DateTime.Now ' Log("Restaurando KMT_INFO ...") fechaRestauracion = RD_fechaRestauracionSQL(RD_fechaRestauracion) +' Log(">>>>>>>> fechaRestauracion KMT: " & 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. @@ -364,7 +370,7 @@ Sub RD_restaura_kmt_info Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA", fechaHoy)) skmt.ExecNonQuery("delete from kmt_info") skmt.ExecNonQuery($"insert into kmt_info (${lasCols}) select ${lasCols} from rkmt1.kmt_info where fecha = '${c.GetString("FECHA")}'"$) - Log($"insert into kmt_info (${lasCols}) select ${lasCols} from rkmt1.kmt_info where fecha = '${c.GetString("FECHA")}'"$) +' Log($"insert into kmt_info (${lasCols}) select ${lasCols} from rkmt1.kmt_info where fecha = '${c.GetString("FECHA")}'"$) Else If fechaRestauracion.Length > 0 Then ToastMessageShow($"No hay respaldo KMTI para la fecha ${fechaRestauracion.SubString(fechaRestauracion.Length - 10)}"$, True) @@ -376,6 +382,50 @@ Sub RD_restaura_kmt_info Log("R-KMT: " & ((DateTime.Now - inicio)/1000) & " segs") End Sub +'RD - Copia la tabla cat_variables a rkmt.db en la tarjeta del celular. +Sub RD_respalda_cat_variables + Private inicio As String = DateTime.Now +' Log("Copiando CAT_VARIABLES ...") + Private x As Cursor = skmt.ExecQuery("select * from CAT_VARIABLES") + If x.RowCount > 0 Then + Private lasCols As String = getTableColumnListName(skmt, "CAT_VARIABLES") + rkmt.BeginTransaction + rkmt.ExecNonQuery($"delete from CAT_VARIABLES where fecha = '${fechaHoy}'"$) + rkmt.ExecNonQuery($"insert into CAT_VARIABLES (${lasCols}, FECHA) select ${lasCols}, '${fechaHoy}' as FECHA from skmt1.cat_variables"$) + rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!! + rkmt.EndTransaction + End If + x.Close + LogColor("CV: " & ((DateTime.Now - inicio)/1000) & " segs", Colors.RGB(166,37,0)) +End Sub + +'RD - Copia la tabla cat_variables de rkmt.db al celular. +Sub RD_restaura_cat_variables + Private inicio As String = DateTime.Now +' Log("Restaurando KMT_INFO ...") + fechaRestauracion = RD_fechaRestauracionSQL(RD_fechaRestauracion) +' Log(">>>>>>>> fechaRestauracion CV: " & fechaRestauracion) + Private lasCols As String = getTableColumnListName(rkmt, "CAT_VARIABLES") + lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la fecha del respaldo. + Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from CAT_VARIABLES ${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")) + skmt.ExecNonQuery("delete from CAT_VARIABLES") + skmt.ExecNonQuery($"insert into CAT_VARIABLES (${lasCols}) select ${lasCols} from rkmt1.CAT_VARIABLES where fecha = '${c.GetString("FECHA")}'"$) +' Log($"insert into CAT_VARIABLES (${lasCols}) select ${lasCols} from rkmt1.CAT_VARIABLES where fecha = '${c.GetString("FECHA")}'"$) + Else + If fechaRestauracion.Length > 0 Then + ToastMessageShow($"No hay respaldo CV para la fecha ${fechaRestauracion.SubString(fechaRestauracion.Length - 10)}"$, True) + Else + ToastMessageShow($"No hay respaldo CV para la fecha"$, True) + End If + End If + c.Close + Log("R-CV: " & ((DateTime.Now - inicio)/1000) & " segs") +End Sub + 'RD - Copia la tabla promos_comp a rkmt.db en la tarjeta del celular. Sub RD_respalda_promos_comp Private inicio As String = DateTime.Now @@ -398,6 +448,7 @@ Sub RD_restaura_promos_comp Private inicio As String = DateTime.Now ' Log("Restaurando KMT_INFO ...") fechaRestauracion = RD_fechaRestauracionSQL(RD_fechaRestauracion) +' Log(">>>>>>>> fechaRestauracion PC: " & fechaRestauracion) Private lasCols As String = getTableColumnListName(rkmt, "PROMOS_COMP") lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la fecha del respaldo. Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from PROMOS_COMP ${fechaRestauracion} order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy. @@ -441,10 +492,11 @@ Sub RD_restaura_cat_rmi Private inicio As String = DateTime.Now ' Log("Restaurando CAT_RMI ...") fechaRestauracion = RD_fechaRestauracionSQL(RD_fechaRestauracion) + Log(">>>>>>>> fechaRestauracion RMI: " & fechaRestauracion) Private lasCols As String = getTableColumnListName(rkmt, "CAT_RMI") lasCols = lasCols.Replace(", FECHA", "") 'Quitamos la fecha del respaldo. Private c As Cursor = rkmt.ExecQuery($"select distinct fecha from CAT_RMI ${fechaRestauracion} order by fecha desc"$) 'where fecha <> '${fechaHoy}' 'Traemos la ultima fecha antes de hoy. -' Log(c.RowCount) + Log(c.RowCount) If c.RowCount > 0 Then c.Position = 0 ' Log(c.GetString("FECHA")) @@ -472,6 +524,7 @@ Sub RD_respaldoBatch 'ignore RD_respalda_pedido RD_respalda_promos_comp RD_respalda_cat_rmi + RD_respalda_cat_variables RD_copiaRespaldoDiario Else Log("****** RD NO INICIALIZADO ********") @@ -480,6 +533,7 @@ End Sub 'RD - Copia la base de datos del respaldo diario a la memoria externa. Sub RD_copiaRespaldoDiario 'ignore + Log(">>>> copiamos respaldo a externa!!!") Try File.MakeDir(File.DirRootExternal, "kmts") Catch