- Se agregó "CHECKLIST" en el nombre cuando se envia el evento de "Salida de almacen".

- Se agregó el evento de "Fin Dia" a la bitacora.
This commit is contained in:
2024-05-10 21:54:22 -06:00
parent 2a17d65160
commit aeeaeb9f00
6 changed files with 21 additions and 4 deletions

View File

@@ -2145,6 +2145,7 @@ Sub e_ruta_EnterPressed
If File.Exists(File.DirInternal,"FOTO2.jpg") Then File.Delete(File.DirInternal,"FOTO2.jpg") If File.Exists(File.DirInternal,"FOTO2.jpg") Then File.Delete(File.DirInternal,"FOTO2.jpg")
If File.Exists(File.DirInternal,"FOTO3.jpg") Then File.Delete(File.DirInternal,"FOTO3.jpg") If File.Exists(File.DirInternal,"FOTO3.jpg") Then File.Delete(File.DirInternal,"FOTO3.jpg")
If File.Exists(File.DirInternal,"FOTO4.jpg") Then File.Delete(File.DirInternal,"FOTO4.jpg") If File.Exists(File.DirInternal,"FOTO4.jpg") Then File.Delete(File.DirInternal,"FOTO4.jpg")
Subs.bitacora(Subs.fechanormal(DateTime.Now),usuario,ALMACEN,l_ruta.Text,"Fin Día", "",Subs.fechanormal(DateTime.Now),Subs.fechanormal(DateTime.Now),Starter.lat_gps,Starter.lon_gps,"2","","")
B4XPage_Appear B4XPage_Appear
End If End If
Else if e_ruta.Text = "FIN DIA" Then Else if e_ruta.Text = "FIN DIA" Then

View File

@@ -327,7 +327,7 @@ Sub lv_catalogos_ItemClick (Position As Int, Value As Object)
For i=0 To c2.RowCount -1 For i=0 To c2.RowCount -1
c2.Position=i c2.Position=i
Private tm As Map = Subs.procesaPromocion(c2.GetString("CAT_GP_ID"), clienteId) Private tm As Map = Subs.procesaPromocion(c2.GetString("CAT_GP_ID"), clienteId)
' promosC.procesaPromocion(c2.GetString("CAT_GP_ID"), clienteId) promosC.procesaPromocion(c2.GetString("CAT_GP_ID"), clienteId)
If tm.Get("status") = "ok" Then 'Solo muestrala si hay producto. If tm.Get("status") = "ok" Then 'Solo muestrala si hay producto.
lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant")) lv_promos.AddTwoLines(c2.GetString("CAT_GP_NOMBRE"),"# " & c2.GetString("CAT_GP_ALMACEN") & " $ " & c2.GetString("CAT_GP_PRECIO") & " F:" & tm.Get("mp").As(Map).Get("prodsFijosCant") & " V:" & tm.Get("mp").As(Map).Get("prodsVariablesCant"))
End If End If

View File

@@ -888,7 +888,7 @@ Version=12.8
#Region Project Attributes #Region Project Attributes
#ApplicationLabel: Kelloggs Venta #ApplicationLabel: Kelloggs Venta
#VersionCode: 3000 #VersionCode: 3000
#VersionName: 4.05.09 #VersionName: 4.05.10
#SupportedOrientations: portrait #SupportedOrientations: portrait
#CanInstallToExternalStorage: False #CanInstallToExternalStorage: False
#BridgeLogger:true #BridgeLogger:true

View File

@@ -91,6 +91,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7= ModuleClosedNodes7=
ModuleClosedNodes8= ModuleClosedNodes8=
ModuleClosedNodes9= ModuleClosedNodes9=
NavigationStack=C_Cliente,JobDone,4047,5,Subs,bitacora,1716,0,Promociones,restaFijosPromo,328,1,C_Productos,lv_catalogos_ItemClick,302,5,C_Cliente,Bt_GuardarBoleta_Click,3674,0,C_Cliente,BP_DOE_R1_Click,4205,0,C_Cliente,b_inicioFinVenta_Click,4215,0,Visual Designer,cliente.bal,-100,2,C_Cliente,Guardar_Click,959,6,Main,Globals,26,0 NavigationStack=C_Principal,B_OK_PAS_Click,2316,0,C_Cliente,Guardar_Click,959,6,B4XMainPage,B4XPage_Created,127,0,C_Productos,lv_catalogos_ItemClick,323,5,Promociones,restaFijosPromo,363,6,C_Principal,SUBIR_INFO_PEDIDO,2841,0,C_CheckList,Bt_GuardarCheck_Click,558,0,Subs,bitacora,1696,2,C_Principal,B4XPage_Appear,304,0,C_Principal,e_ruta_EnterPressed,2131,3,Main,Globals,24,0
SelectedBuild=0 SelectedBuild=0
VisibleModules=1,28,11,3,12,4,29,8,26,13 VisibleModules=1,28,11,3,12,4,29,8,26,13,2

View File

