25/10/23 - Código para promos x ruta

- Se agregó código para procesar las promos por ruta.
This commit is contained in:
2023-10-25 22:53:00 -06:00
parent d84f0c588b
commit cbce94f584
10 changed files with 147 additions and 170 deletions

View File

@@ -170,6 +170,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS ENCUESTA_MODULO5 (CLIENTE TEXT, ALMACEN TEXT,P1 TEXT, P2 TEXT, P3 TEXT , P4 TEXT, P5 TEXT, P6 TEXT, P7 TEXT, P8 TEXT, P9 TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_ENCUESTA_CLIENTE (HEC_CLIENTE TEXT, HEC_MODULO TEXT)")
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS PROMOXRUTA (PR_PROMOID TEXT, PR_CANT TEXT)")
c = skmt.ExecQuery("select COUNT(*) AS CUANTOS from HIST_STAY_OUT ")
C.Position = 0
If c.GetString("CUANTOS") = 0 Then

View File

@@ -121,30 +121,30 @@ Sub Regresar_Click
B4XPages.ShowPage("Cliente")
End Sub
'
Private Sub B4XPage_CloseRequest As ResumableSub
' BACK key pressed
' Return True To close, False To cancel
B4XPages.ShowPage("Principal")
Return False
'
'
'
End Sub
Sub borra_Click
If folio <> "" Then
result = Msgbox2("Seguro que desa borrar el pedido?","Cancelar pedido", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If result = DialogResponse.POSITIVE Then
c=B4XPages.MainPage.skmt.ExecQuery("select PE_PROID,PE_CANT FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c=B4XPages.MainPage.skmt.ExecQuery("select PE_PROID, PE_CANT, PE_CEDIS FROM PEDIDO where pe_cliente in (Select CUENTA from cuentaa) ")
If c.RowCount > 0 Then
For i = 0 To c.RowCount -1
c.Position=i
B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1))
'Si es promo, actualizamos la cantidad en PROMOXRUTA.
If c.GetString("PE_CEDIS") = c.GetString("PE_PROID") Then B4XPages.MainPage.skmt.ExecNonQuery($"update PROMOXRUTA set PR_CANT = PR_CANT + ${c.GetString("PE_CANT")} where PR_PROMOID = '${c.GetString("PE_PROID")}'"$)
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)")
@@ -158,28 +158,45 @@ End Sub
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
result = Msgbox2("Seguro que desea borrar este articulo?","Borrar Articulo", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
If result = DialogResponse.POSITIVE Then
c=B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value))
c.Position=0
c = B4XPages.MainPage.skmt.ExecQuery2("select PE_PROID,PE_CANT FROM PEDIDO where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa) ", Array As String(Value))
c.Position = 0
B4XPages.MainPage.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen + ? where cat_gp_id = ?", Array As Object(c.GetString("PE_CANT"),c.GetString("PE_PROID")))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN , PROID , CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1))
c.Close
c=B4XPages.MainPage.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value))
c.Position=0
If c.GetString("CUANTOS") > 0 Then
B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO INVENT_X_ENVIAR (ALMACEN, PROID, CANTIDAD ) VALUES(?,?,?) ", Array As Object (almacen,c.GetString("PE_PROID"),c.GetString("PE_CANT")* -1))
' c.Close
Private cx As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select count(*) AS CUANTOS from cat_gunaprod where CAT_GP_ID in (select pe_cedis from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)) and CAT_GP_CLASIF = 'PROMOS' AND CAT_GP_TIPO = 'PROMOS' AND CAT_GP_SUBTIPO = 'PROMOS'", Array As String(Value))
cx.Position = 0
If cx.GetString("CUANTOS") > 0 Then
Private cy As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT PE_CLIENTE, PE_CEDIS, PE_CANT from PEDIDO where pe_proid in (Select pe_cedis from pedido where pe_proid = '${c.GetString("PE_PROID")}') and pe_cliente in (Select cuenta from cuentaa)"$)
Log("------------ PROMOS EN PEDIDO:" & cy.RowCount & " - " & c.GetString("PE_PROID") & " - Value= " & Value)
If cy.RowCount > 0 Then
cy.Position = 0
Subs.guardaPromoXruta(cy.GetString("PE_CEDIS"), (cy.GetString("PE_CANT") * -1))
End If
' Private pc As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select PE_CANT from PEDIDO where PE_CEDIS = '${c.GetString("PE_PROID")}' and PE_PROID = '${c.GetString("PE_PROID")}' and pe_cliente in (Select CUENTA from cuentaa)"$)
' Log("------------ PROMOS EN PEDIDO:" & pc.RowCount & " - " & c.GetString("PE_PROID") & " - Value= " & Value)
' If pc.RowCount > 0 Then 'Si hay promoXruta, actualizamos la cantidad en PROMOXRUTA.
' pc.Position = 0
' B4XPages.MainPage.skmt.ExecNonQuery($"update PROMOXRUTA set PR_CANT = PR_CANT + ${pc.GetString("PE_CANT")} where PR_PROMOID = '${c.GetString("PROID")}'"$)
' End If
B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_cedis in (select pe_cedis from pedido where pe_pronombre = ?) and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
Else
B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
B4XPages.MainPage.skmt.ExecNonQuery2("delete from pedido where pe_pronombre = ? and pe_cliente in (Select CUENTA from cuentaa)", Array As Object(Value))
End If
DateTime.DateFormat = "MM/dd/yyyy"
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c=B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
sDate = DateTime.Date(DateTime.Now)
sTime = DateTime.Time(DateTime.Now)
c = B4XPages.MainPage.skmt.ExecQuery("Select CUENTA from cuentaa")
c.Position=0
clie_id = c.GetString("CUENTA")
c=B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
c = B4XPages.MainPage.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position = 0
usuario = c.GetString("USUARIO")
c=B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c = B4XPages.MainPage.skmt.ExecQuery("select sum(pe_costo_tot) as TOTAL_CLIE, SUM(PE_CANT) AS CANT_CLIE, count(*) as CUANTOS FROM PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
c.Position=0
If c.GetString("CUANTOS") > 0 Then
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE In (select cuenta from cuentaa)")

View File

@@ -224,6 +224,7 @@ Sub Class_Globals
Private panel_5 As Panel
Private p_marcasRes As Panel
Private p_sombra As Panel
Private l_version As Label
End Sub
'You can add more parameters here.
@@ -236,6 +237,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
'load the layout to Root
Root.LoadLayout("principal")
l_version.Text = Application.VersionName
SCROLL_RESDIA.Width = Root.Width
SCROLL_RESDIA.Height = Root.Height
B_OK_RES.color = Colors.Red
@@ -388,7 +390,7 @@ Sub B4XPage_Appear
l_cuantosn.Text = b.GetString("CUANTOS")
b.close
Else
c=B4XPages.MainPage.skmt.ExecQuery("select SUM(PE_COSTO_TOT) as MONTO_DIA, COUNT(DISTINCT(PE_CLIENTE)) AS CLIENTES_DIA from PEDIDO ")
c=B4XPages.MainPage.skmt.ExecQuery("select ifnull(SUM(PE_COSTO_TOT), 0) as MONTO_DIA, COUNT(DISTINCT(PE_CLIENTE)) AS CLIENTES_DIA from PEDIDO ")
b=B4XPages.MainPage.skmt.ExecQuery("select count(*) as CUANTOS from noventa")
c.Position=0
b.Position=0
@@ -416,7 +418,7 @@ Sub B4XPage_Appear
Else
ImageView3.Bitmap = LoadBitmap(File.DirAssets, "palomita_verde.png")
End If
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
ImageView5.Bitmap = LoadBitmap(File.DirAssets, "tache_rojo.png")
Else if c.GetString("MONTO_DIA") > = 4000 And c.GetString("MONTO_DIA") < 6250 Then
@@ -785,6 +787,7 @@ Sub cargar_Click
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_GEOCERCA")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_MARCAS_CUOTAS")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM HIST_ENCUESTA_CLIENTE")
B4XPages.MainPage.skmt.ExecNonQuery("DELETE FROM PROMOXRUTA")
c = B4XPages.MainPage.skmt.ExecQuery2("select count(CAT_VA_DESCRIPCION) as HoraIngreso from cat_variables where CAT_VA_DESCRIPCION = ? ", Array As String("HoraIngreso"))
c.Position = 0
@@ -809,6 +812,9 @@ Sub cargar_Click
Dim P As PhoneId
imei = P.GetDeviceId
B4XPages.MainPage.reqManager.reqsList.Initialize 'inicializamos lista de requests.
cmd.Initialize
cmd.Name ="insert_drop_GV2_2"
cmd.Parameters = Array As Object(usuario,e_ruta.text,sDate,imei,sTime,"","","","","CARGA",ALMACEN)
@@ -819,10 +825,10 @@ Sub cargar_Click
cmd.Parameters = Array As Object(ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "gunaprod")
cmd.Initialize
cmd.Name = "select_resum_apk_guna" ''' va el nombre de archivo de config
cmd.Parameters = Array As Object(ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "resum_apk") ''' donde regresa la info ver job_done
' cmd.Initialize
' cmd.Name = "select_resum_apk_guna" ''' va el nombre de archivo de config
' cmd.Parameters = Array As Object(ALMACEN)
' B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "resum_apk") ''' donde regresa la info ver job_done
cmd.Initialize
cmd.Name = "select_cat_paquetes_GV3"
@@ -891,20 +897,20 @@ Sub cargar_Click
cmd.Parameters = Array As Object(ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "hist_comp_promos")
cmd.Initialize
cmd.Name = "select_verificacion_GV2"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "cat_verificacion")
' cmd.Initialize
' cmd.Name = "select_verificacion_GV2"
' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
' B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "cat_verificacion")
cmd.Initialize
cmd.Name = "select_fecha"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "fecha")
cmd.Initialize
cmd.Name = "select_folio_GV2"
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "folio")
' cmd.Initialize
' cmd.Name = "select_folio_GV2"
' cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
' B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "folio")
cmd.Initialize
cmd.Name = "select_marcas_rutas"
@@ -921,7 +927,6 @@ Sub cargar_Click
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "ENCUESTA_CLIENTE")
cmd.Initialize
cmd.Name = "select_HIST_CUOTAS"
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
@@ -932,6 +937,11 @@ Sub cargar_Click
cmd.Parameters = Array As Object( ALMACEN,e_ruta.text )
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "COMISIONES")
cmd.Initialize
cmd.Name = "select_promos_ruta_GV2"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text )
B4XPages.MainPage.reqManager.ExecuteQuery(cmd , 0, "promosXruta")
cargar.Visible = False
Subir.Visible = False
inv.Visible = False
@@ -939,11 +949,7 @@ Sub cargar_Click
End Sub
Sub JobDone(Job As HttpJob)
' If Job.JobName = "DBRequest" Then
' Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
' Log($"Tag: ${RESULT.tag}, success=${Job.Success}"$)
' End If
Log("JOBDONE PRINCIPAL")
If Job.Success = False Then
'ToastMessageShow("Error: " & Job.ErrorMessage, True)
If Job.ErrorMessage = "STREAM" Then
@@ -957,9 +963,14 @@ Sub JobDone(Job As HttpJob)
End If
Else 'If Job Success then ...
LogColor("JobDone: '" & B4XPages.MainPage.reqManager.HandleJob(Job).tag & "' - Registros: " & B4XPages.MainPage.reqManager.HandleJob(Job).Rows.Size, Colors.Green) 'Mod por CHV - 211027
'Verificamos que el usuario guardado en BD sea VALIDO.
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If B4XPages.MainPage.reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
If B4XPages.MainPage.reqManager.reqsList.IndexOf(RESULT.tag) <> -1 Then
B4XPages.MainPage.reqManager.reqsList.RemoveAt(B4XPages.MainPage.reqManager.reqsList.IndexOf(RESULT.tag))
End If
LogColor(">>>>>> " & B4XPages.MainPage.reqManager.reqsList.Size & " - " & B4XPages.MainPage.reqManager.reqsList, Colors.red)
End If
If RESULT.Tag = "usuarioA" Then 'query tag
Private n As String = "Sin Usuario"
For Each records() As Object In RESULT.Rows
@@ -980,10 +991,7 @@ Sub JobDone(Job As HttpJob)
End If
Log("***************** "&n)
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "kmt_datos" Then 'query tag
S_CC.TEXT = "CARGANDO"
For Each records() As Object In RESULT.Rows
@@ -1019,10 +1027,7 @@ Sub JobDone(Job As HttpJob)
EJECUTANDO=0
End If
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "resum_apk" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim HIST_RA_OBJMES As String = records(RESULT.Columns.Get("HIST_RA_OBJMES"))
@@ -1079,10 +1084,7 @@ Sub JobDone(Job As HttpJob)
S_CC.Text = "LISTO"
If Starter.marcaCel <> "Sony" Then ToastMessageShow("Catalogo Resumen Actualizado." , True)
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "hist_promos" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim HP_CLIENTE As String = records(RESULT.Columns.Get("HP_CLIENTE"))
@@ -1100,10 +1102,7 @@ Sub JobDone(Job As HttpJob)
S_CH.Text = "LISTO"
End If
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "hist_cliente_promos" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim HCCP_CLIENTE As String = records(RESULT.Columns.Get("HCCP_CLIENTE"))
@@ -1113,10 +1112,7 @@ Sub JobDone(Job As HttpJob)
Next
If Starter.marcaCel <> "Sony" Then ToastMessageShow(" Historico Clientes Promociones Actualizado." , True)
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "HIST_MARCAS_CUOTAS" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim HMC_MARCA As String = records(RESULT.Columns.Get("HMC_MARCA"))
@@ -1125,10 +1121,7 @@ Sub JobDone(Job As HttpJob)
Next
If Starter.marcaCel <> "Sony" Then ToastMessageShow(" Historico Marcas" , True)
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "hist_comp_promos" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim CAT_PA_ID As String = records(RESULT.Columns.Get("CAT_PA_ID"))
@@ -1147,10 +1140,7 @@ Sub JobDone(Job As HttpJob)
S_CH.Text = "LISTO"
End If
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "cat_verificacion" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim CAT_VE_IDPROD As String = records(RESULT.Columns.Get("CAT_VE_IDPROD"))
@@ -1159,10 +1149,7 @@ Sub JobDone(Job As HttpJob)
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VERIFICACION(CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN) VALUES (?,?,?)", Array As Object (CAT_VE_IDPROD, CAT_VE_NOMBRE,CAT_VE_ORDEN))
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "marcas_rutas" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim HVD_MARCA As String = records(RESULT.Columns.Get("HVD_MARCA"))
@@ -1170,11 +1157,8 @@ Sub JobDone(Job As HttpJob)
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO MARCAS_RUTAS(HVD_MARCA, CLIENTES) VALUES (?,?)", Array As Object (HVD_MARCA, CLIENTES))
Next
End If
End If
'CUOTAS
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "CUOTAS" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim HC_RUTA As String = records(RESULT.Columns.Get("HC_RUTA"))
@@ -1194,11 +1178,8 @@ Sub JobDone(Job As HttpJob)
Next
End If
End If
'COMISIONES
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "COMISIONES" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim HCM_TOTAL_V As String = records(RESULT.Columns.Get("HCM_TOTAL_V"))
@@ -1208,11 +1189,7 @@ Sub JobDone(Job As HttpJob)
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_COMISIONES_MOVIL (HCM_TOTAL_V , HCM_TOTAL_VIVE , HCM_TOTAL_GUNA , HCM_TOTAL_BEB) VALUES (?,?,?,?)", Array As Object (HCM_TOTAL_V , HCM_TOTAL_VIVE , HCM_TOTAL_GUNA , HCM_TOTAL_BEB))
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "ENCUESTA_CLIENTE" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim HEC_CLIENTE As String = records(RESULT.Columns.Get("HEC_CLIENTE"))
@@ -1220,11 +1197,7 @@ Sub JobDone(Job As HttpJob)
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_ENCUESTA_CLIENTE (HEC_CLIENTE , HEC_MODULO) VALUES (?,?)", Array As Object (HEC_CLIENTE , HEC_MODULO ))
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "gunaprod" Then 'query tag
If PB2.Progress < 30 Then S_CP.Text = "CARGANDO" 'Mod por CHV - 20211028 Agregue el "If PB2.Progress < 30 then"
For Each records() As Object In RESULT.Rows
@@ -1263,10 +1236,7 @@ Sub JobDone(Job As HttpJob)
EJECUTANDO=0
End If
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "gunaprodp" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
@@ -1308,13 +1278,9 @@ Sub JobDone(Job As HttpJob)
EJECUTANDO=0
End If
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "gunaprodps" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim CAT_GP_ID As String = records(RESULT.Columns.Get("CAT_GP_ID"))
Dim CAT_GP_NOMBRE As String = records(RESULT.Columns.Get("CAT_GP_NOMBRE"))
Dim CAT_GP_IMP1 As String = records(RESULT.Columns.Get("CAT_GP_IMP1"))
@@ -1342,7 +1308,6 @@ Sub JobDone(Job As HttpJob)
Log("3")
End If
If Starter.marcaCel <> "Sony" Then ToastMessageShow("Promociones especiales Actualizados." , True)
Listo4=1
If Listo1 =1 And Listo2 =1 And Listo3 = 1 And Listo4 = 1 Then
B4XPage_Appear
@@ -1354,10 +1319,7 @@ Sub JobDone(Job As HttpJob)
EJECUTANDO=0
End If
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "detallepaq" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim CAT_DP_ALMACEN As String = records(RESULT.Columns.Get("CAT_DP_ALMACEN"))
@@ -1394,10 +1356,7 @@ Sub JobDone(Job As HttpJob)
End If
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "hist_datos" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim HVD_CLIENTE As String = records(RESULT.Columns.Get("HVD_CLIENTE"))
@@ -1423,10 +1382,7 @@ Sub JobDone(Job As HttpJob)
EJECUTANDO=0
End If
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "variables" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim Cat_Va_Descripcion As String = records(RESULT.Columns.Get("CAT_VA_DESCRIPCION"))
@@ -1434,10 +1390,7 @@ Sub JobDone(Job As HttpJob)
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object (Cat_Va_Descripcion, Cat_Va_Valor))
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "CUESTIONARIO" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim Cat_Va_Valor As String = records(RESULT.Columns.Get("CAT_VALOR"))
@@ -1445,15 +1398,10 @@ Sub JobDone(Job As HttpJob)
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("CUESTIONARIO", Cat_Va_Valor))
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "valida_pedido" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP"))
If cuantos_pedido < = CUANTOSP Then
' ToastMessageShow("rojo val ok 1 cuantosp." , True)
datos_iguales = "ok"
@@ -1462,19 +1410,12 @@ Sub JobDone(Job As HttpJob)
If Starter.marcaCel <> "Sony" Then ToastMessageShow("No se cargo bien la info P. Sync Nuevamente" & CUANTOSP & " " & cuantos_pedido, True)
S_CP.Text = "ENVIAR DATOS (K-2)"
End If
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "valida_pedidoc" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC"))
If cuantos_pedidosc = CUANTOSC Then
' ToastMessageShow("rojo val ok 1 cuantosp." , True)
datos_iguales = "ok"
@@ -1483,10 +1424,7 @@ Sub JobDone(Job As HttpJob)
End If
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "valida_noventa" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN"))
@@ -1498,10 +1436,7 @@ Sub JobDone(Job As HttpJob)
End If
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "ins_pedido" Then 'query tag
For Each records() As Object In RESULT.Rows
PB2.Progress = PB2.Progress + 5
@@ -1511,10 +1446,7 @@ Sub JobDone(Job As HttpJob)
S_CP.Text = "LISTO"
Log("5")
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "version" Then 'query tag
For Each records() As Object In RESULT.Rows
B4XPages.MainPage.skmt.ExecNonQuery("delete from VERSION")
@@ -1522,19 +1454,13 @@ Sub JobDone(Job As HttpJob)
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO VERSION(NOVERSION) VALUES (?)", Array As Object (CAT_VE_VERSION))
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "count_cli" Then 'query tag
For Each records() As Object In RESULT.Rows
COUNT_CLIE = records(RESULT.Columns.Get("COUNT_CLIE"))
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "ruta" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim VALIDO As String = records(RESULT.Columns.Get("VALIDO"))
@@ -1555,10 +1481,7 @@ Sub JobDone(Job As HttpJob)
End If
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "usuario" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim name2 As String = records(RESULT.Columns.Get("VALIDO"))
@@ -1568,10 +1491,7 @@ Sub JobDone(Job As HttpJob)
End If
P1.Visible = False
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "fecha" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim FECHA_HOY As String = records(RESULT.Columns.Get("FECHA"))
@@ -1579,10 +1499,7 @@ Sub JobDone(Job As HttpJob)
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FECHA",FECHA_HOY))
Next
End If
End If
If Job.JobName = "DBRequest" Then
Dim RESULT As DBResult = B4XPages.MainPage.reqManager.HandleJob(Job)
If RESULT.Tag = "folio" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim FOLIO As String = records(RESULT.Columns.Get("FOLIO"))
@@ -1590,6 +1507,13 @@ Sub JobDone(Job As HttpJob)
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("FOLIO",FOLIO))
Next
End If
If RESULT.Tag = "promosXruta" Then
' Subs.logJobDoneResultados(RESULT)
For Each records() As Object In RESULT.Rows
B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO PROMOXRUTA(PR_PROMOID, PR_CANT) VALUES (?,?)", Array As Object (records(RESULT.Columns.Get("CAT_RP_IDPROMO")), records(RESULT.Columns.Get("CAT_RP_CANTIDAD"))))
Next
End If
End If
End If
Job.Release

