2 Commits

Author SHA1 Message Date
Javier
fb5898b38b 5.08.09 2025-09-01 13:31:13 -06:00
afcd8129ec - VERSION 5.06.10
- Cambios de Javy.
2025-07-01 11:51:28 -06:00
12 changed files with 512 additions and 267 deletions

View File

@@ -153,9 +153,12 @@ Private Sub B4XPage_Created (Root1 As B4XView)
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS COMENTARIOS (COMENTARTIO TEXT, CLIENTE TEXT, DESCARGADO TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS COMENTARIOS (COMENTARTIO TEXT, CLIENTE TEXT, DESCARGADO TEXT)")
' skmt.ExecNonQuery("DROP TABLE IF EXISTS CAT_PROMOS_DESCUENTOS")
Subs.agregaColumna("PLAN_LEALTAD", "DESCARGADO", "TEXT") Subs.agregaColumna("PLAN_LEALTAD", "DESCARGADO", "TEXT")
Subs.agregaColumna("PEDIDO_CLIENTE", "PC_FACTURA", "INTEGER") Subs.agregaColumna("PEDIDO_CLIENTE", "PC_FACTURA", "INTEGER")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS GPS (HABILITADO)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS GPS (HABILITADO)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMOS_DESCUENTOS (CAT_PD_ALMACEN TEXT, CAT_PD_COD_PROMO TEXT, CAT_PD_RANGO INT, CAT_PD_VIGENCIA TEXT, CAT_PD_DESCUENTO TEXT, CAT_PD_PRODUCTO TEXT, CAT_PD_TIER TEXT)")
Subs.agregaColumna("CAT_PROMOS_DESCUENTOS", "CAT_PD_RANGO2", "INT")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD2 (CAT_GP_CODPROMO TEXT, CAT_GP_INICIATIVA TEXT, CAT_GP_TIPOPROD TEXT, CAT_GP_DEV TEXT, CAT_GP_ALMACEN NUM, CAT_GP_ID TEXT, CAT_GP_NOMBRE TEXT, CAT_GP_IMP1 TEXT, CAT_GP_IMP2 TEXT, CAT_GP_PRECIO TEXT, CAT_GP_CLASIF TEXT, CAT_GP_STS TEXT, CAT_GP_TIPO TEXT, CAT_GP_SUBTIPO TEXT, CAT_GP_IMG )") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GUNAPROD2 (CAT_GP_CODPROMO TEXT, CAT_GP_INICIATIVA TEXT, CAT_GP_TIPOPROD TEXT, CAT_GP_DEV TEXT, CAT_GP_ALMACEN NUM, CAT_GP_ID TEXT, CAT_GP_NOMBRE TEXT, CAT_GP_IMP1 TEXT, CAT_GP_IMP2 TEXT, CAT_GP_PRECIO TEXT, CAT_GP_CLASIF TEXT, CAT_GP_STS TEXT, CAT_GP_TIPO TEXT, CAT_GP_SUBTIPO TEXT, CAT_GP_IMG )")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PROMO_ESP (HVD_CLIENTE)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PROMO_ESP (HVD_CLIENTE)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMO_ESP(CAT_PE_ID TEXT,CAT_PE_IDPROMO TEXT,CAT_PE_MONTO TEXT)") skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMO_ESP(CAT_PE_ID TEXT,CAT_PE_IDPROMO TEXT,CAT_PE_MONTO TEXT)")
@@ -194,12 +197,15 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Subs.agregaColumna("HIST_ENCUESTA", "HE_FOTO", "BLOB") Subs.agregaColumna("HIST_ENCUESTA", "HE_FOTO", "BLOB")
Subs.agregaColumna("kmt_info3", "foto", "BLOB") Subs.agregaColumna("kmt_info3", "foto", "BLOB")
Subs.agregaColumna("PEDIDO", "PE_RECALCULO", "TEXT") Subs.agregaColumna("PEDIDO", "PE_RECALCULO", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_RECCEDIS", "TEXT")
Subs.agregaColumna("PEDIDO", "PE_RECALCULOTOT", "TEXT") Subs.agregaColumna("PEDIDO", "PE_RECALCULOTOT", "TEXT")
Subs.agregaColumna("HIST_ENCUESTA", "HE_LON", "TEXT") Subs.agregaColumna("HIST_ENCUESTA", "HE_LON", "TEXT")
Subs.agregaColumna("kmt_info3", "encuesta", "TEXT") Subs.agregaColumna("kmt_info3", "encuesta", "TEXT")
Subs.agregaColumna("kmt_info3", "CAT_CL_TIPOCLIENTE", "TEXT") Subs.agregaColumna("kmt_info3", "CAT_CL_TIPOCLIENTE", "TEXT")
Subs.agregaColumna("kmt_info3", "CAT_CL_LIMITECREDITO", "TEXT")
Subs.agregaColumna("kmt_info3", "CAT_CL_BCREDITO", "TEXT") '########################## CODIGO PARA CREDITOS #################### Subs.agregaColumna("kmt_info3", "CAT_CL_BCREDITO", "TEXT") '########################## CODIGO PARA CREDITOS ####################
Subs.agregaColumna("CAT_GUNAPROD", "CAT_PA_BSEGMENTA", "TEXT") Subs.agregaColumna("CAT_GUNAPROD", "CAT_PA_BSEGMENTA", "TEXT")
Subs.agregaColumna("CAT_GUNAPROD", "CAT_LISTAPRECIO", "TEXT")
Subs.agregaColumna("CAT_GUNAPROD", "CAT_PA_SEGMENTAV", "TEXT") Subs.agregaColumna("CAT_GUNAPROD", "CAT_PA_SEGMENTAV", "TEXT")
Subs.agregaColumna("CAT_GUNAPROD2", "CAT_PA_BSEGMENTA", "TEXT") Subs.agregaColumna("CAT_GUNAPROD2", "CAT_PA_BSEGMENTA", "TEXT")
Subs.agregaColumna("CAT_GUNAPROD2", "CAT_PA_SEGMENTAV", "TEXT") Subs.agregaColumna("CAT_GUNAPROD2", "CAT_PA_SEGMENTAV", "TEXT")
@@ -822,7 +828,7 @@ End Sub
Sub i_engrane_Click Sub i_engrane_Click
p_appUpdate.Left = (Root.Width/2) - (p_appUpdate.Width/2) p_appUpdate.Left = (Root.Width/2) - (p_appUpdate.Width/2)
lv_server.Clear lv_server.Clear
lv_server.AddSingleLine("http://keymon.lat:1782") lv_server.AddSingleLine("http://keymon.net:1782")
If user.Text = "KMTS1" Then lv_server.AddSingleLine("http://10.0.0.205:1782") If user.Text = "KMTS1" Then lv_server.AddSingleLine("http://10.0.0.205:1782")
l_server.Text = Starter.server l_server.Text = Starter.server
et_server.Text = Starter.server et_server.Text = Starter.server

View File

@@ -461,6 +461,9 @@ Sub Class_Globals
Private lv_comentarios As ListView Private lv_comentarios As ListView
Private ImageView4 As ImageView Private ImageView4 As ImageView
Private p_cliente_ As Panel Private p_cliente_ As Panel
Private l_limite As Label
Private l_credito As Label
Private l_tipocliente As Label
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -532,13 +535,16 @@ End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage. 'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear Sub B4XPage_Appear
TraeCantProd
ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png")
btnPlanLealtad.Visible = False btnPlanLealtad.Visible = False
bitacora.inicioFin bitacora.inicioFin
' iniciofin ' iniciofin
que_modulo = 1 que_modulo = 1
dentroDeGeocerca = False dentroDeGeocerca = False
indicePregunta = 0 indicePregunta = 0
l_credito.Visible = False
l_limite.Visible = False
pnlPlanLealtad.Top = 0 pnlPlanLealtad.Top = 0
pnlPlanLealtad.Left = 0 pnlPlanLealtad.Left = 0
pnlPlanLealtad.Width = Root.Width pnlPlanLealtad.Width = Root.Width
@@ -585,6 +591,9 @@ Sub B4XPage_Appear
' b_Inicio_Fin_venta.Visible = False ' b_Inicio_Fin_venta.Visible = False
' End If ' End If
If Subs.hayPedido Then 'Si hay pedido, deshabilitamos el boton de "No Venta" If Subs.hayPedido Then 'Si hay pedido, deshabilitamos el boton de "No Venta"
Log(">>>>> HAY PEDIDO") Log(">>>>> HAY PEDIDO")
Tels.Enabled = False Tels.Enabled = False
@@ -598,6 +607,24 @@ Sub B4XPage_Appear
End If End If
skmt.Initialize(ruta,"kmt.db", True) skmt.Initialize(ruta,"kmt.db", True)
reqManager.Initialize(Me, Starter.server) reqManager.Initialize(Me, Starter.server)
Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) AND foto IS NULL")
If fotomostrar1.RowCount > 0 Then
ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png")
Log("aqui no hay foto")
Else
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "select_cat_clientes2_guna_FOTO_GV2"
cmd.Parameters = Array As Object(la_cuenta.Text, Subs.traeAlmacen,Subs.traeRuta)
Log(la_cuenta.Text)
Log(Subs.traeRuta)
Log(Subs.traeAlmacen)
reqManager.ExecuteQuery(cmd , 0, "kmt_datos_foto")
End If
l_tipocliente.Text = Subs.traeTipoCliente
p_camara.Width = Root.Width p_camara.Width = Root.Width
p_camara.Height = Root.Height p_camara.Height = Root.Height
S2=B4XPages.MainPage.skmt.ExecQuery("select count(*) AS CUANTOS from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)") S2=B4XPages.MainPage.skmt.ExecQuery("select count(*) AS CUANTOS from HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa)")
@@ -1146,26 +1173,7 @@ Sub B4XPage_Appear
End If End If
End If End If
Dim fotomostrar As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If fotomostrar.RowCount > 0 Then
Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) AND foto IS NULL")
If fotomostrar1.RowCount > 0 Then
ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png")
Log("aqui no hay foto")
Else
fotomostrar.Position = 0
Private fotomostrarfinal() As Byte = fotomostrar.GetBlob("foto")
Dim InputStream1 As InputStream
InputStream1.InitializeFromBytesArray(fotomostrarfinal, 0, fotomostrarfinal.Length)
Dim Bitmap1 As Bitmap
Bitmap1.Initialize2(InputStream1)
InputStream1.Close
ImageView4.Bitmap = Bitmap1
Log("aqui si hay foto")
End If
End If
SV_ENCUESTA.Visible = False SV_ENCUESTA.Visible = False
P_gallina.Visible = False P_gallina.Visible = False
p_pregunta1.Visible = False p_pregunta1.Visible = False
@@ -1184,6 +1192,50 @@ Sub B4XPage_Appear
If fac.GetString("PC_FACTURA") <> Null And IsNumber(fac.GetString("PC_FACTURA")) Then factura = fac.GetString("PC_FACTURA") If fac.GetString("PC_FACTURA") <> Null And IsNumber(fac.GetString("PC_FACTURA")) Then factura = fac.GetString("PC_FACTURA")
If factura = "1" Then CH_FACTURA.Checked = True If factura = "1" Then CH_FACTURA.Checked = True
' If l_credito.IsInitialized Then
c=B4XPages.MainPage.skmt.ExecQuery("select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO, CAT_CL_LIMITECREDITO from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c.Position = 0
If c.GetInt("CAT_CL_BCREDITO") = 1 Then
l_credito.Visible = True
l_limite.Visible = True
l_limite.Text = c.GetInt("CAT_CL_LIMITECREDITO")
Else If c.GetInt("CAT_CL_BCREDITO") = 0 Then
l_credito.Visible = False
l_limite.Visible = False
End If
' End If
End Sub
Sub TraeCantProd As Boolean
' Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT* FROM PEDIDO JOIN CAT_PROMOS_DESCUENTOS ON CAT_PD_PRODUCTO = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_CEDIS = ? AND PE_CANT >= CAT_PD_RANGO AND CAT_PD_RANGO2 <= PE_CANT", Array As String(Subs.traeAlmacen))
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA) AND PE_CEDIS = ? ", Array As String(Subs.traeAlmacen))
If c.RowCount > 0 Then
For promespdes = 0 To c.RowCount -1
c.Position = promespdes
Dim rangosel As Cursor= B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM CAT_PROMOS_DESCUENTOS WHERE CAT_PD_PRODUCTO = ? AND CAT_PD_RANGO <= ? AND CAT_PD_RANGO2 >= ?",Array As String(c.GetString("PE_PROID"),c.GetInt("PE_CANT"),c.GetInt("PE_CANT")))
If rangosel.RowCount > 0 Then
rangosel.Position = 0
If rangosel.GetString("CAT_PD_TIER").Contains(Subs.traeTipoCliente) Then
Log(c.GetString("PE_COSTOU"))
Log(rangosel.GetString("CAT_PD_DESCUENTO"))
Private recalculo As Float = c.GetString("PE_COSTOU") - NumberFormat2(((c.GetString("PE_COSTOU") * rangosel.GetString("CAT_PD_DESCUENTO"))/100),0,2,2,False)
LogColor(recalculo,Colors.Blue)
Private recalculototal As Float =c.GetString("PE_CANT") * recalculo
skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = ?, PE_RECALCULOTOT = ?, PE_RECCEDIS = ? WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(NumberFormat2(recalculo,0,2,2,False) ,NumberFormat2(recalculototal,0,2,2,False), rangosel.GetString("CAT_PD_COD_PROMO"),c.GetString("PE_PROID")))
End If
Else
skmt.ExecNonQuery2("UPDATE PEDIDO set PE_RECALCULO = NULL, PE_RECALCULOTOT = NULL, PE_RECCEDIS = NULL WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) ",Array As String(c.GetString("PE_PROID")))
End If
Next
End If
End Sub End Sub
Sub GPS_LocationChanged (Location1 As Location) Sub GPS_LocationChanged (Location1 As Location)
@@ -1385,6 +1437,7 @@ Sub GPS_LocationChanged (Location1 As Location)
' If distance > 100 Then ToastMessageShow("Fuera de rango GPS", False) ' If distance > 100 Then ToastMessageShow("Fuera de rango GPS", False)
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
CallSubDelayed(Tracker, "CreateLocationRequest") CallSubDelayed(Tracker, "CreateLocationRequest")
@@ -1540,6 +1593,42 @@ Sub JobDone(Job As HttpJob)
' End If ' End If
If result1.Tag = "kmt_datos_foto" Then 'query tag
For Each records() As Object In result1.Rows
Dim CAT_CL_FOTO() As Byte = records(result1.Columns.Get("CAT_CL_FOTO"))
Next
Log("si paso")
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE kmt_info3 SET foto = (?) WHERE CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)",Array As Object(CAT_CL_FOTO))
Dim fotomostrar As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
If fotomostrar.RowCount > 0 Then
Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT foto FROM kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA) AND foto IS NULL")
If fotomostrar1.RowCount > 0 Then
ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png")
Log("aqui no hay foto")
Else
fotomostrar.Position = 0
Private fotomostrarfinal() As Byte = fotomostrar.GetBlob("foto")
Dim InputStream1 As InputStream
InputStream1.InitializeFromBytesArray(fotomostrarfinal, 0, fotomostrarfinal.Length)
Dim Bitmap1 As Bitmap
Bitmap1.Initialize2(InputStream1)
InputStream1.Close
ImageView4.Bitmap = Bitmap1
Log("aqui si hay foto")
End If
End If
End If
End If End If
Job.Release Job.Release
End Sub End Sub
@@ -2566,27 +2655,6 @@ Sub b_mapa_Click
B4XPages.ShowPage("mapas") B4XPages.ShowPage("mapas")
End Sub 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"))
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP",Starter.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
Starter.MAC_IMPRESORA = "0"
errorImpresora = 0
End If
End If
End Sub
Sub B_IMP_Click Sub B_IMP_Click
' Printer1.Connect2 ' Printer1.Connect2
' c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL")) ' c=Starter.skmt.ExecQuery2("select count(*) AS CUANTOS from CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String ("PERFIL"))
@@ -2610,13 +2678,207 @@ Sub B_IMP_Click
Else Else
Impresion Impresion
End If End If
Else If ALMACEN = 88 OR ALMACEN = 92 Then
Impresion3
Else Else
Impresion Impresion
End If End If
B4XPages.MainPage.skmt.ExecNonQuery("delete from TICKET_IMPRESO where idCliente In (select cuenta from cuentaa)") B4XPages.MainPage.skmt.ExecNonQuery("delete from TICKET_IMPRESO where idCliente In (select cuenta from cuentaa)")
B4XPages.MainPage.skmt.ExecNonQuery($"insert into TICKET_IMPRESO (idCliente) values ('${Subs.traeCliente}')"$) B4XPages.MainPage.skmt.ExecNonQuery($"insert into TICKET_IMPRESO (idCliente) values ('${Subs.traeCliente}')"$)
End Sub End Sub
Sub Impresion3
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
' If logger Then Log("conectando 1")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada)
Sleep(1000)
cont = cont + 1
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 15 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
Else
' If logger Then Log("conectando 2")
Printer1.Connect
Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000)
cont = cont + 1
If cont = 2 Then Printer1.Connect
If cont > 4 Then impresoraConectada = True
Loop
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 21
BLANCO = " "
Dim bmp As Bitmap
bmp.InitializeResize(File.DirAssets, "guna.png", 192, 192, 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)
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,IFNULL(PE_RECALCULO,0) AS PE_RECALCULO, length(PE_COSTOU) as L_COSTOU, length(Ifnull(PE_RECALCULO,0)) as L_COSTOREC,PE_CANT * PE_COSTOU AS PE_COSTO_TOT,PE_CANT * IFNULL(PE_RECALCULO,0) AS PE_COSTO_TOTREC, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,length(PE_CANT * IFNULL(PE_RECALCULO,0)) as L_COSTO_TOTREC,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_CEDIS = ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String(Subs.traeAlmacen))
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
If s.GetDouble("PE_RECALCULO") = 0 Then
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 = " "
Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
TAMANO = s.GetLong("L_CANT") + TAMANO
TAMANO = s.GetLong("L_COSTOREC") + TAMANO
TAMANO = s.GetLong("L_COSTO_TOTREC") + TAMANO
ESPACIO = ESPACIO - TAMANO
For E=0 To ESPACIO -1
BLANCO = " " & BLANCO
Next
Printer1.WriteString(BLANCO & s.GETSTRING("PE_CANT") & " X $" & s.GETSTRING("PE_RECALCULO") & " $" & s.GETSTRING("PE_COSTO_TOTREC") & CRLF )
TAMANO = 0
ESPACIO = 21
BLANCO = " "
End If
End If
Next
End If
s.Close
Printer1.WriteString(" " & CRLF)
s=skmt.ExecQuery("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 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")
If S.RowCount>0 Then
Printer1.WriteString("------------PROMOS------------" & 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.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("Subtotal Preventa: $" & 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
s=skmt.ExecQuery("select IFNULL(SUM(PE_COSTO_TOT),0) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and IFNULL(PE_RECALCULO,0) = 0")
s.Position =0
S2=skmt.ExecQuery("select IFNULL(SUM(PE_RECALCULOTOT),0) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and IFNULL(PE_RECALCULO,0) <> 0")
S2.Position =0
' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
' Printer1.WriteString("Descuento: $" & (s.GetString("TOTAL2") - s.GetString("TOTAL")))
' End If
' Printer1.WriteString("Descuento: $" & 150 & CRLF)
Printer1.WriteString("Total Preventa: $" & NumberFormat2((s.GetString("TOTAL") + S2.GetString("TOTAL")),0,2,2,False)& CRLF)
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)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
' printer.Flush
' printer.Close
End Sub
Sub Impresion2 Sub Impresion2
c=skmt.ExecQuery("select USUARIO from usuarioa") c=skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0 c.Position=0
@@ -2633,28 +2895,26 @@ Sub Impresion2
ProgressDialogShow("Imprimiendo, un momento ...") ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect Printer1.DisConnect
If Not(Printer1.IsConnected) Then If Not(Printer1.IsConnected) Then
Log("Conectando a impresora ...") ' If logger Then Log("conectando 1")
Printer1.Connect Printer1.Connect
Private cont As Int = 0 Private cont As Int = 0
Do While Not(impresoraConectada) Do While Not(impresoraConectada)
Sleep(1000) Sleep(1000)
Log("++++++ " & cont)
cont = cont + 1 cont = cont + 1
If cont = 2 Then Printer1.Connect 'Tratamos de reconectar If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 3 Then impresoraConectada = True If cont > 15 Then impresoraConectada = True
Loop Loop
Sleep(500) Sleep(500)
impresoraConectada = False impresoraConectada = False
Else Else
Log("conectando 2") ' If logger Then Log("conectando 2")
Printer1.Connect Printer1.Connect
Private cont As Int = 0 Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000) Sleep(1000)
Log("****** " & cont)
cont = cont + 1 cont = cont + 1
If cont = 2 Then Printer1.Connect If cont = 2 Then Printer1.Connect
If cont > 3 Then impresoraConectada = True If cont > 4 Then impresoraConectada = True
Loop Loop
Sleep(500) Sleep(500)
impresoraConectada = False impresoraConectada = False
@@ -2752,36 +3012,6 @@ Sub Impresion2
End If End If
s.Close s.Close
' Printer1.WriteString("-------------RMI..-----------" & 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_TIPO = ? AND PE_CEDIS = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA","DUR"))
' 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
s=skmt.ExecQuery("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)") s=skmt.ExecQuery("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
s.Position =0 s.Position =0
' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then ' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
@@ -2835,28 +3065,26 @@ Sub Impresion
ProgressDialogShow("Imprimiendo, un momento ...") ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect Printer1.DisConnect
If Not(Printer1.IsConnected) Then If Not(Printer1.IsConnected) Then
Log("Conectando a impresora ...") ' If logger Then Log("conectando 1")
Printer1.Connect Printer1.Connect
Private cont As Int = 0 Private cont As Int = 0
Do While Not(impresoraConectada) Do While Not(impresoraConectada)
Sleep(1000) Sleep(1000)
Log("++++++ " & cont)
cont = cont + 1 cont = cont + 1
If cont = 2 Then Printer1.Connect 'Tratamos de reconectar If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
If cont > 3 Then impresoraConectada = True If cont > 15 Then impresoraConectada = True
Loop Loop
Sleep(500) Sleep(500)
impresoraConectada = False impresoraConectada = False
Else Else
Log("conectando 2") ' If logger Then Log("conectando 2")
Printer1.Connect Printer1.Connect
Private cont As Int = 0 Private cont As Int = 0
Do While Not(impresoraConectada) Or Not(Printer1.IsConnected) Do While Not(impresoraConectada) Or Not(Printer1.IsConnected)
Sleep(1000) Sleep(1000)
Log("****** " & cont)
cont = cont + 1 cont = cont + 1
If cont = 2 Then Printer1.Connect If cont = 2 Then Printer1.Connect
If cont > 3 Then impresoraConectada = True If cont > 4 Then impresoraConectada = True
Loop Loop
Sleep(500) Sleep(500)
impresoraConectada = False impresoraConectada = False
@@ -2896,16 +3124,17 @@ Sub Impresion
Printer1.WriteString("-----------PREVENTA-----------" & CRLF) 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. ' 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_CEDIS <> ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("DUR")) ' 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_CEDIS <> ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("DUR"))
s=skmt.ExecQuery2("select PE_PRONOMBRE, SUM(PE_CANT) AS PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,SUM(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_CEDIS <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_COSTOU > 0.01 GROUP by PE_PROID", Array As String("DUR"))
If S.RowCount>0 Then If S.RowCount>0 Then
For i=0 To S.RowCount -1 For i=0 To S.RowCount -1
S.Position=i S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then ' If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else ' Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) ' Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
TAMANO = s.GetLong("L_CANT") + TAMANO TAMANO = s.GetLong("L_CANT") + TAMANO
TAMANO = s.GetLong("L_COSTOU") + TAMANO TAMANO = s.GetLong("L_COSTOU") + TAMANO
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
@@ -2919,22 +3148,24 @@ Sub Impresion
TAMANO = 0 TAMANO = 0
ESPACIO = 21 ESPACIO = 21
BLANCO = " " BLANCO = " "
End If ' End If
Next Next
End If End If
s.Close s.Close
Printer1.WriteString(" " & CRLF) Printer1.WriteString(" " & CRLF)
s=skmt.ExecQuery("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 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") ' s=skmt.ExecQuery("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 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")
s=skmt.ExecQuery2("select PE_PRONOMBRE, SUM(PE_CANT) AS PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,SUM(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_CEDIS <> ? AND PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_COSTOU = 0.01 GROUP by PE_PROID", Array As String("DUR"))
If S.RowCount>0 Then If S.RowCount>0 Then
Printer1.WriteString("------------PROMOS------------" & CRLF) Printer1.WriteString("--------BONIFICACIONES--------" & CRLF)
For i=0 To S.RowCount -1 For i=0 To S.RowCount -1
S.Position=i S.Position=i
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then ' If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF) Printer1.WriteString(s.GetString("PE_PRONOMBRE") & CRLF)
Else ' Else
Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF) ' Printer1.WriteString(s.GetString("PE_CANT") & " " & s.GetString("PE_PRONOMBRE") & CRLF)
TAMANO = s.GetLong("L_CANT") + TAMANO TAMANO = s.GetLong("L_CANT") + TAMANO
TAMANO = s.GetLong("L_COSTOU") + TAMANO TAMANO = s.GetLong("L_COSTOU") + TAMANO
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
@@ -2948,7 +3179,7 @@ Sub Impresion
TAMANO = 0 TAMANO = 0
ESPACIO = 21 ESPACIO = 21
BLANCO = " " BLANCO = " "
End If ' End If
Next Next
Printer1.WriteString(" " & CRLF) Printer1.WriteString(" " & CRLF)
End If End If
@@ -3058,12 +3289,38 @@ End Sub
'' printer.Close '' printer.Close
'End Sub 'End Sub
Sub Printer1_Connected (Success As Boolean)
' If Logger Then Log("Printer1_Connected")
If Success Then
ToastMessageShow("Impresora conectada", False)
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("MACIMP"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("MACIMP",Starter.mac_impresora))
' If logger Then 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
Starter.MAC_IMPRESORA = "0"
errorImpresora = 0
End If
End If
End Sub
Sub Printer1_Error
Log("error printer")
End Sub
Sub Printer_Connected (Success As Boolean) Sub Printer_Connected (Success As Boolean)
If Success Then If Success Then
B_IMP.Enabled = True ' B_IMP.Enabled = True
' PASA_IMP = "1"
Else Else
B_IMP.Enabled = False ' B_IMP.Enabled = False
If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then 'Ignore If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then 'ignore
StartPrinter StartPrinter
End If End If
End If End If
@@ -3071,37 +3328,39 @@ End Sub
Sub StartPrinter Sub StartPrinter
Dim PairedDevices As Map Dim PairedDevices As Map
Dim L As List Dim L1 As List
Dim resimp As Int Dim resimp As Int
ToastMessageShow("Printing.....",True) ToastMessageShow("Printing.....",True)
PairedDevices.Initialize PairedDevices.Initialize
Try Try
PairedDevices = cmp20.GetPairedDevices PairedDevices = cmp20.GetPairedDevices
Catch Catch
Msgbox("Getting Paired Devices","Printer Error") 'Ignore Msgbox("Getting Paired Devices","Printer Error") 'ignore
printer.Close printer.Close
cmp20.Disconnect cmp20.Disconnect
End Try End Try
If PairedDevices.Size = 0 Then If PairedDevices.Size = 0 Then
Msgbox("Error Connecting to Printer - Printer Not Found","") 'Ignore Msgbox("Error Connecting to Printer - Printer Not Found","") 'ignore
Return Return
End If End If
If PairedDevices.Size = 1 Then If PairedDevices.Size = 1 Then
Try Try
cmp20.ConnectInsecure(btAdmin,PairedDevices.Get(PairedDevices.GetKeyAt(0)),1) cmp20.Connect(PairedDevices.Get(PairedDevices.GetKeyAt(0)))
Catch Catch
Msgbox("Connecting","Printer Error") 'Ignore Msgbox("Connecting","Printer Error") 'ignore
printer.Close printer.Close
cmp20.Disconnect cmp20.Disconnect
End Try End Try
Else Else
L.Initialize L1.Initialize
For i = 0 To PairedDevices.Size - 1 For i = 0 To PairedDevices.Size - 1
L.Add(PairedDevices.GetKeyAt(i)) L1.Add(PairedDevices.GetKeyAt(i))
Next Next
resimp = InputList(L, "Choose device", -1) 'Ignore resimp = InputList(L1, "Choose device", -1) 'ignore
If resimp <> DialogResponse.CANCEL Then If resimp <> DialogResponse.CANCEL Then
cmp20.Connect(PairedDevices.Get(L.Get(resimp))) cmp20.Connect(PairedDevices.Get(L1.Get(resimp)))
End If End If
End If End If
End Sub End Sub
@@ -6112,7 +6371,7 @@ Sub Camera1_PictureTaken (Data()As Byte)
Log(nombrefoto) Log(nombrefoto)
Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & Dir, filename, 450, 600, True) Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & Dir, filename, 225, 300, True)
Dim out As OutputStream = File.OpenOutput(File.DirInternal & Dir & Dir2, filename, False) Dim out As OutputStream = File.OpenOutput(File.DirInternal & Dir & Dir2, filename, False)
img.WriteToStream(out, 100, "PNG") img.WriteToStream(out, 100, "PNG")
' foto4 = File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto3) ' foto4 = File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto3)

