diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 1b5a80c..5ceaa75 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -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 diff --git a/B4A/C_Nota.bas b/B4A/C_Nota.bas index eb7b114..e39876f 100644 --- a/B4A/C_Nota.bas +++ b/B4A/C_Nota.bas @@ -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)") diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 0e3188e..7d6832b 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -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 diff --git a/B4A/C_Promos.bas b/B4A/C_Promos.bas index 418192a..d30b761 100644 --- a/B4A/C_Promos.bas +++ b/B4A/C_Promos.bas @@ -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)) diff --git a/B4A/DBRequestManager.bas b/B4A/DBRequestManager.bas index 1a8b358..9ff60af 100644 --- a/B4A/DBRequestManager.bas +++ b/B4A/DBRequestManager.bas @@ -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 diff --git a/B4A/Files/principal.bal b/B4A/Files/principal.bal index a096d7b..ef5926f 100644 Binary files a/B4A/Files/principal.bal and b/B4A/Files/principal.bal differ diff --git a/B4A/Guna Vistas V3.1.b4a b/B4A/Guna Vistas V3.1.b4a index c8df408..c08335b 100644 --- a/B4A/Guna Vistas V3.1.b4a +++ b/B4A/Guna Vistas V3.1.b4a @@ -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 diff --git a/B4A/Guna Vistas V3.1.b4a.meta b/B4A/Guna Vistas V3.1.b4a.meta index 3ebe79c..1ba02e9 100644 --- a/B4A/Guna Vistas V3.1.b4a.meta +++ b/B4A/Guna Vistas V3.1.b4a.meta @@ -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 diff --git a/B4A/MAPA_RUTAS.bas b/B4A/MAPA_RUTAS.bas index b2fec6c..d820624 100644 --- a/B4A/MAPA_RUTAS.bas +++ b/B4A/MAPA_RUTAS.bas @@ -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) diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 5149539..25c6b8b 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -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 \ No newline at end of file