View File

@@ -340,10 +340,14 @@ End Sub
Private Sub b_terminar1_Click
cuentaProds
Log("====================================================================")
' Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$)
Log($"${prodsIds}${CRLF}${prodsCants}${CRLF}${prodsPrecios}"$)
Log(laPromo)
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)
If laPromo = prodsIds.Get(t) Then Subs.guardaPromoXruta(laPromo, prodsCants.Get(t))
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))

View File

@@ -18,6 +18,7 @@ Sub Class_Globals
Private VERSION As Float = 0.9
Private tempArray(1) As Object
Dim jobTagAnterior As String = "" 'Mod por CHV - 211027
Dim reqsList As List
End Sub
'Target - The module that handles JobDone (usually Me).
@@ -35,6 +36,7 @@ Public Sub ExecuteQuery(Command As DBCommand, Limit As Int, Tag As Object)
Dim j As HttpJob
Dim ms As OutputStream
Dim out2 As OutputStream = StartJob(j,ms, Tag)
If reqsList.IsInitialized Then reqsList.Add(Tag)
WriteObject(Command.Name, out2)
WriteInt(Limit, out2)
@@ -61,6 +63,7 @@ End Sub
'Similar to ExecuteBatch. Sends a single command.
Public Sub ExecuteCommand(Command As DBCommand, Tag As Object)
If reqsList.IsInitialized Then reqsList.Add(Tag)
ExecuteBatch(Array As DBCommand(Command), Tag)
End Sub

