From d13c5f3b644b9d45a4f678f20064c0fa595affd3 Mon Sep 17 00:00:00 2001 From: cvaldes1201 Date: Fri, 10 Nov 2023 12:52:06 -0600 Subject: [PATCH] TERMINO DOE Y RESPALDO DE TABLAS --- B4A/C_Cliente.bas | 1 + B4A/C_Nota.bas | 15 +++++++- B4A/C_Principal.bas | 77 +++++++++++++++++++++++++++++++++++++++++ B4A/KelloggsV3.b4a.meta | 6 ++-- 4 files changed, 95 insertions(+), 4 deletions(-) diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index b75638e..1511e05 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -3011,6 +3011,7 @@ Private Sub b_aceptarrpomo_Click c.Close b_whats.Visible = False Starter.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS where HCCP_CLIENTE IN (Select cuenta from cuentaa)") + B4XPage_Appear End Sub Private Sub b_rechazapromo_Click diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index e22a4d6..a92efdf 100644 --- a/B4A/C_Nota.bas +++ b/B4A/C_Nota.bas @@ -286,11 +286,24 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object) If TIPO = "VENTA" Then c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod2 where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value)) + Else c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value)) End If c.Position=0 - If c.GetString("CUANTOS") > 0 Then + Log(c.GetString("CUANTOS")) + Private cuantos As String = c.GetString("CUANTOS") + 'ESTO ES PARA LA PROMOCION DOE LA BORRE COMPLETA + Private cursord As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CEDIS FROM PEDIDO WHERE PE_PRONOMBRE = ? AND pe_cliente in (Select CUENTA from cuentaa)", Array As String(Value)) + If cursord.RowCount > 0 Then + cursord.Position = 0 + If cursord.GetString("PE_CEDIS") = "PROMODOE" Then + cuantos = 1 + Starter.skmt.ExecNonQuery("delete from HIST_PROMO_WHATS where HIST_CLIENTE in (Select CUENTA from cuentaa)") + End If + End If + + If cuantos > 0 Then Starter.skmt.ExecNonQuery2("delete from pedido where pe_folio = 0 and pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa) and pe_cedis <> ?", Array As Object(Value, "DOE")) Else Starter.skmt.ExecNonQuery2("delete from pedido where pe_folio = 0 and pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) AND PE_CEDIS <> ?", Array As Object(Value, "DOE")) diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 4b48b92..5a12a64 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -261,6 +261,66 @@ Private Sub B4XPage_Created (Root1 As B4XView) l_ctast.Text = d.GetString("TOTAL_VISITAR") 'l_porvisitar.Text = e.GetString("POR_VISITAR") End If + + Starter.Skmt.ExecNonQuery($"create table if not exists PEDIDO_RESPALDO (${getTableColumnList(Starter.skmt, "PEDIDO")})"$) + Starter.Skmt.ExecNonQuery($"create table if not exists CAT_DETALLES_PAQ_RESPALDO (${getTableColumnList(Starter.skmt, "CAT_DETALLES_PAQ")})"$) + Starter.Skmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD_RESPALDO (${getTableColumnList(Starter.skmt, "CAT_GUNAPROD")})"$) + Starter.Skmt.ExecNonQuery($"create table if not exists CAT_GUNAPROD2_RESPALDO (${getTableColumnList(Starter.skmt, "CAT_GUNAPROD2")})"$) + Starter.Skmt.ExecNonQuery($"create table if not exists kmt_info_RESPALDO (${getTableColumnList(Starter.skmt, "kmt_info")})"$) + +End Sub + +Sub chkIfTableExists(db As SQL, table As String) As Boolean 'ignore + Private t As Boolean = False 'ignore + If db.IsInitialized Then + Private c As Cursor = Starter.skmt.ExecQuery($"SELECT name FROM sqlite_master WHERE type='table' AND name='${table}'"$) + If c.RowCount > 0 Then t = True + c.Close + End If + Return t +End Sub + +'Regresa solo los nombres de las columnas de una tabla dada. +Sub getTableColumnListName(db As SQL, table As String) As String 'ignore + Private l As String = "" + If chkIfTableExists(db, table) Then + Private c As Cursor = Starter.skmt.ExecQuery($"pragma table_info(${table})"$) + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + If l.Length = 0 Then + l = $"${c.GetString("name")}"$ + Else + l = $"${l}, ${c.GetString("name")}"$ + End If + Next + End If + Else + Return "No existe la tabla." + End If + c.Close + Return l +End Sub + +Sub getTableColumnList(db As SQL, table As String) As String 'ignore + Private l As String = "" + If chkIfTableExists(db, table) Then + Private c As Cursor = Starter.skmt.ExecQuery($"pragma table_info(${table})"$) + If c.RowCount > 0 Then + For i = 0 To c.RowCount - 1 + c.Position = i + If l.Length = 0 Then + l = $"${c.GetString("name")} ${c.GetString("type")}"$ + Else + l = $"${l}, ${c.GetString("name")} ${c.GetString("type")}"$ + End If + Next + End If + Else + Return "No existe la tabla." + End If + c.Close + Return l End Sub 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. @@ -2051,6 +2111,23 @@ Sub e_ruta_EnterPressed If e_ruta.Text = "FIN DIA" And adelanteFinDia Then res = Msgbox2("Seguro que desea hacer el cierre? ... todos los datos se borraran","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore If res = DialogResponse.POSITIVE Then + + 'ESTO ES PARA EL RESPALDO DE LAS TABLAS + Starter.skmt.ExecNonQuery("delete from CAT_DETALLES_PAQ_RESPALDO ") + Starter.skmt.ExecNonQuery($"insert into CAT_DETALLES_PAQ_RESPALDO (${getTableColumnListName(Starter.skmt, "CAT_DETALLES_PAQ")}) select ${getTableColumnListName(Starter.skmt, "CAT_DETALLES_PAQ")} from CAT_DETALLES_PAQ"$) + + Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD2_RESPALDO ") + Starter.skmt.ExecNonQuery($"insert into CAT_GUNAPROD2_RESPALDO (${getTableColumnListName(Starter.skmt, "CAT_GUNAPROD2")}) select ${getTableColumnListName(Starter.skmt, "CAT_GUNAPROD2")} from CAT_GUNAPROD2"$) + + Starter.skmt.ExecNonQuery("delete from PEDIDO_RESPALDO ") + Starter.skmt.ExecNonQuery($"insert into PEDIDO_RESPALDO (${getTableColumnListName(Starter.skmt, "PEDIDO")}) select ${getTableColumnListName(Starter.skmt, "PEDIDO")} from PEDIDO"$) + + Starter.skmt.ExecNonQuery("delete from CAT_GUNAPROD_RESPALDO ") + Starter.skmt.ExecNonQuery($"insert into CAT_GUNAPROD_RESPALDO (${getTableColumnListName(Starter.skmt, "CAT_GUNAPROD")}) select ${getTableColumnListName(Starter.skmt, "CAT_GUNAPROD")} from CAT_GUNAPROD"$) + + Starter.skmt.ExecNonQuery("delete from kmt_info_RESPALDO ") + Starter.skmt.ExecNonQuery($"insert into kmt_info_RESPALDO (${getTableColumnListName(Starter.skmt, "kmt_info")}) select ${getTableColumnListName(Starter.skmt, "kmt_info")} from kmt_info"$) + e_ruta.Text = "" Starter.skmt.ExecNonQuery("delete from pedido_cliente") Starter.skmt.ExecNonQuery("delete from pedido") diff --git a/B4A/KelloggsV3.b4a.meta b/B4A/KelloggsV3.b4a.meta index 756ef95..5d87e20 100644 --- a/B4A/KelloggsV3.b4a.meta +++ b/B4A/KelloggsV3.b4a.meta @@ -57,7 +57,7 @@ ModuleBreakpoints9= ModuleClosedNodes0= ModuleClosedNodes1= ModuleClosedNodes10= -ModuleClosedNodes11=1,3,4 +ModuleClosedNodes11=1,7 ModuleClosedNodes12= ModuleClosedNodes13= ModuleClosedNodes14= @@ -82,6 +82,6 @@ ModuleClosedNodes6= ModuleClosedNodes7= ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=C_Nota,Mods,0,0,C_Cliente,Tar_Click,815,0,DiseƱador Visual,nota.bal,-100,3,B4XMainPage,Class_Globals,69,0,DiseƱador Visual,login.bal,-100,2,B4XMainPage,b_findiaOk_Click,587,0,C_Cliente,b_aceptarrpomo_Click,2974,6,Subs,iniciaActividad,683,0,C_Nota,borra_Click,252,4,C_Nota,ListView1_ItemLongClick,284,0 +NavigationStack=C_Nota,borra_Click,243,4,C_Nota,ListView1_ItemLongClick,283,6,C_Cliente,GPS_LocationChanged,760,0,C_Cliente,b_aceptarrpomo_Click,3007,6,C_Principal,cargar_Click,461,0,C_Principal,getTableColumnList,287,1,C_Principal,chkIfTableExists,279,1,B4XMainPage,b_findiaOk_Click,587,0,C_Principal,getTableColumnListName,285,1,C_Principal,B4XPage_Created,262,6,C_Principal,e_ruta_EnterPressed,2108,6 SelectedBuild=0 -VisibleModules=1,2,3,4,5,6,7,8,9,10,11,26 +VisibleModules=1,2,3,4,5,6,7,8,9,10,11,26,27