View File

@@ -28,6 +28,8 @@ Sub Class_Globals
Dim q_buscar As String Dim q_buscar As String
Private p_clientes As Panel Private p_clientes As Panel
Private Panel4 As Panel Private Panel4 As Panel
Dim reqManager As DBRequestManager
End Sub End Sub
'You can add more parameters here. 'You can add more parameters here.
@@ -66,6 +68,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
End Sub End Sub
Sub B4XPage_Appear Sub B4XPage_Appear
reqManager.Initialize(Me, Starter.server)
busca.Text = "" busca.Text = ""
entro = "2" entro = "2"
colonia = 0 colonia = 0
@@ -150,6 +153,9 @@ Sub ListView1_ItemClick (Position As Int, Value As Object)
Log(B4XPages.MainPage.cliente.bitacora.enVenta) Log(B4XPages.MainPage.cliente.bitacora.enVenta)
End If End If
B4XPages.ShowPage("Cliente") B4XPages.ShowPage("Cliente")
End If End If
Log(entro) Log(entro)
End Sub End Sub
@@ -242,3 +248,5 @@ End Sub
Private Sub p_clientes_Click Private Sub p_clientes_Click
'Nada aqui, solo esta para que los clics no se pasen hacia atras. 'Nada aqui, solo esta para que los clics no se pasen hacia atras.
End Sub End Sub

