- Se agregó codigo para manejar promos por ruta (Subs/traeMaxPromos), NO esta terminado.

This commit is contained in:
2024-02-27 08:55:58 -06:00
parent 54e33a93fd
commit ff72663745
5 changed files with 37 additions and 8 deletions

View File

@@ -178,6 +178,8 @@ Private Sub B4XPage_Created (Root1 As B4XView)
' Starter.skmt.ExecNonQuery("drop table kmt_info")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS kmt_info (CAT_CL_FOTO BLOB, CAT_CL_NUM_SERIEFISICO TEXT, CAT_CL_MTOCOMPRA TEXT, CAT_CL_CEDIS TEXT, CAT_CL_LAT TEXT, CAT_CL_LONG TEXT, CAT_CL_FBAJA TEXT, CAT_CL_FALTA TEXT, CAT_CL_CP TEXT, CAT_CL_EDO TEXT, CAT_CL_MUNI TEXT, CAT_CL_COLONIA TEXT, CAT_CL_CALLE2 TEXT, CAT_CL_CALLE1 TEXT, CAT_CL_NOINT TEXT, CAT_CL_NOEXT TEXT, CAT_CL_CALLE TEXT, CAT_CL_EMAIL TEXT, CAT_CL_TELEFONO TEXT, CAT_CL_ATIENTE2 TEXT, CAT_CL_ATIENDE1 TEXT, CAT_CL_NOMBRE TEXT, CAT_CL_GIRO TEXT, CAT_CL_DIAS_VISITA TEXT, CAT_CL_TIPO_RUTA TEXT, CAT_CL_RUTA TEXT, CAT_CL_CODIGO TEXT, gestion NUMERIC, CAT_CL_DIASEMANA TEXT, CAT_CL_SECUENCIA INT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS VENDIDOS(ID TEXT)")
Starter.skmt.ExecNonQuery("CREATE TABLE IF NOT EXISTS CAT_PROMOS_RUTA (CPR_IDALMACEN TEXT, CPR_RUTA TEXT, CPR_PROMO TEXT, CPR_CANT INT)")
Subs.agregaColumna("PEDIDO", "PE_ENVIO_OK", "TEXT")
Try 'Intentamos usar "pragma_table_info" para revisar si existe la columna "CAT_CL_DIASEMANA" en la tabla
c=Starter.skmt.ExecQuery("SELECT COUNT(*) AS fCol FROM pragma_table_info('kmt_info') WHERE name='CAT_CL_DIASEMANA'")

View File

@@ -950,6 +950,11 @@ Sub cargar_Click
cmd.Name = "select_marcas_rutas_MARDS"
cmd.Parameters = Array As Object( ALMACEN, e_ruta.text)
reqManager.ExecuteQuery(cmd , 0, "marcas_rutas")
cmd.Initialize
cmd.Name = "select_promosXruta_MARDS"
cmd.Parameters = Array As Object(ALMACEN, e_ruta.text)
reqManager.ExecuteQuery(cmd , 0, "promosXruta")
' cmd.Initialize
' cmd.Name = "select_CUEST_INTMEX"
@@ -1367,7 +1372,7 @@ Sub JobDone(Job As HttpJob)
Next
c=Starter.skmt.ExecQUERY("SELECT COUNT(*) AS CUANTOS FROM PEDIDO WHERE PE_CLIENTE <> 0")
c.Position = 0
cuantos_pedidosc = c.GetString("CUANTOS")
c.Close
If cuantos_pedidosc > 0 Then
@@ -1742,8 +1747,18 @@ Sub JobDone(Job As HttpJob)
Starter.skmt.ExecNonQuery2("INSERT INTO HIST_AVANCE(HA_MARCA, HA_AVANCE, HA_OBJETIVO, HA_PORCENTAJE) VALUES (?,?,?,?)", Array As Object (marca, avance, objetivo, porcentaje1))
Next
End If
Dim RESULT As DBResult = reqManager.HandleJob(Job)
If RESULT.Tag = "promosXruta" Then 'query tag
For Each records() As Object In RESULT.Rows
Dim CPR_IDALMACEN As String = records(RESULT.Columns.Get("CPR_IDALMACEN"))
Dim CPR_RUTA As String = records(RESULT.Columns.Get("CPR_RUTA"))
Dim CPR_PROMO As String = records(RESULT.Columns.Get("CPR_PROMO"))
Dim CPR_CANT As Int = records(RESULT.Columns.Get("CPR_CANT"))
Starter.skmt.ExecNonQuery2("INSERT INTO CAT_PROMOS_RUTA(CPR_RUTA, CPR_PROMO, CPR_CANT, CPR_IDALMACEN) VALUES (?,?,?,?)", Array As Object (CPR_RUTA, CPR_PROMO, CPR_CANT, CPR_IDALMACEN))
Next
End If
End If
End If
Job.Release
End Sub

