- Se agrego la columna PE_TICKET a la tabla de pedido.

This commit is contained in:
Jose Alberto Guerra Ugalde
2024-08-16 14:39:14 -06:00
parent 1160c2603b
commit c9c2ed999b
7 changed files with 394 additions and 84 deletions

View File

@@ -176,6 +176,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_CUESTIONARIO (HC_CLIENTE TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS NOVENTA (NV_CLIENTE TEXT, NV_FECHA TEXT, NV_USER TEXT, NV_MOTIVO TEXT, NV_COMM TEXT, NV_LAT TEXT, NV_LON TEXT)")
Subs.agregaColumna("PEDIDO", "PE_ENVIO_OK", "INT")
Subs.agregaColumna("PEDIDO", "PE_TICKET", "INT")
Subs.agregaColumna("NOVENTA", "NV_ENVIO_OK", "INT")
c=skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_STAY_OUT ")
C.Position = 0

View File

@@ -34,7 +34,7 @@ Sub Class_Globals
Dim BLANCO As String
Dim cuenta As String
Dim tipo_venta As String = "PREVENTA"
Dim MAC_IMPRESORA As String
Dim c As Cursor
Dim s As Cursor
@@ -152,6 +152,12 @@ Sub Class_Globals
Dim cuest As C_Cuestionario
Private b_ventaabordo As Button
Private l_factura As Label
Dim Printer1 As EscPosPrinter
Dim impresoraConectada As Boolean = False
Dim MAC_IMPRESORA As String
Dim errorImpresora As Int = 0
Dim btAdmin As BluetoothAdmin
End Sub
'You can add more parameters here.
@@ -224,6 +230,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' End If
' h.Close
' j.Close
btAdmin.Initialize("BlueTeeth")
End Sub
@@ -379,13 +387,30 @@ Sub B4XPage_Appear
If la_cuenta.Text = "0" Then
p_cbFactura.Visible = False
l_factura.Visible = False
' b_ventaabordo.Visible = False
b_ventaabordo.Visible = False
Else
p_cbFactura.Visible = True
l_factura.Visible = True
' b_ventaabordo.Visible = True
b_ventaabordo.Visible = True
End If
c = skmt.ExecQuery2("select CAT_VA_VALOR from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("MACIMP"))
If c.RowCount > 0 Then
c.Position = 0
Starter.MAC_IMPRESORA = c.GetString("CAT_VA_VALOR")
End If
If Starter.MAC_IMPRESORA = "" Then Starter.MAC_IMPRESORA = "0"
' Log("|" & Starter.MAC_IMPRESORA & "|")
Printer1.Initialize(Me, "Printer1")
If Printer1.IsConnected = False Then
' Printer1.Connect
' Log("1")
Else
Printer1.DisConnect
Printer1.Connect
Log("2")
End If
End Sub
@@ -643,47 +668,285 @@ Sub b_mapa_Click
End Sub
Sub B_IMP_Click
c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
' c=Starter.skmt.ExecQuery2("SELECT CAT_VA_VALOR FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION =?", Array As String ("SUCURSAL"))
' c.Position = 0
' sucursal = c.GetString("CAT_VA_VALOR")
' c.Close
ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
Log("Conectando a impresora ...")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
Log("++++++ " & cont)
cont = cont + 1
If cont = 2 Then Printer1.Connect 'Tratamos de reconectar
If cont > 3 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
Log("** " & cont)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 3 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 21
BLANCO = " "
printer.Initialize(cmp20.OutputStream)
printer.WriteLine("DURAKELO S.A. de C.V.")
printer.WriteLine("RFC: DUR-011025-T12")
printer.WriteLine("Tel.: 618-826-0104")
printer.WriteLine("Vendedor: KMTS ")
printer.WriteLine("Tienda: " & La_nombre.Text)
printer.WriteLine("-----------PREVENTA-----------")
s=B4XPages.MainPage.skmt.ExecQuery("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU, PE_COSTO_TOT, length(PE_COSTO_TOT) as L_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
printer.WriteLine(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE"))
TAMANO = s.GetLong("L_CANT") + TAMANO
TAMANO = s.GetLong("L_COSTOU") + TAMANO
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "intmex_logo_192x192.jpg", 192, 250, True) 'ignore
Dim myimage As AnImage = Printer1.ImageToBWIMage(bmp)
myimage = Printer1.DitherImage2D(myimage, 128)
myimage= Printer1.PackImage(myimage)
Printer1.WriteString(CRLF) ' nudge the printer to show the user something is happening
Printer1.WriteString(Printer1.REVERSE)
Printer1.PrintImage(myimage)
Printer1.WriteString(Printer1.UNREVERSE)
'Printer1.Justify = 1
'printer.Initialize(cmp20.OutputStream)
' Printer1.WriteString("DISTRIBUIDORA ROCHA TULA PACHUCA" & CRLF)
Printer1.WriteString("RFC: DRT-110316-9J1" & CRLF)
' Printer1.WriteString(sucursal & CRLF)
Printer1.WriteString(sDate & CRLF)
Printer1.WriteString(sTime & CRLF)
Printer1.WriteString("Vendedor:" & usuario & CRLF)
Printer1.WriteString("Tienda: " & La_nombre.Text & CRLF)
Printer1.WriteString("ID.Cliente: " & la_cuenta.Text & CRLF)
Printer1.WriteString("Calle: " & la_Calle.Text & CRLF)
Printer1.WriteString("Colonia: " & la_col.Text & CRLF)
' Printer1.WriteString("C.P.: " & la_cp.Text & CRLF)
Printer1.WriteString("Entre calle1: " & l_entre1.Text & CRLF)
Printer1.WriteString("Entre Calle2: " & l_entre2.Text & CRLF)
' c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("PREVENTA"))
' If c.RowCount > 0 Then
' Printer1.WriteString("-----------PREVENTA-----------" & CRLF)
' ' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
' s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
' If S.RowCount>0 Then
' For i=0 To S.RowCount -1
' S.Position=i
' If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
' Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
'
' Else
'
' Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
' TAMANO = s.GetLong("L_CANT") + TAMANO
' TAMANO = s.GetLong("L_COSTOU") + TAMANO
' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
'
' ESPACIO = ESPACIO - TAMANO
'
' For E=0 To ESPACIO -1
' BLANCO = " " & BLANCO
' Next
' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF )
' TAMANO = 0
' ESPACIO = 21
' BLANCO = " "
' End If
' Next
' End If
' s.Close
' Printer1.WriteString(" " & CRLF)
' s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
' If S.RowCount>0 Then
' Printer1.WriteString("-------PROMOS PREVENTA--------" & CRLF)
' For i=0 To S.RowCount -1
' S.Position=i
' If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
' Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
'
' Else
'
' Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
' TAMANO = s.GetLong("L_CANT") + TAMANO
' TAMANO = s.GetLong("L_COSTOU") + TAMANO
' TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
'
' ESPACIO = ESPACIO - TAMANO
'
' For E=0 To ESPACIO -1
' BLANCO = " " & BLANCO
' Next
' Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF )
' TAMANO = 0
' ESPACIO = 21
' BLANCO = " "
' End If
' Next
' Printer1.WriteString(" " & CRLF)
' End If
' s.Close
'
' s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String("PREVENTA"))
' s.Position =0
' ' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
' ' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL")))
' ' End If
' Printer1.WriteString("Total preventa: $" & s.GetString("TOTAL") & CRLF)
' s.Close
' c= skmt.ExecQuery2("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) AND PE_FOLIO = ?", Array As String("PREVENTA"))
' C.Position=0
' Printer1.WriteString("Total articulos preventa: " & c.GetString("PC_NOART") & CRLF)
' c.Close
'
' Printer1.WriteString(" " & CRLF)
' End If
c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("VENTA"))
If c.RowCount > 0 Then
Printer1.WriteString("-----------VENTA-----------" & CRLF)
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("VENTA"))
If S.RowCount>0 Then
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
TAMANO = s.GetLong("L_CANT") + TAMANO
TAMANO = s.GetLong("L_COSTOU") + TAMANO
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF )
TAMANO = 0
ESPACIO = 21
BLANCO = " "
End If
Next
printer.WriteLine(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") )
TAMANO = 0
ESPACIO = 21
BLANCO = " "
Next
End If
s.Close
Printer1.WriteString(" " & CRLF)
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("VENTA"))
If S.RowCount>0 Then
Printer1.WriteString("---------PROMOS VENTA---------" & CRLF)
For i=0 To S.RowCount -1
S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
TAMANO = s.GetLong("L_CANT") + TAMANO
TAMANO = s.GetLong("L_COSTOU") + TAMANO
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_COSTOU") & " $" & s.GETSTRING("PE_COSTO_TOT") & CRLF )
TAMANO = 0
ESPACIO = 21
BLANCO = " "
End If
Next
Printer1.WriteString(" " & CRLF)
End If
s.Close
s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String("VENTA"))
s.Position =0
' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL")))
' End If
Printer1.WriteString("Total venta: $" & s.GetString("TOTAL") & CRLF)
s.Close
c= skmt.ExecQuery2("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) AND PE_FOLIO = ?", Array As String("VENTA"))
C.Position=0
Printer1.WriteString("Total articulos venta: " & c.GetString("PC_NOART") & CRLF)
c.Close
End If
Printer1.WriteString(" " & CRLF)
' Printer1.WriteString("------------------------------" & CRLF)
' s=skmt.ExecQuery("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
' s.Position =0
' ' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
' ' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL")))
' ' End If
' Printer1.WriteString("Total: $" & s.GetString("TOTAL") & CRLF)
' s.Close
' c= skmt.ExecQuery("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP )")
' C.Position=0
' Printer1.WriteString("Total Articulos: " & c.GetString("PC_NOART") & CRLF)
' c.Close
Printer1.WriteString(" " & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString("ENTREGA EN :" & CRLF)
Printer1.WriteString(la_Calle.Text & CRLF)
Printer1.WriteString("----ESTE TICKET NO ES UN -----" & CRLF)
Printer1.WriteString("--COMPROBANTE FISCAL, SOLO ES-" & CRLF)
Printer1.WriteString("--------INFORMATIVO-----------" & CRLF)
Printer1.WriteString("------------------------------" & CRLF)
Printer1.WriteString(" " & CRLF)
' Printer1.WriteString(" " & CRLF)
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
' printer.Flush
' printer.Close
End Sub
Sub Printer1_Connected (Success As Boolean)
' If Logger Then Log("Printer1_Connected")
If Success Then
ToastMessageShow("Impresora conectada", False)
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP",B4XPages.MainPage.mac_impresora))
LogColor("Impresora conectada", Colors.Green)
' B_IMP2.Enabled = True
impresoraConectada = True
Else
' Msgbox(Printer1.ConnectedErrorMsg, "Error connecting.") 'ignore
' ToastMessageShow("Error conectando la impresora", False)
LogColor("Error conectando la impresora", Colors.Red)
errorImpresora = errorImpresora + 1
If errorImpresora > 1 Then
B4XPages.MainPage.MAC_IMPRESORA = "0"
errorImpresora = 0
End If
End If
s.Close
printer.WriteLine("Total Preventa: $" & total_cliente)
printer.WriteLine("------------VENTA-------------")
printer.WriteLine(" ")
printer.WriteLine("TOTAL: $" & total_cliente)
printer.WriteLine(" ")
printer.WriteLine("----ESTE TICKET NO ES UN -----")
printer.WriteLine("--COMPROBANTE FISCAL, SOLO ES-")
printer.WriteLine("--------INFORMATIVO-----------")
printer.WriteLine("------------------------------")
printer.WriteLine(" ")
printer.Flush
' printer.Close
End Sub
Sub Printer_Connected (Success As Boolean)
@@ -876,15 +1139,15 @@ Sub mandaPendientes
End If
'PEDIDO (Pendientes)
c = skmt.ExecQuery($"SELECT PE_ENVIO_OK, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO where PE_ENVIO_OK <> 1"$)
c = skmt.ExecQuery($"SELECT PE_ENVIO_OK, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TICKET FROM PEDIDO where PE_ENVIO_OK <> 1"$)
Log($"Pedido PENDIENTE: ${c.RowCount}"$)
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_pedido2_INTMEX"
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), PCNoArts, PCMonto)
cmd.Name = "insert_pedido4_INTMEX"
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), PCNoArts, PCMonto, c.GetString("PE_TICKET"))
reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$)
Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$)
' sql.insert_pedido_INTMEX=INSERT INTO INTMEX.PEDIDO (PE_CODPROMO,PE_FECHA_SINC,PE_IDALMACEN,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_DESCUENTO, PE_TIPO) VALUES ((?),SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),nvl((?),0),(?))

