Compare commits

1 Commits

Author SHA1 Message Date
6641d080e7 VERSION 5.09.28
- Se agrego codigo para importar BD desde whatsapp
2026-03-24 11:02:16 -06:00
17 changed files with 541 additions and 275 deletions

View File

@@ -4,20 +4,27 @@ ModulesStructureVersion=1
Type=Class
Version=9.85
@EndOfDesignText@
'#Region Shared Files
''#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
' 'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
' '###########################################################################################################
' '###################### PULL #############################################################
' 'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=git&Args=pull
' '###########################################################################################################
' '###################### PUSH #############################################################
' 'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=github&Args=..\..\
' '###########################################################################################################
' '###################### PUSH TORTOISE GIT #########################################################
' 'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=TortoiseGitProc&Args=/command:commit&Args=/path:"./../../"&Args=/closeonend:2
' '###########################################################################################################
'#End Region
#Region Shared Files
'#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
'###########################################################################################################
'###################### PULL #############################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=git&Args=pull
'###########################################################################################################
'###################### PULL FORZADO #############################################################
'Ctrl + click Respaldar y Pull: ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=start&Args=powershell.exe&Args=-ExecutionPolicy&Args=Bypass&Args=-File&Args=..\..\_sync_project.ps1
'###########################################################################################################
'###################### PUSH #############################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=github&Args=..\..\
'###########################################################################################################
'###################### PUSH TORTOISE GIT #########################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=TortoiseGitProc&Args=/command:commit&Args=/path:"./../../"&Args=/closeonend:2
'###########################################################################################################
'###################### PUSH TORTOISE GIT CON TAG ##################################################
'Ctrl + clic para Git: ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=-ExecutionPolicy&Args=Bypass&Args=-File&Args=..\_git_tag.ps1&Args=%22%PROJECT%%22&Args=%22%PROJECT_NAME%%22
'###########################################################################################################
#End Region
'
''Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
'
@@ -225,7 +232,7 @@ Version=9.85
' Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS wayPoints (codigo TEXT, indice INT)")
' Dim server As String = "http://keymon.net:1782"
'' Dim server As String = "http://192.168.100.10:1781"
'' Dim server As String = "http://keymon.lat:9000"
'' Dim server As String = "http://keymon.net:9000"
'' server = "http://10.0.0.205:1782"
'' Dim server As String = "http://192.168.100.10:1781"
'' server = "http://11.0.0.44:1782"
@@ -1173,16 +1180,23 @@ Version=9.85
#Region Shared Files
'#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
'###########################################################################################################
'###################### PULL #############################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=git&Args=pull
'###########################################################################################################
'###################### PULL FORZADO #############################################################
'Ctrl + click Respaldar y Pull: ide://run?file=%WINDIR%\System32\cmd.exe&Args=/c&Args=start&Args=powershell.exe&Args=-ExecutionPolicy&Args=Bypass&Args=-File&Args=..\..\_sync_project.ps1
'###########################################################################################################
'###################### PUSH #############################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=github&Args=..\..\
'###########################################################################################################
'###################### PUSH TORTOISE GIT #########################################################
'Ctrl + click ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=TortoiseGitProc&Args=/command:commit&Args=/path:"./../../"&Args=/closeonend:2
'###########################################################################################################
'###################### PUSH TORTOISE GIT CON TAG ##################################################
'Ctrl + clic para Git: ide://run?file=%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe&Args=-ExecutionPolicy&Args=Bypass&Args=-File&Args=..\_git_tag.ps1&Args=%22%PROJECT%%22&Args=%22%PROJECT_NAME%%22
'###########################################################################################################
#End Region
'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
@@ -1275,7 +1289,7 @@ Sub Class_Globals
Private b_abono As Button
Private cb_importarBDWA As CheckBox
Private p_importarBDWA As Panel
Private importador As C_ImportaBD
Dim intentUsado As Boolean = False
End Sub
@@ -1399,13 +1413,11 @@ Private Sub B4XPage_Created (Root1 As B4XView)
Subs.agregaColumna("CAT_GUNAPROD","CONVERSION","TEXT")
Subs.agregaColumna("kmt_info","CAT_CL_LIMITECREDITO","TEXT")
Subs.agregaColumna("CAT_GUNAPROD","PRECIOCONVER","TEXT")
Subs.agregaColumna("NOVENTA","NV_MONTO","TEXT")
Subs.agregaColumna("NOVENTA","NV_NOART","TEXT")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTAA (RUTAA TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS wayPoints (codigo TEXT, indice INT)")
Dim server As String = "http://keymon.net:1781"
' Dim server As String = "http://192.168.100.10:1781"
' Dim server As String = "http://keymon.lat:9000"
' Dim server As String = "http://keymon.net:9000"
' server = "http://10.0.0.205:1782"
' Dim server As String = "http://192.168.100.10:1781"
' server = "http://11.0.0.44:1782"
@@ -1415,7 +1427,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' Dim P As PhoneId
Log("provider")
Provider.Initialize
importador.Initialize
Subs.guardaAppInfo
' Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_READ_PHONE_STATE)
@@ -1468,6 +1480,19 @@ Sub B4XPage_Appear
' If Result Then
' Log("Con permisos de escritura externa")
' End If
Dim in As Intent = B4XPages.GetNativeParent(Me).GetStartingIntent
If importador.ProcesarIntent(in) Then
' Si entra aquí, la BD ya se copió exitosamente a File.DirInternal con el nombre "kmt.db"
ToastMessageShow("BD importada correctamente", False)
' (Opcional) Identificar si el origen fue WhatsApp:
If importador.EsDeWhatsapp(in) Then
B4XPages.SetTitle(Me, "BD cargada desde Whatsapp")
End If
' --> AQUI DEBES REINICIALIZAR TU CONEXION SQL <--
Starter.skmt.Initialize(File.DirInternal, "kmt.db", True)
user.Text = Subs.traeUsuario
End If
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
@@ -1748,7 +1773,7 @@ Private Sub i_engrane_Click
Subs.centraBoton(b_regesar, Root.Width)
Subs.centraBoton(b_server, p_serverList.Width)
lv_server.Clear
lv_server.AddSingleLine("http://keymon.lat:1781")
lv_server.AddSingleLine("http://keymon.net:1781")
If user.Text = "KMTS1" Then lv_server.AddSingleLine("http://10.0.0.205:1781")
' l_server.Text = Starter.server

View File

@@ -414,8 +414,8 @@ Sub B4XPage_Appear
CallSubDelayed(Tracker, "Track")
CallSubDelayed(Tracker, "StartFLPSmall")
If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
Starter.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
Starter.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
End If
@@ -460,15 +460,15 @@ End Sub
' sDate=DateTime.Date(DateTime.Now)
' sTime=DateTime.Time(DateTime.Now)
' Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, Starter.lat_gps, Starter.lon_gps))
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
'End Sub
Sub GPS_LocationChanged (Location1 As Location)
' LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red)
If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then
Starter.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
Starter.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
Log("Coords set to: " & Starter.lat_gps & " and " & Starter.lon_gps)
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps)
End If
If LATITUD.Length < 5 Then
@@ -477,7 +477,7 @@ Sub GPS_LocationChanged (Location1 As Location)
Dim l1, l2 As Location
l1.Initialize2(Starter.lat_gps, Starter.lon_gps)
l1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)
Log($"Coordenadas de la tienda - lat:${LATITUD}, lon:${LONGITUD}"$)
l2.Initialize2(LATITUD, LONGITUD)
@@ -494,7 +494,7 @@ Sub GPS_LocationChanged (Location1 As Location)
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, Starter.lat_gps, Starter.lon_gps))
Starter.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")
End Sub
@@ -814,8 +814,8 @@ Sub Guardado
End If
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_RUTA,NV_MONTO,NV_NOART) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate &" "& sTime, usuario, "ENTREGA","ENTREGA COMPLETA", Starter.lat_gps, Starter.lon_gps,rutaactualizar,l_total.Text.Replace(",",""),L_CANT.Text.Replace(",","")))
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,0)",Array As String (la_cuenta.Text, usuario, sDate &" "&sTime, Starter.lat_gps, Starter.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "ENTREGADO"))
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_RUTA) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate &" "& sTime, usuario, "ENTREGA","ENTREGA COMPLETA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar))
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,0)",Array As String (la_cuenta.Text, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "ENTREGADO"))
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 2, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}' "$)
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_ESTATUS = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
mandaPendientesreparto
@@ -837,15 +837,15 @@ Sub Guardado
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "UPDATE_ACTUAL_GEO_PROFINA_VN"
' cmd.Parameters = Array As String(l_total.Text,"1", l_total.Text,Starter.lat_gps, Starter.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"1", l_total.Text.Replace(",",""),Starter.lat_gps, Starter.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"1", l_total.Text.Replace(",",""),Starter.lat_gps, Starter.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV))
' cmd.Parameters = Array As String(l_total.Text,"1", l_total.Text,B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"1", l_total.Text.Replace(",",""),B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"1", l_total.Text.Replace(",",""),B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"CREDITO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV))
reqManager.ExecuteCommand(cmd, "up_geo")
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "UPDATE_ACTUAL_GEO_PROFINA_VN"
' cmd.Parameters = Array As String(l_total.Text,"fue credito", "MONTO SI FUE A CREDITO",Starter.lat_gps, Starter.lon_gps,"RECHAZO O NO",usuario,ruta,"entrega o rechazo", "parcial o total","efectivo o credito", "mts", L_CANT.text,la_cuenta.Text,fechaprev,almacen,rutaprev)
' cmd.Parameters = Array As String(l_total.Text,"fue credito", "MONTO SI FUE A CREDITO",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"RECHAZO O NO",usuario,ruta,"entrega o rechazo", "parcial o total","efectivo o credito", "mts", L_CANT.text,la_cuenta.Text,fechaprev,almacen,rutaprev)
' reqManager.ExecuteCommand(cmd, "up_geo")
Else
@@ -864,8 +864,8 @@ Sub Guardado
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "UPDATE_ACTUAL_GEO_PROFINA_VN"
cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",Starter.lat_gps, Starter.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"0", "",Starter.lat_gps, Starter.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV))
cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV))
reqManager.ExecuteCommand(cmd, "up_geo")
End If
@@ -1689,7 +1689,7 @@ Sub B_PASO2_Click
usuario = c.GetString("USUARIO")
c.Close
Starter.skmt.ExecNonQuery("DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)")
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, "PASO","PASO ESPERA", Starter.lat_gps, Starter.lon_gps))
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON) VALUES(?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, "PASO","PASO ESPERA", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
' Dim mandamapa As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info WHERE gestion = 0")
' If mandamapa.RowCount > 0 Then
' StartActivity(MAPA_RUTAS)
@@ -2870,7 +2870,7 @@ Sub imprime_abonopagare
End If
' Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$)
' Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
' Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", Starter.lat_gps, Starter.lon_gps,rutaactualizar,0))
' Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,0))
' Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
' Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
@@ -2888,7 +2888,7 @@ Sub imprime_abonopagare
' d.Close
' d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
' d.Position = 0
' Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, Starter.lat_gps, Starter.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO"))
' Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO"))
' B4XPages.ShowPage("Principal")
End If
End If
@@ -2924,7 +2924,7 @@ Sub imprime_abonopagare
End If
' Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$)
' Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
' Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", Starter.lat_gps, Starter.lon_gps,rutaactualizar,0))
' Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,0))
' Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
' Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
@@ -2942,7 +2942,7 @@ Sub imprime_abonopagare
' d.Close
' d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
' d.Position = 0
' Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, Starter.lat_gps, Starter.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO"))
' Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO"))
' B4XPages.ShowPage("Principal")
End If
End If
@@ -3013,7 +3013,7 @@ Sub imprime_abonopagare
End If
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$)
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR,NV_MONTO,NV_NOART) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", Starter.lat_gps, Starter.lon_gps,rutaactualizar,0,l_total.Text.Replace(",",""),L_CANT.Text.Replace(",","")))
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,0))
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
@@ -3031,7 +3031,7 @@ Sub imprime_abonopagare
d.Close
d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
d.Position = 0
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, Starter.lat_gps, Starter.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO"))
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO"))
B4XPages.ShowPage("Principal")
End If
End If
@@ -3067,7 +3067,7 @@ Sub imprime_abonopagare
End If
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$)
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR,NV_MONTO,NV_NOART) VALUES(?,?,?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", Starter.lat_gps, Starter.lon_gps,rutaactualizar,0,l_total.Text.Replace(",",""),L_CANT.Text.Replace(",","")))
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (la_cuenta.Text,sDate & sTime, usuario, "PAGO INCOMPLETO","PAGO INCOMPLETO", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,0))
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
@@ -3085,7 +3085,7 @@ Sub imprime_abonopagare
d.Close
d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
d.Position = 0
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, Starter.lat_gps, Starter.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO"))
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, "PAGO INCOMPLETO", "PAGO INCOMPLETO","NO ENTREGADO"))
B4XPages.ShowPage("Principal")
End If
End If
@@ -3420,9 +3420,9 @@ Private Sub b_cancel_pagare_Click
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "UPDATE_ACTUAL_GEO_PROFINA_VN"
'' cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",Starter.lat_gps, Starter.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
' cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",Starter.lat_gps, Starter.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"0", "",Starter.lat_gps, Starter.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV))
'' cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
' cmd.Parameters = Array As String(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
' Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(l_total.Text.Replace(",",""),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV))
' reqManager.ExecuteCommand(cmd, "up_geo")
' banderaimp = 1
' End If