View File

@@ -1067,7 +1067,7 @@ Version=12.5
#Region Project Attributes
#ApplicationLabel: Mariana
#VersionCode: 1
#VersionName: 4.01.29
#VersionName: 4.02.25
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: portrait
#CanInstallToExternalStorage: False

View File

@@ -82,6 +82,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
NavigationStack=C_Cliente,B4XPage_Created,176,0,Main,Activity_Create,27,0,C_Clientes,Mods,0,0,C_Cliente,Guardar_Click,466,6,C_Cliente,B4XPage_Appear,191,6,C_Nota,borra_Click,126,0,C_Nota,ListView1_ItemLongClick,159,0,C_Productos,et_pCant_FocusChanged,577,0,C_Productos,b_terminar1_Click,581,1,C_Principal,Subir_Click,514,6
NavigationStack=C_Productos,et_pCant_FocusChanged,577,0,C_Productos,b_terminar1_Click,581,1,B4XMainPage,B4XPage_Created,173,5,C_Principal,Subir_Click,513,6,C_Principal,cargar_Click,950,1,C_Principal,JobDone,1368,2,Subs,revisaMaxPromosProdsFijosPorInventario2,1042,0,Subs,revisaMaxPromosProdsVariablesPorInventario,1129,0,Subs,alcanzanLosVariablesParaPromo,953,0,Subs,traeMaxPromos,978,6
SelectedBuild=0
VisibleModules=1,2,3,4,5,6,7,8,9,10,12,13
VisibleModules=2,12,4,5,6,7,8,9,10,26,13

View File

@@ -961,16 +961,28 @@ End Sub
'Regresa el numero máximo de promociones permitidas, tomando en cuenta recurrentes, clientes y maxPromos.
Sub traeMaxPromos(pm As Map) As Int
Private thisLog As Boolean = False 'Si es verdadero, muestra los logs de este sub.
Private thisLog As Boolean = True 'Si es verdadero, muestra los logs de este sub.
Private maxPromos As List
Private vendidas As Int = 0
maxPromos.Initialize
' If Starter.promosLog Then Log("==== HISTORICO:"&pm.Get("historico"))
If thisLog Then Log(pm)
'Traemos las promos por ruta, y si existe, la agregamos a la lista.
Private pxr As Cursor = Starter.skmt.ExecQuery($"select * from CAT_PROMOS_RUTA where CPR_PROMO = '${pm.Get("id")}'"$)
Private maxXruta As String = ""
If pxr.RowCount > 0 Then
pxr.Position = 0
Log($"PROMOS POR RUTA PARA ${pm.Get("id")} = ${pxr.GetString("CPR_CANT")}"$)
maxXruta = pxr.GetString("CPR_CANT")
End If
If pm.Get("historico") = "1" Then maxPromos.Add(pm.Get("maxRecurrente")) 'Si hay historico, agregamos maxRecurrente
maxPromos.Add(pm.Get("maxPromos")) 'Agregamos maxPromos
maxPromos.Add(pm.Get("maxXcliente")) 'Agregamos maxXcliente
maxPromos.Add(pm.Get("maxPromos").As(Int)) 'Agregamos maxPromos
maxPromos.Add(pm.Get("maxXcliente").As(Int)) 'Agregamos maxXcliente
If maxXruta <> "" Then maxPromos.Add(maxXruta.As(Int)) 'Agregamos maxXruta
maxPromos.Sort(True)
Log(maxPromos)
' Log($"|${pm.Get("id").As(String).trim}|${traeCliente.Trim}|"$)
Private c As Cursor = Starter.skmt.ExecQuery2("select sum(PE_CANT) as vendidas from PEDIDO where PE_PROID = ? and PE_CLIENTE = ? ", Array As String(pm.Get("id").As(String).trim, traeCliente.Trim))