diff --git a/B4A/B4XMainPage.bas b/B4A/B4XMainPage.bas index 0894086..38a66df 100644 --- a/B4A/B4XMainPage.bas +++ b/B4A/B4XMainPage.bas @@ -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'") diff --git a/B4A/C_Principal.bas b/B4A/C_Principal.bas index ca57fab..a680ec5 100644 --- a/B4A/C_Principal.bas +++ b/B4A/C_Principal.bas @@ -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 diff --git a/B4A/Mariana.b4a b/B4A/Mariana.b4a index 9fed810..858ccd9 100644 --- a/B4A/Mariana.b4a +++ b/B4A/Mariana.b4a @@ -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 diff --git a/B4A/Mariana.b4a.meta b/B4A/Mariana.b4a.meta index 3eec7e0..1c1e848 100644 --- a/B4A/Mariana.b4a.meta +++ b/B4A/Mariana.b4a.meta @@ -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 diff --git a/B4A/Subs.bas b/B4A/Subs.bas index 7516119..b74fec7 100644 --- a/B4A/Subs.bas +++ b/B4A/Subs.bas @@ -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))