View File

@@ -723,8 +723,8 @@ Sub caculaRutaGPS(coords As List, agregarActual As Boolean)
ProgressDialogShow2("Calculando distancia y tiempo, un momento por favor.", False)
Dim j As HttpJob
j.Initialize("trip", Me) 'Calculamos el resto de la ruta.
j.Download($"http://keymon.lat:9002/ruteador?m=OSRM&r=${Subs.traeRutaReparto}&a=${Subs.traeAlmacen}&c=${coordsStr}"$) '&f=CEDIS,${Starter.cedisLocation.Longitude},${Starter.cedisLocation.Latitude}
Log($"http://keymon.lat:9002/ruteador?m=OSRM&r=${Subs.traeRutaReparto}&a=${Subs.traeAlmacen}&c=${coordsStr}"$) '&f=CEDIS,${Starter.cedisLocation.Longitude},${Starter.cedisLocation.Latitude}
j.Download($"http://keymon.net:9002/ruteador?m=OSRM&r=${Subs.traeRutaReparto}&a=${Subs.traeAlmacen}&c=${coordsStr}"$) '&f=CEDIS,${Starter.cedisLocation.Longitude},${Starter.cedisLocation.Latitude}
Log($"http://keymon.net:9002/ruteador?m=OSRM&r=${Subs.traeRutaReparto}&a=${Subs.traeAlmacen}&c=${coordsStr}"$) '&f=CEDIS,${Starter.cedisLocation.Longitude},${Starter.cedisLocation.Latitude}
Wait For (j) JobDone(j As HttpJob)
If j.Success Then
Dim jp As JSONParser

View File

@@ -107,7 +107,7 @@ Sub Camera1_PictureTaken (Data() As Byte)
' ANTES DE MODIFCAR
Next
End If
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, USUARIO, "CERRADO", B4XPages.MainPage.noVenta.COMENTARIO, Starter.lat_gps, Starter.lon_gps, Data))
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, USUARIO, "CERRADO", B4XPages.MainPage.noVenta.COMENTARIO, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, Data))
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
B4XPages.ShowPage("Cliente")

85
B4A/C_ImportaBD.bas Normal file
View File