@@ -339,6 +339,7 @@ Sub restaFijosPromo(idPromo As String, promoMap As Map) As Map 'ignore
Log($"Prods fijos requeridos ${prodsFijos.Size}"$) Log($"Prods fijos requeridos ${prodsFijos.Size}"$)
If prodsFijos.Size = 0 Then inventariosDisponiblesParaEstaPromo.Put("resultado", "ok") 'Si no lleva prods fijos la promo, entonces ponemos FIJOS OK. If prodsFijos.Size = 0 Then inventariosDisponiblesParaEstaPromo.Put("resultado", "ok") 'Si no lleva prods fijos la promo, entonces ponemos FIJOS OK.
For p = 0 To prodsFijos.Size - 1 For p = 0 To prodsFijos.Size - 1
Log(555)
Private t As String = prodsFijos.Get(p) 'Obtenemos el Id de este producto desde la lista de productos fijos. Private t As String = prodsFijos.Get(p) 'Obtenemos el Id de este producto desde la lista de productos fijos.
Private p2 As Map = prodsmap.Get(t) 'Obtenemos un mapa con los datos de este producto (id, precio, almacen, tipo, piezas, etc.) Private p2 As Map = prodsmap.Get(t) 'Obtenemos un mapa con los datos de este producto (id, precio, almacen, tipo, piezas, etc.)
If thisLog Then Log($"T: ${t}, prod ${p2.Get("idProducto")}, piezas: ${p2.Get("piezas")}"$) 'Producto y piezas requeridas If thisLog Then Log($"T: ${t}, prod ${p2.Get("idProducto")}, piezas: ${p2.Get("piezas")}"$) 'Producto y piezas requeridas
@@ -354,6 +355,10 @@ Sub restaFijosPromo(idPromo As String, promoMap As Map) As Map 'ignore
If thisLog Then LogColor("Sin suficiente inventario fijo: " & t, Colors.Blue) If thisLog Then LogColor("Sin suficiente inventario fijo: " & t, Colors.Blue)
Exit Exit
End If End If
'Aqui necesitamos el inventario del produccto de "t"
traeInventario(t, "CAT_GUNAPROD2") 'Hay que poner codigo para seleccionar la tabla dependiendo de si es venta o abordo
If i - p2.Get("piezas") < 0 Then If i - p2.Get("piezas") < 0 Then
inventariosDisponiblesParaEstaPromo.Put("resultado", "No hay suficiente producto para la promocion.") 'Si el inventario de este producto sale negativo, quiere decir que no tenemos suficiente inventario para la promoción. inventariosDisponiblesParaEstaPromo.Put("resultado", "No hay suficiente producto para la promocion.") 'Si el inventario de este producto sale negativo, quiere decir que no tenemos suficiente inventario para la promoción.
Exit Exit
@@ -456,3 +461,13 @@ Sub traeListFromPromo(col As String, promo As String) As List
End If End If
Return res Return res
End Sub End Sub
'Regresa el inventario de un producto dado de la tabla dada.
Sub traeInventario(id As String, tabla As String) As Int
Private inv As Int = 0
Private c As ResultSet = db.ExecQuery($"select CAT_GP_ALMACEN from ${tabla} where CAT_GP_ID = ${id}"$)
Do While c.NextRow
inv = c.GetInt("CAT_GP_ALMACEN")
Loop
Return inv
End Sub

View File

@@ -1700,6 +1700,7 @@ Sub bitacora(fechab As String, usuariob As String, almacenb As String, rutab As
Log("BITACORA3") Log("BITACORA3")
Private nombreCliente As String = traeNombreCliente(clienteb) Private nombreCliente As String = traeNombreCliente(clienteb)
If eventob = "Llega a almacen" Then nombreCliente = "BOLETA" If eventob = "Llega a almacen" Then nombreCliente = "BOLETA"
If eventob = "Salida almacen" Then nombreCliente = "CHECKLIST"
Log($"'${almacenb}', '${usuariob}', '${rutab}', '${eventob}', '${clienteb}', '${nombreCliente}','${ iniciob}', '${finb}','${ latitudb}','${ longitudb}', '${precision}', '${motivonoventa}', '${motivonovisita}', '${fechab}'"$) Log($"'${almacenb}', '${usuariob}', '${rutab}', '${eventob}', '${clienteb}', '${nombreCliente}','${ iniciob}', '${finb}','${ latitudb}','${ longitudb}', '${precision}', '${motivonoventa}', '${motivonovisita}', '${fechab}'"$)
' TMP_ALMACEN, TMP_USUARIO, TMP_RUTA, TMP_EVENTO, TMP_ID_CLIENTE, TMP_NOMBRE_CLIENTE, TMP_INICIO, TMP_FINAL, TMP_LATITUD, TMP_LONGITUD, TMP_PRESICION, TMP_MOTIVO_NO_VENTA, TMP_MOTIVO_NO_VISITA, TMP_FECHA_SINC, TMP_FECHA_MOVIL ' TMP_ALMACEN, TMP_USUARIO, TMP_RUTA, TMP_EVENTO, TMP_ID_CLIENTE, TMP_NOMBRE_CLIENTE, TMP_INICIO, TMP_FINAL, TMP_LATITUD, TMP_LONGITUD, TMP_PRESICION, TMP_MOTIVO_NO_VENTA, TMP_MOTIVO_NO_VISITA, TMP_FECHA_SINC, TMP_FECHA_MOVIL
cmd.Parameters = Array As Object(almacenb, usuariob, rutab, eventob, clienteb, nombreCliente, iniciob, finb, latitudb, longitudb, precision, motivonoventa, motivonovisita, fechab) cmd.Parameters = Array As Object(almacenb, usuariob, rutab, eventob, clienteb, nombreCliente, iniciob, finb, latitudb, longitudb, precision, motivonoventa, motivonovisita, fechab)