TERMINO DOE Y RESPALDO DE TABLAS

This commit is contained in:
cvaldes1201
2023-11-10 12:52:06 -06:00
parent f881163aac
commit d13c5f3b64
4 changed files with 95 additions and 4 deletions

View File

@@ -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")