mirror of
https://github.com/KeymonSoft/DBCheck.git
synced 2026-04-17 19:37:09 +00:00
VERSION 5.11.25
- Se corrigio el envio de bases de datos de reparto
This commit is contained in:
@@ -5,19 +5,25 @@ Type=Class
|
||||
Version=9.85
|
||||
@EndOfDesignText@
|
||||
#Region Shared Files
|
||||
'#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\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
|
||||
|
||||
'Faltan:
|
||||
@@ -261,6 +267,7 @@ Sub B4XPage_Appear
|
||||
Log(LastException)
|
||||
LogColor("Error en CAT_VARIABLES", Colors.red)
|
||||
End Try
|
||||
|
||||
If empresa.ToUpperCase.Contains("REPARTO") Then
|
||||
p_datos_reparto.Top = p_datos.Top
|
||||
p_datos_reparto.Left = p_datos.Left
|
||||
@@ -291,7 +298,11 @@ Sub B4XPage_Appear
|
||||
End Try
|
||||
' b_enviar.Enabled = False
|
||||
|
||||
Log(empresa)
|
||||
LogColor("#####################################################", Colors.red)
|
||||
LogColor($"########## ${empresa} ###############"$, Colors.red)
|
||||
LogColor("#####################################################", Colors.red)
|
||||
|
||||
empresa = empresa.Replace(" ", "_")
|
||||
p_empresa.Visible = False
|
||||
|
||||
If empresa.ToUpperCase.Contains("MARIANA") Then
|
||||
@@ -305,33 +316,33 @@ Sub B4XPage_Appear
|
||||
b_enviar.Enabled = True
|
||||
Log("Cargamos GUNA")
|
||||
else if empresa.ToUpperCase.Contains("GUNA_REPARTO") Then
|
||||
b_enviar.Text = "Enviar Guna_Reparto"
|
||||
b_valida.Text = "Validar Guna_Reparto"
|
||||
b_enviar.Text = "Enviar Guna Reparto"
|
||||
b_valida.Text = "Validar Guna Reparto"
|
||||
b_enviar.Enabled = True
|
||||
Log("Cargamos Guna_Reparto")
|
||||
else if empresa.ToUpperCase.Contains("INTMEX_REPARTO") Then
|
||||
b_enviar.Text = "Enviar Intmex_Reparto"
|
||||
b_valida.Text = "Validar Intmex_Reparto"
|
||||
b_enviar.Text = "Enviar Intmex Reparto"
|
||||
b_valida.Text = "Validar Intmex Reparto"
|
||||
b_enviar.Enabled = True
|
||||
Log("Cargamos Intmex_Reparto")
|
||||
else if empresa.ToUpperCase.Contains("MARQUEZ_REPARTO") Then
|
||||
b_enviar.Text = "Enviar Marquez_Reparto"
|
||||
b_valida.Text = "Validar Marquez_Reparto"
|
||||
b_enviar.Text = "Enviar Marquez Reparto"
|
||||
b_valida.Text = "Validar Marquez Reparto"
|
||||
b_enviar.Enabled = True
|
||||
Log("Cargamos Marquez_Reparto")
|
||||
else if empresa.ToUpperCase.Contains("MAZAPA_REPARTO") Then
|
||||
b_enviar.Text = "Enviar Mazapa_Reparto"
|
||||
b_valida.Text = "Validar Mazapa_Reparto"
|
||||
b_enviar.Text = "Enviar Mazapa Reparto"
|
||||
b_valida.Text = "Validar Mazapa Reparto"
|
||||
b_enviar.Enabled = True
|
||||
Log("Cargamos Mazapa_Reparto")
|
||||
else if empresa.ToUpperCase.Contains("DURAKELO_REPARTO") Then
|
||||
b_enviar.Text = "Enviar Durakelo_Reparto"
|
||||
b_valida.Text = "Validar Durakelo_Reparto"
|
||||
b_enviar.Text = "Enviar Durakelo Reparto"
|
||||
b_valida.Text = "Validar Durakelo Reparto"
|
||||
b_enviar.Enabled = True
|
||||
Log("Cargamos Durakelo_Reparto")
|
||||
else if empresa.ToUpperCase.Contains("PROFINA_REPARTO") Then
|
||||
b_enviar.Text = "Enviar Profina_Reparto"
|
||||
b_valida.Text = "Validar Profina_Reparto"
|
||||
b_enviar.Text = "Enviar Profina Reparto"
|
||||
b_valida.Text = "Validar Profina Reparto"
|
||||
b_enviar.Enabled = True
|
||||
Log("Cargamos Profina_Reparto")
|
||||
else if empresa.ToUpperCase.Contains("INTMEX") Then
|
||||
@@ -517,7 +528,7 @@ Sub ActualizarEtiquetasReparto
|
||||
Else
|
||||
totalcantped = 0
|
||||
End If
|
||||
Log(r5.GetString("HVD_RECHAZOCANT") &" - "& totalcantped)
|
||||
' Log(r5.GetString("HVD_RECHAZOCANT") &" - "& totalcantped)
|
||||
rescant = rescant + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("HVD_CANT")))*((r5.GetString("HVD_RECHAZOCANT") - totalcantped)))
|
||||
r6.Close
|
||||
Next
|
||||
@@ -580,7 +591,7 @@ Sub ActualizarEtiquetasReparto
|
||||
r5.Position = 0
|
||||
rescant4 = r5.GetString("HVD_COSTO_TOT")
|
||||
End If
|
||||
Log(rescant4)
|
||||
' Log(rescant4)
|
||||
r5.Close
|
||||
Catch
|
||||
Log(LastException)
|
||||
|
||||
240
B4A/C_Guna_Reparto.bas
Normal file
240
B4A/C_Guna_Reparto.bas
Normal file
@@ -0,0 +1,240 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=12.8
|
||||
@EndOfDesignText@
|
||||
Sub Class_Globals
|
||||
Private Root As B4XView 'ignore
|
||||
Private xui As XUI 'ignore
|
||||
Dim reqManager As DBRequestManager
|
||||
Dim b, c, d, e, f As Cursor
|
||||
Dim usuario, almacen As String
|
||||
Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String
|
||||
Dim l_ruta As Label
|
||||
End Sub
|
||||
|
||||
'Initializes the object. You can add parameters to this method if needed.
|
||||
Public Sub Initialize
|
||||
reqManager.Initialize(Me, "http://keymon.net:1782")
|
||||
l_ruta.Initialize("l")
|
||||
Return Me
|
||||
End Sub
|
||||
|
||||
Sub envia
|
||||
' NOVENTA
|
||||
l_ruta.text = Subs.traeRuta
|
||||
c = B4XPages.MainPage.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=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
||||
If c.RowCount>0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
c.Position=i
|
||||
Dim fotoenvio() As Byte = C.GetBlob("NV_FOTO2")
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_reparto_REPG_GUNA_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
|
||||
End If
|
||||
d.Position=0
|
||||
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
||||
d.Close
|
||||
|
||||
'PAGARES.
|
||||
Dim pa As Cursor=B4XPages.MainPage.skmt.ExecQuery("select PA_ALMACEN,PA_RUTA_REP,PA_RUTAPREV,PA_FECHA_PREV,PA_CAPTURA,PA_MONTO,PA_USUARIO,PA_CLIENTE,IFNULL(PA_CANCELADO,0) AS PA_CANCELADO from PAGARES")
|
||||
If pa.RowCount > 0 Then
|
||||
For pag = 0 To pa.RowCount - 1
|
||||
pa.Position = pag
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_reparto_PAGARES_GUNA_VN"
|
||||
Dim fechaenvio() As String
|
||||
fechaenvio = Regex.Split(" ",pa.GetString("PA_FECHA_PREV"))
|
||||
' Log(fechaenvio(0))
|
||||
Dim fechaenvio1() As String
|
||||
fechaenvio1 = Regex.Split("/",fechaenvio(0))
|
||||
Dim fechaano As String = fechaenvio1(2).SubString(2)
|
||||
Dim fechareal As String = fechaenvio1(0)&"/"&fechaenvio1(1)&"/"&fechaano
|
||||
' Log(fechareal)
|
||||
Dim fechacap() As String
|
||||
fechacap = Regex.Split("/",pa.GetString("PA_CAPTURA"))
|
||||
Dim fechacapano As String = fechacap(2).SubString(2)
|
||||
Dim fechacapreal As String = fechacap(0)&"/"&fechacap(1)&"/"&fechacapano
|
||||
If pa.GetString("PA_CANCELADO") = "2" Then
|
||||
cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),pa.GetString("PA_MONTO"),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),pa.GetString("PA_RUTA_REP"),fechareal,pa.GetString("PA_USUARIO"),2)
|
||||
Else
|
||||
cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),pa.GetString("PA_MONTO"),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),pa.GetString("PA_RUTA_REP"),fechareal,pa.GetString("PA_USUARIO"),"")
|
||||
End If
|
||||
reqManager.ExecuteCommand(cmd , "ins_pagares")
|
||||
Next
|
||||
End If
|
||||
pa.Close
|
||||
|
||||
'ABONOS
|
||||
d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
|
||||
d.Position = 0
|
||||
Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null and a_tipoabono IS NULL"$)
|
||||
Log(ab.RowCount)
|
||||
If ab.RowCount > 0 Then
|
||||
For i=0 To ab.RowCount -1
|
||||
ab.Position = i
|
||||
' Dim ab1 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT SUM(a_abono) AS a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NULL"$)
|
||||
Dim ab1 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NULL"$)
|
||||
ab1.Position = 0
|
||||
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_abono_REP_GUNA_VN2"
|
||||
cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),almacen,"REPARTO",d.GetString("RUTAA"), "", ab.GetString("TIPO_PAGO"),ab.GetString("a_ticket"),ab.GetString("a_numpago"))
|
||||
reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
|
||||
ab1.Close
|
||||
Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
|
||||
Next
|
||||
End If
|
||||
ab.Close
|
||||
d.Close
|
||||
|
||||
'ABONOS NUEVOS
|
||||
d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
|
||||
d.Position = 0
|
||||
Dim ab As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT * from ABONOS where a_enviado is null and a_tipoabono IS NOT NULL"$)
|
||||
Log(ab.RowCount)
|
||||
If ab.RowCount > 0 Then
|
||||
For i=0 To ab.RowCount -1
|
||||
ab.Position = i
|
||||
' Dim ab1 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT SUM(a_abono) AS a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NOT NULL"$)
|
||||
Dim ab1 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}' and a_tipoabono IS NOT NULL"$)
|
||||
ab1.Position = 0
|
||||
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_abono_REP_GUNA_VN2"
|
||||
cmd.Parameters = Array As Object( ab.GetString("a_usuario"), ab.GetString("a_ruta"), ab.GetString("a_cliente"), ab.GetString("a_abono"), ab.GetString("a_fecha"),almacen,"REPARTO",d.GetString("RUTAA"), "1", ab.GetString("TIPO_PAGO"),ab.GetString("a_ticket"),ab.GetString("a_numpago") )
|
||||
reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
|
||||
ab1.Close
|
||||
Log($"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
|
||||
Next
|
||||
End If
|
||||
ab.Close
|
||||
d.Close
|
||||
|
||||
' pedido
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("SELECT PE_TIPO, PE_RUTA, PE_CEDIS, PE_COSTO_TOT, PE_COSTOU, PE_CANT, PE_PRONOMBRE, PE_PROID, PE_CLIENTE, PE_FECHA, PE_USUARIO, PE_CLIENTEOR, PE_CAJAS, PE_BCAJAS, CONSECUTIVO, FECHA_PREV, RUTA_REP, PE_REGALO FROM PEDIDO")
|
||||
If c.RowCount>0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
c.Position=i
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_pedido_REP_GUNA_VN"
|
||||
cmd.Parameters = Array As Object(c.GetString("PE_TIPO"), c.GetString("PE_RUTA"), c.GetString("PE_CEDIS"), c.GetString("PE_COSTO_TOT"), c.GetString("PE_COSTOU"), c.GetString("PE_CANT"), c.GetString("PE_PRONOMBRE"), c.GetString("PE_PROID"), c.GetString("PE_CLIENTE"), c.GetString("PE_FECHA"), c.GetString("PE_USUARIO"), c.GetString("PE_CLIENTEOR"), c.GetString("PE_CAJAS"), c.GetString("PE_BCAJAS"), c.GetString("CONSECUTIVO"), c.GetString("FECHA_PREV"), c.GetString("RUTA_REP"), c.GetString("PE_REGALO"))
|
||||
reqManager.ExecuteCommand(cmd , "ins_pedido_Inmtex")
|
||||
Next
|
||||
c.Close
|
||||
End If
|
||||
|
||||
'TABULADOR
|
||||
c = B4XPages.MainPage.skmt.ExecQuery("SELECT VEINTE, DIEZ, CINCO, DOS, PESO, CENTAVO, TOTAL FROM TABULADOR_MONEDAS")
|
||||
d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
|
||||
b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN")
|
||||
f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS")
|
||||
d.Position = 0
|
||||
b.Position = 0
|
||||
f.Position = 0
|
||||
If c.RowCount > 0 Then
|
||||
For i = 0 To c.RowCount - 1
|
||||
c.Position=i
|
||||
Dim cmd As DBCommand
|
||||
Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA"))
|
||||
|
||||
Dim fechatabulador3 As String = fechatabulador(0)
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_tabulador_monedas_GUNA_VN"
|
||||
cmd.Parameters = Array As Object(d.GetString("RUTAA"), b.GetString("ID_ALMACEN"),c.GetString("VEINTE"),c.GetString("DIEZ"),c.GetString("CINCO"),c.GetString("DOS"),c.GetString("PESO"),c.GetString("CENTAVO"),fechatabulador3)
|
||||
reqManager.ExecuteCommand(cmd , "ins_tabulador_mon")
|
||||
Next
|
||||
c.Close
|
||||
d.Close
|
||||
b.Close
|
||||
f.Close
|
||||
End If
|
||||
c = B4XPages.MainPage.skmt.ExecQuery("SELECT MIL, QUINIENTOS, DOCIENTOS, CIEN, CINCUENTA, VEINTE FROM TABULADOR_BILLETES")
|
||||
d = B4XPages.MainPage.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
|
||||
b = B4XPages.MainPage.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN")
|
||||
f = B4XPages.MainPage.skmt.ExecQuery("SELECT HVD_FECHA FROM HIST_VENTAS")
|
||||
d.Position = 0
|
||||
b.Position = 0
|
||||
f.Position = 0
|
||||
If c.RowCount > 0 Then
|
||||
For i = 0 To c.RowCount - 1
|
||||
c.Position=i
|
||||
Dim cmd As DBCommand
|
||||
Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA"))
|
||||
Dim fechatabulador3 As String = fechatabulador(0)
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_tabulador_billetes_GUNA_VN"
|
||||
cmd.Parameters = Array As Object(b.GetString("ID_ALMACEN"), d.GetString("RUTAA"),c.GetString("MIL"),c.GetString("QUINIENTOS"),c.GetString("DOCIENTOS"),c.GetString("CIEN"),c.GetString("CINCUENTA"),c.GetString("VEINTE"),fechatabulador3)
|
||||
reqManager.ExecuteCommand(cmd , "ins_tabulador_bill")
|
||||
Next
|
||||
c.Close
|
||||
d.Close
|
||||
b.Close
|
||||
f.Close
|
||||
End If
|
||||
'FIN TABULADOR
|
||||
|
||||
c = B4XPages.MainPage.skmt.ExecQuery("SELECT IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_CLIENTE, HVD_PROID, HVD_FECHA, HVD_CODPROMO, HVD_NUM_TICKET, HVD_CANT, CONSECUTIVO, BCAJAS, CANTC FROM HIST_VENTAS where HVD_PRONOMBRE <> 'Cobranza Pendiente'")
|
||||
If c.RowCount > 0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
c.Position = i
|
||||
Log(c.GetString("HVD_CLIENTE"))
|
||||
Private d4 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT CAT_CL_RUTA FROM kmt_info WHERE CAT_CL_CODIGO = '${c.GetString("HVD_CLIENTE")}'"$)
|
||||
d4.Position = 0
|
||||
Log(d4.GetString("CAT_CL_RUTA"))
|
||||
Private d5 As Cursor = B4XPages.MainPage.skmt.ExecQuery($"SELECT IFNULL(Sum(PE_CANT),0) AS PE_CANT FROM PEDIDO WHERE PE_CLIENTEOR = '${c.GetString("HVD_CLIENTE")}' AND PE_PROID = '${c.GetString("HVD_PROID")}' AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$)
|
||||
d5.Position = 0
|
||||
Private restacant As String = d5.GetString("PE_CANT")
|
||||
d5.Close
|
||||
Dim fecha1() As String = Regex.Split(" ", c.GetString("HVD_FECHA"))
|
||||
Dim fecha3 As String = fecha1(0)
|
||||
Log(fecha3)
|
||||
Dim hora() As String = Regex.Split("\.", fecha1(1))
|
||||
Log(hora(0))
|
||||
Dim sDate, sTime As String
|
||||
DateTime.DateFormat = "dd/MM/yyyy"
|
||||
DateTime.TimeFormat = "HH:mm:ss"
|
||||
sDate = DateTime.Date(DateTime.Now)
|
||||
sTime = DateTime.Time(DateTime.Now)
|
||||
If c.GetString("HVD_RECHAZOCANT") <> "0" Then
|
||||
Log((c.GetString("HVD_RECHAZOCANT")-restacant))
|
||||
cmd.Initialize
|
||||
cmd.Name = "update_HVD_GUNA_VN2"
|
||||
cmd.Parameters = Array As String(c.GetString("HVD_RECHAZOCANT"),sDate& " "& sTime,1,Subs.traeUsuario, c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), d4.GetString("CAT_CL_RUTA"),almacen,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT"))
|
||||
reqManager.ExecuteCommand(cmd, "update_hvd")
|
||||
Log("ENVIE RECHAZO")
|
||||
Else
|
||||
cmd.Initialize
|
||||
cmd.Name = "update_HVD_GUNA_VN2"
|
||||
Log( c.GetString("CANTC")& c.GetString("HVD_CLIENTE")& c.GetString("HVD_PROID")&fecha3&" "&hora(0)& d4.GetString("CAT_CL_RUTA")&almacen&l_ruta.Text&c.GetString("HVD_CODPROMO")&c.GetString("HVD_NUM_TICKET")& c.GetString("HVD_CANT"))
|
||||
cmd.Parameters = Array As String("","","",Subs.traeUsuario, c.GetString("HVD_CLIENTE"), c.GetString("HVD_PROID"),fecha3&" "&hora(0), d4.GetString("CAT_CL_RUTA"),almacen,l_ruta.Text,c.GetString("HVD_CODPROMO"),c.GetString("HVD_NUM_TICKET"), c.GetString("HVD_CANT"))
|
||||
reqManager.ExecuteCommand(cmd, "update_hvd")
|
||||
End If
|
||||
d4.Close
|
||||
Next
|
||||
End If
|
||||
c.Close
|
||||
' Dim cmd As DBCommand
|
||||
' cmd.Initialize
|
||||
' cmd.Name = "insert_drop_rep_GUNA_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
|
||||
|
||||
' Nuevo método para inicializar el manager con el Target correcto
|
||||
Public Sub ConfigurarYEnviar(ServidorURL As String)
|
||||
' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado.
|
||||
reqManager.Initialize(Me, ServidorURL)
|
||||
envia ' Llama a la función de envío original de C_Intmex
|
||||
End Sub
|
||||
@@ -39,7 +39,7 @@ Sub envia
|
||||
d.Position=0
|
||||
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
||||
d.Close
|
||||
|
||||
|
||||
'Buscamos ordenes a reprogramar.
|
||||
Dim r As Cursor =B4XPages.MainPage.skmt.ExecQuery("select * from noventa where nv_reprogramar = 1")
|
||||
If r.RowCount > 0 Then
|
||||
@@ -81,7 +81,7 @@ Sub envia
|
||||
fechacap = Regex.Split("/",pa.GetString("PA_CAPTURA"))
|
||||
Dim fechacapano As String = fechacap(2).SubString(2)
|
||||
Dim fechacapreal As String = fechacap(0)&"/"&fechacap(1)&"/"&fechacapano
|
||||
|
||||
|
||||
cmd.Parameters = Array As Object(pa.GetString("PA_CLIENTE"),pa.GetString("PA_MONTO"),fechacapreal,pa.GetString("PA_ALMACEN"),pa.GetString("PA_RUTAPREV"),pa.GetString("PA_RUTA_REP"),fechareal,pa.GetString("PA_USUARIO"))
|
||||
reqManager.ExecuteCommand(cmd , "ins_pagares")
|
||||
Next
|
||||
@@ -112,8 +112,7 @@ Sub envia
|
||||
Next
|
||||
End If
|
||||
ab.Close
|
||||
|
||||
|
||||
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM hist_ventas WHERE HVD_RECHAZO = 1 ")
|
||||
If c.RowCount>0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
@@ -233,7 +232,7 @@ Public Sub ConfigurarYEnviar(ServidorURL As String)
|
||||
End Sub
|
||||
|
||||
Sub JobDone(Job As HttpJob)
|
||||
Log("JOBDONE INTMEX")
|
||||
Log("JOBDONE INTMEX REPARTO")
|
||||
Log(reqManager.link)
|
||||
If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
|
||||
If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then
|
||||
|
||||
552
B4A/C_Marquez.bas
Normal file
552
B4A/C_Marquez.bas
Normal file
@@ -0,0 +1,552 @@
|
||||
B4A=true
|
||||
Group=Default Group
|
||||
ModulesStructureVersion=1
|
||||
Type=Class
|
||||
Version=12.8
|
||||
@EndOfDesignText@
|
||||
Sub Class_Globals
|
||||
Private Root As B4XView 'ignore
|
||||
Private xui As XUI 'ignore
|
||||
Dim reqManager As DBRequestManager
|
||||
Dim cmd As DBCommand
|
||||
Dim datos_iguales, almacen, carga, paso, conteo, porcentaje, perfil, cuantos, NUMERO_PEDIDO, usuario, cuantos_exib, cuantos_pedidosc, cuantos_noventa, cuantos_ped, cuantos_pedido As String
|
||||
Dim e1, c, d, d3, d9 As Cursor
|
||||
Dim l_ruta, L_ABORDO, l_porvisitar As Label
|
||||
Dim sDate,sTime As String
|
||||
Dim userpiezas As String
|
||||
Dim T3, T4 As Timer
|
||||
Dim enviando As Boolean = False
|
||||
Dim validando As Boolean = False
|
||||
End Sub
|
||||
|
||||
'You can add more parameters here.
|
||||
Public Sub Initialize As Object
|
||||
' reqManager.Initialize(Me, "http://keymon.lat:1781")
|
||||
reqManager.Initialize(Me, "http://keymon.net:1781")
|
||||
l_ruta.Initialize("")
|
||||
L_ABORDO.Initialize("")
|
||||
l_porvisitar.Initialize("")
|
||||
T4.Initialize("T4", 3000)
|
||||
T4.Enabled = False
|
||||
End Sub
|
||||
|
||||
'This event will be called once, before the page becomes visible.
|
||||
Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Root = Root1
|
||||
'load the layout to Root
|
||||
|
||||
End Sub
|
||||
|
||||
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||
|
||||
Sub envia
|
||||
carga = "SUBIR"
|
||||
almacen = Subs.traeAlmacen
|
||||
l_ruta.TEXT = Subs.traeRuta
|
||||
' p_mandaInfo.Width = Root.Width
|
||||
' p_mandaInfo.Height = Root.Height
|
||||
' P1.Visible = True
|
||||
' P1.Left = (p_mandaInfo.Width/2) - (P1.Width/2)
|
||||
' P1.top = (p_mandaInfo.Height/2) - (P1.Height/2)
|
||||
' p_mandaInfo.Visible = True
|
||||
' P1.BringToFront
|
||||
' p_mandaInfo.BringToFront
|
||||
'trabajar.Visible = False
|
||||
' NUEVO.Visible =False
|
||||
' BUSCA.Visible=False
|
||||
' connecta.Visible=False
|
||||
' Subir.Visible=False
|
||||
' cargar.Visible=False
|
||||
' L_P_1.Visible = False
|
||||
' S_CC.Visible = False
|
||||
' L_P_3.Visible = False
|
||||
' S_CH.Visible = False
|
||||
' PB1.Visible = False
|
||||
' Resumen.Visible= False
|
||||
' L_P_2.Text = "Envio de Pedidos"
|
||||
' L_P_3.Text = "Envio de Pedidos"
|
||||
' S_CH.Text = "EN PROCESO"
|
||||
' S_CP.Text = "EN PROCESO"
|
||||
' PB1.Progress = 0
|
||||
' PB2.Progress = 0
|
||||
'c=skmt.ExecQuery("SELECT sum(IFNULL(PE_DESC,0)) as DESCUENTO FROM PEDIDO")
|
||||
'c.Position =0
|
||||
'If c.GetString("DESCUENTO") > 0 And PASO = 0 Then
|
||||
'P1.Visible = True
|
||||
'ELSE IF c.GetString("DESCUENTO") = 0 Then
|
||||
paso = 1
|
||||
'End If
|
||||
If paso = 1 Then
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("delete from PEDIDO WHERE PE_PRONOMBRE = ? ", Array As Object("N/A") )
|
||||
B4XPages.MainPage.skmt.ExecNonQuery("delete from pedido_cliente where PC_CLIENTE not In (select PE_CLIENTE from pedido)")
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("select usuario from usuarioa")
|
||||
c.Position = 0
|
||||
usuario = c.GetString("USUARIO")
|
||||
c.Close
|
||||
' c=B4XPages.MainPage.skmt.ExecQuery("select HGDATE, HGLAT, HGLON from HIST_GPS")
|
||||
' If c.RowCount>0 Then
|
||||
' For i=0 To c.RowCount -1
|
||||
' c.Position=i
|
||||
' Dim cmd As DBCommand
|
||||
' cmd.Initialize
|
||||
' cmd.Name = "UPDATE_MARQUEZ_ACTUAL2_GPS"
|
||||
' cmd.Parameters = Array As Object(L_MONTOD.Text, L_CUANTOST.Text, l_cuantosc.Text,l_porvisitar.TEXT,c.GetString("hglat"),c.GetString("hglon"),batterystatus(0),LPT, STEYIN, STEYOUT,almacen,l_ruta.Text )
|
||||
' reqManager.ExecuteCommand(cmd , "update_gps")
|
||||
' Next
|
||||
' End If
|
||||
' c.Close
|
||||
|
||||
' ENVIO DE LOS CODIGOS QR
|
||||
'c=skmt.ExecQuery2("SELECT CAT_CL_NUM_SERIEFISICO,CAT_CL_CODIGO ,CAT_CL_LONG,CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO = ?", Array As String("OK"))
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CODIGOKMTS, CODIGOB, LAT, LON FROM HIST_CODIGO_BARRAS" )
|
||||
If c.RowCount>0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
c.Position=i
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_QR_2_MARQUEZ"
|
||||
cmd.Parameters = Array As Object(C.GetString("CODIGOKMTS"),C.GetString("CODIGOB"),C.GetString("LON"),C.GetString("LAT"),almacen,l_ruta.text )
|
||||
reqManager.ExecuteCommand(cmd , "ins_QR")
|
||||
Next
|
||||
End If
|
||||
c.Close
|
||||
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CAT_CL_NUM_SERIEFISICO, CAT_CL_CODIGO, CAT_CL_LONG, CAT_CL_LAT, CAT_CL_FOTO FROM kmt_info where CAT_CL_NUM_SERIEFISICO IS NOT NULL")
|
||||
If c.RowCount>0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
c.Position=i
|
||||
's=skmt.ExecQuery2("SELECT HIST_VI_IMAGEN FROM HIST_VISITAS WHERE HIST_VI_CREDITO =?", Array As String (c.GetString("HIST_VI_CREDITO")))
|
||||
's.Position =0
|
||||
' foto1 = c.GetBlob("CAT_CL_FOTO")
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_QR_MARQUEZ"
|
||||
cmd.Parameters = Array As Object(C.GetString("CAT_CL_NUM_SERIEFISICO"),C.GetString("CAT_CL_CODIGO"),C.GetString("CAT_CL_LONG"),C.GetString("CAT_CL_LAT"),almacen,l_ruta.text )
|
||||
reqManager.ExecuteCommand(cmd , "ins_QR")
|
||||
Next
|
||||
End If
|
||||
c.Close
|
||||
|
||||
'Envio de Pagares
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PAGARES")
|
||||
If c.RowCount>0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
c.Position=i
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_pagares_MARQUEZ"
|
||||
cmd.Parameters = Array As Object(C.GetString("PA_ALMACEN"),Subs.traeRuta2(c.GetString("PA_CLIENTE")),C.GetString("PA_FECHA"),C.GetString("PA_CAPTURA"),C.GetString("PA_MONTO"),C.GetString("PA_USUARIO"),C.GetString("PA_CLIENTE") )
|
||||
reqManager.ExecuteCommand(cmd , "ins_pagares")
|
||||
Next
|
||||
End If
|
||||
c.Close
|
||||
|
||||
' CLIENTES NUEVOS
|
||||
' Dim fotocn() As Byte
|
||||
' Dim Dirp As String = File.DirInternal
|
||||
' Dim Dir As String
|
||||
' Dim Dir2 As String
|
||||
' Dir = "/promotoriakmts"
|
||||
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("SELECT CN_ID, CN_FECHA , CN_USER, CN_LAT, CN_LON, CN_NOMBRE, CN_DIRECCION, CN_FOTO, CN_ALMACEN, CN_RUTA, CN_GIRO, CN_SOLICITA, CN_COLONIA, CN_TELEFONO FROM CLIENTES_NUEVOS")
|
||||
If c.RowCount>0 Then
|
||||
For i = 0 To c.RowCount - 1
|
||||
c.Position = i
|
||||
Dim dia As Int = DateTime.GetDayOfWeek(DateTime.Now)
|
||||
If dia = 2 Then
|
||||
Dim dialetra As String = "LUNES"
|
||||
Else If dia = 3 Then
|
||||
Dim dialetra As String = "MARTES"
|
||||
Else If dia = 4 Then
|
||||
Dim dialetra As String = "MIERCOLES"
|
||||
Else If dia = 5 Then
|
||||
Dim dialetra As String = "JUEVES"
|
||||
Else If dia = 6 Then
|
||||
Dim dialetra As String = "VIERNES"
|
||||
Else If dia = 7 Then
|
||||
Dim dialetra As String = "SABADO"
|
||||
End If
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_clientesnuevos_MARQUEZ3"
|
||||
cmd.Parameters = Array As Object(c.GetString("CN_ID"), c.GetString("CN_FECHA"), c.GetString("CN_USER"), c.GetString("CN_LAT"), c.GetString("CN_LON"), c.GetString("CN_NOMBRE"), c.GetString("CN_DIRECCION"),almacen, c.GetString("CN_RUTA"), "En espera",c.GetString("CN_GIRO"),dialetra, c.GetString("CN_SOLICITA"), c.GetString("CN_COLONIA"), c.GetString("CN_TELEFONO"))
|
||||
reqManager.ExecuteCommand(cmd , "inst_clientesn")
|
||||
Next
|
||||
End If
|
||||
c.Close
|
||||
|
||||
' c=B4XPages.MainPage.skmt.ExecQuery("SELECT HE_CLIE, HE_RES, HE_FECHA, HE_TIPO FROM HIST_ENCUESTA")
|
||||
' If c.RowCount>0 Then
|
||||
' For i=0 To c.RowCount -1
|
||||
' c.Position=i
|
||||
' Dim cmd As DBCommand
|
||||
' cmd.Initialize
|
||||
' cmd.Name = "insert_encuesta_INTMEX"
|
||||
' cmd.Parameters = Array As Object(C.GetString("HE_CLIE"),C.GetString("HE_RES"),C.GetString("HE_FECHA"), c.GetString("HE_TIPO"))
|
||||
' reqManager.ExecuteCommand(cmd , "inst_noventa")
|
||||
' Next
|
||||
' End If
|
||||
' c.Close
|
||||
|
||||
' PEDIDO_CLIENTE
|
||||
Dim PCNoArts As String
|
||||
Dim PCMonto As String
|
||||
c = B4XPages.MainPage.skmt.ExecQuery("SELECT PC_CLIENTE, PC_FECHA, PC_USER, PC_NOART, PC_MONTO,PC_LON, PC_LAT, PC_COSTO_SIN, PC_RUTA, PC_ALMACEN, PC_FACTURA FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> '1' ")
|
||||
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 1 ")
|
||||
If c.RowCount > 0 Then
|
||||
For i = 0 To c.RowCount - 1
|
||||
c.Position = i
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_pedidos_MARQUEZ"
|
||||
PCNoArts = c.GetString("PC_NOART")
|
||||
PCMonto = c.GetString("PC_MONTO")
|
||||
cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), c.GetString("PC_FECHA"), c.GetString("PC_USER"), c.GetString("PC_NOART"), c.GetString("PC_MONTO"), c.GetString("PC_LON"), c.GetString("PC_LAT"), almacen, Subs.traeRuta2(c.GetString("PC_CLIENTE")), c.GetString("PC_COSTO_SIN"), c.GetString("PC_FACTURA"))
|
||||
reqManager.ExecuteCommand(cmd , "ins_pedidos")
|
||||
Log(">>>>>> INSERT PEDIDO_CLIENTE")
|
||||
Next
|
||||
End If
|
||||
c.Close
|
||||
d.Position = 0
|
||||
cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC")
|
||||
d.Close
|
||||
|
||||
' PEDIDO
|
||||
c = B4XPages.MainPage.skmt.ExecQuery("SELECT PE_CEDIS,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO, PE_COSTO_SIN, PE_RUTA, PE_DESC, PE_FOLIO, PE_CANTC, PE_BCAJAS FROM PEDIDO WHERE PE_FOLIO <> 'RECARGA'")
|
||||
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
||||
If c.RowCount > 0 Then
|
||||
For i = 0 To c.RowCount - 1
|
||||
c.Position = i
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_pedido2_MARQUEZ" 'CON TOTALES INCLUIDOS
|
||||
Log(c.GetString("PE_CEDIS")&", "&almacen&", "&c.GetString("PE_COSTO_TOT")&", "&c.GetString("PE_COSTOU")&", "&c.GetString("PE_CANT")&", "&c.GetString("PE_PRONOMBRE")&", "&c.GetString("PE_PROID")&", "&c.GetString("PE_CLIENTE")&", "&c.GetString("PE_FECHA")&", "&c.GetString("PE_USUARIO")&", "&Subs.traeRuta2(c.GetString("PE_CLIENTE"))&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& almacen)
|
||||
cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),almacen,c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),c.GetString("PE_FOLIO"),c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"))
|
||||
reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$)
|
||||
' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$)
|
||||
' cmd.Name = "insert_pedido_INTMEX" ' SIN TOTALES INCLUIDOS
|
||||
' cmd.Parameters = Array As Object(C.GetString("PE_CEDIS"),ALMACEN,C.GetString("PE_COSTO_TOT"),C.GetString("PE_COSTOU"),C.GetString("PE_CANT"),C.GetString("PE_PRONOMBRE"),C.GetString("PE_PROID"),C.GetString("PE_CLIENTE"),C.GetString("PE_FECHA"),C.GetString("PE_USUARIO"),C.GetString("PE_RUTA"), C.GetString("PE_COSTO_SIN"),C.GetString("PE_DESC"),c.GetString("PE_FOLIO"))
|
||||
' reqManager.ExecuteCommand(cmd , "ins_pedido")
|
||||
Next
|
||||
End If
|
||||
c.Close
|
||||
d.Position=0
|
||||
cuantos_pedido = D.GetString("CUANTOS_PEDIDO")
|
||||
d.Close
|
||||
|
||||
' NOVENTA
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON FROM NOVENTA")
|
||||
D=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
||||
If c.RowCount>0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
c.Position=i
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_noventa_MARQUEZ"
|
||||
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, Subs.traeRuta2(c.GetString("NV_CLIENTE")))
|
||||
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
||||
Next
|
||||
End If
|
||||
c.Close
|
||||
d.Position=0
|
||||
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
||||
d.Close
|
||||
|
||||
' GEO CERCA
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("Select HGCLIENTE, HGDATE, HGLAT, HGLON from HIST_GEOCERCA")
|
||||
If c.RowCount>0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
c.Position=i
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_geocerca_MARQUEZ"
|
||||
cmd.Parameters = Array As Object(C.GetString("HGCLIENTE"),C.GetString("HGDATE"),C.GetString("HGLAT"),C.GetString("HGLON"))
|
||||
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
||||
Next
|
||||
End If
|
||||
c.Close
|
||||
|
||||
' LO DEL LIKE
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("Select HFCLIENTE, HFALIAS,HFRUTA,HFALMACEN from HIST_FACE")
|
||||
If c.RowCount>0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
c.Position=i
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_face_like_MARQUEZ"
|
||||
cmd.Parameters = Array As Object(C.GetString("HFCLIENTE"),C.GetString("HFALIAS"),C.GetString("HFRUTA"),C.GetString("HFALMACEN"))
|
||||
reqManager.ExecuteCommand(cmd , "inst_noventa")
|
||||
Next
|
||||
End If
|
||||
c.Close
|
||||
|
||||
' DROP
|
||||
' t1.Initialize("T1", 30000) ' 1000 = 1 second
|
||||
' t1.Enabled = True
|
||||
' Dim sDate,sTime As String
|
||||
' DateTime.DateFormat = "MM/dd/yyyy"
|
||||
' sDate=DateTime.Date(DateTime.Now)
|
||||
' sTime=DateTime.Time(DateTime.Now)
|
||||
' Dim cmd As DBCommand
|
||||
' cmd.Initialize
|
||||
' cmd.Name ="insert_drop_MARQUEZ"
|
||||
' cmd.Parameters = Array As Object(usuario,l_ruta.Text,sDate & sTime, l_porvisitar.Text,l_drop.Text,l_efectiva.Text,l_cuantosc.Text,l_cuantosn.Text, L_MONTOD.Text,"ENVIO",almacen,Application.VersionName)
|
||||
' reqManager.ExecuteCommand(cmd , "inst_noventa")
|
||||
'' img2.Visible =True
|
||||
' porcentaje = Round(100/ (cuantos_noventa + cuantos_pedido + cuantos_pedidosc + 1))
|
||||
' If Starter.marcaCel <> "Sony" Then ToastMessageShow("Se Actualizaran los datos, Este proceso podria tardar hasta un minuto, gracias "& l_ruta.text , True)
|
||||
|
||||
' 'CUESTIONARIOS
|
||||
' c = B4XPages.MainPage.skmt.ExecQuery($"select * from cuestionario"$)
|
||||
' Private rutaActual As String = Subs.traeRuta
|
||||
' If c.RowCount > 0 Then
|
||||
' For x = 0 To c.RowCount - 1
|
||||
' c.Position = x
|
||||
' Dim cmd As DBCommand
|
||||
' cmd.Initialize
|
||||
' cmd.Name = "insert_CUESTIONARIO_INTMEX"
|
||||
' cmd.Parameters = Array As Object(c.GetString("Q_IDCLIENTE"), rutaActual, ALMACEN, c.GetString("Q_FECHA"), c.GetString("Q_IDPREGUNTA"), c.GetString("Q_PREGUNTA"), c.GetString("Q_IDRESPUESTA"), C.GetString("Q_RESPUESTA"))
|
||||
' reqManager.ExecuteCommand(cmd , "ins_cuestionario")
|
||||
' Next
|
||||
' End If
|
||||
' c.Close
|
||||
|
||||
c = B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE <> 01")
|
||||
If c.RowCount > 0 Then
|
||||
For i = 0 To c.RowCount - 1
|
||||
c.Position = i
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_piezas_MARQUEZ"
|
||||
cmd.Parameters = Array As Object(c.GetString("PC_CLIENTE"), almacen,l_ruta.Text)
|
||||
userpiezas = c.GetString("PC_CLIENTE")
|
||||
reqManager.ExecuteQuery(cmd , 0, "piezas")
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
T4.Initialize("T4", 3000)
|
||||
T4.Enabled = True
|
||||
End Sub
|
||||
|
||||
Sub JobDone(Job As HttpJob)
|
||||
Log("JOBDONE MARQUEZ")
|
||||
If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
|
||||
LogColor($">>>>>>>>>> Llega ${Job.tag} <<<<<<<<<<"$, Colors.Blue)
|
||||
If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then
|
||||
reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag))
|
||||
' LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue)
|
||||
End If
|
||||
LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue)
|
||||
End If
|
||||
If Job.Success = False Then
|
||||
LogColor("############################################", Colors.red)
|
||||
LogColor("#### Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red)
|
||||
LogColor("############################################", Colors.red)
|
||||
Else
|
||||
' Log(3)
|
||||
LogColor("JobDone: '" & reqManager.HandleJob(Job).tag & "' - Registros: " & reqManager.HandleJob(Job).Rows.Size, Colors.RGB(0,160,0)) 'Mod por CHV - 211027
|
||||
If Job.JobName = "DBRequest" Then
|
||||
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
||||
If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
|
||||
If reqManager.reqsList.IndexOf(RESULT.tag) <> -1 Then
|
||||
reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(RESULT.tag))
|
||||
LogColor($"*** Quitamos ${RESULT.tag}"$, Colors.Magenta)
|
||||
T4.Initialize("T4", 2000)
|
||||
End If
|
||||
LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.red)
|
||||
End If
|
||||
End If
|
||||
If Job.JobName = "DBRequest" Then
|
||||
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
||||
If RESULT.Tag = "ins_pedidos" Then
|
||||
For Each records() As Object In RESULT.Rows
|
||||
' Log("==========================REGISTROS="&RESULT.Rows)
|
||||
For Each k As String In RESULT.Columns.Keys
|
||||
Log(RESULT.Tag & ": " & k & ": " & records(RESULT.Columns.Get(k)))
|
||||
Next
|
||||
Next
|
||||
End If
|
||||
Dim resultado As DBResult = reqManager.HandleJob(Job)
|
||||
If resultado.Tag = "piezas" Then 'query tag
|
||||
' B4XPages.MainPage.picking.cl_picking.Clear
|
||||
Dim piezasexiste As Int
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
For Each records() As Object In resultado.Rows
|
||||
piezasexiste = records(resultado.Columns.Get("COUNT(*)"))
|
||||
Log(piezasexiste)
|
||||
DateTime.DateFormat = "MM/dd/yyyy"
|
||||
DateTime.TimeFormat = "HH:mm:ss"
|
||||
sDate=DateTime.Date(DateTime.Now)
|
||||
sTime=DateTime.Time(DateTime.Now)
|
||||
If piezasexiste = 0 Then
|
||||
Dim PCNoArts As String
|
||||
Dim PCMonto As String
|
||||
c = B4XPages.MainPage.skmt.ExecQuery2("SELECT * FROM PEDIDO_CLIENTE WHERE PC_CLIENTE = ? AND PC_CLIENTE <> 1", Array As String(userpiezas))
|
||||
If c.RowCount > 0 Then
|
||||
c.Position = 0
|
||||
PCNoArts = c.GetString("PC_NOART")
|
||||
PCMonto = c.GetString("PC_MONTO")
|
||||
End If
|
||||
Dim cmd As DBCommand
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_HVC_MARQUEZ"
|
||||
cmd.Parameters = Array As Object((sDate & " " & sTime), userpiezas, PCNoArts, PCMonto, almacen, l_ruta.Text)
|
||||
reqManager.ExecuteCommand(cmd , "insert_hvc")
|
||||
' reqManager.ExecuteCommand(cmd , $"ins_abonosPendientes_${ab.GetString("a_cliente")}"$)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
Dim RESULT As DBResult = 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"
|
||||
' ToastMessageShow("INFO OK", False)
|
||||
' Else
|
||||
'' If Starter.marcaCel <> "Sony" Then ToastMessageShow("No se cargo bien la info P. Sync Nuevamente" & CUANTOSP & " " & cuantos_pedido, True)
|
||||
' ToastMessageShow("ENVIAR DATOS (K-2)", False)
|
||||
' End If
|
||||
' Next
|
||||
' End If
|
||||
If RESULT.Tag = "valida_pedido" Then 'query tag
|
||||
Subs.logJobDoneResultados(RESULT)
|
||||
For Each records() As Object In RESULT.Rows
|
||||
Dim CUANTOSP As Int = records(RESULT.Columns.Get("CUANTOSP"))
|
||||
Log(CUANTOSP)
|
||||
B4XPages.MainPage.l_vProds2.Text = $"${CUANTOSP}/${cuantos_pedido}"$
|
||||
If cuantos_pedido <= CUANTOSP Then
|
||||
' ToastMessageShow("rojo val ok 1 cuantosp." , True)
|
||||
datos_iguales = "ok"
|
||||
' S_CP.Text = "INFO OK"
|
||||
ToastMessageShow("INFO OK", False)
|
||||
Else
|
||||
' S_CP.Text = "ENVIAR DATOS (K-2)"
|
||||
ToastMessageShow($"No se cargo bien la info de pedido.${CRLF}Envíe nuevamente: "$ & CUANTOSP & "/" & cuantos_pedido, True)
|
||||
ToastMessageShow("ENVIAR DATOS (K-2)", True)
|
||||
Log("No se cargo bien la info de pedido. Envíe nuevamente: " & CUANTOSP & "/" & cuantos_pedido)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
If RESULT.Tag = "valida_pedidoc" Then 'query tag
|
||||
Subs.logJobDoneResultados(RESULT)
|
||||
For Each records() As Object In RESULT.Rows
|
||||
Dim CUANTOSC As Int = records(RESULT.Columns.Get("CUANTOSC"))
|
||||
B4XPages.MainPage.l_vPedidos2.Text = $"${CUANTOSC}/${cuantos_pedidosc}"$
|
||||
If cuantos_pedidosc = CUANTOSC Then
|
||||
' ToastMessageShow("rojo val ok 1 cuantosp." , True)
|
||||
datos_iguales = "ok"
|
||||
Else
|
||||
ToastMessageShow($"No se cargo bien la info de pedido_cliente.${CRLF}Envíe nuevamente: "$ & CUANTOSC & "/" & cuantos_pedidosc, True)
|
||||
Log("No se cargo bien la info de pedido_cliente. Envíe nuevamente: " & CUANTOSC & "/" & cuantos_pedidosc)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
If RESULT.Tag = "valida_noventa" Then 'query tag
|
||||
Subs.logJobDoneResultados(RESULT)
|
||||
For Each records() As Object In RESULT.Rows
|
||||
Dim CUANTOSN As Int = records(RESULT.Columns.Get("CUANTOSN"))
|
||||
B4XPages.MainPage.l_vNoVenta2.Text = $"${CUANTOSN}/${cuantos_noventa}"$
|
||||
If cuantos_noventa = CUANTOSN Then
|
||||
' ToastMessageShow("rojo val ok 1 cuantosp." , True)
|
||||
datos_iguales = "ok"
|
||||
Else
|
||||
ToastMessageShow($"No se cargo bien la info de NoVenta.${CRLF}Envíe nuevamente: "$ & CUANTOSN & "/" & cuantos_noventa, True)
|
||||
Log("No se cargo bien la info de NoVenta. Envíe nuevamente:" & CUANTOSN & "/" & cuantos_noventa)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
||||
If RESULT.Tag = "ins_pedido" Then 'query tag
|
||||
For Each records() As Object In RESULT.Rows
|
||||
' PB2.Progress = PB2.Progress + 5
|
||||
' S_CP.Text = "SUBIENDO"
|
||||
Next
|
||||
' PB2.Progress = 100
|
||||
' S_CP.Text = "REVISANDO ..."
|
||||
' Log("5")
|
||||
End If
|
||||
|
||||
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
||||
If RESULT.Tag = "ins_cuestionario" Then 'query tag
|
||||
Subs.logJobDoneResultados(RESULT)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
' Log(reqManager.reqsList.size)
|
||||
If reqManager.reqsList.size = 0 Then
|
||||
T4.Enabled = True
|
||||
Else
|
||||
T4.Enabled = False
|
||||
End If
|
||||
Job.Release
|
||||
End Sub
|
||||
|
||||
Sub valida
|
||||
validando = True
|
||||
almacen = Subs.traeAlmacen
|
||||
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDO FROM PEDIDO")
|
||||
d.Position = 0
|
||||
cuantos_pedido = d.GetString("CUANTOS_PEDIDO")
|
||||
|
||||
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) as CUANTOS_PEDIDOSC FROM PEDIDO_CLIENTE")
|
||||
d.Position = 0
|
||||
cuantos_pedidosc = d.GetString("CUANTOS_PEDIDOSC")
|
||||
|
||||
d = B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
||||
d.Position = 0
|
||||
cuantos_noventa = d.GetString("CUANTOS_NOVENTA")
|
||||
d.Close
|
||||
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_cuantos_pedido_MARQUEZ"
|
||||
cmd.Parameters = Array As Object(almacen,l_ruta.text)
|
||||
reqManager.ExecuteQuery(cmd , 0, "valida_pedido")
|
||||
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_cuantos_noventa_MARQUEZ"
|
||||
cmd.Parameters = Array As Object(almacen,l_ruta.text)
|
||||
reqManager.ExecuteQuery(cmd , 0, "valida_noventa")
|
||||
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_cuantos_pedidoc_MARQUEZ"
|
||||
cmd.Parameters = Array As Object(almacen,l_ruta.text)
|
||||
reqManager.ExecuteQuery(cmd , 0, "valida_pedidoc")
|
||||
Log("http://keymon.net:1781")
|
||||
|
||||
B4XPages.MainPage.l_vPedidos2.Text = ""
|
||||
B4XPages.MainPage.l_vProds2.Text = ""
|
||||
B4XPages.MainPage.l_vNoVenta2.Text = ""
|
||||
End Sub
|
||||
|
||||
Sub T4_Tick
|
||||
If reqManager.reqsList.size = 0 Then ' Si ya no hay consultas pendientes ...
|
||||
B4XPages.MainPage.p_progressDialog.Visible = False
|
||||
If enviando Then ' Si terminamos de enviar pedido ...
|
||||
Sleep(200)
|
||||
B4XPages.MainPage.l_progressDialog.Text = "Validando " ' Mostramos el panel de progreso.
|
||||
B4XPages.MainPage.p_progressDialog.Visible = False
|
||||
valida ' Iniciamos la validación
|
||||
enviando = False
|
||||
End If
|
||||
If validando Then
|
||||
validando = False
|
||||
Sleep(300)
|
||||
'Mostramos el panel de Validación.
|
||||
B4XPages.MainPage.p_validacion.Visible = True
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' Nuevo método para inicializar el manager con el Target correcto
|
||||
Public Sub ConfigurarYEnviar(ServidorURL As String)
|
||||
' 'Me' aquí es C_Intmex, asegurando que C_Intmex.JobDone sea llamado.
|
||||
reqManager.Initialize(Me, ServidorURL)
|
||||
envia ' Llama a la función de envío original de C_Intmex
|
||||
End Sub
|
||||
@@ -38,8 +38,8 @@ ModuleBreakpoints6=
|
||||
ModuleBreakpoints7=
|
||||
ModuleBreakpoints8=
|
||||
ModuleBreakpoints9=
|
||||
ModuleClosedNodes0=2,6
|
||||
ModuleClosedNodes1=6,7,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27
|
||||
ModuleClosedNodes0=
|
||||
ModuleClosedNodes1=2,6,7,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27
|
||||
ModuleClosedNodes10=3,6
|
||||
ModuleClosedNodes11=3
|
||||
ModuleClosedNodes12=4
|
||||
@@ -58,6 +58,6 @@ ModuleClosedNodes6=
|
||||
ModuleClosedNodes7=
|
||||
ModuleClosedNodes8=3,4
|
||||
ModuleClosedNodes9=5,6,7,8
|
||||
NavigationStack=C_Mazapa_Reparto,envia,297,0,C_Mazapa_Reparto,ConfigurarYEnviar,303,0,C_Mazapa_Reparto,JobDone,322,0,B4XMainPage,b_enviar_Click,629,0,B4XMainPage,B4XPage_Appear,262,0,Diseñador Visual,MainPage.bal,-100,1,B4XMainPage,ActualizarEtiquetasReparto,659,6,Main,Activity_Create,30,0,Main,Process_Globals,16,0,Main,Globals,20,0
|
||||
NavigationStack=Diseñador Visual,MainPage.bal,-100,3,C_Intmex_Reparto,JobDone,228,1,C_Intmex_Reparto,envia,211,0,B4XMainPage,B4XPage_Created,141,0,Main,Globals,21,0,C_Intmex_Reparto,Class_Globals,0,0,C_Intmex,Initialize,20,0,C_Intmex,envia,30,0,B4XMainPage,B4XPage_Appear,292,6,B4XMainPage,ActualizarEtiquetasReparto,581,6
|
||||
SelectedBuild=0
|
||||
VisibleModules=1,18,6,19,7,3,15,11,13,2
|
||||
|
||||
Binary file not shown.
127
B4A/_git_tag.ps1
Normal file
127
B4A/_git_tag.ps1
Normal 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 "========================================"
|
||||
@@ -1,43 +1,127 @@
|
||||
# SCRIPT: _juntaBas.ps1 - Versión con Manifiesto para LLM
|
||||
$OutputFile="_CODIGO_COMPLETO_PARA_LLM.txt"
|
||||
# SCRIPT: _juntaBas_Master_FinalIA.ps1
|
||||
# FIX: Corregida sintaxis de comillas y concatenación de tags XML.
|
||||
# OBJETIVO: Fuente de verdad para IA con navegación ultra estructurada.
|
||||
|
||||
# Eliminar el archivo anterior si existe
|
||||
Remove-Item -Path $OutputFile -ErrorAction SilentlyContinue
|
||||
$ErrorActionPreference = 'SilentlyContinue'
|
||||
$Dir = Get-Location
|
||||
$LT = [char]60; $GT = [char]62; $SL = [char]47
|
||||
$NL = [Environment]::NewLine
|
||||
|
||||
Write-Host "Iniciando fusion para LLM..."
|
||||
Write-Output '--- GENERANDO MASTER IA DEFINITIVO (FIX ESTRUCTURAL) ---'
|
||||
|
||||
# 1. Obtener la lista de archivos primero para el Manifiesto
|
||||
$files = Get-ChildItem -Path ".\*" -Include @("*.bas", "*.b4a", "*.j")
|
||||
# 1. PARSEO DEL PROYECTO .B4A
|
||||
$b4a = Get-ChildItem -Path ".\*" -Include "*.b4a" -Recurse | Select-Object -First 1
|
||||
$Name = 'App'; $Ver = '0.0'; $ModulosValidos = @(); $Librerias = @()
|
||||
|
||||
# --- GENERACIÓN DEL MANIFIESTO (TABLA DE CONTENIDO) ---
|
||||
Add-Content -Path $OutputFile -Value "'======================================================================================" -Encoding UTF8
|
||||
Add-Content -Path $OutputFile -Value "' MANIFIESTO DEL PROYECTO - Generado el $(Get-Date -Format 'yyyy-MM-dd HH:mm')" -Encoding UTF8
|
||||
Add-Content -Path $OutputFile -Value "' Total de archivos: $($files.Count)" -Encoding UTF8
|
||||
Add-Content -Path $OutputFile -Value "'======================================================================================" -Encoding UTF8
|
||||
|
||||
foreach ($file in $files) {
|
||||
$lines = (Get-Content $file.FullName).Count
|
||||
Add-Content -Path $OutputFile -Value "' [ ] Archivo: $($file.Name) ($lines líneas)" -Encoding UTF8
|
||||
}
|
||||
Add-Content -Path $OutputFile -Value "'======================================================================================`n" -Encoding UTF8
|
||||
|
||||
# 2. Itera y vuelca el contenido de los archivos
|
||||
$files | ForEach-Object {
|
||||
$currentFile = $_.Name
|
||||
Write-Host "Procesando: $currentFile"
|
||||
|
||||
# Encabezado de sección
|
||||
Add-Content -Path $OutputFile -Value "'======================================================================================" -Encoding UTF8
|
||||
Add-Content -Path $OutputFile -Value "// ARCHIVO_INICIO: ${currentFile}" -Encoding UTF8
|
||||
Add-Content -Path $OutputFile -Value "'======================================================================================`n" -Encoding UTF8
|
||||
|
||||
# Contenido con codificación UTF8
|
||||
Get-Content -Encoding UTF8 -Path $_.FullName -Raw | Add-Content -Path $OutputFile -Encoding UTF8
|
||||
|
||||
# Delimitador de fin
|
||||
Add-Content -Path $OutputFile -Value "`n'======================================================================================" -Encoding UTF8
|
||||
Add-Content -Path $OutputFile -Value "// ARCHIVO_FIN: ${currentFile}" -Encoding UTF8
|
||||
Add-Content -Path $OutputFile -Value "'======================================================================================`n" -Encoding UTF8
|
||||
if ($b4a) {
|
||||
$lines = [System.IO.File]::ReadAllLines($b4a.FullName)
|
||||
foreach ($L in $lines) {
|
||||
if ($L -match '#ApplicationLabel:\s*(.*)') { $Name = $Matches[1].Trim() }
|
||||
if ($L -match '#VersionName:\s*(.*)') { $Ver = $Matches[1].Trim() }
|
||||
if ($L -match '^Module\d+=(.*)') {
|
||||
$m = [System.IO.Path]::GetFileName($Matches[1].Trim())
|
||||
if (-not $m.EndsWith(".bas") -and $m -ne "Main") { $m += ".bas" }
|
||||
$ModulosValidos += $m
|
||||
}
|
||||
if ($L -match '^Library\d+=(.*)') { $Librerias += $Matches[1].Trim() }
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host "¡Listo! Archivo $OutputFile generado con éxito."
|
||||
$OutName = "_" + $Name + "_" + $Ver + "_IA.md"
|
||||
$OutFile = Join-Path $Dir $OutName
|
||||
|
||||
# 2. HEADER CON TUS INSTRUCCIONES CRÍTICAS
|
||||
$CurrentDate = Get-Date -Format 'yyyy-MM-dd HH:mm'
|
||||
$Header = @"
|
||||
# PROYECTO: $Name
|
||||
- Version: $Ver
|
||||
- Fecha: $CurrentDate
|
||||
- Librerias Activas: $($Librerias -join ", ")
|
||||
|
||||
## INSTRUCCIONES CRITICAS (B4A / BASIC4ANDROID)
|
||||
0. **Integridad del Contexto:** Antes de procesar peticiones, cuenta si el numero de modulos listados en el indice coincide con los detallados en el cuerpo.
|
||||
1. **Source of Truth (Codigo):** Este archivo contiene el codigo fuente ACTUAL del proyecto.
|
||||
2. **Source of Truth (Librerias):** Basa tus sugerencias en la lista de 'Librerias Activas'.
|
||||
3. **Anti-Alucinacion:** Antes de sugerir, VERIFICA la 'Interfaz Pública' o el código fuente del módulo.
|
||||
4. **Existencia Estricta:** Si una variable/Sub no está en el texto, NO EXISTE.
|
||||
5. **Formato:** Usa bloques 'vb'.
|
||||
6. **Navegacion Estructural:** Usa los tags <module>, <interface> y <method> para localizar codigo.
|
||||
7. **Inferencia de Datos:** Deduce la BD solo de los strings SQL presentes.
|
||||
"@
|
||||
|
||||
Set-Content -Path $OutFile -Value $Header -Encoding UTF8
|
||||
|
||||
# 3. LISTAR ARCHIVOS
|
||||
$files = Get-ChildItem -Path $Dir -Include *.bas,*.b4a -Recurse | Where-Object {
|
||||
$_.FullName -notmatch 'Objects' -and ($_.Extension -eq '.b4a' -or $ModulosValidos -contains $_.Name)
|
||||
}
|
||||
|
||||
# 4. INDICE DE MODULOS
|
||||
Add-Content $OutFile ($NL + "## INDICE DE MODULOS" + $NL) -Encoding UTF8
|
||||
foreach ($f in $files) {
|
||||
$Ref = $f.Name.Replace('.', '').Replace(' ', '-').ToLower()
|
||||
Add-Content $OutFile ("- [" + $f.Name + "](#modulo-" + $Ref + ")") -Encoding UTF8
|
||||
}
|
||||
|
||||
# 5. CODIGO FUENTE ESTRUCTURADO
|
||||
Add-Content $OutFile ($NL + '## CODIGO FUENTE DETALLADO' + $NL) -Encoding UTF8
|
||||
|
||||
foreach ($f in $files) {
|
||||
Write-Host " -> $($f.Name)... " -NoNewline
|
||||
$txt = [System.IO.File]::ReadAllLines($f.FullName)
|
||||
|
||||
# Pre-escaneo para <interface>
|
||||
$Methods = @()
|
||||
foreach ($line in $txt) {
|
||||
if ($line.Trim() -match '^(?:Public\s+|Private\s+)?Sub\s+([\w\d_]+)') {
|
||||
$Methods += $Matches[1]
|
||||
}
|
||||
}
|
||||
|
||||
$Ref = $f.Name.Replace('.', '').Replace(' ', '-').ToLower()
|
||||
Add-Content $OutFile "$NL<module name='$($f.Name)' id='modulo-$Ref'>" -Encoding UTF8
|
||||
|
||||
Add-Content $OutFile " <interface>" -Encoding UTF8
|
||||
foreach($m in $Methods) {
|
||||
Add-Content $OutFile " <method_ref name='$m' />" -Encoding UTF8
|
||||
}
|
||||
Add-Content $OutFile " </interface>$NL" -Encoding UTF8
|
||||
|
||||
Add-Content $OutFile "```vb" -Encoding UTF8
|
||||
|
||||
$skip = ($f.Extension -eq '.b4a')
|
||||
|
||||
foreach ($l in $txt) {
|
||||
$trim = $l.Trim()
|
||||
|
||||
if ($skip) {
|
||||
if ($trim.StartsWith("#") -and -not $trim.StartsWith("#Region")) { Add-Content $OutFile $l -Encoding UTF8 }
|
||||
if ($l.Contains("@EndOfDesignText@")) { $skip = $false }
|
||||
continue
|
||||
}
|
||||
|
||||
# Inicio de Método
|
||||
if ($trim -match '^(?:Public\s+|Private\s+)?Sub\s+([\w\d_]+)') {
|
||||
Add-Content $OutFile "<method name='$($Matches[1])'>" -Encoding UTF8
|
||||
}
|
||||
|
||||
# Limpieza de comentarios y escritura de línea
|
||||
if ($trim.StartsWith("'")) {
|
||||
if (-not ($trim.StartsWith("'#") -or ($trim -match 'TODO:') -or ($trim -match 'FIX:'))) { continue }
|
||||
}
|
||||
|
||||
if (-not [string]::IsNullOrWhiteSpace($trim)) {
|
||||
Add-Content $OutFile $l -Encoding UTF8
|
||||
}
|
||||
|
||||
# Fin de Método
|
||||
if ($trim -eq "End Sub") {
|
||||
Add-Content $OutFile "</method>" -Encoding UTF8
|
||||
}
|
||||
}
|
||||
|
||||
Add-Content $OutFile "```$NL</module>" -Encoding UTF8
|
||||
Write-Host "OK" -ForegroundColor Green
|
||||
}
|
||||
|
||||
Write-Output ("--- FINALIZADO: " + $OutName + " ---")
|
||||
Reference in New Issue
Block a user