Files
Guna_Preventa_BAT/B4A/V_Tclientes.bas
cvaldes1201 6cbcd3e592 6.03.01
se agrega la parte de las encuestas y se corrige los indicadores
2026-04-13 11:29:39 -06:00

261 lines
9.4 KiB
QBasic

B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=12.8
@EndOfDesignText@
Sub Class_Globals
Private Root As B4XView 'ignore
Private xui As XUI 'ignore
Dim c As Cursor
Private la_cuenta As Label
Private La_nombre As Label
Private la_Calle As Label
Private la_col As Label
Private l_entre1 As Label
Private l_entre2 As Label
Private l_atiende As Label
Private Label19 As Label
Private l_animal As Label
Private l_limite As Label
Private l_tipocliente As Label
Private la_saldotot As Label
Private Label22 As Label
Private l_credito As Label
Private ImageView4 As ImageView
Private Guardar As Button
Private p_deuda As Panel
Private Panel5 As Panel
Private b_okdeuda As Button
Private l_deuda As Label
Private I_fotogrande As ImageView
Private P_Imagengrande As Panel
End Sub
'You can add more parameters here.
Public Sub Initialize As Object
Return Me
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
'load the layout to Root
Root.LoadLayout("Vista_todoslosclientes")
End Sub
Sub HIST_Click
B4XPages.ShowPage("historicobattodos")
End Sub
Sub B4XPage_Appear
Log("Entramos")
c = Starter.skmt.ExecQuery ($"select * from CAT_CATCLIENTESTODOS where CAT_CL_CODIGO in (Select CUENTA from cuentaa)"$)
If c.RowCount > 0 Then
c.Position=0
Log(c.GetString("CAT_CL_NOMBRE"))
la_cuenta.Text=c.GetString("CAT_CL_CODIGO")
La_nombre.Text=c.GetString("CAT_CL_NOMBRE")
la_Calle.Text=c.GetString("CAT_CL_CALLE")
la_col.Text=c.GetString("CAT_CL_COLONIA")
l_entre1.Text=c.GetString("CAT_CL_CALLE1")
l_entre2.Text=c.GetString("CAT_CL_CALLE2")
l_atiende.Text=c.GetString("CAT_CL_ATIENDE1")
Label19.Text = c.GetString("CAT_CL_TELEFONO")
l_tipocliente.Text = Subs.traeTipoCliente
Dim fotomostrar As Cursor = Starter.skmt.ExecQuery("SELECT FOTO FROM FOTOS where CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If fotomostrar.RowCount > 0 Then
fotomostrar.Position = 0
Private fotomostrarfinal() As Byte = fotomostrar.GetBlob("FOTO")
Dim InputStream1 As InputStream
InputStream1.InitializeFromBytesArray(fotomostrarfinal, 0, fotomostrarfinal.Length)
Dim Bitmap1 As Bitmap
Bitmap1.Initialize2(InputStream1)
InputStream1.Close
ImageView4.Bitmap = Bitmap1
Log("aqui si hay foto")
Else
ImageView4.Bitmap = LoadBitmap(File.DirAssets,"images.png")
Log("aqui no hay foto")
End If
End If
Subs.centraPanel(P_Imagengrande,Root.Width)
Dim coloressaldo As Cursor=B4XPages.MainPage.skmt.ExecQuery("select IFNULL(CAT_CL_CLASIFICADOR3,0) AS CAT_CL_CLASIFICADOR3, IFNULL(CAT_CL_CLASIFICADOR4,0) AS CAT_CL_CLASIFICADOR4, IFNULL(CAT_CL_CLASIFICADOR2,'') AS CAT_CL_CLASIFICADOR2 from CAT_CATCLIENTESTODOS where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
coloressaldo.Position = 0
l_animal.Text = coloressaldo.GetString("CAT_CL_CLASIFICADOR2")
If coloressaldo.GetString("CAT_CL_CLASIFICADOR2") = "Chimpancé KIN" Then
l_animal.Color = Colors.RGB(84,255,172)
Label22.Color = Colors.RGB(84,255,172)
Else If coloressaldo.GetString("CAT_CL_CLASIFICADOR2") = "Delfín Niky" Then
l_animal.Color = Colors.RGB(84,255,245)
Label22.Color = Colors.RGB(84,255,245)
Else If coloressaldo.GetString("CAT_CL_CLASIFICADOR2") = "Tortuga KOPI" Then
l_animal.Color = Colors.RGB(255,123,84)
Label22.Color = Colors.RGB(255,123,84)
Else If coloressaldo.GetString("CAT_CL_CLASIFICADOR2") = "Lechuza MON" Then
l_animal.Color = Colors.RGB(255,250,140)
Label22.Color = Colors.RGB(255,250,140)
Else
l_animal.Color = Colors.Transparent
Label22.Color = Colors.Transparent
End If
c = B4XPages.MainPage.skmt.ExecQuery("select IFNULL(CAT_CL_BCREDITO,0) AS CAT_CL_BCREDITO, CAT_CL_LIMITECREDITO from CAT_CATCLIENTESTODOS where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c.Position = 0
If c.GetInt("CAT_CL_BCREDITO") = 1 Then
Dim pagarepen As Cursor = B4XPages.MainPage.skmt.ExecQuery("select FECHA, SALDO_PENDIENTE FROM ABONOSP WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If pagarepen.RowCount > 0 Then
pagarepen.Position = 0
DateTime.DateFormat="dd/MM/yyyy"
Dim FechaInicio As String = pagarepen.GetString("FECHA") ' Formato: dd/MM/yyyy
' Dim FechaHoy As String = DateTime.Date(DateTime.Now) ' Fecha actual en formato dd/MM/yyyy
Log(pagarepen.GetString("FECHA"))
' Convertir las fechas a milisegundos (desde 01/01/1970)
Dim TicksInicio As Long = DateTime.DateParse(FechaInicio)
Dim TicksHoy As Long = DateTime.DateParse(DateTime.Date(DateTime.Now))
' Calcular diferencia en días
Dim DiferenciaDias As Int = (TicksHoy - TicksInicio) / DateTime.TicksPerDay
' Mostrar resultado
Log($"Días transcurridos: ${DiferenciaDias}"$)
Dim c4 As Cursor=B4XPages.MainPage.skmt.ExecQuery("select IFNULL(CAT_CL_DIASCREDITO,0) AS CAT_CL_DIASCREDITO from kmt_info3 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c4.Position = 0
' If DiferenciaDias <= c4.GetInt("CAT_CL_DIASCREDITO") + 1 Then
'' l_credito.Color = Colors.Green
'' l_limite.Color = Colors.Green
' Else If DiferenciaDias > c4.GetInt("CAT_CL_DIASCREDITO") + 1 Then
' l_credito.Color = Colors.Red
' l_limite.Color = Colors.Red
' End If
Else
' l_credito.Color = Colors.Transparent
' l_limite.Color = Colors.Transparent
End If
l_credito.Visible = True
l_limite.Visible = True
l_limite.Text = c.GetInt("CAT_CL_LIMITECREDITO")
Else If c.GetInt("CAT_CL_BCREDITO") = 0 Then
l_credito.Visible = False
l_limite.Visible = False
End If
End Sub
Private Sub l_limite_Click
Dim pagarepen As Cursor = B4XPages.MainPage.skmt.ExecQuery("select FECHA, SALDO_PENDIENTE FROM ABONOSPTOD WHERE CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If pagarepen.RowCount > 0 Then
Dim cs As CSBuilder
cs.Initialize
p_deuda.Visible = True
p_deuda.Width = Root.Width
p_deuda.Height = Root.Height
pagarepen.Position = 0
DateTime.DateFormat="dd/MM/yyyy"
Dim FechaInicio As String = pagarepen.GetString("FECHA") ' Formato: dd/MM/yyyy
' Dim FechaHoy As String = DateTime.Date(DateTime.Now) ' Fecha actual en formato dd/MM/yyyy
Log(pagarepen.GetString("FECHA"))
' Convertir las fechas a milisegundos (desde 01/01/1970)
Dim TicksInicio As Long = DateTime.DateParse(FechaInicio)
Dim TicksHoy As Long = DateTime.DateParse(DateTime.Date(DateTime.Now))
' Calcular diferencia en días
Dim DiferenciaDias As Int = (TicksHoy - TicksInicio) / DateTime.TicksPerDay
' Mostrar resultado
Log($"Días transcurridos: ${DiferenciaDias}"$)
c=B4XPages.MainPage.skmt.ExecQuery("select IFNULL(CAT_CL_DIASCREDITO,0) AS CAT_CL_DIASCREDITO from CAT_CATCLIENTESTODOS where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
c.Position = 0
If DiferenciaDias <= c.GetInt("CAT_CL_DIASCREDITO") + 8 Then
' Msgbox2Async($"Favor de pagar su credito el día de mañana por un monto de $${pagarepen.GetString("SALDO_PENDIENTE")}"$, "Recordatorio", "Ok", "", "", LoadBitmap(File.DirAssets,"alert2.png"), False)
' l_deuda.Text = ($"Favor de pagar su credito el día de mañana por un monto de $${pagarepen.GetString("SALDO_PENDIENTE")}"$)
l_deuda.Text = cs.Color(Colors.Black).Append("Monto de la deuda:" & CRLF&CRLF).Pop.Size(18).Color(Colors.RGB(48,109,0)).Append("$ "& pagarepen.GetString("SALDO_PENDIENTE")).PopAll
Else If DiferenciaDias > c.GetInt("CAT_CL_DIASCREDITO") + 8 Then
' l_deuda.Text = ($"No se puede realizar venta por que presenta ${(DiferenciaDias-(c.GetInt("CAT_CL_DIASCREDITO") +1))} días de atraso en el credito, por un monto de $${pagarepen.GetString("SALDO_PENDIENTE")}"$)
l_deuda.Text = cs.Color(Colors.Black).Append("Monto de la deuda:" & CRLF&CRLF).Pop.Color(Colors.Red).Size(18).Append("$ " &pagarepen.GetString("SALDO_PENDIENTE")&CRLF&CRLF).Pop.Size(14).Color(Colors.Black).Append("Dias de atraso:" & CRLF&CRLF).Pop.Size(18).Color(Colors.Red).Append((DiferenciaDias-(c.GetInt("CAT_CL_DIASCREDITO") +1))).PopAll
End If
Else
p_deuda.Visible = True
p_deuda.Width = Root.Width
p_deuda.Height = Root.Height
l_deuda.Text = "No tiene adeudo"
End If
End Sub
'Private Sub B4XPage_CloseRequest As ResumableSub
'' BACK key pressed
'' Return True To close, False To cancel
'
' If P_Imagengrande.Visible Then
' P_Imagengrande.Visible = False
' Return False
' Else if Subs.hayPedido Then
' ToastMessageShow("Por favor presione el botón de GUARDAR", True)
'' Return False
'' else If p_deuda.Visible Then
'' p_deuda.Visible = False
'' Return False
' Else
'' Starter.enCliente = False
' B4XPages.ShowPage("Clientes_Completos")
' End If
'' Return True
' Return False
'End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Private Sub Guardar_Click
B4XPages.ShowPage("Principal")
End Sub
Private Sub ImageView4_LongClick
Private fotomostrar As Cursor = Starter.skmt.ExecQuery("SELECT FOTO FROM FOTOS where CLIENTE IN (SELECT CUENTA FROM CUENTAA)")
If fotomostrar.RowCount > 0 Then
fotomostrar.Position = 0
Private fotomostrarfinal() As Byte = fotomostrar.GetBlob("FOTO")
Dim InputStream1 As InputStream
InputStream1.InitializeFromBytesArray(fotomostrarfinal, 0, fotomostrarfinal.Length)
Dim Bitmap1 As Bitmap
Bitmap1.Initialize2(InputStream1)
InputStream1.Close
I_fotogrande.Bitmap = Bitmap1
Log("aqui si hay foto")
Else
I_fotogrande.Bitmap = LoadBitmap(File.DirAssets,"images.png")
Log("aqui no hay foto")
End If
P_Imagengrande.Visible = True
End Sub
Sub P_Imagengrande_click
P_Imagengrande.Visible = False
End Sub
Private Sub b_okdeuda_Click
p_deuda.Visible = False
End Sub