View File

@@ -78,7 +78,7 @@ Sub B4XPage_Appear
C.Position=0 C.Position=0
Existe = C.GetString("EXISTE") Existe = C.GetString("EXISTE")
C.Close C.Close
c=B4XPages.MainPage.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS desc") c=B4XPages.MainPage.skmt.ExecQuery("select PE_PRONOMBRE,PE_COSTO_TOT, PE_CANT, PE_FOLIO, PE_CEDIS, IFNULL(PE_RECALCULOTOT,0) AS PE_RECALCULOTOT FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS desc")
ListView1.Clear ListView1.Clear
ListView1.Height = Root.Height * 0.65 ListView1.Height = Root.Height * 0.65
Private cs As CSBuilder Private cs As CSBuilder
@@ -99,7 +99,11 @@ Sub B4XPage_Appear
label2.TextSize = 16 label2.TextSize = 16
label2.TextColor = Colors.White label2.TextColor = Colors.White
ListView1.AddSingleLine(cs.Color(textColor).Size(20).append(c.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(16).Color(Colors.White).Append("Cantidad #"& c.GetString("PE_CANT")).Append(" SubTotal $"& c.GetString("PE_COSTO_TOT")).Append(" " & c.GetString("PE_FOLIO")& " " &c.GetString("PE_CEDIS")).PopAll) If c.GetDouble("PE_RECALCULOTOT") = 0 Then
ListView1.AddSingleLine(cs.Color(textColor).Size(20).append(c.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(16).Color(Colors.White).Append("Cantidad #"& c.GetString("PE_CANT")).Append(" SubTotal $"& c.GetString("PE_COSTO_TOT")).Append(" " & c.GetString("PE_FOLIO")& " " &c.GetString("PE_CEDIS")).PopAll)
Else
ListView1.AddSingleLine(cs.Color(textColor).Size(20).append(c.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(16).Color(Colors.White).Append("Cantidad #"& c.GetString("PE_CANT")).Append(" SubTotal $"& c.GetString("PE_RECALCULOTOT")).Append(" " & c.GetString("PE_FOLIO")& " " &c.GetString("PE_CEDIS")).PopAll)
End If
label1.Height = 90dip label1.Height = 90dip
' label2.Height = 60dip ' label2.Height = 60dip
' '
@@ -262,6 +266,7 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
nom = nom.Trim nom = nom.Trim
Private cedis As String = X(X.Length-1) Private cedis As String = X(X.Length-1)
Log(nom) Log(nom)
Log(cedis)
Dim cx As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select PE_PROID,PE_CANT, PE_FOLIO, PE_CEDIS, PE_PRONOMBRE, PE_CEDIS/1 AS is_numeric FROM PEDIDO where (pe_pronombre = '${nom}' or pe_pronombre = '${nom} ') AND PE_CEDIS = '${cedis}' and is_numeric > 0 and pe_cliente in (Select CUENTA from cuentaa) and PE_RECALCULO > 0"$) Dim cx As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select PE_PROID,PE_CANT, PE_FOLIO, PE_CEDIS, PE_PRONOMBRE, PE_CEDIS/1 AS is_numeric FROM PEDIDO where (pe_pronombre = '${nom}' or pe_pronombre = '${nom} ') AND PE_CEDIS = '${cedis}' and is_numeric > 0 and pe_cliente in (Select CUENTA from cuentaa) and PE_RECALCULO > 0"$)
Log("Recalculados: " & cx.RowCount) Log("Recalculados: " & cx.RowCount)
If cx.RowCount > 0 Then ' Si hay recalculo (producto con promocion), al borrar el produto hay que borrar TODO el pedido. If cx.RowCount > 0 Then ' Si hay recalculo (producto con promocion), al borrar el produto hay que borrar TODO el pedido.
@@ -285,6 +290,7 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
c=B4XPages.MainPage.skmt.ExecQuery($"select PE_PROID,PE_CANT, PE_FOLIO, PE_CEDIS, PE_PRONOMBRE FROM PEDIDO where (pe_pronombre = '${nom}' or pe_pronombre = '${nom} ') AND PE_CEDIS = '${cedis}' and pe_cliente in (Select CUENTA from cuentaa)"$) c=B4XPages.MainPage.skmt.ExecQuery($"select PE_PROID,PE_CANT, PE_FOLIO, PE_CEDIS, PE_PRONOMBRE FROM PEDIDO where (pe_pronombre = '${nom}' or pe_pronombre = '${nom} ') AND PE_CEDIS = '${cedis}' and pe_cliente in (Select CUENTA from cuentaa)"$)
Log($"select PE_PROID,PE_CANT, PE_FOLIO, PE_CEDIS FROM PEDIDO where pe_pronombre = '${nom}' AND PE_CEDIS = '${cedis}' and pe_cliente in (Select CUENTA from cuentaa)"$) Log($"select PE_PROID,PE_CANT, PE_FOLIO, PE_CEDIS FROM PEDIDO where pe_pronombre = '${nom}' AND PE_CEDIS = '${cedis}' and pe_cliente in (Select CUENTA from cuentaa)"$)
Log(c.RowCount) Log(c.RowCount)
' If c.RowCount > 0 Then
c.Position=0 c.Position=0
' If c.RowCount > 0 Then ' If c.RowCount > 0 Then
' B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID"))) ' B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))

