mirror of
https://github.com/KeymonSoft/ADM.git
synced 2026-04-18 03:39:19 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a7c890a612 | |||
| b4010f2d7b | |||
| 2c252b2373 |
@@ -1121,7 +1121,7 @@ Version=12.8
|
||||
#Region Project Attributes
|
||||
#ApplicationLabel: ADM
|
||||
#VersionCode: 1
|
||||
#VersionName: 5.09.03
|
||||
#VersionName: 5.10.03
|
||||
'SupportedOrientations possible values: unspecified, landscape or portrait.
|
||||
#SupportedOrientations: portrait
|
||||
#CanInstallToExternalStorage: False
|
||||
|
||||
@@ -76,7 +76,7 @@ ModuleClosedNodes16=
|
||||
ModuleClosedNodes17=
|
||||
ModuleClosedNodes18=
|
||||
ModuleClosedNodes19=
|
||||
ModuleClosedNodes2=
|
||||
ModuleClosedNodes2=33
|
||||
ModuleClosedNodes20=
|
||||
ModuleClosedNodes21=
|
||||
ModuleClosedNodes22=
|
||||
@@ -84,7 +84,7 @@ ModuleClosedNodes23=
|
||||
ModuleClosedNodes24=
|
||||
ModuleClosedNodes25=
|
||||
ModuleClosedNodes26=
|
||||
ModuleClosedNodes27=29
|
||||
ModuleClosedNodes27=
|
||||
ModuleClosedNodes28=
|
||||
ModuleClosedNodes29=
|
||||
ModuleClosedNodes3=
|
||||
@@ -92,11 +92,11 @@ ModuleClosedNodes30=2,4,5,6,7,8
|
||||
ModuleClosedNodes31=
|
||||
ModuleClosedNodes32=15,16,17,18,19
|
||||
ModuleClosedNodes4=
|
||||
ModuleClosedNodes5=
|
||||
ModuleClosedNodes6=3
|
||||
ModuleClosedNodes5=1,3
|
||||
ModuleClosedNodes6=3,29,30
|
||||
ModuleClosedNodes7=
|
||||
ModuleClosedNodes8=
|
||||
ModuleClosedNodes9=
|
||||
NavigationStack=C_TicketsDia,b_guardaNoVenta_Click,300,1,C_TicketsDia,GPS_LocationChanged,218,0,C_TicketsDia,ListView1_ItemLongClick,213,0,Diseñador Visual,mapa_rutas.bal,-100,2,C_TicketsDia,b_noventa0_Click,229,0,MAPA_RUTAS,b_guardaNoVenta_Click,575,0,Diseñador Visual,clientes.bal,-100,3,C_Clientes,B4XPage_Appear,141,6,Diseñador Visual,datosclienteBotones.bal,-100,2,C_Clientes,CreateListItem,210,0,Starter,reinicializaReqManager,164,0
|
||||
NavigationStack=MAPA_RUTAS,OnInfoWindowClickListener1_click,367,0,MAPA_RUTAS,Camera1_PictureTaken,723,0,Subs,dameUsuarioDeDB,657,0,Subs,traeAlmacen,668,5,C_Clientes,b_inicioVenta_Click,614,0,Subs,bitacora,1631,0,C_Cliente,Camera1_PictureTaken,2855,0,C_Principal,b_subir_Click,832,6,Starter,mandaForma,249,0,B4XMainPage,B4XPage_Created,179,3
|
||||
SelectedBuild=0
|
||||
VisibleModules=30,2,14,5,6,19,31,27,18,32,8,11
|
||||
VisibleModules=30,2,14,5,6,19,31,27,32,21
|
||||
|
||||
@@ -190,7 +190,7 @@ Private Sub B4XPage_Created (Root1 As B4XView)
|
||||
Starter.skmt.ExecNonQuery("DROP TABLE IF EXISTS HIST_SUPERVISOR")
|
||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CLIENTES_NUEVOS(CN_ID TEXT, CN_FECHA TEXT, CN_USER TEXT, CN_LAT TEXT, CN_LON TEXT, CN_NOMBRE TEXT, CN_DIRECCION TEXT, CN_FOTO TEXT, CN_ALMACEN TEXT, CN_RUTA TEXT,CN_GIRO TEXT)")
|
||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS RUTAA (RUTAA TEXT)")
|
||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS FOTOINICIAL (RUTAA TEXT, ALMACEN TEXT, LATITUD TEXT, LONGITUD TEXT, FECHAHORA TEXT, FOTO BLOB, FOTO2 BLOB, USUARIO TEXT)")
|
||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS FOTOINICIAL (RUTAA TEXT, ALMACEN TEXT, LATITUD TEXT, LONGITUD TEXT, FECHAHORA TEXT, FOTO BLOB, FOTO2 BLOB, FOTO_NOM TEXT, FOTO_NOM2 TEXT, USUARIO TEXT)")
|
||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_CUOTAS (HC_META6 TEXT, HC_META5 TEXT, HC_META4 TEXT, HC_META3 TEXT, HC_META2 TEXT, HC_META1 TEXT, HC_RUTA TEXT, HC_CUOTA1 TEXT, HC_CUOTA2 TEXT, HC_CUOTA3 TEXT, HC_CUOTA4 TEXT, HC_CUOTA5 TEXT, HC_CUOTA6 TEXT)")
|
||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS HIST_GPS (HGDATE TEXT, HGLAT TEXT, HGLON TEXT)")
|
||||
skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_GIRO(GIRO TEXT)")
|
||||
@@ -711,7 +711,7 @@ Sub JobDone(Job As HttpJob)
|
||||
p_validacion.Visible = False
|
||||
et_codigo.Text = ""
|
||||
If recarga = "0" Then
|
||||
Subs.panelVisible(P_CIEGO,0,0)
|
||||
Subs.panelVisible(p_ciego,0,0)
|
||||
Else If recarga = "1" Then
|
||||
Starter.skmt.ExecNonQuery("delete from CUENTAA")
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO CUENTAA VALUES (?)", Array As Object("1"))
|
||||
@@ -1327,3 +1327,7 @@ End Sub
|
||||
Private Sub p_add_monto_Click
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub ImageView1_LongClick
|
||||
Starter.mandaForma(1,1,123, "1759862644988_10_cerrado.jpg")
|
||||
End Sub
|
||||
|
||||
@@ -314,7 +314,7 @@ Sub B4XPage_Appear
|
||||
Subs.centraPanel(p_abono, Root.Width)
|
||||
Subs.centraPanel(p_credito, Root.Width)
|
||||
skmt.Initialize(ruta,"kmt.db", True)
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa) UNION ALL select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info2 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info where CAT_CL_CODIGO In (Select cuenta from cuentaa) UNION ALL select CAT_CL_CODIGO,CAT_CL_RUTA,CAT_CL_NOMBRE,CAT_CL_ATIENDE1,CAT_CL_ATIENTE2,CAT_CL_TELEFONO,CAT_CL_EMAIL,CAT_CL_CALLE,CAT_CL_NOEXT,CAT_CL_NOINT,CAT_CL_CALLE1,CAT_CL_CALLE2,CAT_CL_COLONIA,CAT_CL_MUNI,CAT_CL_EDO,CAT_CL_CP,CAT_CL_LONG,CAT_CL_LAT,CAT_CL_MTOCOMPRA,CAT_CL_NUM_SERIEFISICO from kmt_info2 where CAT_CL_CODIGO In (Select cuenta from cuentaa)")
|
||||
s=B4XPages.MainPage.skmt.ExecQuery("Select ifnull(SUM(PE_COSTO_TOT),0) As TOTAL_CLIE, SUM(PE_CANT) As CANT_CLIE, PC_FACTURA FROM PEDIDO_CLIENTE INNER JOIN PEDIDO ON PEDIDO_CLIENTE.PC_CLIENTE = PEDIDO.PE_CLIENTE WHERE (PE_CLIENTE IN (Select cuenta from cuentaa))")
|
||||
b = B4XPages.MainPage.skmt.ExecQuery("select COUNT(*) AS CLIENTE FROM ABONOSP WHERE CLIENTE IN (Select CUENTA from cuentaa)")
|
||||
b.Position = 0
|
||||
@@ -2819,7 +2819,7 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
img.WriteToStream(out, 100, "PNG")
|
||||
out.Close
|
||||
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO FOTOINICIAL (RUTAA, ALMACEN, LATITUD, LONGITUD, FECHAHORA, FOTO, USUARIO) VALUES (?,?,?,?,?,?,?)",Array As Object(LA_RUTA, ALMACEN, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, sDate & " " & sTime, File.ReadBytes(File.DirInternal & dir & Dir2, fototomada), Subs.traeUsuarioDeBD))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO FOTOINICIAL (RUTAA, ALMACEN, LATITUD, LONGITUD, FECHAHORA, FOTO_NOM, USUARIO) VALUES (?,?,?,?,?,?,?)",Array As Object(LA_RUTA, ALMACEN, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, sDate & " " & sTime, fototomada, Subs.traeUsuarioDeBD))
|
||||
b_foto_inci.Text = "Foto usuario"
|
||||
ChangeCamera_Click
|
||||
Else If b_foto_inci.Text = "Foto usuario" Then
|
||||
@@ -2861,7 +2861,7 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
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,LA_RUTA, ALMACEN ))
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE FOTOINICIAL set FOTO_NOM2 = ? where USUARIO = ? and RUTAA = ? and ALMACEN = ? ", Array As Object (fototomada, Subs.traeUsuarioDeBD,LA_RUTA, ALMACEN ))
|
||||
b_foto_inci.Text = "Foto tienda"
|
||||
ChangeCamera_Click
|
||||
p_camara.Visible = False
|
||||
|
||||
@@ -53,6 +53,8 @@ Sub Class_Globals
|
||||
Private b_guardaNoVenta As Button
|
||||
Private p_botonesNoVenta As Panel
|
||||
Private et_comentarioNoVenta As EditText
|
||||
Private r_opcion7 As RadioButton
|
||||
Private r_opcion6 As RadioButton
|
||||
Private r_opcion5 As RadioButton
|
||||
Private r_opcion4 As RadioButton
|
||||
Private r_opcion3 As RadioButton
|
||||
@@ -710,13 +712,17 @@ Private Sub b_guardaNoVenta_Click
|
||||
If r_opcion1.Checked Then
|
||||
motivo = "CERRADO"
|
||||
Else If r_opcion2.Checked Then
|
||||
motivo = "NO COMPRA"
|
||||
motivo = "NO TIENE DINERO"
|
||||
Else If r_opcion3.Checked Then
|
||||
motivo = "CON PRODUCTO"
|
||||
motivo = "NO ABRE MAÑANA"
|
||||
Else If r_opcion4.Checked Then
|
||||
motivo = "NO ESTA EL ENCARGADO"
|
||||
motivo = "FALTA DE PRODUCTO"
|
||||
Else If r_opcion5.Checked Then
|
||||
motivo = "PROMOCION CON OTRO DISTRIBUIDOR"
|
||||
Else If r_opcion6.Checked Then
|
||||
motivo = "RECIBEN MUCHOS PROVEEDORES"
|
||||
Else
|
||||
motivo = "CANCELACION"
|
||||
motivo = "NO LE QUEDA EL DIA"
|
||||
End If
|
||||
|
||||
Log("FOTOCERRADO: " & fotoCerrado)
|
||||
@@ -836,7 +842,7 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
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))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO FOTOINICIAL (RUTAA, ALMACEN, LATITUD, LONGITUD, FECHAHORA, FOTO_NOM, USUARIO) VALUES (?,?,?,?,?,?,?)",Array As Object(Subs.traeRuta, Subs.traeAlmacen, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, sDate & " " & sTime, fototomada, Subs.traeUsuarioDeBD))
|
||||
b_foto_inci.Text = "Foto usuario"
|
||||
ChangeCamera_Click
|
||||
Else
|
||||
@@ -844,9 +850,14 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
p_camara.Visible = False
|
||||
StopCamera
|
||||
End If
|
||||
LogColor("Mandamos foto: " & fototomada, Colors.red)
|
||||
Log($"${Subs.traeAlmacen}, ${Subs.traeRuta}, ${Subs.traeCliente}, ${fototomada}"$)
|
||||
Starter.mandaForma(Subs.traeAlmacen, Subs.traeRuta, Subs.traeCliente, fototomada)
|
||||
|
||||
Else If b_foto_inci.Text = "Foto usuario" Then
|
||||
DateTime.DateFormat="ddMMyyyyHHmmss"
|
||||
fototomada = fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
|
||||
nombreFoto = "usuario"
|
||||
fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
|
||||
Dim filename As String = fototomada
|
||||
Dim dir As String = File.DirInternal
|
||||
camEx.SavePictureToFile(Data, dir, filename)
|
||||
@@ -883,7 +894,7 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
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 ))
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE FOTOINICIAL set FOTO_NOM2 = ? where USUARIO = ? and RUTAA = ? and ALMACEN = ? ", Array As Object (fototomada, Subs.traeUsuarioDeBD,Subs.traeRuta, Subs.traeAlmacen ))
|
||||
b_foto_inci.Text = "Foto tienda"
|
||||
ChangeCamera_Click
|
||||
p_camara.Visible = False
|
||||
@@ -895,6 +906,11 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
Else
|
||||
B4XPages.MainPage.tipo_venta = "PREVENTA"
|
||||
End If
|
||||
|
||||
LogColor("Mandamos foto: " & fototomada, Colors.red)
|
||||
Log($"${Subs.traeAlmacen}, ${Subs.traeRuta}, ${Subs.traeCliente}, ${fototomada}"$)
|
||||
Starter.mandaForma(Subs.traeAlmacen, Subs.traeRuta, Subs.traeCliente, fototomada)
|
||||
|
||||
' B4XPages.ShowPage("productos")
|
||||
' p_transparentePidePeso.Visible = True
|
||||
End If
|
||||
@@ -947,7 +963,6 @@ Sub mandaPendientes
|
||||
' End If
|
||||
End Sub
|
||||
|
||||
|
||||
Sub JobDone(Job As HttpJob)
|
||||
Log("INICA JOBDONE CLIENTES - " & Job.Tag)
|
||||
If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
|
||||
|
||||
@@ -827,7 +827,7 @@ Sub b_subir_Click
|
||||
cuantos_noventa = D.GetString("CUANTOS_NOVENTA")
|
||||
d.Close
|
||||
|
||||
' NOVENTA
|
||||
' FOTOINICIAL
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("SELECT * FROM FOTOINICIAL")
|
||||
If c.RowCount>0 Then
|
||||
For i=0 To c.RowCount -1
|
||||
@@ -837,7 +837,7 @@ Sub b_subir_Click
|
||||
foto2 = c.GetBlob("FOTO2")
|
||||
cmd.Initialize
|
||||
cmd.Name = "insert_foto_ADM"
|
||||
cmd.Parameters = Array As Object(C.GetString("RUTAA"),C.GetString("USUARIO"),C.GetString("LONGITUD"),C.GetString("ALMACEN"),C.GetString("FECHAHORA"),C.GetString("LATITUD"),foto1,foto2)
|
||||
cmd.Parameters = Array As Object(C.GetString("RUTAA"),C.GetString("USUARIO"),C.GetString("LONGITUD"),C.GetString("ALMACEN"),C.GetString("FECHAHORA"),C.GetString("LATITUD"),Subs.traeCliente&"_"&c.GetString("FOTO_NOM"),Subs.traeCliente&"_"&c.GetString("FOTO_NOM2"))
|
||||
reqManager.ExecuteCommand(cmd , "inst_FOTO")
|
||||
Next
|
||||
End If
|
||||
@@ -1079,7 +1079,7 @@ Sub b_cargar_Click
|
||||
reqManager.ExecuteQuery(cmd , 0, "detallepaq")
|
||||
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_cat_clientes_ADM"
|
||||
cmd.Name = "select_cat_clientes2_ADM"
|
||||
cmd.Parameters = Array As Object(e_ruta.text, ALMACEN)
|
||||
reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
|
||||
|
||||
@@ -1122,7 +1122,7 @@ Sub b_cargar_Click
|
||||
Panel11.Visible = False
|
||||
|
||||
cmd.Initialize
|
||||
cmd.Name = "select_cat_clientes_ADM"
|
||||
cmd.Name = "select_cat_clientes2_ADM"
|
||||
cmd.Parameters = Array As Object(E_RUTA2.text, ALMACEN)
|
||||
reqManager.ExecuteQuery(cmd , 0, "kmt_datos")
|
||||
|
||||
@@ -1301,6 +1301,7 @@ Sub JobDone(Job As HttpJob)
|
||||
If Job.JobName = "DBRequest" Then
|
||||
Dim RESULT As DBResult = reqManager.HandleJob(Job)
|
||||
If RESULT.Tag = "kmt_datos" Then 'query tag
|
||||
Subs.logJobDoneResultados(RESULT)
|
||||
S_CC.TEXT = "CARGANDO"
|
||||
For Each records() As Object In RESULT.Rows
|
||||
Dim CAT_CL_CODIGO As String = records(RESULT.Columns.Get("CAT_CL_CODIGO"))
|
||||
|
||||
@@ -33,6 +33,9 @@ Sub Class_Globals
|
||||
Private Panel5 As Panel
|
||||
Private et_comentarioNoVenta As EditText
|
||||
Private Label3 As Label
|
||||
Private r_opcion7 As RadioButton
|
||||
Private r_opcion6 As RadioButton
|
||||
Private r_opcion5 As RadioButton
|
||||
Private r_opcion4 As RadioButton
|
||||
Private r_opcion3 As RadioButton
|
||||
Private r_opcion2 As RadioButton
|
||||
@@ -277,13 +280,17 @@ Private Sub b_guardaNoVenta_Click
|
||||
If r_opcion1.Checked Then
|
||||
motivo = "CERRADO"
|
||||
Else If r_opcion2.Checked Then
|
||||
motivo = "NO COMPRA"
|
||||
motivo = "NO TIENE DINERO"
|
||||
Else If r_opcion3.Checked Then
|
||||
motivo = "CON PRODUCTO"
|
||||
motivo = "NO ABRE MAÑANA"
|
||||
Else If r_opcion4.Checked Then
|
||||
motivo = "NO ESTA EL ENCARGADO"
|
||||
motivo = "FALTA DE PRODUCTO"
|
||||
Else If r_opcion5.Checked Then
|
||||
motivo = "PROMOCION CON OTRO DISTRIBUIDOR"
|
||||
Else If r_opcion6.Checked Then
|
||||
motivo = "RECIBEN MUCHOS PROVEEDORES"
|
||||
Else
|
||||
motivo = "CANCELACION"
|
||||
motivo = "NO LE QUEDA EL DIA"
|
||||
End If
|
||||
If motivo = "CERRADO" And fotoCerrado = "" Then
|
||||
nombreFoto = Subs.traeCliente & "_cerrado"
|
||||
@@ -461,7 +468,7 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
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))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO FOTOINICIAL (RUTAA, ALMACEN, LATITUD, LONGITUD, FECHAHORA, FOTO_NOM, USUARIO) VALUES (?,?,?,?,?,?,?)",Array As Object(Subs.traeRuta, Subs.traeAlmacen, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, sDate & " " & STIME, fototomada, Subs.traeUsuarioDeBD))
|
||||
b_foto_inci.Text = "Foto usuario"
|
||||
ChangeCamera_Click
|
||||
Else
|
||||
@@ -469,9 +476,13 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
p_camara.Visible = False
|
||||
StopCamera
|
||||
End If
|
||||
|
||||
Starter.mandaForma(Subs.traeAlmacen, Subs.traeRuta, Subs.traeCliente, fototomada)
|
||||
|
||||
Else If b_foto_inci.Text = "Foto usuario" Then
|
||||
DateTime.DateFormat="ddMMyyyyHHmmss"
|
||||
fototomada = fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
|
||||
nombreFoto = "usuario"
|
||||
fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
|
||||
Dim filename As String = fototomada
|
||||
Dim dir As String = File.DirInternal
|
||||
camEx.SavePictureToFile(Data, dir, filename)
|
||||
@@ -508,7 +519,7 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
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 ))
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE FOTOINICIAL set FOTO_NOM2 = ? where USUARIO = ? and RUTAA = ? and ALMACEN = ? ", Array As Object (fototomada, Subs.traeUsuarioDeBD,Subs.traeRuta, Subs.traeAlmacen ))
|
||||
b_foto_inci.Text = "Foto tienda"
|
||||
ChangeCamera_Click
|
||||
p_camara.Visible = False
|
||||
@@ -520,6 +531,10 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
Else
|
||||
B4XPages.MainPage.tipo_venta = "PREVENTA"
|
||||
End If
|
||||
|
||||
LogColor("Mandamos foto: " & fototomada, Colors.red)
|
||||
Log($"${Subs.traeAlmacen}, ${Subs.traeRuta}, ${Subs.traeCliente}, ${fototomada}"$)
|
||||
Starter.mandaForma(Subs.traeAlmacen, Subs.traeRuta, Subs.traeCliente, fototomada)
|
||||
' B4XPages.ShowPage("productos")
|
||||
' p_transparentePidePeso.Visible = True
|
||||
End If
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -73,6 +73,8 @@ Sub Globals
|
||||
Private p_botonesNoVenta As Panel
|
||||
Private Panel5 As Panel
|
||||
Private et_comentarioNoVenta As EditText
|
||||
Private r_opcion7 As RadioButton
|
||||
Private r_opcion6 As RadioButton
|
||||
Private r_opcion5 As RadioButton
|
||||
Private r_opcion4 As RadioButton
|
||||
Private r_opcion3 As RadioButton
|
||||
@@ -472,7 +474,7 @@ Private Sub b_inicioVenta_Click
|
||||
Subs.bitacora(Subs.fechanormal(DateTime.Now), Subs.traeUsuarioDeBD, Subs.traeAlmacen, Subs.traeRuta, "Inicia Venta", Subs.traeCliente, Subs.fechanormal(DateTime.Now), "", B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, "2", "", "", "")
|
||||
Starter.enVenta = True
|
||||
Subs.enVenta(1, "MAPA")
|
||||
l_venta.Text = "Ve a tu app de venta y cuando termines regresa aqui y presiona el botón para ingresar ""Peso"" o ""No Venta"""
|
||||
l_venta.Text = "Ve a tu app de venta y cuando termines regresa aqui y presiona el botón para ingresar ""Kilos"" o ""No Venta"""
|
||||
LogColor($">>>>>> INICIA VENTA: ${Starter.enVenta} - ${Subs.traeCliente}"$, Colors.red)
|
||||
End Sub
|
||||
|
||||
@@ -559,13 +561,17 @@ Private Sub b_guardaNoVenta_Click
|
||||
If r_opcion1.Checked Then
|
||||
motivo = "CERRADO"
|
||||
Else If r_opcion2.Checked Then
|
||||
motivo = "NO COMPRA"
|
||||
motivo = "NO TIENE DINERO"
|
||||
Else If r_opcion3.Checked Then
|
||||
motivo = "CON PRODUCTO"
|
||||
motivo = "NO ABRE MAÑANA"
|
||||
Else If r_opcion4.Checked Then
|
||||
motivo = "NO ESTA EL ENCARGADO"
|
||||
motivo = "FALTA DE PRODUCTO"
|
||||
Else If r_opcion5.Checked Then
|
||||
motivo = "PROMOCION CON OTRO DISTRIBUIDOR"
|
||||
Else If r_opcion6.Checked Then
|
||||
motivo = "RECIBEN MUCHOS PROVEEDORES"
|
||||
Else
|
||||
motivo = "CANCELACION"
|
||||
motivo = "NO LE QUEDA EL DIA"
|
||||
End If
|
||||
If motivo = "CERRADO" And fotoCerrado = "" Then
|
||||
nombreFoto = Subs.traeCliente & "_cerrado"
|
||||
@@ -670,7 +676,7 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
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))
|
||||
Starter.skmt.ExecNonQuery2("INSERT INTO FOTOINICIAL (RUTAA, ALMACEN, LATITUD, LONGITUD, FECHAHORA, FOTO_NOM, USUARIO) VALUES (?,?,?,?,?,?,?)",Array As Object(Subs.traeRuta, Subs.traeAlmacen, B4XPages.MainPage.lat_gps, B4XPages.MainPage.lon_gps, sDate & " " & sTime, fototomada, Subs.traeUsuarioDeBD))
|
||||
b_foto_inci.Text = "Foto usuario"
|
||||
ChangeCamera_Click
|
||||
Else
|
||||
@@ -678,9 +684,13 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
p_camara.Visible = False
|
||||
StopCamera
|
||||
End If
|
||||
|
||||
Starter.mandaForma(Subs.traeAlmacen, Subs.traeRuta, Subs.traeCliente, fototomada)
|
||||
|
||||
Else If b_foto_inci.Text = "Foto usuario" Then
|
||||
DateTime.DateFormat="ddMMyyyyHHmmss"
|
||||
fototomada = fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
|
||||
nombreFoto = "usuario"
|
||||
fototomada = DateTime.Now & $"_${nombreFoto}.jpg"$
|
||||
Dim filename As String = fototomada
|
||||
Dim dir As String = File.DirInternal
|
||||
camEx.SavePictureToFile(Data, dir, filename)
|
||||
@@ -717,7 +727,7 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
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 ))
|
||||
B4XPages.MainPage.skmt.ExecNonQuery2("UPDATE FOTOINICIAL set FOTO_NOM2 = ? where USUARIO = ? and RUTAA = ? and ALMACEN = ? ", Array As Object (fototomada, Subs.traeUsuarioDeBD,Subs.traeRuta, Subs.traeAlmacen ))
|
||||
b_foto_inci.Text = "Foto tienda"
|
||||
ChangeCamera_Click
|
||||
p_camara.Visible = False
|
||||
@@ -729,6 +739,10 @@ Sub Camera1_PictureTaken (Data() As Byte)
|
||||
Else
|
||||
B4XPages.MainPage.tipo_venta = "PREVENTA"
|
||||
End If
|
||||
|
||||
LogColor("Mandamos foto: " & fototomada, Colors.red)
|
||||
Log($"${Subs.traeAlmacen}, ${Subs.traeRuta}, ${Subs.traeCliente}, ${fototomada}"$)
|
||||
Starter.mandaForma(Subs.traeAlmacen, Subs.traeRuta, Subs.traeCliente, fototomada)
|
||||
' B4XPages.ShowPage("productos")
|
||||
' p_transparentePidePeso.Visible = True
|
||||
End If
|
||||
|
||||
@@ -251,4 +251,57 @@ Sub JobDone(Job As HttpJob)
|
||||
Catch
|
||||
Log(LastException)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Sub mandaForma(almacen_ As String, ruta_ As String, cliente_ As String, imagen_ As String)
|
||||
' 1. Inicializa un nuevo HttpJob
|
||||
Dim job As HttpJob
|
||||
job.Initialize("", Me)
|
||||
|
||||
' 2. Define la URL del servidor
|
||||
Dim url As String = "https://keymon.net/ADM/POST_IMAGEN.aspx"
|
||||
|
||||
' 3. Crea un Map para los campos de texto del formulario
|
||||
Dim params As Map
|
||||
params.Initialize
|
||||
params.Put("Almacen", almacen_)
|
||||
params.Put("Ruta", ruta_)
|
||||
params.Put("Cliente", cliente_)
|
||||
params.Put("btnUpload", "Subir Imagen") ' El botón de submit también envía su valor
|
||||
|
||||
' --- CAMPOS OCULTOS DE ASP.NET ---
|
||||
' Estos valores suelen ser dinámicos. Para este ejemplo, los ponemos fijos.
|
||||
' Si falla, es posible que primero necesites hacer un GET a la página para obtener los valores actualizados.
|
||||
' params.Put("__VIEWSTATE", "/wEPDwUKMjA1ODU4NjY1MGRkhSExd19qC1l3GdX6jvTnbM9pxPQR8urGAvs76UsqsDU=")
|
||||
' params.Put("__VIEWSTATEGENERATOR", "6050E242")
|
||||
' params.Put("__EVENTVALIDATION", "/wEdAAX5q9hoCUC745WBVO+/1ZWhraEDRZI2xn7OC3a5LAUoRlfyZCZSVcs/gLubOxTf2dCyEN4makXuwRjezU2tU1hn5vhDofrSSRcWtmHPtJVt4HHStaEfV6fkOi3uRRJDHybxwaB9FuVcVFxi7uoxeGMX")
|
||||
|
||||
' 4. Crea una lista de archivos a subir
|
||||
Dim files As List
|
||||
files.Initialize
|
||||
|
||||
' Creamos el objeto MultipartFileData para nuestra imagen
|
||||
' KeyName: Es el atributo "name" del input en HTML ("Imagen")
|
||||
' ContentType: El tipo de archivo
|
||||
Dim mfd As MultipartFileData = Subs.CreateMultipartFileData(File.DirInternal&"/adm", imagen_, "Imagen", "image/jpeg")
|
||||
files.Add(mfd)
|
||||
|
||||
' 5. Realiza la petición POST de tipo multipart
|
||||
job.PostMultipart(url, params, files)
|
||||
|
||||
' 6. Espera a que el trabajo termine
|
||||
Wait For (job) JobDone(job As HttpJob)
|
||||
|
||||
If job.Success Then
|
||||
' El servidor respondió correctamente (HTTP 200 OK)
|
||||
Log("Respuesta del servidor: " & job.GetString)
|
||||
' MsgboxAsync("¡Imagen subida con éxito!", "Completado")
|
||||
Else
|
||||
' Hubo un error en la conexión o el servidor respondió con un error
|
||||
Log("Error al subir la imagen: " & job.ErrorMessage)
|
||||
' MsgboxAsync("Error: " & job.ErrorMessage, "Fallo")
|
||||
End If
|
||||
|
||||
' Libera los recursos del job
|
||||
job.Release
|
||||
End Sub
|
||||
21
B4A/Subs.bas
21
B4A/Subs.bas
@@ -665,10 +665,12 @@ End Sub
|
||||
'Regresa el almacen actual de la base de datos.
|
||||
Sub traeAlmacen As String 'ignore
|
||||
Private c As Cursor
|
||||
Private a As String
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
|
||||
c.Position = 0
|
||||
a = C.GetString("ID_ALMACEN")
|
||||
Private a As String = 0
|
||||
c=B4XPages.MainPage.skmt.ExecQuery("select ID_ALMACEN from CAT_ALMACEN")
|
||||
If c.RowCount > 0 Then
|
||||
c.Position = 0
|
||||
a = c.GetString("ID_ALMACEN")
|
||||
End If
|
||||
c.Close
|
||||
Return a
|
||||
End Sub
|
||||
@@ -1697,4 +1699,15 @@ Sub mandaPendientes
|
||||
End If
|
||||
c.Close
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' Función de ayuda para crear el objeto MultipartFileData de forma más limpia
|
||||
Sub CreateMultipartFileData(Dir As String, FileName As String, KeyName As String, ContentType As String) As MultipartFileData
|
||||
Dim mfd As MultipartFileData
|
||||
mfd.Initialize
|
||||
mfd.Dir = Dir
|
||||
mfd.FileName = FileName
|
||||
mfd.KeyName = KeyName
|
||||
mfd.ContentType = ContentType
|
||||
Return mfd
|
||||
End Sub
|
||||
Reference in New Issue
Block a user