@@ -0,0 +1,85 @@
B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=12.8
@EndOfDesignText@
' ====================================================================================
' CLASE: C_ImportaBD
' DESCRIPCION: Gestor aislado para atrapar Intents (ej. compartir desde WhatsApp)
' y poner la BD en la ruta interna de la app como "kmt.db".
' ====================================================================================
' INSTRUCCIONES (En cualquier B4XPage, usualmente B4XMainPage):
'
' 1. En Class_Globals se declara la instancia:
' Private importador As C_ImportaBD
'
' 2. En B4XPage_Created se inicializa la clase:
' importador.Initialize
'
' 3. En B4XPage_Appear se captura el Intent padre y se procesa:
' Dim in As Intent = B4XPages.GetNativeParent(Me).GetStartingIntent
'
' If importador.ProcesarIntent(in) Then
' ' Si entra aquí, la BD ya se copió exitosamente a File.DirInternal con el nombre "kmt.db"
' ToastMessageShow("BD importada correctamente", False)
'
' ' (Opcional) Identificar si el origen fue WhatsApp:
' If importador.EsDeWhatsapp(in) Then
' B4XPages.SetTitle(Me, "BD cargada desde Whatsapp")
' End If
'
' ' --> AQUI DEBES REINICIALIZAR TU CONEXION SQL <--
' ' Ej: skmt.Initialize(File.DirInternal, "kmt.db", True)
' End If
' 4. En el manifiesto agregar esta seccion para que se registre para abrir bases de datos
' AddActivityText(Main,
' <intent-filter>
' <action android:name="android.intent.action.VIEW" />
' <category android:name="android.intent.category.DEFAULT" />
' <data android:pathPattern=".*\\.db" />
' <data android:mimeType="*/*" />
' </intent-filter>)
' ====================================================================================
Sub Class_Globals
Private intentUsado As Boolean = False
End Sub
Public Sub Initialize
intentUsado = False
End Sub
' Procesa el intent. Retorna True si efectivamente copió una base de datos.
Public Sub ProcesarIntent(in As Intent) As Boolean
If intentUsado Or in = Null Then Return False
If Not(in.IsInitialized) Then Return False
intentUsado = True ' Sellamos para que no vuelva a procesar el mismo intent
If in.GetData <> Null Then
Dim XmlData As String = in.GetData
Log("Intent recibido: " & XmlData)
Try
Dim OutStr As OutputStream = File.OpenOutput(File.DirInternal, "kmt.db", False)
Dim InStr As InputStream = File.OpenInput("ContentDir", XmlData)
File.Copy2(InStr, OutStr)
OutStr.Close
LogColor("BD copiada a interna.", Colors.Blue)
Return True
Catch
Log("Error al copiar BD desde Intent: " & LastException)
Return False
End Try
End If
Return False
End Sub
' Método auxiliar para revisar el origen
Public Sub EsDeWhatsapp(in As Intent) As Boolean
If in <> Null And in.IsInitialized Then
If in.As(String).Contains("whatsapp") Then Return True
End If
Return False
End Sub

View File

@@ -68,8 +68,8 @@ Sub B4XPage_Appear
CallSubDelayed(Tracker, "Track")
CallSubDelayed(Tracker, "StartFLPSmall")
If Tracker.FLP.IsInitialized And Tracker.FLP.GetLastKnownLocation.IsInitialized Then 'Si tenemos "UltimaUbicaccionConocida" la usamos.
Starter.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
Starter.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
' Log($"Tenemos UUC: ${Tracker.FLP.GetLastKnownLocation.Latitude},${Tracker.FLP.GetLastKnownLocation.Longitude}"$)
GPS_LocationChanged(Tracker.FLP.GetLastKnownLocation)
End If
@@ -83,9 +83,9 @@ End Sub
Sub GPS_LocationChanged (Location1 As Location)
' LogColor($"Entrando a Cliente.GPS_LocationChanged"$, Colors.red)
If Tracker.FLP.GetLastKnownLocation.IsInitialized And Tracker.FLP.GetLastKnownLocation.Latitude <> 0 Then
Starter.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
Starter.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
Log("Coords set to: " & Starter.lat_gps & " and " & Starter.lon_gps)
B4XPages.MainPage.lat_gps = Tracker.FLP.GetLastKnownLocation.Latitude
B4XPages.MainPage.lon_gps = Tracker.FLP.GetLastKnownLocation.Longitude
Log("Coords set to: " & B4XPages.MainPage.lat_gps & " and " & B4XPages.MainPage.lon_gps)
End If
If B4XPages.MainPage.cliente.LATITUD.Length < 5 Then
@@ -94,7 +94,7 @@ Sub GPS_LocationChanged (Location1 As Location)
Dim l1, l2 As Location
l1.Initialize2(Starter.lat_gps, Starter.lon_gps)
l1.Initialize2(B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps)
Log($"Coordenadas de la tienda - lat:${B4XPages.MainPage.cliente.LATITUD}, lon:${B4XPages.MainPage.cliente.LONGITUD}"$)
l2.Initialize2(B4XPages.MainPage.cliente.LATITUD, B4XPages.MainPage.cliente.LONGITUD)
@@ -111,7 +111,7 @@ Sub GPS_LocationChanged (Location1 As Location)
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, Starter.lat_gps, Starter.lon_gps))
Starter.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")
End Sub
@@ -178,7 +178,7 @@ Sub GUARDA_Click
Next
End If
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR,NV_MONTO,NV_NOART) VALUES(?,?,?,?,?,?,?,?,?,0,0) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text, Starter.lat_gps, Starter.lon_gps,rutaactualizar,reprogramar))
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_FOTO,NV_REPROGRAMAR) VALUES(?,?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,reprogramar))
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$)
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 2, HVD_RECHAZOCANT = HVD_RECHAZOCANT WHERE HVD_PROID = HVD_CODPROMO and HVD_CLIENTE in (Select CUENTA from cuentaa)"$)
@@ -197,7 +197,7 @@ Sub GUARDA_Click
d.Close
d = Starter.skmt.ExecQuery("SELECT CUENTA FROM CUENTAA")
d.Position = 0
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, Starter.lat_gps, Starter.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, motivo, e_comm.Text,"NO ENTREGADO"))
Starter.skmt.ExecNonQuery2("INSERT INTO REPARTO_GEO (CLIENTE, USUARIO, FECHA_PUNTEO, LATITUD, LONGITUD, ALMACEN, RUTA_REPARTO, RUTA_PREV, FECHA_PREVENTA, MOTIVO, COMENTARIO,TIPO,ENVIO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,0)",Array As String (cuenta, usuario, sDate &" "&sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,B4XPages.MainPage.almacen,ruta,rutapre,fechaprev, motivo, e_comm.Text,"NO ENTREGADO"))
' Dim mandamapa As Cursor = Starter.skmt.ExecQuery("SELECT * FROM kmt_info WHERE gestion = 0")
' If mandamapa.RowCount > 0 Then
@@ -213,12 +213,12 @@ Sub GUARDA_Click
cmd.Name = "UPDATE_ACTUAL_GEO_PROFINA_VN"
' cmd.Parameters = Array As String(l_total.Text,"0", "",Starter.lat_gps, Starter.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
' cmd.Parameters = Array As String(l_total.Text,"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,"","",usuario,ruta,"ENTREGA", entregatotaloparial,"EFECTIVO", distance, L_CANT.text,la_cuenta.Text,fechaprev,almacen,Subs.traerUTAPREV)
Log(g5.GetString("HVD_COSTO_TOT"))
Log(g5.GetString("HVD_CANT"))
cmd.Parameters = Array As String(g5.GetString("HVD_COSTO_TOT"),"0", "",Starter.lat_gps, Starter.lon_gps,1,motivo,usuario,ruta,"RECHAZO", "RECHAZO TOTAL","", B4XPages.MainPage.cliente.distance, g5.GetString("HVD_CANT"),cuenta,fechaprev,B4XPages.MainPage.almacen,Subs.traerUTAPREV)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(g5.GetString("HVD_COSTO_TOT"),"0", "",Starter.lat_gps, Starter.lon_gps,1,motivo,usuario,ruta,"RECHAZO", "RECHAZO TOTAL","", B4XPages.MainPage.cliente.distance, g5.GetString("HVD_CANT"),cuenta,fechaprev,B4XPages.MainPage.almacen,Subs.traerUTAPREV))
cmd.Parameters = Array As String(g5.GetString("HVD_COSTO_TOT"),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,1,motivo,usuario,ruta,"RECHAZO", "RECHAZO TOTAL","", B4XPages.MainPage.cliente.distance, g5.GetString("HVD_CANT"),cuenta,fechaprev,B4XPages.MainPage.almacen,Subs.traerUTAPREV)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_REPARTO_GEO(HIST_RG_MONTO , HIST_RG_CREDITO , HIST_RG_MONTO_CREDITO , HIST_RG_LAT , HIST_RG_LONG , HIST_RG_RECHAZO , HIST_RG_MOTIVO , HIST_RG_USUARIO_ENTREGO , HIST_RG_RUTA_REP , HIST_RG_ESTATUS_ENTREGA , HIST_RG_COMENTARIO_ENTREGA , HIST_RG_FORMA_PAGO , HIST_RG_GEOCERCA_MTS , HIST_RG_NO_ART , HIST_RG_CLIENTE , HIST_RG_FECHA , HIST_RG_ALMACEN , HIST_RG_RUTA_PRE) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", Array As Object(g5.GetString("HVD_COSTO_TOT"),"0", "",B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,1,motivo,usuario,ruta,"RECHAZO", "RECHAZO TOTAL","", B4XPages.MainPage.cliente.distance, g5.GetString("HVD_CANT"),cuenta,fechaprev,B4XPages.MainPage.almacen,Subs.traerUTAPREV))
reqManager.ExecuteCommand(cmd, "up_geo")
g5.Close
B4XPages.ShowPage("Principal")
@@ -378,7 +378,7 @@ Sub Camera1_PictureTaken (Data()As Byte)
rutaactualizar = rut.GetString("CAT_CL_RUTA")
End If
Starter.skmt.ExecNonQuery($"DELETE FROM NOVENTA WHERE NV_CLIENTE IN (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_RUTA,NV_REPROGRAMAR,NV_FOTO,NV_MONTO,NV_NOART) VALUES(?,?,?,?,?,?,?,?,?,?,0,0) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text, Starter.lat_gps, Starter.lon_gps,rutaactualizar,reprogramar,File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto)))
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON,NV_RUTA,NV_REPROGRAMAR,NV_FOTO) VALUES(?,?,?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, usuario, motivo,e_comm.text, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps,rutaactualizar,reprogramar,File.ReadBytes(File.DirInternal & Dir & Dir2, nombrefoto)))
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa) and CAT_CL_RUTA = '${rutaactualizar}'"$)
Starter.skmt.ExecNonQuery("DELETE FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_CANT, HVD_RECHAZOCANTC = CANTC, BCAJAS = 0 , CANTC = 0 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")