View File

@@ -731,6 +731,7 @@ Sub Subir_Click
Next Next
End If End If
c.Close c.Close
c=B4XPages.MainPage.skmt.ExecQuery2("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 WHERE (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null")) c=B4XPages.MainPage.skmt.ExecQuery2("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 WHERE (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null"))
d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO") d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
If c.RowCount>0 Then If c.RowCount>0 Then
@@ -748,22 +749,42 @@ Sub Subir_Click
cuantos_pedido = D.GetString("CUANTOS_PEDIDO") cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
d.Close d.Close
c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,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_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null")) If ALMACEN = "88" Or ALMACEN = "6" Then
d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$) c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,PE_RECCEDIS,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_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null"))
If c.RowCount>0 Then d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$)
For i=0 To c.RowCount -1 If c.RowCount>0 Then
c.Position=i For i=0 To c.RowCount -1
Dim cmd As DBCommand c.Position=i
cmd.Initialize Dim cmd As DBCommand
cmd.Name = "insert_pedido_GV2" cmd.Initialize
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), ALMACEN, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), 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")) cmd.Name = "insert_pedido_GV2"
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido") cmd.Parameters = Array As Object(C.GetString("PE_RECCEDIS"), ALMACEN, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), 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"))
Next B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido")
Next
End If
c.Close
d.Position=0
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
d.Close
Else
c=B4XPages.MainPage.skmt.ExecQuery2("SELECT PE_RECALCULO,PE_RECALCULOTOT,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_RECALCULO <> ? or PE_RECALCULO <> ? or PE_RECALCULO IS NOT NULL",Array As String("","null"))
d=B4XPages.MainPage.skmt.ExecQuery($"SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO where PE_RUTA = '${Subs.traeRuta}'"$)
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_pedido_GV2"
cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"), ALMACEN, C.GetString("PE_RECALCULOTOT"), C.GetString("PE_RECALCULO"), 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"))
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedido")
Next
End If
c.Close
d.Position=0
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
d.Close
End If End If
c.Close
d.Position=0
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
d.Close
' 'CUESTIONARIO ' 'CUESTIONARIO
c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario"$) c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario"$)
@@ -1000,6 +1021,7 @@ Sub cargar_Click
B4XPages.MainPage.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS") B4XPages.MainPage.skmt.ExecNonQuery("delete from HIST_CLIENTE_CANT_PROMOS")
B4XPages.MainPage.skmt.ExecNonQuery("delete from PROMOS_COMP") B4XPages.MainPage.skmt.ExecNonQuery("delete from PROMOS_COMP")
B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_VERIFICACION") B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_VERIFICACION")
B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_PROMOS_DESCUENTOS")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM MARCAS_RUTAS") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM MARCAS_RUTAS")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_STAY_STORE") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_STAY_STORE")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GEOCERCA") B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GEOCERCA")
@@ -1056,6 +1078,11 @@ Sub cargar_Click
cmd.Parameters = Array As Object(ALMACEN) cmd.Parameters = Array As Object(ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "gunaprod") B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "gunaprod")
cmd.Initialize
cmd.Name = "Select_promo_descuento_guna"
cmd.Parameters = Array As Object(ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "promodesp")
cmd.Initialize cmd.Initialize
cmd.Name = "select_cat_gunaprod2_GV2" cmd.Name = "select_cat_gunaprod2_GV2"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text) cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
@@ -1390,10 +1417,11 @@ Sub JobDone(Job As HttpJob)
Dim CAT_CL_MTOCOMPRA As String = records(RESULT.Columns.Get("CAT_CL_MTOCOMPRA")) Dim CAT_CL_MTOCOMPRA As String = records(RESULT.Columns.Get("CAT_CL_MTOCOMPRA"))
Dim CAT_CL_NUM_SERIEFISICO As String = records(RESULT.Columns.Get("CAT_CL_NUM_SERIEFISICO")) Dim CAT_CL_NUM_SERIEFISICO As String = records(RESULT.Columns.Get("CAT_CL_NUM_SERIEFISICO"))
Dim CAT_CL_TIPOCLIENTE As String = records(RESULT.Columns.Get("CAT_CL_TIPOCLIENTE")) Dim CAT_CL_TIPOCLIENTE As String = records(RESULT.Columns.Get("CAT_CL_TIPOCLIENTE"))
Dim CAT_CL_LIMITECREDITO As String = records(RESULT.Columns.Get("CAT_CL_LIMITECREDITO"))
'########################## INICIA CODIGO PARA CREDITOS #################### '########################## INICIA CODIGO PARA CREDITOS ####################
Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BCREDITO")) Dim CAT_CL_BCREDITO As String = records(RESULT.Columns.Get("CAT_CL_BCREDITO"))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info3(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,CAT_CL_BCREDITO,CAT_CL_TIPOCLIENTE,FOTO) 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,CAT_CL_BCREDITO,CAT_CL_TIPOCLIENTE,CAT_CL_FOTO)) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info3(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,CAT_CL_BCREDITO,CAT_CL_TIPOCLIENTE,FOTO,CAT_CL_LIMITECREDITO) 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,CAT_CL_BCREDITO,CAT_CL_TIPOCLIENTE,CAT_CL_FOTO,CAT_CL_LIMITECREDITO))
'########################## TERMINA CODIGO PARA CREDITOS #################### '########################## TERMINA CODIGO PARA CREDITOS ####################
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)) 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 Next
@@ -1568,6 +1596,23 @@ Sub JobDone(Job As HttpJob)
End If End If
End If End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "promodesp" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim CAT_PD_ALMACEN As String = records(RESULT.Columns.Get("CAT_PD_ALMACEN"))
Dim CAT_PD_COD_PROMO As String = records(RESULT.Columns.Get("CAT_PD_COD_PROMO"))
Dim CAT_PD_RANGO As String = records(RESULT.Columns.Get("CAT_PD_RANGO"))
Dim CAT_PD_RANGO2 As String = records(RESULT.Columns.Get("CAT_PD_RANGO2"))
Dim CAT_PD_VIGENCIA As String = records(RESULT.Columns.Get("CAT_PD_VIGENCIA"))
Dim CAT_PD_DESCUENTO As String = records(RESULT.Columns.Get("CAT_PD_DESCUENTO"))
Dim CAT_PD_PRODUCTO As String = records(RESULT.Columns.Get("CAT_PD_PRODUCTO"))
Dim CAT_PD_TIER As String = records(RESULT.Columns.Get("CAT_PD_TIER"))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_PROMOS_DESCUENTOS(CAT_PD_ALMACEN, CAT_PD_COD_PROMO, CAT_PD_RANGO, CAT_PD_VIGENCIA, CAT_PD_DESCUENTO, CAT_PD_PRODUCTO, CAT_PD_TIER,CAT_PD_RANGO2) VALUES (?,?,?,?,?,?,?,?)", Array As Object (CAT_PD_ALMACEN, CAT_PD_COD_PROMO, CAT_PD_RANGO, CAT_PD_VIGENCIA, CAT_PD_DESCUENTO, CAT_PD_PRODUCTO, CAT_PD_TIER,CAT_PD_RANGO2))
Next
End If
End If
If Job.JobName = "DBRequest" Then If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job) Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "HIST_PROM" Then 'query tag If RESULT.Tag = "HIST_PROM" Then 'query tag
@@ -1758,9 +1803,11 @@ Sub JobDone(Job As HttpJob)
' Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV")) ' Dim CAT_GP_DEV As String = records(RESULT.Columns.Get("CAT_GP_DEV"))
Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD")) Dim CAT_GP_TIPOPROD As Int = records(RESULT.Columns.Get("CAT_GP_TIPOPROD"))
Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA")) Dim CAT_GP_INICIATIVA As Int = records(RESULT.Columns.Get("CAT_GP_INICIATIVA"))
Dim CAT_LISTAPRECIO As String = records(RESULT.Columns.Get("CAT_LISTAPRECIO"))
' Dim CAT_LISTAPRECIO As Int = 10
' CAT_GP_INICIATIVA = 5 ' CAT_GP_INICIATIVA = 5
' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV)) ' skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_DEV) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_DEV))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA)) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_GUNAPROD(CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG,CAT_GP_ALMACEN,CAT_GP_TIPOPROD,CAT_GP_INICIATIVA,CAT_LISTAPRECIO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object (CAT_GP_ID,CAT_GP_NOMBRE,CAT_GP_IMP1,CAT_GP_IMP2,CAT_GP_PRECIO,CAT_GP_CLASIF,CAT_GP_STS,CAT_GP_TIPO,CAT_GP_SUBTIPO,CAT_GP_IMG, CAT_GP_ALMACEN,CAT_GP_TIPOPROD, CAT_GP_INICIATIVA,CAT_LISTAPRECIO))
Next Next
Listo2=1 Listo2=1
If PB2.Progress = 0 Then If PB2.Progress = 0 Then
@@ -2366,6 +2413,7 @@ Log("--------> BORRAMOS")
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido") B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido")
B4XPages.MainPage.skmt.ExecNonQuery("delete from noventa") B4XPages.MainPage.skmt.ExecNonQuery("delete from noventa")
B4XPages.MainPage.skmt.ExecNonQuery("delete from COMENTARIOS") B4XPages.MainPage.skmt.ExecNonQuery("delete from COMENTARIOS")
B4XPages.MainPage.skmt.ExecNonQuery("delete from CAT_PROMOS_DESCUENTOS")
B4XPages.MainPage.skmt.ExecNonQuery("delete from PLAN_LEALTAD") B4XPages.MainPage.skmt.ExecNonQuery("delete from PLAN_LEALTAD")
B4XPages.MainPage.skmt.ExecNonQuery("delete from clie_act") B4XPages.MainPage.skmt.ExecNonQuery("delete from clie_act")
B4XPages.MainPage.skmt.ExecNonQuery("delete from kmt_info3") B4XPages.MainPage.skmt.ExecNonQuery("delete from kmt_info3")

