B4A=true
Group=Default Group
ModulesStructureVersion=1
Type=Class
Version=11.5
@EndOfDesignText@
Sub Class_Globals
	Private Root As B4XView 'ignore
	Private xui As XUI 'ignore
	
'	Dim skmt As SQL
	Dim c As Cursor
	Dim c2 As Cursor
	Dim s As Cursor
	Dim ListView1 As ListView
	Dim entro As String
	Dim gest As Button
	Dim lfila As Label
	Dim busca As EditText
	Dim colonia As String
	Private b_qr As Button
	Private qr As QRCode
	'    Dim sc As Zxing_scanner
	Dim CODIGO As String
	Dim STIME As String
	
	Dim ruta As String
	Dim q_buscar As String
	Private p_clientes As Panel
	Private Panel4 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("clientes")
	'Dim ruta As String
	entro ="2"
	p_clientes.Height = Root.Height
	p_clientes.Width = Root.Width
	Panel4.Left = Round(Root.Width/2)-(Panel4.Width/2)
	Panel4.Height = Root.Height * 0.70
	ListView1.Height = Panel4.Height * 0.95
	
	' valido donde escribo el archivo de la base de datos de kmt
'	If File.ExternalWritable Then
'	   ruta = File.DirDefaultExternal
'	Else
	ruta = File.DirInternal
'	End If
	
	' se crea o no el archivo de la base de ddatos de kmt
	'NOTAS SI SE MODIFICA LA ESTRUCTURA SE QUITA EL IF Y SE VA DIRECTO A LA SENTENCIA FILE.COPY PARA QUE
	'TOME LA NUEVA ESTRUCTURA ES MUY IMPORTANTE TENER EL IF DE LO CONTRARIO SOLO LO ESCRIBE UNA VEZ Y LO BORRA
	'SI SE REGRESA A ESTE ACTIVIDAD.
	If File.Exists(ruta, "kmt.db") = False Then
		File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
	End If
	qr.initialize
End Sub

Sub B4XPage_Appear
	busca.Text = ""
	entro = "2"
	colonia = 0
	c = B4XPages.MainPage.skmt.ExecQuery("select  CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info3 where  gestion = 0 ORDER BY CAT_CL_CODIGO")
	ListView1.Clear
	lfila.Text = "NOMBRE"
	Subs.SetDivider(ListView1, Colors.White, 2)
	If c.RowCount>0 Then
		For i = 0 To c.RowCount - 1
			c.Position=i
			Dim label1 As Label
			label1 = ListView1.TwoLinesLayout.Label
			label1.TextSize = 20
			label1.TextColor = Colors.White
			Dim label2 As Label
			label2 = ListView1.TwoLinesLayout.SecondLabel
			label2.TextSize = 20
			label2.TextColor = Colors.White
			label1.Height = 25dip
			label2.Height = 60dip
			
			ListView1.TwoLinesLayout.ItemHeight = 95dip
			label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
			label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
			ListView1.AddTwoLines(c.GetString("CAT_CL_CODIGO"), c.GetString("CAT_CL_NOMBRE"))
		Next
	End If
	If B4XPages.MainPage.cliente.cuest.IsInitialized Then
		'Borramos las encuestas que no hayan respondido la pregunta 7, es decir que si no completaron la encuesta, se borra todo para que les vuelva a aparecer.
		B4XPages.MainPage.skmt.ExecNonQuery("delete from CUESTIONARIO where Q_IDCLIENTE not in (select Q_IDCLIENTE from CUESTIONARIO where Q_IDPREGUNTA = '7')")
		Log("Borramos encuestas incompletas")
	End If
	entro = "4"
End Sub

Sub ListView1_ItemClick (Position As Int, Value As Object)
	If colonia = 0 Then
		colonia = Value
	End If
	If entro = "2" Then
		c2=B4XPages.MainPage.skmt.ExecQuery2("select CAT_CL_CALLE, CAT_CL_COLONIA, count(*) as cuantos from kmt_info3 where gestion = 0 and CAT_CL_COLONIA = ? GROUP BY CAT_CL_CALLE, CAT_CL_COLONIA order by CAT_CL_CALLE ",  Array As String(Value))
		ListView1.Clear
		lfila.text = "Calle"
		If c2.RowCount>0 Then
			For i=0 To c2.RowCount -1
				c2.Position=i
				ListView1.AddTwoLines(c2.GetString("CAT_CL_CALLE"),c2.GetString("cuantos") )
			Next
		End If
		entro = "3"
	Else If entro = "3" Then
		c2=B4XPages.MainPage.skmt.ExecQuery2("select  CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info3 where  gestion = 0 and  CAT_CL_CALLE = ? AND CAT_CL_COLONIA = ? order by CAT_CL_NOMBRE ", Array As String(Value, colonia))
		ListView1.Clear
		lfila.text = "Nombre"
		If c2.RowCount>0 Then
			For i=0 To c2.RowCount -1
				c2.Position = i
				ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE"))
			Next
		End If
		entro = "4"
	Else If entro = "4" Then
		B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA")
		B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(Value))
		DateTime.TimeFormat = "HHmmss"
		STIME=DateTime.Time(DateTime.Now)
		
		s=B4XPages.MainPage.skmt.ExecQuery2("SELECT COUNT(*) AS CUANTOS FROM HIST_STAY_STORE WHERE HSS_IN = ? AND HSS_CODIGO In (select cuenta from cuentaa)", Array As String("0"))
		s.Position = 0
		If s.GetString("CUANTOS") = 1 Then
			B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ?  where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(STIME))
		Else
			B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO HIST_STAY_STORE(HSS_CODIGO,  HSS_IN , HSS_OUT , HSS_TOT) VALUES (?,0,0,0)", Array As Object (Value))
			B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_STORE set HSS_IN = ?  where HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)", Array As Object(STIME))
		End If
		B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE HIST_STAY_OUT set HSO_INI = ?  where HSO_INI = 0 ", Array As Object(STIME))
		DateTime.TimeFormat = "HH:mm:ss"