View File

@@ -530,7 +530,7 @@ Sub B4XPage_Appear
' Log(rescant2)
r5r.Close
Log(rescant2r)
Log(rescant2r+rescantr)
' Log(rescant2r+rescantr)
'''' FIN RECHAZO
@@ -624,7 +624,7 @@ Sub B4XPage_Appear
pztotal = pztotal + r55.GetString("HVD_CANT")
Next
End If
Log(rescant10)
' Log(rescant10)
r55.Close
' Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(HVD_COSTO_TOT),0) AS HVD_COSTO_TOT, HVD_CANT from HIST_VENTAS where HVD_RECHAZO = '0' and BCAJAS = '1' AND HVD_CLIENTE IN (SELECT CAT_CL_CODIGO from kmt_info WHERE gestion = 2) "$)
@@ -860,7 +860,7 @@ End Sub
Sub envioinfo
' NOVENTA
c = Starter.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO,NV_FOTO2, NV_REPROGRAMAR,NV_MONTO,NV_NOART FROM NOVENTA")
c = Starter.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO,NV_FOTO2, NV_REPROGRAMAR FROM NOVENTA")
D=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
If c.RowCount>0 Then
For i=0 To c.RowCount -1
@@ -868,8 +868,8 @@ Sub envioinfo
Dim fotoenvio() As Byte = C.GetBlob("NV_FOTO2")
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_reparto_REPG_PROFINA_VN22"
cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), ALMACEN, l_ruta.Text,fotoenvio,C.GetString("NV_MONTO"),C.GetString("NV_NOART"))
cmd.Name = "insert_reparto_REPG_PROFINA_VN2"
cmd.Parameters = Array As Object(C.GetString("NV_CLIENTE"),C.GetString("NV_FECHA"),C.GetString("NV_USER"),C.GetString("NV_MOTIVO"),C.GetString("NV_COMM"),C.GetString("NV_LAT"),C.GetString("NV_LON"), ALMACEN, l_ruta.Text, C.GetString("NV_REPROGRAMAR"),fotoenvio)
reqManager.ExecuteCommand(cmd , "inst_noventa_")
Next
c.Close
@@ -1088,8 +1088,8 @@ Sub envioinfo
' c.Close
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_drop_rep_PROFINA_VN2"
cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, ALMACEN, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "ENVIO",Application.VersionName)
cmd.Name = "insert_drop_rep_PROFINA_VN"
cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, l_ruta.Text, ALMACEN, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "ENVIO")
reqManager.ExecuteCommand(cmd , "inst_drop")
ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
End Sub
@@ -1132,8 +1132,8 @@ Sub cargar_Click
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_drop_rep_PROFINA_VN2"
cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, e_ruta.Text, ALMACEN, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "CARGA", Application.VersionName)
cmd.Name = "insert_drop_rep_PROFINA_VN"
cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, e_ruta.Text, ALMACEN, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "CARGA")
reqManager.ExecuteCommand(cmd , "inst_drop")
' reqs.Add("inst_noventa")
@@ -1194,13 +1194,7 @@ Sub cargar_Click
' Next
' End If
' c.Close
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "insert_drop_rep_PROFINA_VN2"
cmd.Parameters = Array As Object(Subs.dameUsuarioDeDB, e_ruta.Text, ALMACEN, l_ctast.text, Subs.traeEntregados, Subs.traeRechazados, "CARGA",Application.VersionName)
reqManager.ExecuteCommand(cmd , "inst_drop")
ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
' NOVENTA
' c=Starter.skmt.ExecQuery("SELECT NV_CLIENTE, NV_FECHA, NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO FROM NOVENTA")
' If c.RowCount > 0 Then
@@ -1992,12 +1986,10 @@ Sub connecta_Click
Starter.skmt.ExecNonQuery2("INSERT INTO RUTAA(RUTAA) VALUES (?)", Array As Object (e_ruta.TEXT))
B4XPages.MainPage.rutaPreventa = e_ruta.TEXT
If e_ruta.Text = "KMTP" Then Subs.deshabilitaValidaciones
' cmd.Name = "selectAgrupadorAlmacen"
' cmd.Parameters = Array As Object(ALMACEN)
' Log($"${ALMACEN}, ${e_ruta.text}, ${imei}"$)
' reqManager.ExecuteQuery(cmd , 0, "agrupaAlmacen")
End If
End Sub

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -24,6 +24,7 @@ ModuleBookmarks29=
ModuleBookmarks3=
ModuleBookmarks30=
ModuleBookmarks31=
ModuleBookmarks32=
ModuleBookmarks4=
ModuleBookmarks5=
ModuleBookmarks6=
@@ -56,6 +57,7 @@ ModuleBreakpoints29=
ModuleBreakpoints3=
ModuleBreakpoints30=
ModuleBreakpoints31=
ModuleBreakpoints32=
ModuleBreakpoints4=
ModuleBreakpoints5=
ModuleBreakpoints6=
@@ -88,12 +90,13 @@ ModuleClosedNodes29=
ModuleClosedNodes3=
ModuleClosedNodes30=
ModuleClosedNodes31=
ModuleClosedNodes32=
ModuleClosedNodes4=
ModuleClosedNodes5=
ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=C_Cheklist,Class_Globals,0,0,appUpdater,Service_Start,134,0,Subs,guardaAppInfo,1165,0,Subs,deshabilitaValidaciones,1182,0,C_Principal,cargaAlmacen2,2649,0,C_Principal,connecta_Click,1966,0,C_Principal,cargar_Click,1090,3,C_Principal,JobDone,1292,0,C_Principal,Subir_Click,824,0,C_Principal,envioinfo,854,2
NavigationStack=C_Clientes,caculaRutaGPS,720,0,Diseñador Visual,principal.bal,-100,2,Diseñador Visual,clientes.bal,-100,5,C_Principal,B4XPage_Appear,620,0,C_Cliente,Guardado,814,0,C_Cliente,mandaPendientesreparto,1695,0,C_NoVenta,mandaPendientesreparto,228,0,C_Cheklist,mandaPendientes,723,0,Starter,Process_Globals,31,0,B4XMainPage,B4XPage_Created,1411,0
SelectedBuild=0
VisibleModules=1,2,3,4,5,6,7,8,9,10,16
VisibleModules=2,30,6,7,17

View File

@@ -35,16 +35,13 @@ Sub Process_Globals
Dim reqManager As DBRequestManager
' Dim server As String = "http://187.189.244.154:1782"
Dim server As String = "http://keymon.net:1781"
' Dim server As String = "http://keymon.lat:9000"
' Dim server As String = "http://keymon.net:9000"
' Dim server = "http://192.168.100.10:1781"
Dim muestraProgreso = 0
Dim c As Cursor
Dim inicioMapa As Boolean = False
Dim inicioLat As Double = 0
Dim inicioLon As Double = 0
Dim logger As Boolean = True
Dim lat_gps, lon_gps As String
End Sub
Sub Service_Create
@@ -116,7 +113,7 @@ Sub ENVIA_ULTIMA_GPS
skmt.Initialize(ruta,"kmt.db", True)
' Log("server: "&Main.server)
skmt.Initialize(ruta,"kmt.db", True)
' If Starter.logger Then LogColor("Iniciamos ENVIA_ULTIMA_GPS", Colors.red)
' If B4XPages.MainPage.logger Then LogColor("Iniciamos ENVIA_ULTIMA_GPS", Colors.red)
DateTime.TimeFormat = "HHmmss"
B4XPages.MainPage.ultimaActualizacionGPS = DateTime.Time(DateTime.Now)
cmd.Initialize
@@ -126,11 +123,11 @@ Sub ENVIA_ULTIMA_GPS
Dim cmd As DBCommand
cmd.Initialize
cmd.Name = "UPDATE_ACTUAL_GPS_PROFINA_VN"
' cmd.Parameters = Array As Object(B4XPages.MainPage.clientesvisitados, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesventa, B4XPages.MainPage.montoRechazado, Starter.lat_gps, Starter.lon_gps, B4XPages.MainPage.batt, B4XPages.MainPage.montoEntregado, B4XPages.MainPage.montoRechazado,B4XPages.MainPage.clientestotal, B4XPages.MainPage.porVisitar, B4XPages.MainPage.entregas, B4XPages.MainPage.rechazos, B4XPages.MainPage.ALMACEN, B4XPages.MainPage.rutapreventa )
cmd.Parameters = Array As String(B4XPages.MainPage.montoActual,B4XPages.MainPage.montoRechazado,B4XPages.MainPage.monto_entregadoactual,B4XPages.MainPage.piezas_entregdas, B4XPages.MainPage.clientestotal,B4XPages.MainPage.entregas, B4XPages.MainPage.rechazos, (B4XPages.MainPage.rechazos + B4XPages.MainPage.entregas), B4XPages.MainPage.porVisitar, lat_gps, lon_gps, B4XPages.MainPage.batt,Application.VersionName,B4XPages.MainPage.ALMACEN, B4XPages.MainPage.rutapreventa)
' cmd.Parameters = Array As Object(B4XPages.MainPage.clientesvisitados, B4XPages.MainPage.clientestotal, B4XPages.MainPage.clientesventa, B4XPages.MainPage.montoRechazado, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, B4XPages.MainPage.batt, B4XPages.MainPage.montoEntregado, B4XPages.MainPage.montoRechazado,B4XPages.MainPage.clientestotal, B4XPages.MainPage.porVisitar, B4XPages.MainPage.entregas, B4XPages.MainPage.rechazos, B4XPages.MainPage.ALMACEN, B4XPages.MainPage.rutapreventa )
cmd.Parameters = Array As String(B4XPages.MainPage.montoActual,B4XPages.MainPage.montoRechazado,B4XPages.MainPage.monto_entregadoactual,B4XPages.MainPage.piezas_entregdas, B4XPages.MainPage.clientestotal,B4XPages.MainPage.entregas, B4XPages.MainPage.rechazos, (B4XPages.MainPage.rechazos + B4XPages.MainPage.entregas), B4XPages.MainPage.porVisitar, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, B4XPages.MainPage.batt,Application.VersionName,B4XPages.MainPage.ALMACEN, B4XPages.MainPage.rutapreventa)
' Log(B4XPages.MainPage.montoActual&" , "&B4XPages.MainPage.montoRechazado&" , "&B4XPages.MainPage.monto_entregadoactual&" , "&B4XPages.MainPage.piezas_entregdas&" , "&B4XPages.MainPage.clientestotal&" , "&B4XPages.MainPage.entregas&" , "&B4XPages.MainPage.rechazos&" , "&(B4XPages.MainPage.rechazos + B4XPages.MainPage.entregas)&" , "&B4XPages.MainPage.porVisitar)
' Log(B4XPages.MainPage.montoActual&", "&B4XPages.MainPage.montoRechazado&", "&B4XPages.MainPage.monto_entregadoactual&", "&B4XPages.MainPage.piezas_entregdas&", "& B4XPages.MainPage.clientestotal&", "&B4XPages.MainPage.entregas&", "& B4XPages.MainPage.rechazos&", "& (B4XPages.MainPage.rechazos + B4XPages.MainPage.entregas)&", "& B4XPages.MainPage.porVisitar&", "& Starter.lat_gps&", "& Starter.lon_gps&", "& B4XPages.MainPage.batt&", "&Application.VersionName&", "&B4XPages.MainPage.ALMACEN&", "& B4XPages.MainPage.rutapreventa)
' If Starter.logger Then Log($"montoActual: ${B4XPages.MainPage.montoActual}, cTotal: ${B4XPages.MainPage.clientestotal}, cVenta: ${B4XPages.MainPage.clientesventa}, cVisitados: ${B4XPages.MainPage.clientesvisitados}, ${Starter.lat_gps}, ${Starter.lon_gps}, Batt: ${B4XPages.MainPage.batt}, montoRechazado: ${B4XPages.MainPage.montoRechazado}, montoEntregado: ${B4XPages.MainPage.montoEntregado}, porVisitar: ${B4XPages.MainPage.porVisitar}, entregas: ${B4XPages.MainPage.entregas}, rechazos: ${B4XPages.MainPage.rechazos}, Almacen: ${B4XPages.MainPage.ALMACEN}, Ruta: ${B4XPages.MainPage.rutapreventa}"$)
' Log(B4XPages.MainPage.montoActual&", "&B4XPages.MainPage.montoRechazado&", "&B4XPages.MainPage.monto_entregadoactual&", "&B4XPages.MainPage.piezas_entregdas&", "& B4XPages.MainPage.clientestotal&", "&B4XPages.MainPage.entregas&", "& B4XPages.MainPage.rechazos&", "& (B4XPages.MainPage.rechazos + B4XPages.MainPage.entregas)&", "& B4XPages.MainPage.porVisitar&", "& B4XPages.MainPage.lat_gps&", "& B4XPages.MainPage.lon_gps&", "& B4XPages.MainPage.batt&", "&Application.VersionName&", "&B4XPages.MainPage.ALMACEN&", "& B4XPages.MainPage.rutapreventa)
' If B4XPages.MainPage.logger Then Log($"montoActual: ${B4XPages.MainPage.montoActual}, cTotal: ${B4XPages.MainPage.clientestotal}, cVenta: ${B4XPages.MainPage.clientesventa}, cVisitados: ${B4XPages.MainPage.clientesvisitados}, ${B4XPages.MainPage.lat_gps}, ${B4XPages.MainPage.lon_gps}, Batt: ${B4XPages.MainPage.batt}, montoRechazado: ${B4XPages.MainPage.montoRechazado}, montoEntregado: ${B4XPages.MainPage.montoEntregado}, porVisitar: ${B4XPages.MainPage.porVisitar}, entregas: ${B4XPages.MainPage.entregas}, rechazos: ${B4XPages.MainPage.rechazos}, Almacen: ${B4XPages.MainPage.ALMACEN}, Ruta: ${B4XPages.MainPage.rutapreventa}"$)
reqManager.ExecuteCommand(cmd, "up_geolocalizacion")
skmt.ExecNonQuery2("Update cat_variables set CAT_VA_VALOR = ? WHERE CAT_VA_DESCRIPCION = ?" , Array As String(DateTime.Time(DateTime.Now),"HoraIngreso"))

View File

@@ -190,7 +190,7 @@ End Sub
'Escribimos las coordenadas (latitud, longitud, fecha) y fecha a una BD
Sub guardaInfoEnBD(coords As String) 'ignore
If Starter.logger Then Log("Guardamos ubicacion en BD - "&coords)
If B4XPages.MainPage.logger Then Log("Guardamos ubicacion en BD - "&coords)
Try
Dim latlon() As String = Regex.Split("\|", coords)
If latlon.Length < 2 Then latlon = Regex.Split(",", coords) 'Si son menos de 2, entonces estan separadas por comas y no por "|"
@@ -215,10 +215,10 @@ Sub dameRuta(inicioRuta As String, origenRuta As String) As String 'ignore
fechaInicio = fechaInicioHoy
' Log("fechaInicio string="&fechaInicio)
End Try
If Starter.logger Then Log("fechaInicio: "&fechaInicio&" | rutaHrsAtras="&rutaHrsAtras) 'fechaKMT(DateTime.Now)
If B4XPages.MainPage.logger Then Log("fechaInicio: "&fechaInicio&" | rutaHrsAtras="&rutaHrsAtras) 'fechaKMT(DateTime.Now)
Dim c As Cursor
If kmt.IsInitialized = False Then kmt.Initialize(Starter.ruta, "kmt.db", True)
If Starter.logger Then Log("select FECHA, LAT, LON from "& origenRuta &" where FECHA > " & fechaInicio & " order by FECHA desc limit " & rutaMaxPoints)
If B4XPages.MainPage.logger Then Log("select FECHA, LAT, LON from "& origenRuta &" where FECHA > " & fechaInicio & " order by FECHA desc limit " & rutaMaxPoints)
c = kmt.ExecQuery("select FECHA, LAT, LON from "& origenRuta &" where FECHA > " & fechaInicio & " order by FECHA desc limit " & rutaMaxPoints)
c.Position = 0
Dim ruta2 As String = ""
@@ -424,10 +424,10 @@ Sub revisaUUG 'ignore
revisaFLP
If Tracker.FLP.GetLastKnownLocation.IsInitialized Then
Dim daa As Int = Tracker.UUGCoords.DistanceTo(Tracker.FLP.GetLastKnownLocation) 'Distancia de la UUG a la actual de Tracker.FLP.GetLastKnownLocation
If Starter.logger Then LogColor($"**** UUC "${fechaKMT(Tracker.FLP.GetLastKnownLocation.Time)}|$0.2{Tracker.FLP.GetLastKnownLocation.Accuracy}|$0.8{Tracker.FLP.GetLastKnownLocation.Latitude}|$0.8{Tracker.FLP.GetLastKnownLocation.Longitude}|$0.2{Tracker.FLP.GetLastKnownLocation.Speed}|"$, Colors.RGB(255,112,35))
If B4XPages.MainPage.Logger Then LogColor($"**** UUC "${fechaKMT(Tracker.FLP.GetLastKnownLocation.Time)}|$0.2{Tracker.FLP.GetLastKnownLocation.Accuracy}|$0.8{Tracker.FLP.GetLastKnownLocation.Latitude}|$0.8{Tracker.FLP.GetLastKnownLocation.Longitude}|$0.2{Tracker.FLP.GetLastKnownLocation.Speed}|"$, Colors.RGB(255,112,35))
If daa > 40 And Tracker.FLP.GetLastKnownLocation.Accuracy < 35 Then 'Si la distancia de la ubicacion anterior es mayor de XX y la precision es menor de XX, la guardamos ...
kmt.ExecNonQuery2("INSERT INTO RUTA_GPS(fecha, lat, lon) VALUES (?,?,?)", Array As Object (fechaKMT(Tracker.FLP.GetLastKnownLocation.Time),Tracker.FLP.GetLastKnownLocation.Latitude,Tracker.FLP.GetLastKnownLocation.Longitude))
If Starter.logger Then Log("++++ Distancia a anterior="&daa&"|"&"Precision="&Tracker.FLP.GetLastKnownLocation.Accuracy)
If B4XPages.MainPage.Logger Then Log("++++ Distancia a anterior="&daa&"|"&"Precision="&Tracker.FLP.GetLastKnownLocation.Accuracy)
End If
Tracker.UUGCoords = Tracker.FLP.GetLastKnownLocation
End If
@@ -1170,20 +1170,3 @@ Sub guardaAppInfo 'ignore
Starter.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_NAME', '${Application.LabelName}')"$)
Starter.skmt.ExecNonQuery($"insert into CAT_VARIABLES (CAT_VA_DESCRIPCION, CAT_VA_VALOR) values ('APP_VERSION', '${Application.VersionName}')"$)
End Sub
Sub deshabilitaValidaciones
Log("Deshabilitamos VERIFY_DEVICE")
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("VERIFY_DEVICE"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("VERIFY_DEVICE", 0))
Log("Deshabilitamos VALIDA_VERSION")
' Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("VALIDA_VERSION"))
' Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("VALIDA_VERSION", 0))
Log("Espeificamos LIGADO")
Starter.skmt.ExecNonQuery2("delete from CAT_VARIABLES where CAT_VA_DESCRIPCION = ?", Array As Object ("LIGADO"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_VARIABLES(CAT_VA_DESCRIPCION, CAT_VA_VALOR) VALUES (?,?)", Array As Object ("LIGADO", 1))
' B4XPages.MainPage.principal.Btn_CheckList.Enabled = True
' B4XPages.MainPage.principal.trabajar.Enabled = True
' B4XPages.MainPage.principal.Resumen.Enabled = True
' B4XPages.MainPage.principal.BUSCA.Enabled = True
ToastMessageShow("REALIZADO", False)
End Sub

View File

@@ -84,16 +84,16 @@ Sub Service_Create
End Sub
Sub flp_ConnectionSuccess
' If Starter.logger Then Log("Connected to location provider")
' If B4XPages.MainPage.logger Then Log("Connected to location provider")
'FLP.GetLastKnownLocation
End Sub
Sub flp_ConnectionFailed(ConnectionResult1 As Int)
If Starter.logger Then Log("Failed to connect to location provider")
If B4XPages.MainPage.logger Then Log("Failed to connect to location provider")
End Sub
Sub flp_ConnectionSuspended(ConnectionResult1 As Int)
If Starter.logger Then Log("FLP conection suspended")
If B4XPages.MainPage.logger Then Log("FLP conection suspended")
StartFLP
End Sub
@@ -108,13 +108,13 @@ Sub Service_Start (StartingIntent As Intent)
End Sub
Public Sub Track
If Starter.logger Then Log("Inicia Track - Tracking : "&Tracking)
If B4XPages.MainPage.logger Then Log("Inicia Track - Tracking : "&Tracking)
If Tracking Then
' Log(actualLR.GetSmallestDisplacement)
Return 'Si ya estamos "rastreando" no hacemos nada (return)
End If
If Starter.rp.Check(Starter.rp.PERMISSION_ACCESS_FINE_LOCATION) = False Then
If Starter.logger Then Log("No permission")
If B4XPages.MainPage.logger Then Log("No permission")
Return
End If
StartFLP 'Iniciamos FusedLocationProvider
@@ -122,7 +122,7 @@ Public Sub Track
End Sub
Public Sub StartFLP
' If Starter.logger Then Log("StartFLP - flpStarted="&flpStarted)
' If B4XPages.MainPage.logger Then Log("StartFLP - flpStarted="&flpStarted)
Do While FLP.IsConnected = False
Sleep(500)
' If Main.logger Then Log("sleeping")
@@ -137,19 +137,19 @@ Public Sub StartFLP
End Sub
Public Sub StartFLP2Reqs
If Starter.logger Then Log("StartFLP - flpStarted="&flpStarted)
If B4XPages.MainPage.logger Then Log("StartFLP - flpStarted="&flpStarted)
Do While FLP.IsConnected = False
Sleep(500)
If Starter.logger Then Log("sleeping GR")
If B4XPages.MainPage.logger Then Log("sleeping GR")
Loop
dameUltimaUbicacionConocida 'Regresamos ultima ubicacion conocida
FLP.RequestLocationUpdates(CreateLocationRequest2times) 'Buscamos ubicacion 2 peticiones
If Starter.logger Then Log("Buscamos ubicacion 2 peticiones")
If Starter.logger Then Log(actualLR.GetSmallestDisplacement)
If B4XPages.MainPage.logger Then Log("Buscamos ubicacion 2 peticiones")
If B4XPages.MainPage.logger Then Log(actualLR.GetSmallestDisplacement)
End Sub
Private Sub CreateLocationRequest As LocationRequest
If Starter.logger Then Log("CreateLocationRequest")
If B4XPages.MainPage.logger Then Log("CreateLocationRequest")
Dim lr As LocationRequest
lr.Initialize
lr.SetInterval(10000) 'Intervalo deseado para actualizaciones de ubicacion
@@ -161,7 +161,7 @@ Private Sub CreateLocationRequest As LocationRequest
End Sub
Private Sub CreateLocationRequest2times As LocationRequest
If Starter.logger Then Log("Iniciamos CreateLocationRequest2times")
If B4XPages.MainPage.logger Then Log("Iniciamos CreateLocationRequest2times")
Dim lr As LocationRequest
lr.Initialize
lr.SetInterval(2000) 'Intervalo deseado para actualizaciones de ubicacion
@@ -176,7 +176,7 @@ End Sub
Sub dameUltimaUbicacionConocida
If FLP.GetLastKnownLocation.IsInitialized Then 'Mandamos ultima ubicacion guardada
' If Main.logger Then Log("Mandamos UUC : "&formatoFecha(FLP.GetLastKnownLocation.Time))
If Starter.logger Then LogColor($"Mandamos UUC "${Subs.fechaKMT(FLP.GetLastKnownLocation.Time)}|Acc:$0.2{FLP.GetLastKnownLocation.Accuracy}|$0.8{FLP.GetLastKnownLocation.Latitude}|$0.8{FLP.GetLastKnownLocation.Longitude}|Spd:$0.2{FLP.GetLastKnownLocation.Speed}|"$, Colors.RGB(255,112,35))
If B4XPages.MainPage.Logger Then LogColor($"Mandamos UUC "${Subs.fechaKMT(FLP.GetLastKnownLocation.Time)}|Acc:$0.2{FLP.GetLastKnownLocation.Accuracy}|$0.8{FLP.GetLastKnownLocation.Latitude}|$0.8{FLP.GetLastKnownLocation.Longitude}|Spd:$0.2{FLP.GetLastKnownLocation.Speed}|"$, Colors.RGB(255,112,35))
Dim coords As String = FLP.GetLastKnownLocation.Latitude&","&FLP.GetLastKnownLocation.Longitude&","&formatoFecha(FLP.GetLastKnownLocation.Time)
' CallSubDelayed2(FirebaseMessaging,"mandamosLoc",coords)
Subs.mandamosLoc(coords)
@@ -198,8 +198,8 @@ Sub flp_LocationChanged (Location1 As Location)
CallSub2(Starter, "GPS_LocationChanged", Location1)
' CallSub2(gestion, "GPS_LocationChanged", Location1)
' CallSubDelayed2(gestion, "GPS_LocationChanged", Location1)
Starter.lat_gps = Location1.Latitude
Starter.lon_gps = Location1.Longitude
B4XPages.MainPage.lat_gps = Location1.Latitude
B4XPages.MainPage.lon_gps = Location1.Longitude
'/////// para la ultima ubicacion FL
Dim sDate,sTime As String
DateTime.DateFormat = "MM/dd/yyyy"
@@ -207,15 +207,15 @@ Sub flp_LocationChanged (Location1 As Location)
sTime=DateTime.Time(DateTime.Now)
Try
Starter.skmt.ExecNonQuery("DELETE FROM HIST_GPS")
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, Starter.lat_gps, Starter.lon_gps))
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_GPS (HGDATE, HGLAT, HGLON) VALUES(?,?,?) ", Array As Object (sDate & sTime, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps))
Catch
If Starter.logger Then Log("Error al borrar o insertar nuevas coordendas en HIST_GPS")
If B4XPages.MainPage.logger Then Log("Error al borrar o insertar nuevas coordendas en HIST_GPS")
End Try
'///////
Dim coords As String = Location1.Latitude&","&Location1.Longitude&","&formatoFecha(Location1.Time)
Log("Loc changed : "&Location1.Latitude&","&Location1.Longitude)
If Starter.logger Then Log("Mandamos Ubicacion")
If Starter.logger Then Log(locRequest)
If B4XPages.MainPage.logger Then Log("Mandamos Ubicacion")
If B4XPages.MainPage.logger Then Log(locRequest)
' Solo mandamos la ubicacion si la precision es menor a XX mts
If Location1.Accuracy < 100 Then
Subs.guardaInfoEnBD(coords)'Escribimos coordenadas y fecha en BD
@@ -227,7 +227,7 @@ Sub flp_LocationChanged (Location1 As Location)
Dim minsDif As Int = DateTime.Time(DateTime.Now) - B4XPages.MainPage.ultimaActualizacionGPS
' If Main.logger Then Log("UltimaAct="&Main.ultimaActualizacionGPS&" MinsDif="&minsDif)
If Location1.Accuracy < 100 And minsDif > 240 Then 'Si precision de 100 y 4 min transcurridos manda a web
If Starter.logger Then Log("actualizamos Ubicacion Web")
If B4XPages.MainPage.logger Then Log("actualizamos Ubicacion Web")
CallSubDelayed(Starter, "ENVIA_ULTIMA_GPS")
End If
DateTime.TimeFormat = origFormat 'Regresamos formato de fecha original

127
B4A/_git_tag.ps1 Normal file
View File

@@ -0,0 +1,127 @@
# --- SCRIPT DE COMMIT Y TAG (MODO IDE B4A) ---
# 0. CONFIGURACIÓN
$HacerPush = $true # Cambia a $true para que suba los cambios a GitHub
# Cargar librería visual para el MessageBox (por si se necesita en el Push)
Add-Type -AssemblyName System.Windows.Forms
# 1. AUTODESCUBRIMIENTO
$projectPath = $PSScriptRoot
Write-Host "Ruta del proyecto: $projectPath"
$b4aFileItem = Get-ChildItem -Path $projectPath -Filter "*.b4a" | Select-Object -First 1
if (-Not $b4aFileItem) {
Write-Host "ERROR: No hay archivo .b4a en esta carpeta."
return
}
$projectName = $b4aFileItem.BaseName
Write-Host "Proyecto detectado: $projectName"
# 2. LEER VERSIÓN
$versionLine = Get-Content $b4aFileItem.FullName | Select-String "#VersionName:"
if (-Not $versionLine) {
Write-Host "ERROR: Falta #VersionName en el archivo .b4a"
return
}
$version = ($versionLine -split ":")[1].Trim()
# Reemplaza cualquier espacio en blanco por un guion bajo solo para el tag
$tagName = "$version".Replace(" ", "_")
Set-Location $projectPath
# 3. COMMIT CON TORTOISEGIT
$oldCommit = git rev-parse HEAD 2>$null
Write-Host "----------------------------------------"
Write-Host "Version a etiquetar: $version"
Write-Host "Abriendo ventana de TortoiseGit..."
$pathArg = '/path:"{0}"' -f $projectPath
$msgArg = '/logmsg:"VERSION {0}"' -f $version
$cmdArg = "/command:commit"
Start-Process "TortoiseGitProc.exe" -ArgumentList $cmdArg, $pathArg, $msgArg
Write-Host "Esperando a que termines el commit en TortoiseGit..."
# El freno de mano: espera a que cierres la ventana
while (Get-Process "TortoiseGitProc" -ErrorAction SilentlyContinue) {
Start-Sleep -Seconds 1
}
$newCommit = git rev-parse HEAD 2>$null
# 4. VALIDACIÓN
if ($oldCommit -eq $newCommit) {
Write-Host "WARNING: Commit cancelado o sin cambios detectados."
return
}
Write-Host "Commit registrado exitosamente: $newCommit"
# 5. GESTIÓN DE TAGS
$tagGenerado = $false
# Revisamos si el tag ya existe localmente y lo borramos para recrearlo con el nuevo commit
if (git tag -l $tagName) {
git tag -d $tagName 2>$null | Out-Null
}
# Creamos el tag nuevo apuntando al commit que acabamos de hacer
git tag -a $tagName -m "Release version $version"
if ($?) { $tagGenerado = $true }
# 6. LÓGICA DE PUSH
if ($HacerPush) {
Write-Host "Conectando con GitHub..."
$remoteTagInfo = git ls-remote --tags origin $tagName
if ($remoteTagInfo) {
# Conflicto: Ya existe en remoto
$topForm = New-Object System.Windows.Forms.Form
$topForm.TopMost = $true
$topForm.Opacity = 0
$topForm.ShowInTaskbar = $false
$topForm.StartPosition = "CenterScreen"
$topForm.Show()
$topForm.Activate()
[System.Console]::Beep(1000, 200)
$msgBody = "El tag '$tagName' YA EXISTE en GitHub.`n`nDeseas SOBRESCRIBIRLO?`n`nSi = Borrar anterior y actualizar (Force Push).`nNo = Subir solo codigo (mantener tag viejo)."
$msgTitle = "Conflicto de Versiones - $projectName"
$respuesta = [System.Windows.Forms.MessageBox]::Show($topForm, $msgBody, $msgTitle, "YesNo", "Warning")
$topForm.Dispose()
if ($respuesta -eq "Yes") {
Write-Host "Sobrescribiendo tag en GitHub (Force Push)..."
git push origin
git push origin $tagName --force
} else {
Write-Host "Conservando tag anterior en GitHub..."
git push origin
}
} else {
# Tag Nuevo
Write-Host "Subiendo codigo y tag nuevo a GitHub..."
git push origin --follow-tags
}
} else {
Write-Host "Push OMITIDO (Switch de control apagado)."
}
# 7. REPORTE FINAL PARA EL IDE
$EstadoPush = if($HacerPush) { "SI" } else { "NO (Modo de prueba local)" }
$EstadoTag = if($tagGenerado) { "SI ($tagName)" } else { "NO (Error al generar)" }
Write-Host ""
Write-Host "========================================"
Write-Host " REPORTE DE VERSION "
Write-Host "========================================"
Write-Host " PROYECTO : $projectName"
Write-Host " TAG CREADO : $EstadoTag"
Write-Host " PUSH GITHUB: $EstadoPush"
Write-Host "========================================"

View File

@@ -78,7 +78,7 @@ Sub Process_Globals
'These variables can be accessed from all modules.
'Aqui va la liga al archivo .ver en el servidor que contiene la información de la aplicacion
Public lnk As String = "https://keymon.lat/movil/Profina/Profina_reparto.ver"
Public lnk As String = "https://keymon.net/movil/Profina/Profina_reparto.ver"
'/// En el servidor se necesita un archivo de texto (.ver) que tenga los siguientes
'/// datos separados por un tabulador

View File

@@ -127,7 +127,7 @@ Sub Camera1_PictureTaken (Data() As Byte)
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, USUARIO, "CERRADO", B4XPages.MainPage.noVenta.COMENTARIO, Starter.lat_gps, Starter.lon_gps, Data))
Starter.skmt.ExecNonQuery2("INSERT INTO NOVENTA (NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO) VALUES(?,?,?,?,?,?,?,?) ", Array As Object (cuenta,sDate & sTime, USUARIO, "CERRADO", B4XPages.MainPage.noVenta.COMENTARIO, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, Data))
Starter.skmt.ExecNonQuery($"UPDATE kmt_info set gestion = 3, HORAENT = '${sDate & " " & sTime}' where CAT_CL_CODIGO In (select cuenta from cuentaa)"$)
Starter.skmt.ExecNonQuery("update HIST_VENTAS SET HVD_RECHAZO = 1 WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
B4XPages.ShowPage("Principal")

61
_sync_project.ps1 Normal file
View File

@@ -0,0 +1,61 @@
# 1. Mensaje inicial y pausa
Clear-Host
Write-Host "Se va a hacer un respaldo del codigo actual en el directorio ""AutoBackups""" -ForegroundColor Yellow
Write-Host "y al terminar, traemos desde GitHub la ultima version del codigo." -ForegroundColor Yellow
Write-Host ""
Write-Host "Presione cualquier tecla para continuar..." -ForegroundColor Yellow
$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
# 2. Asegurar ubicación en la raíz
Set-Location $PSScriptRoot
Write-Host "`nScript ejecutado desde: $PWD" -ForegroundColor DarkGray
# 3. Buscar el proyecto
$B4AFile = Get-ChildItem -Path ".\B4A\*.b4a" | Select-Object -First 1
if (!$B4AFile) {
Write-Host "ERROR: No encontre el archivo .b4a" -ForegroundColor Red
Start-Sleep -Seconds 3
exit
}
$ProjectName = $B4AFile.BaseName
$BackupDir = ".\B4A\AutoBackups"
if (!(Test-Path $BackupDir)) { New-Item -ItemType Directory -Path $BackupDir }
Write-Host "Respaldando $ProjectName..." -ForegroundColor Cyan
# 4. Preparar archivos limpios (Método Copiar y Podar)
$tempFolder = Join-Path $env:TEMP "B4A_Stage_$ProjectName"
if (Test-Path $tempFolder) { Remove-Item $tempFolder -Recurse -Force -ErrorAction SilentlyContinue }
New-Item -ItemType Directory -Path $tempFolder | Out-Null
Write-Host "Extrayendo archivos de codigo..." -ForegroundColor Gray
foreach ($f in @("B4A", "Files")) {
if (Test-Path $f) {
$target = Join-Path $tempFolder $f
Copy-Item -Path $f -Destination $target -Recurse -Force -ErrorAction SilentlyContinue
}
}
Write-Host "Podando carpetas Objects y AutoBackups..." -ForegroundColor Gray
Remove-Item -Path "$tempFolder\B4A\Objects" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$tempFolder\B4A\AutoBackups" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$tempFolder\B4A\*.zip" -Force -ErrorAction SilentlyContinue
# 5. Zipear
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
Write-Host "Comprimiendo..." -ForegroundColor Gray
Compress-Archive -Path "$tempFolder\*" -DestinationPath "$BackupDir\$ProjectName`_$Timestamp.zip" -Force
Remove-Item $tempFolder -Recurse -Force -ErrorAction SilentlyContinue
Write-Host "¡Respaldo limpio creado con exito en AutoBackups!`n" -ForegroundColor Green
# 6. Sincronizar con GitHub (Pull forzado)
Write-Host "--- Sincronizando con GitHub (Borrando cambios locales) ---" -ForegroundColor Cyan
git fetch --all
git reset --hard origin/main
git pull
Write-Host "`n¡PROCESO COMPLETADO!" -ForegroundColor Green
# Pausa de 3 segundos para que veas el resultado antes de que se cierre sola
Start-Sleep -Seconds 3