View File

@@ -1080,6 +1080,9 @@ Sub B4XPage_Appear
PCLV.B4XSeekBar1.mBase.Height=clv_prods_ll.AsView.Height PCLV.B4XSeekBar1.mBase.Height=clv_prods_ll.AsView.Height
PCLV.pnlOverlay.Height = clv_prods_ll.AsView.Height PCLV.pnlOverlay.Height = clv_prods_ll.AsView.Height
PCLV.B4XSeekBar1.Update PCLV.B4XSeekBar1.Update
End Sub End Sub
Sub PCLV_AddProds Sub PCLV_AddProds
@@ -2394,7 +2397,7 @@ Sub Busca_TextChanged (Old As String, New As String)
listaHints.Initialize listaHints.Initialize
Sleep(0) Sleep(0)
' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$) ' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} where CAT_GP_NOMBRE like '%${New}%' and CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_CLASIF <> 'PROMOS' order by CAT_GP_NOMBRE"$)
Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' AND CAT_GP_TIPO <> 'PROMOCION' union all select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_LISTAPRECIO from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_NOMBRE like '%${New}%' AND CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' AND CAT_GP_TIPO <> 'PROMOCION' union all select DISTINCT CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD, CAT_LISTAPRECIO from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$)
Log("Llamamos LlenaProdsLL") Log("Llamamos LlenaProdsLL")
LlenaProdsLL(p) LlenaProdsLL(p)
' Do While p.NextRow ' Do While p.NextRow
@@ -2423,6 +2426,7 @@ Sub LlenaProdsLL(p As ResultSet)
If hayPedido Then 'Si hay pedido obtenemos las cantidades de los productos para agregarlos al CLV. If hayPedido Then 'Si hay pedido obtenemos las cantidades de los productos para agregarlos al CLV.
Dim cantsMap As Map Dim cantsMap As Map
cantsMap.Initialize cantsMap.Initialize
Dim pe As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select PE_PROID, PE_CANT from PEDIDO where PE_CLIENTE = '${clienteId}' and PE_CEDIS = '${Subs.traeAlmacen}' and PE_FOLIO = '${B4XPages.MainPage.tipo_venta}'"$) Dim pe As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select PE_PROID, PE_CANT from PEDIDO where PE_CLIENTE = '${clienteId}' and PE_CEDIS = '${Subs.traeAlmacen}' and PE_FOLIO = '${B4XPages.MainPage.tipo_venta}'"$)
' LogColor("Ponemos productos de pedido anterior: "&pe.RowCount, Colors.red) ' LogColor("Ponemos productos de pedido anterior: "&pe.RowCount, Colors.red)
Do While pe.NextRow Do While pe.NextRow
@@ -2449,13 +2453,26 @@ Sub LlenaProdsLL(p As ResultSet)
' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$) ' Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN > 0 And CAT_GP_CLASIF <> 'PROMOS' union all select CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_ALMACEN, CAT_GP_PRECIO, CAT_GP_TIPOPROD from ${Starter.tabla} LEFT JOIN PEDIDO ON CAT_GP_ID = PE_PROID where CAT_GP_PRECIO > 0 And CAT_GP_ALMACEN = 0 And CAT_GP_CLASIF <> 'PROMOS' and cat_gp_id in (select pe_proid from pedido where pe_cliente in (select cuenta from cuentaa)) order by 2"$)
Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPO <> 'PROMOS' and CAT_GP_TIPO <> 'PROMOCION' If Subs.traeTipoCliente = 4 Then
Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE,CAT_GP_PRECIO, CAT_LISTAPRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPO <> 'PROMOS' and CAT_GP_TIPO <> 'PROMOCION'
order by order by
Case CAT_GP_TIPOPROD when 'PRIORITARIO' THEN 0 Case CAT_GP_TIPOPROD when 'PRIORITARIO' THEN 0
WHEN 'ESTRATEGICO' THEN 1 WHEN 'ESTRATEGICO' THEN 1
WHEN 'COMPLEMENTARIO' then 2 WHEN 'COMPLEMENTARIO' then 2
Else 3 Else 3
End, CAT_GP_NOMBRE"$) End, CAT_GP_NOMBRE"$)
Else
Dim p As ResultSet = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_GP_ID, CAT_GP_NOMBRE, CAT_GP_PRECIO, CAT_LISTAPRECIO, CAT_GP_ALMACEN, CAT_GP_IMG, CAT_GP_TIPOPROD, CAT_GP_INICIATIVA from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_PRECIO > 0 AND CAT_GP_ALMACEN > 0 and CAT_GP_TIPO <> 'PROMOS' and CAT_GP_TIPO <> 'PROMOCION'
order by
Case CAT_GP_TIPOPROD when 'PRIORITARIO' THEN 0
WHEN 'ESTRATEGICO' THEN 1
WHEN 'COMPLEMENTARIO' then 2
Else 3
End, CAT_GP_NOMBRE"$)
End If
End If End If
' Do While p.NextRow ' Do While p.NextRow
@@ -2478,11 +2495,28 @@ Sub LlenaProdsLL(p As ResultSet)
Log(p.GetString("CAT_GP_ID")) Log(p.GetString("CAT_GP_ID"))
cant = cantsMap.Get(p.GetString("CAT_GP_ID")) cant = cantsMap.Get(p.GetString("CAT_GP_ID"))
End If End If
If Subs.traeTipoCliente = 4 Then
If p.GetString("CAT_GP_ID") <> "GUN141" And p.GetString("CAT_GP_ID") <> "GUN142" Then If p.GetString("CAT_GP_ID") <> "GUN141" And p.GetString("CAT_GP_ID") <> "GUN142" Then
' Log(p.GetString("CAT_GP_NOMBRE")) ' Log(p.GetString("CAT_GP_NOMBRE"))
' ¡Importante! Crear un NUEVO mapa en cada iteración. ' ¡Importante! Crear un NUEVO mapa en cada iteración.
Dim tempMap As Map = CreateMap( _ Dim tempMap As Map = CreateMap( _
"prod": p.GetString("CAT_GP_NOMBRE"), _
"precio": p.GetString("CAT_LISTAPRECIO"), _
"prioridad": p.GetString("CAT_GP_TIPOPROD"), _
"almacen": p.GetString("CAT_GP_ALMACEN"), _
"id": p.GetString("CAT_GP_ID"), _
"cant": cant, _
"conversion": 1, _
"precio_caja": 0, _
"b_caja": 0 _
)
listaProds.Add(tempMap) ' Agregar el nuevo mapa a la lista
End If
Else
If p.GetString("CAT_GP_ID") <> "GUN141" And p.GetString("CAT_GP_ID") <> "GUN142" Then
' Log(p.GetString("CAT_GP_NOMBRE"))
' ¡Importante! Crear un NUEVO mapa en cada iteración.
Dim tempMap As Map = CreateMap( _
"prod": p.GetString("CAT_GP_NOMBRE"), _ "prod": p.GetString("CAT_GP_NOMBRE"), _
"precio": p.GetString("CAT_GP_PRECIO"), _ "precio": p.GetString("CAT_GP_PRECIO"), _
"prioridad": p.GetString("CAT_GP_TIPOPROD"), _ "prioridad": p.GetString("CAT_GP_TIPOPROD"), _
@@ -2493,8 +2527,10 @@ Sub LlenaProdsLL(p As ResultSet)
"precio_caja": 0, _ "precio_caja": 0, _
"b_caja": 0 _ "b_caja": 0 _
) )
listaProds.Add(tempMap) ' Agregar el nuevo mapa a la lista listaProds.Add(tempMap) ' Agregar el nuevo mapa a la lista
End If
End If End If
Loop Loop
' p.Close ' p.Close
' Log(listaProds) ' Log(listaProds)