View File

@@ -530,7 +530,7 @@ Sub B4XPage_Appear
' If l_ruta.Text = "0" Then
' b_abordo.Visible = False
' Else
' Else
' b_abordo.Visible = True
' End If
@@ -659,15 +659,15 @@ Sub Subir_Click
d.Close
' PEDIDO
c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO FROM PEDIDO")
c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_TICKET FROM PEDIDO")
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
If c.RowCount > 0 Then
For i = 0 To c.RowCount - 1
c.Position = i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_pedido2_INTMEX" 'CON TOTALES INCLUIDOS
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), PCNoArts, PCMonto)
cmd.Name = "insert_pedido4_INTMEX" 'CON TOTALES INCLUIDOS
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"), PCNoArts, PCMonto, c.GetString("PE_TICKET"))
reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$)
' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$)
' cmd.Name = "insert_pedido_INTMEX" ' SIN TOTALES INCLUIDOS
@@ -1076,25 +1076,50 @@ Sub JobDone(Job As HttpJob)
Next
Next
End If
' If RESULT.Tag = "usuarioA" Then 'query tag
' Private n As String = "Sin Usuario"
' For Each records() As Object In RESULT.Rows
' n = records(RESULT.Columns.Get("USUARIO"))
' Next
' LogColor("**************************"&n, Colors.Green)
' If n = "OKActivo" Then
' Log("Usuario guardado en BD es 'Valido'")
' Else If n = "OKExpirado" Then
' Msgbox("Usuario Expirado llamar al administrador","") 'ignore
' B4XPages.ShowPage("B4XMainPage")
' Else If n = "OKCancelado" Then
' Msgbox("Usuario Cancelado llamar al administrador","") 'ignore
' B4XPages.ShowPage("B4XMainPage")
' Else
' Msgbox("Usuario o password No validos","") 'ignore
' B4XPages.ShowPage("B4XMainPage")
' End If
' Log("***************** "&n)
' End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "usuarioA" Then 'query tag
Private n As String = "Sin Usuario"
For Each records() As Object In RESULT.Rows
n = records(RESULT.Columns.Get("USUARIO"))
Next
LogColor("**************************"&n, Colors.Green)
Log(n)
'Logcolor("**************************"&n, Colors.Green)
If n = "OKActivo" Then
Log("Usuario guardado en BD es 'Valido'")
Else If n = "OKExpirado" Then
Msgbox("Usuario Expirado llamar al administrador","") 'ignore
B4XPages.ShowPage("B4XMainPage")
Else If n = "OKCancelado" Then
Msgbox("Usuario Cancelado llamar al administrador","") 'ignore
B4XPages.ShowPage("B4XMainPage")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_ruta_DUR3" 'Se cambio de "select_ruta_DUR2_2" el 28/5/2024 para poder deshabilitar el query de las versiones anteriores.
cmd.Parameters = Array As Object(ALMACEN,e_ruta.text,imei)
Log($"${ALMACEN},${e_ruta.text},${imei}"$)
reqManager.ExecuteQuery(cmd , 0, "ruta")
Else
Msgbox("Usuario o password No validos","") 'ignore
B4XPages.ShowPage("B4XMainPage")
B4XPages.MainPage.skmt.ExecNonQuery("delete from USUARIOA")
ExitApplication
End If
Log("***************** "&n)
'Log("***************** "&n)
End If
End If
@@ -1126,7 +1151,7 @@ Sub JobDone(Job As HttpJob)
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0)", Array As Object (CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (CAT_CL_CODIGO))
Next
Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0) ",Array As Object ("0",e_ruta.TEXT, "VENTA ABORDO","null","null","null","null","null","null","null","null","null","null","null","null","NULL","null","NULL"))
' Starter.skmt.ExecNonQuery2("INSERT INTO kmt_info(CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO, gestion) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0) ",Array As Object ("0",e_ruta.TEXT, "VENTA ABORDO","null","null","null","null","null","null","null","null","null","null","null","null","NULL","null","NULL"))
Listo1 = 1
S_CC.Text = "LISTO"
If Starter.marcaCel <> "Sony" Then ToastMessageShow("Catalogo Clientes Actualizados." , True)
@@ -1870,6 +1895,7 @@ Sub JobDone(Job As HttpJob)
Next
End If
End If
End If
Job.Release
End Sub
@@ -1915,12 +1941,26 @@ Sub connecta_Click
' End If
' c.Close
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_ruta_INTMEX_7"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
' Log($"${ALMACEN},${e_ruta.text},${imei}"$)
reqManager.ExecuteQuery(cmd , 0, "ruta")
c=Starter.skmt.ExecQuery("select USUARIO, PASS from usuarioa")
c.Position=0
If c.RowCount > 0 And c.GetString("USUARIO") <> "KMTS1" Then
Private usrT As String = c.GetString("USUARIO")
Private passT As String = c.GetString("PASS")
Log(usrT)
Log(passT)
cmd.Initialize
cmd.Name = "select_usuario_INTMEX_10"
cmd.Parameters = Array As Object(usrT, passT)
reqManager.ExecuteQuery(cmd , 0, "usuarioA")
End If
c.Close
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "select_ruta_INTMEX_7"
' cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
'' Log($"${ALMACEN},${e_ruta.text},${imei}"$)
' reqManager.ExecuteQuery(cmd , 0, "ruta")
If e_ruta.Text = "KMTS1" Then
cargar.Visible = True

