mirror of
https://github.com/KeymonSoft/Guna_Reparto_Imp.git
synced 2026-04-20 22:29:16 +00:00
- VERSION 5.03.08
- Se agregó codigo para la confirmacion de pagares mediante WhatsApp en Cliente. - Se agregaron 270 segundos (4.5 minutos) al tiempo calculado en el ruteo de Clientes. - Se hicieorn mas pequeños los números de los globitos en MAPAS_RUTAS, de 20 a 15. - Se puso un toastMessage cuando las coordenadas del CEDIS están en CERO.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -31,6 +31,7 @@ Sub Class_Globals
|
|||||||
Private b_limpiarRuta As Button
|
Private b_limpiarRuta As Button
|
||||||
Dim rutaGenerada As Boolean = False
|
Dim rutaGenerada As Boolean = False
|
||||||
Dim rutaacambiar As String
|
Dim rutaacambiar As String
|
||||||
|
Dim mostrarProgressDialog As Boolean
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'You can add more parameters here.
|
'You can add more parameters here.
|
||||||
@@ -100,7 +101,7 @@ Sub B4XPage_Appear
|
|||||||
Subs.centraEtiqueta(l_rutaInfo, Root.Width)
|
Subs.centraEtiqueta(l_rutaInfo, Root.Width)
|
||||||
Subs.centraListView(ListView1, p_colonia.Width)
|
Subs.centraListView(ListView1, p_colonia.Width)
|
||||||
ListView1.Height = p_colonia.Height * 0.70
|
ListView1.Height = p_colonia.Height * 0.70
|
||||||
Subs.centraEtiqueta(lfila, Root.Width)
|
Subs.centraEtiqueta(lfila, Root.Width + (b_getRutaInfo.Width / 2))
|
||||||
b_getRutaInfo.Visible = True
|
b_getRutaInfo.Visible = True
|
||||||
b_getRutaInfo.BringToFront
|
b_getRutaInfo.BringToFront
|
||||||
If Starter.cedisLocation.Latitude = "0" Then
|
If Starter.cedisLocation.Latitude = "0" Then
|
||||||
@@ -113,9 +114,12 @@ Sub B4XPage_Appear
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Log(Starter.cedisLocation)
|
Log(Starter.cedisLocation)
|
||||||
|
If mostrarProgressDialog = True Then
|
||||||
|
ProgressDialogShow2("Calculando distancia y tiempo, un momento por favor.", False)
|
||||||
|
mostrarProgressDialog = False
|
||||||
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
Private Sub B4XPage_CloseRequest As ResumableSub
|
Private Sub B4XPage_CloseRequest As ResumableSub
|
||||||
' BACK key pressed
|
' BACK key pressed
|
||||||
'Return True to close, False to cancel
|
'Return True to close, False to cancel
|
||||||
@@ -244,7 +248,7 @@ End Sub
|
|||||||
|
|
||||||
Sub BUSCA_TextChanged (Old As String, New As String)
|
Sub BUSCA_TextChanged (Old As String, New As String)
|
||||||
q_buscar = "%" & busca.Text & "%"
|
q_buscar = "%" & busca.Text & "%"
|
||||||
c2=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where CAT_CL_NOMBRE like ? and gestion = 0 AND CAT_CL_RUTA <> 1000 order by CAT_CL_CODIGO ", Array As String(q_buscar))
|
c2=Starter.skmt.ExecQuery2("select CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info where CAT_CL_NOMBRE like ? and gestion = 0 AND CAT_CL_RUTA <> 1000 order by CAT_CL_CODIGO ", Array As String(q_buscar))
|
||||||
ListView1.Clear
|
ListView1.Clear
|
||||||
lfila.text = "Nombre y Calle"
|
lfila.text = "Nombre y Calle"
|
||||||
Subs.SetDivider(ListView1, Colors.Blue, 2)
|
Subs.SetDivider(ListView1, Colors.Blue, 2)
|
||||||
@@ -278,6 +282,7 @@ Sub distanciaEntreCoords(id As String, coords1 As String, coords2 As String) As
|
|||||||
Dim j As HttpJob
|
Dim j As HttpJob
|
||||||
j.Initialize("", Me)
|
j.Initialize("", Me)
|
||||||
j.Download("https://router.project-osrm.org/route/v1/driving/"&coords1&";"&coords2&"?overview=false")
|
j.Download("https://router.project-osrm.org/route/v1/driving/"&coords1&";"&coords2&"?overview=false")
|
||||||
|
Log(("https://router.project-osrm.org/route/v1/driving/"&coords1&";"&coords2&"?overview=false"))
|
||||||
Wait For (j) JobDone(j As HttpJob)
|
Wait For (j) JobDone(j As HttpJob)
|
||||||
If j.Success Then
|
If j.Success Then
|
||||||
Dim jp As JSONParser
|
Dim jp As JSONParser
|
||||||
@@ -674,6 +679,9 @@ Sub caculaRutaGPS(coords As List, agregarActual As Boolean)
|
|||||||
Private pri As String = $"${primerLon},${primerLat}"$
|
Private pri As String = $"${primerLon},${primerLat}"$
|
||||||
Private ult As String = $"${ultimaLon},${ultimaLat}"$
|
Private ult As String = $"${ultimaLon},${ultimaLat}"$
|
||||||
Private ced As String = Starter.cedisLocation.Longitude & "," & Starter.cedisLocation.Latitude
|
Private ced As String = Starter.cedisLocation.Longitude & "," & Starter.cedisLocation.Latitude
|
||||||
|
If Starter.cedisLocation.Longitude = 0 Or Starter.cedisLocation.Latitude = 0 Then
|
||||||
|
ToastMessageShow("Las coordenadas del CEDIS NO deben estar en CERO", True)
|
||||||
|
End If
|
||||||
Private ubiActual As String = Starter.inicioLon & "," & Starter.inicioLat
|
Private ubiActual As String = Starter.inicioLon & "," & Starter.inicioLat
|
||||||
Wait For(distanciaEntreCoords("aaaa", pri, ubiActual)) Complete (r As List)
|
Wait For(distanciaEntreCoords("aaaa", pri, ubiActual)) Complete (r As List)
|
||||||
Log("DistToPrimero: " & r)
|
Log("DistToPrimero: " & r)
|
||||||
@@ -681,12 +689,13 @@ Sub caculaRutaGPS(coords As List, agregarActual As Boolean)
|
|||||||
Wait For(distanciaEntreCoords("aaaa", ult, ced)) Complete (r As List)
|
Wait For(distanciaEntreCoords("aaaa", ult, ced)) Complete (r As List)
|
||||||
Log("DistToUltimo: " & r)
|
Log("DistToUltimo: " & r)
|
||||||
Private DistToUltimo As String = NumberFormat2((r.Get(1)/1000), 1, 2, 0, True)
|
Private DistToUltimo As String = NumberFormat2((r.Get(1)/1000), 1, 2, 0, True)
|
||||||
|
duration = duration + (270 * puntos) ' Agregamoms 4.5 minutos por parada/tienda - 270 segundos = 4.5 minutos
|
||||||
Log($"Distancia total: $1.1{distance/1000} kms, tiempo aprox: $1.1{duration/60} mins. ($1.1{duration/60/60} hrs)"$)
|
Log($"Distancia total: $1.1{distance/1000} kms, tiempo aprox: $1.1{duration/60} mins. ($1.1{duration/60/60} hrs)"$)
|
||||||
l_rutaInfo.Text = $"Actual a primer tienda: ${distToPrimero} kms
|
l_rutaInfo.Text = $"Actual a primer tienda: ${distToPrimero} kms
|
||||||
Distancia: $1.1{distance/1000} kms, tiempo aprox: 5.8 hrs${CRLF}Visitas restantes: ${puntos + 1}
|
Distancia: $1.1{distance/1000} kms, tiempo aprox: $1.1{duration/60/60} hrs${CRLF}Visitas restantes: ${puntos + 1}
|
||||||
Última tienda a CEDIS: 1.2 kms"$
|
Última tienda a CEDIS: ${DistToUltimo} kms"$
|
||||||
' Distancia: $1.1{distance/1000} kms, tiempo aprox: $1.1{duration/60/60} hrs${CRLF}Visitas restantes: ${puntos - 1}
|
' Distancia: $1.1{distance/1000} kms, tiempo aprox: $1.1{duration/60/60} hrs${CRLF}Visitas restantes: ${puntos - 1}
|
||||||
' Última tienda a CEDIS: ${DistToUltimo} kms"$
|
Log($"Última tienda a CEDIS: ${DistToUltimo} kms"$)
|
||||||
l_rutaInfo.Width = Root.Width * 0.9
|
l_rutaInfo.Width = Root.Width * 0.9
|
||||||
Subs.centraEtiqueta(l_rutaInfo, Root.Width)
|
Subs.centraEtiqueta(l_rutaInfo, Root.Width)
|
||||||
l_rutaInfo.Visible = True
|
l_rutaInfo.Visible = True
|
||||||
|
|||||||
@@ -88,7 +88,6 @@ End Sub
|
|||||||
Sub B4XPage_Appear
|
Sub B4XPage_Appear
|
||||||
Subs.centraPanel(p_principal, Root.Width)
|
Subs.centraPanel(p_principal, Root.Width)
|
||||||
' b_guardar.Visible = False
|
' b_guardar.Visible = False
|
||||||
|
|
||||||
' Titulo.Left = Round(p_principal.Width/2)-(Titulo.Width/2)
|
' Titulo.Left = Round(p_principal.Width/2)-(Titulo.Width/2)
|
||||||
L_CANT.Text =""
|
L_CANT.Text =""
|
||||||
L_TOTAL.Text=""
|
L_TOTAL.Text=""
|
||||||
@@ -107,10 +106,8 @@ Sub B4XPage_Appear
|
|||||||
' Log("RC1:"&c.RowCount)
|
' Log("RC1:"&c.RowCount)
|
||||||
If c.RowCount>0 Then
|
If c.RowCount>0 Then
|
||||||
' Log("Usamos HV")
|
' Log("Usamos HV")
|
||||||
|
|
||||||
For i=0 To c.RowCount -1
|
For i=0 To c.RowCount -1
|
||||||
c.Position=i
|
c.Position=i
|
||||||
|
|
||||||
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT FROM PEDIDO WHERE PE_PROID = '${c.GetString("HVD_PROID")}' AND PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$)
|
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT FROM PEDIDO WHERE PE_PROID = '${c.GetString("HVD_PROID")}' AND PE_CLIENTEOR IN (SELECT CUENTA FROM CUENTAA) AND CONSECUTIVO = '${c.GetString("CONSECUTIVO")}'"$)
|
||||||
If c4.RowCount > 0 Then
|
If c4.RowCount > 0 Then
|
||||||
c4.Position = 0
|
c4.Position = 0
|
||||||
@@ -118,7 +115,6 @@ Sub B4XPage_Appear
|
|||||||
Else
|
Else
|
||||||
cantres = 0
|
cantres = 0
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If c.GetString("BCAJAS") = "0" Then
|
If c.GetString("BCAJAS") = "0" Then
|
||||||
If c.GetString("HVD_CANT") <> c.GetString("HVD_RECHAZOCANT") Then
|
If c.GetString("HVD_CANT") <> c.GetString("HVD_RECHAZOCANT") Then
|
||||||
'Traemos cantidad de hvd2
|
'Traemos cantidad de hvd2
|
||||||
@@ -180,10 +176,8 @@ Sub B4XPage_Appear
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
' cuentaProds("")
|
' cuentaProds("")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Private c3 As Cursor=Starter.skmt.ExecQuery("Select * from PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
Private c3 As Cursor=Starter.skmt.ExecQuery("Select * from PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
|
||||||
If c3.RowCount>0 Then
|
If c3.RowCount>0 Then
|
||||||
For i= 0 To c3.RowCount -1
|
For i= 0 To c3.RowCount -1
|
||||||
@@ -203,10 +197,7 @@ Sub B4XPage_Appear
|
|||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT,HVD_COSTO_TOT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT from HIST_VENTAS where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE in (select cuenta from cuentaa)"$)
|
Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT,HVD_COSTO_TOT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT from HIST_VENTAS where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE in (select cuenta from cuentaa)"$)
|
||||||
|
|
||||||
Private Cuenta As String = 0
|
Private Cuenta As String = 0
|
||||||
Private arti As String = 0
|
Private arti As String = 0
|
||||||
If vc.RowCount > 0 Then
|
If vc.RowCount > 0 Then
|
||||||
@@ -231,7 +222,6 @@ Sub B4XPage_Appear
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
' Log(Cuenta)
|
' Log(Cuenta)
|
||||||
|
|
||||||
Private vc2 As Cursor = Starter.skmt.ExecQuery("select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 1")
|
Private vc2 As Cursor = Starter.skmt.ExecQuery("select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 1")
|
||||||
Private Cuenta1 As String = 0
|
Private Cuenta1 As String = 0
|
||||||
Private arti1 As String = 0
|
Private arti1 As String = 0
|
||||||
@@ -248,14 +238,10 @@ Sub B4XPage_Appear
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
' Log(Cuenta1)
|
' Log(Cuenta1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
|
Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE in (select cuenta from cuentaa) AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
|
||||||
Private Cuenta2 As String = 0
|
Private Cuenta2 As String = 0
|
||||||
Private arti2 As String = 0
|
Private arti2 As String = 0
|
||||||
If vc4.RowCount > 0 Then
|
If vc4.RowCount > 0 Then
|
||||||
|
|
||||||
For i = 0 To vc4.RowCount - 1
|
For i = 0 To vc4.RowCount - 1
|
||||||
vc4.Position = i
|
vc4.Position = i
|
||||||
If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
|
If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
|
||||||
@@ -275,10 +261,6 @@ Sub B4XPage_Appear
|
|||||||
|
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$)
|
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA)"$)
|
||||||
Private Cuenta3 As String = 0
|
Private Cuenta3 As String = 0
|
||||||
Private arti3 As String = 0
|
Private arti3 As String = 0
|
||||||
@@ -289,7 +271,6 @@ Sub B4XPage_Appear
|
|||||||
Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
|
Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Cuenta < 0 Then
|
If Cuenta < 0 Then
|
||||||
Cuenta = 0
|
Cuenta = 0
|
||||||
End If
|
End If
|
||||||
@@ -302,7 +283,6 @@ Sub B4XPage_Appear
|
|||||||
If Cuenta3 < 0 Then
|
If Cuenta3 < 0 Then
|
||||||
Cuenta = 0
|
Cuenta = 0
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If arti < 0 Then
|
If arti < 0 Then
|
||||||
arti = 0
|
arti = 0
|
||||||
End If
|
End If
|
||||||
@@ -315,7 +295,6 @@ Sub B4XPage_Appear
|
|||||||
If arti3 < 0 Then
|
If arti3 < 0 Then
|
||||||
arti = 0
|
arti = 0
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Log(Cuenta&","&Cuenta1&","&Cuenta2&","&Cuenta3)
|
Log(Cuenta&","&Cuenta1&","&Cuenta2&","&Cuenta3)
|
||||||
Log(arti&","&arti1&","&arti2&","&arti3)
|
Log(arti&","&arti1&","&arti2&","&arti3)
|
||||||
If Cuenta + Cuenta1 + Cuenta2 + Cuenta3 < 0 Then
|
If Cuenta + Cuenta1 + Cuenta2 + Cuenta3 < 0 Then
|
||||||
@@ -328,8 +307,6 @@ Sub B4XPage_Appear
|
|||||||
Else
|
Else
|
||||||
L_CANT.Text = NumberFormat2((arti + arti1 +arti2 + arti3),0,0,0,True)
|
L_CANT.Text = NumberFormat2((arti + arti1 +arti2 + arti3),0,0,0,True)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub GPS_LocationChanged (Location1 As Location)
|
Sub GPS_LocationChanged (Location1 As Location)
|
||||||
@@ -485,7 +462,6 @@ Sub CreateListItem(Text As String, precioU As String, inv As Int, inv2 As Int, W
|
|||||||
l_pCant.Text = inv
|
l_pCant.Text = inv
|
||||||
' et_pCant.Text = inv
|
' et_pCant.Text = inv
|
||||||
' et_pCant.BringToFront
|
' et_pCant.BringToFront
|
||||||
|
|
||||||
l_pCant.BringToFront
|
l_pCant.BringToFront
|
||||||
et_pCant.SendToBack
|
et_pCant.SendToBack
|
||||||
p_botMasMenC.Visible = False
|
p_botMasMenC.Visible = False
|
||||||
@@ -517,7 +493,6 @@ Sub CreateListItem2(Text As String, precioU As String, inv As Int, inv2 As Int,
|
|||||||
l_pCantC.Text = NumberFormat2(inv/Subs.traeConversion(prodId),0,0,0,False)
|
l_pCantC.Text = NumberFormat2(inv/Subs.traeConversion(prodId),0,0,0,False)
|
||||||
' et_pCant.Text = inv
|
' et_pCant.Text = inv
|
||||||
' et_pCant.BringToFront
|
' et_pCant.BringToFront
|
||||||
|
|
||||||
l_pCantC.BringToFront
|
l_pCantC.BringToFront
|
||||||
et_pCantC.SendToBack
|
et_pCantC.SendToBack
|
||||||
p_botMasMen.Visible = False
|
p_botMasMen.Visible = False
|
||||||
@@ -571,21 +546,15 @@ Sub b_prodMenos_Click
|
|||||||
Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
|
Starter.skmt.ExecNonQuery($"delete from PEDIDO where PE_PROID = '${esteTag.Get(2)}' and PE_CLIENTE in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
B4XPage_Appear
|
B4XPage_Appear
|
||||||
Else
|
Else
|
||||||
|
|
||||||
If esteTag.Get(5) = esteTag.Get(6) Then
|
If esteTag.Get(5) = esteTag.Get(6) Then
|
||||||
If laCant.Text > 0 Then
|
If laCant.Text > 0 Then
|
||||||
If esteTag.Get(3) <> Subs.traeAlmacen Then 'Si es PROMO entonces ...
|
If esteTag.Get(3) <> Subs.traeAlmacen Then 'Si es PROMO entonces ...
|
||||||
Private c2 As Cursor =Starter.skmt.ExecQuery($"select HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_PROID = '${esteTag.Get(2)}' AND HVD_CLIENTE IN (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
|
Private c2 As Cursor =Starter.skmt.ExecQuery($"select HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_PROID = '${esteTag.Get(2)}' AND HVD_CLIENTE IN (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
|
||||||
c2.Position = 0
|
c2.Position = 0
|
||||||
If c2.GetString("HVD_RECHAZO") = "0" Then
|
If c2.GetString("HVD_RECHAZO") = "0" Then
|
||||||
|
|
||||||
|
|
||||||
Log("ES PROMO")
|
Log("ES PROMO")
|
||||||
Log(esteTag.Get(3))
|
Log(esteTag.Get(3))
|
||||||
result = Msgbox2("Si se modifica una promoción, la promoción se rompe y solo quedarán los productos sueltos, ¿seguro que desea continuar?","Modificar Promoción", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
result = Msgbox2("Si se modifica una promoción, la promoción se rompe y solo quedarán los productos sueltos, ¿seguro que desea continuar?","Modificar Promoción", "Si", "", "No",LoadBitmap(File.DirAssets,"alert2.png")) 'ignore
|
||||||
@@ -627,7 +596,6 @@ Sub b_prodMenos_Click
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
|
|
||||||
If laCant.Text = "" Then laCant.Text = 0
|
If laCant.Text = "" Then laCant.Text = 0
|
||||||
laCant.Text = $"$1.0{laCant.Text-1}"$
|
laCant.Text = $"$1.0{laCant.Text-1}"$
|
||||||
If laCant.Text < 0 Then laCant.Text = 0
|
If laCant.Text < 0 Then laCant.Text = 0
|
||||||
@@ -684,7 +652,6 @@ Sub b_prodMas_Click
|
|||||||
Dim esteTag As List = Regex.Split("\|", laCant.Tag)
|
Dim esteTag As List = Regex.Split("\|", laCant.Tag)
|
||||||
Log("LC_TEXT:"&laCant.Text&"|LC_TAG:"&laCant.Tag&"|ET:"&esteTag)
|
Log("LC_TEXT:"&laCant.Text&"|LC_TAG:"&laCant.Tag&"|ET:"&esteTag)
|
||||||
If laCant.Text = "" Then laCant.Text = 0
|
If laCant.Text = "" Then laCant.Text = 0
|
||||||
|
|
||||||
Private maxProds = esteTag.Get(1) + esteTag.Get(4) 'Prods disponibles + prods comprados
|
Private maxProds = esteTag.Get(1) + esteTag.Get(4) 'Prods disponibles + prods comprados
|
||||||
|
|
||||||
LogColor($"++++++++++++++++++++++++++ ${esteTag}"$, Colors.Green)
|
LogColor($"++++++++++++++++++++++++++ ${esteTag}"$, Colors.Green)
|
||||||
@@ -702,18 +669,13 @@ Sub b_prodMas_Click
|
|||||||
'*'${minimoadesc}')
|
'*'${minimoadesc}')
|
||||||
minimoadesc = "1"
|
minimoadesc = "1"
|
||||||
If esteTag.Get(7) <> "1" Then
|
If esteTag.Get(7) <> "1" Then
|
||||||
|
|
||||||
|
|
||||||
If esteTag.Get(5) = esteTag.Get(6) Then
|
If esteTag.Get(5) = esteTag.Get(6) Then
|
||||||
|
|
||||||
If laCant.Text + 1 <= maxProds Then
|
If laCant.Text + 1 <= maxProds Then
|
||||||
Log($"NuevaCant = ${laCant.Text + 1}"$)
|
Log($"NuevaCant = ${laCant.Text + 1}"$)
|
||||||
laCant.Text = $"$1.0{laCant.Text + 1}"$
|
laCant.Text = $"$1.0{laCant.Text + 1}"$
|
||||||
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
|
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = cat_gp_almacen - 1 where cat_gp_id = ?", Array As Object(esteTag.Get(2)))
|
||||||
|
|
||||||
'checar este por si las dudas
|
'checar este por si las dudas
|
||||||
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - (1*'${minimoadesc}') WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
|
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - (1*'${minimoadesc}') WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
|
||||||
|
|
||||||
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
|
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
|
||||||
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
|
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
|
||||||
' L_CANT.Text = cym.Get("cantidad")
|
' L_CANT.Text = cym.Get("cantidad")
|
||||||
@@ -722,7 +684,6 @@ Sub b_prodMas_Click
|
|||||||
B4XPage_Appear
|
B4XPage_Appear
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
|
|
||||||
If laCant.Text + 1 <= maxProds Then
|
If laCant.Text + 1 <= maxProds Then
|
||||||
Log($"NuevaCant = ${laCant.Text + 1}"$)
|
Log($"NuevaCant = ${laCant.Text + 1}"$)
|
||||||
laCant.Text = $"$1.0{laCant.Text + 1}"$
|
laCant.Text = $"$1.0{laCant.Text + 1}"$
|
||||||
@@ -743,8 +704,6 @@ Sub b_prodMas_Click
|
|||||||
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO) VALUES (?,?,?,?,?,?,?,0,0,?)", Array As String(esteTag.Get(2),c2.GetString("CAT_GP_NOMBRE"),1*minimoadesc,esteTag.Get(5),Subs.traeCliente,c2.GetString("CAT_GP_PRECIO"),c2.GetString("CAT_GP_PRECIO"),esteTag.Get(8)))
|
Starter.skmt.ExecNonQuery2("INSERT INTO PEDIDO(PE_PROID,PE_PRONOMBRE,PE_CANT,PE_CLIENTEOR,PE_CLIENTE,PE_COSTOU,PE_COSTO_TOT,PE_CAJAS,PE_BCAJAS,CONSECUTIVO) VALUES (?,?,?,?,?,?,?,0,0,?)", Array As String(esteTag.Get(2),c2.GetString("CAT_GP_NOMBRE"),1*minimoadesc,esteTag.Get(5),Subs.traeCliente,c2.GetString("CAT_GP_PRECIO"),c2.GetString("CAT_GP_PRECIO"),esteTag.Get(8)))
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
|
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
|
||||||
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
|
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
|
||||||
' L_CANT.Text = cym.Get("cantidad")
|
' L_CANT.Text = cym.Get("cantidad")
|
||||||
@@ -752,7 +711,6 @@ Sub b_prodMas_Click
|
|||||||
' cuentaProds("+")
|
' cuentaProds("+")
|
||||||
B4XPage_Appear
|
B4XPage_Appear
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
' Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
|
' Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
|
||||||
@@ -930,16 +888,12 @@ Sub cuentaProds(accion As String)
|
|||||||
'
|
'
|
||||||
' End If
|
' End If
|
||||||
' End If
|
' End If
|
||||||
'
|
|
||||||
'
|
|
||||||
'
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub b_guardar_Click
|
Private Sub b_guardar_Click
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
Private Sub l_pCant_Click
|
Private Sub l_pCant_Click
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
@@ -972,16 +926,12 @@ Private Sub b_prodMasC_Click
|
|||||||
|
|
||||||
' l_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original
|
' l_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original
|
||||||
If esteTag.Get(7) <> "1" Then
|
If esteTag.Get(7) <> "1" Then
|
||||||
|
|
||||||
|
|
||||||
If laCantc.Text + 1 <= maxProds Then
|
If laCantc.Text + 1 <= maxProds Then
|
||||||
Log($"NuevaCant = ${laCantc.Text + 1}"$)
|
Log($"NuevaCant = ${laCantc.Text + 1}"$)
|
||||||
laCantc.Text = $"$1.0{laCantc.Text + 1}"$
|
laCantc.Text = $"$1.0{laCantc.Text + 1}"$
|
||||||
|
|
||||||
Log(laCantc.Text)
|
Log(laCantc.Text)
|
||||||
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) -(1 * ${Subs.traeConversion(esteTag.Get(2))}) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
|
Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = IFNULL(HVD_RECHAZOCANT,0) -(1 * ${Subs.traeConversion(esteTag.Get(2))}) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa) AND CONSECUTIVO = '${esteTag.Get(8)}'"$)
|
||||||
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
|
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = HVD_RECHAZOCANT - 1 WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente in (Select CUENTA from cuentaa)"$)
|
||||||
|
|
||||||
' Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
|
' Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
|
||||||
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
|
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
|
||||||
' L_CANT.Text = cym.Get("cantidad")
|
' L_CANT.Text = cym.Get("cantidad")
|
||||||
@@ -1023,12 +973,8 @@ Private Sub b_prodMenosC_Click
|
|||||||
laCantc.Text = laCantc.Text - 1
|
laCantc.Text = laCantc.Text - 1
|
||||||
If laCantc.Text < 0 Then laCantc.Text = 0
|
If laCantc.Text < 0 Then laCantc.Text = 0
|
||||||
B4XPage_Appear
|
B4XPage_Appear
|
||||||
|
|
||||||
Else
|
Else
|
||||||
|
|
||||||
|
|
||||||
If esteTag.Get(5) = esteTag.Get(6) Then
|
If esteTag.Get(5) = esteTag.Get(6) Then
|
||||||
|
|
||||||
If laCantc.Text > 0 Then
|
If laCantc.Text > 0 Then
|
||||||
Log("entre al if o algo asi ")
|
Log("entre al if o algo asi ")
|
||||||
If laCantc.Text = "" Then laCantc.Text = 0
|
If laCantc.Text = "" Then laCantc.Text = 0
|
||||||
@@ -1038,13 +984,9 @@ Private Sub b_prodMenosC_Click
|
|||||||
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = (cat_gp_almacen + (1 * ?)) where cat_gp_id = ?", Array As Object(esteTag.Get(2), Subs.traeConversion(esteTag.Get(2))))
|
Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = (cat_gp_almacen + (1 * ?)) where cat_gp_id = ?", Array As Object(esteTag.Get(2), Subs.traeConversion(esteTag.Get(2))))
|
||||||
B4XPage_Appear
|
B4XPage_Appear
|
||||||
Else If laCantc.Text = 0 Then
|
Else If laCantc.Text = 0 Then
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Else
|
Else
|
||||||
|
|
||||||
If laCantc.Text > 0 Then
|
If laCantc.Text > 0 Then
|
||||||
|
|
||||||
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = (IFNULL(HVD_RECHAZOCANT,0) +(1 * ${Subs.traeConversion(esteTag.Get(2))})) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(6)}'"$)
|
' Starter.skmt.ExecNonQuery($"update HIST_VENTAS set HVD_RECHAZO = 1, HVD_RECHAZOCANT = (IFNULL(HVD_RECHAZOCANT,0) +(1 * ${Subs.traeConversion(esteTag.Get(2))})) WHERE HVD_PROID = '${esteTag.Get(2)}' and HVD_cliente = '${esteTag.Get(6)}'"$)
|
||||||
Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CAJAS FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and CONSECUTIVO = ? ", Array As String(esteTag.Get(2),esteTag.Get(8)))
|
Private c3 As Cursor = Starter.skmt.ExecQuery2("SELECT PE_CAJAS FROM PEDIDO WHERE PE_PROID = ? AND PE_CLIENTE IN (SELECT CUENTA FROM CUENTAA) and CONSECUTIVO = ? ", Array As String(esteTag.Get(2),esteTag.Get(8)))
|
||||||
If c3.RowCount > 0 Then
|
If c3.RowCount > 0 Then
|
||||||
@@ -1063,9 +1005,7 @@ Private Sub b_prodMenosC_Click
|
|||||||
B4XPage_Appear
|
B4XPage_Appear
|
||||||
' Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = (cat_gp_almacen + (1 * ?)) where cat_gp_id = ?", Array As Object(esteTag.Get(2), Subs.traeConversion(esteTag.Get(2))))
|
' Starter.skmt.ExecNonQuery2("update cat_gunaprod set cat_gp_almacen = (cat_gp_almacen + (1 * ?)) where cat_gp_id = ?", Array As Object(esteTag.Get(2), Subs.traeConversion(esteTag.Get(2))))
|
||||||
Else If laCantc.Text = 0 Then
|
Else If laCantc.Text = 0 Then
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
|
Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
|
||||||
@@ -1084,8 +1024,6 @@ Private Sub b_revversar_Click
|
|||||||
Else
|
Else
|
||||||
MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención")
|
MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub Printer1_Connected (Success As Boolean)
|
Sub Printer1_Connected (Success As Boolean)
|
||||||
@@ -1161,8 +1099,6 @@ Sub StartPrinter
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub B_IMP_Click
|
Private Sub B_IMP_Click
|
||||||
|
|
||||||
|
|
||||||
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
|
||||||
c.Position=0
|
c.Position=0
|
||||||
usuario = c.GetString("USUARIO")
|
usuario = c.GetString("USUARIO")
|
||||||
@@ -1170,8 +1106,6 @@ Private Sub B_IMP_Click
|
|||||||
sDate=DateTime.Date(DateTime.Now)
|
sDate=DateTime.Date(DateTime.Now)
|
||||||
sTime=DateTime.Time(DateTime.Now)
|
sTime=DateTime.Time(DateTime.Now)
|
||||||
c.Close
|
c.Close
|
||||||
|
|
||||||
|
|
||||||
ProgressDialogShow("Imprimiendo, un momento ...")
|
ProgressDialogShow("Imprimiendo, un momento ...")
|
||||||
Printer1.DisConnect
|
Printer1.DisConnect
|
||||||
If Not(Printer1.IsConnected) Then
|
If Not(Printer1.IsConnected) Then
|
||||||
@@ -1201,7 +1135,6 @@ Private Sub B_IMP_Click
|
|||||||
Sleep(500)
|
Sleep(500)
|
||||||
impresoraConectada = False
|
impresoraConectada = False
|
||||||
End If
|
End If
|
||||||
|
|
||||||
TAMANO = 0
|
TAMANO = 0
|
||||||
ESPACIO = 28
|
ESPACIO = 28
|
||||||
BLANCO = " "
|
BLANCO = " "
|
||||||
@@ -1225,10 +1158,7 @@ Private Sub B_IMP_Click
|
|||||||
c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
|
c = Starter.skmt.ExecQuery("SELECT * FROM HIST_VENTAS WHERE HVD_CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
|
||||||
If c.RowCount > 0 Then
|
If c.RowCount > 0 Then
|
||||||
Printer1.WriteString("------------Picking------------" & CRLF)
|
Printer1.WriteString("------------Picking------------" & CRLF)
|
||||||
|
|
||||||
Printer1.WriteString("" & CRLF)
|
Printer1.WriteString("" & CRLF)
|
||||||
|
|
||||||
|
|
||||||
Printer1.WriteString("------------------------------" & CRLF)
|
Printer1.WriteString("------------------------------" & CRLF)
|
||||||
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
|
' aqui es donde esta el pedo de julieta de los descuentos quitar el precio2 pero meter un if para saber si es ruta especial o es normal o que show.
|
||||||
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PROID"$)
|
s=Starter.skmt.ExecQuery($"select HVD_PRONOMBRE, HVD_CANT, length(HVD_CANT) as L_CANT, HVD_COSTO_TOT, length(HVD_COSTO_TOT) as L_COSTOU,HVD_PROID, HVD_CODPROMO,IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_RECHAZO FROM HIST_VENTAS WHERE HVD_CLIENTE IN (Select CUENTA from cuentaa) order by HVD_PROID"$)
|
||||||
@@ -1237,10 +1167,7 @@ Private Sub B_IMP_Click
|
|||||||
S.Position=i
|
S.Position=i
|
||||||
Log(s.GetString("HVD_RECHAZO"))
|
Log(s.GetString("HVD_RECHAZO"))
|
||||||
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
|
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
|
||||||
|
|
||||||
|
|
||||||
If s.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then
|
If s.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then
|
||||||
|
|
||||||
Printer1.Justify = 0
|
Printer1.Justify = 0
|
||||||
Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") )&" "&s.GetString("HVD_PRONOMBRE") & CRLF)
|
Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") )&" "&s.GetString("HVD_PRONOMBRE") & CRLF)
|
||||||
|
|
||||||
@@ -1266,9 +1193,7 @@ Private Sub B_IMP_Click
|
|||||||
' TAMANO = 0
|
' TAMANO = 0
|
||||||
' ESPACIO = 29
|
' ESPACIO = 29
|
||||||
' BLANCO = " "
|
' BLANCO = " "
|
||||||
|
|
||||||
Else If s.GetString("HVD_RECHAZO") = 1 Then
|
Else If s.GetString("HVD_RECHAZO") = 1 Then
|
||||||
|
|
||||||
Printer1.Justify = 0
|
Printer1.Justify = 0
|
||||||
Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) &" "&s.GetString("HVD_PRONOMBRE") & CRLF)
|
Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT")) &" "&s.GetString("HVD_PRONOMBRE") & CRLF)
|
||||||
|
|
||||||
@@ -1314,26 +1239,18 @@ Private Sub B_IMP_Click
|
|||||||
For i=0 To S.RowCount -1
|
For i=0 To S.RowCount -1
|
||||||
S.Position=i
|
S.Position=i
|
||||||
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
|
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
|
||||||
|
|
||||||
|
|
||||||
If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
|
If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
|
||||||
|
|
||||||
Printer1.Justify = 0
|
Printer1.Justify = 0
|
||||||
If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then
|
If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then
|
||||||
Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF)
|
Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF)
|
||||||
Else
|
Else
|
||||||
Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))&" "&s.GetString("HVD_PRONOMBRE") & CRLF)
|
Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))&" "&s.GetString("HVD_PRONOMBRE") & CRLF)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
' Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
|
' Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
|
||||||
' TAMANO = punit.Length + TAMANO
|
' TAMANO = punit.Length + TAMANO
|
||||||
'
|
'
|
||||||
'
|
|
||||||
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
|
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
|
||||||
' TAMANO = ptot.Length + TAMANO
|
' TAMANO = ptot.Length + TAMANO
|
||||||
'
|
|
||||||
'
|
|
||||||
' ESPACIO = (ESPACIO - TAMANO)/2
|
' ESPACIO = (ESPACIO - TAMANO)/2
|
||||||
' Log(ESPACIO)
|
' Log(ESPACIO)
|
||||||
' For E=0 To ESPACIO -1
|
' For E=0 To ESPACIO -1
|
||||||
@@ -1350,7 +1267,6 @@ Private Sub B_IMP_Click
|
|||||||
' BLANCO = " "
|
' BLANCO = " "
|
||||||
Printer1.Justify = 0
|
Printer1.Justify = 0
|
||||||
Else
|
Else
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
@@ -1361,11 +1277,7 @@ Private Sub B_IMP_Click
|
|||||||
Printer1.WriteString(" " & CRLF)
|
Printer1.WriteString(" " & CRLF)
|
||||||
Sleep(1000)
|
Sleep(1000)
|
||||||
Printer1.DisConnect
|
Printer1.DisConnect
|
||||||
|
|
||||||
ProgressDialogHide
|
ProgressDialogHide
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
' Guardado
|
' Guardado
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
@@ -84,7 +84,6 @@ Sub Class_Globals
|
|||||||
Private p_principal As Panel
|
Private p_principal As Panel
|
||||||
Dim ime As IME
|
Dim ime As IME
|
||||||
Private b_tabulador As Button
|
Private b_tabulador As Button
|
||||||
|
|
||||||
Private l_rutasP As Label
|
Private l_rutasP As Label
|
||||||
Private l_rechazo As Label
|
Private l_rechazo As Label
|
||||||
Private Label9 As Label
|
Private Label9 As Label
|
||||||
@@ -95,7 +94,6 @@ Sub Class_Globals
|
|||||||
Private b_regreso As Button
|
Private b_regreso As Button
|
||||||
Private lv_prod_Prin As ListView
|
Private lv_prod_Prin As ListView
|
||||||
Private b_venta_emp As Button
|
Private b_venta_emp As Button
|
||||||
|
|
||||||
Private ListView2 As ListView
|
Private ListView2 As ListView
|
||||||
Private Button1 As Button
|
Private Button1 As Button
|
||||||
Private P_PAGARES As Panel
|
Private P_PAGARES As Panel
|
||||||
@@ -146,10 +144,10 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
|||||||
' l_aLiquidar.Text = c.GetString("MONTO_DIA")
|
' l_aLiquidar.Text = c.GetString("MONTO_DIA")
|
||||||
' l_cuantosc.Text = c.GetString("CLIENTES_DIA")
|
' l_cuantosc.Text = c.GetString("CLIENTES_DIA")
|
||||||
' l_cuantosn.Text = b.GetString("CUANTOS")
|
' l_cuantosn.Text = b.GetString("CUANTOS")
|
||||||
'' drop = c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA")
|
'' drop = c.GetString("MONTO_DIA") / c.GetString("CLIENTES_DIA")
|
||||||
'' l_montoSalida.Text = Round2(drop,2)
|
'' l_montoSalida.Text = Round2(drop,2)
|
||||||
'' efectiva = c.GetString("CLIENTES_DIA") / e.GetString("POR_VISITAR")
|
'' efectiva = c.GetString("CLIENTES_DIA") / e.GetString("POR_VISITAR")
|
||||||
'' l_efectiva.text = Round2(efectiva * 100, 2)
|
'' l_efectiva.text = Round2(efectiva * 100, 2)
|
||||||
' l_ctast.Text = d.GetString("TOTAL_VISITAR")
|
' l_ctast.Text = d.GetString("TOTAL_VISITAR")
|
||||||
' l_porvisitar.Text = e.GetString("POR_VISITAR")
|
' l_porvisitar.Text = e.GetString("POR_VISITAR")
|
||||||
' b.Close
|
' b.Close
|
||||||
@@ -284,7 +282,7 @@ Sub B4XPage_Appear
|
|||||||
' If F4.GetString("CUANTOS") > 0 Then
|
' If F4.GetString("CUANTOS") > 0 Then
|
||||||
' f3=Starter.skmt.execqUery("select sum(pe_costo_tot) as MONTO_VENTA FROM PEDIDO")
|
' f3=Starter.skmt.execqUery("select sum(pe_costo_tot) as MONTO_VENTA FROM PEDIDO")
|
||||||
' f3.Position=0
|
' f3.Position=0
|
||||||
'' Log(MONTO_REC_DIA & " - " & f3.GetString("MONTO_VENTA"))
|
'' Log(MONTO_REC_DIA & " - " & f3.GetString("MONTO_VENTA"))
|
||||||
' l_efectiva.text = to_number_vb(MONTO_REC_DIA - f3.GetString("MONTO_VENTA")) & "..."
|
' l_efectiva.text = to_number_vb(MONTO_REC_DIA - f3.GetString("MONTO_VENTA")) & "..."
|
||||||
' f3.Close
|
' f3.Close
|
||||||
' Else
|
' Else
|
||||||
@@ -315,11 +313,11 @@ Sub B4XPage_Appear
|
|||||||
' c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES where CAT_VA_DESCRIPCION = ? ", Array As String("CAMBIOS"))
|
' c=Starter.skmt.ExecQuery2("select count(*) as CUANTOS from CAT_VARIABLES where CAT_VA_DESCRIPCION = ? ", Array As String("CAMBIOS"))
|
||||||
' c.Position = 0
|
' c.Position = 0
|
||||||
' If c.GetString("CUANTOS") = 0 Then
|
' If c.GetString("CUANTOS") = 0 Then
|
||||||
'' cambios.Text = 0
|
'' cambios.Text = 0
|
||||||
' Else
|
' Else
|
||||||
' B=Starter.skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'CAMBIOS'")
|
' B=Starter.skmt.ExecQuery("select CAT_VA_VALOR from CAT_VARIABLES where CAT_VA_DESCRIPCION = 'CAMBIOS'")
|
||||||
' B.Position = 0
|
' B.Position = 0
|
||||||
'' cambios.Text = b.GetString("CAT_VA_VALOR")
|
'' cambios.Text = b.GetString("CAT_VA_VALOR")
|
||||||
' b.Close
|
' b.Close
|
||||||
' End If
|
' End If
|
||||||
c.Close
|
c.Close
|
||||||
@@ -399,7 +397,6 @@ Sub B4XPage_Appear
|
|||||||
End If
|
End If
|
||||||
cancelrecha.Close
|
cancelrecha.Close
|
||||||
|
|
||||||
|
|
||||||
''' RECHAZO - VENTA
|
''' RECHAZO - VENTA
|
||||||
Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' ORDER BY HVD_PROID "$)
|
Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' ORDER BY HVD_PROID "$)
|
||||||
|
|
||||||
@@ -410,13 +407,11 @@ Sub B4XPage_Appear
|
|||||||
Private r6 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}' "$)
|
Private r6 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(PE_CANT),0) AS PE_CANT from PEDIDO where PE_CLIENTEOR = '${r5.GetString("HVD_CLIENTE")}' AND PE_PROID = '${r5.GetString("HVD_PROID")}' AND CONSECUTIVO = '${r5.GetString("CONSECUTIVO")}' "$)
|
||||||
Dim totalcantped As String
|
Dim totalcantped As String
|
||||||
If r6.RowCount > 0 Then
|
If r6.RowCount > 0 Then
|
||||||
r6.Position = 0
|
r6.Position = 0
|
||||||
totalcantped = r6.GetString("PE_CANT")
|
totalcantped = r6.GetString("PE_CANT")
|
||||||
Else
|
Else
|
||||||
|
|
||||||
totalcantped = 0
|
totalcantped = 0
|
||||||
End If
|
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)))
|
rescant = rescant + ((r5.GetString("HVD_COSTO_TOT")/(r5.GetString("HVD_CANT")))*((r5.GetString("HVD_RECHAZOCANT") - totalcantped)))
|
||||||
' Log(rescant)
|
' Log(rescant)
|
||||||
@@ -424,13 +419,10 @@ Sub B4XPage_Appear
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
If rescant = "NaN" Then rescant = 0
|
If rescant = "NaN" Then rescant = 0
|
||||||
LogColor(rescant,Colors.Red)
|
' LogColor(rescant,Colors.Red)
|
||||||
r5.Close
|
r5.Close
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT,IFNULL(CANTC,0) AS CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$)
|
Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT,IFNULL(CANTC,0) AS CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$)
|
||||||
|
|
||||||
' Private r5 As Cursor = Starter.skmt.ExecQuery($"select * from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$)
|
' Private r5 As Cursor = Starter.skmt.ExecQuery($"select * from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$)
|
||||||
|
|
||||||
Private rescant2 As Double = 0
|
Private rescant2 As Double = 0
|
||||||
@@ -450,10 +442,8 @@ Sub B4XPage_Appear
|
|||||||
r5.Close
|
r5.Close
|
||||||
'''FIN RECHAZO - VENTA
|
'''FIN RECHAZO - VENTA
|
||||||
|
|
||||||
|
|
||||||
'''RECHAZO
|
'''RECHAZO
|
||||||
Private r5r As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' "$)
|
Private r5r As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' "$)
|
||||||
|
|
||||||
Private rescantr As String = 0
|
Private rescantr As String = 0
|
||||||
If r5r.RowCount > 0 Then
|
If r5r.RowCount > 0 Then
|
||||||
For j4r = 0 To r5r.RowCount -1
|
For j4r = 0 To r5r.RowCount -1
|
||||||
@@ -470,12 +460,11 @@ Sub B4XPage_Appear
|
|||||||
' LogColor(rescant,Colors.Red)
|
' LogColor(rescant,Colors.Red)
|
||||||
r5r.Close
|
r5r.Close
|
||||||
|
|
||||||
Log(rescantr)
|
' Log(rescantr)
|
||||||
|
|
||||||
Private r5r As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT,IFNULL(CANTC,0) AS CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$)
|
Private r5r As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT,IFNULL(CANTC,0) AS CANTC, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$)
|
||||||
|
|
||||||
' Private r5 As Cursor = Starter.skmt.ExecQuery($"select * from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$)
|
' Private r5 As Cursor = Starter.skmt.ExecQuery($"select * from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '1' "$)
|
||||||
|
|
||||||
Private rescant2r As String = 0
|
Private rescant2r As String = 0
|
||||||
If r5r.RowCount > 0 Then
|
If r5r.RowCount > 0 Then
|
||||||
For j5r = 0 To r5r.RowCount -1
|
For j5r = 0 To r5r.RowCount -1
|
||||||
@@ -496,7 +485,6 @@ Sub B4XPage_Appear
|
|||||||
'''' FIN RECHAZO
|
'''' FIN RECHAZO
|
||||||
|
|
||||||
'''''
|
'''''
|
||||||
|
|
||||||
' Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(HVD_COSTO_TOT),0) AS HVD_COSTO_TOT from HIST_VENTAS where HVD_RECHAZO = '0' and BCAJAS = '0' "$)
|
' Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(HVD_COSTO_TOT),0) AS HVD_COSTO_TOT from HIST_VENTAS where HVD_RECHAZO = '0' and BCAJAS = '0' "$)
|
||||||
' Private rescant3 As Double = 0
|
' Private rescant3 As Double = 0
|
||||||
' If r5.RowCount > 0 Then
|
' If r5.RowCount > 0 Then
|
||||||
@@ -514,19 +502,15 @@ Sub B4XPage_Appear
|
|||||||
r55.Position = r75
|
r55.Position = r75
|
||||||
rescant3 = rescant3 + r55.GetString("HVD_COSTO_TOT")
|
rescant3 = rescant3 + r55.GetString("HVD_COSTO_TOT")
|
||||||
rescant3 = NumberFormat2(rescant3, 0, 2, 2, False)
|
rescant3 = NumberFormat2(rescant3, 0, 2, 2, False)
|
||||||
|
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
Log(rescant3)
|
' Log(rescant3)
|
||||||
r55.Close
|
r55.Close
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(HVD_COSTO_TOT),0) AS HVD_COSTO_TOT from HIST_VENTAS where HVD_RECHAZO = '0' and BCAJAS = '1' "$)
|
Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(HVD_COSTO_TOT),0) AS HVD_COSTO_TOT from HIST_VENTAS where HVD_RECHAZO = '0' and BCAJAS = '1' "$)
|
||||||
Private rescant4 As Double
|
Private rescant4 As Double
|
||||||
If r5.RowCount > 0 Then
|
If r5.RowCount > 0 Then
|
||||||
r5.Position = 0
|
r5.Position = 0
|
||||||
rescant4 = r5.GetString("HVD_COSTO_TOT")
|
rescant4 = r5.GetString("HVD_COSTO_TOT")
|
||||||
End If
|
End If
|
||||||
Log(rescant4)
|
Log(rescant4)
|
||||||
@@ -535,14 +519,11 @@ Sub B4XPage_Appear
|
|||||||
Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(PE_COSTO_TOT),0) AS PE_COSTO_TOT from PEDIDO "$)
|
Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(SUM(PE_COSTO_TOT),0) AS PE_COSTO_TOT from PEDIDO "$)
|
||||||
Private rescant5 As Double
|
Private rescant5 As Double
|
||||||
If r5.RowCount > 0 Then
|
If r5.RowCount > 0 Then
|
||||||
r5.Position = 0
|
r5.Position = 0
|
||||||
rescant5 = r5.GetString("PE_COSTO_TOT")
|
rescant5 = r5.GetString("PE_COSTO_TOT")
|
||||||
End If
|
End If
|
||||||
Log(rescant5)
|
Log(rescant5)
|
||||||
r5.Close
|
r5.Close
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'''
|
'''
|
||||||
Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' "$)
|
Private r5 As Cursor = Starter.skmt.ExecQuery($"select IFNULL(HVD_COSTO_TOT,0) AS HVD_COSTO_TOT, IFNULL(HVD_CANT,0) AS HVD_CANT, IFNULL(HVD_RECHAZOCANT,0) AS HVD_RECHAZOCANT, HVD_PROID, HVD_CLIENTE, CONSECUTIVO from HIST_VENTAS where HVD_RECHAZO = '1' and BCAJAS = '0' "$)
|
||||||
Private rescant6 As Double
|
Private rescant6 As Double
|
||||||
@@ -577,12 +558,8 @@ Sub B4XPage_Appear
|
|||||||
If rescant7 = "NaN" Then rescant7 = 0
|
If rescant7 = "NaN" Then rescant7 = 0
|
||||||
Log(rescant7)
|
Log(rescant7)
|
||||||
r5.Close
|
r5.Close
|
||||||
|
|
||||||
|
|
||||||
l_rechazo.text = NumberFormat2((rescant + rescant2),0,2,2,False)
|
l_rechazo.text = NumberFormat2((rescant + rescant2),0,2,2,False)
|
||||||
L_MONTOE.Text = NumberFormat2((rescant3 + rescant4 + rescant5 + rescant6 + rescant7),0,2,2,False)
|
L_MONTOE.Text = NumberFormat2((rescant3 + rescant4 + rescant5 + rescant6 + rescant7),0,2,2,False)
|
||||||
|
|
||||||
|
|
||||||
B4XPages.MainPage.clientesVisitados = L_MONTOE.Text
|
B4XPages.MainPage.clientesVisitados = L_MONTOE.Text
|
||||||
B4XPages.MainPage.clientesVenta = l_cuantosc.Text
|
B4XPages.MainPage.clientesVenta = l_cuantosc.Text
|
||||||
B4XPages.MainPage.clientesRechazo = l_cuantosn.Text
|
B4XPages.MainPage.clientesRechazo = l_cuantosn.Text
|
||||||
@@ -593,14 +570,12 @@ Sub B4XPage_Appear
|
|||||||
B4XPages.MainPage.rechazos = l_cuantosn.text
|
B4XPages.MainPage.rechazos = l_cuantosn.text
|
||||||
B4XPages.MainPage.montoEntregado = L_MONTOE.text
|
B4XPages.MainPage.montoEntregado = L_MONTOE.text
|
||||||
B4XPages.MainPage.montoRechazado = l_rechazo.text
|
B4XPages.MainPage.montoRechazado = l_rechazo.text
|
||||||
|
|
||||||
reqManager.Initialize(Me, B4XPages.MainPage.server)
|
reqManager.Initialize(Me, B4XPages.MainPage.server)
|
||||||
' LogColor($"ReqServer = ${B4XPages.MainPage.server}"$, Colors.red)
|
' LogColor($"ReqServer = ${B4XPages.MainPage.server}"$, Colors.red)
|
||||||
|
|
||||||
If l_ctast.Text = 0 And l_porvisitar.Text <> 0 Then
|
If l_ctast.Text = 0 And l_porvisitar.Text <> 0 Then
|
||||||
Label9.Visible = True
|
Label9.Visible = True
|
||||||
L_MONTOE.Visible = True
|
L_MONTOE.Visible = True
|
||||||
|
|
||||||
'' hacer validacion su hay rechazo
|
'' hacer validacion su hay rechazo
|
||||||
' c=Starter.skmt.ExecQuery("select * from HIST_VENTAS WHERE hvd_rechazo <> 2 and HVD_RECHAZOCANT > 0 order by HVD_CODPROMO desc, HVD_PRONOMBRE asc")
|
' c=Starter.skmt.ExecQuery("select * from HIST_VENTAS WHERE hvd_rechazo <> 2 and HVD_RECHAZOCANT > 0 order by HVD_CODPROMO desc, HVD_PRONOMBRE asc")
|
||||||
' If c.RowCount > 0 Then
|
' If c.RowCount > 0 Then
|
||||||
@@ -616,21 +591,16 @@ Sub B4XPage_Appear
|
|||||||
End If
|
End If
|
||||||
' Label9.Visible = True
|
' Label9.Visible = True
|
||||||
' L_MONTOE.Visible = True
|
' L_MONTOE.Visible = True
|
||||||
|
|
||||||
' If l_ctast.Text = 0 Then
|
' If l_ctast.Text = 0 Then
|
||||||
'
|
|
||||||
' Else
|
' Else
|
||||||
' StartActivity(MAPA_RUTAS)
|
' StartActivity(MAPA_RUTAS)
|
||||||
' End If
|
' End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
' checachek
|
' checachek
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub checachek
|
Sub checachek
|
||||||
b = Starter.skmt.ExecQuery("SELECT CHECADO FROM CHECADO_CHECK")
|
b = Starter.skmt.ExecQuery("SELECT CHECADO FROM CHECADO_CHECK")
|
||||||
If b.RowCount > 0 Then
|
If b.RowCount > 0 Then
|
||||||
b.Position = 0
|
b.Position = 0
|
||||||
If b.GetString("CHECADO") = 0 Then
|
If b.GetString("CHECADO") = 0 Then
|
||||||
b_check.Visible = True
|
b_check.Visible = True
|
||||||
@@ -638,7 +608,7 @@ Sub checachek
|
|||||||
b_check.Visible =False
|
b_check.Visible =False
|
||||||
End If
|
End If
|
||||||
b.Close
|
b.Close
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub IsConnectedToInternet As Boolean 'ignore
|
Sub IsConnectedToInternet As Boolean 'ignore
|
||||||
@@ -666,12 +636,10 @@ End Sub
|
|||||||
|
|
||||||
Sub trabajar_Click
|
Sub trabajar_Click
|
||||||
If b_check.Visible = True Then
|
If b_check.Visible = True Then
|
||||||
MsgboxAsync("Favor de hacer el checklist.","Atención")
|
MsgboxAsync("Favor de hacer el checklist.","Atención")
|
||||||
Else
|
Else
|
||||||
|
B4XPages.ShowPage("Clientes")
|
||||||
B4XPages.ShowPage("Clientes")
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub Subir_Click
|
Sub Subir_Click
|
||||||
@@ -686,7 +654,7 @@ Sub Subir_Click
|
|||||||
' Starter.skmt.ExecNonQuery2("INSERT INTO BLOCKENVIO(ENVIADO) VALUES (?)", Array As Object (1))
|
' Starter.skmt.ExecNonQuery2("INSERT INTO BLOCKENVIO(ENVIADO) VALUES (?)", Array As Object (1))
|
||||||
' envioinfo
|
' envioinfo
|
||||||
' Else
|
' Else
|
||||||
envioinfo
|
envioinfo
|
||||||
' End If
|
' End If
|
||||||
' c.Close
|
' c.Close
|
||||||
|
|
||||||
@@ -697,9 +665,6 @@ Sub Subir_Click
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub envioinfo
|
Sub envioinfo
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
' NOVENTA
|
' NOVENTA
|
||||||
c = Starter.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO, NV_REPROGRAMAR FROM NOVENTA")
|
c = Starter.skmt.ExecQuery("SELECT NV_CLIENTE,NV_FECHA,NV_USER,NV_MOTIVO,NV_COMM,NV_LAT,NV_LON, NV_FOTO, NV_REPROGRAMAR FROM NOVENTA")
|
||||||
D=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
D=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
||||||
@@ -719,7 +684,6 @@ Sub envioinfo
|
|||||||
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
||||||
d.Close
|
d.Close
|
||||||
|
|
||||||
|
|
||||||
'PAGARES.
|
'PAGARES.
|
||||||
Dim pa As Cursor =Starter.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")
|
Dim pa As Cursor =Starter.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
|
If pa.RowCount > 0 Then
|
||||||
@@ -736,19 +700,15 @@ Sub envioinfo
|
|||||||
Dim fechaano As String = fechaenvio1(2).SubString(2)
|
Dim fechaano As String = fechaenvio1(2).SubString(2)
|
||||||
Dim fechareal As String = fechaenvio1(0)&"/"&fechaenvio1(1)&"/"&fechaano
|
Dim fechareal As String = fechaenvio1(0)&"/"&fechaenvio1(1)&"/"&fechaano
|
||||||
' Log(fechareal)
|
' Log(fechareal)
|
||||||
|
|
||||||
Dim fechacap() As String
|
Dim fechacap() As String
|
||||||
fechacap = Regex.Split("/",pa.GetString("PA_CAPTURA"))
|
fechacap = Regex.Split("/",pa.GetString("PA_CAPTURA"))
|
||||||
Dim fechacapano As String = fechacap(2).SubString(2)
|
Dim fechacapano As String = fechacap(2).SubString(2)
|
||||||
Dim fechacapreal As String = fechacap(0)&"/"&fechacap(1)&"/"&fechacapano
|
Dim fechacapreal As String = fechacap(0)&"/"&fechacap(1)&"/"&fechacapano
|
||||||
|
|
||||||
If pa.GetString("PA_CANCELADO") = "2" Then
|
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)
|
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
|
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"),"")
|
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
|
End If
|
||||||
|
|
||||||
|
|
||||||
reqManager.ExecuteCommand(cmd , "ins_pagares")
|
reqManager.ExecuteCommand(cmd , "ins_pagares")
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
@@ -762,7 +722,6 @@ Sub envioinfo
|
|||||||
If ab.RowCount > 0 Then
|
If ab.RowCount > 0 Then
|
||||||
For i=0 To ab.RowCount -1
|
For i=0 To ab.RowCount -1
|
||||||
ab.Position = i
|
ab.Position = i
|
||||||
|
|
||||||
Dim ab1 As Cursor = Starter.skmt.ExecQuery($"SELECT SUM(a_abono) AS a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}'"$)
|
Dim ab1 As Cursor = Starter.skmt.ExecQuery($"SELECT SUM(a_abono) AS a_abono from ABONOS where a_cliente = '${ab.GetString("a_cliente")}'"$)
|
||||||
ab1.Position = 0
|
ab1.Position = 0
|
||||||
|
|
||||||
@@ -817,8 +776,6 @@ Sub envioinfo
|
|||||||
b.Close
|
b.Close
|
||||||
f.Close
|
f.Close
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
c = Starter.skmt.ExecQuery("SELECT MIL, QUINIENTOS, DOCIENTOS, CIEN, CINCUENTA, VEINTE FROM TABULADOR_BILLETES")
|
c = Starter.skmt.ExecQuery("SELECT MIL, QUINIENTOS, DOCIENTOS, CIEN, CINCUENTA, VEINTE FROM TABULADOR_BILLETES")
|
||||||
d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
|
d = Starter.skmt.ExecQuery("SELECT RUTAA FROM RUTAA")
|
||||||
b = Starter.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN")
|
b = Starter.skmt.ExecQuery("SELECT ID_ALMACEN FROM CAT_ALMACEN")
|
||||||
@@ -831,7 +788,6 @@ Sub envioinfo
|
|||||||
c.Position=i
|
c.Position=i
|
||||||
Dim cmd As DBCommand
|
Dim cmd As DBCommand
|
||||||
Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA"))
|
Dim fechatabulador() As String = Regex.Split(" ", f.GetString("HVD_FECHA"))
|
||||||
|
|
||||||
Dim fechatabulador3 As String = fechatabulador(0)
|
Dim fechatabulador3 As String = fechatabulador(0)
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
cmd.Name = "insert_tabulador_billetes_GUNA_VN"
|
cmd.Name = "insert_tabulador_billetes_GUNA_VN"
|
||||||
@@ -887,10 +843,6 @@ Sub envioinfo
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
c.Close
|
c.Close
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Dim cmd As DBCommand
|
Dim cmd As DBCommand
|
||||||
cmd.Initialize
|
cmd.Initialize
|
||||||
cmd.Name = "insert_drop_rep_GUNA_VN"
|
cmd.Name = "insert_drop_rep_GUNA_VN"
|
||||||
@@ -1036,7 +988,6 @@ Sub cargar_Click
|
|||||||
' Next
|
' Next
|
||||||
' End If
|
' End If
|
||||||
' c.Close
|
' c.Close
|
||||||
|
|
||||||
D=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
D=Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS_NOVENTA FROM NOVENTA")
|
||||||
d.Position=0
|
d.Position=0
|
||||||
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
||||||
@@ -1048,17 +999,12 @@ Sub cargar_Click
|
|||||||
ToastMessageShow("Se actualizarán los datos, este proceso podria tardar hasta un minuto, gracias" , True)
|
ToastMessageShow("Se actualizarán los datos, este proceso podria tardar hasta un minuto, gracias" , True)
|
||||||
ProgressDialogShow2("Descargando rutas, espere un momento.", False)
|
ProgressDialogShow2("Descargando rutas, espere un momento.", False)
|
||||||
If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a Internet", "Revisa tu conexión")
|
If Not(IsConnectedToInternet) Then MsgboxAsync("No hay conexión a Internet", "Revisa tu conexión")
|
||||||
|
|
||||||
|
|
||||||
Else
|
Else
|
||||||
Log("XXXX")
|
Log("XXXX")
|
||||||
MsgboxAsync("Para poder cargar día no puedes tener venta del día anterior. Por favor haz FIN DIA e intenta nuevamente.","Atención")
|
MsgboxAsync("Para poder cargar día no puedes tener venta del día anterior. Por favor haz FIN DIA e intenta nuevamente.","Atención")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Sub JobDone(Job As HttpJob)
|
Sub JobDone(Job As HttpJob)
|
||||||
' Private r As DBResult = reqManager.HandleJob(Job)
|
' Private r As DBResult = reqManager.HandleJob(Job)
|
||||||
If Job.Success = False Then
|
If Job.Success = False Then
|
||||||
@@ -1128,7 +1074,6 @@ Sub JobDone(Job As HttpJob)
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
If Job.JobName = "DBRequest" Then
|
If Job.JobName = "DBRequest" Then
|
||||||
Dim result As DBResult = reqManager.HandleJob(Job)
|
Dim result As DBResult = reqManager.HandleJob(Job)
|
||||||
If result.Tag = "gunaprod3" Then 'query tag
|
If result.Tag = "gunaprod3" Then 'query tag
|
||||||
@@ -1404,7 +1349,6 @@ Sub JobDone(Job As HttpJob)
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
If Job.JobName = "DBRequest" Then
|
If Job.JobName = "DBRequest" Then
|
||||||
Dim result As DBResult = reqManager.HandleJob(Job)
|
Dim result As DBResult = reqManager.HandleJob(Job)
|
||||||
If result.Tag = "PAGARES" Then 'query tag
|
If result.Tag = "PAGARES" Then 'query tag
|
||||||
@@ -1433,8 +1377,6 @@ Sub JobDone(Job As HttpJob)
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
If Job.JobName = "DBRequest" Then
|
If Job.JobName = "DBRequest" Then
|
||||||
Dim result As DBResult = reqManager.HandleJob(Job)
|
Dim result As DBResult = reqManager.HandleJob(Job)
|
||||||
If result.Tag = "valida_pedidoc" Then 'query tag
|
If result.Tag = "valida_pedidoc" Then 'query tag
|
||||||
@@ -1574,18 +1516,13 @@ Sub JobDone(Job As HttpJob)
|
|||||||
Job.Release
|
Job.Release
|
||||||
End If
|
End If
|
||||||
If reqs.Size = 0 Then
|
If reqs.Size = 0 Then
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ProgressDialogHide
|
ProgressDialogHide
|
||||||
|
|
||||||
c = Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM CHECADO_CHECK")
|
c = Starter.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM CHECADO_CHECK")
|
||||||
c.Position = 0
|
c.Position = 0
|
||||||
If c.GetString("CUANTOS") = 0 Then
|
If c.GetString("CUANTOS") = 0 Then
|
||||||
Starter.skmt.ExecNonQuery2("insert into CHECADO_CHECK (CHECADO) VALUES(?)", Array As String("0"))
|
Starter.skmt.ExecNonQuery2("insert into CHECADO_CHECK (CHECADO) VALUES(?)", Array As String("0"))
|
||||||
|
|
||||||
Else If c.GetString("CUANTOS") = 1 Then
|
Else If c.GetString("CUANTOS") = 1 Then
|
||||||
|
|
||||||
End If
|
End If
|
||||||
c.Close
|
c.Close
|
||||||
' Log(reqs.size)
|
' Log(reqs.size)
|
||||||
@@ -1636,7 +1573,7 @@ Sub BUSCA_Click
|
|||||||
MsgboxAsync("Favor de hacer el checklist.","Atención")
|
MsgboxAsync("Favor de hacer el checklist.","Atención")
|
||||||
Else
|
Else
|
||||||
' StartActivity(BUSCAR)
|
' StartActivity(BUSCAR)
|
||||||
B4XPages.ShowPage("Buscar")
|
B4XPages.ShowPage("Buscar")
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -1710,36 +1647,34 @@ Sub B_CLIEPROD_Click
|
|||||||
Panel1.Width = Root.Width
|
Panel1.Width = Root.Width
|
||||||
Panel1.Height = Root.Height
|
Panel1.Height = Root.Height
|
||||||
' ListView1. = Panel1.Width / 2
|
' ListView1. = Panel1.Width / 2
|
||||||
|
|
||||||
B_REGRESA.Left = (Panel1.Width - B_REGRESA.Width) / 2
|
B_REGRESA.Left = (Panel1.Width - B_REGRESA.Width) / 2
|
||||||
B_REGRESA.Top = Panel1.Height - B_REGRESA.Height
|
B_REGRESA.Top = Panel1.Height - B_REGRESA.Height
|
||||||
BUSCA.Visible = False
|
BUSCA.Visible = False
|
||||||
connecta.Visible = False
|
connecta.Visible = False
|
||||||
trabajar.Visible = False
|
trabajar.Visible = False
|
||||||
B_CLIEPROD.Visible = False
|
B_CLIEPROD.Visible = False
|
||||||
Panel1.Visible = True
|
Panel1.Visible = True
|
||||||
Panel1.BringToFront
|
Panel1.BringToFront
|
||||||
Btn_Ubicar_Ru.Visible=False
|
Btn_Ubicar_Ru.Visible=False
|
||||||
c=Starter.skmt.ExecQuery("select * from kmt_info WHERE gestion <> 0 order by HORAENT")
|
c=Starter.skmt.ExecQuery("select * from kmt_info WHERE gestion <> 0 order by HORAENT")
|
||||||
Subs.SetDivider(ListView1, Colors.LightGray, 2)
|
Subs.SetDivider(ListView1, Colors.LightGray, 2)
|
||||||
ListView1.Clear
|
ListView1.Clear
|
||||||
ListView1.TwoLinesLayout.ItemHeight = 120dip
|
ListView1.TwoLinesLayout.ItemHeight = 120dip
|
||||||
|
Dim label1 As Label
|
||||||
Dim label1 As Label
|
label1 = ListView1.TwoLinesLayout.Label
|
||||||
label1 = ListView1.TwoLinesLayout.Label
|
label1.TextSize = 22
|
||||||
label1.TextSize = 22
|
label1.TextColor = Colors.White
|
||||||
label1.TextColor = Colors.White
|
label1.Height = 60dip
|
||||||
label1.Height = 60dip
|
Dim label2 As Label
|
||||||
Dim label2 As Label
|
label2 = ListView1.TwoLinesLayout.SecondLabel
|
||||||
label2 = ListView1.TwoLinesLayout.SecondLabel
|
label2.TextSize = 22
|
||||||
label2.TextSize = 22
|
label2.TextColor = Colors.White
|
||||||
label2.TextColor = Colors.White
|
label2.Top = 60dip
|
||||||
label2.Top = 60dip
|
|
||||||
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
If c.RowCount>0 Then
|
If c.RowCount>0 Then
|
||||||
For i=0 To c.RowCount -1
|
For i=0 To c.RowCount -1
|
||||||
c.Position=i
|
c.Position=i
|
||||||
If c.GetString("gestion") = "2" Then
|
If c.GetString("gestion") = "2" Then
|
||||||
ESTATUS = "ENTREGADO"
|
ESTATUS = "ENTREGADO"
|
||||||
Log("entrega")
|
Log("entrega")
|
||||||
@@ -1749,12 +1684,8 @@ Sub B_CLIEPROD_Click
|
|||||||
Else
|
Else
|
||||||
ESTATUS = "SIN ESTATUS"
|
ESTATUS = "SIN ESTATUS"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
If ESTATUS = "ENTREGADO" Then
|
If ESTATUS = "ENTREGADO" Then
|
||||||
Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID,HVD_COSTO_TOT, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$)
|
Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID,HVD_COSTO_TOT, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$)
|
||||||
|
|
||||||
Private cuenta0 As String = 0
|
Private cuenta0 As String = 0
|
||||||
Private arti As String = 0
|
Private arti As String = 0
|
||||||
If vc.RowCount > 0 Then
|
If vc.RowCount > 0 Then
|
||||||
@@ -1766,7 +1697,6 @@ Sub B_CLIEPROD_Click
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
' Log(cuenta0)
|
' Log(cuenta0)
|
||||||
|
|
||||||
Private vc2 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 1"$)
|
Private vc2 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 1"$)
|
||||||
Private Cuenta1 As String = 0
|
Private Cuenta1 As String = 0
|
||||||
Private arti1 As String = 0
|
Private arti1 As String = 0
|
||||||
@@ -1783,12 +1713,10 @@ Sub B_CLIEPROD_Click
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
' Log(Cuenta1)
|
' Log(Cuenta1)
|
||||||
|
|
||||||
Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
|
Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
|
||||||
Private Cuenta2 As String = 0
|
Private Cuenta2 As String = 0
|
||||||
Private arti2 As String = 0
|
Private arti2 As String = 0
|
||||||
If vc4.RowCount > 0 Then
|
If vc4.RowCount > 0 Then
|
||||||
|
|
||||||
For k = 0 To vc4.RowCount - 1
|
For k = 0 To vc4.RowCount - 1
|
||||||
vc4.Position = k
|
vc4.Position = k
|
||||||
If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
|
If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
|
||||||
@@ -1805,11 +1733,9 @@ Sub B_CLIEPROD_Click
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
' Log(arti2)
|
' Log(arti2)
|
||||||
|
|
||||||
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$)
|
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$)
|
||||||
Private Cuenta3 As String = 0
|
Private Cuenta3 As String = 0
|
||||||
Private arti3 As String = 0
|
Private arti3 As String = 0
|
||||||
@@ -1820,18 +1746,12 @@ Sub B_CLIEPROD_Click
|
|||||||
Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
|
Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
Private TOTALMONTO As String = cuenta0 + Cuenta1 + Cuenta2 + Cuenta3
|
Private TOTALMONTO As String = cuenta0 + Cuenta1 + Cuenta2 + Cuenta3
|
||||||
Private TOTALcantidad As String = arti + arti1 +arti2 + arti3
|
Private TOTALcantidad As String = arti + arti1 +arti2 + arti3
|
||||||
|
|
||||||
ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO")&" - " &c.GetString("CAT_CL_NOMBRE"), "Articulos :"& TOTALcantidad &" Monto :"& NumberFormat2(TOTALMONTO,0,2,2,True) & " " & ESTATUS )
|
ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO")&" - " &c.GetString("CAT_CL_NOMBRE"), "Articulos :"& TOTALcantidad &" Monto :"& NumberFormat2(TOTALMONTO,0,2,2,True) & " " & ESTATUS )
|
||||||
Log("si entre2")
|
Log("si entre2")
|
||||||
|
|
||||||
Else If ESTATUS = "RECHAZADO" Then
|
Else If ESTATUS = "RECHAZADO" Then
|
||||||
|
|
||||||
Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO, HVD_COSTO_TOT from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$)
|
Private vc As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CAT_GP_PRECIO, HVD_COSTO_TOT from HIST_VENTAS LEFT JOIN CAT_GUNAPROD ON CAT_GP_ID = HVD_PROID where BCAJAS = 0 and HVD_CODPROMO ='${Subs.traealmacen}' and HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$)
|
||||||
|
|
||||||
Private cuenta0 As String = 0
|
Private cuenta0 As String = 0
|
||||||
Private arti As String = 0
|
Private arti As String = 0
|
||||||
If vc.RowCount > 0 Then
|
If vc.RowCount > 0 Then
|
||||||
@@ -1844,7 +1764,6 @@ Sub B_CLIEPROD_Click
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
' Log(cuenta0)
|
' Log(cuenta0)
|
||||||
|
|
||||||
Private vc2 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 1"$)
|
Private vc2 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 1"$)
|
||||||
Private Cuenta1 As String = 0
|
Private Cuenta1 As String = 0
|
||||||
Private arti1 As String = 0
|
Private arti1 As String = 0
|
||||||
@@ -1861,12 +1780,10 @@ Sub B_CLIEPROD_Click
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
' Log(Cuenta1)
|
' Log(Cuenta1)
|
||||||
|
|
||||||
Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
|
Private vc4 As Cursor = Starter.skmt.ExecQuery($"select HVD_PROID, HVD_CANT, IFNULL(HVD_RECHAZOCANT, 0) AS HVD_RECHAZOCANT, CANTC,HVD_COSTO_TOT, HVD_RECHAZO, HVD_CODPROMO from HIST_VENTAS where HVD_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}' AND BCAJAS = 0 and HVD_CODPROMO <> '${Subs.traeAlmacen}'"$)
|
||||||
Private Cuenta2 As String = 0
|
Private Cuenta2 As String = 0
|
||||||
Private arti2 As String = 0
|
Private arti2 As String = 0
|
||||||
If vc4.RowCount > 0 Then
|
If vc4.RowCount > 0 Then
|
||||||
|
|
||||||
For k = 0 To vc4.RowCount - 1
|
For k = 0 To vc4.RowCount - 1
|
||||||
vc4.Position = k
|
vc4.Position = k
|
||||||
If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
|
If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
|
||||||
@@ -1883,11 +1800,9 @@ Sub B_CLIEPROD_Click
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
' Log(arti2)
|
' Log(arti2)
|
||||||
|
|
||||||
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$)
|
Private c4 As Cursor = Starter.skmt.ExecQuery($"SELECT IFNULL(PE_CANT,0) AS PE_CANT, iFNULL(PE_COSTO_TOT,0) AS PE_COSTO_TOT FROM PEDIDO WHERE PE_CLIENTE = '${c.GetString("CAT_CL_CODIGO")}'"$)
|
||||||
Private Cuenta3 As String = 0
|
Private Cuenta3 As String = 0
|
||||||
Private arti3 As String = 0
|
Private arti3 As String = 0
|
||||||
@@ -1898,18 +1813,13 @@ Sub B_CLIEPROD_Click
|
|||||||
Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
|
Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
Private TOTALMONTO As String = cuenta0 + Cuenta1 + Cuenta2 + Cuenta3
|
Private TOTALMONTO As String = cuenta0 + Cuenta1 + Cuenta2 + Cuenta3
|
||||||
Private TOTALcantidad As String = arti + arti1 +arti2 + arti3
|
Private TOTALcantidad As String = arti + arti1 +arti2 + arti3
|
||||||
|
' Log("si entre")
|
||||||
Log("si entre")
|
|
||||||
ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO")&" - " &c.GetString("CAT_CL_NOMBRE"), "Articulos :"& TOTALcantidad &" Monto :"& NumberFormat2(TOTALMONTO,0,2,2,True) & " " & ESTATUS )
|
ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO")&" - " &c.GetString("CAT_CL_NOMBRE"), "Articulos :"& TOTALcantidad &" Monto :"& NumberFormat2(TOTALMONTO,0,2,2,True) & " " & ESTATUS )
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
' c=skmt.ExecQuery("select HVD_CLIENTE, HVD_PRONOMBRE, HVD_CANT, HVD_ESTATUS from HIST_VENTAS ORDER BY HVD_PRONOMBRE")
|
' c=skmt.ExecQuery("select HVD_CLIENTE, HVD_PRONOMBRE, HVD_CANT, HVD_ESTATUS from HIST_VENTAS ORDER BY HVD_PRONOMBRE")
|
||||||
'
|
'
|
||||||
@@ -1938,7 +1848,7 @@ Sub B_CLIEPROD_Click
|
|||||||
' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE") & " " & c.GetString("HVD_CLIENTE") , c.GetString("HVD_CANT") & " " & ESTATUS )
|
' ListView1.AddTwoLines(c.GetString("HVD_PRONOMBRE") & " " & c.GetString("HVD_CLIENTE") , c.GetString("HVD_CANT") & " " & ESTATUS )
|
||||||
' Next
|
' Next
|
||||||
' End If
|
' End If
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub B_REGRESA_Click
|
Sub B_REGRESA_Click
|
||||||
@@ -1956,8 +1866,7 @@ Sub Btn_Ubicar_Ru_Click
|
|||||||
If b_check.Visible = True Then
|
If b_check.Visible = True Then
|
||||||
MsgboxAsync("Favor de hacer el checklist.","Atención")
|
MsgboxAsync("Favor de hacer el checklist.","Atención")
|
||||||
Else
|
Else
|
||||||
|
StartActivity(MAPA_RUTAS)
|
||||||
StartActivity(MAPA_RUTAS)
|
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
|
||||||
@@ -1966,22 +1875,18 @@ Private Sub b_tabulador_Click
|
|||||||
If b_check.Visible = True Then
|
If b_check.Visible = True Then
|
||||||
MsgboxAsync("Favor de hacer el checklist.","Atención")
|
MsgboxAsync("Favor de hacer el checklist.","Atención")
|
||||||
Else
|
Else
|
||||||
B4XPages.ShowPage("tabulador")
|
B4XPages.ShowPage("tabulador")
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub b_check_Click
|
Private Sub b_check_Click
|
||||||
|
|
||||||
B4XPages.ShowPage("checklist")
|
B4XPages.ShowPage("checklist")
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ListView1_ItemClick (Position As Int, Value As Object)
|
Private Sub ListView1_ItemClick (Position As Int, Value As Object)
|
||||||
Log(Value)
|
' Log(Value)
|
||||||
|
|
||||||
Dim clieasing() As String = Regex.Split(" ", Value)
|
Dim clieasing() As String = Regex.Split(" ", Value)
|
||||||
Log(clieasing(0))
|
Log(clieasing(0))
|
||||||
|
|
||||||
Starter.skmt.ExecNonQuery("delete from CUENTAA")
|
Starter.skmt.ExecNonQuery("delete from CUENTAA")
|
||||||
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(clieasing(0)))
|
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(clieasing(0)))
|
||||||
B4XPages.ShowPage("Cliente")
|
B4XPages.ShowPage("Cliente")
|
||||||
@@ -2000,26 +1905,19 @@ Private Sub b_rechazos_Click
|
|||||||
' label1.TextSize = 20
|
' label1.TextSize = 20
|
||||||
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
|
||||||
|
|
||||||
|
|
||||||
' lv_prod_Prin.Left = p_prod.Width / 2
|
' lv_prod_Prin.Left = p_prod.Width / 2
|
||||||
lv_prod_Prin.Width = Root.Width - (Root.Width * .10)
|
lv_prod_Prin.Width = Root.Width - (Root.Width * .10)
|
||||||
lv_prod_Prin.Height = Root.Height - (2 * (b_regreso.Height))
|
lv_prod_Prin.Height = Root.Height - (2 * (b_regreso.Height))
|
||||||
Subs.centraListView(lv_prod_Prin,Root.Width)
|
Subs.centraListView(lv_prod_Prin,Root.Width)
|
||||||
p_prod.Visible = True
|
p_prod.Visible = True
|
||||||
p_prod.BringToFront
|
p_prod.BringToFront
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Private c As Cursor = Starter.skmt.ExecQuery("select HVD_PRONOMBRE, IFNULL(SUM(HVD_RECHAZOCANT), 0) AS HVD_RECHAZOCANT, HVD_PROID from HIST_VENTAS WHERE hvd_rechazo <> 2 and HVD_RECHAZOCANT > 0 GROUP BY HVD_PROID order by HVD_PRONOMBRE asc")
|
Private c As Cursor = Starter.skmt.ExecQuery("select HVD_PRONOMBRE, IFNULL(SUM(HVD_RECHAZOCANT), 0) AS HVD_RECHAZOCANT, HVD_PROID from HIST_VENTAS WHERE hvd_rechazo <> 2 and HVD_RECHAZOCANT > 0 GROUP BY HVD_PROID order by HVD_PRONOMBRE asc")
|
||||||
|
|
||||||
lv_prod_Prin.SingleLineLayout.Label.TextColor = Colors.White
|
lv_prod_Prin.SingleLineLayout.Label.TextColor = Colors.White
|
||||||
lv_prod_Prin.Clear
|
lv_prod_Prin.Clear
|
||||||
If c.RowCount > 0 Then
|
If c.RowCount > 0 Then
|
||||||
For i = 0 To c.RowCount - 1
|
For i = 0 To c.RowCount - 1
|
||||||
c.Position = i
|
c.Position = i
|
||||||
Dim itemText As String
|
Dim itemText As String
|
||||||
|
|
||||||
Private c3 As Cursor=Starter.skmt.ExecQuery($"select Ifnull(sum(PE_CANT),0) AS PE_CANT from PEDIDO WHERE PE_PROID ='${c.GetString("HVD_PROID")}'"$)
|
Private c3 As Cursor=Starter.skmt.ExecQuery($"select Ifnull(sum(PE_CANT),0) AS PE_CANT from PEDIDO WHERE PE_PROID ='${c.GetString("HVD_PROID")}'"$)
|
||||||
Private resta As String = 0
|
Private resta As String = 0
|
||||||
|
|
||||||
@@ -2035,8 +1933,6 @@ Private Sub b_rechazos_Click
|
|||||||
itemText = $"${c.GetString("HVD_PRONOMBRE")} ${CRLF}Inventario: ${(c.GetInt("HVD_RECHAZOCANT") - resta)}"$
|
itemText = $"${c.GetString("HVD_PRONOMBRE")} ${CRLF}Inventario: ${(c.GetInt("HVD_RECHAZOCANT") - resta)}"$
|
||||||
lv_prod_Prin.AddSingleLine(itemText)
|
lv_prod_Prin.AddSingleLine(itemText)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
Next
|
Next
|
||||||
Else
|
Else
|
||||||
lv_prod_Prin.AddSingleLine("No hay datos disponibles.")
|
lv_prod_Prin.AddSingleLine("No hay datos disponibles.")
|
||||||
@@ -2100,12 +1996,8 @@ Private Sub B_PAGARES_Click
|
|||||||
For i = 0 To c.RowCount - 1
|
For i = 0 To c.RowCount - 1
|
||||||
c.Position = i
|
c.Position = i
|
||||||
Dim itemText As String
|
Dim itemText As String
|
||||||
|
|
||||||
|
|
||||||
itemText = $"NOMBRE.: ${c.GetString("NOMBRE")} ${CRLF}FOLIO: ${(c.GetInt("NOTA"))}, MONTO: $ ${(c.GetInt("SALDO_PENDIENTE"))}"$
|
itemText = $"NOMBRE.: ${c.GetString("NOMBRE")} ${CRLF}FOLIO: ${(c.GetInt("NOTA"))}, MONTO: $ ${(c.GetInt("SALDO_PENDIENTE"))}"$
|
||||||
ListView2.AddSingleLine(itemText)
|
ListView2.AddSingleLine(itemText)
|
||||||
|
|
||||||
|
|
||||||
Next
|
Next
|
||||||
Else
|
Else
|
||||||
ListView2.AddSingleLine("No hay datos disponibles.")
|
ListView2.AddSingleLine("No hay datos disponibles.")
|
||||||
@@ -2113,8 +2005,6 @@ Private Sub B_PAGARES_Click
|
|||||||
c.Close
|
c.Close
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Private Sub Button1_Click
|
Private Sub Button1_Click
|
||||||
P_PAGARES.Visible = False
|
P_PAGARES.Visible = False
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -310,6 +310,7 @@ Sub InfoWindowLongClick_Event (MethodName As String, Args() As Object) As Object
|
|||||||
' B4XPages.ShowPage("clientes")
|
' B4XPages.ShowPage("clientes")
|
||||||
B4XPages.MainPage.clientes.caculaRutaGPS(B4XPages.MainPage.clientes.todosAVisitar, False)
|
B4XPages.MainPage.clientes.caculaRutaGPS(B4XPages.MainPage.clientes.todosAVisitar, False)
|
||||||
Log("A VISITAR:" & B4XPages.MainPage.clientes.todosAVisitar)
|
Log("A VISITAR:" & B4XPages.MainPage.clientes.todosAVisitar)
|
||||||
|
B4XPages.MainPage.clientes.mostrarProgressDialog= True
|
||||||
B4XPages.ShowPage("clientes")
|
B4XPages.ShowPage("clientes")
|
||||||
Loop
|
Loop
|
||||||
End If
|
End If
|
||||||
|
|||||||
491
B4A/QRGenerator.bas
Normal file
491
B4A/QRGenerator.bas
Normal file
@@ -0,0 +1,491 @@
|
|||||||
|
B4J=true
|
||||||
|
Group=Default Group
|
||||||
|
ModulesStructureVersion=1
|
||||||
|
Type=Class
|
||||||
|
Version=6.28
|
||||||
|
@EndOfDesignText@
|
||||||
|
'version 1.60
|
||||||
|
Sub Class_Globals
|
||||||
|
Private xui As XUI
|
||||||
|
Public cvs As B4XCanvas
|
||||||
|
Private ModuleSize As Int
|
||||||
|
Private GFSize As Int = 256
|
||||||
|
Private ExpTable(GFSize) As Int
|
||||||
|
Private LogTable(GFSize) As Int
|
||||||
|
Private PolyZero() As Int = Array As Int(0)
|
||||||
|
Private Generator1L() As Int = Array As Int(1, 127, 122, 154, 164, 11, 68, 117)
|
||||||
|
Private Generator4L() As Int = Array As Int(1, 152, 185, 240, 5, 111, 99, 6, 220, 112, 150, 69, 36, 187, 22, 228, 198, 121, 121, 165, 174) '4L
|
||||||
|
Private Generator4H() As Int = Array As Int(1, 59, 13, 104, 189, 68, 209, 30, 8, 163, 65, 41, 229, 98, 50, 36, 59)
|
||||||
|
Private Generator9L() As Int = Array As Int(1, 212, 246, 77, 73, 195, 192, 75, 98, 5, 70, 103, 177, 22, 217, 138, 51, 181, 246, 72, 25, 18, 46, 228, 74, 216, 195, 11, 106, 130, 150)
|
||||||
|
Private TempBB As B4XBytesBuilder
|
||||||
|
Private Matrix(0, 0) As Boolean
|
||||||
|
Private Reserved(0, 0) As Boolean
|
||||||
|
Private NumberOfModules As Int
|
||||||
|
Private mBitmapSize As Int
|
||||||
|
Type QRVersionData (Format() As Byte, Generator() As Int, MaxSize As Int, Version As Int, MaxUsableSize As Int, Alignments() As Int, _
|
||||||
|
Group1Size As Int, Group2Size As Int, Block1Size As Int, Block2Size As Int, VersionName As String, VersionInformation() As Byte)
|
||||||
|
Private versions As List
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Public Sub Initialize (BitmapSize As Int)
|
||||||
|
TempBB.Initialize
|
||||||
|
mBitmapSize = BitmapSize
|
||||||
|
PrepareTables
|
||||||
|
versions.Initialize
|
||||||
|
Dim l0() As Byte = Array As Byte(1,1,1,0,1,1,1,1,1,0,0,0,1,0,0)
|
||||||
|
Dim h0() As Byte = Array As Byte(0,0,1,0,1,1,0,1,0,0,0,1,0,0,1)
|
||||||
|
versions.Add(CreateVersionData(1, "1L", Generator1L, l0, 19 * 8, 17, Array As Int(), 1, 0, 19, 0, Null))
|
||||||
|
versions.Add(CreateVersionData(4, "4H", Generator4H, h0 , 36 * 8, 34, Array As Int(6, 26), 4, 0, 9, 0, Null))
|
||||||
|
versions.Add(CreateVersionData(4, "4L", Generator4L, l0 , 80 * 8, 78, Array As Int(6, 26), 1, 0, 80, 0, Null))
|
||||||
|
versions.Add(CreateVersionData(9, "9L", Generator9L, l0, 232 * 8, 230, Array As Int(6, 26, 46), 2, 0, 116, 0, Array As Byte(0,0,1,0,0,1,1,0,1,0,1,0,0,1,1,0,0,1)))
|
||||||
|
versions.Add(CreateVersionData(23, "23H", Generator9L, h0, 464 * 8, 461, Array As Int(6, 30, 54, 78, 102), 16, 14, 15, 16, _
|
||||||
|
Array As Byte(0,1,0,1,1,1,0,1,1,1,1,1,1,0,1,1,0,0)))
|
||||||
|
versions.Add(CreateVersionData(40, "40H", Generator9L, h0, 1276 * 8, 1273, Array As Int(6, 30, 58, 86, 114, 142, 170), 20, 61, 15, 16, _
|
||||||
|
Array As Byte(1,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0,0,1)))
|
||||||
|
versions.Add(CreateVersionData(40, "40L", Generator9L, l0, 2956 * 8, 2953, Array As Int(6, 30, 58, 86, 114, 142, 170), 19, 6, 118, 119, _
|
||||||
|
Array As Byte(1,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0,0,1)))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CreateVersionData (Version As Int, Name As String, Generator() As Int, Format() As Byte, MaxSize As Int, MaxUsableSize As Int, Alignments() As Int, _
|
||||||
|
Group1Size As Int, Group2Size As Int, Block1Size As Int, Block2Size As Int, VersionInformation() As Byte) As QRVersionData
|
||||||
|
Dim v As QRVersionData
|
||||||
|
v.Initialize
|
||||||
|
v.Version = Version
|
||||||
|
v.VersionName = Name
|
||||||
|
v.Generator = Generator
|
||||||
|
v.Format = Format
|
||||||
|
v.MaxSize = MaxSize
|
||||||
|
v.MaxUsableSize = MaxUsableSize
|
||||||
|
v.Alignments = Alignments
|
||||||
|
v.Group1Size = Group1Size
|
||||||
|
v.Group2Size = Group2Size
|
||||||
|
v.Block1Size = Block1Size
|
||||||
|
v.Block2Size = Block2Size
|
||||||
|
v.VersionInformation = VersionInformation
|
||||||
|
Return v
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub Create(Text As String) As B4XBitmap
|
||||||
|
Dim Bytes() As Byte = Text.GetBytes("utf8") 'non-standard but still recommended
|
||||||
|
Dim vd As QRVersionData
|
||||||
|
For Each version As QRVersionData In versions
|
||||||
|
If version.MaxUsableSize >= Bytes.Length Then
|
||||||
|
vd = version
|
||||||
|
Exit
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
If vd.IsInitialized = False Then
|
||||||
|
|
||||||
|
Log("Too long!")
|
||||||
|
Return Null
|
||||||
|
End If
|
||||||
|
Log(vd.VersionName & ", Size: " & Bytes.Length)
|
||||||
|
|
||||||
|
NumberOfModules = 17 + vd.Version * 4
|
||||||
|
ModuleSize = mBitmapSize / (NumberOfModules + 8)
|
||||||
|
|
||||||
|
mBitmapSize = ModuleSize * (NumberOfModules + 8)
|
||||||
|
Dim p As B4XView = xui.CreatePanel("")
|
||||||
|
p.SetLayoutAnimated(0, 0, 0, mBitmapSize, mBitmapSize)
|
||||||
|
cvs.Initialize(p)
|
||||||
|
|
||||||
|
|
||||||
|
Dim Matrix(NumberOfModules, NumberOfModules) As Boolean
|
||||||
|
Dim Reserved(NumberOfModules, NumberOfModules) As Boolean
|
||||||
|
|
||||||
|
Dim Mode() As Byte = Array As Byte(0, 1, 0, 0) 'byte mode
|
||||||
|
Dim ContentCountIndicator() As Byte
|
||||||
|
If vd.Version >= 10 Then
|
||||||
|
ContentCountIndicator = IntTo16Bits(Bytes.Length)
|
||||||
|
Else
|
||||||
|
ContentCountIndicator = UnsignedByteToBits(Bytes.Length)
|
||||||
|
End If
|
||||||
|
Dim EncodedData As B4XBytesBuilder
|
||||||
|
EncodedData.Initialize
|
||||||
|
EncodedData.Append(Mode)
|
||||||
|
EncodedData.Append(ContentCountIndicator)
|
||||||
|
For Each b As Byte In Bytes
|
||||||
|
EncodedData.Append(UnsignedByteToBits(Bit.And(0xff, b)))
|
||||||
|
Next
|
||||||
|
'add terminator
|
||||||
|
Dim PadSize As Int = Min(4, vd.MaxSize - EncodedData.Length)
|
||||||
|
Dim pad(PadSize) As Byte
|
||||||
|
EncodedData.Append(pad)
|
||||||
|
Do While EncodedData.Length Mod 8 <> 0
|
||||||
|
EncodedData.Append(Array As Byte(0))
|
||||||
|
Loop
|
||||||
|
|
||||||
|
Do While EncodedData.Length < vd.MaxSize
|
||||||
|
EncodedData.Append(Array As Byte(1,1,1,0,1,1,0,0))
|
||||||
|
If EncodedData.Length < vd.MaxSize Then EncodedData.Append(Array As Byte(0,0,0,1,0,0,0,1))
|
||||||
|
Loop
|
||||||
|
VersionWithTwoGroups(vd.Generator, vd.Group1Size, vd.Group2Size, vd.Block1Size, vd.Block2Size, EncodedData)
|
||||||
|
AddFinders (vd)
|
||||||
|
AddDataToMatrix(EncodedData.ToArray, vd)
|
||||||
|
DrawMatrix
|
||||||
|
cvs.Invalidate
|
||||||
|
Dim bmp As B4XBitmap = cvs.CreateBitmap
|
||||||
|
cvs.Release
|
||||||
|
Return bmp
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub VersionWithTwoGroups (generator() As Int, Group1Size As Int, Group2Size As Int, Block1Size As Int, Block2Size As Int, EncodedData As B4XBytesBuilder)
|
||||||
|
Dim ecs As List
|
||||||
|
ecs.Initialize
|
||||||
|
Dim dataBlocks As List
|
||||||
|
dataBlocks.Initialize
|
||||||
|
Dim PrevIndex As Int
|
||||||
|
For block1 = 0 To Group1Size + Group2Size - 1
|
||||||
|
Dim BlockSize As Int
|
||||||
|
If block1 < Group1Size Then BlockSize = Block1Size Else BlockSize = Block2Size
|
||||||
|
Dim Data() As Byte = EncodedData.SubArray2(PrevIndex * 8, (PrevIndex + BlockSize) * 8)
|
||||||
|
PrevIndex = PrevIndex + BlockSize
|
||||||
|
Dim DataAsInts(Data.Length / 8) As Int
|
||||||
|
Dim i As Int
|
||||||
|
For i = 0 To Data.Length - 1 Step 8
|
||||||
|
DataAsInts(i / 8) = BitsToUnsignedByte(Data, i)
|
||||||
|
Next
|
||||||
|
dataBlocks.Add(DataAsInts)
|
||||||
|
Dim ec() As Int = CalcReedSolomon(DataAsInts, generator)
|
||||||
|
If ec.Length < generator.Length - 1 Then
|
||||||
|
Dim ec2(generator.Length - 1) As Int
|
||||||
|
IntArrayCopy(ec, 0, ec2, generator.Length - 1 - ec.Length, ec.Length)
|
||||||
|
ec = ec2
|
||||||
|
End If
|
||||||
|
ecs.Add(ec)
|
||||||
|
Next
|
||||||
|
Dim Interleaved As B4XBytesBuilder
|
||||||
|
Interleaved.Initialize
|
||||||
|
For i = 0 To Max(Block1Size, Block2Size) - 1
|
||||||
|
For block1 = 0 To dataBlocks.Size - 1
|
||||||
|
Dim ii() As Int = dataBlocks.Get(block1)
|
||||||
|
If ii.Length > i Then
|
||||||
|
Interleaved.Append(UnsignedByteToBits(ii(i)))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
For i = 0 To generator.Length - 2
|
||||||
|
For block1 = 0 To dataBlocks.Size - 1
|
||||||
|
Dim ii() As Int = ecs.Get(block1)
|
||||||
|
Interleaved.Append(UnsignedByteToBits(ii(i)))
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
EncodedData.Clear
|
||||||
|
EncodedData.Append(Interleaved.ToArray)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub AddDataToMatrix (Encoded() As Byte, vd As QRVersionData)
|
||||||
|
Dim format() As Byte = vd.Format
|
||||||
|
Dim order As List = CreateOrder
|
||||||
|
'mask 0: (row + column) mod 2 == 0
|
||||||
|
For Each b As Byte In Encoded
|
||||||
|
Dim xy() As Int = GetNextPosition(order)
|
||||||
|
Matrix(xy(0), xy(1)) = (b = 1)
|
||||||
|
If (xy(1) + xy(0)) Mod 2 = 0 Then Matrix(xy(0), xy(1)) = Not(Matrix(xy(0), xy(1)))
|
||||||
|
Next
|
||||||
|
For i = 0 To 5
|
||||||
|
Matrix(i, 8) = format(i) = 1
|
||||||
|
Matrix(8, NumberOfModules - 1 - i) = format(i) = 1
|
||||||
|
Next
|
||||||
|
Matrix(7, 8) = format(6) = 1
|
||||||
|
Matrix(8, NumberOfModules - 1 - 6) = format(6) = 1
|
||||||
|
Matrix(8, 8) = format(7) = 1
|
||||||
|
Matrix(8, 7) = format(8) = 1
|
||||||
|
For i = 0 To 5
|
||||||
|
Matrix(8, 5 - i) = format(i + 9) = 1
|
||||||
|
Next
|
||||||
|
For i = 0 To 7
|
||||||
|
Matrix(NumberOfModules - 1 - 7 + i, 8) = format(7 + i) = 1
|
||||||
|
Next
|
||||||
|
If vd.Version >= 7 Then
|
||||||
|
Dim VersionInformation() As Byte = vd.VersionInformation
|
||||||
|
Dim c As Int = 18
|
||||||
|
For x = 0 To 5
|
||||||
|
For y = 0 To 2
|
||||||
|
c = c - 1
|
||||||
|
Matrix(x, NumberOfModules - 11 + y) = VersionInformation(c) = 1
|
||||||
|
Matrix(NumberOfModules - 11 + y, x) = VersionInformation(c) = 1
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub GetNextPosition (order As List) As Int()
|
||||||
|
Do While True
|
||||||
|
Dim xy() As Int = order.Get(0)
|
||||||
|
order.RemoveAt(0)
|
||||||
|
If Reserved(xy(0), xy(1)) = False Then Return xy
|
||||||
|
Loop
|
||||||
|
Return Null
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CreateOrder As List
|
||||||
|
Dim Order As List
|
||||||
|
Order.Initialize
|
||||||
|
Dim x As Int = NumberOfModules - 1
|
||||||
|
Dim y As Int = NumberOfModules - 1
|
||||||
|
Dim dy As Int = -1
|
||||||
|
Do While x >= 0 And y >= 0
|
||||||
|
Order.Add(Array As Int(x, y))
|
||||||
|
Order.Add(Array As Int(x - 1, y))
|
||||||
|
y = y + dy
|
||||||
|
If y = -1 Then
|
||||||
|
x = x - 2
|
||||||
|
y = 0
|
||||||
|
dy = 1
|
||||||
|
Else If y = NumberOfModules Then
|
||||||
|
x = x - 2
|
||||||
|
y = NumberOfModules - 1
|
||||||
|
dy = -1
|
||||||
|
End If
|
||||||
|
If x = 6 Then x = x - 1
|
||||||
|
Loop
|
||||||
|
Return Order
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub DrawMatrix
|
||||||
|
cvs.DrawRect(cvs.TargetRect, xui.Color_White, True, 0)
|
||||||
|
Dim r As B4XRect
|
||||||
|
For y = 0 To NumberOfModules - 1
|
||||||
|
For x = 0 To NumberOfModules - 1
|
||||||
|
r.Initialize((x + 4) * ModuleSize, (y + 4) * ModuleSize, 0, 0)
|
||||||
|
r.Width = ModuleSize
|
||||||
|
r.Height = ModuleSize
|
||||||
|
Dim clr As Int
|
||||||
|
If Matrix(x, y) Then
|
||||||
|
clr = xui.Color_Black
|
||||||
|
'cvs.DrawCircle(r.CenterX, r.CenterY, r.Width / 2, clr, True, 0)
|
||||||
|
cvs.DrawRect(r, clr, True, 0)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub BitsToUnsignedByte (b() As Byte, Offset As Int) As Int
|
||||||
|
Dim res As Int
|
||||||
|
For i = 0 To 7
|
||||||
|
Dim x As Int = Bit.ShiftLeft(1, 7 - i)
|
||||||
|
res = res + b(i + Offset) * x
|
||||||
|
Next
|
||||||
|
Return res
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub UnsignedByteToBits (Value As Int) As Byte()
|
||||||
|
TempBB.Clear
|
||||||
|
For i = 7 To 0 Step - 1
|
||||||
|
Dim x As Int = Bit.ShiftLeft(1, i)
|
||||||
|
Dim ii As Int = Bit.And(Value, x)
|
||||||
|
If ii <> 0 Then
|
||||||
|
TempBB.Append(Array As Byte(1))
|
||||||
|
Else
|
||||||
|
TempBB.Append(Array As Byte(0))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
Return TempBB.ToArray
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub IntTo16Bits (Value As Int) As Byte()
|
||||||
|
TempBB.Clear
|
||||||
|
For i = 15 To 0 Step - 1
|
||||||
|
Dim x As Int = Bit.ShiftLeft(1, i)
|
||||||
|
Dim ii As Int = Bit.And(Value, x)
|
||||||
|
If ii <> 0 Then
|
||||||
|
TempBB.Append(Array As Byte(1))
|
||||||
|
Else
|
||||||
|
TempBB.Append(Array As Byte(0))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
Return TempBB.ToArray
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub AddFinders (vd As QRVersionData)
|
||||||
|
AddFinder(0, 0, 6)
|
||||||
|
AddFinder(NumberOfModules - 7, 0, 6)
|
||||||
|
AddFinder(0, NumberOfModules - 7, 6)
|
||||||
|
AddAlignments(vd.Alignments)
|
||||||
|
If vd.Version >= 7 Then
|
||||||
|
For x = 0 To 2
|
||||||
|
For y = 0 To 5
|
||||||
|
Reserved(y, NumberOfModules - 11 + x) = True
|
||||||
|
Reserved(NumberOfModules - 11 + x, y) = True
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
For i = 8 To NumberOfModules - 8
|
||||||
|
Matrix(i, 6) = (i Mod 2 = 0)
|
||||||
|
Matrix(6, i) = (i Mod 2 = 0)
|
||||||
|
Reserved(i, 6) = True
|
||||||
|
Reserved(6, i) = True
|
||||||
|
Next
|
||||||
|
Matrix(8, NumberOfModules - 1 - 7) = True
|
||||||
|
Reserved(8, NumberOfModules - 1 - 7) = True
|
||||||
|
For i = 0 To 7
|
||||||
|
Reserved(7, i) = True
|
||||||
|
Reserved(7, NumberOfModules - 1 - i) = True
|
||||||
|
Reserved(8, NumberOfModules - 1 - i) = True
|
||||||
|
Reserved(NumberOfModules -1 - 7, i) = True
|
||||||
|
Reserved(i, 7) = True
|
||||||
|
Reserved(i,NumberOfModules -1 - 7) = True
|
||||||
|
Reserved(NumberOfModules -1 - i, 7) = True
|
||||||
|
Reserved(NumberOfModules -1 - i, 8) = True
|
||||||
|
Next
|
||||||
|
For i = 0 To 8
|
||||||
|
Reserved(8, i) = True
|
||||||
|
Reserved(i, 8) = True
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub AddAlignments (Positions() As Int)
|
||||||
|
For Each left As Int In Positions
|
||||||
|
For Each top As Int In Positions
|
||||||
|
AddFinder (left - 2, top - 2, 4)
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub AddFinder (Left As Int, Top As Int, SizeMinOne As Int)
|
||||||
|
For y = 0 To SizeMinOne
|
||||||
|
For x = 0 To SizeMinOne
|
||||||
|
If Reserved(Left + x, Top + y) Then
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
For y = 0 To SizeMinOne
|
||||||
|
For x = 0 To SizeMinOne
|
||||||
|
Dim value As Boolean
|
||||||
|
If x = 0 Or x = SizeMinOne Or y = 0 Or y = SizeMinOne Then
|
||||||
|
value = True
|
||||||
|
Else if x <> 1 And y <> 1 And x <> SizeMinOne - 1 And y <> SizeMinOne - 1 Then
|
||||||
|
value = True
|
||||||
|
End If
|
||||||
|
Matrix(Left + x, Top + y) = value
|
||||||
|
Reserved(Left + x, Top + y) = True
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#Region ReedSolomon
|
||||||
|
|
||||||
|
Private Sub CalcReedSolomon (Input() As Int, Generator() As Int) As Int()
|
||||||
|
Dim ecBytes As Int = Generator.Length - 1
|
||||||
|
Dim InfoCoefficients(Input.Length) As Int
|
||||||
|
IntArrayCopy(Input, 0, InfoCoefficients, 0, Input.Length)
|
||||||
|
InfoCoefficients = CreateGFPoly(InfoCoefficients)
|
||||||
|
InfoCoefficients = PolyMultiplyByMonomial(InfoCoefficients, ecBytes, 1)
|
||||||
|
Dim remainder() As Int = PolyDivide(InfoCoefficients, Generator)
|
||||||
|
Return remainder
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub PrepareTables
|
||||||
|
Dim x = 1 As Int
|
||||||
|
Dim Primitive As Int = 285
|
||||||
|
For i = 0 To GFSize - 1
|
||||||
|
ExpTable(i) = x
|
||||||
|
x = x * 2
|
||||||
|
If x >= GFSize Then
|
||||||
|
x = Bit.Xor(Primitive, x)
|
||||||
|
x = Bit.And(GFSize - 1, x)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
For i = 0 To GFSize - 2
|
||||||
|
LogTable(ExpTable(i)) = i
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CreateGFPoly(Coefficients() As Int) As Int()
|
||||||
|
If Coefficients.Length > 1 And Coefficients(0) = 0 Then
|
||||||
|
Dim FirstNonZero As Int = 1
|
||||||
|
Do While FirstNonZero < Coefficients.Length And Coefficients(FirstNonZero) = 0
|
||||||
|
FirstNonZero = FirstNonZero + 1
|
||||||
|
Loop
|
||||||
|
If FirstNonZero = Coefficients.Length Then
|
||||||
|
Return Array As Int(0)
|
||||||
|
End If
|
||||||
|
Dim res(Coefficients.Length - FirstNonZero) As Int
|
||||||
|
IntArrayCopy(Coefficients, FirstNonZero, res, 0, res.Length)
|
||||||
|
Return res
|
||||||
|
End If
|
||||||
|
Return Coefficients
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub PolyAddOrSubtract(This() As Int, Other() As Int) As Int()
|
||||||
|
If This(0) = 0 Then Return Other
|
||||||
|
If Other(0) = 0 Then Return This
|
||||||
|
Dim Small() As Int = This
|
||||||
|
Dim Large() As Int = Other
|
||||||
|
If Small.Length > Large.Length Then
|
||||||
|
Dim temp() As Int = Small
|
||||||
|
Small = Large
|
||||||
|
Large = temp
|
||||||
|
End If
|
||||||
|
Dim SumDiff(Large.Length) As Int
|
||||||
|
Dim LengthDiff As Int = Large.Length - Small.Length
|
||||||
|
IntArrayCopy(Large, 0, SumDiff, 0, LengthDiff)
|
||||||
|
For i = LengthDiff To Large.Length - 1
|
||||||
|
SumDiff(i) = Bit.Xor(Small(i - LengthDiff), Large(i))
|
||||||
|
Next
|
||||||
|
Return CreateGFPoly(SumDiff)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub IntArrayCopy(Src() As Int, SrcOffset As Int, Dest() As Int, DestOffset As Int, Count As Int)
|
||||||
|
For i = 0 To Count - 1
|
||||||
|
Dest(DestOffset + i) = Src(SrcOffset + i)
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub PolyMultiplyByMonomial (This() As Int, Degree As Int, Coefficient As Int) As Int()
|
||||||
|
If Coefficient = 0 Then Return PolyZero
|
||||||
|
Dim product(This.Length + Degree) As Int
|
||||||
|
For i = 0 To This.Length - 1
|
||||||
|
product(i) = GFMultiply(This(i), Coefficient)
|
||||||
|
Next
|
||||||
|
Return CreateGFPoly(product)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub PolyDivide (This() As Int, Other() As Int) As Int()
|
||||||
|
Dim quotient() As Int = PolyZero
|
||||||
|
Dim remainder() As Int = This
|
||||||
|
Dim denominatorLeadingTerm As Int = Other(0)
|
||||||
|
Dim inverseDenominatorLeadingTerm As Int = GFInverse(denominatorLeadingTerm)
|
||||||
|
Do While remainder.Length >= Other.Length And remainder(0) <> 0
|
||||||
|
Dim DegreeDifference As Int = remainder.Length - Other.Length
|
||||||
|
Dim scale As Int = GFMultiply(remainder(0), inverseDenominatorLeadingTerm)
|
||||||
|
Dim term() As Int = PolyMultiplyByMonomial(Other, DegreeDifference, scale)
|
||||||
|
Dim iterationQuotient() As Int = GFBuildMonomial(DegreeDifference, scale)
|
||||||
|
quotient = PolyAddOrSubtract(quotient, iterationQuotient)
|
||||||
|
remainder = PolyAddOrSubtract(remainder, term)
|
||||||
|
Loop
|
||||||
|
Return remainder
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub GFInverse(a As Int) As Int
|
||||||
|
Return ExpTable(GFSize - LogTable(a) - 1)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub GFMultiply(a As Int, b As Int) As Int
|
||||||
|
If a = 0 Or b = 0 Then
|
||||||
|
Return 0
|
||||||
|
End If
|
||||||
|
Return ExpTable((LogTable(a) + LogTable(b)) Mod (GFSize - 1))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub GFBuildMonomial(Degree As Int, Coefficient As Int) As Int()
|
||||||
|
If Coefficient = 0 Then Return PolyZero
|
||||||
|
Dim c(Degree + 1) As Int
|
||||||
|
c(0) = Coefficient
|
||||||
|
Return c
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region
|
||||||
@@ -71,8 +71,8 @@ Sub Service_Create
|
|||||||
cedisLocation.Initialize
|
cedisLocation.Initialize
|
||||||
' cedisLocation.Latitude = "19.48118148992086"
|
' cedisLocation.Latitude = "19.48118148992086"
|
||||||
' cedisLocation.Longitude = "-99.15295579261536"
|
' cedisLocation.Longitude = "-99.15295579261536"
|
||||||
cedisLocation.Latitude = "0"
|
cedisLocation.Latitude = "20.5879843"
|
||||||
cedisLocation.Longitude = "0"
|
cedisLocation.Longitude = "-100.3897913"
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub Service_Start (StartingIntent As Intent)
|
Sub Service_Start (StartingIntent As Intent)
|
||||||
|
|||||||
43
B4A/Subs.bas
43
B4A/Subs.bas
@@ -274,8 +274,8 @@ End Sub
|
|||||||
|
|
||||||
'Mandamos "coords" en un mensaje a "Sprvsr"
|
'Mandamos "coords" en un mensaje a "Sprvsr"
|
||||||
Sub mandamosLoc(coords As String) 'ignore
|
Sub mandamosLoc(coords As String) 'ignore
|
||||||
'' Log("Iniciamos mandamosLoc "&coords)
|
'' Log("Iniciamos mandamosLoc "&coords)
|
||||||
'' Log("locRequest="&Tracker.locRequest)
|
'' Log("locRequest="&Tracker.locRequest)
|
||||||
' guardaInfoEnBD(coords)'Escribimos coordenadas y fecha a una bd
|
' guardaInfoEnBD(coords)'Escribimos coordenadas y fecha a una bd
|
||||||
' Dim t As String
|
' Dim t As String
|
||||||
' If Tracker.locRequest="Activa" Then
|
' If Tracker.locRequest="Activa" Then
|
||||||
@@ -293,10 +293,10 @@ End Sub
|
|||||||
|
|
||||||
'Regresa la fecha y hora de hoy a las 00:00 en el formato "yyMMddHHMMSS"
|
'Regresa la fecha y hora de hoy a las 00:00 en el formato "yyMMddHHMMSS"
|
||||||
Sub fechaInicioHoy As String 'ignore
|
Sub fechaInicioHoy As String 'ignore
|
||||||
Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
|
Dim OrigFormat As String = DateTime.DateFormat 'save orig date format
|
||||||
DateTime.DateFormat="yyMMdd"
|
DateTime.DateFormat="yyMMdd"
|
||||||
Private h As String = DateTime.Date(DateTime.Now)&"000000"
|
Private h As String = DateTime.Date(DateTime.Now)&"000000"
|
||||||
DateTime.DateFormat=OrigFormat 'return to orig date format
|
DateTime.DateFormat=OrigFormat 'return to orig date format
|
||||||
Log("Hoy="&h)
|
Log("Hoy="&h)
|
||||||
Return h
|
Return h
|
||||||
End Sub
|
End Sub
|
||||||
@@ -319,12 +319,12 @@ End Sub
|
|||||||
'Regresa verdadero si ya pasaron XX minutos de la fechaKMT dada
|
'Regresa verdadero si ya pasaron XX minutos de la fechaKMT dada
|
||||||
Sub masDeXXMinsKMT(hora As String, mins As Int) As Boolean 'ignore
|
Sub masDeXXMinsKMT(hora As String, mins As Int) As Boolean 'ignore
|
||||||
Try
|
Try
|
||||||
' LogColor($"Hora=${fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute)}, Mins=${mins}, Actual=${fechaKMT(DateTime.Now)}"$,Colors.red)
|
' LogColor($"Hora=${fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute)}, Mins=${mins}, Actual=${fechaKMT(DateTime.Now)}"$,Colors.red)
|
||||||
If fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute < DateTime.Now Then
|
If fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute < DateTime.Now Then
|
||||||
' Log("+++ +++ "&fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute) & " < " & fechaKMT(DateTime.Now))
|
' Log("+++ +++ "&fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute) & " < " & fechaKMT(DateTime.Now))
|
||||||
Return True
|
Return True
|
||||||
Else
|
Else
|
||||||
' Log("+++ +++ "&fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute) & " > " & fechaKMT(DateTime.Now))
|
' Log("+++ +++ "&fechaKMT(fechaKMT2Ticks(hora) + mins * DateTime.TicksPerMinute) & " > " & fechaKMT(DateTime.Now))
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
Catch
|
Catch
|
||||||
@@ -406,7 +406,7 @@ End Sub
|
|||||||
'Revisamos que el servicio "PushService" este inicializado y activo
|
'Revisamos que el servicio "PushService" este inicializado y activo
|
||||||
Sub revisaPushService 'ignore
|
Sub revisaPushService 'ignore
|
||||||
' Private todoBienPS As Boolean = True
|
' Private todoBienPS As Boolean = True
|
||||||
'' LogColor("**** **** Revisamos PushService **** ****", Colors.RGB(78,0,227))
|
'' LogColor("**** **** Revisamos PushService **** ****", Colors.RGB(78,0,227))
|
||||||
' Try
|
' Try
|
||||||
' If Not(PushService.wsh.IsInitialized) Then 'Si no esta inicializado ...
|
' If Not(PushService.wsh.IsInitialized) Then 'Si no esta inicializado ...
|
||||||
' log2DB("revisaPushService: No esta inicializado ... 'Reinicializando PushService'")
|
' log2DB("revisaPushService: No esta inicializado ... 'Reinicializando PushService'")
|
||||||
@@ -713,18 +713,17 @@ End Sub
|
|||||||
Sub traeConversion(id As String) As String
|
Sub traeConversion(id As String) As String
|
||||||
Private pu As String = "0"
|
Private pu As String = "0"
|
||||||
|
|
||||||
Private idc As Cursor = kmt.ExecQuery($"select CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${id}'"$)
|
Private idc As Cursor = kmt.ExecQuery($"select CONVERSION from CAT_GUNAPROD where CAT_GP_ID = '${id}'"$)
|
||||||
If idc.RowCount > 0 Then
|
If idc.RowCount > 0 Then
|
||||||
idc.Position=0
|
idc.Position=0
|
||||||
If idc.RowCount > 0 And IsNumber(idc.GetString("CONVERSION")) Then pu = idc.GetString("CONVERSION")
|
If idc.RowCount > 0 And IsNumber(idc.GetString("CONVERSION")) Then pu = idc.GetString("CONVERSION")
|
||||||
' Log("id=" & id & "|p=" & x & "|" & idc.GetString("CAT_GP_PRECIO"))
|
' Log("id=" & id & "|p=" & x & "|" & idc.GetString("CAT_GP_PRECIO"))
|
||||||
End If
|
End If
|
||||||
idc.Close
|
idc.Close
|
||||||
|
|
||||||
Return pu
|
Return pu
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
'Trae el cliente desde la BD.
|
'Trae el cliente desde la BD.
|
||||||
Sub traeCliente As String 'ignore
|
Sub traeCliente As String 'ignore
|
||||||
Private cli As Cursor = Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
|
Private cli As Cursor = Starter.skmt.ExecQuery("Select CUENTA from cuentaa")
|
||||||
@@ -1093,6 +1092,16 @@ Sub CreateBitmapWithNumber(OriginalBitmap As Bitmap, Number As Int) As Bitmap 'i
|
|||||||
' Dibujar la imagen original
|
' Dibujar la imagen original
|
||||||
Canvas.DrawBitmap(OriginalBitmap, Null, DestRect)
|
Canvas.DrawBitmap(OriginalBitmap, Null, DestRect)
|
||||||
' Dibujar el número en el centro del Bitmap y configurar el estilo del texto
|
' Dibujar el número en el centro del Bitmap y configurar el estilo del texto
|
||||||
Canvas.DrawText(Number, (OriginalBitmap.Width / 2), (OriginalBitmap.Height / 2.4), Typeface.DEFAULT, 20, Colors.White, "CENTER")
|
Canvas.DrawText(Number, (OriginalBitmap.Width / 2), (OriginalBitmap.Height / 2.4), Typeface.DEFAULT, 15, Colors.White, "CENTER")
|
||||||
Return NewBitmap
|
Return NewBitmap
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
'Muestra en el Log los campos y valores que regresan en el JobDone.
|
||||||
|
Sub logJobDoneResultados(resultado As DBResult)
|
||||||
|
For Each records() As Object In resultado.Rows
|
||||||
|
LogColor($"====== ${resultado.Tag} - REGISTROS = ${resultado.Rows.Size}"$, Colors.RGB(215,37,0))
|
||||||
|
For Each k As String In resultado.Columns.Keys
|
||||||
|
LogColor(k & " = " & records(resultado.Columns.Get(k)), Colors.RGB(215,37,0))
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
@@ -230,10 +230,11 @@ Module24=foto
|
|||||||
Module25=ManageExternalStorage
|
Module25=ManageExternalStorage
|
||||||
Module26=MAPA_CLIENTE
|
Module26=MAPA_CLIENTE
|
||||||
Module27=MAPA_RUTAS
|
Module27=MAPA_RUTAS
|
||||||
Module28=Starter
|
Module28=QRGenerator
|
||||||
Module29=Subs
|
Module29=Starter
|
||||||
Module3=BatteryUtilities
|
Module3=BatteryUtilities
|
||||||
Module30=Tracker
|
Module30=Subs
|
||||||
|
Module31=Tracker
|
||||||
Module4=C_Buscar
|
Module4=C_Buscar
|
||||||
Module5=C_Cheklist
|
Module5=C_Cheklist
|
||||||
Module6=C_Cliente
|
Module6=C_Cliente
|
||||||
@@ -242,13 +243,13 @@ Module8=C_Detalle_Promo
|
|||||||
Module9=C_DetalleVenta
|
Module9=C_DetalleVenta
|
||||||
NumberOfFiles=91
|
NumberOfFiles=91
|
||||||
NumberOfLibraries=27
|
NumberOfLibraries=27
|
||||||
NumberOfModules=30
|
NumberOfModules=31
|
||||||
Version=12.8
|
Version=12.8
|
||||||
@EndOfDesignText@
|
@EndOfDesignText@
|
||||||
#Region Project Attributes
|
#Region Project Attributes
|
||||||
#ApplicationLabel: Guna Reparto
|
#ApplicationLabel: Guna Reparto
|
||||||
#VersionCode: 1
|
#VersionCode: 1
|
||||||
#VersionName: 5.03.01
|
#VersionName: 5.03.08
|
||||||
'SupportedOrientations possible values: unspecified, landscape or portrait.
|
'SupportedOrientations possible values: unspecified, landscape or portrait.
|
||||||
#SupportedOrientations: portrait
|
#SupportedOrientations: portrait
|
||||||
#CanInstallToExternalStorage: False
|
#CanInstallToExternalStorage: False
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ ModuleBookmarks28=
|
|||||||
ModuleBookmarks29=
|
ModuleBookmarks29=
|
||||||
ModuleBookmarks3=
|
ModuleBookmarks3=
|
||||||
ModuleBookmarks30=
|
ModuleBookmarks30=
|
||||||
|
ModuleBookmarks31=
|
||||||
ModuleBookmarks4=
|
ModuleBookmarks4=
|
||||||
ModuleBookmarks5=
|
ModuleBookmarks5=
|
||||||
ModuleBookmarks6=
|
ModuleBookmarks6=
|
||||||
@@ -54,6 +55,7 @@ ModuleBreakpoints28=
|
|||||||
ModuleBreakpoints29=
|
ModuleBreakpoints29=
|
||||||
ModuleBreakpoints3=
|
ModuleBreakpoints3=
|
||||||
ModuleBreakpoints30=
|
ModuleBreakpoints30=
|
||||||
|
ModuleBreakpoints31=
|
||||||
ModuleBreakpoints4=
|
ModuleBreakpoints4=
|
||||||
ModuleBreakpoints5=
|
ModuleBreakpoints5=
|
||||||
ModuleBreakpoints6=
|
ModuleBreakpoints6=
|
||||||
@@ -85,12 +87,13 @@ ModuleClosedNodes28=
|
|||||||
ModuleClosedNodes29=
|
ModuleClosedNodes29=
|
||||||
ModuleClosedNodes3=
|
ModuleClosedNodes3=
|
||||||
ModuleClosedNodes30=
|
ModuleClosedNodes30=
|
||||||
|
ModuleClosedNodes31=
|
||||||
ModuleClosedNodes4=
|
ModuleClosedNodes4=
|
||||||
ModuleClosedNodes5=
|
ModuleClosedNodes5=
|
||||||
ModuleClosedNodes6=
|
ModuleClosedNodes6=
|
||||||
ModuleClosedNodes7=
|
ModuleClosedNodes7=
|
||||||
ModuleClosedNodes8=
|
ModuleClosedNodes8=
|
||||||
ModuleClosedNodes9=
|
ModuleClosedNodes9=
|
||||||
NavigationStack=C_Principal,Button1_Click,2107,6,C_Principal,Class_Globals,93,0,C_Principal,P_PAGARES_Click,2110,0,C_Principal,B_CLIEPROD_Click,1723,6,C_Principal,b_rechazos_Click,1993,0,C_Principal,B_PAGARES_Click,2081,6,C_Buscar,Class_Globals,0,0,Diseñador Visual,principal.bal,-100,6,Diseñador Visual,cliente.bal,-100,1,C_Buscar,B4XPage_Created,30,0,C_Cliente,Class_Globals,20,0
|
NavigationStack=C_DetalleVenta,Class_Globals,0,0,C_DetalleVenta,B_IMP_Click,1262,0,C_Clientes,B4XPage_Appear,73,0,C_Clientes,Class_Globals,0,0,C_Clientes,caculaRutaGPS,647,0,C_Cliente,CrearQR,2042,0,C_Cliente,Class_Globals,3,0,Subs,CreateBitmapWithNumber,1079,0,Subs,traeConversion,719,0,Subs,InstallAPK,528,0,B4XMainPage,p_appUpdate_Click,1010,0
|
||||||
SelectedBuild=0
|
SelectedBuild=0
|
||||||
VisibleModules=1,2,3,4,5,6,7,8,9,10
|
VisibleModules=2,4,5,6,7,9,30,29,16,27
|
||||||
|
|||||||
Reference in New Issue
Block a user