View File

@@ -997,9 +997,6 @@ Private Sub b_terminar1_Click
' B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds2.Get(o), tmpMap) ' B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds2.Get(o), tmpMap)
' Next ' Next
' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.red) ' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.red)
Subs.agrupaProdsPromo(Subs.traeCliente)
lv_prodsFijos.Clear lv_prodsFijos.Clear
B4XPages.MainPage.bTerminarClicked = True B4XPages.MainPage.bTerminarClicked = True
B4XPages.ShowPage("productos") B4XPages.ShowPage("productos")
@@ -1038,9 +1035,6 @@ Private Sub b_continuar_Click
prodspage.lv_promos.Visible = False prodspage.lv_promos.Visible = False
prodspage.clv_productos.AsView.Visible = False prodspage.clv_productos.AsView.Visible = False
End If End If
Subs.agrupaProdsPromo(Subs.traeCliente)
B4XPages.MainPage.bTerminarClicked = True B4XPages.MainPage.bTerminarClicked = True
B4XPages.ShowPage("productos") B4XPages.ShowPage("productos")
End Sub End Sub

Binary file not shown.

View File

@@ -284,7 +284,7 @@ Version=12.8
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: Guna Preventa #ApplicationLabel: Guna Preventa
#VersionCode: 1 #VersionCode: 1
#VersionName: 5.05.07 #VersionName: 5.08.09
'SupportedOrientations possible values: unspecified, landscape or portrait. 'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False