Binary file not shown.

View File

@@ -173,7 +173,7 @@ Module9=C_NoVenta
NumberOfFiles=58
NumberOfLibraries=30
NumberOfModules=23
Version=12.5
Version=11.5
@EndOfDesignText@
#Region Project Attributes
#ApplicationLabel: Guna V3.1

View File

@@ -50,7 +50,7 @@ ModuleClosedNodes0=
ModuleClosedNodes1=5,7,8,9,10,11,12,13,14
ModuleClosedNodes10=
ModuleClosedNodes11=6
ModuleClosedNodes12=2,3,6,8,10,11,12,13,14,15
ModuleClosedNodes12=2,4,5,6
ModuleClosedNodes13=1
ModuleClosedNodes14=
ModuleClosedNodes15=
@@ -59,17 +59,17 @@ ModuleClosedNodes17=
ModuleClosedNodes18=
ModuleClosedNodes19=
ModuleClosedNodes2=6,9
ModuleClosedNodes20=
ModuleClosedNodes20=3,4
ModuleClosedNodes21=1
ModuleClosedNodes22=
ModuleClosedNodes23=
ModuleClosedNodes3=
ModuleClosedNodes4=1,2,3,5,6,7,10,11
ModuleClosedNodes4=2,6,7,10,11
ModuleClosedNodes5=7
ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=Subs,guardaAppInfo,1095,0,Subs,traePromoIdDeBD,1086,0,B4XMainPage,i_engrane_LongClick,611,0,B4XMainPage,i_engrane_Click,605,5,B4XMainPage,Class_Globals,92,0,Visual Designer,login.bal,-100,6,B4XMainPage,b_importarBD_Click,662,6,B4XMainPage,lv_server_ItemClick,630,0,B4XMainPage,b_envioBD_Click,640,0,Subs,borraArribaDe100Errores,405,0,B4XMainPage,B4XPage_Created,140,0
NavigationStack=C_Principal,cargar_Click,807,6,DBRequestManager,ExecuteCommand,59,0,DBRequestManager,Initialize,23,2,DBRequestManager,ExecuteQuery,42,6,C_Principal,JobDone,942,6,C_Principal,Class_Globals,221,0,Visual Designer,principal.bal,-100,6,C_Principal,B4XPage_Created,241,4,Visual Designer,cliente.bal,-100,2,C_Cliente,Class_Globals,346,0,C_Cliente,B4XPage_Created,359,4
SelectedBuild=0
VisibleModules=21,2,22,12,13,4
VisibleModules=21,2,22,14,12,13,4,8,17