'		Log(entro)
		If B4XPages.MainPage.cliente.bitacora.IsInitialized Then
			Log("VAMOS A CLIENTE CON ENVENTA = FALSO")
			B4XPages.MainPage.cliente.bitacora.iniciamosVenta
			Log(B4XPages.MainPage.cliente.bitacora.enVenta)
		End If
		B4XPages.ShowPage("Cliente")
	End If
	Log(entro)
End Sub

Private Sub B4XPage_CloseRequest As ResumableSub
	' BACK key pressed
	'Return True to close, False to cancel
'	If key=KeyCodes.KEYCODE_BACK Then
'		StartActivity(seleccion)
'		Return False
'	End If
	Return True
End Sub

Sub BUSCA_TextChanged (Old As String, New As String)
	q_buscar = "%" & busca.Text & "%"
	c2=B4XPages.MainPage.skmt.ExecQuery2("select  CAT_CL_NOMBRE, CAT_CL_CALLE, CAT_CL_CODIGO from kmt_info3 where (CAT_CL_NOMBRE like ? OR CAT_CL_CODIGO LIKE ? OR CAT_CL_CALLE LIKE ?)and gestion = 0 order by CAT_CL_NOMBRE ", Array As String(q_buscar,q_buscar,q_buscar))
	ListView1.Clear
	Subs.SetDivider(ListView1, Colors.White, 2)
	lfila.text = "Nombre y Calle"
	If c2.RowCount>0 Then
		For i=0 To c2.RowCount -1
			c2.Position=i
			Dim label1 As Label
			label1 = ListView1.TwoLinesLayout.Label
			label1.TextSize = 20
			label1.TextColor = Colors.White
			Dim label2 As Label
			label2 = ListView1.TwoLinesLayout.SecondLabel
			label2.TextSize = 20
			label2.TextColor = Colors.White
			label1.Height = 25dip
			label2.Height = 60dip
			
			ListView1.TwoLinesLayout.ItemHeight = 95dip
			label1.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
			label2.Typeface = Typeface.CreateNew(Typeface.DEFAULT_BOLD, Typeface.STYLE_BOLD)
			ListView1.AddTwoLines(c2.GetString("CAT_CL_CODIGO"), c2.GetString("CAT_CL_NOMBRE")& CRLF &"CALLE:  "& c2.GetString("CAT_CL_CALLE"))
		Next
	End If
	entro = "4"
	c2.Close
End Sub

Sub b_qr_Click
	Dim scan_width As Int
	Dim scan_height As Int
	scan_width = 400
	scan_height = 400
End Sub

Sub sc_result(atype As String,Values As String)
	CODIGO = Values
	c2=B4XPages.MainPage.skmt.ExecQuery2("select   COUNT(*) AS ENCONTRADO from kmt_info3 where CAT_CL_NUM_SERIEFISICO = ?  order by CAT_CL_NOMBRE ", Array As String(CODIGO))
	c2.Position =0
	If c2.GetString("ENCONTRADO") > 0 Then
		s=B4XPages.MainPage.skmt.ExecQuery2("select   CAT_CL_CODIGO from kmt_info3 where CAT_CL_NUM_SERIEFISICO = ?  order by CAT_CL_NOMBRE ", Array As String(CODIGO))
		s.Position =0
		B4XPages.MainPage.skmt.ExecNonQuery("delete from CUENTAA")
		B4XPages.MainPage.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object(s.GetString("CAT_CL_CODIGO")))
		s.Close
'		b_qr.Visible = False
		B4XPages.ShowPage("clientes")
	Else
		Msgbox("CODIGO " & CODIGO & " NO ENCONTRADO","AVISO") 'ignore
	End If
End Sub

Sub sc_noScan
	Log("nothing returned from the scan !!!!!")
End Sub

Sub calc_ean_checksum(number As String) As String           'this has now become redundant as I am only interested in QR Codes
	Dim i As Int
	Dim cO As Char
	Dim soma As Int
	Dim n As Int
	Dim digit As Float
	soma = 0
	For i=0 To number.Length - 1
		digit = number.SubString2(i,i+1)
		n= digit * ((i Mod 2) * 2 + 1)
		soma=soma+n
	Next
	Return number & ( ( 10 - ( soma Mod 10 )) Mod 10 )
End Sub

'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.

Private Sub p_clientes_Click
	'Nada aqui, solo esta para que los clics no se pasen hacia atras.
End Sub