View File

@@ -82,6 +82,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=6,8,9,10,11 ModuleClosedNodes7=6,8,9,10,11
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=C_Productos,B4XPage_Appear,1064,0,Diseñador Visual,promociones.bal,-100,1,C_Promos,b_promoMas_Click,953,0,C_Promos,b_continuar_Click,1035,5,C_Promos,b_terminar1_Click,994,0,Subs,traeTablaProds,1810,0,Subs,guardaProductoSinGestion,1794,0,Subs,revisaMaxPromosProdsVariablesPorInventario,2130,0,Subs,agrupaProdsPromo,2199,6 NavigationStack=Diseñador Visual,cliente.bal,-100,2,Main,Activity_Resume,46,0,Main,Globals,22,0,Main,Activity_Create,28,0,Main,Activity_ActionBarHomeClick,37,0,C_Cliente,Class_Globals,0,0,C_Cliente,Impresion3,2685,0,C_Cliente,B_IMP_Click,2674,2,C_Cliente,B4XPage_Appear,1145,3,C_Cliente,TraeCantProd,1222,6
SelectedBuild=0 SelectedBuild=0
VisibleModules=25,2,14,26,5,10,11,16,15 VisibleModules=25,2,14,26,5,10,11,20,19,16

View File

@@ -19,7 +19,7 @@ Sub Process_Globals
Public FLP As FusedLocationProvider Public FLP As FusedLocationProvider
' Private flpStarted As Boolean ' Private flpStarted As Boolean
Dim reqManager As DBRequestManager Dim reqManager As DBRequestManager
Dim server As String = "http://187.189.244.154:1782" Dim server As String = "http://keymon.net:1782"
' Dim server As String = "http://10.0.0.205:1782" ' Dim server As String = "http://10.0.0.205:1782"
Dim Timer1 As Timer Dim Timer1 As Timer
Dim Interval As Int = 300 Dim Interval As Int = 300

