mirror of
https://github.com/KeymonSoft/Guna_Preventa.git
synced 2026-04-17 21:06:32 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fb5898b38b | ||
| afcd8129ec |
@@ -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("DROP TABLE IF EXISTS CAT_PROMOS_DESCUENTOS")
|
||||
Subs.agregaColumna("PLAN_LEALTAD", "DESCARGADO", "TEXT")
|
||||
Subs.agregaColumna("PEDIDO_CLIENTE", "PC_FACTURA", "INTEGER")
|
||||
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 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)")
|
||||
@@ -194,12 +197,15 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Subs.agregaColumna("HIST_ENCUESTA", "HE_FOTO", "BLOB")
|
||||
Subs.agregaColumna("kmt_info3", "foto", "BLOB")
|
||||
Subs.agregaColumna("PEDIDO", "PE_RECALCULO", "TEXT")
|
||||
Subs.agregaColumna("PEDIDO", "PE_RECCEDIS", "TEXT")
|
||||
Subs.agregaColumna("PEDIDO", "PE_RECALCULOTOT", "TEXT")
|
||||
Subs.agregaColumna("HIST_ENCUESTA", "HE_LON", "TEXT")
|
||||
Subs.agregaColumna("kmt_info3", "encuesta", "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("CAT_GUNAPROD", "CAT_PA_BSEGMENTA", "TEXT")
|
||||
Subs.agregaColumna("CAT_GUNAPROD", "CAT_LISTAPRECIO", "TEXT")
|
||||
Subs.agregaColumna("CAT_GUNAPROD", "CAT_PA_SEGMENTAV", "TEXT")
|
||||
Subs.agregaColumna("CAT_GUNAPROD2", "CAT_PA_BSEGMENTA", "TEXT")
|
||||
Subs.agregaColumna("CAT_GUNAPROD2", "CAT_PA_SEGMENTAV", "TEXT")
|
||||
@@ -822,7 +828,7 @@ End Sub
|
||||
Sub i_engrane_Click
|
||||
p_appUpdate.Left = (Root.Width/2) - (p_appUpdate.Width/2)
|
||||
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")
|
||||
l_server.Text = Starter.server
|
||||
et_server.Text = Starter.server
|
||||
|
||||
@@ -461,6 +461,9 @@ Sub Class_Globals
|
||||
Private lv_comentarios As ListView
|
||||
Private ImageView4 As ImageView
|
||||
Private p_cliente_ As Panel
|
||||
Private l_limite As Label
|
||||
Private l_credito As Label
|
||||
Private l_tipocliente As Label
|
||||
End Sub
|
||||
|
||||
'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.
|
||||
|
||||
Sub B4XPage_Appear
|
||||
TraeCantProd
|
||||
ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png")
|
||||
btnPlanLealtad.Visible = False
|
||||
bitacora.inicioFin
|
||||
' iniciofin
|
||||
que_modulo = 1
|
||||
dentroDeGeocerca = False
|
||||
indicePregunta = 0
|
||||
|
||||
l_credito.Visible = False
|
||||
l_limite.Visible = False
|
||||
pnlPlanLealtad.Top = 0
|
||||
pnlPlanLealtad.Left = 0
|
||||
pnlPlanLealtad.Width = Root.Width
|
||||
@@ -584,6 +590,9 @@ Sub B4XPage_Appear
|
||||
' Log("EnVenta NO Visible")
|
||||
' b_Inicio_Fin_venta.Visible = False
|
||||
' End If
|
||||
|
||||
|
||||
|
||||
|
||||
If Subs.hayPedido Then 'Si hay pedido, deshabilitamos el boton de "No Venta"
|
||||
Log(">>>>> HAY PEDIDO")
|
||||
@@ -598,6 +607,24 @@ Sub B4XPage_Appear
|
||||
End If
|
||||
skmt.Initialize(ruta,"kmt.db", True)
|
||||
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.Height = Root.Height
|
||||
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
|
||||
|
||||
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
|
||||
P_gallina.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 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
|
||||
|
||||
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)
|
||||
|
||||
|
||||
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))
|
||||
CallSubDelayed(Tracker, "CreateLocationRequest")
|
||||
@@ -1539,6 +1592,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
|
||||
Job.Release
|
||||
@@ -2566,27 +2655,6 @@ Sub b_mapa_Click
|
||||
B4XPages.ShowPage("mapas")
|
||||
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
|
||||
' Printer1.Connect2
|
||||
' 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
|
||||
Impresion
|
||||
End If
|
||||
Else
|
||||
Else If ALMACEN = 88 OR ALMACEN = 92 Then
|
||||
|
||||
Impresion3
|
||||
Else
|
||||
Impresion
|
||||
End If
|
||||
|
||||
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}')"$)
|
||||
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
|
||||
c=skmt.ExecQuery("select USUARIO from usuarioa")
|
||||
c.Position=0
|
||||
@@ -2633,28 +2895,26 @@ Sub Impresion2
|
||||
ProgressDialogShow("Imprimiendo, un momento ...")
|
||||
Printer1.DisConnect
|
||||
If Not(Printer1.IsConnected) Then
|
||||
Log("Conectando a impresora ...")
|
||||
' If logger Then Log("conectando 1")
|
||||
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
|
||||
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
|
||||
If cont > 15 Then impresoraConectada = True
|
||||
Loop
|
||||
Sleep(500)
|
||||
impresoraConectada = False
|
||||
Else
|
||||
Log("conectando 2")
|
||||
' If logger Then 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
|
||||
If cont > 4 Then impresoraConectada = True
|
||||
Loop
|
||||
Sleep(500)
|
||||
impresoraConectada = False
|
||||
@@ -2751,37 +3011,7 @@ Sub Impresion2
|
||||
Printer1.WriteString(" " & CRLF)
|
||||
End If
|
||||
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.Position =0
|
||||
' If s.GetString("TOTAL") - s.GetString("TOTAL2") <> 0 Then
|
||||
@@ -2835,28 +3065,26 @@ Sub Impresion
|
||||
ProgressDialogShow("Imprimiendo, un momento ...")
|
||||
Printer1.DisConnect
|
||||
If Not(Printer1.IsConnected) Then
|
||||
Log("Conectando a impresora ...")
|
||||
' If logger Then Log("conectando 1")
|
||||
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
|
||||
If cont = 7 Then Printer1.Connect 'Tratamos de reconectar
|
||||
If cont > 15 Then impresoraConectada = True
|
||||
Loop
|
||||
Sleep(500)
|
||||
impresoraConectada = False
|
||||
Else
|
||||
Log("conectando 2")
|
||||
' If logger Then 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
|
||||
If cont > 4 Then impresoraConectada = True
|
||||
Loop
|
||||
Sleep(500)
|
||||
impresoraConectada = False
|
||||
@@ -2896,16 +3124,17 @@ Sub Impresion
|
||||
|
||||
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_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
|
||||
For i=0 To S.RowCount -1
|
||||
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)
|
||||
|
||||
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_COSTOU") + TAMANO
|
||||
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
|
||||
@@ -2919,22 +3148,24 @@ Sub Impresion
|
||||
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")
|
||||
' 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
|
||||
Printer1.WriteString("------------PROMOS------------" & CRLF)
|
||||
Printer1.WriteString("--------BONIFICACIONES--------" & CRLF)
|
||||
For i=0 To S.RowCount -1
|
||||
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)
|
||||
|
||||
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_COSTOU") + TAMANO
|
||||
TAMANO = s.GetLong("L_COSTO_TOT") + TAMANO
|
||||
@@ -2948,7 +3179,7 @@ Sub Impresion
|
||||
TAMANO = 0
|
||||
ESPACIO = 21
|
||||
BLANCO = " "
|
||||
End If
|
||||
' End If
|
||||
Next
|
||||
Printer1.WriteString(" " & CRLF)
|
||||
End If
|
||||
@@ -3058,12 +3289,38 @@ End Sub
|
||||
'' printer.Close
|
||||
'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)
|
||||
If Success Then
|
||||
B_IMP.Enabled = True
|
||||
' B_IMP.Enabled = True
|
||||
' PASA_IMP = "1"
|
||||
Else
|
||||
B_IMP.Enabled = False
|
||||
If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then 'Ignore
|
||||
' B_IMP.Enabled = False
|
||||
If Msgbox2("", "Printer Error","Reprint","Cancel","",Null) = DialogResponse.POSITIVE Then 'ignore
|
||||
StartPrinter
|
||||
End If
|
||||
End If
|
||||
@@ -3071,37 +3328,39 @@ End Sub
|
||||
|
||||
Sub StartPrinter
|
||||
Dim PairedDevices As Map
|
||||
Dim L As List
|
||||
Dim L1 As List
|
||||
Dim resimp As Int
|
||||
ToastMessageShow("Printing.....",True)
|
||||
PairedDevices.Initialize
|
||||
Try
|
||||
PairedDevices = cmp20.GetPairedDevices
|
||||
Catch
|
||||
Msgbox("Getting Paired Devices","Printer Error") 'Ignore
|
||||
Msgbox("Getting Paired Devices","Printer Error") 'ignore
|
||||
printer.Close
|
||||
cmp20.Disconnect
|
||||
End Try
|
||||
|
||||
If PairedDevices.Size = 0 Then
|
||||
Msgbox("Error Connecting to Printer - Printer Not Found","") 'Ignore
|
||||
Msgbox("Error Connecting to Printer - Printer Not Found","") 'ignore
|
||||
Return
|
||||
End If
|
||||
|
||||
If PairedDevices.Size = 1 Then
|
||||
Try
|
||||
cmp20.ConnectInsecure(btAdmin,PairedDevices.Get(PairedDevices.GetKeyAt(0)),1)
|
||||
cmp20.Connect(PairedDevices.Get(PairedDevices.GetKeyAt(0)))
|
||||
Catch
|
||||
Msgbox("Connecting","Printer Error") 'Ignore
|
||||
Msgbox("Connecting","Printer Error") 'ignore
|
||||
printer.Close
|
||||
cmp20.Disconnect
|
||||
End Try
|
||||
Else
|
||||
L.Initialize
|
||||
L1.Initialize
|
||||
For i = 0 To PairedDevices.Size - 1
|
||||
L.Add(PairedDevices.GetKeyAt(i))
|
||||
L1.Add(PairedDevices.GetKeyAt(i))
|
||||
Next
|
||||
resimp = InputList(L, "Choose device", -1) 'Ignore
|
||||
resimp = InputList(L1, "Choose device", -1) 'ignore
|
||||
If resimp <> DialogResponse.CANCEL Then
|
||||
cmp20.Connect(PairedDevices.Get(L.Get(resimp)))
|
||||
cmp20.Connect(PairedDevices.Get(L1.Get(resimp)))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
@@ -6112,7 +6371,7 @@ Sub Camera1_PictureTaken (Data()As Byte)
|
||||
|
||||
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)
|
||||
img.WriteToStream(out, 100, "PNG")
|
||||
' foto4 = File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto3)
|
||||
|
||||
@@ -28,6 +28,8 @@ Sub Class_Globals
|
||||
Dim q_buscar As String
|
||||
Private p_clientes As Panel
|
||||
Private Panel4 As Panel
|
||||
|
||||
Dim reqManager As DBRequestManager
|
||||
End Sub
|
||||
|
||||
'You can add more parameters here.
|
||||
@@ -66,6 +68,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
End Sub
|
||||
|
||||
Sub B4XPage_Appear
|
||||
reqManager.Initialize(Me, Starter.server)
|
||||
busca.Text = ""
|
||||
entro = "2"
|
||||
colonia = 0
|
||||
@@ -150,6 +153,9 @@ Sub ListView1_ItemClick (Position As Int, Value As Object)
|
||||
Log(B4XPages.MainPage.cliente.bitacora.enVenta)
|
||||
End If
|
||||
B4XPages.ShowPage("Cliente")
|
||||
|
||||
|
||||
|
||||
End If
|
||||
Log(entro)
|
||||
End Sub
|
||||
@@ -241,4 +247,6 @@ End Sub
|
||||
|
||||
Private Sub p_clientes_Click
|
||||
'Nada aqui, solo esta para que los clics no se pasen hacia atras.
|
||||
End Sub
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ Sub B4XPage_Appear
|
||||
C.Position=0
|
||||
Existe = C.GetString("EXISTE")
|
||||
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.Height = Root.Height * 0.65
|
||||
Private cs As CSBuilder
|
||||
@@ -99,7 +99,11 @@ Sub B4XPage_Appear
|
||||
label2.TextSize = 16
|
||||
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
|
||||
' label2.Height = 60dip
|
||||
'
|
||||
@@ -262,6 +266,7 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
||||
nom = nom.Trim
|
||||
Private cedis As String = X(X.Length-1)
|
||||
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"$)
|
||||
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.
|
||||
@@ -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)"$)
|
||||
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)
|
||||
' If c.RowCount > 0 Then
|
||||
c.Position=0
|
||||
' 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")))
|
||||
|
||||
@@ -731,6 +731,7 @@ Sub Subir_Click
|
||||
Next
|
||||
End If
|
||||
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"))
|
||||
d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
||||
If c.RowCount>0 Then
|
||||
@@ -748,22 +749,42 @@ Sub Subir_Click
|
||||
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
||||
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"))
|
||||
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
|
||||
If ALMACEN = "88" Or ALMACEN = "6" Then
|
||||
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"))
|
||||
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_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"))
|
||||
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
|
||||
c.Close
|
||||
d.Position=0
|
||||
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
||||
d.Close
|
||||
|
||||
|
||||
' '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 PROMOS_COMP")
|
||||
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 HIST_STAY_STORE")
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GEOCERCA")
|
||||
@@ -1056,6 +1078,11 @@ Sub cargar_Click
|
||||
cmd.Parameters = Array As Object(ALMACEN)
|
||||
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.Name = "select_cat_gunaprod2_GV2"
|
||||
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_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_LIMITECREDITO As String = records(RESULT.Columns.Get("CAT_CL_LIMITECREDITO"))
|
||||
|
||||
'########################## INICIA CODIGO PARA CREDITOS ####################
|
||||
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 ####################
|
||||
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
|
||||
@@ -1568,6 +1596,23 @@ Sub JobDone(Job As HttpJob)
|
||||
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
|
||||
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
|
||||
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_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_LISTAPRECIO As String = records(RESULT.Columns.Get("CAT_LISTAPRECIO"))
|
||||
' Dim CAT_LISTAPRECIO As Int = 10
|
||||
' 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))
|
||||
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
|
||||
Listo2=1
|
||||
If PB2.Progress = 0 Then
|
||||
@@ -2366,6 +2413,7 @@ Log("--------> BORRAMOS")
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido")
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from noventa")
|
||||
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 clie_act")
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from kmt_info3")
|
||||
|
||||
@@ -1080,6 +1080,9 @@ Sub B4XPage_Appear
|
||||
PCLV.B4XSeekBar1.mBase.Height=clv_prods_ll.AsView.Height
|
||||
PCLV.pnlOverlay.Height = clv_prods_ll.AsView.Height
|
||||
PCLV.B4XSeekBar1.Update
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Sub PCLV_AddProds
|
||||
@@ -2394,7 +2397,7 @@ Sub Busca_TextChanged (Old As String, New As String)
|
||||
listaHints.Initialize
|
||||
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 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")
|
||||
LlenaProdsLL(p)
|
||||
' 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.
|
||||
Dim cantsMap As Map
|
||||
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}'"$)
|
||||
' LogColor("Ponemos productos de pedido anterior: "&pe.RowCount, Colors.red)
|
||||
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_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
|
||||
Case CAT_GP_TIPOPROD when 'PRIORITARIO' THEN 0
|
||||
WHEN 'ESTRATEGICO' THEN 1
|
||||
WHEN 'COMPLEMENTARIO' then 2
|
||||
Else 3
|
||||
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
|
||||
|
||||
' Do While p.NextRow
|
||||
@@ -2478,11 +2495,28 @@ Sub LlenaProdsLL(p As ResultSet)
|
||||
Log(p.GetString("CAT_GP_ID"))
|
||||
cant = cantsMap.Get(p.GetString("CAT_GP_ID"))
|
||||
End If
|
||||
|
||||
If p.GetString("CAT_GP_ID") <> "GUN141" And p.GetString("CAT_GP_ID") <> "GUN142" Then
|
||||
If Subs.traeTipoCliente = 4 Then
|
||||
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( _
|
||||
' ¡Importante! Crear un NUEVO mapa en cada iteración.
|
||||
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"), _
|
||||
"precio": p.GetString("CAT_GP_PRECIO"), _
|
||||
"prioridad": p.GetString("CAT_GP_TIPOPROD"), _
|
||||
@@ -2493,8 +2527,10 @@ Sub LlenaProdsLL(p As ResultSet)
|
||||
"precio_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
|
||||
|
||||
Loop
|
||||
' p.Close
|
||||
' Log(listaProds)
|
||||
|
||||
@@ -997,9 +997,6 @@ Private Sub b_terminar1_Click
|
||||
' B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds2.Get(o), tmpMap)
|
||||
' Next
|
||||
' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.red)
|
||||
|
||||
Subs.agrupaProdsPromo(Subs.traeCliente)
|
||||
|
||||
lv_prodsFijos.Clear
|
||||
B4XPages.MainPage.bTerminarClicked = True
|
||||
B4XPages.ShowPage("productos")
|
||||
@@ -1038,9 +1035,6 @@ Private Sub b_continuar_Click
|
||||
prodspage.lv_promos.Visible = False
|
||||
prodspage.clv_productos.AsView.Visible = False
|
||||
End If
|
||||
|
||||
Subs.agrupaProdsPromo(Subs.traeCliente)
|
||||
|
||||
B4XPages.MainPage.bTerminarClicked = True
|
||||
B4XPages.ShowPage("productos")
|
||||
End Sub
|
||||
|
||||
Binary file not shown.
@@ -284,7 +284,7 @@ Version=12.8
|
||||
#Region Project Attributes
|
||||
#ApplicationLabel: Guna Preventa
|
||||
#VersionCode: 1
|
||||
#VersionName: 5.05.07
|
||||
#VersionName: 5.08.09
|
||||
'SupportedOrientations possible values: unspecified, landscape or portrait.
|
||||
#SupportedOrientations: portrait
|
||||
#CanInstallToExternalStorage: False
|
||||
|
||||
@@ -82,6 +82,6 @@ ModuleClosedNodes6=
|
||||
ModuleClosedNodes7=6,8,9,10,11
|
||||
ModuleClosedNodes8=
|
||||
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
|
||||
VisibleModules=25,2,14,26,5,10,11,16,15
|
||||
VisibleModules=25,2,14,26,5,10,11,20,19,16
|
||||
|
||||
@@ -19,7 +19,7 @@ Sub Process_Globals
|
||||
Public FLP As FusedLocationProvider
|
||||
' Private flpStarted As Boolean
|
||||
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 Timer1 As Timer
|
||||
Dim Interval As Int = 300
|
||||
|
||||
122
B4A/Subs.bas
122
B4A/Subs.bas
@@ -1334,6 +1334,8 @@ Sub TraeMontoProd As Boolean
|
||||
Return x
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Sub TraeMontoProd2 As Boolean
|
||||
'This subrutine checks if the total cost of a product is between 350 and 499.99
|
||||
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.
|
||||
Sub traeTablaProds(tipoventa As String) As String
|
||||
' Log(tipoventa)
|
||||
Log(tipoventa)
|
||||
Private tablaProds As String = "cat_gunaprod2"
|
||||
If tipoventa = "ABORDO" Or tipoventa = "PREVENTA" Then tablaProds = "cat_gunaprod"
|
||||
' 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)"$)
|
||||
If x.RowCount > 0 Then
|
||||
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")
|
||||
End If
|
||||
Log("ESTO LO HIZO GUERRA X2------> "&tc)
|
||||
' Log("ESTO LO HIZO GUERRA X2------> "&tc)
|
||||
Return tc
|
||||
End Sub
|
||||
|
||||
@@ -2189,118 +2191,4 @@ Sub alcanzanLosVariablesParaPromo(promoMap As Map, inventarioSinFijos As Map) As
|
||||
End If
|
||||
' Log(res)
|
||||
Return res
|
||||
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
|
||||
Reference in New Issue
Block a user