View File

@@ -124,7 +124,7 @@ Sub MapFragment1_Ready
rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION)
Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
gmap.MyLocationEnabled = Result
Dim JavaMapsObject As JavaObject
JavaMapsObject = gmap.GetUiSettings
JavaMapsObject.RunMethod("setMapToolbarEnabled", Array As Object(True))
@@ -175,7 +175,7 @@ Sub MapFragment1_Ready
LatitudRu = c2.GetString("CAT_CL_LAT")
CODIGO=c2.GetString("CAT_CL_CODIGO")
Tienda= c2.GetString("CAT_CL_NOMBRE")
MARK_VERDE = gmap.AddMarker2(LatitudRu,LongitudRU,CODIGO,gmap.HUE_GREEN)
MARK_VERDE = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO, gmap.HUE_GREEN)
MARK_VERDE.Snippet = Tienda
Next
c2 .Close
@@ -193,7 +193,7 @@ Sub MapFragment1_Ready
LatitudRu = c3.GetDouble("CAT_CL_LAT")
CODIGO=c3.GetString("CAT_CL_CODIGO")
Tienda= c3.GetString("CAT_CL_NOMBRE")
MARK_ROJO = gmap.AddMarker2(LatitudRu,LongitudRU,CODIGO, gmap.HUE_RED)
MARK_ROJO = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO, gmap.HUE_RED)
MARK_ROJO.Snippet = Tienda
Next
Else
@@ -206,7 +206,7 @@ Sub MapFragment1_Ready
LatitudRu = c3.GetDouble("CAT_CL_LAT")
CODIGO=c3.GetString("CAT_CL_CODIGO")
Tienda= c3.GetString("CAT_CL_NOMBRE")
MARK_ROJO = gmap.AddMarker2(LatitudRu,LongitudRU,CODIGO, gmap.HUE_RED)
MARK_ROJO = gmap.AddMarker2(LatitudRu, LongitudRU, CODIGO, gmap.HUE_RED)
MARK_ROJO.Snippet = Tienda
Next
If MARK_ROJO.IsInitialized Then LIST_ROJO.Add(MARK_ROJO)
@@ -263,7 +263,6 @@ Sub GPS_LocationChanged (Parametro As Location)
End Sub
Sub Activity_Resume
If GPS.GPSEnabled = False Then
ToastMessageShow("Debe Activar el GPS del Equipo.", True)
StartActivity(GPS.LocationSettingsIntent)

