<?php

if ($tabela == "1") {

    $query = "SELECT 
    A1.CADASTRO_LJ,
    A1.CODIGO,
    A2.numeroformula,
    CAST(A1.CADASTRO_DT AS DATE) AS data_cadastro,
    CL.CODIGO as codigo_cliente,
    CL.NOMECLIENTE AS nome_cliente,
     (SELECT FIRST 1 TL.TELEFONEPREFIXO || ' ' || TL.TELEFONE
       FROM CADASTRO_TELEFONE TL
      WHERE TL.TIPO_CADASTRO   = 1
        AND TL.CODIGO_CADASTRO = CL.CODIGO
        AND TL.PRINCIPAL       = -1) AS TEL,
    MIN(RP.NOMEFUNCIONARIO) AS REPRESENTANTE,
    SUM(CAST(COALESCE(A2.valorformula_venda_desc, 0) AS NUMERIC(18,2))) AS valor_APROVADO
FROM ATENDIMENTO_A1 A1
inner join ATENDIMENTO_A2 A2 ON A1.codigo = A2.codigo_atend_a1
INNER JOIN CLIENTE CL ON CL.CODIGO = A1.CODIGO_CLIENTE
INNER JOIN MEDICO ME ON ME.CODIGO = A1.CODIGO_MEDICO
LEFT JOIN MEDICO_CR CR ON ME.CODIGO_CONSELHO_REGIONAL = CR.CODIGO
LEFT JOIN MEDICO_ESPECIALIDADE ESPEC ON ESPEC.CODIGO = ME.CODIGO_MEDICO_ESPECIALIDADE
INNER JOIN FUNCIONARIO FU ON FU.CODIGO = IIF(A1.STATUS_MOV = 0, A1.CADASTRO_LJ, A1.AVIADA_CF)
LEFT JOIN MEDICO_REPRESENTANTE MR ON ME.CODIGO = MR.CODIGO_MEDICO 
    AND (MR.CODIGO_EMPRESA IS NULL OR (MR.CODIGO_EMPRESA = A1.CADASTRO_LJ))
LEFT JOIN FUNCIONARIO RP ON MR.CODIGO_FUNCIONARIO = RP.CODIGO
WHERE A1.TIPO_ATENDIMENTO = 1
    AND A1.STATUS_MOV = '-1'
    AND A2.concluidoformula <> '0' ";
 if (!empty($operacoes)) {
    $query .= " AND A1.CODIGO_TIPOOPERACAO NOT IN ($operacoes)";
}

    if (!empty($filial) and $filial <> 'Todos') {
        $query .= "AND A1.CADASTRO_LJ IN ('$filial')";
    }
    $query .= "       
    AND CAST(A1.CADASTRO_DT AS DATE) BETWEEN '$DataInicial' AND '$DataFinal'
    AND CR.SIGLA || '-' || ME.CR_ESTADO || '-' || ME.CRM = '$idPessoa'
GROUP BY A1.CADASTRO_LJ,A1.CODIGO, A2.numeroformula, CAST(A1.CADASTRO_DT AS DATE),
    CL.CODIGO, CL.NOMECLIENTE
ORDER BY A1.CODIGO DESC";
} elseif ($tabela == "2") {
    $query = "SELECT 
    A1.CADASTRO_LJ,
    A1.CODIGO,
    A2.numeroformula,
    CAST(A1.CADASTRO_DT AS DATE) AS data_cadastro,
    CL.CODIGO as codigo_cliente,
    CL.NOMECLIENTE AS nome_cliente,
     (SELECT FIRST 1 TL.TELEFONEPREFIXO || ' ' || TL.TELEFONE
       FROM CADASTRO_TELEFONE TL
      WHERE TL.TIPO_CADASTRO   = 1
        AND TL.CODIGO_CADASTRO = CL.CODIGO
        AND TL.PRINCIPAL       = -1) AS TEL,
    MIN(RP.NOMEFUNCIONARIO) AS REPRESENTANTE,
    SUM(CAST(COALESCE(A2.valorformula_venda_desc, 0) AS NUMERIC(18,2))) AS valor_reprovado
FROM ATENDIMENTO_A1 A1
inner join ATENDIMENTO_A2 A2 ON A1.codigo = A2.codigo_atend_a1
INNER JOIN CLIENTE CL ON CL.CODIGO = A1.CODIGO_CLIENTE
INNER JOIN MEDICO ME ON ME.CODIGO = A1.CODIGO_MEDICO
LEFT JOIN MEDICO_CR CR ON ME.CODIGO_CONSELHO_REGIONAL = CR.CODIGO
LEFT JOIN MEDICO_ESPECIALIDADE ESPEC ON ESPEC.CODIGO = ME.CODIGO_MEDICO_ESPECIALIDADE
INNER JOIN FUNCIONARIO FU ON FU.CODIGO = IIF(A1.STATUS_MOV = 0, A1.CADASTRO_LJ, A1.AVIADA_CF)
LEFT JOIN MEDICO_REPRESENTANTE MR ON ME.CODIGO = MR.CODIGO_MEDICO 
    AND (MR.CODIGO_EMPRESA IS NULL OR (MR.CODIGO_EMPRESA = A1.CADASTRO_LJ))
LEFT JOIN FUNCIONARIO RP ON MR.CODIGO_FUNCIONARIO = RP.CODIGO
WHERE A1.TIPO_ATENDIMENTO = 1
    AND A1.STATUS_MOV = '0'
    AND A2.concluidoformula <> '0' ";

     if (!empty($operacoes)) {
    $query .= " AND A1.CODIGO_TIPOOPERACAO NOT IN ($operacoes)";
}
    if (!empty($filial) and $filial <> 'Todos') {
        $query .= "AND A1.CADASTRO_LJ IN ('$filial')";
    }
    $query .= " AND CAST(A1.CADASTRO_DT AS DATE) BETWEEN '$DataInicial' AND '$DataFinal'
    AND CR.SIGLA || '-' || ME.CR_ESTADO || '-' || ME.CRM = '$idPessoa'
GROUP BY A1.CADASTRO_LJ,A1.CODIGO, A2.numeroformula, CAST(A1.CADASTRO_DT AS DATE),
    CL.CODIGO, CL.NOMECLIENTE
ORDER BY A1.CODIGO DESC";
}


