<?php
require '../conexao/conexao.php';

class ConsultaPagamentos
{

    private $connectionmysql;
    private $connection;

    public function __construct()
    {
        global $connectionmysql;
        global $connection;
        $this->connectionmysql = $connectionmysql;
        $this->connection = $connection;
    }

    public function getPagamentos($cliente = null, $tipo = null, $situacao = null, $id = null, $filial = null, $DataInicial = null, $DataFinal = null, $banco_select = null)
    {
        $sql_pagamentos = "SELECT p.*,b.banco as nome_banco FROM pagamentos p
        LEFT JOIN bancos b on b.id_banco = p.banco WHERE 1=1";

        if ($cliente && $cliente != "Todos") {
            $sql_pagamentos .= " AND p.nome_cliente LIKE '%$cliente%'";
        }

        if ($tipo && $tipo != "Todos") {
            $sql_pagamentos .= " AND p.tipo_solicitacao = '$tipo'";
        }

        if ($filial && $filial != "Todos") {
            $sql_pagamentos .= " AND p.filial IN ($filial)";
        }

        if ($situacao && $situacao != "Todos") {
            $sql_pagamentos .= " AND p.situacao = '$situacao'";
        }

        if ($banco_select && $banco_select != "Todos") {
            $sql_pagamentos .= " AND b.id_banco = '$banco_select'";
        }

        if ($id && $id != "Todos") {
            $id = (int) $id; // Garante que seja um número inteiro
            $sql_pagamentos .= " AND p.id = $id";
        }

        if (!empty($DataInicial) && !empty($DataFinal)) {
            $sql_pagamentos .= " AND DATE(p.data_solicitacao) BETWEEN '$DataInicial' AND '$DataFinal'";
        }
        // Executar a consulta SQL
        $resultmeta = $this->connectionmysql->query($sql_pagamentos);

        $result = [];
        if ($resultmeta) {
            while ($row = mysqli_fetch_assoc($resultmeta)) {
                $result[] = $row;
            }
        }

        return $result;
    }

    public function getBancos()
    {
        $sql_base = "SELECT * FROM bancos b where 1=1 and situacao = 'A'";
        $result_erros = $this->connectionmysql->query($sql_base);
        $bancos = array();
        if ($result_erros) {
            while ($row_banco = $result_erros->fetch_assoc()) {
                $bancos[] = $row_banco;
            }
        } else {
            echo "Erro na execução da consulta: " . $this->connectionmysql->error;
        }

        return $bancos;
    }
}