View File

@@ -848,13 +848,23 @@ Sub traeMaxPromos(pm As Map) As Int
Private vendidas As Int = 0
maxPromos.Initialize
' If Starter.promosLog Then Log("==== HISTORICO:"&pm.Get("historico"))
If thisLog Then Log(pm)
If pm.Get("historico") = "1" Then maxPromos.Add(pm.Get("maxRecurrente")) 'Si hay historico, agregamos maxRecurrente
maxPromos.Add(pm.Get("maxPromos")) 'Agregamos maxPromos
maxPromos.Add(pm.Get("maxXcliente")) 'Agregamos maxXcliente
If thisLog Then Log(maxPromos)
If thisLog Then Log("TRAEMAXPROMOS PM: " & pm)
If pm.Get("historico") = "1" Then maxPromos.Add(pm.Get("maxRecurrente").As(Int)) 'Si hay historico, agregamos maxRecurrente
maxPromos.Add(pm.Get("maxPromos").As(Int)) 'Agregamos maxPromos
maxPromos.Add(pm.Get("maxXcliente").As(Int)) 'Agregamos maxXcliente
Private pr As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select PR_CANT from PROMOXRUTA where PR_PROMOID = '${pm.Get("id")}'"$)
If pr.RowCount > 0 Then
pr.Position = 0
maxPromos.Add(pr.GetString("PR_CANT").As(Int)) 'Agregamos maxXruta
End If
' maxPromos.Add(2)
If thisLog Then Log("maxpromos -> " & maxPromos)
maxPromos.Sort(True)
Log("MAXP -> " & maxPromos)
Log("=========== " & maxPromos.Get(0))
' Log($"|${pm.Get("id").As(String).trim}|${traeCliente.Trim}|"$)
Private c As Cursor = B4XPages.MainPage.skmt.ExecQuery2("select sum(PE_CANT) as vendidas from PEDIDO where PE_PROID = ? and PE_CLIENTE = ? ", Array As String(pm.Get("id").As(String).trim, traeCliente.Trim))
If c.RowCount > 0 Then
@@ -862,7 +872,7 @@ Sub traeMaxPromos(pm As Map) As Int
vendidas = c.GetInt("vendidas")
' Log(vendidas)
End If
' If Starter.promosLog Then Log(maxPromos)
' If Starter.promosLog Then Log("Max Promos="&maxPromos.Get(0))
' LogColor($"maxPromos=${maxPromos.Get(0)} - vendidas=${vendidas}"$, Colors.red)
@@ -1102,4 +1112,22 @@ Sub guardaAppInfo(skmt As SQL) 'ignore
skmt.ExecNonQuery("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'EMPRESA' or CAT_VA_DESCRIPCION = 'APP_NAME' or CAT_VA_DESCRIPCION = 'APP_VERSION'")
skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_NAME', '${Application.LabelName}')"$)
skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$)
End Sub
'Actualiza la tabla PROMOXRUTA con la cantidad especificada.
Sub guardaPromoXruta(laPromo As String, laCant As Int) 'ignore
B4XPages.MainPage.skmt.ExecNonQuery($"update PROMOXRUTA set PR_CANT = PR_CANT - ${laCant} where PR_PROMOID = '${laPromo}'"$)
Log($"${laPromo} - ${laCant}"$)
End Sub
'Muestra en el Log los campos y valores que regresan en el JobDone.
Sub logJobDoneResultados(resultado As DBResult) 'ignore
For Each records() As Object In resultado.Rows
LogColor($"====== ${resultado.Tag} - REGISTROS = ${resultado.Rows.Size}"$, Colors.RGB(215,37,0))
For Each k As String In resultado.Columns.Keys
LogColor(k & " = " & records(resultado.Columns.Get(k)), Colors.RGB(215,37,0))
Next
Next
End Sub