View File

@@ -37,6 +37,7 @@ Public Sub Initialize As Object
rkmt.Initialize(safePath,$"${name(0)}.rkmt.km"$, True)
skmt.Initialize(File.DirInternal,"kmt.db", False)
rkmt.ExecNonQuery($"create table if not exists pedidos (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)"$)
agregaColumna("pedidos", "pe_ticket", "INT")
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna en la tabla
Private c As Cursor = rkmt.ExecQuery($"SELECT COUNT(*) AS fCol FROM pragma_table_info('pedidos') WHERE name='pe_envio_ok'"$)
c.Position = 0
@@ -85,7 +86,7 @@ Sub respaldaPedido
Log("copiando pedidos ...")
rkmt.BeginTransaction
rkmt.ExecNonQuery($"delete from pedidos where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into pedidos (pe_folio, pe_desc, pe_costo_sin, pe_ruta, pe_cedis, pe_costo_tot, pe_costou, pe_cant, pe_pronombre, pe_proid, pe_cliente, pe_fecha, pe_usuario, pe_envio_ok) select * from skmt1.pedido where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$)
rkmt.ExecNonQuery($"insert into pedidos (pe_folio, pe_desc, pe_costo_sin, pe_ruta, pe_cedis, pe_costo_tot, pe_costou, pe_cant, pe_pronombre, pe_proid, pe_cliente, pe_fecha, pe_usuario, pe_envio_ok, pe_ticket) select * from skmt1.pedido where substr(pe_fecha, 1, 10) = '${fechaHoy}'"$)
rkmt.TransactionSuccessful 'Si no se pone TransactionSuccessful no se escribe NADA!!
rkmt.EndTransaction
' Log(((DateTime.Now - inicio)/1000) & " segs")
@@ -131,15 +132,15 @@ End Sub
'Ej. agregaColumna("TABLA", "COLUMNA", "TIPO")
Sub agregaColumna(tabla As String, columna As String, tipo As String) 'ignore
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna en la tabla
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) AS fCol FROM pragma_table_info('${tabla}') WHERE name='${columna}'"$)
Private c As Cursor = rkmt.ExecQuery($"SELECT COUNT(*) AS fCol FROM pragma_table_info('${tabla}') WHERE name='${columna}'"$)
c.Position = 0
If c.GetString("fCol") = 0 Then 'Si no esta la columna la agregamos
B4XPages.MainPage.skmt.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
rkmt.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
Log($"Columna "${columna} ${tipo}", agregada a "${tabla}"."$)
End If
Catch 'Si no funciona "pragma_table_info" lo hacemos con try/catch
Try
B4XPages.MainPage.skmt.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
rkmt.ExecNonQuery($"ALTER TABLE ${tabla} ADD COLUMN ${columna} ${tipo}"$)
Log($"Columna "${columna} ${tipo}", agregada a "${tabla}".."$)
Catch
Log(LastException)

