- 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:
2025-03-09 00:35:10 -06:00
parent 2c9cdf7a6b
commit 8043a7787d
12 changed files with 837 additions and 674 deletions

View File

@@ -88,7 +88,6 @@ End Sub
Sub B4XPage_Appear
Subs.centraPanel(p_principal, Root.Width)
' b_guardar.Visible = False
' Titulo.Left = Round(p_principal.Width/2)-(Titulo.Width/2)
L_CANT.Text =""
L_TOTAL.Text=""
@@ -107,10 +106,8 @@ Sub B4XPage_Appear
' Log("RC1:"&c.RowCount)
If c.RowCount>0 Then
' Log("Usamos HV")
For i=0 To c.RowCount -1
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")}'"$)
If c4.RowCount > 0 Then
c4.Position = 0
@@ -118,7 +115,6 @@ Sub B4XPage_Appear
Else
cantres = 0
End If
If c.GetString("BCAJAS") = "0" Then
If c.GetString("HVD_CANT") <> c.GetString("HVD_RECHAZOCANT") Then
'Traemos cantidad de hvd2
@@ -180,10 +176,8 @@ Sub B4XPage_Appear
End If
End If
Next
' cuentaProds("")
End If
Private c3 As Cursor=Starter.skmt.ExecQuery("Select * from PEDIDO WHERE PE_CLIENTE IN (Select CUENTA from cuentaa)")
If c3.RowCount>0 Then
For i= 0 To c3.RowCount -1
@@ -203,10 +197,7 @@ Sub B4XPage_Appear
End If
Next
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 Cuenta As String = 0
Private arti As String = 0
If vc.RowCount > 0 Then
@@ -231,7 +222,6 @@ Sub B4XPage_Appear
Next
End If
' 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 Cuenta1 As String = 0
Private arti1 As String = 0
@@ -248,14 +238,10 @@ Sub B4XPage_Appear
Next
End If
' 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 Cuenta2 As String = 0
Private arti2 As String = 0
If vc4.RowCount > 0 Then
For i = 0 To vc4.RowCount - 1
vc4.Position = i
If vc4.GetString("HVD_PROID") <> vc4.GetString("HVD_CODPROMO") Then
@@ -275,10 +261,6 @@ Sub B4XPage_Appear
Next
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 Cuenta3 As String = 0
Private arti3 As String = 0
@@ -289,7 +271,6 @@ Sub B4XPage_Appear
Cuenta3 = Cuenta3 + c4.GetString("PE_COSTO_TOT")
Next
End If
If Cuenta < 0 Then
Cuenta = 0
End If
@@ -302,7 +283,6 @@ Sub B4XPage_Appear
If Cuenta3 < 0 Then
Cuenta = 0
End If
If arti < 0 Then
arti = 0
End If
@@ -315,7 +295,6 @@ Sub B4XPage_Appear
If arti3 < 0 Then
arti = 0
End If
Log(Cuenta&","&Cuenta1&","&Cuenta2&","&Cuenta3)
Log(arti&","&arti1&","&arti2&","&arti3)
If Cuenta + Cuenta1 + Cuenta2 + Cuenta3 < 0 Then
@@ -328,8 +307,6 @@ Sub B4XPage_Appear
Else
L_CANT.Text = NumberFormat2((arti + arti1 +arti2 + arti3),0,0,0,True)
End If
End Sub
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
' et_pCant.Text = inv
' et_pCant.BringToFront
l_pCant.BringToFront
et_pCant.SendToBack
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)
' et_pCant.Text = inv
' et_pCant.BringToFront
l_pCantC.BringToFront
et_pCantC.SendToBack
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)}'"$)
End If
End If
End If
B4XPage_Appear
Else
If esteTag.Get(5) = esteTag.Get(6) Then
If laCant.Text > 0 Then
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)}'"$)
c2.Position = 0
If c2.GetString("HVD_RECHAZO") = "0" Then
Log("ES PROMO")
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
@@ -627,7 +596,6 @@ Sub b_prodMenos_Click
End If
End If
Else
If laCant.Text = "" Then laCant.Text = 0
laCant.Text = $"$1.0{laCant.Text-1}"$
If laCant.Text < 0 Then laCant.Text = 0
@@ -684,7 +652,6 @@ Sub b_prodMas_Click
Dim esteTag As List = Regex.Split("\|", laCant.Tag)
Log("LC_TEXT:"&laCant.Text&"|LC_TAG:"&laCant.Tag&"|ET:"&esteTag)
If laCant.Text = "" Then laCant.Text = 0
Private maxProds = esteTag.Get(1) + esteTag.Get(4) 'Prods disponibles + prods comprados
LogColor($"++++++++++++++++++++++++++ ${esteTag}"$, Colors.Green)
@@ -702,18 +669,13 @@ Sub b_prodMas_Click
'*'${minimoadesc}')
minimoadesc = "1"
If esteTag.Get(7) <> "1" Then
If esteTag.Get(5) = esteTag.Get(6) Then
If laCant.Text + 1 <= maxProds Then
Log($"NuevaCant = ${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)))
'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)}'"$)
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
@@ -722,7 +684,6 @@ Sub b_prodMas_Click
B4XPage_Appear
End If
Else
If laCant.Text + 1 <= maxProds Then
Log($"NuevaCant = ${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)))
End If
End If
Subs.prodVenta(esteTag.Get(5), esteTag.Get(2))
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
@@ -752,7 +711,6 @@ Sub b_prodMas_Click
' cuentaProds("+")
B4XPage_Appear
End If
End If
End If
' Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
@@ -930,16 +888,12 @@ Sub cuentaProds(accion As String)
'
' End If
' End If
'
'
'
End Sub
Private Sub b_guardar_Click
End Sub
Private Sub l_pCant_Click
End Sub
@@ -972,16 +926,12 @@ Private Sub b_prodMasC_Click
' l_pCantC.Tag = Round2(precioU,2)&"|"&inv&"|"&prodId&"|"&promo&"|"&inv2&"|"&cliente_original
If esteTag.Get(7) <> "1" Then
If laCantc.Text + 1 <= maxProds Then
Log($"NuevaCant = ${laCantc.Text + 1}"$)
laCantc.Text = $"$1.0{laCantc.Text + 1}"$
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 = 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))
' Private cym As Map = Subs.traemosCantYMonto(clv_pedido)
' L_CANT.Text = cym.Get("cantidad")
@@ -1023,12 +973,8 @@ Private Sub b_prodMenosC_Click
laCantc.Text = laCantc.Text - 1
If laCantc.Text < 0 Then laCantc.Text = 0
B4XPage_Appear
Else
If esteTag.Get(5) = esteTag.Get(6) Then
If laCantc.Text > 0 Then
Log("entre al if o algo asi ")
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))))
B4XPage_Appear
Else If laCantc.Text = 0 Then
End If
Else
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)}'"$)
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
@@ -1063,9 +1005,7 @@ Private Sub b_prodMenosC_Click
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))))
Else If laCantc.Text = 0 Then
End If
End If
End If
Dim preciou As Float = esteTag.Get(0)/esteTag.Get(1)
@@ -1084,8 +1024,6 @@ Private Sub b_revversar_Click
Else
MsgboxAsync("Hay productos que ya se vendieron, no se puede regresar la venta","Atención")
End If
End Sub
Sub Printer1_Connected (Success As Boolean)
@@ -1161,8 +1099,6 @@ Sub StartPrinter
End Sub
Private Sub B_IMP_Click
c=Starter.skmt.ExecQuery("select USUARIO from usuarioa")
c.Position=0
usuario = c.GetString("USUARIO")
@@ -1170,8 +1106,6 @@ Private Sub B_IMP_Click
sDate=DateTime.Date(DateTime.Now)
sTime=DateTime.Time(DateTime.Now)
c.Close
ProgressDialogShow("Imprimiendo, un momento ...")
Printer1.DisConnect
If Not(Printer1.IsConnected) Then
@@ -1201,7 +1135,6 @@ Private Sub B_IMP_Click
Sleep(500)
impresoraConectada = False
End If
TAMANO = 0
ESPACIO = 28
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)")
If c.RowCount > 0 Then
Printer1.WriteString("------------Picking------------" & 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.
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
Log(s.GetString("HVD_RECHAZO"))
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetString("HVD_CODPROMO") = Subs.traeAlmacen Then
Printer1.Justify = 0
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
' ESPACIO = 29
' BLANCO = " "
Else If s.GetString("HVD_RECHAZO") = 1 Then
Printer1.Justify = 0
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
S.Position=i
If s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT") > 0 Then
If s.GetString("HVD_CODPROMO") <> Subs.traeAlmacen Then
Printer1.Justify = 0
If s.GetString("HVD_CODPROMO") = s.GetString("HVD_PROID") Then
Printer1.WriteString("* "&s.GetString("HVD_PRONOMBRE") & CRLF)
Else
Printer1.WriteString((s.GetString("HVD_CANT") - s.GetString("HVD_RECHAZOCANT"))&" "&s.GetString("HVD_PRONOMBRE") & CRLF)
End If
' Dim punit As String =NumberFormat2((s.GETSTRING("HVD_COSTO_TOT")/s.GetString("HVD_CANT")),0,2,2,False)
' TAMANO = punit.Length + TAMANO
'
'
' Private ptot As String = NumberFormat2((punit*s.GetString("HVD_CANT")),0,2,2,False)
' TAMANO = ptot.Length + TAMANO
'
'
' ESPACIO = (ESPACIO - TAMANO)/2
' Log(ESPACIO)
' For E=0 To ESPACIO -1
@@ -1350,7 +1267,6 @@ Private Sub B_IMP_Click
' BLANCO = " "
Printer1.Justify = 0
Else
End If
End If
Next
@@ -1361,11 +1277,7 @@ Private Sub B_IMP_Click
Printer1.WriteString(" " & CRLF)
Sleep(1000)
Printer1.DisConnect
ProgressDialogHide
' Guardado
End Sub