if (isset($query)) {
    $result = ibase_query($connection, $query);
    if (!$result) {
        die('Erro ao executar a consulta: ' . ibase_errmsg());
    }
}
?>

<div class="row">
    <div class="col-12">
        <table id="minhaTabela<?= $tabela ?>" class="table table-bordered table-hover table-sm" style="width:100%;">
            <thead class="thead-light">
                <tr>
                    <th scope="col">Filial</th>
                    <th scope="col">Código</th>
                    <th scope="col">Fórmula</th>
                    <th scope="col">Data Cadastro</th>
                    <th scope="col">Código Cliente</th>
                    <th scope="col">Nome Cliente</th>
                    <th scope="col">Telefone</th>
                     <th scope="col">Valor</th>
                </tr>
            </thead>
            <tbody>
                <?php
                $hasResults = false;
                if (isset($result)) {
                    while ($row = ibase_fetch_assoc($result)) {
                        $hasResults = true;
                        $row['NOME_CLIENTE'] = mb_convert_encoding($row['NOME_CLIENTE'], 'UTF-8', 'ISO-8859-1');
                        $row['REPRESENTANTE'] = mb_convert_encoding($row['REPRESENTANTE'], 'UTF-8', 'ISO-8859-1');

                        $valor = isset($row['VALOR_APROVADO']) ? $row['VALOR_APROVADO'] : $row['VALOR_REPROVADO'];

                        echo '<tr>';
                        echo '<td>' . $row['CADASTRO_LJ'] . '</td>';
                        echo '<td>' . $row['CODIGO'] . '</td>';
                        echo '<td>' . $row['NUMEROFORMULA'] . '</td>';
                        echo '<td>' . date('d/m/Y', strtotime($row['DATA_CADASTRO'])) . '</td>';
                        echo '<td>' . $row['CODIGO_CLIENTE'] . '</td>';
                        echo '<td>' . $row['NOME_CLIENTE'] . '</td>';
                        echo '<td>' . $row['TEL'] . '</td>';
                        echo '<td>R$ ' . number_format($valor, 2, ',', '.') . '</td>';
                        echo '</tr>';
                    }
                }
                if (!$hasResults) {
                    echo "<tr><td colspan='7' class='text-center'>Sem resultado para a consulta</td></tr>";
                }
                ?>
            </tbody>
        </table>
    </div>
</div>

<script>
    function updateURL(tabela) {
        let url = new URL(window.location.href);
        url.searchParams.set('tabela', tabela);
        window.history.pushState({}, '', url);
    }
</script>