Files
ADM/B4A/C_TicketsDia.bas
Jose Alberto Guerra Ugalde 8f0cf7c227 - VERSION 5.08.31
- Habilitar el mandaPendientes.
- Cuando se hace la venta a través del mapa, no la pone como "venta" o algo así.
- En clientes, quitar el mensaje de "Crédito" y "CxC".
- En resumen Día, cambiar el texto de "Total peso" por "Total kilos".
- En TicketsDia, quitar Cantidad, solo dejar el subtotal y quitarle el signo de pesos.
- En TicketsDia, hacer mas altos los renglones.
- En clientes, quitar el ID de la tienda, dejar solo el nombre.
- En el mapa, también quitar el ID del cliente, dejar solo el nombre. (No se puede!! 🤷🏽‍♂️)
- En TicketsDia, alargar la lista para que ocupe TODA la pantalla.
- En TicketsDia, también quitar el ID, solo dejar Nombre y Subtotal y el subtotal SIN signo de pesos.
2025-09-11 12:51:10 -06:00

528 lines
22 KiB
QBasic

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
Private p_ticketsdia As Panel
Dim c As Cursor
Dim S As Cursor
Dim ruta As String
Dim ListView1 As ListView
Dim b_noventa0 As Button
Dim nombre_boton As String
Dim STIME As String
Private p_transparenciaIniciaInicioFinVenta As Panel
Private p_inicioFinVenta As Panel
Private b_finVenta As Button
Private l_finVenta As Label
Private p_guardarPeso As Panel
Private l_guardarPeso As Label
Private et_guardarPeso As EditText
Private b_noVenta As Button
Private b_guardarPeso As Button
Private p_botonesGuardarPeso As Panel
Private p_noVenta As Panel
Private p_botonesNoVenta As Panel
Private b_cancelaNoVenta As Button
Private b_guardaNoVenta As Button
Private Panel5 As Panel
Private et_comentarioNoVenta As EditText
Private Label3 As Label
Private r_opcion4 As RadioButton
Private r_opcion3 As RadioButton
Private r_opcion2 As RadioButton
Private r_opcion1 As RadioButton
Private l_NoVenta As Label
Private p_camara As Panel
Private p_botonesCam As Panel
Private b_cam As Button
Private b_foto_inci As Button
Private p_cam As Panel
Private camEx As CameraExClass
Private frontCamera As Boolean = False
Dim laCam As C_Camara
Dim fototomada As String = "0"
Dim sDate As String
Dim STIME As String
Private nombreFoto As String
Dim fotoCerrado As String = ""
Private p_botonesCam As Panel
Dim motivo As String
Dim reqManager As DBRequestManager
Private p_camara2 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
ruta = File.DirInternal
Root.LoadLayout("ticketsdia")
If File.Exists(ruta, "kmt.db") = False Then
File.Copy(File.DirAssets, "kmt.db", ruta, "kmt.db")
End If
' c = B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE, PC_MONTO, PC_NOART FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
' ListView1.Clear
' 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 = 10
' label1.TextColor = Colors.Black
' Dim label2 As Label
' label2 = ListView1.TwoLinesLayout.SecondLabel
' label2.TextSize = 13
' label2.TextColor = Colors.Blue
' ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),"SubTotal "& c.GetString("PC_MONTO") & " kgs.")
' Next
' End If
p_transparenciaIniciaInicioFinVenta.top = 0 : p_transparenciaIniciaInicioFinVenta.Left = 0
p_transparenciaIniciaInicioFinVenta.Height = Root.Height : p_transparenciaIniciaInicioFinVenta.Width = Root.Width
Subs.centraPanel(p_inicioFinVenta, Root.Width)
p_guardarPeso.Top = p_inicioFinVenta.top : p_guardarPeso.left = p_inicioFinVenta.left
Subs.centraPanel(p_noVenta, Root.Width)
reqManager.Initialize(Me, Starter.DBReqServer)
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Sub B4XPage_Appear
nombre_boton = "NOVENTA"
p_transparenciaIniciaInicioFinVenta.Visible = False
p_ticketsdia.Height = Root.Height : p_ticketsdia.Width = Root.Width
p_ticketsdia.Top = 0 : p_ticketsdia.Left = 0
ListView1.Left = (Root.Width / 2) - (ListView1.Width / 2)
ListView1.Width = Root.Width * 0.8
' c = B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE, PC_MONTO, PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente UNION select CAT_CL_NOMBRE from kmt_info2 where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
c = B4XPages.MainPage.skmt.ExecQuery("select PE_CLIENTE as PC_CLIENTE, PE_PESO AS PC_MONTO, 1 as PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pe_cliente UNION select CAT_CL_NOMBRE from kmt_info2 where cat_cl_codigo = pe_cliente ) as NOMBRE FROM PESOS where PE_TIPO = 'VENTA' ORDER BY PE_FECHA asc")
Dim noArticulos As Int = 0
fotoCerrado = ""
ListView1.Clear
ListView1.Height = Root.Height * 0.8
b_noventa0.Top = ListView1.Top + ListView1.Height
ListView1.TwoLinesLayout.ItemHeight = 90dip
If c.RowCount>0 Then
For i=0 To c.RowCount -1
c.Position=i
' Dim x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select sum(PE_CANT) as PC_NOART from PEDIDO where PE_CLIENTE = '${c.GetString("PC_CLIENTE")}' AND PE_PROID NOT IN (SELECT CAT_PA_ID FROM PROMOS_COMP)"$)
Dim x As Cursor = B4XPages.MainPage.skmt.ExecQuery($"select 1 as PC_NOART from PESOS where PE_CLIENTE = '${c.GetString("PC_CLIENTE")}'"$)
If x.RowCount > 0 Then
x.Position = 0
' Log(x.GetString("PC_NOART"))
noArticulos = x.GetString("PC_NOART")
End If
Dim label1 As Label
label1 = ListView1.TwoLinesLayout.Label
label1.TextSize = 10
label1.Visible = False
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 13
label2.TextColor = Colors.Blue
label2.Height = 88dip
label2.Width = ListView1.Width - 10dip
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" SubTotal "& c.GetString("PC_MONTO") & " kgs.")
Next
End If
c.Close
p_camara.Top = 0 : p_camara.Left = 0
p_camara.Width = Root.Width : p_camara.Height = Root.Height
Subs.centraPanel(p_camara2, Root.Width)
End Sub
Sub Regresar_Click
B4XPages.ShowPage("cliente")
End Sub
Sub Activity_KeyPress (key As Int) As Boolean
' BACK key pressed
If key=KeyCodes.KEYCODE_BACK Then
' I want to capture the key here so I return True
B4XPages.ShowPage("principal")
'Return True
End If
' Returning False signals the system to handle the key
Return False
End Sub
Sub ListView1_ItemLongClick (Position As Int, Value As Object)
Private cliente As String = Value
Log(Value)
Starter.skmt.ExecNonQuery($"delete from cuentaa"$)
Starter.skmt.ExecNonQuery($"insert into cuentaa (cuenta) values ('${cliente}')"$)
Log($"insert into cuentaa (cuenta) values ('${cliente}')"$)
c = Starter.skmt.ExecQuery("SELECT * FROM FOTOINICIAL")
If c.RowCount = 0 Then
p_camara.Visible = True
InitializeCamera
p_camara.Left = 0
p_camara.Visible = True
nombreFoto = "inicio"
b_foto_inci.Text = "Foto tienda"
Else
p_transparenciaIniciaInicioFinVenta.Visible = True
b_finVenta.Enabled = True
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta, "Inicia Venta", cliente, Subs.fechanormal(DateTime.Now), "", Starter.lat_gps, Starter.lon_gps, "2", "", "", "Tickets Día")
Starter.enVenta = True
Subs.enVenta(1, "CLIENTES")
LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${cliente}"$, Colors.red)
Log(Subs.traeRuta2(Subs.traeCliente))
End If
c = Starter.skmt.ExecQuery($"select PE_FOTO_CERRADO from PESOS where PE_CLIENTE = '${cliente}' and PE_FOTO_CERRADO = '1'"$)
If c.RowCount > 0 Then
fotoCerrado = "1"
Else
fotoCerrado = ""
End If
c.Close
Log("CLIENTE: " & cliente)
' 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)
' Starter.pre_viejo = Subs.traeTotalClientepreventaparacredito
' s=B4XPages.MainPage.skmt.ExecQuery("SELECT COUNT(*) AS CUANTOS FROM HIST_STAY_STORE WHERE HSS_IN = 0 AND HSS_CODIGO In (select cuenta from cuentaa)")
' 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
' DateTime.TimeFormat = "HH:mm:ss"
' Subs.guardaClienteHoraInicio(Value)
' B4XPages.MainPage.cliente.venimosDeTicketsDia = True
' B4XPages.ShowPage("cliente")
End Sub
Sub b_noventa0_Click
If nombre_boton = "NOVENTA" Then
nombre_boton = "VENTA"
b_noventa0.Text ="Ir a Venta"
' c = B4XPages.MainPage.skmt.ExecQuery("select NV_CLIENTE,NV_MOTIVO,NV_COMM, (select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = NV_CLIENTE ) as NOMBRE FROM NOVENTA ORDER BY NV_CLIENTE asc")
c = B4XPages.MainPage.skmt.ExecQuery("select PE_CLIENTE as NV_CLIENTE, PE_MOTIVO as NV_MOTIVO, PE_COMENTARIO as NV_COMM, (select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pe_cliente UNION select CAT_CL_NOMBRE from kmt_info2 where cat_cl_codigo = pe_cliente ) as NOMBRE FROM PESOS where PE_TIPO = 'NO VENTA' ORDER BY PE_FECHA asc")
ListView1.Clear
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 = 15
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 10
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("NV_CLIENTE"),c.GetString("NOMBRE") &" Motivo: "& c.GetString("NV_MOTIVO")& " Comentario: "& c.GetString("NV_COMM"))
Next
End If
Else
nombre_boton = "NOVENTA"
b_noventa0.Text ="Ir a No Venta"
' c = B4XPages.MainPage.skmt.ExecQuery("select PC_CLIENTE,PC_MONTO,PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pc_cliente ) as NOMBRE FROM PEDIDO_CLIENTE ORDER BY PC_FECHA asc")
c = B4XPages.MainPage.skmt.ExecQuery("select PE_CLIENTE as PC_CLIENTE, PE_PESO AS PC_MONTO, 1 as PC_NOART,(select CAT_CL_NOMBRE from kmt_info where cat_cl_codigo = pe_cliente UNION select CAT_CL_NOMBRE from kmt_info2 where cat_cl_codigo = pe_cliente ) as NOMBRE FROM PESOS where PE_TIPO = 'VENTA' ORDER BY PE_FECHA asc")
ListView1.Clear
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 = 10
label1.TextColor = Colors.Black
Dim label2 As Label
label2 = ListView1.TwoLinesLayout.SecondLabel
label2.TextSize = 13
label2.TextColor = Colors.Blue
ListView1.AddTwoLines(c.GetString("PC_CLIENTE"),c.GetString("NOMBRE") &" SubTotal "& c.GetString("PC_MONTO") & " kgs.")
Next
End If
c.Close
End If
End Sub
Private Sub p_ticketsdia_Click
End Sub
Private Sub b_guardaNoVenta_Click
If r_opcion1.Checked Then
motivo = "CERRADO"
Else If r_opcion2.Checked Then
motivo = "NO COMPRA"
Else If r_opcion3.Checked Then
motivo = "CON PRODUCTO"
Else If r_opcion4.Checked Then
motivo = "NO ESTA EL ENCARGADO"
Else
motivo = "CANCELACION"
End If
If motivo = "CERRADO" And fotoCerrado = "" Then
nombreFoto = Subs.traeCliente & "_cerrado"
p_camara.Visible = True
InitializeCamera
p_camara.Left = 0
p_camara.Visible = True
p_camara.BringToFront
b_foto_inci.Text = "Foto tienda"
Else
DateTime.DateFormat="yy-MM-dd HH:mm:ss"
Dim fecha As String=DateTime.Date(DateTime.Now)
Subs.guardaPeso("NO VENTA", Subs.traeAlmacen, Subs.traeRuta2(Subs.traeCliente), Subs.traeUsuarioDeBD, Subs.traeCliente, "0", motivo, et_comentarioNoVenta.text, fotoCerrado)
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta, "No Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, 2, motivo, et_comentarioNoVenta.text, $"Tickets Día Venta:${et_guardarPeso.text}"$)
Starter.enVenta = False
Subs.enVenta(0, "")
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 3 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
p_noVenta.Visible = False
p_guardarPeso.Visible = False
p_transparenciaIniciaInicioFinVenta.Visible = False
End If
Subs.mandaPendientes
End Sub
Private Sub b_cancelaNoVenta_Click
p_noVenta.Visible = False
End Sub
Private Sub b_guardarPeso_Click
If et_guardarPeso.Text <> "" And et_guardarPeso.Text <> "0" And IsNumber(et_guardarPeso.Text) Then
Private peso As Double = et_guardarPeso.Text
et_guardarPeso.Text = peso
Subs.guardaPeso("VENTA", Subs.traeAlmacen, Subs.traeRuta2(Subs.traeCliente), Subs.traeUsuarioDeBD, Subs.traeCliente, peso, "", "", "")
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta2(Subs.traeCliente), "Termina Venta", Subs.traeCliente, "", Subs.fechanormal(DateTime.Now), Starter.lat_gps, Starter.lon_gps, 2, "", "", $"Tickets Día Venta:${et_guardarPeso.text}"$)
Starter.skmt.ExecNonQuery("UPDATE kmt_info set gestion = 2 where CAT_CL_CODIGO In (select cuenta from cuentaa)")
Starter.enVenta = False
Subs.enVenta(0, "")
p_guardarPeso.Visible = False
p_transparenciaIniciaInicioFinVenta.Visible = False
' b_inicioVenta.Enabled = True
b_finVenta.Enabled = False
B4XPages.MainPage.ticketsDia.B4XPage_Appear
Subs.mandaPendientes
End If
End Sub
Private Sub b_noVenta_Click
Log("No Venta")
p_noVenta.Visible = True
r_opcion1.Checked = True
r_opcion2.Checked = False
r_opcion3.Checked = False
r_opcion4.Checked = False
et_comentarioNoVenta.Text = ""
End Sub
Private Sub et_guardarPeso_TextChanged (Old As String, New As String)
If Old <> New And IsNumber(New.trim) And New.trim <> "0" Then
b_guardarPeso.Enabled = True
Else
b_guardarPeso.Enabled = False
End If
End Sub
Sub mandaPendientes
'' PEDIDO_CLIENTE (Pendientes)
' Log(">>>>>>> MANDA PENDIENTES")
' Dim PCNoArts As String
' Dim PCMonto As String
' If Subs.traeUsuarioDeBD <> "KMTS1" Then
' 'PESOS (Pendientes)
' c = Starter.skmt.ExecQuery($"SELECT * FROM PESOS where PE_ENVIO_OK <> 1"$)
' Log($"PESOS PENDIENTE: ${c.RowCount}"$)
' If c.RowCount>0 Then
' For i = 0 To c.RowCount -1
' c.Position = i
' Dim cmd As DBCommand
' cmd.Initialize
'' cmd.Name = "insert_pedido2_ADM"
'' cmd.Parameters = Array As Object(c.GetString("PE_CEDIS"),c.GetString("PE_CEDIS"),c.GetString("PE_IDALMACEN"),c.GetString("PE_COSTO_TOT"),c.GetString("PE_COSTOU"),c.GetString("PE_CANT"),c.GetString("PE_PRONOMBRE"),c.GetString("PE_PROID"),c.GetString("PE_CLIENTE"),c.GetString("PE_FECHA"),c.GetString("PE_USUARIO"),Subs.traeRuta2(c.GetString("PE_CLIENTE")), c.GetString("PE_COSTO_SIN"),c.GetString("PE_DESC"),c.GetString("PE_FOLIO"),c.GetString("PE_CANTC"),c.GetString("PE_BCAJAS"),c.GetString("PE_TIPOPAGO"),c.GetString("PE_COMENTARIO"))
'' reqManager.ExecuteCommand(cmd , $"ins_pedidosPendientes_prods_${c.GetString("PE_CLIENTE")}_${c.GetString("PE_PROID")}"$)
'' Log($">>>> INS_PEDIDO= ${C.GetString("PE_CEDIS")},${ALMACEN},${C.GetString("PE_COSTO_TOT")},${C.GetString("PE_COSTOU")},${C.GetString("PE_CANT")}, ${C.GetString("PE_PRONOMBRE")}, ${C.GetString("PE_PROID")}, ${C.GetString("PE_CLIENTE")}, ${C.GetString("PE_FECHA")}, ${C.GetString("PE_USUARIO")}, ${C.GetString("PE_RUTA")}, ${C.GetString("PE_COSTO_SIN")}, ${C.GetString("PE_DESC")}, ${c.GetString("PE_FOLIO")}, ${PCNoArts}, ${PCMonto}"$)
'' sql.insert_pedido_INTMEX=INSERT INTO INTMEX.PEDIDO (PE_CODPROMO,PE_FECHA_SINC,PE_IDALMACEN,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_DESCUENTO, PE_TIPO) VALUES ((?),SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),nvl((?),0),(?))
'' sql.insert_pedido2_INTMEX=INSERT INTO INTMEX.PEDIDO (PE_CODPROMO,PE_FECHA_SINC,PE_IDALMACEN,PE_COSTO_TOT,PE_COSTOU,PE_CANT,PE_PRONOMBRE,PE_PROID,PE_CLIENTE,PE_FECHA,PE_USUARIO,PE_RUTA,PE_COSTO_SIN, PE_DESCUENTO, PE_TIPO, PE_CANT_TOTAL, PE_VENTA_TOTAL) VALUES ((?),SYSDATE,(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),(?),nvl((?),0),(?),(?),(?))
'
' Dim cmd As DBCommand
' cmd.Initialize
' cmd.Name = "insertPesos"
'' Log(c.GetString("PE_IDALMACEN")&", "&ALMACEN&", "&c.GetString("PE_COSTO_TOT")&", "&c.GetString("PE_COSTOU")&", "&c.GetString("PE_CANT")&", "&c.GetString("PE_PRONOMBRE")&", "&c.GetString("PE_PROID")&", "&c.GetString("PE_CLIENTE")&", "&c.GetString("PE_FECHA")&", "&c.GetString("PE_USUARIO")&", "&Subs.traeRuta2(c.GetString("PE_CLIENTE"))&", "& c.GetString("PE_COSTO_SIN")&", "&c.GetString("PE_DESC")&", "&c.GetString("PE_FOLIO")&", "& ALMACEN)
' cmd.Parameters = Array As Object(c.GetString("PE_IDALMACEN"),c.GetString("PE_RUTA"),c.GetString("PE_USUARIO"),c.GetString("PE_CLIENTE"),c.GetString("PE_PESO"),c.GetString("PE_FECHA"),c.GetString("PE_TIPO"),c.GetString("PE_COMENTARIO"),c.GetString("PE_FOTO_CERRADO"))
'' Log($">>>> insertPesos= ${C.GetString("PE_IDALMACEN")},${c.GetString("PE_RUTA")},${C.GetString("PE_USUARIO")},${C.GetString("PE_CLIENTE")},${C.GetString("PE_PESO")}, ${C.GetString("PE_FECHA")}"$)
' reqManager.ExecuteCommand(cmd , $"insertPesos_${c.GetString("PE_CLIENTE")}"$)
' Next
' End If
' c.Close
' End If
End Sub
Private Sub b_finVenta_Click
et_guardarPeso.Text = ""
p_guardarPeso.Visible = True
' b_inicioVenta.Enabled = True
' b_finVenta.Enabled = False
End Sub
Private Sub b_foto_inci_Click
camEx.TakePicture
End Sub
Private Sub InitializeCamera
Starter.rp.CheckAndRequest(Starter.rp.PERMISSION_CAMERA)
Wait For B4XPage_PermissionResult (Permission As String, resulta As Boolean)
If resulta Then
camEx.Initialize(p_cam, frontCamera, Me, "Camera1")
frontCamera = camEx.Front
Else
ToastMessageShow("No permission!!!", True)
End If
End Sub
Sub Camera1_Ready (Success As Boolean)
If Success Then
camEx.SetJpegQuality(90)
camEx.SetContinuousAutoFocus
camEx.CommitParameters
camEx.StartPreview
Log(camEx.GetPreviewSize)
Else
ToastMessageShow("Cannot open camera.", True)
End If
End Sub
Sub Camera1_PictureTaken (Data() As Byte)
If b_foto_inci.Text = "Foto tienda" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
Dim filename As String = fototomada
Dim dir As String = File.DirInternal
camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal
Dim dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/adm")
dir = "/adm"
Log("creado en promotoria " & Dirp & dir)
Catch
dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & dir & Dir2)
Catch
Dir2 = ""
Log("creado en raiz")
End Try
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now)
STIME = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename) & dir &"," & filename, True)
Log("Picture saved." & CRLF & "File size: " & File.Size(dir, filename) & dir &"," & filename)
Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & dir, filename, 450, 600, True)
Dim out As OutputStream = File.OpenOutput(File.DirInternal & dir & Dir2, filename, False)
img.WriteToStream(out, 100, "PNG")
out.Close
If nombreFoto = "inicio" Then
Starter.skmt.ExecNonQuery2("INSERT INTO FOTOINICIAL (RUTAA, ALMACEN, LATITUD, LONGITUD, FECHAHORA, FOTO, USUARIO) VALUES (?,?,?,?,?,?,?)",Array As Object(Subs.traeRuta, Subs.traeAlmacen, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, sDate & " " & STIME, File.ReadBytes(File.DirInternal & dir & Dir2, fototomada), Subs.traeUsuarioDeBD))
b_foto_inci.Text = "Foto usuario"
ChangeCamera_Click
Else
fotoCerrado = fototomada
p_camara.Visible = False
StopCamera
End If
Else If b_foto_inci.Text = "Foto usuario" Then
DateTime.DateFormat="ddMMyyyyHHmmss"
fototomada = fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
Dim filename As String = fototomada
Dim dir As String = File.DirInternal
camEx.SavePictureToFile(Data, dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename), True)
Dim Dirp As String = File.DirInternal
Dim dir As String
Dim Dir2 As String
Try
File.MakeDir(Dirp,"/adm")
dir = "/adm"
Log("creado en promotoria " & Dirp & dir)
Catch
dir = ""
Log("creado en raiz")
End Try
Try
File.MakeDir(Dirp & dir,"/reduccion")
Dir2 = "/reduccion"
Log("creado en promotoria " & Dirp & dir & Dir2)
Catch
dir = ""
Log("creado en raiz")
End Try
DateTime.DateFormat = "MM/dd/yyyy"
DateTime.TimeFormat = "HH:mm:ss"
sDate = DateTime.Date(DateTime.Now)
STIME = DateTime.Time(DateTime.Now)
camEx.SavePictureToFile(Data, Dirp&dir, filename)
camEx.StartPreview 'restart preview
ToastMessageShow("Picture saved." & CRLF & "File size: " & File.Size(dir, filename) & dir &"," & filename, True)
Log("Picture saved." & CRLF & "File size: " & File.Size(dir, filename) & dir &"," & filename)
Dim img As B4XBitmap = xui.LoadBitmapResize(File.DirInternal & dir, filename, 450, 600, True)
Dim out As OutputStream = File.OpenOutput(File.DirInternal & dir & Dir2, filename, False)
img.WriteToStream(out, 100, "PNG")
out.Close
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE FOTOINICIAL set FOTO2 = ? where USUARIO = ? and RUTAA = ? and ALMACEN = ? ", Array As Object (File.ReadBytes(File.DirInternal & dir & Dir2, fototomada), Subs.traeUsuarioDeBD,Subs.traeRuta, Subs.traeAlmacen ))
b_foto_inci.Text = "Foto tienda"
ChangeCamera_Click
p_camara.Visible = False
StopCamera
If Subs.traeCliente = "0" Then
B4XPages.MainPage.tipo_venta = "ABORDO"
Else If Subs.traeCliente = "1" Then
B4XPages.MainPage.tipo_venta = "RECARGA"
Else
B4XPages.MainPage.tipo_venta = "PREVENTA"
End If
' B4XPages.ShowPage("productos")
' p_transparentePidePeso.Visible = True
End If
End Sub
Sub ChangeCamera_Click
camEx.Release
frontCamera = Not(frontCamera)
InitializeCamera
End Sub
Private Sub StopCamera
' Capturing = False
If camEx.IsInitialized Then
camEx.Release
End If
End Sub
Private Sub p_camara_Click
End Sub