View File

@@ -1334,6 +1334,8 @@ Sub TraeMontoProd As Boolean
Return x Return x
End Sub End Sub
Sub TraeMontoProd2 As Boolean Sub TraeMontoProd2 As Boolean
'This subrutine checks if the total cost of a product is between 350 and 499.99 'This subrutine checks if the total cost of a product is between 350 and 499.99
Private x As Boolean = False Private x As Boolean = False
@@ -1814,7 +1816,7 @@ End Sub
'Regresa la tabla de productos (cat_gunaprod o cat_gunaprod2) dependiendo del tipo de venta. 'Regresa la tabla de productos (cat_gunaprod o cat_gunaprod2) dependiendo del tipo de venta.
Sub traeTablaProds(tipoventa As String) As String Sub traeTablaProds(tipoventa As String) As String
' Log(tipoventa) Log(tipoventa)
Private tablaProds As String = "cat_gunaprod2" Private tablaProds As String = "cat_gunaprod2"
If tipoventa = "ABORDO" Or tipoventa = "PREVENTA" Then tablaProds = "cat_gunaprod" If tipoventa = "ABORDO" Or tipoventa = "PREVENTA" Then tablaProds = "cat_gunaprod"
' LogColor($"Tipo= ${tipoventa}, tabla=${tablaProds}"$, Colors.RGB(200,136,0)) ' LogColor($"Tipo= ${tipoventa}, tabla=${tablaProds}"$, Colors.RGB(200,136,0))
@@ -1933,10 +1935,10 @@ Sub traeTipoCliente As Int
x = Starter.skmt.ExecQuery($"select IFNULL(cat_cl_tipocliente,3) AS CAT_CL_TIPOCLIENTE from kmt_info3 where cat_cl_codigo in (select cuenta from cuentaa)"$) x = Starter.skmt.ExecQuery($"select IFNULL(cat_cl_tipocliente,3) AS CAT_CL_TIPOCLIENTE from kmt_info3 where cat_cl_codigo in (select cuenta from cuentaa)"$)
If x.RowCount > 0 Then If x.RowCount > 0 Then
x.Position = 0 x.Position = 0
Log("ESTO LO HIZO GUERRA ------> "&x.GetInt("CAT_CL_TIPOCLIENTE")) ' Log("ESTO LO HIZO GUERRA ------> "&x.GetInt("CAT_CL_TIPOCLIENTE"))
tc = x.GetInt("CAT_CL_TIPOCLIENTE") tc = x.GetInt("CAT_CL_TIPOCLIENTE")
End If End If
Log("ESTO LO HIZO GUERRA X2------> "&tc) ' Log("ESTO LO HIZO GUERRA X2------> "&tc)
Return tc Return tc
End Sub End Sub
@@ -2190,117 +2192,3 @@ Sub alcanzanLosVariablesParaPromo(promoMap As Map, inventarioSinFijos As Map) As
' Log(res) ' Log(res)
Return res Return res
End Sub End Sub
' Agrupa los productos de las promociones, porque si tenemos un producto fijo a precio x y un producto variabe al mismo precio
' y las mismas cantidades, el pasarInfoMovil las detecta como duplicados y las tira, con esta funcion en lugar de dos registros,
' solo va uno con cantidades y totales sumados.
Sub agrupaProdsPromo(cliente As String)
' Obtener la estructura de la tabla pedido con tipos de datos
Dim rs As ResultSet = Starter.skmt.ExecQuery("PRAGMA table_info(pedido)")
Dim columns As List
columns.Initialize
Dim columnTypes As Map
columnTypes.Initialize
' Obtener nombres y tipos de columnas
Do While rs.NextRow
Dim colName As String = rs.GetString("name")
Dim colType As String = rs.GetString("type")
columns.Add(colName)
columnTypes.Put(colName, colType)
Loop
rs.Close
' Construir la sentencia CREATE TABLE dinámica con tipos correctos
Dim createTableSQL As StringBuilder
createTableSQL.Initialize
createTableSQL.Append("CREATE TEMP TABLE IF NOT EXISTS PEDIDO_AGRUPADOR (")
For i = 0 To columns.Size - 1
Dim columnName As String = columns.Get(i)
If i > 0 Then createTableSQL.Append(", ")
createTableSQL.Append(columnName).Append(" ")
' Determinar el tipo de dato adecuado
Dim detectedType As String = columnTypes.Get(columnName)
If detectedType.Contains("INT") Then
createTableSQL.Append("INTEGER")
Else If detectedType.Contains("CHAR") Or detectedType.Contains("TEXT") Then
createTableSQL.Append("TEXT")
Else If detectedType.Contains("REAL") Or detectedType.Contains("FLOA") Or detectedType.Contains("DOUB") Then
createTableSQL.Append("REAL")
Else If detectedType.Contains("BLOB") Then
createTableSQL.Append("BLOB")
Else
' Por defecto usar TEXT si no se reconoce el tipo
createTableSQL.Append("TEXT")
End If
Next
createTableSQL.Append(")")
' Crear la tabla temporal con los tipos correctos
Starter.skmt.ExecNonQuery(createTableSQL.ToString)
Log("########################################################################")
Log(createTableSQL.ToString)
Log("########################################################################")
' Identificar columnas que deben sumarse (basado en nombre o tipo)
Dim sumColumns As List
sumColumns.Initialize
sumColumns.Add("PE_CANT") ' Estas son las que sabemos que deben sumarse
sumColumns.Add("PE_COSTO_TOT")
' Construir la lista de columnas para el GROUP BY (excluyendo las que se sumarán)
Dim groupByColumns As List
groupByColumns.Initialize
For Each col As String In columns
If sumColumns.IndexOf(col) = -1 Then ' Si no es una columna a sumar
groupByColumns.Add(col)
End If
Next
' Construir la consulta SELECT dinámica
Dim selectSQL As StringBuilder
selectSQL.Initialize
selectSQL.Append("INSERT INTO PEDIDO_AGRUPADOR SELECT ")
For i = 0 To columns.Size - 1
Dim columnName As String = columns.Get(i)
If i > 0 Then selectSQL.Append(", ")
If sumColumns.IndexOf(columnName) > -1 Then
' Columnas que requieren SUM()
selectSQL.Append("SUM(").Append(columnName).Append(") As ").Append(columnName)
Else
' Otras columnas
selectSQL.Append(columnName)
End If
Next
selectSQL.Append(" FROM pedido WHERE PE_CLIENTE = '").Append(cliente).Append("' GROUP BY ")
For i = 0 To groupByColumns.Size - 1
If i > 0 Then selectSQL.Append(", ")
selectSQL.Append(groupByColumns.Get(i))
Next
' Ejecutar la transacción
Starter.skmt.BeginTransaction
' Vaciar la tabla temporal
Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO_AGRUPADOR")
' Insertar datos agrupados
Starter.skmt.ExecNonQuery(selectSQL.ToString)
' Reemplazar los datos originales
Starter.skmt.ExecNonQuery($"DELETE FROM PEDIDO WHERE PE_CLIENTE = '${cliente}'"$)
Starter.skmt.ExecNonQuery("INSERT INTO PEDIDO SELECT * FROM PEDIDO_AGRUPADOR")
Starter.skmt.TransactionSuccessful
Starter.skmt.EndTransaction
Log("LISTO!!")
End Sub