diff --git a/B4A/C_Cliente.bas b/B4A/C_Cliente.bas index 52768ee..92eb3bb 100644 --- a/B4A/C_Cliente.bas +++ b/B4A/C_Cliente.bas @@ -934,6 +934,7 @@ Sub B4XPage_Appear ' Log($">>>>>>>>>> |${la_cuenta.Text.trim}|"$) If la_cuenta.Text.trim = "0" Then gest.Text = "Carga Abordo" ' Log($"ALMACEN: ${ALMACEN}${CRLF}RUTA:${LA_RUTA}"$) + Log(Subs.traeRuta) End Sub Sub GPS_LocationChanged (Location1 As Location) @@ -4801,6 +4802,7 @@ Private Sub LA_GEO_Click geoCont = 0 If distance > 99 Then p_pideGeoPass.BringToFront + et_geopass.RequestFocus p_pideGeoPass.Visible = True End If End If diff --git a/B4A/C_NuevoCliente.bas b/B4A/C_NuevoCliente.bas index b3368b8..03d8135 100644 --- a/B4A/C_NuevoCliente.bas +++ b/B4A/C_NuevoCliente.bas @@ -66,6 +66,7 @@ Sub B4XPage_Appear GUARDA.Visible = True 'Si hay ubicaccion, mostramos el boton de guardar. l_sinUbicacion.Visible = False End If + Starter.skmt.ExecNonQuery("delete from cuentaa") End Sub Sub GPS_LocationChanged (Location1 As Location) @@ -94,12 +95,12 @@ Sub GUARDA_Click Private segs As String = sTime.SubString(4) sTime = hora&":"&mins&":"&segs Log("////////////// sTime: "&sTime&" ////////////////") - c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info2") - c.Position=0 - no_ruta= c.GetString("CAT_CL_RUTA") +' c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_RUTA FROM kmt_info2") +' c.Position=0 + no_ruta= Subs.traeRuta no_cliente= "N" & sTime & no_ruta Log("++ ++ no_cliente = "&no_cliente) - c.Close +' c.Close B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO kmt_info2(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) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,0,0,0) ",Array As Object (no_cliente,no_ruta, E_NOMBRE.Text,"null","null","null","null","null","null","null","null","null","null","null","null","null",B4XPages.MainPage.lon_gps,B4XPages.MainPage.lat_gps)) B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO, HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (no_cliente)) B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA") diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index 05a7568..7d21680 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -948,6 +948,8 @@ Sub cargar_Click DateTime.DateFormat = "MM/dd/yyyy" sDate=DateTime.Date(DateTime.Now) sTime=DateTime.Time(DateTime.Now) + + Subs.guardaVariable("RUTA", e_ruta.text) Dim P As PhoneId imei = "" @@ -2211,6 +2213,7 @@ Sub t2_tick B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("pasword")) B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("LATITUD")) 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("RUTA")) ' B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("FORZAR_ACTUALIZACION")) ' B4XPages.MainPage.skmt.ExecNonQuery2("DELETE FROM CAT_VARIABLES WHERE CAT_VA_DESCRIPCION = ?",Array As String("VERSION_NUEVA")) B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE GPS SET HABILITADO = (?)",Array As Object(0)) @@ -2560,7 +2563,6 @@ Sub resdia_Click Label2.Text = "Ruta " & rutOr l_ru_pri.Text = NumberFormat2(ru_o.GetString("TOTAL_CLIE"), 0, 2, 2, False) End If - ru_o.Close 'Prueba1 @@ -2574,9 +2576,8 @@ Sub resdia_Click ru_s.Position = 0 l_ru_sup.Text = NumberFormat2(ru_s.GetString("TOTAL_CLIE"), 0, 2, 2, False) End If - ru_s.Close - + Dim cuantos_obj As String c=B4XPages.MainPage.skmt.ExecQuery("Select count(*) AS TOTAL from HIST_MARCAS_CUOTAS ") c.Position = 0 @@ -2588,10 +2589,8 @@ Sub resdia_Click c.Position = 0 If c.GetString("TOTAL") > 0 Then L_NES.Text = Round(c.GetString("TOTAL") / 25) - Else L_NES.Text = c.GetString("TOTAL") - End If c.Close End If @@ -2605,7 +2604,6 @@ Sub resdia_Click L_EFEC_PURA.Text = Round2(L_VISITCC.Text / L_VPLAN.Text,2) L_LIN_TICK.Text = LPT If l_monto_ks.Text <> "0" Then - c=B4XPages.MainPage.skmt.ExecQuery2("Select COUNT(DISTINCT(PE_CLIENTE)) AS CUANTOS FROM PEDIDO WHERE PE_CEDIS = ? ", Array As String(ALMACEN)) c.Position = 0 L_CTE_PROMO.Text = c.GetString("CUANTOS") @@ -2622,7 +2620,7 @@ Sub resdia_Click 'L_PRIO.Text = NumberFormat(d.GetString("MONTO_DIA"),0,2) L_PRIO.Text = d.GetString("MONTO_DIA") d.Close - + d=B4XPages.MainPage.skmt.ExecQuery2($"Select sum(PE_COSTO_TOT) AS MONTO_DIA FROM PEDIDO WHERE PE_PROID IN (select CAT_GP_ID from ${Subs.traeTablaProds(tipo_venta)} where CAT_GP_TIPOPROD = ?) "$, Array As String("ESTRATEGICO")) d.Position = 0 L_SECUND.Text =d.GetString("MONTO_DIA") diff --git a/B4A/C_Productos.bas b/B4A/C_Productos.bas index 2cde3fa..973e0c8 100644 --- a/B4A/C_Productos.bas +++ b/B4A/C_Productos.bas @@ -56,6 +56,7 @@ Sub Class_Globals Private b_buscar As Button Private p_botonesVenta As Panel Dim tipo_venta As String = Subs.traeTipoVentaDeBD + Dim rutaActual As String End Sub 'You can add more parameters here. @@ -83,6 +84,7 @@ End Sub Sub B4XPage_Appear tipo_venta = Subs.traeTipoVentaDeBD + rutaActual = Subs.traeRuta clv_productos.Clear LogColor(tipo_venta, Colors.red) LogColor(Subs.traeTablaProds(tipo_venta), Colors.red) @@ -516,7 +518,7 @@ Sub b_prodMenos_Click If laCant.Text = "" Then laCant.Text = 0 laCant.Text = NumberFormat2(laCant.Text - 1, 1, 0, 0, False) If laCant.Text < 0 Then laCant.Text = 0 - Subs.actualizaProducto(Subs.traeAlmacen, esteTag.Get(0), laCant.Text, Subs.traeProdNombre(esteTag.Get(2)), esteTag.Get(2), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta) + Subs.actualizaProducto(Subs.traeAlmacen, esteTag.Get(0), laCant.Text, Subs.traeProdNombre(esteTag.Get(2)), esteTag.Get(2), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaActual, 0, B4XPages.MainPage.tipo_venta) ' Dim chk As B4XView = pnl.GetView(2) cuentaProds End Sub @@ -538,7 +540,7 @@ Sub b_prodMas_Click If laCant.Text + 1 <= esteTag.get(1) Then laCant.Text = NumberFormat2(laCant.Text + 1, 1, 0, 0, False) ' Subs.guardaProducto(Subs.traeAlmacen, esteTag.Get(0), laCant.Text + 1, Subs.traeProdNombre(esteTag.Get(2)), esteTag.Get(2), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta) - Subs.actualizaProducto(Subs.traeAlmacen, esteTag.Get(0), laCant.Text, Subs.traeProdNombre(esteTag.Get(2)), esteTag.Get(2), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta) + Subs.actualizaProducto(Subs.traeAlmacen, esteTag.Get(0), laCant.Text, Subs.traeProdNombre(esteTag.Get(2)), esteTag.Get(2), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaActual, 0, B4XPages.MainPage.tipo_venta) cuentaProds End If ' Log($"Total Prods: ${totalProds}, Total Compra: $$1.2{totalCompra}"$) @@ -560,7 +562,7 @@ Private Sub et_pCant_TextChanged (Old As String, New As String) If esteTag.Get(1) < New Then laCant.Text = esteTag.Get(1) If Not(Old = "0" And New = "") And etCantHasFocus Then ' Log(esteTag) - Subs.actualizaProducto(Subs.traeAlmacen, esteTag.Get(0), laCant.Text, Subs.traeProdNombre(esteTag.Get(2)), esteTag.Get(2), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta) + Subs.actualizaProducto(Subs.traeAlmacen, esteTag.Get(0), laCant.Text, Subs.traeProdNombre(esteTag.Get(2)), esteTag.Get(2), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaActual, 0, B4XPages.MainPage.tipo_venta) cuentaProds End If ' Catch @@ -586,7 +588,7 @@ Private Sub et_pCant_FocusChanged (HasFocus As Boolean) Dim esteTag As List = Regex.Split("\|", laCant.Tag) Log(esteTag) Log(laCant.text) - Subs.actualizaProducto(Subs.traeAlmacen, esteTag.Get(0), laCant.Text, Subs.traeProdNombre(esteTag.Get(2)), esteTag.Get(2), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta) + Subs.actualizaProducto(Subs.traeAlmacen, esteTag.Get(0), laCant.Text, Subs.traeProdNombre(esteTag.Get(2)), esteTag.Get(2), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaActual, 0, B4XPages.MainPage.tipo_venta) cuentaProds End If End Sub @@ -697,13 +699,13 @@ Sub terminarpromoesp c2 = B4XPages.MainPage.skmt.ExecQuery($"select * from ${Subs.traeTablaProds(tipo_venta)} WHERE CAT_GP_ID IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP)"$) If c2.RowCount > 0 Then c2.Position = 0 - Subs.guardaProducto(c2.GetString("CAT_GP_ID"), "0", 1,c2.GetString("CAT_GP_NOMBRE"), c2.GetString("CAT_GP_ID"), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta) + Subs.guardaProducto(c2.GetString("CAT_GP_ID"), "0", 1,c2.GetString("CAT_GP_NOMBRE"), c2.GetString("CAT_GP_ID"), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaActual, 0, B4XPages.MainPage.tipo_venta) c = B4XPages.MainPage.skmt.ExecQuery("select * from CAT_DETALLES_PAQ WHERE CAT_DP_ID IN (SELECT DISTINCT CAT_PE_IDPROMO FROM CAT_PROMO_ESP)") If c.RowCount > 0 Then For i = 0 To c.RowCount - 1 c.Position = i Private pn As String = Subs.traeProdNombre(c.GetString("CAT_DP_IDPROD")) - Subs.guardaProducto(c2.GetString("CAT_GP_ID"), c.GetString("CAT_DP_PRECIO"), c.GetString("CAT_DP_PZAS"), pn, c.GetString("CAT_DP_IDPROD"), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, Subs.traeRuta, 0, B4XPages.MainPage.tipo_venta) + Subs.guardaProducto(c2.GetString("CAT_GP_ID"), c.GetString("CAT_DP_PRECIO"), c.GetString("CAT_DP_PZAS"), pn, c.GetString("CAT_DP_IDPROD"), Subs.traeCliente, Subs.traeFecha, Subs.traeUsuarioDeBD, rutaActual, 0, B4XPages.MainPage.tipo_venta) Next End If c.Close diff --git a/B4A/Files/resdia.bal b/B4A/Files/resdia.bal index b6a4e0e..cef1c81 100644 Binary files a/B4A/Files/resdia.bal and b/B4A/Files/resdia.bal differ diff --git a/B4A/Guna Vistas V3.1.b4a b/B4A/Guna Vistas V3.1.b4a index 46368f5..44b3290 100644 --- a/B4A/Guna Vistas V3.1.b4a +++ b/B4A/Guna Vistas V3.1.b4a @@ -256,7 +256,7 @@ Version=12.8 #Region Project Attributes #ApplicationLabel: Guna Preventa #VersionCode: 1 - #VersionName: 4.11.22 + #VersionName: 4.12.02 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: portrait #CanInstallToExternalStorage: False diff --git a/B4A/Guna Vistas V3.1.b4a.meta b/B4A/Guna Vistas V3.1.b4a.meta index 89a9d6f..ee32438 100644 --- a/B4A/Guna Vistas V3.1.b4a.meta +++ b/B4A/Guna Vistas V3.1.b4a.meta @@ -58,7 +58,7 @@ ModuleClosedNodes10= ModuleClosedNodes11= ModuleClosedNodes12= ModuleClosedNodes13=6 -ModuleClosedNodes14=16 +ModuleClosedNodes14= ModuleClosedNodes15=3,17 ModuleClosedNodes16= ModuleClosedNodes17= @@ -74,11 +74,11 @@ ModuleClosedNodes25= ModuleClosedNodes26= ModuleClosedNodes3= ModuleClosedNodes4=4,5,6,7,8,9,10,11,12,13 -ModuleClosedNodes5= +ModuleClosedNodes5=1,3 ModuleClosedNodes6= ModuleClosedNodes7=5,6,8,9,10,11 ModuleClosedNodes8= ModuleClosedNodes9= -NavigationStack=Visual Designer,principal.bal,-100,1,C_Principal,t1_tick,2288,6,C_Principal,t2_tick,2205,0,Subs,traeTablaProds,1679,0,C_Clientes,ListView1_ItemClick,138,0,C_Cliente,B4XPage_Appear,493,6,C_Principal,B_OK_PAS_Click,2314,3,C_Principal,B_OK_RES_Click,2420,0,Main,Process_Globals,21,0,C_Principal,JobDone,1732,6 +NavigationStack=Visual Designer,resdia.bal,-100,5,C_Principal,resdia_Click,2603,0,C_Cliente,b_geopass_Click,1166,0,C_Cliente,GPS_LocationChanged,951,0,C_Cliente,B4XPage_Appear,930,3,C_NuevoCliente,Class_Globals,0,0,C_NuevoCliente,GUARDA_Click,88,2,C_NuevoCliente,B4XPage_Appear,62,6,Subs,traeRuta,663,6,Subs,traeProdNombre,658,0,B4XMainPage,b_aceptar_Click,884,0 SelectedBuild=0 -VisibleModules=24,2,14,25,4,5,7,6,15,11 +VisibleModules=24,2,14,25,4,5,7,6,15,12 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 91858d1..e449290 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -661,23 +661,30 @@ Sub traeProdNombre(id As String) As String Return n End Sub -'Regresa la ruta actual de la base de datos. -'Si hay cliente definido (en la pantalla de cliente), trae la ruta de ese cliente, si no, trae la primera ruta de kmt_info2. (esto es por las suplencias) +''Regresa la ruta actual de la base de datos, de acuerdo al cliente actual en CUENTAA. +'Si hay cliente definido (en CUENTAA), trae la ruta de ese cliente, si no, trae la primera ruta de kmt_info2. (esto es por las suplencias) Sub traeRuta As String 'ignore Private c As Cursor Private r As String = "0" Private idCliente As String = "" Try - If B4XPages.MainPage.cliente.IsInitialized And B4XPages.MainPage.cliente.la_cuenta.IsInitialized Then ' Si - idCliente = B4XPages.MainPage.cliente.la_cuenta.text + Private elCc As Cursor = Starter.skmt.ExecQuery($"select CUENTA from CUENTAA"$) + If elCc.RowCount > 0 Then + elCc.Position = 0 + idCliente = elCc.GetString("CUENTA") + Log("|"&elCc.GetString("CUENTA")&"|") End If + Log($"#########################${CRLF}HAY USUARIO EN CUENTAA: ${elCc.RowCount}${CRLF}#########################"$) If idCliente <> "" Then - c = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_CL_RUTA from kmt_info2 where CAT_CL_RUTA not in (select * from ruta_suplencia) and CAT_CL_CODIGO = '${idCliente}'"$) + Log(1) + c = B4XPages.MainPage.skmt.ExecQuery($"select distinct CAT_CL_RUTA from kmt_info2 where CAT_CL_CODIGO = '${idCliente}'"$) Else + Log(2) c = B4XPages.MainPage.skmt.ExecQuery("select distinct CAT_CL_RUTA from kmt_info2 where CAT_CL_RUTA not in (select * from ruta_suplencia)") End If -' Log(c.RowCount) + Log($"#########################${CRLF}ENCONTRAMOS RUTA EN KMT_INFO2: ${c.RowCount}${CRLF}#########################"$) If c.RowCount > 0 Then + Log(3) c.Position=0 r = c.GetString("CAT_CL_RUTA") End If @@ -685,6 +692,7 @@ Sub traeRuta As String 'ignore Catch Log(LastException) End Try + Log($"#########################${CRLF}RUTA ENCONTRADA: |${r}|${CRLF}#########################"$) Return r End Sub @@ -1714,4 +1722,21 @@ Sub traeTipoVentaDeBD As String End If ' Log(">>>>>>> " & tipoVenta) Return tipoVenta +End Sub + +'Guarda una variable en CAT_VARIABLES +Sub guardaVariable(nombre As String, valor As String) + B4XPages.MainPage.skmt.ExecNonQuery($"delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = '${nombre}'"$) + B4XPages.MainPage.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('${nombre}', '${valor}')"$) +End Sub + +'Regresa el valor de la variable especificada desde CAT_VARIABLES +Sub traeVariable(nombre As String) As String + Private valor As String = "" + Private laVc As Cursor = Starter.skmt.ExecQuery($"select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = '${nombre}'"$) + If laVc.RowCount > 0 Then + laVc.Position = 0 + valor = laVc.GetString("CAT_VA_VALOR") + End If + Return valor End Sub \ No newline at end of file