File diff suppressed because one or more lines are too long

View File

@@ -20,6 +20,7 @@ ModuleBookmarks25=
ModuleBookmarks26=
ModuleBookmarks27=
ModuleBookmarks28=
ModuleBookmarks29=
ModuleBookmarks3=
ModuleBookmarks4=
ModuleBookmarks5=
@@ -49,6 +50,7 @@ ModuleBreakpoints25=
ModuleBreakpoints26=
ModuleBreakpoints27=
ModuleBreakpoints28=
ModuleBreakpoints29=
ModuleBreakpoints3=
ModuleBreakpoints4=
ModuleBreakpoints5=
@@ -72,12 +74,13 @@ ModuleClosedNodes2=
ModuleClosedNodes20=
ModuleClosedNodes21=
ModuleClosedNodes22=
ModuleClosedNodes23=2
ModuleClosedNodes24=
ModuleClosedNodes25=1
ModuleClosedNodes26=
ModuleClosedNodes23=
ModuleClosedNodes24=2
ModuleClosedNodes25=
ModuleClosedNodes26=1
ModuleClosedNodes27=
ModuleClosedNodes28=
ModuleClosedNodes29=
ModuleClosedNodes3=
ModuleClosedNodes4=
ModuleClosedNodes5=3
@@ -85,6 +88,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=Subs,pedidoGuardado,1400,0,C_Nota,B4XPage_Appear,124,0,C_NoVenta,GUARDA_Click,67,0,Diseñador Visual,noventa.bal,-100,2,Diseñador Visual,promociones.bal,-100,1,C_NoVenta,B4XPage_Appear,56,6,Diseñador Visual,principal.bal,-100,3,C_Principal,B4XPage_Appear,524,0,Diseñador Visual,cliente.bal,-100,2,C_Cliente,B4XPage_Appear,363,0
NavigationStack=C_Principal,JobDone,1891,1,Visual Designer,cliente.bal,-100,6,C_Principal,connecta_Click,1928,0,C_RespaldoDiario,vacuum,123,0,C_RespaldoDiario,agregaColumna,142,0,C_RespaldoDiario,Initialize,33,0,C_RespaldoDiario,respaldaPedido,81,1,B4XMainPage,B4XPage_Created,172,2,C_Principal,Subir_Click,663,1,C_Cliente,mandaPendientes,1143,1
SelectedBuild=0
VisibleModules=2,26,13,16,14,4,27,15,9,6
VisibleModules=2,27,13,16,14,4,28,15,9,6

View File

@@ -34,6 +34,7 @@ Sub Process_Globals
Dim logger As Boolean = False
Dim marcaCel As String = ph.manufacturer
Dim tabla As String
Dim MAC_IMPRESORA As String
End Sub
Sub Service_Create