mirror of
https://github.com/KeymonSoft/Guna_Preventa.git
synced 2026-04-20 14:19:25 +00:00
....
This commit is contained in:
@@ -148,8 +148,13 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
skmt.Initialize(File.DirInternal,"kmt.db", True)
|
skmt.Initialize(File.DirInternal,"kmt.db", True)
|
||||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS IMPRESORA (HABILITADA)")
|
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS IMPRESORA (HABILITADA)")
|
||||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PLAN_LEALTAD (PL_CLIENTE TEXT, PL_BANDERA TEXT)")
|
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PLAN_LEALTAD (PL_CLIENTE TEXT, PL_BANDERA TEXT)")
|
||||||
|
|
||||||
|
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ABONOSP(NOTA TEXT, CLIENTE TEXT, SALDO_PENDIENTE TEXT, FECHA TEXT)")
|
||||||
|
|
||||||
|
|
||||||
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)")
|
||||||
Subs.agregaColumna("PLAN_LEALTAD", "DESCARGADO", "TEXT")
|
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 GPS (HABILITADO)")
|
||||||
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)")
|
||||||
@@ -193,8 +198,10 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
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")
|
||||||
@@ -817,12 +824,13 @@ 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
|
||||||
Subs.panelVisible(p_appUpdate,0,0)
|
Subs.panelVisible(p_appUpdate,0,0)
|
||||||
p_appUpdate.Height = Root.Height
|
p_appUpdate.Height = Root.Height
|
||||||
|
p_appUpdate.Width = Root.Width
|
||||||
c = skmt.ExecQuery("SELECT HABILITADA FROM IMPRESORA")
|
c = skmt.ExecQuery("SELECT HABILITADA FROM IMPRESORA")
|
||||||
If c.RowCount = 0 Then
|
If c.RowCount = 0 Then
|
||||||
skmt.ExecNonQuery2("INSERT INTO IMPRESORA VALUES (?)", Array As Object(0))
|
skmt.ExecNonQuery2("INSERT INTO IMPRESORA VALUES (?)", Array As Object(0))
|
||||||
@@ -839,7 +847,8 @@ Sub i_engrane_Click
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub b_regesar_Click
|
Sub b_regesar_Click
|
||||||
Subs.panelVisible(p_Main,0,0)
|
' Subs.panelVisible(p_Main,0,0)
|
||||||
|
p_appUpdate.Visible = False
|
||||||
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("DBReqServer"))
|
skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("DBReqServer"))
|
||||||
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("DBReqServer", et_server.Text))
|
skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("DBReqServer", et_server.Text))
|
||||||
Starter.server = et_server.Text
|
Starter.server = et_server.Text
|
||||||
@@ -898,6 +907,8 @@ Private Sub B4XSwitch2_ValueChanged (Value2 As Boolean)
|
|||||||
p_validacion.Visible = True
|
p_validacion.Visible = True
|
||||||
p_validacion.Left = (Root.Width/2) - (p_appUpdate.Width/2)
|
p_validacion.Left = (Root.Width/2) - (p_appUpdate.Width/2)
|
||||||
Subs.panelVisible(p_validacion,0,0)
|
Subs.panelVisible(p_validacion,0,0)
|
||||||
|
p_validacion.Height = Root.Height
|
||||||
|
p_validacion.Width = Root.Width
|
||||||
Else
|
Else
|
||||||
skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(0))
|
skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(0))
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -460,6 +460,9 @@ Sub Class_Globals
|
|||||||
Private et_comentario As EditText
|
Private et_comentario As EditText
|
||||||
Private lv_comentarios As ListView
|
Private lv_comentarios As ListView
|
||||||
Private ImageView4 As ImageView
|
Private ImageView4 As ImageView
|
||||||
|
Private p_cliente_ As Panel
|
||||||
|
Private l_limite As Label
|
||||||
|
Private l_credito As Label
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'You can add more parameters here.
|
'You can add more parameters here.
|
||||||
@@ -537,11 +540,15 @@ Sub B4XPage_Appear
|
|||||||
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
|
||||||
pnlPlanLealtad.Height = Root.Height
|
pnlPlanLealtad.Height = Root.Height
|
||||||
|
p_cliente.Width = Root.Width
|
||||||
|
p_cliente.Height = Root.Height
|
||||||
|
p_cliente_.Width = Root.Width
|
||||||
|
|
||||||
If TOMAR_FOTO <> 0 Then Cuestionario
|
If TOMAR_FOTO <> 0 Then Cuestionario
|
||||||
Starter.idCliente = Subs.traeCliente
|
Starter.idCliente = Subs.traeCliente
|
||||||
@@ -935,13 +942,16 @@ Sub B4XPage_Appear
|
|||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'AQUI CAMBIAR
|
'AQUI CAMBIAR
|
||||||
Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO <> ? OR PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL",Array As String("","null"))
|
Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO <> ? OR PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL",Array As String("","null"))
|
||||||
' LogColor(s3.RowCount,Colors.Yellow)
|
' LogColor(s3.RowCount,Colors.Yellow)
|
||||||
If s3.RowCount > 0 Then
|
If s3.RowCount > 0 Then
|
||||||
'########################## CODIGO PARA CREDITOS ####################
|
'########################## CODIGO PARA CREDITOS ####################
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("select 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 from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
c=B4XPages.MainPage.skmt.ExecQuery("select 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,IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||||
s=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null"))
|
s=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null"))
|
||||||
s.Position=0
|
s.Position=0
|
||||||
Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and (PE_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL)",Array As String("","null"))
|
Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and (PE_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL)",Array As String("","null"))
|
||||||
@@ -992,7 +1002,7 @@ Sub B4XPage_Appear
|
|||||||
s.Close
|
s.Close
|
||||||
Else If s3.RowCount = 0 Then
|
Else If s3.RowCount = 0 Then
|
||||||
'########################## CODIGO PARA CREDITOS ####################
|
'########################## CODIGO PARA CREDITOS ####################
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("select 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 from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
c=B4XPages.MainPage.skmt.ExecQuery("select 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,IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||||
s=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
s=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
s.Position=0
|
s.Position=0
|
||||||
If c.RowCount > 0 Then
|
If c.RowCount > 0 Then
|
||||||
@@ -1062,8 +1072,9 @@ Sub B4XPage_Appear
|
|||||||
b_Inicio_Fin_venta.Visible = False
|
b_Inicio_Fin_venta.Visible = False
|
||||||
' ToastMessageShow("aaa", False)
|
' ToastMessageShow("aaa", False)
|
||||||
End If
|
End If
|
||||||
gest.Text = "PreVenta"
|
gest.Typeface =Typeface.CreateNew(Typeface.FONTAWESOME, Typeface.STYLE_BOLD)
|
||||||
If Subs.traeTipoVentaDeBD = "VENTA" Then gest.Text = "Venta"
|
gest.Text = " Preventa"
|
||||||
|
If Subs.traeTipoVentaDeBD = "VENTA" Then gest.Text = " Venta"
|
||||||
' Log($">>>>>>>>>> |${la_cuenta.Text.trim}|"$)
|
' Log($">>>>>>>>>> |${la_cuenta.Text.trim}|"$)
|
||||||
If la_cuenta.Text.trim = "0" Then gest.Text = "Carga Abordo"
|
If la_cuenta.Text.trim = "0" Then gest.Text = "Carga Abordo"
|
||||||
' Log($"ALMACEN: ${ALMACEN}${CRLF}RUTA:${LA_RUTA}"$)
|
' Log($"ALMACEN: ${ALMACEN}${CRLF}RUTA:${LA_RUTA}"$)
|
||||||
@@ -1100,7 +1111,43 @@ Sub B4XPage_Appear
|
|||||||
'' ImageView4 = fotomostrar.GetBlob("foto")
|
'' ImageView4 = fotomostrar.GetBlob("foto")
|
||||||
' Log("LO LOGRAMOS")
|
' Log("LO LOGRAMOS")
|
||||||
' End If
|
' End If
|
||||||
|
If ALMACEN = 88 Then
|
||||||
|
If Not(Subs.TraeMontoProd) Then
|
||||||
|
B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis = 'MYKONOS_01' and pe_cliente in (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As Object(tipo_venta))
|
||||||
|
' B4XPage_Appear
|
||||||
|
Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO <> ? OR PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL",Array As String("","null"))
|
||||||
|
' LogColor(s3.RowCount,Colors.Yellow)
|
||||||
|
If s3.RowCount > 0 Then
|
||||||
|
c=B4XPages.MainPage.skmt.ExecQuery("select 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,IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||||
|
s=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null"))
|
||||||
|
s.Position=0
|
||||||
|
Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and (PE_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL)",Array As String("","null"))
|
||||||
|
s5.Position = 0
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
c.Position = 0
|
||||||
|
If s.GetString("TOTAL_CLIE") = Null Then
|
||||||
|
l_total.Text = 0
|
||||||
|
Else
|
||||||
|
l_total.Text =NumberFormat2((s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE")),0,2,2,False)
|
||||||
|
End If
|
||||||
|
total_cliente = s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE")
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
c=B4XPages.MainPage.skmt.ExecQuery("select 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,IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||||
|
s=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
|
s.Position=0
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
c.Position=0
|
||||||
|
If s.GetString("TOTAL_CLIE") = Null Then
|
||||||
|
l_total.Text = 0
|
||||||
|
Else
|
||||||
|
l_total.Text =NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,False)
|
||||||
|
End If
|
||||||
|
total_cliente = s.GetString("TOTAL_CLIE")
|
||||||
|
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)")
|
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
|
If fotomostrar.RowCount > 0 Then
|
||||||
@@ -1122,7 +1169,36 @@ Sub B4XPage_Appear
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
SV_ENCUESTA.Visible = False
|
||||||
|
P_gallina.Visible = False
|
||||||
|
p_pregunta1.Visible = False
|
||||||
|
p_camara.Visible = False
|
||||||
|
Panel2.Visible = False
|
||||||
|
p_comentario.Visible = False
|
||||||
|
p_transparenteTicketImpreso.Visible = False
|
||||||
|
p_encuesta.Visible = False
|
||||||
|
pnlPlanLealtad.Visible = False
|
||||||
|
Panel10.Visible = False
|
||||||
|
p_transparentePDF.Visible = False
|
||||||
|
CH_FACTURA.Checked = False
|
||||||
|
Dim fac As Cursor=B4XPages.MainPage.skmt.ExecQuery("Select ifnull(SUM(PE_COSTO_TOT), 0) As TOTAL_CLIE, SUM(PE_CANT) As CANT_CLIE, PC_FACTURA FROM PEDIDO_CLIENTE INNER JOIN PEDIDO ON PEDIDO_CLIENTE.PC_CLIENTE = PEDIDO.PE_CLIENTE WHERE (PE_CLIENTE IN (Select cuenta from cuentaa))")
|
||||||
|
fac.Position = 0
|
||||||
|
Private factura As String = 0
|
||||||
|
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
|
End Sub
|
||||||
|
|
||||||
@@ -1173,7 +1249,7 @@ Sub GPS_LocationChanged (Location1 As Location)
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
If geo = "1" Then
|
If geo = "1" Then
|
||||||
If distance < 100 Then
|
If distance < 10000000000000000000000000000000 Then
|
||||||
LA_GEO.TextColor = Colors.Blue
|
LA_GEO.TextColor = Colors.Blue
|
||||||
Tels.Visible = True
|
Tels.Visible = True
|
||||||
gest.Visible = True
|
gest.Visible = True
|
||||||
@@ -1325,6 +1401,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")
|
||||||
@@ -1489,6 +1566,45 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub gest_Click
|
Sub gest_Click
|
||||||
|
|
||||||
|
Dim pagarepen As Cursor = B4XPages.MainPage.skmt.ExecQuery("select FECHA, SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
|
||||||
|
If pagarepen.RowCount > 0 Then
|
||||||
|
pagarepen.Position = 0
|
||||||
|
DateTime.DateFormat="dd/MM/yyyy"
|
||||||
|
Dim FechaInicio As String = pagarepen.GetString("FECHA") ' Formato: dd/MM/yyyy
|
||||||
|
' Dim FechaHoy As String = DateTime.Date(DateTime.Now) ' Fecha actual en formato dd/MM/yyyy
|
||||||
|
Log(pagarepen.GetString("FECHA"))
|
||||||
|
|
||||||
|
' Convertir las fechas a milisegundos (desde 01/01/1970)
|
||||||
|
Dim TicksInicio As Long = DateTime.DateParse(FechaInicio)
|
||||||
|
Dim TicksHoy As Long = DateTime.DateParse(DateTime.Date(DateTime.Now))
|
||||||
|
|
||||||
|
' Calcular diferencia en días
|
||||||
|
Dim DiferenciaDias As Int = (TicksHoy - TicksInicio) / DateTime.TicksPerDay
|
||||||
|
|
||||||
|
' Mostrar resultado
|
||||||
|
Log($"Días transcurridos: ${DiferenciaDias}"$)
|
||||||
|
|
||||||
|
If DiferenciaDias <= 7 Then
|
||||||
|
' MsgboxAsync($"Favor de pagar su credito el día de mañana por un monto de $${pagarepen.GetString("SALDO_PENDIENTE")}"$, "Recordatorio")
|
||||||
|
|
||||||
|
Msgbox2Async($"Favor de pagar su credito el día de mañana por un monto de $${pagarepen.GetString("SALDO_PENDIENTE")}"$, "Recordatorio", "Ok", "", "", LoadBitmap(File.DirAssets,"alert2.png"), False)
|
||||||
|
Wait For Msgbox_Result (resultado As Int)
|
||||||
|
If resultado = DialogResponse.POSITIVE Then
|
||||||
|
gestionar
|
||||||
|
End If
|
||||||
|
Else If DiferenciaDias > 7 Then
|
||||||
|
MsgboxAsync($"No se puede realizar venta por que presenta ${(DiferenciaDias-7)} días de atraso en el credito, por un monto de $${pagarepen.GetString("SALDO_PENDIENTE")}"$, "Atención")
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
|
||||||
|
gestionar
|
||||||
|
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub gestionar
|
||||||
If B_IMP.Visible = True Then
|
If B_IMP.Visible = True Then
|
||||||
If Not(Subs.revisaImpreso) Then
|
If Not(Subs.revisaImpreso) Then
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("select IFNULL(encuesta,0) AS encuesta from kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
|
c=B4XPages.MainPage.skmt.ExecQuery("select IFNULL(encuesta,0) AS encuesta from kmt_info3 where CAT_CL_CODIGO IN (SELECT CUENTA FROM CUENTAA)")
|
||||||
@@ -2323,24 +2439,27 @@ Sub Guardar_Click
|
|||||||
'AQUI CAMBIAR
|
'AQUI CAMBIAR
|
||||||
Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO <> ? AND PE_RECALCULO <> ? AND PE_RECALCULO <> ?",Array As String("","null",Null))
|
Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO <> ? AND PE_RECALCULO <> ? AND PE_RECALCULO <> ?",Array As String("","null",Null))
|
||||||
' LogColor(s3.RowCount,Colors.Yellow)
|
' LogColor(s3.RowCount,Colors.Yellow)
|
||||||
|
Private suma As Float = 0
|
||||||
If s3.RowCount > 0 Then
|
If s3.RowCount > 0 Then
|
||||||
Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO = ? AND PE_RECALCULO = ? AND PE_RECALCULO = ?",Array As String("","null",Null))
|
Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO = ? AND PE_RECALCULO = ? AND PE_RECALCULO = ?",Array As String("","null",Null))
|
||||||
s.Position = 0
|
s.Position = 0
|
||||||
Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO <> ? AND PE_RECALCULO <> ? AND PE_RECALCULO <> ?",Array As String("","null",Null))
|
Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO <> ? AND PE_RECALCULO <> ? AND PE_RECALCULO <> ?",Array As String("","null",Null))
|
||||||
s5.Position = 0
|
s5.Position = 0
|
||||||
Private suma As Float = s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE")
|
suma = s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE")
|
||||||
s.Close
|
s.Close
|
||||||
Else If s3.RowCount = 0 Then
|
Else If s3.RowCount = 0 Then
|
||||||
Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
s.Position=0
|
s.Position=0
|
||||||
Private suma As Float = s.GetString("TOTAL_CLIE")
|
suma = s.GetString("TOTAL_CLIE")
|
||||||
s.Close
|
s.Close
|
||||||
End If
|
End If
|
||||||
'AQUI TERMINA
|
'AQUI TERMINA
|
||||||
If c.GetString("CUANTOS") > 0 Then
|
If c.GetString("CUANTOS") > 0 Then
|
||||||
|
Private cbFactura As Int = 0
|
||||||
|
If CH_FACTURA.Checked Then cbFactura = 1
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from NOVENTA where NV_CLIENTE In (select cuenta from cuentaa)")
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT) VALUES (?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),NumberFormat2(suma,0,2,2,False), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps))
|
B4XPages.MainPage.skmt.ExecNonQuery2("insert into pedido_cliente(PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT,PC_FACTURA,PC_ALMACEN,PC_RUTA) VALUES (?,?,?,?,?,?,?,?,?,?)", Array As Object(clie_id, sDate & sTime, usuario, c.GetString("CANT_CLIE"),NumberFormat2(suma,0,2,2,False), B4XPages.MainPage.lon_gps, B4XPages.MainPage.lat_gps,cbFactura,Subs.traeAlmacen,Subs.traeRuta))
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info3 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info3 set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||||
' 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}')"$)
|
||||||
@@ -2370,17 +2489,17 @@ Sub Guardar_Click
|
|||||||
DateTime.TimeFormat = "HH:mm:ss"
|
DateTime.TimeFormat = "HH:mm:ss"
|
||||||
'########################## INICIA CODIGO PARA CREDITOS ####################
|
'########################## INICIA CODIGO PARA CREDITOS ####################
|
||||||
Log(BCREDITO)
|
Log(BCREDITO)
|
||||||
If BCREDITO = 1 And suma > 0 Then
|
' If BCREDITO = 1 And suma > 0 Then
|
||||||
Msgbox2Async("¿La venta va a ser a crédito o contado?" , "AVISO", "Crédito", "", "Efectivo", LoadBitmap(File.DirAssets,"alert2.png"), False)
|
' Msgbox2Async("¿La venta va a ser a crédito o contado?" , "AVISO", "Crédito", "", "Efectivo", LoadBitmap(File.DirAssets,"alert2.png"), False)
|
||||||
Wait For Msgbox_Result (resultado As Int)
|
' Wait For Msgbox_Result (resultado As Int)
|
||||||
If resultado = DialogResponse.POSITIVE Then
|
' If resultado = DialogResponse.POSITIVE Then
|
||||||
' ToastMessageShow("Positivo", False)
|
'' ToastMessageShow("Positivo", False)
|
||||||
mandaWAMsgCredito(telefono.Trim, suma)
|
' mandaWAMsgCredito(telefono.Trim, suma)
|
||||||
Else
|
' Else
|
||||||
' ToastMessageShow("Efectivo", False)
|
'' ToastMessageShow("Efectivo", False)
|
||||||
End If
|
' End If
|
||||||
' ToastMessageShow("ENVIAR MSG WA POR MONTO $XXX", False)
|
'' ToastMessageShow("ENVIAR MSG WA POR MONTO $XXX", False)
|
||||||
End If
|
' End If
|
||||||
'########################## TERMINA CODIGO PARA CREDITOS ####################
|
'########################## TERMINA CODIGO PARA CREDITOS ####################
|
||||||
' B4XPages.ShowPage("Principal")
|
' B4XPages.ShowPage("Principal")
|
||||||
End Sub
|
End Sub
|
||||||
@@ -2464,27 +2583,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"))
|
||||||
@@ -2531,28 +2629,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
|
||||||
@@ -2733,28 +2829,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
|
||||||
@@ -2794,16 +2888,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
|
||||||
@@ -2817,22 +2912,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
|
||||||
@@ -2846,7 +2943,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
|
||||||
@@ -2956,12 +3053,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
|
||||||
@@ -2969,37 +3092,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
|
||||||
@@ -4809,6 +4934,7 @@ Sub Cuestionario
|
|||||||
' Starter.tipov = "VENTA"
|
' Starter.tipov = "VENTA"
|
||||||
B4XPages.ShowPage("productos")
|
B4XPages.ShowPage("productos")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'Muestra el panel de la encuesta, le da el alto y ancho de la pantalla y la pone en 0,0
|
'Muestra el panel de la encuesta, le da el alto y ancho de la pantalla y la pone en 0,0
|
||||||
@@ -5192,7 +5318,7 @@ Private Sub PDFGENERAR
|
|||||||
Dim s56 As Cursor=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
|
Dim s56 As Cursor=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
|
||||||
Dim s57 As Cursor = skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
|
Dim s57 As Cursor = skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
|
||||||
|
|
||||||
Dim pagina As Double = ((18 + (s56.RowCount*2) + (s57.RowCount*2)) * (6)) + 18
|
Dim pagina As Double = ((18 + (s56.RowCount*2) + (s57.RowCount*2)) * (6)) + 12
|
||||||
' Dim pagina As Double = ((18 + s56.RowCount + s57.RowCount +2) * (6)) + 18
|
' Dim pagina As Double = ((18 + s56.RowCount + s57.RowCount +2) * (6)) + 18
|
||||||
Dim multiplicador As Int = 0
|
Dim multiplicador As Int = 0
|
||||||
PDF.pageAdd(-300,pagina)
|
PDF.pageAdd(-300,pagina)
|
||||||
@@ -5221,14 +5347,14 @@ Private Sub PDFGENERAR
|
|||||||
PDF.outtext(1,pagina-multiplicador*6," ")
|
PDF.outtext(1,pagina-multiplicador*6," ")
|
||||||
c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("PREVENTA"))
|
c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("PREVENTA"))
|
||||||
If c.RowCount > 0 Then
|
If c.RowCount > 0 Then
|
||||||
multiplicador = multiplicador +1
|
|
||||||
PDF.outtext(1,pagina-multiplicador*6,"------------------------------------PREVENTA-----------------------------------------")
|
|
||||||
multiplicador = multiplicador +1
|
|
||||||
PDF.outtext(1,pagina-multiplicador*6,"Cant. Precio Importe")
|
|
||||||
multiplicador = multiplicador +1
|
|
||||||
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------")
|
|
||||||
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
|
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
|
||||||
If S.RowCount>0 Then
|
If S.RowCount>0 Then
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"------------------------------------PREVENTA-----------------------------------------")
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"Cant. Precio Importe")
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------")
|
||||||
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
|
||||||
@@ -5257,9 +5383,9 @@ Private Sub PDFGENERAR
|
|||||||
' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTO_TOT") )
|
' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTO_TOT") )
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
PDF.outtext(1,108-9*6," " )
|
||||||
End If
|
End If
|
||||||
s.Close
|
s.Close
|
||||||
PDF.outtext(1,108-9*6," " )
|
|
||||||
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
|
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
|
||||||
If S.RowCount>0 Then
|
If S.RowCount>0 Then
|
||||||
multiplicador = multiplicador +1
|
multiplicador = multiplicador +1
|
||||||
@@ -5328,9 +5454,193 @@ Private Sub PDFGENERAR
|
|||||||
PDF.outtext(1,pagina-multiplicador*6," " )
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
||||||
multiplicador = multiplicador +1
|
multiplicador = multiplicador +1
|
||||||
PDF.outtext(1,pagina-multiplicador*6," " )
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
||||||
|
' multiplicador = multiplicador +1
|
||||||
|
' PDF.outtext(1,pagina-multiplicador*6," " )
|
||||||
|
' multiplicador = multiplicador +1
|
||||||
|
' PDF.outtext(1,pagina-multiplicador*6," " )
|
||||||
|
' multiplicador = multiplicador +1
|
||||||
|
' PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------" )
|
||||||
|
' 'all combinations of font normal, bold,italic,underline and strikethrough
|
||||||
|
' For i=0 To 15
|
||||||
|
' 'select a font
|
||||||
|
' pdf.sFont(pdf.fontHelvetica,s,30,pdf.colorBlack)
|
||||||
|
' 'draw a text at position 20 (from left) and 277 (from bottom)
|
||||||
|
' pdf.outtext(20,277-i*15,"Hello world!")
|
||||||
|
' Next
|
||||||
|
DateTime.DateFormat = "ddmmyyyy"
|
||||||
|
DateTime.TimeFormat = "HHmmss"
|
||||||
|
sDate=DateTime.Date(DateTime.Now)
|
||||||
|
sTime=DateTime.Time(DateTime.Now)
|
||||||
|
archivoTicketPDF = sDate&sTime&".pdf"
|
||||||
|
'save to file with compression if data compressed are smaller
|
||||||
|
savePDF(PDF, archivoTicketPDF, PDF.CompressAlways)
|
||||||
|
'open with default viewer
|
||||||
|
' openPDF(sDate&sTime&".pdf")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub PDFGENERAR2
|
||||||
|
ESPACIO = 0
|
||||||
|
DateTime.DateFormat = "MM/dd/yyyy"
|
||||||
|
DateTime.TimeFormat = "HH:mm:ss"
|
||||||
|
sDate=DateTime.Date(DateTime.Now)
|
||||||
|
sTime=DateTime.Time(DateTime.Now)
|
||||||
|
Dim PDF As cPDF
|
||||||
|
'initialize with mm unit
|
||||||
|
PDF.Initialize("mm")
|
||||||
|
'set properties
|
||||||
|
PDF.sProperty(PDF.PropertyAuthor,"Keymonsoft"). _
|
||||||
|
sProperty(PDF.PropertyTitle,"Ticket"). _
|
||||||
|
sProperty(PDF.PropertyKeywords,"B4X,PDF,Cross platform")
|
||||||
|
'add a page
|
||||||
|
|
||||||
|
Dim s56 As Cursor=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
|
||||||
|
Dim s57 As Cursor = skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
|
||||||
|
|
||||||
|
Dim pagina As Double = ((18 + (s56.RowCount*2) + (s57.RowCount*2)) * (6)) + 12
|
||||||
|
' Dim pagina As Double = ((18 + s56.RowCount + s57.RowCount +2) * (6)) + 18
|
||||||
|
Dim multiplicador As Int = 0
|
||||||
|
PDF.pageAdd(-300,pagina)
|
||||||
|
' pdf.pageAdd(-350,-1900)
|
||||||
|
|
||||||
|
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
|
||||||
|
|
||||||
|
PDF.outImage(xui.DefaultFolder,"guna-fondo.jpg",1,pagina-45,45,0)
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"GUNA")
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,sDate& " " & sTime)
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"Vendedor:" & Subs.traeUsuarioDeBD)
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"Tienda: " & La_nombre.Text)
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"ID.Cliente: " & la_cuenta.Text)
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"Calle: " & la_Calle.Text)
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"Colonia: " & la_col.Text)
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6," ")
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6," ")
|
||||||
|
c = skmt.ExecQuery2("SELECT * FROM PEDIDO WHERE PE_FOLIO = ?",Array As String("PREVENTA"))
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) < 4 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PROID", Array As String("PREVENTA"))
|
||||||
|
If S.RowCount>0 Then
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"------------------------------------PREVENTA-----------------------------------------")
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"Cant. Precio Importe")
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------")
|
||||||
|
For i=0 To S.RowCount -1
|
||||||
|
S.Position=i
|
||||||
|
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") )
|
||||||
|
Else
|
||||||
|
PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack)
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE"))
|
||||||
|
' LogColor(s.GetLong("L_CANT"),Colors.Magenta)
|
||||||
|
' LogColor(s.GetLong("L_COSTOU"),Colors.Magenta)
|
||||||
|
' LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta)
|
||||||
|
TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT")
|
||||||
|
ESPACIO = 92
|
||||||
|
BLANCO = " "
|
||||||
|
ESPACIO = ESPACIO - TAMANO
|
||||||
|
ESPACIO = ESPACIO / 2
|
||||||
|
For E=0 To ESPACIO -1
|
||||||
|
BLANCO = " " & BLANCO
|
||||||
|
Next
|
||||||
|
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & s.GETSTRING("PE_COSTO_TOT"))
|
||||||
|
' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTOU"))
|
||||||
|
|
||||||
|
' pdf.outtext(1,108-9*6,s.GETSTRING("PE_COSTO_TOT") )
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
PDF.outtext(1,108-9*6," " )
|
||||||
|
End If
|
||||||
|
s.Close
|
||||||
|
s=skmt.ExecQuery2("select PE_PRONOMBRE, PE_CANT, length(pe_cant) as L_CANT, PE_COSTOU, length(PE_COSTOU) as L_COSTOU,PE_CANT * PE_COSTOU AS PE_COSTO_TOT, length(PE_CANT * PE_COSTOU) as L_COSTO_TOT,PE_PROID, PE_CEDIS FROM PEDIDO WHERE PE_FOLIO = ? AND LENGTH(PE_CEDIS) > 3 AND PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_CEDIS, PE_COSTOU", Array As String("PREVENTA"))
|
||||||
|
If S.RowCount>0 Then
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"--------------------------PROMOS PREVENTA-------------------------------------")
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"Cant. Precio Importe")
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------")
|
||||||
|
For i=0 To S.RowCount -1
|
||||||
|
S.Position=i
|
||||||
|
If s.GetString("PE_CEDIS") = s.GetString("PE_PROID") Then
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE") )
|
||||||
|
Else
|
||||||
|
PDF.sFont(PDF.fontHelvetica,0,7,PDF.colorBlack)
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,s.GetString("PE_PRONOMBRE"))
|
||||||
|
LogColor(s.GetLong("L_CANT"),Colors.Magenta)
|
||||||
|
LogColor(s.GetLong("L_COSTOU"),Colors.Magenta)
|
||||||
|
LogColor(s.GetLong("L_COSTO_TOT"),Colors.Magenta)
|
||||||
|
TAMANO = s.GetLong("L_CANT") + s.GetLong("L_COSTOU") + s.GetLong("L_COSTO_TOT")
|
||||||
|
ESPACIO = 92
|
||||||
|
BLANCO = " "
|
||||||
|
ESPACIO = ESPACIO - TAMANO
|
||||||
|
ESPACIO = ESPACIO / 2
|
||||||
|
For E=0 To ESPACIO -1
|
||||||
|
BLANCO = " " & BLANCO
|
||||||
|
Next
|
||||||
|
PDF.sFont(PDF.fontHelvetica,0,10,PDF.colorBlack)
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6, s.GETSTRING("PE_CANT") & BLANCO & s.GETSTRING("PE_COSTOU") & BLANCO & s.GETSTRING("PE_COSTO_TOT"))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
s.Close
|
||||||
|
' multiplicador = multiplicador +1
|
||||||
|
' pdf.outtext(1,pagina-multiplicador*6," " )
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------")
|
||||||
|
s=skmt.ExecQuery2("select SUM(PE_COSTO_TOT) AS TOTAL FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) AND PE_FOLIO = ?", Array As String("PREVENTA"))
|
||||||
|
s.Position =0
|
||||||
|
|
||||||
|
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"Descuento: $" & 150)
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"Total preventa: $" & (s.GetString("TOTAL") -150))
|
||||||
|
s.Close
|
||||||
|
c= skmt.ExecQuery2("select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE in (Select CUENTA from cuentaa) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP ) AND PE_FOLIO = ?", Array As String("PREVENTA"))
|
||||||
|
C.Position=0
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"Total articulos preventa: " & c.GetString("PC_NOART") )
|
||||||
|
c.Close
|
||||||
|
End If
|
||||||
|
' multiplicador = multiplicador +1
|
||||||
|
' pdf.outtext(1,pagina-multiplicador*6," " )
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------" )
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"--------------------------ESTE TICKET NO ES UN ---------------------------" )
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"-------------------COMPROBANTE FISCAL, SOLO ES--------------------" )
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"---------------------------------INFORMATIVO-----------------------------------" )
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------" )
|
||||||
multiplicador = multiplicador +1
|
multiplicador = multiplicador +1
|
||||||
PDF.outtext(1,pagina-multiplicador*6," " )
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
||||||
multiplicador = multiplicador +1
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
||||||
|
multiplicador = multiplicador +1
|
||||||
|
PDF.outtext(1,pagina-multiplicador*6," " )
|
||||||
|
' multiplicador = multiplicador +1
|
||||||
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------" )
|
PDF.outtext(1,pagina-multiplicador*6,"-----------------------------------------------------------------------------------------" )
|
||||||
' 'all combinations of font normal, bold,italic,underline and strikethrough
|
' 'all combinations of font normal, bold,italic,underline and strikethrough
|
||||||
' For i=0 To 15
|
' For i=0 To 15
|
||||||
@@ -5525,7 +5835,15 @@ Sub EnviarPDFWhatsAppNumero2(NumeroTelefono As String)
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub b_envioPDF_Click
|
Private Sub b_envioPDF_Click
|
||||||
PDFGENERAR
|
If ALMACEN = 87 Or ALMACEN = 6 Then
|
||||||
|
If Subs.traemontoprod Then
|
||||||
|
PDFGENERAR2
|
||||||
|
Else
|
||||||
|
PDFGENERAR
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
PDFGENERAR
|
||||||
|
End If
|
||||||
EnviarPDFWhatsAppNumero(et_numeroPDF.Text)
|
EnviarPDFWhatsAppNumero(et_numeroPDF.Text)
|
||||||
|
|
||||||
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)")
|
||||||
@@ -5726,7 +6044,7 @@ Private Sub Label19_Click
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub Label19_LongClick
|
Private Sub Label19_LongClick
|
||||||
|
|
||||||
Dim numeroTel As String = Label19.Text
|
Dim numeroTel As String = Label19.Text
|
||||||
|
|
||||||
numeroTel = numeroTel.Replace(" ", "").Replace("-", "").Replace("(", "").Replace(")", "")
|
numeroTel = numeroTel.Replace(" ", "").Replace("-", "").Replace("(", "").Replace(")", "")
|
||||||
@@ -5868,4 +6186,16 @@ Private Sub StopCamera2
|
|||||||
If camEx.IsInitialized Then
|
If camEx.IsInitialized Then
|
||||||
camEx.Release
|
camEx.Release
|
||||||
End If
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub p_cliente__Click
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub pnlPlanLealtad_Click
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CH_FACTURA_CheckedChange(Checked As Boolean)
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
@@ -42,9 +42,11 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
Root.LoadLayout("clientes")
|
Root.LoadLayout("clientes")
|
||||||
'Dim ruta As String
|
'Dim ruta As String
|
||||||
entro ="2"
|
entro ="2"
|
||||||
p_clientes.Height = Root.Height
|
p_clientes.Height = Root.Height
|
||||||
p_clientes.Width = Root.Width
|
p_clientes.Width = Root.Width
|
||||||
Panel4.Left = Round(Root.Width/2)-(Panel4.Width/2)
|
Panel4.Left = Round(Root.Width/2)-(Panel4.Width/2)
|
||||||
|
Panel4.Height = Root.Height * 0.70
|
||||||
|
ListView1.Height = Panel4.Height * 0.95
|
||||||
|
|
||||||
' valido donde escribo el archivo de la base de datos de kmt
|
' valido donde escribo el archivo de la base de datos de kmt
|
||||||
' If File.ExternalWritable Then
|
' If File.ExternalWritable Then
|
||||||
@@ -70,17 +72,24 @@ Sub B4XPage_Appear
|
|||||||
c = B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info3 where gestion = 0 ORDER BY CAT_CL_CODIGO")
|
c = B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info3 where gestion = 0 ORDER BY CAT_CL_CODIGO")
|
||||||
ListView1.Clear
|
ListView1.Clear
|
||||||
lfila.Text = "NOMBRE"
|
lfila.Text = "NOMBRE"
|
||||||
|
Subs.SetDivider(ListView1, Colors.White, 2)
|
||||||
If c.RowCount>0 Then
|
If c.RowCount>0 Then
|
||||||
For i = 0 To c.RowCount - 1
|
For i = 0 To c.RowCount - 1
|
||||||
c.Position=i
|
c.Position=i
|
||||||
Dim label1 As Label
|
Dim label1 As Label
|
||||||
label1 = ListView1.TwoLinesLayout.Label
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
label1.TextSize = 13
|
label1.TextSize = 20
|
||||||
label1.TextColor = Colors.Black
|
label1.TextColor = Colors.White
|
||||||
Dim label2 As Label
|
Dim label2 As Label
|
||||||
label2 = ListView1.TwoLinesLayout.SecondLabel
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
label2.TextSize = 13
|
label2.TextSize = 20
|
||||||
label2.TextColor = Colors.Black
|
label2.TextColor = Colors.White
|
||||||
|
label1.Height = 25dip
|
||||||
|
label2.Height = 60dip
|
||||||
|
|
||||||
|
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
||||||
|
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO"), c.GetString("CAT_CL_NOMBRE"))
|
ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO"), c.GetString("CAT_CL_NOMBRE"))
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
@@ -135,7 +144,7 @@ Sub ListView1_ItemClick (Position As Int, Value As Object)
|
|||||||
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_INI = ? where HSO_INI = 0 ", Array As Object(STIME))
|
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_INI = ? where HSO_INI = 0 ", Array As Object(STIME))
|
||||||
DateTime.TimeFormat = "HH:mm:ss"
|
DateTime.TimeFormat = "HH:mm:ss"
|
||||||
' Log(entro)
|
' Log(entro)
|
||||||
If B4XPages.MainPage.cliente.bitacora.IsInitialized Then
|
If B4XPages.MainPage.cliente.bitacora.IsInitialized Then
|
||||||
Log("VAMOS A CLIENTE CON ENVENTA = FALSO")
|
Log("VAMOS A CLIENTE CON ENVENTA = FALSO")
|
||||||
B4XPages.MainPage.cliente.bitacora.iniciamosVenta
|
B4XPages.MainPage.cliente.bitacora.iniciamosVenta
|
||||||
Log(B4XPages.MainPage.cliente.bitacora.enVenta)
|
Log(B4XPages.MainPage.cliente.bitacora.enVenta)
|
||||||
@@ -159,19 +168,26 @@ Sub BUSCA_TextChanged (Old As String, New As String)
|
|||||||
q_buscar = "%" & busca.Text & "%"
|
q_buscar = "%" & busca.Text & "%"
|
||||||
c2=B4XPages.MainPage.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info3 where (CAT_CL_NOMBRE like ? OR CAT_CL_CODIGO LIKE ? OR CAT_CL_CALLE LIKE ?)and gestion = 0 order by CAT_CL_NOMBRE ", Array As String(q_buscar,q_buscar,q_buscar))
|
c2=B4XPages.MainPage.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info3 where (CAT_CL_NOMBRE like ? OR CAT_CL_CODIGO LIKE ? OR CAT_CL_CALLE LIKE ?)and gestion = 0 order by CAT_CL_NOMBRE ", Array As String(q_buscar,q_buscar,q_buscar))
|
||||||
ListView1.Clear
|
ListView1.Clear
|
||||||
|
Subs.SetDivider(ListView1, Colors.White, 2)
|
||||||
lfila.text = "Nombre y Calle"
|
lfila.text = "Nombre y Calle"
|
||||||
If c2.RowCount>0 Then
|
If c2.RowCount>0 Then
|
||||||
For i=0 To c2.RowCount -1
|
For i=0 To c2.RowCount -1
|
||||||
c2.Position=i
|
c2.Position=i
|
||||||
Dim label1 As Label
|
Dim label1 As Label
|
||||||
label1 = ListView1.TwoLinesLayout.Label
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
label1.TextSize = 9
|
label1.TextSize = 20
|
||||||
label1.TextColor = Colors.Gray
|
label1.TextColor = Colors.White
|
||||||
Dim label2 As Label
|
Dim label2 As Label
|
||||||
label2 = ListView1.TwoLinesLayout.SecondLabel
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
label2.TextSize = 17
|
label2.TextSize = 20
|
||||||
label2.TextColor = Colors.Gray
|
label2.TextColor = Colors.White
|
||||||
ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE") &" CALLE: "& c2.GetString("CAT_CL_CALLE"))
|
label1.Height = 25dip
|
||||||
|
label2.Height = 60dip
|
||||||
|
|
||||||
|
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
||||||
|
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE")& CRLF &"CALLE: "& c2.GetString("CAT_CL_CALLE"))
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
entro = "4"
|
entro = "4"
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ Sub Class_Globals
|
|||||||
Private b_desc As Button
|
Private b_desc As Button
|
||||||
Private ListView2 As ListView
|
Private ListView2 As ListView
|
||||||
Dim tgl As Toggle
|
Dim tgl As Toggle
|
||||||
|
Private p_nota As Panel
|
||||||
|
Private Panel1 As Panel
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'You can add more parameters here.
|
'You can add more parameters here.
|
||||||
@@ -55,6 +57,9 @@ 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
|
||||||
|
p_nota.Height = Root.Height * 0.9
|
||||||
|
p_nota.Width = Root.Width * 0.9
|
||||||
|
Panel1.Visible = False
|
||||||
If Not(Starter.gps.GPSEnabled) Then
|
If Not(Starter.gps.GPSEnabled) Then
|
||||||
ToastMessageShow("Es necesario tener el GPS encendido", True)
|
ToastMessageShow("Es necesario tener el GPS encendido", True)
|
||||||
StartActivity(Starter.gps.LocationSettingsIntent)
|
StartActivity(Starter.gps.LocationSettingsIntent)
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ Sub Class_Globals
|
|||||||
Private p_NoVenta As Panel
|
Private p_NoVenta As Panel
|
||||||
Dim tipo_venta = Subs.traeTipoVentaDeBD
|
Dim tipo_venta = Subs.traeTipoVentaDeBD
|
||||||
Dim bitacora As C_Bitacora
|
Dim bitacora As C_Bitacora
|
||||||
|
Private Panel1 As Panel
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'You can add more parameters here.
|
'You can add more parameters here.
|
||||||
@@ -58,13 +59,20 @@ 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
|
||||||
|
Panel1.Height = Root.Height
|
||||||
|
Panel1.Width = Root.Width
|
||||||
|
Subs.centraPanel(Panel1, Root.Width)
|
||||||
|
Subs.centraPanelV(Panel1, Root.Height)
|
||||||
e_comm.Text=""
|
e_comm.Text=""
|
||||||
tgl.Initialize
|
tgl.Initialize
|
||||||
If Not(Starter.gps.GPSEnabled) Then
|
If Not(Starter.gps.GPSEnabled) Then
|
||||||
ToastMessageShow("Es necesario tener el GPS encendido", True)
|
ToastMessageShow("Es necesario tener el GPS encendido", True)
|
||||||
StartActivity(Starter.gps.LocationSettingsIntent)
|
StartActivity(Starter.gps.LocationSettingsIntent)
|
||||||
End If
|
End If
|
||||||
r_1.Checked = True
|
r_1.Checked = False
|
||||||
|
r_2.Checked = False
|
||||||
|
r_3.Checked = False
|
||||||
|
r_4.Checked = False
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub GPS_LocationChanged (Location1 As Location)
|
Sub GPS_LocationChanged (Location1 As Location)
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ Sub Class_Globals
|
|||||||
Private almacen As String
|
Private almacen As String
|
||||||
Private p_nota As Panel
|
Private p_nota As Panel
|
||||||
Dim tipo_venta As String = Subs.traeTipoVentaDeBD
|
Dim tipo_venta As String = Subs.traeTipoVentaDeBD
|
||||||
|
Private Panel1 As Panel
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'You can add more parameters here.
|
'You can add more parameters here.
|
||||||
@@ -64,6 +65,9 @@ Sub B4XPage_Appear
|
|||||||
ToastMessageShow("Es necesario tener el GPS encendido", True)
|
ToastMessageShow("Es necesario tener el GPS encendido", True)
|
||||||
StartActivity(Starter.gps.LocationSettingsIntent)
|
StartActivity(Starter.gps.LocationSettingsIntent)
|
||||||
End If
|
End If
|
||||||
|
p_nota.Height = Root.Height * 0.9
|
||||||
|
p_nota.Width = Root.Width * 0.9
|
||||||
|
Panel1.Visible = True
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
|
c=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
|
||||||
C.Position =0
|
C.Position =0
|
||||||
almacen = C.GetString("ID_ALMACEN")
|
almacen = C.GetString("ID_ALMACEN")
|
||||||
@@ -76,6 +80,7 @@ Sub B4XPage_Appear
|
|||||||
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 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
|
||||||
Private cs As CSBuilder
|
Private cs As CSBuilder
|
||||||
If c.RowCount>0 Then
|
If c.RowCount>0 Then
|
||||||
For i=0 To c.RowCount -1
|
For i=0 To c.RowCount -1
|
||||||
@@ -83,25 +88,33 @@ Sub B4XPage_Appear
|
|||||||
c.Position=i
|
c.Position=i
|
||||||
Dim label1 As Label
|
Dim label1 As Label
|
||||||
label1 = ListView1.TwoLinesLayout.Label
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
label1.TextSize = 15
|
label1.TextSize = 20
|
||||||
label1.TextColor = Colors.Black
|
label1.TextColor = Colors.Black
|
||||||
label1.color = Colors.White
|
label1.color = Colors.White
|
||||||
Private textColor As Int = Colors.black
|
Private textColor As Int = Colors.White
|
||||||
If c.GetString("PE_CEDIS").Contains("PRO") Then textColor = Colors.RGB(210,105,30) 'Si es promo, cambiamos el color del texto.
|
If c.GetString("PE_CEDIS").Contains("PRO") Then textColor = Colors.Blue 'Si es promo, cambiamos el color del texto.
|
||||||
If Not(IsNumber(c.GetString("PE_CEDIS"))) Then textColor = Colors.RGB(210,105,30) 'Si es promo, cambiamos el color del texto.
|
If Not(IsNumber(c.GetString("PE_CEDIS"))) Then textColor = Colors.Blue 'Si es promo, cambiamos el color del texto.
|
||||||
Dim label2 As Label
|
Dim label2 As Label
|
||||||
label2 = ListView1.TwoLinesLayout.SecondLabel
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
label2.TextSize = 10
|
label2.TextSize = 16
|
||||||
label2.TextColor = Colors.Blue
|
label2.TextColor = Colors.White
|
||||||
ListView1.AddSingleLine(cs.Color(textColor).Size(12).append(c.GetString("PE_PRONOMBRE") & " ").pop.Append(CRLF).Size(8).Color(Colors.Blue).Append("Cantidad #"& c.GetString("PE_CANT")).Append(" SubTotal $"& c.GetString("PE_COSTO_TOT")).Append(" " & c.GetString("PE_FOLIO")& " " &c.GetString("PE_CEDIS")).PopAll)
|
|
||||||
|
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)
|
||||||
|
label1.Height = 90dip
|
||||||
|
' label2.Height = 60dip
|
||||||
|
'
|
||||||
|
' ListView1.TwoLinesLayout.ItemHeight = 120dip
|
||||||
|
ListView1.SingleLineLayout.ItemHeight = 90dip
|
||||||
|
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
folio = c.GetString("PE_FOLIO")
|
folio = c.GetString("PE_FOLIO")
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
If Existe <> 0 Then
|
If Existe <> 0 Then
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("select pc_noart, pc_monto from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
c=B4XPages.MainPage.skmt.ExecQuery("select SUM(PE_CANT) AS PE_CANT 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
|
C.Position=0
|
||||||
L_CANT.Text = c.GetString("PC_NOART")
|
L_CANT.Text = c.GetString("PE_CANT")
|
||||||
L_TOTAL.Text = NumberFormat2(c.GetString("PC_MONTO"), 1, 2, 2, True)
|
' L_TOTAL.Text = NumberFormat2(c.GetString("PC_MONTO"), 1, 2, 2, True)
|
||||||
c.Close
|
c.Close
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("select SUM(IFNULL(PE_DESC,0)) AS DESCUENTO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
c=B4XPages.MainPage.skmt.ExecQuery("select SUM(IFNULL(PE_DESC,0)) AS DESCUENTO FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
c.Position=0
|
c.Position=0
|
||||||
@@ -121,8 +134,6 @@ Sub B4XPage_Appear
|
|||||||
|
|
||||||
L_TOTAL.Text =NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,True)
|
L_TOTAL.Text =NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,True)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
s.Close
|
s.Close
|
||||||
|
|
||||||
|
|
||||||
@@ -234,6 +245,8 @@ Sub borra_Click
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
||||||
|
Log(Subs.traeTablaProds(tipo_venta))
|
||||||
|
Log(Value)
|
||||||
Private X() As String = Regex.Split(" ", Value)
|
Private X() As String = Regex.Split(" ", Value)
|
||||||
Log(X.Length)
|
Log(X.Length)
|
||||||
Private nom As String = ""
|
Private nom As String = ""
|
||||||
@@ -349,7 +362,13 @@ Sub ListView1_ItemLongClick (Position As Int, Value As Object)
|
|||||||
Next
|
Next
|
||||||
' Log(nom)
|
' Log(nom)
|
||||||
nom = nom.Trim
|
nom = nom.Trim
|
||||||
Private cedis As String = X(X.Length-1)
|
If X(X.Length-1) <> ".01" Then
|
||||||
|
Private cedis As String = X(X.Length-1)
|
||||||
|
Else
|
||||||
|
Private cedis As String = (X(X.Length-2) &" " & X(X.Length-1))
|
||||||
|
End If
|
||||||
|
Log(nom)
|
||||||
|
Log(cedis)
|
||||||
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)"$) ' Se agregó el "pe_pronombre = '${nom} '" porque al nombre de los productos de promo se les agrega un "espacio al final" para que cuando exiiste en el pedido un mismo producto fuera de promocion, el "quitaduplicados" no los elimine.
|
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)"$) ' Se agregó el "pe_pronombre = '${nom} '" porque al nombre de los productos de promo se les agrega un "espacio al final" para que cuando exiiste en el pedido un mismo producto fuera de promocion, el "quitaduplicados" no los elimine.
|
||||||
Log($"select PE_PROID,PE_CANT, PE_FOLIO, PE_CEDIS 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}' or pe_pronombre = '${nom} ') AND PE_CEDIS = '${cedis}' and pe_cliente in (Select CUENTA from cuentaa)"$)
|
||||||
Log(c.RowCount)
|
Log(c.RowCount)
|
||||||
|
|||||||
@@ -55,12 +55,13 @@ Sub B4XPage_Appear
|
|||||||
StartActivity(Starter.gps.LocationSettingsIntent)
|
StartActivity(Starter.gps.LocationSettingsIntent)
|
||||||
End If
|
End If
|
||||||
GUARDA.Visible = False
|
GUARDA.Visible = False
|
||||||
Subs.panelVisible(p_nuevoCliente, 0, 0)
|
' Subs.panelVisible(p_nuevoCliente,, 0)
|
||||||
p_nuevoCliente.Height = Root.Height
|
' p_nuevoCliente.Height = Root.Height
|
||||||
p_nuevoCliente.Width = Root.Width
|
' p_nuevoCliente.Width = Root.Width
|
||||||
Subs.centraEtiqueta(Label1, Root.Width)
|
' Subs.centraEtiqueta(Label1, Root.Width)
|
||||||
Subs.centraEtiqueta(l_sinUbicacion, Root.Width)
|
' Subs.centraEtiqueta(l_sinUbicacion, Root.Width)
|
||||||
Subs.centraPanel(p_botones, Root.Width)
|
' Subs.centraPanel(p_botones, Root.Width)
|
||||||
|
Subs.centraPanel(p_nuevoCliente, Root.Width)
|
||||||
' E_NOMBRE.Left = Round(Root.Width/2)-(E_NOMBRE.Width/2)
|
' E_NOMBRE.Left = Round(Root.Width/2)-(E_NOMBRE.Width/2)
|
||||||
If B4XPages.MainPage.lat_gps <> "0.0" Then
|
If B4XPages.MainPage.lat_gps <> "0.0" Then
|
||||||
GUARDA.Visible = True 'Si hay ubicaccion, mostramos el boton de guardar.
|
GUARDA.Visible = True 'Si hay ubicaccion, mostramos el boton de guardar.
|
||||||
|
|||||||
@@ -241,6 +241,12 @@ Sub Class_Globals
|
|||||||
Dim bitacora As C_Bitacora
|
Dim bitacora As C_Bitacora
|
||||||
Private l_version As Label
|
Private l_version As Label
|
||||||
Dim contadorSubir As Int = 0
|
Dim contadorSubir As Int = 0
|
||||||
|
|
||||||
|
Private p_somvra_2 As Panel
|
||||||
|
Private b_resdia As Button
|
||||||
|
Private b_hacerpedido As Button
|
||||||
|
Private b_nuevocliente As Button
|
||||||
|
Private b_clientesvisitados As Button
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'You can add more parameters here.
|
'You can add more parameters here.
|
||||||
@@ -303,7 +309,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
If Subs.traeTipoVentaDeBD = "VENTA" Or Subs.traeTipoVentaDeBD = "ABORDO" Then
|
If Subs.traeTipoVentaDeBD = "VENTA" Or Subs.traeTipoVentaDeBD = "ABORDO" Then
|
||||||
If l_ruta.Text <> "0" Then
|
If l_ruta.Text <> "0" Then
|
||||||
Log(999 & "|" & l_ruta.Text & "|")
|
Log(999 & "|" & l_ruta.Text & "|")
|
||||||
b_abordo.Visible = True
|
b_abordo.Visible = False
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
b_abordo.Visible = False
|
b_abordo.Visible = False
|
||||||
@@ -329,7 +335,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
'where pc_fecha = ?", Array As String(fecha)
|
'where pc_fecha = ?", Array As String(fecha)
|
||||||
c.Position=0
|
c.Position=0
|
||||||
b.Position=0
|
b.Position=0
|
||||||
L_MONTOD.Text = c.GetString("MONTO_DIA")
|
L_MONTOD.Text = NumberFormat2(c.GetDouble("MONTO_DIA"), 0, 2, 2, False)
|
||||||
l_cuantosc.Text = c.GetString("CLIENTES_DIA")
|
l_cuantosc.Text = c.GetString("CLIENTES_DIA")
|
||||||
l_cuantosn.Text = b.GetString("CUANTOS")
|
l_cuantosn.Text = b.GetString("CUANTOS")
|
||||||
drop = c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA")
|
drop = c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA")
|
||||||
@@ -368,6 +374,8 @@ Sub B4XPage_Appear
|
|||||||
p_principal.Visible = True
|
p_principal.Visible = True
|
||||||
E_RUTA2.Text = ""
|
E_RUTA2.Text = ""
|
||||||
p_ruta2.Visible = False
|
p_ruta2.Visible = False
|
||||||
|
E_RUTA2.Visible = False
|
||||||
|
p_somvra_2.Visible = False
|
||||||
Subs.validaPromoProcterPRO3009
|
Subs.validaPromoProcterPRO3009
|
||||||
HORAINGRESO ="000000"
|
HORAINGRESO ="000000"
|
||||||
Btn_Ubicar.Left = (Panel4.Width/2) - (Btn_Ubicar.Width/2)
|
Btn_Ubicar.Left = (Panel4.Width/2) - (Btn_Ubicar.Width/2)
|
||||||
@@ -453,7 +461,7 @@ Sub B4XPage_Appear
|
|||||||
b=B4XPages.MainPage.skmt.ExecQuery("select count( distinct NV_CLIENTE) as CUANTOS from noventa")
|
b=B4XPages.MainPage.skmt.ExecQuery("select count( distinct NV_CLIENTE) as CUANTOS from noventa")
|
||||||
c.Position=0
|
c.Position=0
|
||||||
b.Position=0
|
b.Position=0
|
||||||
L_MONTOD.Text = c.GetString("MONTO_DIA")
|
L_MONTOD.Text = NumberFormat2(c.GetDouble("MONTO_DIA"), 0, 2, 2, False)
|
||||||
l_cuantosc.Text = c.GetString("CLIENTES_DIA")
|
l_cuantosc.Text = c.GetString("CLIENTES_DIA")
|
||||||
D2=B4XPages.MainPage.skmt.ExecQuery("select COUNT(*) AS CUANTOS from PEDIDO ")
|
D2=B4XPages.MainPage.skmt.ExecQuery("select COUNT(*) AS CUANTOS from PEDIDO ")
|
||||||
D2.Position = 0
|
D2.Position = 0
|
||||||
@@ -477,14 +485,14 @@ Sub B4XPage_Appear
|
|||||||
End If
|
End If
|
||||||
Log("|" & c.GetString("MONTO_DIA") & "|")
|
Log("|" & c.GetString("MONTO_DIA") & "|")
|
||||||
Log("|" & c.GetString("CLIENTES_DIA") & "|")
|
Log("|" & c.GetString("CLIENTES_DIA") & "|")
|
||||||
L_TICKPROM.Text = Round2((c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA")), 2)
|
' L_TICKPROM.Text = Round2((c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA")), 2)
|
||||||
If c.GetString("MONTO_DIA") < 4000 Then
|
' If c.GetString("MONTO_DIA") < 4000 Then
|
||||||
ImageView5.Bitmap = LoadBitmap(File.DirAssets, "tache_rojo.png")
|
' ImageView5.Bitmap = LoadBitmap(File.DirAssets, "tache_rojo.png")
|
||||||
Else if c.GetString("MONTO_DIA") > = 4000 And c.GetString("MONTO_DIA") < 6250 Then
|
' Else if c.GetString("MONTO_DIA") > = 4000 And c.GetString("MONTO_DIA") < 6250 Then
|
||||||
ImageView5.bitmap = LoadBitmap(File.DirAssets, "alerta_amarilla.png")
|
' ImageView5.bitmap = LoadBitmap(File.DirAssets, "alerta_amarilla.png")
|
||||||
Else
|
' Else
|
||||||
ImageView5.Bitmap = LoadBitmap(File.DirAssets, "palomita_verde.png")
|
' ImageView5.Bitmap = LoadBitmap(File.DirAssets, "palomita_verde.png")
|
||||||
End If
|
' End If
|
||||||
b.Close
|
b.Close
|
||||||
c.Close
|
c.Close
|
||||||
End If
|
End If
|
||||||
@@ -533,6 +541,7 @@ Sub B4XPage_Appear
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub Subir_Click
|
Sub Subir_Click
|
||||||
|
checaPedido
|
||||||
CARGA = "SUBIR"
|
CARGA = "SUBIR"
|
||||||
P1.Visible = True
|
P1.Visible = True
|
||||||
P1.BringToFront
|
P1.BringToFront
|
||||||
@@ -549,6 +558,10 @@ Sub Subir_Click
|
|||||||
PB1.Visible = False
|
PB1.Visible = False
|
||||||
Resumen.Visible= False
|
Resumen.Visible= False
|
||||||
|
|
||||||
|
p_principal.Visible = False
|
||||||
|
Subs.panelVisible(P1, 0, 0)
|
||||||
|
Subs.centraPanel(P1, Root.Width)
|
||||||
|
Subs.centraPanelV(P1, Root.Height)
|
||||||
B4XPages.MainPage.reqManager.trackInit
|
B4XPages.MainPage.reqManager.trackInit
|
||||||
|
|
||||||
L_P_2.Text = "Envio de Pedidos"
|
L_P_2.Text = "Envio de Pedidos"
|
||||||
@@ -585,15 +598,15 @@ Sub Subir_Click
|
|||||||
c.Close
|
c.Close
|
||||||
|
|
||||||
' PEDIO_CLIENTE
|
' PEDIO_CLIENTE
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN FROM PEDIDO_CLIENTE ")
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE ")
|
||||||
d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
d=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE ")
|
||||||
If c.RowCount>0 Then
|
If c.RowCount>0 Then
|
||||||
For i=0 To c.RowCount -1
|
For i=0 To c.RowCount -1
|
||||||
c.Position=i
|
c.Position=i
|
||||||
Dim cmd As DBCommand
|
Dim cmd As DBCommand
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
cmd.Name = "insert_pedidos_GV2"
|
cmd.Name = "insert_pedidos_GV3"
|
||||||
cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"),ALMACEN,l_ruta.text,C.GetString("PC_COSTO_SIN") )
|
cmd.Parameters = Array As Object(C.GetString("PC_CLIENTE"),C.GetString("PC_FECHA"),C.GetString("PC_USER"),C.GetString("PC_NOART"),C.GetString("PC_MONTO"),C.GetString("PC_LON"),C.GetString("PC_LAT"),ALMACEN,l_ruta.text,C.GetString("PC_COSTO_SIN"),C.GetString("PC_FACTURA") )
|
||||||
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedidos")
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "ins_pedidos")
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
@@ -644,6 +657,21 @@ Sub Subir_Click
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
c.Close
|
c.Close
|
||||||
|
|
||||||
|
|
||||||
|
Dim fotomostrar1 As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info3 where foto is not NULL")
|
||||||
|
If fotomostrar1.RowCount>0 Then
|
||||||
|
For i=0 To fotomostrar1.RowCount -1
|
||||||
|
fotomostrar1.Position=i
|
||||||
|
Dim fotoenvio() As Byte = fotomostrar1.GetBlob("foto")
|
||||||
|
Dim cmd As DBCommand
|
||||||
|
cmd.Initialize
|
||||||
|
cmd.Name = "UPDATE_FOTO_GUNA"
|
||||||
|
cmd.Parameters = Array As Object(fotoenvio,fotomostrar1.GetString("CAT_CL_CODIGO"),Subs.traeAlmacen,Subs.traeRuta)
|
||||||
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "INS_coment")
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
fotomostrar1.Close
|
||||||
|
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info3 where CAT_CL_NUM_SERIEFISICO IS NOT NULL and gestion <> '0'")
|
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info3 where CAT_CL_NUM_SERIEFISICO IS NOT NULL and gestion <> '0'")
|
||||||
If c.RowCount>0 Then
|
If c.RowCount>0 Then
|
||||||
@@ -825,7 +853,7 @@ Sub Subir_Click
|
|||||||
cmd.Name ="insert_drop_GV2_3"
|
cmd.Name ="insert_drop_GV2_3"
|
||||||
cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",ALMACEN,Application.VersionName)
|
cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",ALMACEN,Application.VersionName)
|
||||||
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_drop")
|
B4XPages.MainPage.reqManager.ExecuteCommand(cmd , "inst_drop")
|
||||||
img2.Visible =True
|
img2.Visible =False
|
||||||
PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
|
PORCENTAJE = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
|
||||||
If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
|
If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
|
||||||
End If
|
End If
|
||||||
@@ -921,7 +949,7 @@ Sub cargar_Click
|
|||||||
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LONGITUD"))
|
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LONGITUD"))
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(0))
|
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(0))
|
||||||
CARGA = "CARGAR"
|
CARGA = "CARGAR"
|
||||||
img2.Visible =True
|
' img2.Visible =True
|
||||||
L_P_1.Visible = True
|
L_P_1.Visible = True
|
||||||
S_CC.Visible = True
|
S_CC.Visible = True
|
||||||
Btn_Ubicar.Visible=False
|
Btn_Ubicar.Visible=False
|
||||||
@@ -930,6 +958,11 @@ Sub cargar_Click
|
|||||||
Subs.panelVisible(P1, 0, 0)
|
Subs.panelVisible(P1, 0, 0)
|
||||||
Subs.centraPanel(P1, Root.Width)
|
Subs.centraPanel(P1, Root.Width)
|
||||||
Subs.centraPanelV(P1, Root.Height)
|
Subs.centraPanelV(P1, Root.Height)
|
||||||
|
Label4.Visible = False
|
||||||
|
l_ruta.Visible = False
|
||||||
|
Label22.Visible = False
|
||||||
|
l_rutasuplencia.Visible = False
|
||||||
|
|
||||||
' trabajar.Visible = False
|
' trabajar.Visible = False
|
||||||
NUEVO.Visible =False
|
NUEVO.Visible =False
|
||||||
BUSCA.Visible=False
|
BUSCA.Visible=False
|
||||||
@@ -956,6 +989,7 @@ Sub cargar_Click
|
|||||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from kmt_info3")
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from kmt_info3")
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from PROMO_ESP")
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from PROMO_ESP")
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from cod_result")
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from cod_result")
|
||||||
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from ABONOSP")
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from hist_gest")
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from hist_gest")
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod")
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod")
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod2")
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from cat_gunaprod2")
|
||||||
@@ -1027,6 +1061,11 @@ Sub cargar_Click
|
|||||||
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
|
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
|
||||||
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "gunaprod2")
|
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "gunaprod2")
|
||||||
|
|
||||||
|
cmd.Initialize
|
||||||
|
cmd.Name = "select_abonosp_GUNA_pre"
|
||||||
|
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text, e_ruta.Text,ALMACEN)
|
||||||
|
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "select_abonosp")
|
||||||
|
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
cmd.Name = "select_HIST_ESPECIAL_GUNA"
|
cmd.Name = "select_HIST_ESPECIAL_GUNA"
|
||||||
' cmd.Parameters = Array As Object(ALMACEN)
|
' cmd.Parameters = Array As Object(ALMACEN)
|
||||||
@@ -1060,6 +1099,15 @@ Sub cargar_Click
|
|||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If ALMACEN = 88 Or ALMACEN = 6 Then
|
||||||
|
|
||||||
|
cmd.Initialize
|
||||||
|
cmd.Name = "select_cat_promoesp_GUNA3"
|
||||||
|
cmd.Parameters = Array As Object(ALMACEN)
|
||||||
|
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "promoesp")
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
cmd.Name = "select_cat_paquetess_GV2"
|
cmd.Name = "select_cat_paquetess_GV2"
|
||||||
cmd.Parameters = Array As Object(ALMACEN)
|
cmd.Parameters = Array As Object(ALMACEN)
|
||||||
@@ -1075,6 +1123,7 @@ Sub cargar_Click
|
|||||||
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
||||||
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
|
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
|
||||||
|
|
||||||
|
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
cmd.Name = "select_hist_datos_GV2_2"
|
cmd.Name = "select_hist_datos_GV2_2"
|
||||||
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN)
|
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN,e_ruta.text, ALMACEN,e_ruta.text, ALMACEN)
|
||||||
@@ -1139,6 +1188,7 @@ Sub cargar_Click
|
|||||||
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO RUTA_SUPLENCIA(RS_RUTA) VALUES(?)",Array As String(E_RUTA2.Text))
|
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO RUTA_SUPLENCIA(RS_RUTA) VALUES(?)",Array As String(E_RUTA2.Text))
|
||||||
E_RUTA2.Visible = False
|
E_RUTA2.Visible = False
|
||||||
p_ruta2.Visible = False
|
p_ruta2.Visible = False
|
||||||
|
p_somvra_2.Visible = False
|
||||||
|
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
cmd.Name = "select_cat_clientes2_guna_GV2" '########################## CODIGO PARA CREDITOS ####################
|
cmd.Name = "select_cat_clientes2_guna_GV2" '########################## CODIGO PARA CREDITOS ####################
|
||||||
@@ -1229,6 +1279,8 @@ Sub cargar_Click
|
|||||||
If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias" , True)
|
If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias" , True)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Sub JobDone(Job As HttpJob)
|
Sub JobDone(Job As HttpJob)
|
||||||
B4XPages.MainPage.reqManager.trackNext(Job)
|
B4XPages.MainPage.reqManager.trackNext(Job)
|
||||||
Log("JOBDONE PRINCIPAL")
|
Log("JOBDONE PRINCIPAL")
|
||||||
@@ -1276,6 +1328,21 @@ 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 = "select_abonosp" Then 'query tag
|
||||||
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from ABONOSP")
|
||||||
|
For Each records() As Object In RESULT.Rows
|
||||||
|
Dim NOTA As String = records(RESULT.Columns.Get("NOTA"))
|
||||||
|
Dim CLIENTE As String = records(RESULT.Columns.Get("CLIENTE"))
|
||||||
|
Dim SALDO_PENDIENTE As String = records(RESULT.Columns.Get("SALDO_PENDIENTE"))
|
||||||
|
' Dim NOMBRE As String = records(RESULT.Columns.Get("NOMBRE"))
|
||||||
|
Dim FECHA_PAGARE As String = records(RESULT.Columns.Get("FECHA_PREVENTA"))
|
||||||
|
Starter.skmt.ExecNonQuery2("INSERT INTO ABONOSP(NOTA,CLIENTE,SALDO_PENDIENTE,FECHA) VALUES (?,?,?,?)", Array As Object (NOTA, CLIENTE,SALDO_PENDIENTE,FECHA_PAGARE))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
If Job.JobName = "DBRequest" Then
|
If Job.JobName = "DBRequest" Then
|
||||||
Dim result1 As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
|
Dim result1 As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
|
||||||
If result1.Tag = "CHECAENCUESTA" Then 'query tag
|
If result1.Tag = "CHECAENCUESTA" Then 'query tag
|
||||||
@@ -1319,12 +1386,15 @@ Sub JobDone(Job As HttpJob)
|
|||||||
Dim CAT_CL_CP As String = records(RESULT.Columns.Get("CAT_CL_CP"))
|
Dim CAT_CL_CP As String = records(RESULT.Columns.Get("CAT_CL_CP"))
|
||||||
Dim CAT_CL_LONG As String = records(RESULT.Columns.Get("CAT_CL_LONG"))
|
Dim CAT_CL_LONG As String = records(RESULT.Columns.Get("CAT_CL_LONG"))
|
||||||
Dim CAT_CL_LAT As String = records(RESULT.Columns.Get("CAT_CL_LAT"))
|
Dim CAT_CL_LAT As String = records(RESULT.Columns.Get("CAT_CL_LAT"))
|
||||||
|
Dim CAT_CL_FOTO() As Byte = records(RESULT.Columns.Get("CAT_CL_FOTO"))
|
||||||
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) 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))
|
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
|
||||||
@@ -1333,7 +1403,7 @@ Sub JobDone(Job As HttpJob)
|
|||||||
S_CC.Text = "LISTO"
|
S_CC.Text = "LISTO"
|
||||||
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Catalogo Clientes Actualizados." , True)
|
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Catalogo Clientes Actualizados." , True)
|
||||||
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
||||||
B4XPage_Appear
|
' B4XPage_Appear
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
EJECUTANDO=0
|
EJECUTANDO=0
|
||||||
End If
|
End If
|
||||||
@@ -1366,9 +1436,10 @@ 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_FOTO() As Byte = records(RESULT.Columns.Get("CAT_CL_FOTO"))
|
||||||
'########################## 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) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,?,?)", Array As Object (CAT_CL_CODIGO,E_RUTA2.Text,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))
|
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))
|
||||||
'########################## TERMINA CODIGO PARA CREDITOS ####################
|
'########################## TERMINA CODIGO PARA CREDITOS ####################
|
||||||
' Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario,Subs.traeAlmacen, e_ruta.Text, "Suplencia", "",Subs.fechanormal(DateTime.Now),Subs.fechanormal(DateTime.Now),B4XPages.MainPage.lat_gps,B4XPages.MainPage.lon_gps,"2","","")
|
' Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario,Subs.traeAlmacen, e_ruta.Text, "Suplencia", "",Subs.fechanormal(DateTime.Now),Subs.fechanormal(DateTime.Now),B4XPages.MainPage.lat_gps,B4XPages.MainPage.lon_gps,"2","","")
|
||||||
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))
|
||||||
@@ -1377,7 +1448,7 @@ Sub JobDone(Job As HttpJob)
|
|||||||
S_CC.Text = "LISTO"
|
S_CC.Text = "LISTO"
|
||||||
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Catalogo Clientes Actualizados." , True)
|
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Catalogo Clientes Actualizados." , True)
|
||||||
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
||||||
B4XPage_Appear
|
' B4XPage_Appear
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
EJECUTANDO=0
|
EJECUTANDO=0
|
||||||
End If
|
End If
|
||||||
@@ -1688,9 +1759,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 Int = 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
|
||||||
@@ -1704,7 +1777,7 @@ Sub JobDone(Job As HttpJob)
|
|||||||
End If
|
End If
|
||||||
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Productos Actualizados." , True)
|
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Productos Actualizados." , True)
|
||||||
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
||||||
B4XPage_Appear
|
' B4XPage_Appear
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
EJECUTANDO=0
|
EJECUTANDO=0
|
||||||
End If
|
End If
|
||||||
@@ -1747,7 +1820,7 @@ Sub JobDone(Job As HttpJob)
|
|||||||
End If
|
End If
|
||||||
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Productos Actualizados." , True)
|
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Productos Actualizados." , True)
|
||||||
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
||||||
B4XPage_Appear
|
' B4XPage_Appear
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
EJECUTANDO=0
|
EJECUTANDO=0
|
||||||
End If
|
End If
|
||||||
@@ -1795,11 +1868,11 @@ Sub JobDone(Job As HttpJob)
|
|||||||
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Promociones Actualizados." , True)
|
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Promociones Actualizados." , True)
|
||||||
Listo4=1
|
Listo4=1
|
||||||
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
||||||
B4XPage_Appear
|
' B4XPage_Appear
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
EJECUTANDO=0
|
EJECUTANDO=0
|
||||||
Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
|
Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
|
||||||
B4XPage_Appear
|
' B4XPage_Appear
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
EJECUTANDO=0
|
EJECUTANDO=0
|
||||||
End If
|
End If
|
||||||
@@ -1838,11 +1911,11 @@ Sub JobDone(Job As HttpJob)
|
|||||||
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Promociones especiales Actualizados." , True)
|
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Promociones especiales Actualizados." , True)
|
||||||
Listo4=1
|
Listo4=1
|
||||||
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
||||||
B4XPage_Appear
|
' B4XPage_Appear
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
EJECUTANDO=0
|
EJECUTANDO=0
|
||||||
Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
|
Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
|
||||||
B4XPage_Appear
|
' B4XPage_Appear
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
EJECUTANDO=0
|
EJECUTANDO=0
|
||||||
End If
|
End If
|
||||||
@@ -1877,11 +1950,11 @@ Sub JobDone(Job As HttpJob)
|
|||||||
End If
|
End If
|
||||||
Listo3 =1
|
Listo3 =1
|
||||||
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
||||||
B4XPage_Appear
|
' B4XPage_Appear
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
EJECUTANDO=0
|
EJECUTANDO=0
|
||||||
Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
|
Else If Listo4 = 1 And Listo3 = 1 And inve = 1 Then
|
||||||
B4XPage_Appear
|
' B4XPage_Appear
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
EJECUTANDO=0
|
EJECUTANDO=0
|
||||||
End If
|
End If
|
||||||
@@ -1913,7 +1986,7 @@ Sub JobDone(Job As HttpJob)
|
|||||||
End If
|
End If
|
||||||
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Venta historico Actualizado." , True)
|
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Venta historico Actualizado." , True)
|
||||||
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
|
||||||
B4XPage_Appear
|
' B4XPage_Appear
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
EJECUTANDO=0
|
EJECUTANDO=0
|
||||||
End If
|
End If
|
||||||
@@ -2295,6 +2368,7 @@ Log("--------> BORRAMOS")
|
|||||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente")
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente")
|
||||||
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 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")
|
||||||
@@ -2371,6 +2445,7 @@ Sub e_ruta_EnterPressed
|
|||||||
e_ruta.Text = ""
|
e_ruta.Text = ""
|
||||||
E_RUTA2.Visible = True
|
E_RUTA2.Visible = True
|
||||||
p_ruta2.Visible = True
|
p_ruta2.Visible = True
|
||||||
|
p_somvra_2.Visible = False
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -2448,9 +2523,12 @@ Sub B_OK_PAS_Click
|
|||||||
Resumen.Visible= True
|
Resumen.Visible= True
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
CARGA = ""
|
CARGA = ""
|
||||||
Subs.panelVisible(p_principal, 0, 0)
|
' Subs.panelVisible(p_principal, 0, 0)
|
||||||
E_RUTA2.Text = ""
|
E_RUTA2.Text = ""
|
||||||
e_ruta.Text = ""
|
e_ruta.Text = ""
|
||||||
|
Label4.Visible = True
|
||||||
|
l_ruta.Visible = True
|
||||||
|
B4XPage_Appear
|
||||||
Else If CARGA = "SUBIR" And S_CP.Text = "ERROR" Then
|
Else If CARGA = "SUBIR" And S_CP.Text = "ERROR" Then
|
||||||
Msgbox("Tiene que subir de nuevo la información","Atención") 'ignore
|
Msgbox("Tiene que subir de nuevo la información","Atención") 'ignore
|
||||||
P1.Visible = False
|
P1.Visible = False
|
||||||
@@ -2460,7 +2538,7 @@ Sub B_OK_PAS_Click
|
|||||||
connecta.Visible=True
|
connecta.Visible=True
|
||||||
Resumen.Visible= True
|
Resumen.Visible= True
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
Subs.panelVisible(p_principal, 0, 0)
|
' Subs.panelVisible(p_principal, 0, 0)
|
||||||
Else if CARGA = "SUBIR" And S_CP.Text <> "INFO OK" Then
|
Else if CARGA = "SUBIR" And S_CP.Text <> "INFO OK" Then
|
||||||
RES = Msgbox2("Seguro que desa abortar el proceso","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
RES = Msgbox2("Seguro que desa abortar el proceso","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||||
If RES = DialogResponse.POSITIVE Then
|
If RES = DialogResponse.POSITIVE Then
|
||||||
@@ -2471,7 +2549,7 @@ Sub B_OK_PAS_Click
|
|||||||
connecta.Visible=True
|
connecta.Visible=True
|
||||||
Resumen.Visible= True
|
Resumen.Visible= True
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
Subs.panelVisible(p_principal, 0, 0)
|
' Subs.panelVisible(p_principal, 0, 0)
|
||||||
ExitApplication
|
ExitApplication
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -2484,7 +2562,11 @@ Sub B_OK_PAS_Click
|
|||||||
connecta.Visible=True
|
connecta.Visible=True
|
||||||
Resumen.Visible= True
|
Resumen.Visible= True
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
Subs.panelVisible(p_principal, 0, 0)
|
|
||||||
|
Label4.Visible = True
|
||||||
|
l_ruta.Visible = True
|
||||||
|
B4XPage_Appear
|
||||||
|
' Subs.panelVisible(p_principal, 0, 0)
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String("CARGA_DIA"))
|
B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?", Array As String("CARGA_DIA"))
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CARGA_DIA",1))
|
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CARGA_DIA",1))
|
||||||
If E_RUTA2.Visible = True Then
|
If E_RUTA2.Visible = True Then
|
||||||
@@ -2518,6 +2600,7 @@ Sub B_OK_PAS_Click
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
c13.Close
|
c13.Close
|
||||||
|
checaPedido
|
||||||
Else if CARGA = "CARGAR" And (S_CP.Text <> "LISTO" Or S_CC.Text <> "LISTO" Or S_CH.Text <> "LISTO") Then
|
Else if CARGA = "CARGAR" And (S_CP.Text <> "LISTO" Or S_CC.Text <> "LISTO" Or S_CH.Text <> "LISTO") Then
|
||||||
RES = Msgbox2("Seguro que desa abortar el proceso","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
RES = Msgbox2("Seguro que desa abortar el proceso","Cierre", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||||
If RES = DialogResponse.POSITIVE Then
|
If RES = DialogResponse.POSITIVE Then
|
||||||
@@ -2528,7 +2611,8 @@ Sub B_OK_PAS_Click
|
|||||||
connecta.Visible=True
|
connecta.Visible=True
|
||||||
Resumen.Visible= True
|
Resumen.Visible= True
|
||||||
img2.Visible=False
|
img2.Visible=False
|
||||||
Subs.panelVisible(p_principal, 0, 0)
|
' Subs.panelVisible(p_principal, 0, 0)
|
||||||
|
B4XPage_Appear
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from kmt_info3")
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from kmt_info3")
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from cod_result")
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from cod_result")
|
||||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from hist_gest")
|
B4XPages.MainPage.skmt.ExecNonQuery("delete from hist_gest")
|
||||||
@@ -2546,7 +2630,7 @@ Sub B_OK_PAS_Click
|
|||||||
If Subs.traeTipoVentaDeBD = "VENTA" Or Subs.traeTipoVentaDeBD = "ABORDO" Then
|
If Subs.traeTipoVentaDeBD = "VENTA" Or Subs.traeTipoVentaDeBD = "ABORDO" Then
|
||||||
If l_ruta.Text <> "0" Then
|
If l_ruta.Text <> "0" Then
|
||||||
Log(888 & "|" & l_ruta.Text & "|")
|
Log(888 & "|" & l_ruta.Text & "|")
|
||||||
b_abordo.Visible = True
|
b_abordo.Visible = False
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
b_abordo.Visible = False
|
b_abordo.Visible = False
|
||||||
@@ -2590,7 +2674,7 @@ Sub CARGA_Click
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub resdia_Click
|
Sub resdia_Click
|
||||||
p_principal.Visible = False
|
' p_principal.Visible = False
|
||||||
Btn_Ubicar.Visible=False
|
Btn_Ubicar.Visible=False
|
||||||
SCROLL_RESDIA.Visible = True
|
SCROLL_RESDIA.Visible = True
|
||||||
SCROLL_RESDIA.Panel.LoadLayout("RESDIA")
|
SCROLL_RESDIA.Panel.LoadLayout("RESDIA")
|
||||||
@@ -2697,7 +2781,7 @@ Sub resdia_Click
|
|||||||
Else if ru_o.RowCount >=1 Then
|
Else if ru_o.RowCount >=1 Then
|
||||||
Private rutOr As String = ru_o.GetString("PE_RUTA")
|
Private rutOr As String = ru_o.GetString("PE_RUTA")
|
||||||
Label2.Text = "Ruta " & rutOr
|
Label2.Text = "Ruta " & rutOr
|
||||||
l_ru_pri.Text = NumberFormat2(ru_o.GetString("TOTAL_CLIE"), 0, 2, 2, False)
|
l_ru_pri.Text = NumberFormat2(ru_o.GetDouble("TOTAL_CLIE"), 0, 2, 2, False)
|
||||||
End If
|
End If
|
||||||
ru_o.Close
|
ru_o.Close
|
||||||
|
|
||||||
@@ -2710,7 +2794,7 @@ Sub resdia_Click
|
|||||||
Private RuSu As String = ru_s.GetString("PE_RUTA")
|
Private RuSu As String = ru_s.GetString("PE_RUTA")
|
||||||
Label4.Text = "Ruta " & RuSu
|
Label4.Text = "Ruta " & RuSu
|
||||||
ru_s.Position = 0
|
ru_s.Position = 0
|
||||||
l_ru_sup.Text = NumberFormat2(ru_s.GetString("TOTAL_CLIE"), 0, 2, 2, False)
|
l_ru_sup.Text = NumberFormat2(ru_s.GetDouble("TOTAL_CLIE"), 0, 2, 2, False)
|
||||||
End If
|
End If
|
||||||
ru_s.Close
|
ru_s.Close
|
||||||
|
|
||||||
@@ -2862,6 +2946,8 @@ Sub B_COMM_Click
|
|||||||
SCROLL_RESDIA.Panel.Height = Panel_C.Height
|
SCROLL_RESDIA.Panel.Height = Panel_C.Height
|
||||||
Panel4.Visible = False
|
Panel4.Visible = False
|
||||||
Panel_C.Visible = True
|
Panel_C.Visible = True
|
||||||
|
Panel_C.Width = Root.Width * 0.90
|
||||||
|
|
||||||
|
|
||||||
' trabajar.Visible = False
|
' trabajar.Visible = False
|
||||||
NUEVO.Visible =False
|
NUEVO.Visible =False
|
||||||
@@ -2870,7 +2956,7 @@ Sub B_COMM_Click
|
|||||||
Subir.Visible=False
|
Subir.Visible=False
|
||||||
cargar.Visible=False
|
cargar.Visible=False
|
||||||
Resumen.Visible= False
|
Resumen.Visible= False
|
||||||
'
|
|
||||||
If l_ruta.Text <> 0 Then
|
If l_ruta.Text <> 0 Then
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("Select HCM_TOTAL_V, HCM_TOTAL_VIVE, HCM_TOTAL_GUNA, HCM_TOTAL_BEB from HIST_COMISIONES_MOVIL")
|
c=B4XPages.MainPage.skmt.ExecQuery("Select HCM_TOTAL_V, HCM_TOTAL_VIVE, HCM_TOTAL_GUNA, HCM_TOTAL_BEB from HIST_COMISIONES_MOVIL")
|
||||||
If c.RowCount > 0 Then
|
If c.RowCount > 0 Then
|
||||||
@@ -2889,6 +2975,7 @@ Sub B_COMM_Click
|
|||||||
L_TOTAL_VIVE.Text = 0
|
L_TOTAL_VIVE.Text = 0
|
||||||
L_TOTAL_COMIS.Text = 0
|
L_TOTAL_COMIS.Text = 0
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub B_OK_COMISS_Click
|
Sub B_OK_COMISS_Click
|
||||||
@@ -3029,4 +3116,35 @@ End Sub
|
|||||||
|
|
||||||
Private Sub P1_Click
|
Private Sub P1_Click
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub b_clientesvisitados_Click
|
||||||
|
tickets_dia_Click
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub b_ubicar_Click
|
||||||
|
Btn_Ubicar_Click
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub b_nuevocliente_Click
|
||||||
|
nvo_cliente_Click
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub b_hacerpedido_Click
|
||||||
|
hacer_ped_Click
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub b_resdia_Click
|
||||||
|
resdia_Click
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub checaPedido
|
||||||
|
Private c As Cursor = Starter.skmt.ExecQuery("SELECT PC_CLIENTE FROM PEDIDO_CLIENTE")
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
Starter.skmt.ExecNonQuery("Update kmt_info3 set gestion = 2 WHERE CAT_CL_CODIGO IN (SELECT PC_CLIENTE FROM PEDIDO_CLIENTE)")
|
||||||
|
End If
|
||||||
|
Private c As Cursor = Starter.skmt.ExecQuery("SELECT NV_CLIENTE FROM NOVENTA")
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
Starter.skmt.ExecNonQuery("Update kmt_info3 set gestion = 3 WHERE CAT_CL_CODIGO IN (SELECT NV_CLIENTE FROM NOVENTA)")
|
||||||
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
3052
B4A/C_Productos.bas
3052
B4A/C_Productos.bas
File diff suppressed because it is too large
Load Diff
759
B4A/C_Promos.bas
759
B4A/C_Promos.bas
@@ -4,23 +4,425 @@ ModulesStructureVersion=1
|
|||||||
Type=Class
|
Type=Class
|
||||||
Version=11.5
|
Version=11.5
|
||||||
@EndOfDesignText@
|
@EndOfDesignText@
|
||||||
|
'Sub Class_Globals
|
||||||
|
' Private Root As B4XView 'ignore
|
||||||
|
' Private xui As XUI
|
||||||
|
' Private l_promoDesc As Label
|
||||||
|
' Private lv_prodsFijos As ListView
|
||||||
|
' Private clv_prodsVariabes As CustomListView
|
||||||
|
' Private l_prodsFijos As Label
|
||||||
|
' Private l_prodsVariables As Label
|
||||||
|
' Private i_prod As ImageView
|
||||||
|
' Private l_prodX As Label
|
||||||
|
' Private b_prodMenos As Button
|
||||||
|
' Private et_pCant As EditText
|
||||||
|
' Private b_prodMas As Button
|
||||||
|
' Private l_pCant As Label
|
||||||
|
' Dim totalProds As Int = 0
|
||||||
|
' Dim prodsVarReq As Int = 0
|
||||||
|
' Dim prodsVarReq2 As Int = 0
|
||||||
|
' Dim totalCompra As Float = 0
|
||||||
|
' Dim prodsFijosTot As Float = 0
|
||||||
|
' Dim tpf As Int = 0
|
||||||
|
' Dim tpf2 As Int = 0
|
||||||
|
' Dim maxCantPromos As Int = 1
|
||||||
|
' Private l_totProds As Label
|
||||||
|
' Private l_total As Label
|
||||||
|
' Private b_terminar1 As Button
|
||||||
|
' Private p_promociones As Panel
|
||||||
|
' Dim prodsIds, prodsCants, prodsPrecios, prodsIds2, prodsCants2, prodsPrecios2 As List
|
||||||
|
' Dim estaPromo, esteCliente As String
|
||||||
|
' Private b_promoMas As Button
|
||||||
|
' Private b_promoMenos As Button
|
||||||
|
' Private et_promoCant As EditText
|
||||||
|
' Private l_promosCant As Label
|
||||||
|
' Private b_continuar As Button
|
||||||
|
' Private p_prodsVariables As Panel
|
||||||
|
' Dim laPromo = "", elCliente = "" As String
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
''You can add more parameters here.
|
||||||
|
'Public Sub Initialize As Object
|
||||||
|
' Return Me
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
''This event will be called once, before the page becomes visible.
|
||||||
|
'Private Sub B4XPage_Created (Root1 As B4XView)
|
||||||
|
' Root = Root1
|
||||||
|
' 'load the layout to Root
|
||||||
|
' Root.LoadLayout("promociones")
|
||||||
|
' p_promociones.Top=0
|
||||||
|
' p_promociones.Left=0
|
||||||
|
' p_promociones.Height=Root.Height
|
||||||
|
' p_promociones.Width=Root.Width
|
||||||
|
' b_terminar1.Left = Root.Width - (b_terminar1.Width + 10)
|
||||||
|
' b_continuar.Left = Root.Width - b_terminar1.Width - (b_continuar.Width + 20)
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
'Sub B4XPage_Appear
|
||||||
|
' prodsIds.Initialize
|
||||||
|
' prodsCants.Initialize
|
||||||
|
' prodsPrecios.Initialize
|
||||||
|
' prodsIds2.Initialize
|
||||||
|
' prodsCants2.Initialize
|
||||||
|
' prodsPrecios2.Initialize
|
||||||
|
' Log($"laPromo=${laPromo}, el cliente=${elCliente}"$)
|
||||||
|
' If laPromo <> "" Then muestraPromo(laPromo, elCliente)
|
||||||
|
'End Sub
|
||||||
|
''You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
|
'
|
||||||
|
'Sub muestraPromo(promo As String, cliente As String)
|
||||||
|
' Private thisLog As Boolean = False
|
||||||
|
' Log(promo)
|
||||||
|
' estaPromo = promo
|
||||||
|
' esteCliente = cliente
|
||||||
|
' Private mp As Map = Subs.traePromo(promo, cliente)
|
||||||
|
' Private prodsPromo As Map = mp.Get("productos") 'Los productos de la promoción.
|
||||||
|
' Private invDispPromo As Map = Subs.traemosInventarioDisponibleParaPromo(promo)
|
||||||
|
'' If thisLog Then Log($"invDispPromo=${invDispPromo}"$)
|
||||||
|
' Log("Max promos por inv de prods FIJOS: " & Subs.revisaMaxPromosProdsFijosPorInventario(mp))
|
||||||
|
' Log("Max promos por inv de prods VARIABLES: " & Subs.revisaMaxPromosProdsVariablesPorInventario(mp))
|
||||||
|
' maxCantPromos = Subs.revisaMaxPromosProdsVariablesPorInventario(mp)
|
||||||
|
' et_promoCant.Text = 1
|
||||||
|
' l_promosCant.text = "Max promos: " & maxCantPromos
|
||||||
|
' Private cs As CSBuilder
|
||||||
|
' cs.Initialize
|
||||||
|
' If thisLog Then Log(mp)
|
||||||
|
' If thisLog Then Log(prodsPromo)
|
||||||
|
' 'Ponemos la promo y descripción.
|
||||||
|
'' Dim desc As String = $"Promoción: ${promo}${CRLF}${mp.Get("descripcion")}"$
|
||||||
|
'' Dim desc As String = cs.append("Promocion: ").Color(Colors.RGB(100,149,237)).Append(promo).pop.append(CRLF).Append(mp.Get("descripcion")).Popall
|
||||||
|
' l_promoDesc.Text = cs.Color(Colors.White).append("Promocion: ").pop.append(CRLF).Append(promo).append(CRLF).Append(mp.Get("descripcion")).Popall
|
||||||
|
' prodsFijosTot = 0
|
||||||
|
' 'Ponemos el texto en las etiquetas de la cantidad de productos.
|
||||||
|
'' Dim pf As List = mp.Get("prodsFijos")
|
||||||
|
' Dim pv As List = mp.Get("prodsVariables")
|
||||||
|
' If thisLog Then Log(mp)
|
||||||
|
' tpf = 0
|
||||||
|
' For Each pfp As Int In mp.Get("prodsFijosPiezas").As(List)
|
||||||
|
' tpf = tpf + pfp
|
||||||
|
' Next
|
||||||
|
' tpf2 = tpf
|
||||||
|
'' tpf = tpf * maxCantPromos
|
||||||
|
' l_prodsFijos.Text = $"Productos fijos (${tpf})"$
|
||||||
|
' prodsVarReq = mp.Get("prodsVariablesRequeridos")
|
||||||
|
' prodsVarReq2 = prodsVarReq
|
||||||
|
' l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq}"$
|
||||||
|
' If prodsVarReq = 0 Then
|
||||||
|
' p_prodsVariables.Visible = False
|
||||||
|
' Else
|
||||||
|
' p_prodsVariables.Visible = True
|
||||||
|
' End If
|
||||||
|
' 'Llenamos el listview con los productos fijos.
|
||||||
|
' Dim label1 As Label
|
||||||
|
' label1 = lv_prodsFijos.SingleLineLayout.Label
|
||||||
|
' label1.TextSize = 13
|
||||||
|
' label1.TextColor = Colors.black
|
||||||
|
' lv_prodsFijos.SingleLineLayout.ItemHeight = 30dip
|
||||||
|
' lv_prodsFijos.Clear
|
||||||
|
'' If pf.Size < 1 Then pf.Add("Sin productos fijos.")
|
||||||
|
' lv_prodsFijos.Clear
|
||||||
|
' agregaFijosALista(mp, True)
|
||||||
|
' If thisLog Then Log("Total prods fijos = " & prodsFijosTot)
|
||||||
|
'' If thisLog Then Log("======="&prodsMap)
|
||||||
|
' l_totProds.text = $"Productos: ${tpf}"$
|
||||||
|
' l_total.Text = $"Total: $$1.2{prodsFijosTot}"$
|
||||||
|
'' Dim ins As InputStream
|
||||||
|
'' Dim bmp As Bitmap
|
||||||
|
'' Dim jpeg() As Byte
|
||||||
|
'
|
||||||
|
' 'Llenamos el listview con los productos variables.
|
||||||
|
' If thisLog Then Log(pv)
|
||||||
|
' If thisLog Then Log("invDisp=" & invDispPromo)
|
||||||
|
' clv_prodsVariabes.Clear
|
||||||
|
' For Each p As String In pv
|
||||||
|
' If invDispPromo.ContainsKey(p) Then 'Si no esta en la lista de productos con inventario no lo mostramos.
|
||||||
|
'' c2.Position=i
|
||||||
|
'' jpeg = c2.GetBlob("CAT_GP_IMG")
|
||||||
|
'' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
|
||||||
|
'' bmp.Initialize2(ins)
|
||||||
|
' Private thisProd As Map = prodsPromo.Get(p)
|
||||||
|
' If thisLog Then Log(thisProd)
|
||||||
|
' clv_prodsVariabes.Add(CreateListItem(Subs.traeProdNombre(p)&CRLF&"Hay " & invDispPromo.Get(p) & " $" & thisProd.Get("precio"), thisProd.Get("precio"), invDispPromo.Get(p), clv_prodsVariabes.AsView.Width, 50dip, Null, p), p)
|
||||||
|
' End If
|
||||||
|
' Next
|
||||||
|
' b_terminar1.Visible = False
|
||||||
|
' b_continuar.Visible = False
|
||||||
|
' cuentaProds
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
''Agregamos los productos fijos a una lista para despues meterlos en el pedido.
|
||||||
|
'Sub agregaFijosALista(mp As Map, addListItem As Boolean)
|
||||||
|
' Private thisLog As Boolean = False
|
||||||
|
' Private cont As Int = 0
|
||||||
|
' prodsFijosTot = 0
|
||||||
|
' Dim pf As List = mp.Get("prodsFijos")
|
||||||
|
' If pf.Size < 1 Then pf.Add("Sin productos fijos.")
|
||||||
|
'' Private m As Map
|
||||||
|
'' prodsMap.Put(estaPromo, CreateMap("cant":1, "precio":0))
|
||||||
|
'' prodsIds.Add(estaPromo)
|
||||||
|
' prodsIds.clear
|
||||||
|
' prodsCants.clear
|
||||||
|
' prodsPrecios.clear
|
||||||
|
' prodsIds.Add(estaPromo)
|
||||||
|
' prodsCants.Add(et_promoCant.text.As(Int))
|
||||||
|
' prodsPrecios.Add(0)
|
||||||
|
' For Each p As String In pf
|
||||||
|
' Log($"cont=${cont}, mp=${mp}"$)
|
||||||
|
' If mp.Get("prodsFijosPiezas").As(List).Size > 0 Then
|
||||||
|
' Private tpi As String = mp.Get("prodsFijosPiezas").As(List).Get(cont)
|
||||||
|
' Else
|
||||||
|
' Private tpi As String = 0
|
||||||
|
' End If
|
||||||
|
' If mp.Get("prodsFijosPrecios").As(List).Size > 0 Then
|
||||||
|
' Private tpr As String = mp.Get("prodsFijosPrecios").As(List).Get(cont)
|
||||||
|
' Else
|
||||||
|
' Private tpr As String = 0
|
||||||
|
' End If
|
||||||
|
' prodsFijosTot = prodsFijosTot + (tpi * tpr)
|
||||||
|
' If thisLog Then Log("|"&tpi&"|"&p)
|
||||||
|
' Private ntpi As Int = tpi * et_promoCant.text
|
||||||
|
' If addListItem And tpi > 0 Then lv_prodsFijos.AddSingleLine(ntpi & " " & Subs.traeProdNombre(p) & " - $" & tpr)
|
||||||
|
' cont = cont+1
|
||||||
|
'' m=CreateMap("cant":tpi, "precio":tpr)
|
||||||
|
'' prodsMap.Put(p, m)
|
||||||
|
' prodsIds.Add(p)
|
||||||
|
' prodsCants.Add(tpi.As(Int)*et_promoCant.text.As(Int))
|
||||||
|
' prodsPrecios.Add(tpr) '*et_promoCant.text.As(Int)
|
||||||
|
' Next
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
'Sub CreateListItem(Text As String, precioU As String, inv As Int, Width As Int, Height As Int, img As Bitmap, prodId As String) As Panel 'ignore
|
||||||
|
' Dim p As B4XView = xui.CreatePanel("")
|
||||||
|
' p.SetLayoutAnimated(0, 0, 0, Width, Height)
|
||||||
|
' p.LoadLayout("prodItem")
|
||||||
|
' l_prodX.TextSize = 12
|
||||||
|
' l_prodX.Text = Text
|
||||||
|
'' l_pCant.Text = 0
|
||||||
|
' l_pCant.Tag = precioU&"|"&inv&"|"&prodId
|
||||||
|
' et_pCant.Tag = precioU&"|"&inv&"|"&prodId
|
||||||
|
' et_pCant.BringToFront
|
||||||
|
'' i_prod.Bitmap = img
|
||||||
|
' Return p
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
'Sub b_prodMenos_Click
|
||||||
|
' Dim index As Int = clv_prodsVariabes.GetItemFromView(Sender)
|
||||||
|
' Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index)
|
||||||
|
' Dim pnl As B4XView = pnl0.GetView(0)
|
||||||
|
'' Dim laCant As B4XView = pnl.GetView(5)
|
||||||
|
' Dim laCant As B4XView = pnl.GetView(2).GetView(3)
|
||||||
|
'' Log($"precio|stock:${laCant.tag}"$)
|
||||||
|
' laCant.Text = $"$1.0{laCant.Text-1}"$
|
||||||
|
' If laCant.Text < 0 Then laCant.Text = 0
|
||||||
|
'' Dim chk As B4XView = pnl.GetView(2)
|
||||||
|
' cuentaProds
|
||||||
|
'' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
|
||||||
|
'' l_totProds.text = $"Total Productos: ${totalProds}"$
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
'Sub b_prodMas_Click
|
||||||
|
' If totalProds < prodsVarReq + tpf Then
|
||||||
|
' Dim index As Int = clv_prodsVariabes.GetItemFromView(Sender)
|
||||||
|
' Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index)
|
||||||
|
' Dim pnl As B4XView = pnl0.GetView(0)
|
||||||
|
'' Dim laCant As B4XView = pnl.GetView(5)
|
||||||
|
' Dim laCant As B4XView = pnl.GetView(2).GetView(3)
|
||||||
|
'' Log($"precio|stock:${laCant.tag}"$)
|
||||||
|
'' Log($"Indice: ${index}, cant:${laCant.Text+1}, precioU: ${laCant.tag}"$)
|
||||||
|
' Dim esteTag As List = Regex.Split("\|", laCant.Tag)
|
||||||
|
'' Log(esteTag)
|
||||||
|
' If laCant.Text + 1 <= esteTag.get(1) Then
|
||||||
|
' laCant.Text = $"$1.0{laCant.Text+1}"$
|
||||||
|
' cuentaProds
|
||||||
|
' End If
|
||||||
|
' End If
|
||||||
|
'' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
|
||||||
|
'' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
|
||||||
|
'' l_totProds.text = $"Total Productos: ${totalProds}"$
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
'Private Sub et_pCant_TextChanged (Old As String, New As String)
|
||||||
|
'' LogColor("txt changed",Colors.Magenta)
|
||||||
|
' cuentaProds
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
'Sub cuentaProds
|
||||||
|
' Log("=====================================================")
|
||||||
|
' Log("Inicia cuentaProds")
|
||||||
|
' Private thisLog As Boolean = False
|
||||||
|
' If thisLog Then LogColor($"ProdsFijos=${tpf}, totalProds=${totalProds}, totalCompra=${totalCompra}"$, Colors.Red)
|
||||||
|
' prodsIds2.Clear
|
||||||
|
' prodsCants2.Clear
|
||||||
|
' prodsPrecios2.Clear
|
||||||
|
' lv_prodsFijos.Clear
|
||||||
|
' agregaFijosALista(Subs.traePromo(estaPromo, esteCliente), True)
|
||||||
|
'' Log(prodsIds)
|
||||||
|
' Private tcpf As Float = 0 'Total de compra de productos fijos.
|
||||||
|
' For pf = 0 To prodsIds.Size - 1
|
||||||
|
' If thisLog Then Log($"${tcpf} + ${prodsCants.Get(pf)} * ${prodsPrecios.Get(pf)} = ${(prodsPrecios.Get(pf) * prodsCants.Get(pf))}"$)
|
||||||
|
' tcpf = tcpf + (prodsPrecios.Get(pf) * prodsCants.Get(pf))
|
||||||
|
' Next
|
||||||
|
'' Log("Total compra pordsFijos = " & tcpf)
|
||||||
|
' totalCompra = tcpf
|
||||||
|
' totalProds = tpf 'Cantidad total de productos fijos.
|
||||||
|
' For i = 0 To clv_prodsVariabes.GetSize - 1
|
||||||
|
' Private p0 As B4XView = clv_prodsVariabes.GetPanel(i)
|
||||||
|
' Private p As B4XView = p0.GetView(0)
|
||||||
|
' Private cant1 As B4XView = p.GetView(2).GetView(3)
|
||||||
|
' If cant1.Text = "" Then cant1.Text = 0
|
||||||
|
' totalProds = totalProds + cant1.Text
|
||||||
|
' Private esteTag As List = Regex.Split("\|", cant1.Tag)
|
||||||
|
' If cant1.Text > esteTag.Get(1) Then cant1.Text = esteTag.Get(1)
|
||||||
|
' If cant1.Text > 0 Then
|
||||||
|
' Log(esteTag.Get(2) & "|" & cant1.Text)
|
||||||
|
' totalCompra = totalCompra + (esteTag.get(0) * cant1.text)
|
||||||
|
' If thisLog Then Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$)
|
||||||
|
' prodsIds2.Add(esteTag.Get(2))
|
||||||
|
' prodsCants2.Add(cant1.Text)
|
||||||
|
' prodsPrecios2.Add(esteTag.get(0))
|
||||||
|
' End If
|
||||||
|
'' Log(esteTag)
|
||||||
|
'' Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$)
|
||||||
|
'' totalCompra = totalCompra * et_promoCant.Text
|
||||||
|
'' totalProds = totalProds * et_promoCant.Text
|
||||||
|
'
|
||||||
|
' l_total.Text = $"Total: $$1.2{totalCompra}"$
|
||||||
|
' l_totProds.text = $"Productos: ${totalProds}"$
|
||||||
|
' Next
|
||||||
|
' If thisLog Then Log($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$)
|
||||||
|
' l_total.Text = $"Total: $$1.2{totalCompra}"$
|
||||||
|
' l_totProds.text = $"Productos: ${totalProds}"$
|
||||||
|
' If totalProds < prodsVarReq + tpf Or totalProds > prodsVarReq + tpf Then
|
||||||
|
'' Log("INCOMPLETA")
|
||||||
|
' b_terminar1.Visible = False
|
||||||
|
' b_continuar.Visible = False
|
||||||
|
' Else
|
||||||
|
'' Log("COMPLETA")
|
||||||
|
' b_terminar1.Visible = True
|
||||||
|
' b_continuar.Visible = True
|
||||||
|
' End If
|
||||||
|
' If thisLog Then LogColor($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$, Colors.blue)
|
||||||
|
' If thisLog Then LogColor($"${prodsIds2}${CRLF}${prodsCants2}${CRLF}${prodsPrecios2}"$, Colors.Magenta)
|
||||||
|
' LogColor($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$, Colors.Blue)
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
'Private Sub et_pCant_FocusChanged (HasFocus As Boolean)
|
||||||
|
' LogColor("focus changed", Colors.Magenta)
|
||||||
|
' cuentaProds
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
'Private Sub b_promoMenos_Click
|
||||||
|
' If et_promoCant.Text > 1 Then
|
||||||
|
' et_promoCant.Text = et_promoCant.Text.As(Int) - 1
|
||||||
|
' End If
|
||||||
|
' l_prodsFijos.Text = $"Productos fijos (${tpf2 * et_promoCant.Text.As(Int)})"$
|
||||||
|
' l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq2 * et_promoCant.Text.As(Int)}"$
|
||||||
|
' tpf = tpf2 * et_promoCant.Text.As(Int)
|
||||||
|
' prodsVarReq = prodsVarReq2 * et_promoCant.Text.As(Int)
|
||||||
|
' Log($"Max promos=${et_promoCant.Text.As(Int)}, Prods fijos=${tpf}, "$)
|
||||||
|
' cuentaProds
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
'Private Sub b_promoMas_Click
|
||||||
|
' If et_promoCant.Text < maxCantPromos Then
|
||||||
|
' et_promoCant.Text = et_promoCant.Text.As(Int) + 1
|
||||||
|
' l_prodsFijos.Text = $"Productos fijos (${tpf2 * et_promoCant.Text.As(Int)})"$
|
||||||
|
' l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq2 * et_promoCant.Text.As(Int)}"$
|
||||||
|
' tpf = tpf2 * et_promoCant.Text.As(Int)
|
||||||
|
' prodsVarReq = prodsVarReq2 * et_promoCant.Text.As(Int)
|
||||||
|
' Log($"Max promos=${et_promoCant.Text.As(Int)}, Prods fijos=${tpf}, "$)
|
||||||
|
' End If
|
||||||
|
' If et_promoCant.text > maxCantPromos Then et_promoCant.Text = maxCantPromos
|
||||||
|
' cuentaProds
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
'Private Sub b_terminar1_Click
|
||||||
|
' cuentaProds
|
||||||
|
' Log("====================================================================")
|
||||||
|
'' Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$)
|
||||||
|
' For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido.
|
||||||
|
' Private pn As String = Subs.traeProdNombre(prodsIds.Get(t))
|
||||||
|
' If prodsCants.Get(t) > 0 Then Subs.guardaProducto(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn&" ", prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
||||||
|
' Next
|
||||||
|
' For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido.
|
||||||
|
' Private pn As String = Subs.traeProdNombre(prodsIds2.Get(t))
|
||||||
|
' Subs.guardaProducto(estaPromo, prodsPrecios2.Get(t), prodsCants2.Get(t), pn, prodsIds2.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
||||||
|
' Next
|
||||||
|
' lv_prodsFijos.Clear
|
||||||
|
' B4XPages.MainPage.bTerminarClicked = True
|
||||||
|
' B4XPages.ShowPage("Cliente")
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
'Private Sub b_continuar_Click
|
||||||
|
' cuentaProds
|
||||||
|
' Log("====================================================================")
|
||||||
|
' Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$)
|
||||||
|
' For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido.
|
||||||
|
' Private pn As String = Subs.traeProdNombre(prodsIds.Get(t))
|
||||||
|
' LogColor(pn,Colors.Red)
|
||||||
|
' If pn <> "N/A" Then
|
||||||
|
' Subs.guardaProducto(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
||||||
|
' End If
|
||||||
|
' Next
|
||||||
|
' Log(prodsIds2)
|
||||||
|
' For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido.
|
||||||
|
' Private pn As String = Subs.traeProdNombre(prodsIds2.Get(t))
|
||||||
|
' LogColor(pn,Colors.Green)
|
||||||
|
' If pn <> "N/A" Then
|
||||||
|
' Subs.guardaProducto(estaPromo, prodsPrecios2.Get(t), prodsCants2.Get(t), pn, prodsIds2.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
||||||
|
' End If
|
||||||
|
' Next
|
||||||
|
' lv_prodsFijos.Clear
|
||||||
|
'' Activity_KeyPress(KeyCodes.KEYCODE_BACK)
|
||||||
|
'' CallSubDelayed2(productos, "Activity_KeyPress", KeyCodes.KEYCODE_BACK)
|
||||||
|
' Private prodspage As C_Productos
|
||||||
|
' If prodspage.IsInitialized Then
|
||||||
|
' prodspage.P_CALATOLOS.Visible = True
|
||||||
|
' prodspage.P_CALATOLOS.BringToFront
|
||||||
|
' prodspage.lv_catalogos.Visible = True
|
||||||
|
' prodspage.lv_promos.Visible = False
|
||||||
|
' prodspage.Panel2.Visible = False
|
||||||
|
' prodspage.clv_productos.AsView.Visible = False
|
||||||
|
' End If
|
||||||
|
' B4XPages.MainPage.bTerminarClicked = True
|
||||||
|
' B4XPages.ShowPage("productos")
|
||||||
|
'End Sub
|
||||||
|
'
|
||||||
|
''Sub Activity_KeyPress (key As Int) As Boolean 'ignore
|
||||||
|
'' ' BACK key pressed
|
||||||
|
'' Log("Keypress")
|
||||||
|
'' If key=KeyCodes.KEYCODE_BACK Then
|
||||||
|
'' Log("BACK")
|
||||||
|
'' Return False
|
||||||
|
'' End If
|
||||||
|
'' Return False
|
||||||
|
'' ' Returning False signals the system to handle the key
|
||||||
|
''End Sub
|
||||||
|
|
||||||
|
|
||||||
Sub Class_Globals
|
Sub Class_Globals
|
||||||
Private Root As B4XView 'ignore
|
Private Root As B4XView 'ignore
|
||||||
Private xui As XUI
|
Private xui As XUI
|
||||||
Private l_promoDesc As Label
|
Private l_promoDesc As Label
|
||||||
Private lv_prodsFijos As ListView
|
Private lv_prodsFijos As ListView
|
||||||
Private clv_prodsVariabes As CustomListView
|
Private clv_prodsVariabes, clv_prodsVariabes2 As CustomListView
|
||||||
Private l_prodsFijos As Label
|
Private l_prodsFijos As Label
|
||||||
Private l_prodsVariables As Label
|
Private l_prodsVariables, l_prodsVariables2 As Label
|
||||||
Private i_prod As ImageView
|
Private i_prod As ImageView
|
||||||
Private l_prodX As Label
|
Private l_prodX As Label
|
||||||
Private b_prodMenos As Button
|
Private p_prods As Panel
|
||||||
|
Private b_prodMenos, b_prodMenos2 As Button
|
||||||
Private et_pCant As EditText
|
Private et_pCant As EditText
|
||||||
Private b_prodMas As Button
|
Private b_prodMas, b_prodMas2 As Button
|
||||||
Private l_pCant As Label
|
Private l_pCant As Label
|
||||||
Dim totalProds As Int = 0
|
Dim totalProds As Int = 0
|
||||||
|
Dim prodsVar1 As Int = 0
|
||||||
|
Dim prodsVar2 As Int = 0
|
||||||
Dim prodsVarReq As Int = 0
|
Dim prodsVarReq As Int = 0
|
||||||
|
Dim prodsVarReq_ As Int = 0
|
||||||
Dim prodsVarReq2 As Int = 0
|
Dim prodsVarReq2 As Int = 0
|
||||||
|
Dim prodsVarReq2_ As Int = 0
|
||||||
Dim totalCompra As Float = 0
|
Dim totalCompra As Float = 0
|
||||||
Dim prodsFijosTot As Float = 0
|
Dim prodsFijosTot As Float = 0
|
||||||
Dim tpf As Int = 0
|
Dim tpf As Int = 0
|
||||||
@@ -37,8 +439,12 @@ Sub Class_Globals
|
|||||||
Private et_promoCant As EditText
|
Private et_promoCant As EditText
|
||||||
Private l_promosCant As Label
|
Private l_promosCant As Label
|
||||||
Private b_continuar As Button
|
Private b_continuar As Button
|
||||||
Private p_prodsVariables As Panel
|
Private p_prodsVariables, p_prodsVariables2 As Panel
|
||||||
Dim laPromo = "", elCliente = "" As String
|
Dim laPromo = "", elCliente = "" As String
|
||||||
|
Dim prodsPedidoActual As String
|
||||||
|
Dim montoPedidoActual As String
|
||||||
|
Dim promosMap As Map
|
||||||
|
Dim su As StringUtils
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'You can add more parameters here.
|
'You can add more parameters here.
|
||||||
@@ -51,44 +457,80 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
Root = Root1
|
Root = Root1
|
||||||
'load the layout to Root
|
'load the layout to Root
|
||||||
Root.LoadLayout("promociones")
|
Root.LoadLayout("promociones")
|
||||||
|
|
||||||
|
p_promociones.Height= Root.Height
|
||||||
|
p_promociones.Width= Root.Width
|
||||||
|
promosMap.Initialize
|
||||||
p_promociones.Top=0
|
p_promociones.Top=0
|
||||||
p_promociones.Left=0
|
p_promociones.Left=0
|
||||||
p_promociones.Height=Root.Height
|
|
||||||
p_promociones.Width=Root.Width
|
|
||||||
b_terminar1.Left = Root.Width - (b_terminar1.Width + 10)
|
b_terminar1.Left = Root.Width - (b_terminar1.Width + 10)
|
||||||
b_continuar.Left = Root.Width - b_terminar1.Width - (b_continuar.Width + 20)
|
b_continuar.Left = Root.Width - b_terminar1.Width - (b_continuar.Width + 20)
|
||||||
|
Subs.centraPanel(p_promociones,Root.Width)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub B4XPage_Appear
|
Sub B4XPage_Appear
|
||||||
|
' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.blue)
|
||||||
prodsIds.Initialize
|
prodsIds.Initialize
|
||||||
prodsCants.Initialize
|
prodsCants.Initialize
|
||||||
prodsPrecios.Initialize
|
prodsPrecios.Initialize
|
||||||
prodsIds2.Initialize
|
prodsIds2.Initialize
|
||||||
prodsCants2.Initialize
|
prodsCants2.Initialize
|
||||||
prodsPrecios2.Initialize
|
prodsPrecios2.Initialize
|
||||||
Log($"laPromo=${laPromo}, el cliente=${elCliente}"$)
|
Dim m As Map = Subs.traeTotalesClienteActual
|
||||||
|
prodsPedidoActual = m.Get("productos")
|
||||||
|
montoPedidoActual = m.Get("monto")
|
||||||
|
' Log($"laPromo=${laPromo}, el cliente=${elCliente}"$)
|
||||||
If laPromo <> "" Then muestraPromo(laPromo, elCliente)
|
If laPromo <> "" Then muestraPromo(laPromo, elCliente)
|
||||||
|
Log(laPromo)
|
||||||
End Sub
|
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 muestraPromo(promo As String, cliente As String)
|
Sub muestraPromo(promo As String, cliente As String)
|
||||||
Private thisLog As Boolean = False
|
Private thisLog As Boolean = False
|
||||||
Log(promo)
|
' If thisLog Then Log(promo)
|
||||||
estaPromo = promo
|
estaPromo = promo
|
||||||
esteCliente = cliente
|
esteCliente = cliente
|
||||||
Private mp As Map = Subs.traePromo(promo, cliente)
|
Private mp As Map = Subs.traePromo(promo, cliente)
|
||||||
Private prodsPromo As Map = mp.Get("productos") 'Los productos de la promoción.
|
Private prodsPromo As Map = mp.Get("productos") 'Los productos de la promoción.
|
||||||
Private invDispPromo As Map = Subs.traemosInventarioDisponibleParaPromo(promo)
|
Private invDispPromo As Map = Subs.traemosInventarioDisponibleParaPromo(promo)
|
||||||
' If thisLog Then Log($"invDispPromo=${invDispPromo}"$)
|
' If thisLog Then Log($"invDispPromo=${invDispPromo}"$)
|
||||||
Log("Max promos por inv de prods FIJOS: " & Subs.revisaMaxPromosProdsFijosPorInventario(mp))
|
If thisLog Then Log("Max promos por inv de prods FIJOS: " & Subs.revisaMaxPromosProdsFijosPorInventario(mp))
|
||||||
Log("Max promos por inv de prods VARIABLES: " & Subs.revisaMaxPromosProdsVariablesPorInventario(mp))
|
If thisLog Then Log("Max promos por inv de prods VARIABLES: " & Subs.revisaMaxPromosProdsVariablesPorInventario(mp))
|
||||||
maxCantPromos = Subs.revisaMaxPromosProdsVariablesPorInventario(mp)
|
maxCantPromos = Subs.revisaMaxPromosProdsVariablesPorInventario(mp)
|
||||||
et_promoCant.Text = 1
|
et_promoCant.Text = 1
|
||||||
l_promosCant.text = "Max promos: " & maxCantPromos
|
|
||||||
|
If laPromo = "MYKONOS_01" Then
|
||||||
|
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT ifnull( SUM (PE_COSTO_TOT),0) As suma FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA)")
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
c.Position = 0
|
||||||
|
Private c2 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT DISTINCT CAT_PE_MONTO FROM CAT_PROMO_ESP")
|
||||||
|
If c2.RowCount > 0 Then
|
||||||
|
c2.Position = 0
|
||||||
|
|
||||||
|
If c.GetString("suma") >= 300 And c.GetString("suma") < 600 Then
|
||||||
|
l_promosCant.text = "Max promos: " & 1
|
||||||
|
Else If c.GetString("suma") >= 600 And c.GetString("suma") < 900 Then
|
||||||
|
l_promosCant.text = "Max promos: " & 2
|
||||||
|
Else If c.GetString("suma") >= 900 Then
|
||||||
|
l_promosCant.text = "Max promos: " & 3
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
l_promosCant.text = "Max promos: " & maxCantPromos
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
Private cs As CSBuilder
|
Private cs As CSBuilder
|
||||||
cs.Initialize
|
cs.Initialize
|
||||||
If thisLog Then Log(mp)
|
If thisLog Then Log(mp)
|
||||||
If thisLog Then Log(prodsPromo)
|
If thisLog Then Log(prodsPromo)
|
||||||
|
Private listaPV As List = mp.Get("prodsVariables")
|
||||||
|
Private listaPreciosPV As List = mp.Get("prodsVariablesPrecios")
|
||||||
|
Private listaPV2 As List = mp.Get("prodsVariables2")
|
||||||
|
Private listaPreciosPV2 As List = mp.Get("prodsVariablesPrecios2")
|
||||||
|
' Log("============ " & CRLF & listaPV)
|
||||||
'Ponemos la promo y descripción.
|
'Ponemos la promo y descripción.
|
||||||
' Dim desc As String = $"Promoción: ${promo}${CRLF}${mp.Get("descripcion")}"$
|
' Dim desc As String = $"Promoción: ${promo}${CRLF}${mp.Get("descripcion")}"$
|
||||||
' Dim desc As String = cs.append("Promocion: ").Color(Colors.RGB(100,149,237)).Append(promo).pop.append(CRLF).Append(mp.Get("descripcion")).Popall
|
' Dim desc As String = cs.append("Promocion: ").Color(Colors.RGB(100,149,237)).Append(promo).pop.append(CRLF).Append(mp.Get("descripcion")).Popall
|
||||||
@@ -97,6 +539,7 @@ Sub muestraPromo(promo As String, cliente As String)
|
|||||||
'Ponemos el texto en las etiquetas de la cantidad de productos.
|
'Ponemos el texto en las etiquetas de la cantidad de productos.
|
||||||
' Dim pf As List = mp.Get("prodsFijos")
|
' Dim pf As List = mp.Get("prodsFijos")
|
||||||
Dim pv As List = mp.Get("prodsVariables")
|
Dim pv As List = mp.Get("prodsVariables")
|
||||||
|
Dim pv2 As List = mp.Get("prodsVariables2")
|
||||||
If thisLog Then Log(mp)
|
If thisLog Then Log(mp)
|
||||||
tpf = 0
|
tpf = 0
|
||||||
For Each pfp As Int In mp.Get("prodsFijosPiezas").As(List)
|
For Each pfp As Int In mp.Get("prodsFijosPiezas").As(List)
|
||||||
@@ -106,8 +549,12 @@ Sub muestraPromo(promo As String, cliente As String)
|
|||||||
' tpf = tpf * maxCantPromos
|
' tpf = tpf * maxCantPromos
|
||||||
l_prodsFijos.Text = $"Productos fijos (${tpf})"$
|
l_prodsFijos.Text = $"Productos fijos (${tpf})"$
|
||||||
prodsVarReq = mp.Get("prodsVariablesRequeridos")
|
prodsVarReq = mp.Get("prodsVariablesRequeridos")
|
||||||
prodsVarReq2 = prodsVarReq
|
prodsVarReq_ = prodsVarReq
|
||||||
|
prodsVarReq2 = mp.Get("prodsVariables2Requeridos")
|
||||||
|
prodsVarReq2_ = prodsVarReq2
|
||||||
|
' Log("========= " & prodsVarReq2)
|
||||||
l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq}"$
|
l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq}"$
|
||||||
|
l_prodsVariables2.Text = $"Productos variables2 requeridos: ${prodsVarReq2}"$
|
||||||
If prodsVarReq = 0 Then
|
If prodsVarReq = 0 Then
|
||||||
p_prodsVariables.Visible = False
|
p_prodsVariables.Visible = False
|
||||||
Else
|
Else
|
||||||
@@ -132,20 +579,61 @@ Sub muestraPromo(promo As String, cliente As String)
|
|||||||
' Dim jpeg() As Byte
|
' Dim jpeg() As Byte
|
||||||
|
|
||||||
'Llenamos el listview con los productos variables.
|
'Llenamos el listview con los productos variables.
|
||||||
If thisLog Then Log(pv)
|
If thisLog Then Log($"PV1: ${pv.Size}, ${pv}"$)
|
||||||
|
If thisLog Then Log($"PV2: ${pv2.Size}, ${pv2}"$)
|
||||||
If thisLog Then Log("invDisp=" & invDispPromo)
|
If thisLog Then Log("invDisp=" & invDispPromo)
|
||||||
clv_prodsVariabes.Clear
|
clv_prodsVariabes.Clear
|
||||||
|
clv_prodsVariabes2.Clear
|
||||||
For Each p As String In pv
|
For Each p As String In pv
|
||||||
If invDispPromo.ContainsKey(p) Then 'Si no esta en la lista de productos con inventario no lo mostramos.
|
If invDispPromo.ContainsKey(p) Then 'Si no esta en la lista de productos con inventario no lo mostramos.
|
||||||
|
Private indicePV = listaPV.IndexOf(p)
|
||||||
|
' Log(p & "|" & indicePV & "|" & listaPreciosPV.Get(indicePV))
|
||||||
|
Private estePrecio = listaPreciosPV.Get(indicePV)
|
||||||
|
' c2.Position=i
|
||||||
|
' jpeg = c2.GetBlob("CAT_GP_IMG")
|
||||||
|
' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
|
||||||
|
' bmp.Initialize2(ins)
|
||||||
|
Private thisProd As Map = prodsPromo.Get(p)
|
||||||
|
If thisLog Then Log(thisProd)
|
||||||
|
clv_prodsVariabes.Add(CreateListItem(Subs.traeProdNombre(p)&CRLF&"Hay " & invDispPromo.Get(p) & " $" & estePrecio, estePrecio, invDispPromo.Get(p), clv_prodsVariabes.AsView.Width, 50dip, Null, p), p)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
For Each p As String In pv2
|
||||||
|
If invDispPromo.ContainsKey(p) Then 'Si no esta en la lista de productos con inventario no lo mostramos.
|
||||||
|
' Log(p)
|
||||||
|
' Log($"${invDispPromo}$"$)
|
||||||
|
' Log($"${listaPV2}"$)
|
||||||
|
' Log("listaPrecios:"&listaPreciosPV2)
|
||||||
|
Private indicePV2 = listaPV2.IndexOf(p)
|
||||||
|
' Log($"${indicePV2}"$)
|
||||||
|
' Log(p & "|" & indicePV & "|" & listaPreciosPV2.Get(indicePV2))
|
||||||
|
Private estePrecio = listaPreciosPV2.Get(indicePV2)
|
||||||
' c2.Position=i
|
' c2.Position=i
|
||||||
' jpeg = c2.GetBlob("CAT_GP_IMG")
|
' jpeg = c2.GetBlob("CAT_GP_IMG")
|
||||||
' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
|
' ins.InitializeFromBytesArray(jpeg, 0, jpeg.Length)
|
||||||
' bmp.Initialize2(ins)
|
' bmp.Initialize2(ins)
|
||||||
Private thisProd As Map = prodsPromo.Get(p)
|
Private thisProd As Map = prodsPromo.Get(p)
|
||||||
If thisLog Then Log(thisProd)
|
If thisLog Then Log(thisProd)
|
||||||
clv_prodsVariabes.Add(CreateListItem(Subs.traeProdNombre(p)&CRLF&"Hay " & invDispPromo.Get(p) & " $" & thisProd.Get("precio"), thisProd.Get("precio"), invDispPromo.Get(p), clv_prodsVariabes.AsView.Width, 50dip, Null, p), p)
|
clv_prodsVariabes2.Add(CreateListItem2(Subs.traeProdNombre(p)&CRLF&"Hay " & invDispPromo.Get(p) & " $" & estePrecio, estePrecio, invDispPromo.Get(p), clv_prodsVariabes2.AsView.Width, 50dip, Null, p), p)
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
If pv2.Size = 0 Then
|
||||||
|
' Log("PV2 = 0")
|
||||||
|
l_prodsVariables2.Visible = False
|
||||||
|
p_prodsVariables2.Visible = False
|
||||||
|
|
||||||
|
p_prodsVariables.Height = 410dip
|
||||||
|
clv_prodsVariabes.GetBase.Height = p_prodsVariables.Height - 20
|
||||||
|
' p_prodsVariables.Height = 380dip
|
||||||
|
' clv_prodsVariabes.GetBase.Height = 380dip 'Cambiamos el tamaño y posición de la lista de productos
|
||||||
|
'' clv_prodsVariabes.GetBase.Width =
|
||||||
|
clv_prodsVariabes.Base_Resize(clv_prodsVariabes.GetBase.Width, p_prodsVariables.Height - 20) 'Cambiamos el tamaño del panel interno de la lista para que ajuste al nuevo tamaño.
|
||||||
|
Else
|
||||||
|
l_prodsVariables2.Visible = True
|
||||||
|
p_prodsVariables2.Visible = True
|
||||||
|
p_prodsVariables.Height = 210dip
|
||||||
|
clv_prodsVariabes.GetBase.Height = p_prodsVariables.Height - 20
|
||||||
|
End If
|
||||||
b_terminar1.Visible = False
|
b_terminar1.Visible = False
|
||||||
b_continuar.Visible = False
|
b_continuar.Visible = False
|
||||||
cuentaProds
|
cuentaProds
|
||||||
@@ -168,7 +656,7 @@ Sub agregaFijosALista(mp As Map, addListItem As Boolean)
|
|||||||
prodsCants.Add(et_promoCant.text.As(Int))
|
prodsCants.Add(et_promoCant.text.As(Int))
|
||||||
prodsPrecios.Add(0)
|
prodsPrecios.Add(0)
|
||||||
For Each p As String In pf
|
For Each p As String In pf
|
||||||
Log($"cont=${cont}, mp=${mp}"$)
|
' Log($"cont=${cont}, mp=${mp}"$)
|
||||||
If mp.Get("prodsFijosPiezas").As(List).Size > 0 Then
|
If mp.Get("prodsFijosPiezas").As(List).Size > 0 Then
|
||||||
Private tpi As String = mp.Get("prodsFijosPiezas").As(List).Get(cont)
|
Private tpi As String = mp.Get("prodsFijosPiezas").As(List).Get(cont)
|
||||||
Else
|
Else
|
||||||
@@ -195,14 +683,41 @@ End Sub
|
|||||||
Sub CreateListItem(Text As String, precioU As String, inv As Int, Width As Int, Height As Int, img As Bitmap, prodId As String) As Panel 'ignore
|
Sub CreateListItem(Text As String, precioU As String, inv As Int, Width As Int, Height As Int, img As Bitmap, prodId As String) As Panel 'ignore
|
||||||
Dim p As B4XView = xui.CreatePanel("")
|
Dim p As B4XView = xui.CreatePanel("")
|
||||||
p.SetLayoutAnimated(0, 0, 0, Width, Height)
|
p.SetLayoutAnimated(0, 0, 0, Width, Height)
|
||||||
p.LoadLayout("prodItem")
|
p.LoadLayout("prodItem1")
|
||||||
l_prodX.TextSize = 12
|
l_prodX.TextSize = 15
|
||||||
l_prodX.Text = Text
|
l_prodX.Text = Text
|
||||||
|
l_prodX.TextSize = 15
|
||||||
|
' p_prods.Height = Height + 70
|
||||||
|
' l_prodX.Height = Height
|
||||||
|
p_prods.height = su.MeasureMultilineTextHeight(l_prodX, l_prodX.Text) + 20 'Calculamos la altura del panel de acuerdo al texto contenido.
|
||||||
|
If p_prods.Height < Height Then p_prods.Height = Height
|
||||||
|
l_prodX.Height = p_prods.Height
|
||||||
|
l_pCant.Tag = precioU&"|"&inv&"|"&prodId
|
||||||
|
et_pCant.Tag = precioU&"|"&inv&"|"&prodId
|
||||||
|
et_pCant.BringToFront
|
||||||
|
' i_prod.Bitmap = img
|
||||||
|
p.Height = p_prods.Height
|
||||||
|
Return p
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub CreateListItem2(Text As String, precioU As String, inv As Int, Width As Int, Height As Int, img As Bitmap, prodId As String) As Panel 'ignore
|
||||||
|
Dim p As B4XView = xui.CreatePanel("")
|
||||||
|
p.SetLayoutAnimated(0, 0, 0, Width, Height)
|
||||||
|
p.LoadLayout("prodItem2")
|
||||||
|
l_prodX.TextSize = 15
|
||||||
|
l_prodX.Text = Text
|
||||||
|
l_prodX.TextSize = 15
|
||||||
|
' p_prods.Height = Height
|
||||||
|
' l_prodX.Height = Height
|
||||||
|
p_prods.height = su.MeasureMultilineTextHeight(l_prodX, l_prodX.Text) + 20 'Calculamos la altura del panel de acuerdo al texto contenido.
|
||||||
|
If p_prods.Height < Height Then p_prods.Height = Height
|
||||||
|
l_prodX.Height = p_prods.Height
|
||||||
' l_pCant.Text = 0
|
' l_pCant.Text = 0
|
||||||
l_pCant.Tag = precioU&"|"&inv&"|"&prodId
|
l_pCant.Tag = precioU&"|"&inv&"|"&prodId
|
||||||
et_pCant.Tag = precioU&"|"&inv&"|"&prodId
|
et_pCant.Tag = precioU&"|"&inv&"|"&prodId
|
||||||
et_pCant.BringToFront
|
et_pCant.BringToFront
|
||||||
' i_prod.Bitmap = img
|
' i_prod.Bitmap = img
|
||||||
|
p.Height = p_prods.Height
|
||||||
Return p
|
Return p
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -211,23 +726,89 @@ Sub b_prodMenos_Click
|
|||||||
Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index)
|
Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index)
|
||||||
Dim pnl As B4XView = pnl0.GetView(0)
|
Dim pnl As B4XView = pnl0.GetView(0)
|
||||||
' Dim laCant As B4XView = pnl.GetView(5)
|
' Dim laCant As B4XView = pnl.GetView(5)
|
||||||
Dim laCant As B4XView = pnl.GetView(2).GetView(3)
|
Dim laCant As B4XView = pnl.GetView(2).GetView(4)
|
||||||
' Log($"precio|stock:${laCant.tag}"$)
|
' Log($"precio|stock:${laCant.tag}"$)
|
||||||
laCant.Text = $"$1.0{laCant.Text-1}"$
|
laCant.Text = $"$1.0{laCant.Text-1}"$
|
||||||
If laCant.Text < 0 Then laCant.Text = 0
|
If laCant.Text < 0 Then laCant.Text = 0
|
||||||
' Dim chk As B4XView = pnl.GetView(2)
|
|
||||||
|
' Log(Regex.Split("\|", laCant.tag)(0))
|
||||||
|
Private precio As String = Regex.Split("\|", laCant.tag)(0)
|
||||||
|
' Private inv As String = Regex.Split("\|", laCant.tag)(1)
|
||||||
|
Private prodId As String = Regex.Split("\|", laCant.tag)(2)
|
||||||
|
Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":estaPromo)
|
||||||
|
' Log(tmpMap)
|
||||||
|
promosMap.Put(prodId, tmpMap)
|
||||||
|
If laCant.Text = 0 Then promosMap.Remove(prodId)
|
||||||
|
' LogColor(promosMap, Colors.Magenta)
|
||||||
cuentaProds
|
cuentaProds
|
||||||
' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
|
' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
|
||||||
' l_totProds.text = $"Total Productos: ${totalProds}"$
|
' l_totProds.text = $"Total Productos: ${totalProds}"$
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub b_prodMas_Click
|
Sub b_prodMas_Click
|
||||||
If totalProds < prodsVarReq + tpf Then
|
If prodsVar1 < prodsVarReq Then
|
||||||
Dim index As Int = clv_prodsVariabes.GetItemFromView(Sender)
|
Dim index As Int = clv_prodsVariabes.GetItemFromView(Sender)
|
||||||
Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index)
|
Dim pnl0 As B4XView = clv_prodsVariabes.GetPanel(index)
|
||||||
Dim pnl As B4XView = pnl0.GetView(0)
|
Dim pnl As B4XView = pnl0.GetView(0)
|
||||||
' Dim laCant As B4XView = pnl.GetView(5)
|
' Dim laCant As B4XView = pnl.GetView(5)
|
||||||
Dim laCant As B4XView = pnl.GetView(2).GetView(3)
|
Dim laCant As B4XView = pnl.GetView(2).GetView(4)
|
||||||
|
' Log($"precio|stock:${laCant.tag}"$)
|
||||||
|
' Log($"Indice: ${index}, cant:${laCant.Text+1}, precioU: ${laCant.tag}"$)
|
||||||
|
Dim esteTag As List = Regex.Split("\|", laCant.Tag)
|
||||||
|
' Log(esteTag)
|
||||||
|
|
||||||
|
If laCant.Text + 1 <= esteTag.get(1) Then
|
||||||
|
laCant.Text = $"$1.0{laCant.Text+1}"$
|
||||||
|
cuentaProds
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Log(Regex.Split("\|", laCant.tag)(0))
|
||||||
|
Private precio As String = Regex.Split("\|", laCant.tag)(0)
|
||||||
|
' Private inv As String = Regex.Split("\|", laCant.tag)(1)
|
||||||
|
Private prodId As String = Regex.Split("\|", laCant.tag)(2)
|
||||||
|
Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":estaPromo)
|
||||||
|
' Log(tmpMap)
|
||||||
|
promosMap.Put(prodId, tmpMap)
|
||||||
|
' LogColor(promosMap, Colors.Magenta)
|
||||||
|
End If
|
||||||
|
' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
|
||||||
|
' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
|
||||||
|
' l_totProds.text = $"Total Productos: ${totalProds}"$
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Sub b_prodMenos2_Click
|
||||||
|
Dim index As Int = clv_prodsVariabes2.GetItemFromView(Sender)
|
||||||
|
Dim pnl0 As B4XView = clv_prodsVariabes2.GetPanel(index)
|
||||||
|
Dim pnl As B4XView = pnl0.GetView(0)
|
||||||
|
' Dim laCant As B4XView = pnl.GetView(5)
|
||||||
|
Dim laCant As B4XView = pnl.GetView(2).GetView(4)
|
||||||
|
' Log($"precio|stock:${laCant.tag}"$)
|
||||||
|
laCant.Text = $"$1.0{laCant.Text-1}"$
|
||||||
|
If laCant.Text < 0 Then laCant.Text = 0
|
||||||
|
|
||||||
|
' Log(Regex.Split("\|", laCant.tag)(0))
|
||||||
|
Private precio As String = Regex.Split("\|", laCant.tag)(0)
|
||||||
|
' Private inv As String = Regex.Split("\|", laCant.tag)(1)
|
||||||
|
Private prodId As String = Regex.Split("\|", laCant.tag)(2)
|
||||||
|
Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":estaPromo)
|
||||||
|
' Log(tmpMap)
|
||||||
|
promosMap.Put(prodId, tmpMap)
|
||||||
|
If laCant.Text = 0 Then promosMap.Remove(prodId)
|
||||||
|
' LogColor(promosMap, Colors.Magenta)
|
||||||
|
cuentaProds
|
||||||
|
' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
|
||||||
|
' l_totProds.text = $"Total Productos: ${totalProds}"$
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub b_prodMas2_Click
|
||||||
|
' Log(prodsVarReq & "|" & prodsVarReq2 & "|" & tpf & "|" & prodsVar2)
|
||||||
|
If prodsVar2 < prodsVarReq2 Then
|
||||||
|
Dim index As Int = clv_prodsVariabes2.GetItemFromView(Sender)
|
||||||
|
Dim pnl0 As B4XView = clv_prodsVariabes2.GetPanel(index)
|
||||||
|
Dim pnl As B4XView = pnl0.GetView(0)
|
||||||
|
' Dim laCant As B4XView = pnl.GetView(5)
|
||||||
|
Dim laCant As B4XView = pnl.GetView(2).GetView(4)
|
||||||
' Log($"precio|stock:${laCant.tag}"$)
|
' Log($"precio|stock:${laCant.tag}"$)
|
||||||
' Log($"Indice: ${index}, cant:${laCant.Text+1}, precioU: ${laCant.tag}"$)
|
' Log($"Indice: ${index}, cant:${laCant.Text+1}, precioU: ${laCant.tag}"$)
|
||||||
Dim esteTag As List = Regex.Split("\|", laCant.Tag)
|
Dim esteTag As List = Regex.Split("\|", laCant.Tag)
|
||||||
@@ -236,26 +817,38 @@ Sub b_prodMas_Click
|
|||||||
laCant.Text = $"$1.0{laCant.Text+1}"$
|
laCant.Text = $"$1.0{laCant.Text+1}"$
|
||||||
cuentaProds
|
cuentaProds
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
' Log(Regex.Split("\|", laCant.tag)(0))
|
||||||
|
Private precio As String = Regex.Split("\|", laCant.tag)(0)
|
||||||
|
' Private inv As String = Regex.Split("\|", laCant.tag)(1)
|
||||||
|
Private prodId As String = Regex.Split("\|", laCant.tag)(2)
|
||||||
|
Private tmpMap As Map = CreateMap("precio":precio, "cant":laCant.Text, "almacen":estaPromo)
|
||||||
|
' Log(tmpMap)
|
||||||
|
promosMap.Put(prodId, tmpMap)
|
||||||
|
' LogColor(promosMap, Colors.Magenta)
|
||||||
End If
|
End If
|
||||||
' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
|
' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$)
|
||||||
' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
|
' l_total.Text = $"Total Compra: $$1.2{totalCompra}"$
|
||||||
' l_totProds.text = $"Total Productos: ${totalProds}"$
|
' l_totProds.text = $"Total Productos: ${totalProds}"$
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
Private Sub et_pCant_TextChanged (Old As String, New As String)
|
Private Sub et_pCant_TextChanged (Old As String, New As String)
|
||||||
' LogColor("txt changed",Colors.Magenta)
|
' LogColor("txt changed",Colors.Magenta)
|
||||||
cuentaProds
|
cuentaProds
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub cuentaProds
|
Sub cuentaProds
|
||||||
Log("=====================================================")
|
' Log("=====================================================")
|
||||||
Log("Inicia cuentaProds")
|
' Log("Inicia cuentaProds")
|
||||||
Private thisLog As Boolean = False
|
Private thisLog As Boolean = False
|
||||||
If thisLog Then LogColor($"ProdsFijos=${tpf}, totalProds=${totalProds}, totalCompra=${totalCompra}"$, Colors.Red)
|
' LogColor($"ProdsFijos=${tpf}, totalProds=${totalProds}, totalCompra=${totalCompra}"$, Colors.Red)
|
||||||
prodsIds2.Clear
|
prodsIds2.Clear
|
||||||
prodsCants2.Clear
|
prodsCants2.Clear
|
||||||
prodsPrecios2.Clear
|
prodsPrecios2.Clear
|
||||||
lv_prodsFijos.Clear
|
lv_prodsFijos.Clear
|
||||||
|
prodsVar1 = 0
|
||||||
|
prodsVar2 = 0
|
||||||
agregaFijosALista(Subs.traePromo(estaPromo, esteCliente), True)
|
agregaFijosALista(Subs.traePromo(estaPromo, esteCliente), True)
|
||||||
' Log(prodsIds)
|
' Log(prodsIds)
|
||||||
Private tcpf As Float = 0 'Total de compra de productos fijos.
|
Private tcpf As Float = 0 'Total de compra de productos fijos.
|
||||||
@@ -263,37 +856,55 @@ Sub cuentaProds
|
|||||||
If thisLog Then Log($"${tcpf} + ${prodsCants.Get(pf)} * ${prodsPrecios.Get(pf)} = ${(prodsPrecios.Get(pf) * prodsCants.Get(pf))}"$)
|
If thisLog Then Log($"${tcpf} + ${prodsCants.Get(pf)} * ${prodsPrecios.Get(pf)} = ${(prodsPrecios.Get(pf) * prodsCants.Get(pf))}"$)
|
||||||
tcpf = tcpf + (prodsPrecios.Get(pf) * prodsCants.Get(pf))
|
tcpf = tcpf + (prodsPrecios.Get(pf) * prodsCants.Get(pf))
|
||||||
Next
|
Next
|
||||||
' Log("Total compra pordsFijos = " & tcpf)
|
' Log("Total compra prodsFijos = " & tcpf)
|
||||||
totalCompra = tcpf
|
totalCompra = tcpf
|
||||||
totalProds = tpf 'Cantidad total de productos fijos.
|
totalProds = tpf 'Cantidad total de productos fijos.
|
||||||
|
'Variables1
|
||||||
For i = 0 To clv_prodsVariabes.GetSize - 1
|
For i = 0 To clv_prodsVariabes.GetSize - 1
|
||||||
Private p0 As B4XView = clv_prodsVariabes.GetPanel(i)
|
Private p0 As B4XView = clv_prodsVariabes.GetPanel(i)
|
||||||
Private p As B4XView = p0.GetView(0)
|
Private p As B4XView = p0.GetView(0)
|
||||||
Private cant1 As B4XView = p.GetView(2).GetView(3)
|
Private cant1 As B4XView = p.GetView(2).GetView(4)
|
||||||
If cant1.Text = "" Then cant1.Text = 0
|
If cant1.Text = "" Then cant1.Text = 0
|
||||||
totalProds = totalProds + cant1.Text
|
totalProds = totalProds + cant1.Text
|
||||||
|
prodsVar1 = prodsVar1 + cant1.Text
|
||||||
Private esteTag As List = Regex.Split("\|", cant1.Tag)
|
Private esteTag As List = Regex.Split("\|", cant1.Tag)
|
||||||
If cant1.Text > esteTag.Get(1) Then cant1.Text = esteTag.Get(1)
|
If cant1.Text > esteTag.Get(1) Then cant1.Text = esteTag.Get(1)
|
||||||
If cant1.Text > 0 Then
|
If cant1.Text > 0 Then
|
||||||
Log(esteTag.Get(2) & "|" & cant1.Text)
|
' Log(esteTag.Get(2) & "|" & cant1.Text)
|
||||||
totalCompra = totalCompra + (esteTag.get(0) * cant1.text)
|
totalCompra = totalCompra + (esteTag.get(0) * cant1.text)
|
||||||
If thisLog Then Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$)
|
If thisLog Then Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$)
|
||||||
prodsIds2.Add(esteTag.Get(2))
|
prodsIds2.Add(esteTag.Get(2))
|
||||||
prodsCants2.Add(cant1.Text)
|
prodsCants2.Add(cant1.Text)
|
||||||
prodsPrecios2.Add(esteTag.get(0))
|
prodsPrecios2.Add(esteTag.get(0))
|
||||||
End If
|
End If
|
||||||
' Log(esteTag)
|
|
||||||
' Log($"Cant: ${cant1.Text}, Suma: ${totalCompra}"$)
|
|
||||||
' totalCompra = totalCompra * et_promoCant.Text
|
|
||||||
' totalProds = totalProds * et_promoCant.Text
|
|
||||||
|
|
||||||
l_total.Text = $"Total: $$1.2{totalCompra}"$
|
l_total.Text = $"Total: $$1.2{totalCompra}"$
|
||||||
l_totProds.text = $"Productos: ${totalProds}"$
|
l_totProds.text = $"Productos: ${totalProds}"$
|
||||||
Next
|
Next
|
||||||
|
'Variables2
|
||||||
|
For i = 0 To clv_prodsVariabes2.GetSize - 1
|
||||||
|
Private p0 As B4XView = clv_prodsVariabes2.GetPanel(i)
|
||||||
|
Private p As B4XView = p0.GetView(0)
|
||||||
|
Private cant2 As B4XView = p.GetView(2).GetView(4)
|
||||||
|
totalProds = totalProds + cant2.Text
|
||||||
|
prodsVar2 = prodsVar2 + cant2.Text
|
||||||
|
Private esteTag As List = Regex.Split("\|", cant2.Tag)
|
||||||
|
If cant2.Text > esteTag.Get(1) Then cant2.Text = esteTag.Get(1)
|
||||||
|
If cant2.Text > 0 Then
|
||||||
|
' Log(esteTag.Get(2) & "|" & cant2.Text)
|
||||||
|
totalCompra = totalCompra + (esteTag.get(0) * cant2.text)
|
||||||
|
If thisLog Then Log($"Cant: ${cant2.Text}, Suma: ${totalCompra}"$)
|
||||||
|
prodsIds2.Add(esteTag.Get(2))
|
||||||
|
prodsCants2.Add(cant2.Text)
|
||||||
|
prodsPrecios2.Add(esteTag.get(0))
|
||||||
|
End If
|
||||||
|
l_total.Text = $"Total: $$1.2{totalCompra}"$
|
||||||
|
l_totProds.text = $"Productos: ${totalProds}"$
|
||||||
|
Next
|
||||||
|
|
||||||
If thisLog Then Log($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$)
|
If thisLog Then Log($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$)
|
||||||
l_total.Text = $"Total: $$1.2{totalCompra}"$
|
l_total.Text = $"Total: $$1.2{totalCompra}"$
|
||||||
l_totProds.text = $"Productos: ${totalProds}"$
|
l_totProds.text = $"Productos: ${totalProds}"$
|
||||||
If totalProds < prodsVarReq + tpf Or totalProds > prodsVarReq + tpf Then
|
If totalProds < prodsVarReq + prodsVarReq2 + tpf Or totalProds > prodsVarReq + prodsVarReq2 + tpf Then
|
||||||
' Log("INCOMPLETA")
|
' Log("INCOMPLETA")
|
||||||
b_terminar1.Visible = False
|
b_terminar1.Visible = False
|
||||||
b_continuar.Visible = False
|
b_continuar.Visible = False
|
||||||
@@ -304,7 +915,7 @@ Sub cuentaProds
|
|||||||
End If
|
End If
|
||||||
If thisLog Then LogColor($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$, Colors.blue)
|
If thisLog Then LogColor($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$, Colors.blue)
|
||||||
If thisLog Then LogColor($"${prodsIds2}${CRLF}${prodsCants2}${CRLF}${prodsPrecios2}"$, Colors.Magenta)
|
If thisLog Then LogColor($"${prodsIds2}${CRLF}${prodsCants2}${CRLF}${prodsPrecios2}"$, Colors.Magenta)
|
||||||
LogColor($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$, Colors.Blue)
|
' LogColor($"Total Prods: ${totalProds}, Total: $$1.2{totalCompra}"$, Colors.Blue)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub et_pCant_FocusChanged (HasFocus As Boolean)
|
Private Sub et_pCant_FocusChanged (HasFocus As Boolean)
|
||||||
@@ -317,20 +928,46 @@ Private Sub b_promoMenos_Click
|
|||||||
et_promoCant.Text = et_promoCant.Text.As(Int) - 1
|
et_promoCant.Text = et_promoCant.Text.As(Int) - 1
|
||||||
End If
|
End If
|
||||||
l_prodsFijos.Text = $"Productos fijos (${tpf2 * et_promoCant.Text.As(Int)})"$
|
l_prodsFijos.Text = $"Productos fijos (${tpf2 * et_promoCant.Text.As(Int)})"$
|
||||||
l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq2 * et_promoCant.Text.As(Int)}"$
|
l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq_ * et_promoCant.Text.As(Int)}"$
|
||||||
|
l_prodsVariables2.Text = $"Productos variables2 requeridos: ${prodsVarReq2_ * et_promoCant.Text.As(Int)}"$
|
||||||
tpf = tpf2 * et_promoCant.Text.As(Int)
|
tpf = tpf2 * et_promoCant.Text.As(Int)
|
||||||
prodsVarReq = prodsVarReq2 * et_promoCant.Text.As(Int)
|
prodsVarReq = prodsVarReq_ * et_promoCant.Text.As(Int)
|
||||||
|
prodsVarReq2 = prodsVarReq2_ * et_promoCant.Text.As(Int)
|
||||||
Log($"Max promos=${et_promoCant.Text.As(Int)}, Prods fijos=${tpf}, "$)
|
Log($"Max promos=${et_promoCant.Text.As(Int)}, Prods fijos=${tpf}, "$)
|
||||||
cuentaProds
|
cuentaProds
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub b_promoMas_Click
|
Private Sub b_promoMas_Click
|
||||||
|
|
||||||
|
If laPromo = "MYKONOS_01" Then
|
||||||
|
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT ifnull( SUM (PE_COSTO_TOT),0) As suma FROM PEDIDO JOIN CAT_PROMO_ESP ON CAT_PE_ID = PE_PROID WHERE PE_CLIENTE IN (Select CUENTA FROM CUENTAA)")
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
c.Position = 0
|
||||||
|
Private c2 As Cursor = B4XPages.MainPage.skmt.ExecQuery("SELECT DISTINCT CAT_PE_MONTO FROM CAT_PROMO_ESP")
|
||||||
|
If c2.RowCount > 0 Then
|
||||||
|
c2.Position = 0
|
||||||
|
|
||||||
|
If c.GetString("suma") >= 300 And c.GetString("suma") < 600 Then
|
||||||
|
maxCantPromos = 1
|
||||||
|
Else If c.GetString("suma") >= 600 And c.GetString("suma") < 900 Then
|
||||||
|
maxCantPromos = 2
|
||||||
|
Else If c.GetString("suma") >= 900 Then
|
||||||
|
maxCantPromos = 3
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
If et_promoCant.Text < maxCantPromos Then
|
If et_promoCant.Text < maxCantPromos Then
|
||||||
et_promoCant.Text = et_promoCant.Text.As(Int) + 1
|
et_promoCant.Text = et_promoCant.Text.As(Int) + 1
|
||||||
l_prodsFijos.Text = $"Productos fijos (${tpf2 * et_promoCant.Text.As(Int)})"$
|
l_prodsFijos.Text = $"Productos fijos (${tpf2 * et_promoCant.Text.As(Int)})"$
|
||||||
l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq2 * et_promoCant.Text.As(Int)}"$
|
l_prodsVariables.Text = $"Productos variables requeridos: ${prodsVarReq_ * et_promoCant.Text.As(Int)}"$
|
||||||
|
l_prodsVariables2.Text = $"Productos variables2 requeridos: ${prodsVarReq2_ * et_promoCant.Text.As(Int)}"$
|
||||||
tpf = tpf2 * et_promoCant.Text.As(Int)
|
tpf = tpf2 * et_promoCant.Text.As(Int)
|
||||||
prodsVarReq = prodsVarReq2 * et_promoCant.Text.As(Int)
|
prodsVarReq = prodsVarReq_ * et_promoCant.Text.As(Int)
|
||||||
|
prodsVarReq2 = prodsVarReq2_ * et_promoCant.Text.As(Int)
|
||||||
Log($"Max promos=${et_promoCant.Text.As(Int)}, Prods fijos=${tpf}, "$)
|
Log($"Max promos=${et_promoCant.Text.As(Int)}, Prods fijos=${tpf}, "$)
|
||||||
End If
|
End If
|
||||||
If et_promoCant.text > maxCantPromos Then et_promoCant.Text = maxCantPromos
|
If et_promoCant.text > maxCantPromos Then et_promoCant.Text = maxCantPromos
|
||||||
@@ -340,39 +977,55 @@ End Sub
|
|||||||
Private Sub b_terminar1_Click
|
Private Sub b_terminar1_Click
|
||||||
cuentaProds
|
cuentaProds
|
||||||
Log("====================================================================")
|
Log("====================================================================")
|
||||||
' Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$)
|
|
||||||
For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido.
|
For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido.
|
||||||
Private pn As String = Subs.traeProdNombre(prodsIds.Get(t))
|
Private pn As String = Subs.traeProdNombre(prodsIds.Get(t))
|
||||||
If prodsCants.Get(t) > 0 Then Subs.guardaProducto(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn&" ", prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
If prodsCants.Get(t) > 0 Then Subs.guardaProductoSinGestion(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
||||||
Next
|
Next
|
||||||
For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido.
|
For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido.
|
||||||
Private pn As String = Subs.traeProdNombre(prodsIds2.Get(t))
|
Private pn As String = Subs.traeProdNombre(prodsIds2.Get(t))
|
||||||
Subs.guardaProducto(estaPromo, prodsPrecios2.Get(t), prodsCants2.Get(t), pn, prodsIds2.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
Subs.guardaProductoSinGestion(estaPromo, prodsPrecios2.Get(t), prodsCants2.Get(t), pn, prodsIds2.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
||||||
Next
|
Next
|
||||||
|
' Log(B4XPages.MainPage.productos.prodsMap)
|
||||||
|
' For o=0 To prodsIds.Size - 1 'Ponemos los productos fijos en el mapa de la compra.
|
||||||
|
' Private tmpMap As Map = CreateMap("precio":prodsPrecios.Get(o), "cant":prodsCants.Get(o), "almacen":estaPromo)
|
||||||
|
'' Log(tmpMap)
|
||||||
|
' If prodsCants.Get(o) > 0 Then B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds.Get(o), tmpMap)
|
||||||
|
' Next
|
||||||
|
' For o=0 To prodsIds2.Size - 1 'Ponemos los productos variables en el mapa de la compra.
|
||||||
|
' Private tmpMap As Map = CreateMap("precio":prodsPrecios2.Get(o), "cant":prodsCants2.Get(o), "almacen":estaPromo)
|
||||||
|
'' Log(tmpMap)
|
||||||
|
' B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds2.Get(o), tmpMap)
|
||||||
|
' Next
|
||||||
|
' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.red)
|
||||||
lv_prodsFijos.Clear
|
lv_prodsFijos.Clear
|
||||||
B4XPages.MainPage.bTerminarClicked = True
|
B4XPages.MainPage.bTerminarClicked = True
|
||||||
B4XPages.ShowPage("Cliente")
|
B4XPages.ShowPage("productos")
|
||||||
|
B4XPages.MainPage.productos.b_terminar1_Click
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub b_continuar_Click
|
Private Sub b_continuar_Click
|
||||||
cuentaProds
|
cuentaProds
|
||||||
Log("====================================================================")
|
Log("====================================================================")
|
||||||
Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$)
|
|
||||||
For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido.
|
For t = 0 To prodsIds.Size - 1 'Guardamos los productos fijos de la promocion en pedido.
|
||||||
Private pn As String = Subs.traeProdNombre(prodsIds.Get(t))
|
Private pn As String = Subs.traeProdNombre(prodsIds.Get(t))
|
||||||
LogColor(pn,Colors.Red)
|
Subs.guardaProductoSinGestion(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
||||||
If pn <> "N/A" Then
|
|
||||||
Subs.guardaProducto(estaPromo, prodsPrecios.Get(t), prodsCants.Get(t), pn, prodsIds.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
|
||||||
End If
|
|
||||||
Next
|
Next
|
||||||
Log(prodsIds2)
|
|
||||||
For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido.
|
For t = 0 To prodsIds2.Size - 1 'Guardamos los productos variables de la promocion en pedido.
|
||||||
Private pn As String = Subs.traeProdNombre(prodsIds2.Get(t))
|
Private pn As String = Subs.traeProdNombre(prodsIds2.Get(t))
|
||||||
LogColor(pn,Colors.Green)
|
Subs.guardaProductoSinGestion(estaPromo, prodsPrecios2.Get(t), prodsCants2.Get(t), pn, prodsIds2.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
||||||
If pn <> "N/A" Then
|
|
||||||
Subs.guardaProducto(estaPromo, prodsPrecios2.Get(t), prodsCants2.Get(t), pn, prodsIds2.Get(t), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta)
|
|
||||||
End If
|
|
||||||
Next
|
Next
|
||||||
|
' Log(B4XPages.MainPage.productos.prodsMap)
|
||||||
|
' For o=0 To prodsIds.Size - 1 'Ponemos los productos fijos en el mapa de la compra.
|
||||||
|
' Private tmpMap As Map = CreateMap("precio":prodsPrecios.Get(o), "cant":prodsCants.Get(o), "almacen":estaPromo)
|
||||||
|
'' Log(tmpMap)
|
||||||
|
' If prodsCants.Get(o) > 0 Then B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds.Get(o), tmpMap)
|
||||||
|
' Next
|
||||||
|
' For o=0 To prodsIds2.Size - 1 'Ponemos los productos variables en el mapa de la compra.
|
||||||
|
' Private tmpMap As Map = CreateMap("precio":prodsPrecios2.Get(o), "cant":prodsCants2.Get(o), "almacen":estaPromo)
|
||||||
|
'' Log(tmpMap)
|
||||||
|
' B4XPages.MainPage.productos.prodsMap.Put(estaPromo&"|"&prodsIds2.Get(o), tmpMap)
|
||||||
|
' Next
|
||||||
|
' LogColor(B4XPages.MainPage.productos.prodsMap, Colors.red)
|
||||||
lv_prodsFijos.Clear
|
lv_prodsFijos.Clear
|
||||||
' Activity_KeyPress(KeyCodes.KEYCODE_BACK)
|
' Activity_KeyPress(KeyCodes.KEYCODE_BACK)
|
||||||
' CallSubDelayed2(productos, "Activity_KeyPress", KeyCodes.KEYCODE_BACK)
|
' CallSubDelayed2(productos, "Activity_KeyPress", KeyCodes.KEYCODE_BACK)
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ Sub Class_Globals
|
|||||||
Dim b_noventa As Button
|
Dim b_noventa As Button
|
||||||
Dim nombre_boton As String
|
Dim nombre_boton As String
|
||||||
Dim STIME As String
|
Dim STIME As String
|
||||||
|
|
||||||
|
Private L_ventanoventa As Label
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'You can add more parameters here.
|
'You can add more parameters here.
|
||||||
@@ -29,7 +31,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
'load the layout to Root
|
'load the layout to Root
|
||||||
ruta = File.DirInternal
|
ruta = File.DirInternal
|
||||||
Root.LoadLayout("ticketsdia")
|
Root.LoadLayout("ticketsdia")
|
||||||
ListView1.Left = Round(Root.Width/2)-(ListView1.Width/2)
|
' ListView1.Left = Round(Root.Width/2)-(ListView1.Width/2)
|
||||||
If File.Exists(ruta, "kmt.db") = False Then
|
If File.Exists(ruta, "kmt.db") = False Then
|
||||||
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
|
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
|
||||||
End If
|
End If
|
||||||
@@ -38,14 +40,20 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
If c.RowCount>0 Then
|
If c.RowCount>0 Then
|
||||||
For i=0 To c.RowCount -1
|
For i=0 To c.RowCount -1
|
||||||
c.Position=i
|
c.Position=i
|
||||||
Dim label1 As Label
|
Dim Label1 As Label
|
||||||
label1 = ListView1.TwoLinesLayout.Label
|
Label1 = ListView1.TwoLinesLayout.Label
|
||||||
label1.TextSize = 10
|
Label1.TextSize = 20
|
||||||
label1.TextColor = Colors.Black
|
Label1.TextColor = Colors.White
|
||||||
Dim label2 As Label
|
Dim label2 As Label
|
||||||
label2 = ListView1.TwoLinesLayout.SecondLabel
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
label2.TextSize = 15
|
label2.TextSize = 20
|
||||||
label2.TextColor = Colors.Blue
|
label2.TextColor = Colors.White
|
||||||
|
Label1.Height = 25dip
|
||||||
|
label2.Height = 60dip
|
||||||
|
|
||||||
|
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
||||||
|
Label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
@@ -55,39 +63,82 @@ End Sub
|
|||||||
|
|
||||||
Sub B4XPage_Appear
|
Sub B4XPage_Appear
|
||||||
nombre_boton = "NOVENTA"
|
nombre_boton = "NOVENTA"
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info3 where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
|
L_ventanoventa.Text = "Clientes con venta"
|
||||||
ListView1.Clear
|
ListView1.Clear
|
||||||
If c.RowCount > 0 Then
|
ListView1.Height = Root.Height * 0.70
|
||||||
For i = 0 To c.RowCount - 1
|
p_ticketsdia.Height = Root.Height * 0.80
|
||||||
c.Position = i
|
p_ticketsdia.Width = Root.Width * 0.90
|
||||||
|
|
||||||
'AQUI CAMBIAR
|
c=B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info3 where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
|
||||||
|
|
||||||
Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and PE_RECALCULO <> ? OR PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL",Array As String("","null"))
|
|
||||||
' LogColor(s3.RowCount,Colors.Yellow)
|
ListView1.Clear
|
||||||
|
If c.RowCount>0 Then
|
||||||
|
For i=0 To c.RowCount -1
|
||||||
|
c.Position=i
|
||||||
|
|
||||||
|
|
||||||
|
Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE PE_CLIENTE = ? and PE_RECALCULO <> ? OR PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL",Array As String(C.GetString("PC_CLIENTE"),"","null"))
|
||||||
|
LogColor(s3.RowCount,Colors.Yellow)
|
||||||
If s3.RowCount > 0 Then
|
If s3.RowCount > 0 Then
|
||||||
Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL)",Array As String("","null"))
|
|
||||||
|
Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, IFNULL(SUM(PE_CANT),0) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE = ? and (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL ) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)",Array As String(C.GetString("PC_CLIENTE"),"","null"))
|
||||||
s.Position=0
|
s.Position=0
|
||||||
Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) and (PE_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL)",Array As String("","null"))
|
Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE, IFNULL(SUM(PE_CANT),0) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE = ? and (PE_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)",Array As String(C.GetString("PC_CLIENTE"),"","null"))
|
||||||
s5.Position = 0
|
s5.Position = 0
|
||||||
Private suma As Float =NumberFormat2( s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,False)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 20
|
||||||
|
label1.TextColor = Colors.White
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 20
|
||||||
|
label2.TextColor = Colors.White
|
||||||
|
label1.Height = 25dip
|
||||||
|
label2.Height = 60dip
|
||||||
|
|
||||||
|
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
||||||
|
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,True))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
s.Close
|
s.Close
|
||||||
|
|
||||||
|
|
||||||
Else If s3.RowCount = 0 Then
|
Else If s3.RowCount = 0 Then
|
||||||
Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE = ?",Array As String(c.GetString("PC_CLIENTE")))
|
Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE = ?", Array As String(C.GetString("PC_CLIENTE")))
|
||||||
s.Position=0
|
s.Position=0
|
||||||
Private suma As Float = NumberFormat2( s.GetString("TOTAL_CLIE"),0,2,2,False)
|
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 20
|
||||||
|
label1.TextColor = Colors.White
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 20
|
||||||
|
label2.TextColor = Colors.White
|
||||||
|
label1.Height = 25dip
|
||||||
|
label2.Height = 60dip
|
||||||
|
|
||||||
|
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
||||||
|
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& s.GetString("CANT_CLIE") & " SubTotal $"& NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,True))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
s.Close
|
s.Close
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim label1 As Label
|
|
||||||
label1 = ListView1.TwoLinesLayout.Label
|
|
||||||
label1.TextSize = 15
|
|
||||||
label1.TextColor = Colors.Black
|
|
||||||
Dim label2 As Label
|
|
||||||
label2 = ListView1.TwoLinesLayout.SecondLabel
|
|
||||||
label2.TextSize = 10
|
|
||||||
label2.TextColor = Colors.Blue
|
|
||||||
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& NumberFormat2(suma,0,2,2,False))
|
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
c.Close
|
c.Close
|
||||||
@@ -127,7 +178,8 @@ Sub b_noventa_Click
|
|||||||
If nombre_boton = "NOVENTA" Then
|
If nombre_boton = "NOVENTA" Then
|
||||||
nombre_boton = "VENTA"
|
nombre_boton = "VENTA"
|
||||||
b_noventa.Text ="VENTA"
|
b_noventa.Text ="VENTA"
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("select NV_CLIENTE,NV_MOTIVO,NV_COMM, (select CAT_CL_NOMBRE from kmt_info3 where cat_cl_codigo = NV_CLIENTE ) as NOMBRE FROM NOVENTA ORDER BY NV_CLIENTE asc")
|
L_ventanoventa.Text = "Clientes sin venta"
|
||||||
|
c=B4XPages.MainPage.skmt.ExecQuery("select NV_CLIENTE,NV_MOTIVO,NV_COMM, (select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = NV_CLIENTE ) as NOMBRE FROM NOVENTA ORDER BY NV_CLIENTE asc")
|
||||||
ListView1.Clear
|
ListView1.Clear
|
||||||
If c.RowCount>0 Then
|
If c.RowCount>0 Then
|
||||||
For i=0 To c.RowCount -1
|
For i=0 To c.RowCount -1
|
||||||
@@ -146,21 +198,73 @@ Sub b_noventa_Click
|
|||||||
Else
|
Else
|
||||||
nombre_boton = "NOVENTA"
|
nombre_boton = "NOVENTA"
|
||||||
b_noventa.Text ="NO VENTA"
|
b_noventa.Text ="NO VENTA"
|
||||||
c=B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info3 where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
|
L_ventanoventa.Text = "Clientes con venta"
|
||||||
|
ListView1.Clear
|
||||||
|
c=B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info3 where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
|
||||||
|
|
||||||
|
|
||||||
ListView1.Clear
|
ListView1.Clear
|
||||||
|
|
||||||
If c.RowCount>0 Then
|
If c.RowCount>0 Then
|
||||||
For i=0 To c.RowCount -1
|
For i=0 To c.RowCount -1
|
||||||
c.Position=i
|
c.Position=i
|
||||||
Dim label1 As Label
|
Private s3 As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select * FROM PEDIDO WHERE PE_CLIENTE = ? and PE_RECALCULO <> ? OR PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL",Array As String(C.GetString("PC_CLIENTE"),"","null"))
|
||||||
label1 = ListView1.TwoLinesLayout.Label
|
LogColor(s3.RowCount,Colors.Yellow)
|
||||||
label1.TextSize = 15
|
If s3.RowCount > 0 Then
|
||||||
label1.TextColor = Colors.Black
|
|
||||||
Dim label2 As Label
|
Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, IFNULL(SUM(PE_CANT),0) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE = ? and (PE_RECALCULO = ? or PE_RECALCULO = ? or PE_RECALCULO IS NULL ) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)",Array As String(C.GetString("PC_CLIENTE"),"","null"))
|
||||||
label2 = ListView1.TwoLinesLayout.SecondLabel
|
s.Position=0
|
||||||
label2.TextSize = 10
|
Private s5 As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(PE_RECALCULOTOT),0) as TOTAL_CLIE, IFNULL(SUM(PE_CANT),0) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE = ? and (PE_RECALCULO <> ? or PE_RECALCULO <> ? OR PE_RECALCULO IS NOT NULL) AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)",Array As String(C.GetString("PC_CLIENTE"),"","null"))
|
||||||
label2.TextColor = Colors.Blue
|
s5.Position = 0
|
||||||
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& c.GetString("PC_NOART")& " SubTotal $"& c.GetString("PC_MONTO"))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 20
|
||||||
|
label1.TextColor = Colors.White
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 20
|
||||||
|
label2.TextColor = Colors.White
|
||||||
|
label1.Height = 25dip
|
||||||
|
label2.Height = 60dip
|
||||||
|
|
||||||
|
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
||||||
|
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& (s.GetString("CANT_CLIE") + s5.GetString("CANT_CLIE")) & " SubTotal $"& NumberFormat2(s.GetString("TOTAL_CLIE") + s5.GetString("TOTAL_CLIE"),0,2,2,True))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
s.Close
|
||||||
|
|
||||||
|
|
||||||
|
Else If s3.RowCount = 0 Then
|
||||||
|
Private s As Cursor=B4XPages.MainPage.skmt.ExecQuery2("select iFNULL(sum(pe_costo_tot),0) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE FROM PEDIDO WHERE PE_CLIENTE = ?", Array As String(C.GetString("PC_CLIENTE")))
|
||||||
|
s.Position=0
|
||||||
|
|
||||||
|
Dim label1 As Label
|
||||||
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
|
label1.TextSize = 20
|
||||||
|
label1.TextColor = Colors.White
|
||||||
|
Dim label2 As Label
|
||||||
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
|
label2.TextSize = 20
|
||||||
|
label2.TextColor = Colors.White
|
||||||
|
label1.Height = 25dip
|
||||||
|
label2.Height = 60dip
|
||||||
|
|
||||||
|
ListView1.TwoLinesLayout.ItemHeight = 95dip
|
||||||
|
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" Cantidad #"& s.GetString("CANT_CLIE") & " SubTotal $"& NumberFormat2(s.GetString("TOTAL_CLIE"),0,2,2,True))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
s.Close
|
||||||
|
End If
|
||||||
|
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
c.Close
|
c.Close
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
B4A/Files/contrasena.png
Normal file
BIN
B4A/Files/contrasena.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 293 B |
BIN
B4A/Files/fondo-rojo.jpg
Normal file
BIN
B4A/Files/fondo-rojo.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 192 KiB |
BIN
B4A/Files/fondo-rojo.png
Normal file
BIN
B4A/Files/fondo-rojo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 192 KiB |
Binary file not shown.
Binary file not shown.
BIN
B4A/Files/logo-guna-contorno.png
Normal file
BIN
B4A/Files/logo-guna-contorno.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.2 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
B4A/Files/proditem1.bal
Normal file
BIN
B4A/Files/proditem1.bal
Normal file
Binary file not shown.
BIN
B4A/Files/proditem_.bal
Normal file
BIN
B4A/Files/proditem_.bal
Normal file
Binary file not shown.
Binary file not shown.
BIN
B4A/Files/productos_.bal
Normal file
BIN
B4A/Files/productos_.bal
Normal file
Binary file not shown.
Binary file not shown.
BIN
B4A/Files/promociones_.bal
Normal file
BIN
B4A/Files/promociones_.bal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
B4A/Files/usuario.png
Normal file
BIN
B4A/Files/usuario.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 295 B |
File diff suppressed because one or more lines are too long
@@ -79,9 +79,9 @@ ModuleClosedNodes3=
|
|||||||
ModuleClosedNodes4=
|
ModuleClosedNodes4=
|
||||||
ModuleClosedNodes5=
|
ModuleClosedNodes5=
|
||||||
ModuleClosedNodes6=
|
ModuleClosedNodes6=
|
||||||
ModuleClosedNodes7=5,6,8,9,10,11
|
ModuleClosedNodes7=6,8,9,10,11
|
||||||
ModuleClosedNodes8=
|
ModuleClosedNodes8=
|
||||||
ModuleClosedNodes9=
|
ModuleClosedNodes9=
|
||||||
NavigationStack=C_Productos,cuentaProds,615,0,C_Principal,Subir_Click,648,0,C_Principal,JobDone,1378,0,C_Cliente,B4XPage_Created,516,0,C_Cliente,Cuestionario,4675,0,C_Cliente,ImageView4_Click,5743,6,C_Cliente,Label19_LongClick,5734,0,C_Cliente,b_comentarios_Click,5658,0,Diseñador Visual,cliente.bal,-100,4,C_Cliente,B4XPage_Appear,1104,6
|
NavigationStack=Diseñador Visual,cliente.bal,-100,4,C_Cliente,GPS_LocationChanged,1382,6,C_Cliente,B4XPage_Appear,537,0,C_Cliente,b_mapa_Click,2577,0,C_Cliente,Printer1_Connected,3079,0,C_Cliente,StartPrinter,3123,0,C_Cliente,Printer_Connected,3077,0,C_Cliente,Impresion,2820,0,C_Principal,Subir_Click,536,0,C_Principal,JobDone,1382,0,C_Principal,cargar_Click,1121,0
|
||||||
SelectedBuild=0
|
SelectedBuild=0
|
||||||
VisibleModules=25,2,14,26,5,10,15,11,20,19
|
VisibleModules=25,2,14,26,5,10,11,20,19,16
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -40,6 +40,7 @@ Sub Process_Globals
|
|||||||
Dim idCliente As String = ""
|
Dim idCliente As String = ""
|
||||||
Dim encuesta As String = 0
|
Dim encuesta As String = 0
|
||||||
Public fFileProvider As FileProvider
|
Public fFileProvider As FileProvider
|
||||||
|
Dim tabla As String
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub Service_Create
|
Sub Service_Create
|
||||||
|
|||||||
665
B4A/Subs.bas
665
B4A/Subs.bas
@@ -45,6 +45,15 @@ Sub getPhnId As String 'ignore
|
|||||||
Return devModel
|
Return devModel
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Sub SetDivider(lv As ListView, Color As Int, Height As Int) 'ignore
|
||||||
|
Dim r As Reflector
|
||||||
|
r.Target = lv
|
||||||
|
Dim CD As ColorDrawable
|
||||||
|
CD.Initialize(Color, 0)
|
||||||
|
r.RunMethod4("setDivider", Array As Object(CD), Array As String("android.graphics.drawable.Drawable"))
|
||||||
|
r.RunMethod2("setDividerHeight", Height, "java.lang.int")
|
||||||
|
End Sub
|
||||||
|
|
||||||
'Centra un listview dentro de un elemento superior
|
'Centra un listview dentro de un elemento superior
|
||||||
Sub centraListView(elemento As ListView, anchoElementoSuperior As Int) 'ignore
|
Sub centraListView(elemento As ListView, anchoElementoSuperior As Int) 'ignore
|
||||||
elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
|
elemento.Left = Round(anchoElementoSuperior/2)-(elemento.Width/2)
|
||||||
@@ -700,6 +709,86 @@ Sub traeRuta As String 'ignore
|
|||||||
Return r
|
Return r
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
'Regresa verdadero si la columna gestion en la tabla "kmt_info" tene valor 2.
|
||||||
|
'si no, entonces regresa falso.
|
||||||
|
Sub pedidoGuardado As Boolean
|
||||||
|
Private guardado As Boolean = False
|
||||||
|
Private g As Cursor = B4XPages.MainPage.skmt.ExecQuery("select gestion from kmt_info3 where CAT_CL_CODIGO in (Select CUENTA from cuentaa)")
|
||||||
|
If g.RowCount > 0 Then
|
||||||
|
g.Position=0
|
||||||
|
If g.GetString("gestion") = "2" Or g.GetString("gestion") = "3" Then guardado = True
|
||||||
|
End If
|
||||||
|
' Log($"Guardado=${guardado}"$)
|
||||||
|
Return guardado
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Borra el pedido del cliente actual.
|
||||||
|
'Borra los registros de la tabla "pedido" y "pedido_cliente"
|
||||||
|
'Actualiza las tablas "cat_gunaprod" y "kmt_info".
|
||||||
|
Sub borraPedidoClienteActual As String
|
||||||
|
' Private thisC As Cursor
|
||||||
|
' thisC=B4XPages.MainPage.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
|
||||||
|
' If thisC.RowCount>0 Then
|
||||||
|
' For i=0 To thisC.RowCount -1
|
||||||
|
' thisC.Position=i
|
||||||
|
' B4XPages.MainPage.skmt.ExecNonQuery2($"update ${Starter.tabla} set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?"$, Array As Object(thisC.GetString("PE_CANT"),thisC.GetString("PE_PROID")))
|
||||||
|
' B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen, thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1))
|
||||||
|
' Next
|
||||||
|
' End If
|
||||||
|
' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
||||||
|
' B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
|
||||||
|
' B4XPages.MainPage.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||||
|
' Return 1
|
||||||
|
Private thisC As Cursor
|
||||||
|
' Private tablaProds As String = "cat_gunaprod2"
|
||||||
|
thisC=Starter.skmt.ExecQuery("select PE_PROID, PE_CANT, PE_FOLIO FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
|
||||||
|
If thisC.RowCount>0 Then
|
||||||
|
For i=0 To thisC.RowCount -1
|
||||||
|
thisC.Position = i
|
||||||
|
' Log(thisC.GetString("PE_TIPO") & "|" & traeTablaProds(thisC.GetString("PE_TIPO")))
|
||||||
|
Starter.skmt.ExecNonQuery($"update ${traeTablaProds(thisC.GetString("PE_FOLIO"))} set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$)
|
||||||
|
LogColor($"update ${traeTablaProds(thisC.GetString("PE_FOLIO"))} set cat_gp_almacen = cat_gp_almacen + ${thisC.GetString("PE_CANT")} where cat_gp_id = '${thisC.GetString("PE_PROID")}'"$, Colors.red)
|
||||||
|
' Starter.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (traeAlmacen, thisC.GetString("PE_PROID"),thisC.GetString("PE_CANT")* -1))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
Starter.skmt.ExecNonQuery("delete from pedido_cliente where pc_cliente in (Select CUENTA from cuentaa)")
|
||||||
|
Starter.skmt.ExecNonQuery("delete from pedido where pe_cliente in (Select CUENTA from cuentaa)")
|
||||||
|
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 0 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
|
||||||
|
Return 1
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Regresa el total del pedido en la tabla "PEDIDO" del cliente actual.
|
||||||
|
Sub totalPedido As String
|
||||||
|
Private cT As Cursor = Starter.skmt.ExecQuery($"select sum(PE_COSTO_TOT) as total from PEDIDO where PE_CLIENTE = '${traeCliente}'"$)
|
||||||
|
Private pTotal As String = "0"
|
||||||
|
If cT.RowCount > 0 Then
|
||||||
|
cT.Position = 0
|
||||||
|
' Log("|"&cT.GetLong("total")&"|"&pTotal)
|
||||||
|
Private tempT As String = cT.GetLong("total")
|
||||||
|
If tempT <> "null" And tempT <> Null Then
|
||||||
|
' Log("|"&cT.GetLong("total")&"|")
|
||||||
|
pTotal = tempT
|
||||||
|
End If
|
||||||
|
' Log($"Cliente actual=${traeCliente}, hayPedido=${hay}"$)
|
||||||
|
End If
|
||||||
|
cT.Close
|
||||||
|
Return pTotal
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Regresa la ruta actual de la base de datos.
|
||||||
|
Sub traeRuta2 (cliente As String) As String 'ignore
|
||||||
|
Private c As Cursor
|
||||||
|
Private r As String
|
||||||
|
c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_CL_RUTA from kmt_info where CAT_CL_CODIGO = '${cliente}' UNION ALL select CAT_CL_RUTA from kmt_info2 where CAT_CL_CODIGO = '${cliente}'"$)
|
||||||
|
r = "0"
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
c.Position=0
|
||||||
|
r = c.GetString("CAT_CL_RUTA")
|
||||||
|
End If
|
||||||
|
c.Close
|
||||||
|
Return r
|
||||||
|
End Sub
|
||||||
|
|
||||||
Sub traeRutaBitacora As String 'ignore
|
Sub traeRutaBitacora As String 'ignore
|
||||||
Private c As Cursor
|
Private c As Cursor
|
||||||
Private r As String
|
Private r As String
|
||||||
@@ -785,82 +874,82 @@ Sub guardaProducto(cedis As String, costoU As String, cant As String, nombre As
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
'Regresa un mapa con la información de la promo.
|
''Regresa un mapa con la información de la promo.
|
||||||
'Regresa: {id, maxXcliente, maxRecurrente, maxPromos, historico,
|
''Regresa: {id, maxXcliente, maxRecurrente, maxPromos, historico,
|
||||||
' productos={idProducto={idProducto, preciosimptos, precio, almacen, tipo, piezas, usuario, fecha, regalo, clasif}} 'Mapa con los productos de la promo y los datos de cada uno.
|
'' productos={idProducto={idProducto, preciosimptos, precio, almacen, tipo, piezas, usuario, fecha, regalo, clasif}} 'Mapa con los productos de la promo y los datos de cada uno.
|
||||||
' tipos={idProducto=tipo} 'Mapa con id y tipo del producto, 0 si es fijo y 1 si es variable.
|
'' tipos={idProducto=tipo} 'Mapa con id y tipo del producto, 0 si es fijo y 1 si es variable.
|
||||||
' prodsFijos={idProducto,idProducto} 'Lista con los ids de los productos fijos.
|
'' prodsFijos={idProducto,idProducto} 'Lista con los ids de los productos fijos.
|
||||||
' prodsVariables={idProducto,idProducto} 'Lista con los ids de los productos variables.
|
'' prodsVariables={idProducto,idProducto} 'Lista con los ids de los productos variables.
|
||||||
' resultado="OK" 'Ok si existe la promocion.
|
'' resultado="OK" 'Ok si existe la promocion.
|
||||||
' prodsVariablesRequeridos=5} 'Cantidad de productos variables requeridos para la promoción.
|
'' prodsVariablesRequeridos=5} 'Cantidad de productos variables requeridos para la promoción.
|
||||||
Sub traePromo(promo As String, cliente As String) As Map
|
'Sub traePromo(promo As String, cliente As String) As Map
|
||||||
LogColor($"TRAE PROMO = ${promo}"$, Colors.Red)
|
' LogColor($"TRAE PROMO = ${promo}"$, Colors.Red)
|
||||||
Private inicioContador As String = DateTime.Now
|
' Private inicioContador As String = DateTime.Now
|
||||||
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select * from promos_comp where cat_pa_id = '"& promo&"'") 'Obtenemos las el maximo de promocioones a otorgar.
|
' Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select * from promos_comp where cat_pa_id = '"& promo&"'") 'Obtenemos las el maximo de promocioones a otorgar.
|
||||||
Private siHistorico As String = 0
|
' Private siHistorico As String = 0
|
||||||
Private promoMap As Map
|
' Private promoMap As Map
|
||||||
Private prodsFijos, prodsFijosPrecios, prodsFijosPiezas, prodsVariables As List
|
' Private prodsFijos, prodsFijosPrecios, prodsFijosPiezas, prodsVariables As List
|
||||||
promoMap.Initialize
|
' promoMap.Initialize
|
||||||
prodsFijos.Initialize
|
' prodsFijos.Initialize
|
||||||
prodsFijosPrecios.Initialize
|
' prodsFijosPrecios.Initialize
|
||||||
prodsFijosPiezas.Initialize
|
' prodsFijosPiezas.Initialize
|
||||||
prodsVariables.Initialize
|
' prodsVariables.Initialize
|
||||||
c.Position = 0
|
' c.Position = 0
|
||||||
If c.RowCount > 0 Then promoMap = CreateMap("id":promo, "maxXcliente":c.GetString("CAT_PA_MAXPROMCLIE"), "maxRecurrente":c.GetString("CAT_PA_MAXPROMREC"), "maxPromos":c.GetString("CAT_PA_MAXPROM"))
|
' If c.RowCount > 0 Then promoMap = CreateMap("id":promo, "maxXcliente":c.GetString("CAT_PA_MAXPROMCLIE"), "maxRecurrente":c.GetString("CAT_PA_MAXPROMREC"), "maxPromos":c.GetString("CAT_PA_MAXPROM"))
|
||||||
c = B4XPages.MainPage.skmt.ExecQuery("Select count(*) as hist from HIST_PROMOS where HP_CLIENTE = '"& cliente & "' and HP_CODIGO_PROMOCION = '" & promo & "'") 'Revisamos si hay historico de la promoción.
|
' c = B4XPages.MainPage.skmt.ExecQuery("Select count(*) as hist from HIST_PROMOS where HP_CLIENTE = '"& cliente & "' and HP_CODIGO_PROMOCION = '" & promo & "'") 'Revisamos si hay historico de la promoción.
|
||||||
c.Position = 0
|
' c.Position = 0
|
||||||
If c.GetString("hist") > 0 Then siHistorico = 1
|
' If c.GetString("hist") > 0 Then siHistorico = 1
|
||||||
promoMap.Put("historico", siHistorico)
|
' promoMap.Put("historico", siHistorico)
|
||||||
' c = B4XPages.MainPage.skmt.ExecQuery("Select * from CAT_DETALLES_PAQ where CAT_DP_ID = '"& promo & "'") 'Obtenemos los detalles de la promoción.
|
'' c = B4XPages.MainPage.skmt.ExecQuery("Select * from CAT_DETALLES_PAQ where CAT_DP_ID = '"& promo & "'") 'Obtenemos los detalles de la promoción.
|
||||||
c = B4XPages.MainPage.skmt.ExecQuery("Select * from CAT_DETALLES_PAQ where CAT_DP_ID = '"& promo & "' order by cat_dp_tipo asc")
|
' c = B4XPages.MainPage.skmt.ExecQuery("Select * from CAT_DETALLES_PAQ where CAT_DP_ID = '"& promo & "' order by cat_dp_tipo asc")
|
||||||
c.Position = 0
|
' c.Position = 0
|
||||||
If c.RowCount > 0 Then
|
' If c.RowCount > 0 Then
|
||||||
Private prods, tipos As Map
|
' Private prods, tipos As Map
|
||||||
prods.Initialize
|
' prods.Initialize
|
||||||
tipos.Initialize
|
' tipos.Initialize
|
||||||
For i=0 To c.RowCount -1
|
' For i=0 To c.RowCount -1
|
||||||
c.Position=i
|
' c.Position=i
|
||||||
prods.Put(c.GetString("CAT_DP_IDPROD"), CreateMap("idProducto":c.GetString("CAT_DP_IDPROD"), "precioSimptos":c.GetString("CAT_DP_PRECIO_SIMPTOS"), "precio":c.GetString("CAT_DP_PRECIO"), "almacen":c.GetString("CAT_DP_ALMACEN"), "tipo":c.GetString("CAT_DP_TIPO"), "piezas":c.GetString("CAT_DP_PZAS"), "usuario":c.GetString("CAT_DP_USUARIO"), "regalo":c.GetString("CAT_DP_REGALO"), "clasif":c.GetString("CAT_DP_CLASIF")))
|
' prods.Put(c.GetString("CAT_DP_IDPROD"), CreateMap("idProducto":c.GetString("CAT_DP_IDPROD"), "precioSimptos":c.GetString("CAT_DP_PRECIO_SIMPTOS"), "precio":c.GetString("CAT_DP_PRECIO"), "almacen":c.GetString("CAT_DP_ALMACEN"), "tipo":c.GetString("CAT_DP_TIPO"), "piezas":c.GetString("CAT_DP_PZAS"), "usuario":c.GetString("CAT_DP_USUARIO"), "regalo":c.GetString("CAT_DP_REGALO"), "clasif":c.GetString("CAT_DP_CLASIF")))
|
||||||
tipos.Put(c.GetString("CAT_DP_IDPROD"), c.GetString("CAT_DP_TIPO"))
|
' tipos.Put(c.GetString("CAT_DP_IDPROD"), c.GetString("CAT_DP_TIPO"))
|
||||||
If c.GetString("CAT_DP_TIPO") = "0" Then
|
' If c.GetString("CAT_DP_TIPO") = "0" Then
|
||||||
prodsFijos.Add(c.GetString("CAT_DP_IDPROD"))
|
' prodsFijos.Add(c.GetString("CAT_DP_IDPROD"))
|
||||||
prodsFijosPrecios.Add(c.GetString("CAT_DP_PRECIO"))
|
' prodsFijosPrecios.Add(c.GetString("CAT_DP_PRECIO"))
|
||||||
prodsFijosPiezas.Add(c.GetString("CAT_DP_PZAS"))
|
' prodsFijosPiezas.Add(c.GetString("CAT_DP_PZAS"))
|
||||||
End If
|
' End If
|
||||||
If c.GetString("CAT_DP_TIPO") = "1" Then prodsVariables.Add(c.GetString("CAT_DP_IDPROD"))
|
' If c.GetString("CAT_DP_TIPO") = "1" Then prodsVariables.Add(c.GetString("CAT_DP_IDPROD"))
|
||||||
' Log($"id:${c.GetString("CAT_DP_IDPROD")}, tipo:${c.GetString("CAT_DP_TIPO")}"$)
|
'' Log($"id:${c.GetString("CAT_DP_IDPROD")}, tipo:${c.GetString("CAT_DP_TIPO")}"$)
|
||||||
Next
|
' Next
|
||||||
promoMap.Put("productos", prods) 'Mapa con los productos de la promocion (id, precio, almacen, tipo, piezas, etc.)
|
' promoMap.Put("productos", prods) 'Mapa con los productos de la promocion (id, precio, almacen, tipo, piezas, etc.)
|
||||||
promoMap.Put("tipos", tipos) 'Mapa con los productos de la promoción y su tipo (fijo o variable).
|
' promoMap.Put("tipos", tipos) 'Mapa con los productos de la promoción y su tipo (fijo o variable).
|
||||||
promoMap.Put("prodsFijos", prodsFijos) 'Lista de los productos fijos de la promoción.
|
' promoMap.Put("prodsFijos", prodsFijos) 'Lista de los productos fijos de la promoción.
|
||||||
promoMap.Put("prodsVariables", prodsVariables) 'Lista de los productos variables de la promoción.
|
' promoMap.Put("prodsVariables", prodsVariables) 'Lista de los productos variables de la promoción.
|
||||||
promoMap.Put("prodsFijosCant", prodsFijos.Size)
|
' promoMap.Put("prodsFijosCant", prodsFijos.Size)
|
||||||
promoMap.Put("prodsFijosPrecios", prodsFijosPrecios)
|
' promoMap.Put("prodsFijosPrecios", prodsFijosPrecios)
|
||||||
promoMap.Put("prodsFijosPiezas", prodsFijosPiezas)
|
' promoMap.Put("prodsFijosPiezas", prodsFijosPiezas)
|
||||||
promoMap.Put("prodsVariablesCant", prodsVariables.Size)
|
' promoMap.Put("prodsVariablesCant", prodsVariables.Size)
|
||||||
promoMap.Put("resultado", "ok")
|
' promoMap.Put("resultado", "ok")
|
||||||
Else
|
' Else
|
||||||
promoMap.Put("resultado", "No hay datos de la promoción.")
|
' promoMap.Put("resultado", "No hay datos de la promoción.")
|
||||||
End If
|
' End If
|
||||||
|
'
|
||||||
|
'
|
||||||
c = B4XPages.MainPage.skmt.ExecQuery($"Select CAT_GP_STS, CAT_GP_NOMBRE from ${traeTablaProds(traeTipoVentaDeBD)} where CAT_GP_ID = '${promo}' "$) 'Obtenemos las piezas requeridas de productos variables para la promoción.
|
' c = B4XPages.MainPage.skmt.ExecQuery($"Select CAT_GP_STS, CAT_GP_NOMBRE from ${traeTablaProds(traeTipoVentaDeBD)} where CAT_GP_ID = '${promo}' "$) 'Obtenemos las piezas requeridas de productos variables para la promoción.
|
||||||
|
'
|
||||||
c.Position = 0
|
' c.Position = 0
|
||||||
Private pvr As String = 0
|
' Private pvr As String = 0
|
||||||
If c.RowCount > 0 Then
|
' If c.RowCount > 0 Then
|
||||||
c.Position = 0
|
' c.Position = 0
|
||||||
pvr = c.GetString("CAT_GP_STS")
|
' pvr = c.GetString("CAT_GP_STS")
|
||||||
promoMap.Put("prodsVariablesRequeridos", pvr) 'Cantidad de productos variables requeridos para la promoción.
|
' promoMap.Put("prodsVariablesRequeridos", pvr) 'Cantidad de productos variables requeridos para la promoción.
|
||||||
promoMap.put("descripcion", c.GetString("CAT_GP_NOMBRE"))
|
' promoMap.put("descripcion", c.GetString("CAT_GP_NOMBRE"))
|
||||||
End If
|
' End If
|
||||||
c.Close
|
' c.Close
|
||||||
' Log($"Inv variables: ${cuantosVariablesTengoBD(promo)}"$)
|
'' Log($"Inv variables: ${cuantosVariablesTengoBD(promo)}"$)
|
||||||
' Log($"Inv dispo: ${traemosInventarioDisponibleParaPromo(promo)}"$)
|
'' Log($"Inv dispo: ${traemosInventarioDisponibleParaPromo(promo)}"$)
|
||||||
' LogColor($"Promo ${promo}: ${promoMap}"$, Colors.Green)
|
'' LogColor($"Promo ${promo}: ${promoMap}"$, Colors.Green)
|
||||||
' LogColor("TIEMPO para traePromo -=" & promo & "=- : " & ((DateTime.Now-inicioContador)/1000), Colors.Red)
|
'' LogColor("TIEMPO para traePromo -=" & promo & "=- : " & ((DateTime.Now-inicioContador)/1000), Colors.Red)
|
||||||
Return promoMap
|
' Return promoMap
|
||||||
End Sub
|
'End Sub
|
||||||
|
|
||||||
'Regresa un mapa con el inventario disponible por producto para la promoción (desde la base de datos).
|
'Regresa un mapa con el inventario disponible por producto para la promoción (desde la base de datos).
|
||||||
Sub traemosInventarioDisponibleParaPromo(promo As String) As Map 'ignore
|
Sub traemosInventarioDisponibleParaPromo(promo As String) As Map 'ignore
|
||||||
@@ -917,27 +1006,27 @@ Sub restaFijosPromo(promoMap As Map) As Map 'ignore
|
|||||||
Return inventariosDisponiblesParaEstaPromo
|
Return inventariosDisponiblesParaEstaPromo
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'Revisa si tenemos los productos variables requeridos para la promoción (mapa).
|
''Revisa si tenemos los productos variables requeridos para la promoción (mapa).
|
||||||
'Hay que darle como parametro un mapa (traePromo(promo)) con toda la informacion de la promocion.
|
''Hay que darle como parametro un mapa (traePromo(promo)) con toda la informacion de la promocion.
|
||||||
Sub alcanzanLosVariablesParaPromo(promoMap As Map, inventarioSinFijos As Map) As Boolean 'ignore
|
'Sub alcanzanLosVariablesParaPromo(promoMap As Map, inventarioSinFijos As Map) As Boolean 'ignore
|
||||||
Private thisLog As Boolean = False 'Si es verdadero, muestra los logs de este sub.
|
' Private thisLog As Boolean = False 'Si es verdadero, muestra los logs de este sub.
|
||||||
If thisLog Then LogColor("Inventario inicial: "&inventarioSinFijos, Colors.Gray) 'Inventario inicial.
|
' If thisLog Then LogColor("Inventario inicial: "&inventarioSinFijos, Colors.Gray) 'Inventario inicial.
|
||||||
Private totalProdsVariables As Int = 0
|
' Private totalProdsVariables As Int = 0
|
||||||
' Private prodsmap As Map = promoMap.Get("productos") 'Obtenemos un mapa con todos los productos de la promoción.
|
'' Private prodsmap As Map = promoMap.Get("productos") 'Obtenemos un mapa con todos los productos de la promoción.
|
||||||
Private prodsVariables As List = promoMap.get("prodsVariables") 'Obtenemos un a lista con los productos variables de la promoción.
|
' Private prodsVariables As List = promoMap.get("prodsVariables") 'Obtenemos un a lista con los productos variables de la promoción.
|
||||||
For p = 0 To prodsVariables.Size - 1
|
' For p = 0 To prodsVariables.Size - 1
|
||||||
Private t As String = prodsVariables.Get(p) 'Obtenemos el Id de este producto desde la lista de productos fijos.
|
' Private t As String = prodsVariables.Get(p) 'Obtenemos el Id de este producto desde la lista de productos fijos.
|
||||||
If inventarioSinFijos.ContainsKey(t) Then 'Si existe el producto en la lista del inventario, entonces ...
|
' If inventarioSinFijos.ContainsKey(t) Then 'Si existe el producto en la lista del inventario, entonces ...
|
||||||
Private p2 As String = inventarioSinFijos.Get(t) 'Obtenemos el inventario disponible este producto.
|
' Private p2 As String = inventarioSinFijos.Get(t) 'Obtenemos el inventario disponible este producto.
|
||||||
totalProdsVariables = totalProdsVariables + p2
|
' totalProdsVariables = totalProdsVariables + p2
|
||||||
If thisLog Then Log($"prod ${t}, hay: ${p2}"$) 'Producto y piezas requeridas
|
' If thisLog Then Log($"prod ${t}, hay: ${p2}"$) 'Producto y piezas requeridas
|
||||||
End If
|
' End If
|
||||||
Next
|
' Next
|
||||||
If thisLog Then Log("Total prods variables=" & totalProdsVariables & ", requeridos=" & promoMap.Get("prodsVariablesRequeridos"))
|
' If thisLog Then Log("Total prods variables=" & totalProdsVariables & ", requeridos=" & promoMap.Get("prodsVariablesRequeridos"))
|
||||||
Private res As Boolean = False
|
' Private res As Boolean = False
|
||||||
If totalProdsVariables >= promoMap.Get("prodsVariablesRequeridos") Then res = True 'Si el total de inventario de productos variables (totalProdsVariables) es mayor o igual a los productos requeridos entonces regresamos TRUE
|
' If totalProdsVariables >= promoMap.Get("prodsVariablesRequeridos") Then res = True 'Si el total de inventario de productos variables (totalProdsVariables) es mayor o igual a los productos requeridos entonces regresamos TRUE
|
||||||
Return res
|
' Return res
|
||||||
End Sub
|
'End Sub
|
||||||
|
|
||||||
'Regresa el numero máximo de promociones permitidas, tomando en cuenta recurrentes, clientes y maxPromos.
|
'Regresa el numero máximo de promociones permitidas, tomando en cuenta recurrentes, clientes y maxPromos.
|
||||||
Sub traeMaxPromos(pm As Map) As Int
|
Sub traeMaxPromos(pm As Map) As Int
|
||||||
@@ -1083,68 +1172,68 @@ Sub revisaMaxPromosProdsFijosPorInventario(pm As Map) As Int
|
|||||||
Return t.Get(0) 'Regresamos el resultado mas pequeño.
|
Return t.Get(0) 'Regresamos el resultado mas pequeño.
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'Regresa cuantas promos alcanzan con los productos VARIABLES que hay en inventario.
|
''Regresa cuantas promos alcanzan con los productos VARIABLES que hay en inventario.
|
||||||
'La cantidad de promos disponibles se calcula DESPUES de descontar los productos fijos, y si las
|
''La cantidad de promos disponibles se calcula DESPUES de descontar los productos fijos, y si las
|
||||||
'promos por productos fijos llega al maximo, aunque se puedan mas de producos variables, solo se
|
''promos por productos fijos llega al maximo, aunque se puedan mas de producos variables, solo se
|
||||||
'regresa el maximo por productos fijos. Ej. si las promos por variables es 10, pero el maximo por
|
''regresa el maximo por productos fijos. Ej. si las promos por variables es 10, pero el maximo por
|
||||||
'fijos es 5, entonces regresamos 5.
|
''fijos es 5, entonces regresamos 5.
|
||||||
Sub revisaMaxPromosProdsVariablesPorInventario(pm As Map) As Int 'ignore
|
'Sub revisaMaxPromosProdsVariablesPorInventario(pm As Map) As Int 'ignore
|
||||||
Private thisLog As Boolean = False
|
' Private thisLog As Boolean = False
|
||||||
If thisLog Then Log("======================================================")
|
' If thisLog Then Log("======================================================")
|
||||||
If thisLog Then Log("======================================================")
|
' If thisLog Then Log("======================================================")
|
||||||
Private invFijoXpromo As Map
|
' Private invFijoXpromo As Map
|
||||||
invFijoXpromo.Initialize
|
' invFijoXpromo.Initialize
|
||||||
Private totalProdsVariablesDisponibles As Int = 0
|
' Private totalProdsVariablesDisponibles As Int = 0
|
||||||
If thisLog Then LogColor($"pm=${pm}"$, Colors.Blue)
|
' If thisLog Then LogColor($"pm=${pm}"$, Colors.Blue)
|
||||||
Private invDispParaPromo As Map = traemosInventarioDisponibleParaPromo(pm.Get("id"))
|
' Private invDispParaPromo As Map = traemosInventarioDisponibleParaPromo(pm.Get("id"))
|
||||||
If thisLog Then Log($"invDispParaPromo=${invDispParaPromo}"$)
|
' If thisLog Then Log($"invDispParaPromo=${invDispParaPromo}"$)
|
||||||
Private maxPromos As String = traeMaxPromos(pm)
|
' Private maxPromos As String = traeMaxPromos(pm)
|
||||||
Private maxPromosXFijos As Int = revisaMaxPromosProdsFijosPorInventario(pm)
|
' Private maxPromosXFijos As Int = revisaMaxPromosProdsFijosPorInventario(pm)
|
||||||
Private idProdsVariables As List = pm.Get("prodsVariables")
|
' Private idProdsVariables As List = pm.Get("prodsVariables")
|
||||||
Private prodsVariablesRequeridos As Int = pm.Get("prodsVariablesRequeridos")
|
' Private prodsVariablesRequeridos As Int = pm.Get("prodsVariablesRequeridos")
|
||||||
Private prodsFijosPiezas As List = pm.Get("prodsFijosPiezas")
|
' Private prodsFijosPiezas As List = pm.Get("prodsFijosPiezas")
|
||||||
Private idProdsFijos As List = pm.Get("prodsFijos")
|
' Private idProdsFijos As List = pm.Get("prodsFijos")
|
||||||
For p = 0 To idProdsFijos.Size -1 'Generamos mapa con los productos fijos y piezas requeridas por promo.
|
' For p = 0 To idProdsFijos.Size -1 'Generamos mapa con los productos fijos y piezas requeridas por promo.
|
||||||
invFijoXpromo.Put(idProdsFijos.Get(p), prodsFijosPiezas.Get(p))
|
' invFijoXpromo.Put(idProdsFijos.Get(p), prodsFijosPiezas.Get(p))
|
||||||
Private idEsteProd As String = idProdsFijos.Get(p)
|
' Private idEsteProd As String = idProdsFijos.Get(p)
|
||||||
Private invEsteProd As Int = invDispParaPromo.Get(idEsteProd)
|
' Private invEsteProd As Int = invDispParaPromo.Get(idEsteProd)
|
||||||
Private pzasReqEsteProd As Int = prodsFijosPiezas.Get(p)
|
' Private pzasReqEsteProd As Int = prodsFijosPiezas.Get(p)
|
||||||
If thisLog Then Log($"id=${idEsteProd}, inv=${invEsteProd}, pzas=${pzasReqEsteProd}"$)
|
' If thisLog Then Log($"id=${idEsteProd}, inv=${invEsteProd}, pzas=${pzasReqEsteProd}"$)
|
||||||
' invDispParaPromo.Put( idEsteProd, (invEsteProd - (1)) )
|
'' invDispParaPromo.Put( idEsteProd, (invEsteProd - (1)) )
|
||||||
Next
|
' Next
|
||||||
If thisLog Then LogColor($"MaxPromos=${maxPromos}, promosXFijos=${maxPromosXFijos}"$, Colors.Blue)
|
' If thisLog Then LogColor($"MaxPromos=${maxPromos}, promosXFijos=${maxPromosXFijos}"$, Colors.Blue)
|
||||||
If thisLog Then LogColor($"prodsFijos=${idProdsFijos}"$, Colors.Blue)
|
' If thisLog Then LogColor($"prodsFijos=${idProdsFijos}"$, Colors.Blue)
|
||||||
If thisLog Then LogColor($"prodsFijosPiezasReq=${prodsFijosPiezas}"$, Colors.Blue)
|
' If thisLog Then LogColor($"prodsFijosPiezasReq=${prodsFijosPiezas}"$, Colors.Blue)
|
||||||
If thisLog Then LogColor($"prodsVariables=${idProdsVariables}${CRLF}Variables Req=${prodsVariablesRequeridos} "$, Colors.Blue)
|
' If thisLog Then LogColor($"prodsVariables=${idProdsVariables}${CRLF}Variables Req=${prodsVariablesRequeridos} "$, Colors.Blue)
|
||||||
If thisLog Then LogColor($"invFijoXpromo=${invFijoXpromo}"$, Colors.Blue)
|
' If thisLog Then LogColor($"invFijoXpromo=${invFijoXpromo}"$, Colors.Blue)
|
||||||
If thisLog Then Log($"Prods variables disponibles = ${totalProdsVariablesDisponibles}"$)
|
' If thisLog Then Log($"Prods variables disponibles = ${totalProdsVariablesDisponibles}"$)
|
||||||
Private maxPromosXVariables As Int = 0
|
' Private maxPromosXVariables As Int = 0
|
||||||
For x = 1 To maxPromosXFijos
|
' For x = 1 To maxPromosXFijos
|
||||||
If thisLog Then Log("=====================================================")
|
' If thisLog Then Log("=====================================================")
|
||||||
If thisLog Then Log("=====================================================")
|
' If thisLog Then Log("=====================================================")
|
||||||
For i = 0 To idProdsFijos.Size - 1
|
' For i = 0 To idProdsFijos.Size - 1
|
||||||
If thisLog Then Log($"FIJO - ${idProdsFijos.Get(i)}, ${invDispParaPromo.Get(idProdsFijos.Get(i))} - ${prodsFijosPiezas.Get(i).As(Int)*(i+1)}"$)
|
' If thisLog Then Log($"FIJO - ${idProdsFijos.Get(i)}, ${invDispParaPromo.Get(idProdsFijos.Get(i))} - ${prodsFijosPiezas.Get(i).As(Int)*(i+1)}"$)
|
||||||
invDispParaPromo.Put(idProdsFijos.Get(i), invDispParaPromo.Get(idProdsFijos.Get(i)).As(Int) - prodsFijosPiezas.Get(i).As(Int)*(i+1)) 'Restamos las piezas de los productos fijos del inventario disponible.
|
' invDispParaPromo.Put(idProdsFijos.Get(i), invDispParaPromo.Get(idProdsFijos.Get(i)).As(Int) - prodsFijosPiezas.Get(i).As(Int)*(i+1)) 'Restamos las piezas de los productos fijos del inventario disponible.
|
||||||
Next
|
' Next
|
||||||
If thisLog Then LogColor("Inv disponible despues de restar fijos = " & invDispParaPromo, Colors.Blue)
|
' If thisLog Then LogColor("Inv disponible despues de restar fijos = " & invDispParaPromo, Colors.Blue)
|
||||||
|
'
|
||||||
totalProdsVariablesDisponibles = 0
|
' totalProdsVariablesDisponibles = 0
|
||||||
For i = 0 To idProdsVariables.Size - 1 'Obtenemos total de productos variables disponibes.
|
' For i = 0 To idProdsVariables.Size - 1 'Obtenemos total de productos variables disponibes.
|
||||||
If invDispParaPromo.ContainsKey(idProdsVariables.Get(i)) Then
|
' If invDispParaPromo.ContainsKey(idProdsVariables.Get(i)) Then
|
||||||
totalProdsVariablesDisponibles = totalProdsVariablesDisponibles + invDispParaPromo.Get(idProdsVariables.Get(i))
|
' totalProdsVariablesDisponibles = totalProdsVariablesDisponibles + invDispParaPromo.Get(idProdsVariables.Get(i))
|
||||||
End If
|
' End If
|
||||||
Next
|
' Next
|
||||||
'Revisamos variables.
|
' 'Revisamos variables.
|
||||||
If thisLog Then Log($"Var disponibles - var requeridos : ${totalProdsVariablesDisponibles} - ${prodsVariablesRequeridos*x}"$)
|
' If thisLog Then Log($"Var disponibles - var requeridos : ${totalProdsVariablesDisponibles} - ${prodsVariablesRequeridos*x}"$)
|
||||||
totalProdsVariablesDisponibles = totalProdsVariablesDisponibles - (prodsVariablesRequeridos*x)
|
' totalProdsVariablesDisponibles = totalProdsVariablesDisponibles - (prodsVariablesRequeridos*x)
|
||||||
If thisLog Then Log("prodsVariables disponibles despues de promo = " & totalProdsVariablesDisponibles)
|
' If thisLog Then Log("prodsVariables disponibles despues de promo = " & totalProdsVariablesDisponibles)
|
||||||
If totalProdsVariablesDisponibles < 0 Then Exit 'Ya no hay inventario disponible.
|
' If totalProdsVariablesDisponibles < 0 Then Exit 'Ya no hay inventario disponible.
|
||||||
maxPromosXVariables = x
|
' maxPromosXVariables = x
|
||||||
Next
|
' Next
|
||||||
'Restamos fijos.
|
' 'Restamos fijos.
|
||||||
LogColor("Max promos de prodsVariables POR inventario = " & maxPromosXVariables, Colors.red)
|
' LogColor("Max promos de prodsVariables POR inventario = " & maxPromosXVariables, Colors.red)
|
||||||
Return maxPromosXVariables
|
' Return maxPromosXVariables
|
||||||
End Sub
|
'End Sub
|
||||||
|
|
||||||
'Regresa la suma del inventario de los productos variables de la promoción dada desde la base de datos.
|
'Regresa la suma del inventario de los productos variables de la promoción dada desde la base de datos.
|
||||||
Sub cuantosVariablesTengoBD(promo As String) As String 'ignore
|
Sub cuantosVariablesTengoBD(promo As String) As String 'ignore
|
||||||
@@ -1725,6 +1814,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)
|
||||||
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))
|
||||||
@@ -1839,11 +1929,264 @@ End Sub
|
|||||||
' - 3 = bronze
|
' - 3 = bronze
|
||||||
Sub traeTipoCliente As Int
|
Sub traeTipoCliente As Int
|
||||||
Private x As Cursor
|
Private x As Cursor
|
||||||
Private tc As Int = 0
|
Private tc As Int = 3
|
||||||
x = Starter.skmt.ExecQuery($"select 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"))
|
||||||
tc = x.GetInt("CAT_CL_TIPOCLIENTE")
|
tc = x.GetInt("CAT_CL_TIPOCLIENTE")
|
||||||
End If
|
End If
|
||||||
|
' Log("ESTO LO HIZO GUERRA X2------> "&tc)
|
||||||
Return tc
|
Return tc
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub traeinventario(id As String) As String
|
||||||
|
Dim c As Cursor
|
||||||
|
Dim inventario As String = "0"
|
||||||
|
c=B4XPages.MainPage.skmt.ExecQuery($"select CAT_GP_ALMACEN from ${traeTablaProds(B4XPages.MainPage.tipo_venta)} where CAT_GP_ID = '${id}'"$)
|
||||||
|
' Log($"select CAT_GP_ALMACEN from ${Starter.tabla} where CAT_GP_NOMBRE = '${id}'"$)
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
c.Position = 0
|
||||||
|
inventario = c.GetString("CAT_GP_ALMACEN")
|
||||||
|
End If
|
||||||
|
c.Close
|
||||||
|
Return inventario
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Regresa el total de productos y monto del pedido del cliente actual.
|
||||||
|
Sub traeTotalesClienteActual As Map
|
||||||
|
Private m As Map
|
||||||
|
m.Initialize
|
||||||
|
Private c_prodsX As Cursor=B4XPages.MainPage.skmt.ExecQuery("select ifnull(sum(PE_CANT), 0) as cantProds, ifnull(sum(PE_COSTO_TOT), 0) as costoTotal FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa) order by PE_PRONOMBRE asc")
|
||||||
|
c_prodsX.Position=0
|
||||||
|
' LogColor($"Productos de la orden: ${c_prodsX.GetString("cantProds")}, Total: ${c_prodsX.GetString("costoTotal")}"$, Colors.red)
|
||||||
|
m = CreateMap("productos": c_prodsX.GetString("cantProds"), "monto" : c_prodsX.GetString("costoTotal"))
|
||||||
|
Return m
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
'Regresa un mapa con la información de la promo.
|
||||||
|
'Regresa: {id, maxXcliente, maxRecurrente, maxPromos, historico,
|
||||||
|
' productos={idProducto={idProducto, preciosimptos, precio, almacen, tipo, piezas, usuario, fecha, regalo, clasif}} 'Mapa con los productos de la promo y los datos de cada uno.
|
||||||
|
' tipos={idProducto=tipo} 'Mapa con id y tipo del producto, 0 si es fijo y 1 si es variable.
|
||||||
|
' prodsFijos={idProducto,idProducto} 'Lista con los ids de los productos fijos.
|
||||||
|
' prodsVariables={idProducto,idProducto} 'Lista con los ids de los productos variables.
|
||||||
|
' resultado="OK" 'Ok si existe la promocion.
|
||||||
|
' prodsVariablesRequeridos=5} 'Cantidad de productos variables requeridos para la promoción.
|
||||||
|
Sub traePromo(promo As String, cliente As String) As Map
|
||||||
|
Private inicioContador As String = DateTime.Now
|
||||||
|
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery("Select * from promos_comp where cat_pa_id = '"& promo&"'") 'Obtenemos las el maximo de promocioones a otorgar.
|
||||||
|
Private siHistorico As String = 0
|
||||||
|
Private promoMap As Map
|
||||||
|
Private prodsFijos, prodsFijosPrecios, prodsFijosPiezas, prodsVariables, prodsVariables2, prodsVariablesPrecios, prodsVariablesPrecios2 As List
|
||||||
|
promoMap.Initialize
|
||||||
|
prodsFijos.Initialize
|
||||||
|
prodsFijosPrecios.Initialize
|
||||||
|
prodsFijosPiezas.Initialize
|
||||||
|
prodsVariables.Initialize
|
||||||
|
prodsVariables2.Initialize
|
||||||
|
prodsVariablesPrecios.Initialize
|
||||||
|
prodsVariablesPrecios2.Initialize
|
||||||
|
c.Position = 0
|
||||||
|
If c.RowCount > 0 Then promoMap = CreateMap("id":promo, "maxXcliente":c.GetString("CAT_PA_MAXPROMCLIE"), "maxRecurrente":c.GetString("CAT_PA_MAXPROMREC"), "maxPromos":c.GetString("CAT_PA_MAXPROM"))
|
||||||
|
c = B4XPages.MainPage.skmt.ExecQuery("Select count(*) as hist from HIST_PROMOS where HP_CLIENTE = '"& cliente & "' and HP_CODIGO_PROMOCION = '" & promo & "'") 'Revisamos si hay historico de la promoción.
|
||||||
|
c.Position = 0
|
||||||
|
If c.GetString("hist") > 0 Then siHistorico = 1
|
||||||
|
promoMap.Put("historico", siHistorico)
|
||||||
|
c = B4XPages.MainPage.skmt.ExecQuery("Select * from CAT_DETALLES_PAQ where CAT_DP_ID = '"& promo & "'") 'Obtenemos los detalles de la promoción.
|
||||||
|
c.Position = 0
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
Private prods, tipos As Map
|
||||||
|
prods.Initialize
|
||||||
|
tipos.Initialize
|
||||||
|
For i=0 To c.RowCount -1
|
||||||
|
c.Position=i
|
||||||
|
prods.Put(c.GetString("CAT_DP_IDPROD"), CreateMap("idProducto":c.GetString("CAT_DP_IDPROD"), "precioSimptos":c.GetString("CAT_DP_PRECIO_SIMPTOS"), "precio":c.GetString("CAT_DP_PRECIO"), "almacen":c.GetString("CAT_DP_ALMACEN"), "tipo":c.GetString("CAT_DP_TIPO"), "piezas":c.GetString("CAT_DP_PZAS"), "usuario":c.GetString("CAT_DP_USUARIO"), "regalo":c.GetString("CAT_DP_REGALO"), "clasif":c.GetString("CAT_DP_CLASIF")))
|
||||||
|
tipos.Put(c.GetString("CAT_DP_IDPROD"), c.GetString("CAT_DP_TIPO"))
|
||||||
|
If c.GetString("CAT_DP_TIPO") = "0" Then
|
||||||
|
prodsFijos.Add(c.GetString("CAT_DP_IDPROD"))
|
||||||
|
prodsFijosPrecios.Add(c.GetString("CAT_DP_PRECIO"))
|
||||||
|
prodsFijosPiezas.Add(c.GetString("CAT_DP_PZAS"))
|
||||||
|
End If
|
||||||
|
If c.GetString("CAT_DP_TIPO") = "1" Then
|
||||||
|
prodsVariables.Add(c.GetString("CAT_DP_IDPROD"))
|
||||||
|
prodsVariablesPrecios.Add(c.GetString("CAT_DP_PRECIO"))
|
||||||
|
End If
|
||||||
|
If c.GetString("CAT_DP_TIPO") = "2" Then
|
||||||
|
' LogColor(c.GetString("CAT_DP_IDPROD") & "|" & c.GetString("CAT_DP_TIPO"), Colors.Blue)
|
||||||
|
prodsVariables2.Add(c.GetString("CAT_DP_IDPROD"))
|
||||||
|
prodsVariablesPrecios2.Add(c.GetString("CAT_DP_PRECIO"))
|
||||||
|
End If
|
||||||
|
' Log($"id:${c.GetString("CAT_DP_IDPROD")}, tipo:${c.GetString("CAT_DP_TIPO")}"$)
|
||||||
|
' If prodsVariables2.Size > 0 Then LogColor(c.GetString("CAT_DP_ID") & "|" & prodsVariables2, Colors.red)
|
||||||
|
Next
|
||||||
|
promoMap.Put("productos", prods) 'Mapa con los productos de la promocion (id, precio, almacen, tipo, piezas, etc.)
|
||||||
|
promoMap.Put("tipos", tipos) 'Mapa con los productos de la promoción y su tipo (fijo o variable).
|
||||||
|
promoMap.Put("prodsFijos", prodsFijos) 'Lista de los productos fijos de la promoción.
|
||||||
|
promoMap.Put("prodsVariables", prodsVariables) 'Lista de los productos variables de la promoción.
|
||||||
|
promoMap.Put("prodsVariables2", prodsVariables2)
|
||||||
|
promoMap.Put("prodsFijosCant", prodsFijos.Size)
|
||||||
|
promoMap.Put("prodsFijosPrecios", prodsFijosPrecios)
|
||||||
|
promoMap.Put("prodsFijosPiezas", prodsFijosPiezas)
|
||||||
|
promoMap.Put("prodsVariablesCant", prodsVariables.Size)
|
||||||
|
promoMap.Put("prodsVariables2Cant", prodsVariables2.Size)
|
||||||
|
promoMap.Put("prodsVariablesPrecios", prodsVariablesPrecios)
|
||||||
|
promoMap.Put("prodsVariablesPrecios2", prodsVariablesPrecios2)
|
||||||
|
promoMap.Put("resultado", "ok")
|
||||||
|
Else
|
||||||
|
promoMap.Put("resultado", "No hay datos de la promoción.")
|
||||||
|
End If
|
||||||
|
c = B4XPages.MainPage.skmt.ExecQuery2($"Select CAT_GP_STS, CAT_GP_IMP1, CAT_GP_NOMBRE from ${Starter.tabla} where CAT_GP_ID = ?"$,Array As String(promo)) 'Obtenemos las piezas requeridas de productos variables para la promoción.
|
||||||
|
c.Position = 0
|
||||||
|
Private pvr As String = 0
|
||||||
|
Private pvr2 As String = 0
|
||||||
|
If c.RowCount > 0 Then
|
||||||
|
c.Position = 0
|
||||||
|
pvr = c.GetString("CAT_GP_STS")
|
||||||
|
pvr2 = c.GetString("CAT_GP_IMP1")
|
||||||
|
If pvr = Null Or pvr = "null" Then pvr = 0
|
||||||
|
If pvr2 = Null Or pvr2 = "null" Then pvr2 = 0
|
||||||
|
promoMap.Put("prodsVariablesRequeridos", pvr) 'Cantidad de productos variables requeridos para la promoción.
|
||||||
|
promoMap.Put("prodsVariables2Requeridos", pvr2)
|
||||||
|
promoMap.put("descripcion", c.GetString("CAT_GP_NOMBRE"))
|
||||||
|
End If
|
||||||
|
c.Close
|
||||||
|
' Log($"Inv variables: ${cuantosVariablesTengoBD(promo)}"$)
|
||||||
|
' Log($"Inv dispo: ${traemosInventarioDisponibleParaPromo(promo)}"$)
|
||||||
|
' LogColor($"Promo ${promo}: ${promoMap}"$, Colors.Green)
|
||||||
|
' LogColor("TIEMPO para traePromo -=" & promo & "=- : " & ((DateTime.Now-inicioContador)/1000), Colors.Red)
|
||||||
|
Return promoMap
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Regresa cuantas promos alcanzan con los productos VARIABLES que hay en inventario.
|
||||||
|
'La cantidad de promos disponibles se calcula DESPUES de descontar los productos fijos, y si las
|
||||||
|
'promos por productos fijos llega al maximo, aunque se puedan mas de producos variables, solo se
|
||||||
|
'regresa el maximo por productos fijos. Ej. si las promos por variables es 10, pero el maximo por
|
||||||
|
'fijos es 5, entonces regresamos 5.
|
||||||
|
Sub revisaMaxPromosProdsVariablesPorInventario(pm As Map) As Int 'ignore
|
||||||
|
Private thisLog As Boolean = False
|
||||||
|
If thisLog Then Log("======================================================")
|
||||||
|
If thisLog Then Log("======================================================")
|
||||||
|
Private invFijoXpromo As Map
|
||||||
|
invFijoXpromo.Initialize
|
||||||
|
Private totalProdsVariablesDisponibles As Int = 0
|
||||||
|
Private totalProdsVariables2Disponibles As Int = 0
|
||||||
|
If thisLog Then LogColor($"pm=${pm}"$, Colors.Blue)
|
||||||
|
Private invDispParaPromo As Map = traemosInventarioDisponibleParaPromo(pm.Get("id"))
|
||||||
|
If thisLog Then Log($"invDispParaPromo=${invDispParaPromo}"$)
|
||||||
|
Private maxPromos As String = traeMaxPromos(pm)
|
||||||
|
Private maxPromosXFijos As Int = revisaMaxPromosProdsFijosPorInventario(pm)
|
||||||
|
Private idProdsVariables As List = pm.Get("prodsVariables")
|
||||||
|
Private idProdsVariables2 As List = pm.Get("prodsVariables2")
|
||||||
|
Private prodsVariablesRequeridos As Int = pm.Get("prodsVariablesRequeridos")
|
||||||
|
Private prodsVariables2Requeridos As Int = pm.Get("prodsVariables2Requeridos")
|
||||||
|
Private prodsFijosPiezas As List = pm.Get("prodsFijosPiezas")
|
||||||
|
Private idProdsFijos As List = pm.Get("prodsFijos")
|
||||||
|
For p = 0 To idProdsFijos.Size -1 'Generamos mapa con los productos fijos y piezas requeridas por promo.
|
||||||
|
invFijoXpromo.Put(idProdsFijos.Get(p), prodsFijosPiezas.Get(p))
|
||||||
|
Private idEsteProd As String = idProdsFijos.Get(p)
|
||||||
|
Private invEsteProd As Int = invDispParaPromo.Get(idEsteProd)
|
||||||
|
Private pzasReqEsteProd As Int = prodsFijosPiezas.Get(p)
|
||||||
|
If thisLog Then Log($"id=${idEsteProd}, inv=${invEsteProd}, pzas=${pzasReqEsteProd}"$)
|
||||||
|
' invDispParaPromo.Put( idEsteProd, (invEsteProd - (1)) )
|
||||||
|
Next
|
||||||
|
If thisLog Then LogColor($"MaxPromos=${maxPromos}, promosXFijos=${maxPromosXFijos}"$, Colors.Blue)
|
||||||
|
If thisLog Then LogColor($"prodsFijos=${idProdsFijos}"$, Colors.Blue)
|
||||||
|
If thisLog Then LogColor($"prodsFijosPiezasReq=${prodsFijosPiezas}"$, Colors.Blue)
|
||||||
|
If thisLog Then LogColor($"prodsVariables=${idProdsVariables}${CRLF}Variables Req=${prodsVariablesRequeridos} "$, Colors.Blue)
|
||||||
|
If thisLog Then LogColor($"prodsVariables2=${idProdsVariables2}${CRLF}Variables2 Req=${prodsVariables2Requeridos} "$, Colors.Blue)
|
||||||
|
If thisLog Then LogColor($"invFijoXpromo=${invFijoXpromo}"$, Colors.Blue)
|
||||||
|
If thisLog Then Log($"Prods variables disponibles = ${totalProdsVariablesDisponibles}"$)
|
||||||
|
If thisLog Then Log($"Prods variables2 disponibles = ${totalProdsVariables2Disponibles}"$)
|
||||||
|
Private maxPromosXVariables As Int = 0
|
||||||
|
Private maxPromosXVariables2 As Int = 0
|
||||||
|
For x = 1 To maxPromosXFijos
|
||||||
|
If thisLog Then Log("=====================================================")
|
||||||
|
If thisLog Then Log("=====================================================")
|
||||||
|
For i = 0 To idProdsFijos.Size - 1
|
||||||
|
If thisLog Then Log($"FIJO - ${idProdsFijos.Get(i)}, ${invDispParaPromo.Get(idProdsFijos.Get(i))} - ${prodsFijosPiezas.Get(i).As(Int)*(i+1)}"$)
|
||||||
|
invDispParaPromo.Put(idProdsFijos.Get(i), invDispParaPromo.Get(idProdsFijos.Get(i)).As(Int) - prodsFijosPiezas.Get(i).As(Int)*(i+1)) 'Restamos las piezas de los productos fijos del inventario disponible.
|
||||||
|
Next
|
||||||
|
If thisLog Then LogColor("Inv disponible despues de restar fijos = " & invDispParaPromo, Colors.Blue)
|
||||||
|
|
||||||
|
totalProdsVariablesDisponibles = 0
|
||||||
|
totalProdsVariables2Disponibles = 0
|
||||||
|
For i = 0 To idProdsVariables.Size - 1 'Obtenemos total de productos variables disponibes.
|
||||||
|
If invDispParaPromo.ContainsKey(idProdsVariables.Get(i)) Then
|
||||||
|
totalProdsVariablesDisponibles = totalProdsVariablesDisponibles + invDispParaPromo.Get(idProdsVariables.Get(i))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
For i = 0 To idProdsVariables2.Size - 1 'Obtenemos total de productos variables disponibes.
|
||||||
|
If invDispParaPromo.ContainsKey(idProdsVariables2.Get(i)) Then
|
||||||
|
totalProdsVariables2Disponibles = totalProdsVariables2Disponibles + invDispParaPromo.Get(idProdsVariables2.Get(i))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
'Revisamos variables.
|
||||||
|
If thisLog Then Log($"Var disponibles - var requeridos : ${totalProdsVariablesDisponibles} - ${prodsVariablesRequeridos*x}"$)
|
||||||
|
totalProdsVariablesDisponibles = totalProdsVariablesDisponibles - (prodsVariablesRequeridos*x)
|
||||||
|
totalProdsVariables2Disponibles = totalProdsVariables2Disponibles - (prodsVariables2Requeridos*x)
|
||||||
|
If thisLog Then Log("prodsVariables disponibles despues de promo = " & totalProdsVariablesDisponibles)
|
||||||
|
If thisLog Then Log("prodsVariables2 disponibles despues de promo = " & totalProdsVariables2Disponibles)
|
||||||
|
If totalProdsVariablesDisponibles < 0 Then Exit 'Ya no hay inventario disponible.
|
||||||
|
If totalProdsVariables2Disponibles < 0 Then Exit 'Ya no hay inventario disponible.
|
||||||
|
maxPromosXVariables = x
|
||||||
|
Next
|
||||||
|
'Restamos fijos.
|
||||||
|
If thisLog Then LogColor("Max promos de prodsVariables POR inventario = " & maxPromosXVariables, Colors.red)
|
||||||
|
Return maxPromosXVariables
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Revisa si tenemos los productos variables requeridos para la promoción (mapa).
|
||||||
|
'Hay que darle como parametro un mapa (traePromo(promo)) con toda la informacion de la promocion.
|
||||||
|
Sub alcanzanLosVariablesParaPromo(promoMap As Map, inventarioSinFijos As Map) As Boolean 'ignore
|
||||||
|
Private thisLog As Boolean = False 'Si es verdadero, muestra los logs de este sub.
|
||||||
|
If thisLog Then LogColor("Inventario inicial: "&inventarioSinFijos, Colors.Gray) 'Inventario inicial.
|
||||||
|
Private totalProdsVariables As Int = 0
|
||||||
|
Private totalProdsVariables2 As Int = 0
|
||||||
|
' Private prodsmap As Map = promoMap.Get("productos") 'Obtenemos un mapa con todos los productos de la promoción.
|
||||||
|
Private prodsVariables As List = promoMap.get("prodsVariables") 'Obtenemos una lista con los productos variables de la promoción.
|
||||||
|
Private prodsVariables2 As List = promoMap.get("prodsVariables2")
|
||||||
|
For p = 0 To prodsVariables.Size - 1
|
||||||
|
Private t As String = prodsVariables.Get(p) 'Obtenemos el Id de este producto desde la lista de productos fijos.
|
||||||
|
' Log("inventarioSinFijos: " & inventarioSinFijos)
|
||||||
|
If inventarioSinFijos.ContainsKey(t) Then 'Si existe el producto en la lista del inventario, entonces ...
|
||||||
|
Private p2 As String = inventarioSinFijos.Get(t) 'Obtenemos el inventario disponible este producto.
|
||||||
|
' Log(p2)
|
||||||
|
totalProdsVariables = totalProdsVariables + p2
|
||||||
|
' Log(totalProdsVariables)
|
||||||
|
If thisLog Then Log($"prod ${t}, hay: ${p2}"$) 'Producto y piezas requeridas
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
For p = 0 To prodsVariables2.Size - 1
|
||||||
|
Private t As String = prodsVariables2.Get(p) 'Obtenemos el Id de este producto desde la lista de productos fijos.
|
||||||
|
If inventarioSinFijos.ContainsKey(t) Then 'Si existe el producto en la lista del inventario, entonces ...
|
||||||
|
Private p2 As String = inventarioSinFijos.Get(t) 'Obtenemos el inventario disponible este producto.
|
||||||
|
totalProdsVariables2 = totalProdsVariables2 + p2
|
||||||
|
If thisLog Then Log($"prod ${t}, hay: ${p2}"$) 'Producto y piezas requeridas
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
If thisLog Then Log("Total prods variables=" & totalProdsVariables & ", requeridos=" & promoMap.Get("prodsVariablesRequeridos"))
|
||||||
|
If thisLog Then Log("Total prods variables2=" & totalProdsVariables2 & ", requeridos2=" & promoMap.Get("prodsVariables2Requeridos"))
|
||||||
|
Private res As Boolean = False
|
||||||
|
Private res1 As Boolean = False
|
||||||
|
Private res2 As Boolean = False
|
||||||
|
|
||||||
|
' Log($"${totalProdsVariables} >= ${promoMap.Get("prodsVariablesRequeridos")}"$)
|
||||||
|
' Log($"${totalProdsVariables2} >= ${promoMap.Get("prodsVariables2Requeridos")}"$)
|
||||||
|
|
||||||
|
If totalProdsVariables > 0 And totalProdsVariables >= promoMap.Get("prodsVariablesRequeridos") Then
|
||||||
|
res1 = True 'Si el total de inventario de productos variables (totalProdsVariables) es mayor o igual a los productos requeridos entonces regresamos TRUE
|
||||||
|
End If
|
||||||
|
If promoMap.Get("prodsVariablesRequeridos").As (Int) = 0 Then res1 = True
|
||||||
|
If totalProdsVariables2 > 0 And totalProdsVariables2 >= promoMap.Get("prodsVariables2Requeridos") Then
|
||||||
|
res2 = True 'Si el total de inventario de productos variables (totalProdsVariables) es mayor o igual a los productos requeridos entonces regresamos TRUE
|
||||||
|
End If
|
||||||
|
If promoMap.Get("prodsVariables2Requeridos").As(Int) = 0 Then res2 = True
|
||||||
|
If res1 And res2 Then 'Solo si son verdadero los dos el resultado es verdadero.
|
||||||
|
res = True
|
||||||
|
Else
|
||||||
|
res = False
|
||||||
|
End If
|
||||||
|
' Log(res)
|
||||||
|
Return res
|
||||||
End Sub
|
End Sub
|
||||||
@@ -199,7 +199,7 @@ Sub flp_LocationChanged (Location1 As Location)
|
|||||||
End If
|
End If
|
||||||
If B4XPages.MainPage.cliente.LA_GPS.IsInitialized Then
|
If B4XPages.MainPage.cliente.LA_GPS.IsInitialized Then
|
||||||
B4XPages.MainPage.cliente.LA_GPS.Text = "CON UBICACION GPS"
|
B4XPages.MainPage.cliente.LA_GPS.Text = "CON UBICACION GPS"
|
||||||
B4XPages.MainPage.cliente.LA_GPS.TextColor = Colors.blue
|
B4XPages.MainPage.cliente.LA_GPS.TextColor = Colors.Black
|
||||||
End If
|
End If
|
||||||
' LogColor(Location1.Latitude, Colors.red)
|
' LogColor(Location1.Latitude, Colors.red)
|
||||||
CallSub2(Starter, "GPS_LocationChanged", Location1)
|
CallSub2(Starter, "GPS_LocationChanged", Location1)
|
||||||
|
|||||||
Reference in New Issue
Block a user