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




//-------CONSULTA ORÇAMENTO REPROVADO----------//
$sql_qtd_valor_total_orcamento = "
SELECT
  CASE WHEN A1.STATUS_MOV = -1 THEN 1 ELSE 0 END AS situacao_orcamento,
  COUNT(A1.CODIGO) AS qtd_orcamento,
  CAST(COALESCE(SUM(A1.VALORVENDA_DESC), 0) AS NUMERIC(18,2)) AS total_orcamento
FROM ATENDIMENTO_A1 A1
LEFT JOIN ATENDIMENTO_CF CF ON A1.CODIGO_ATEND_FL = CF.CODIGO_ATEND_FL AND CF.CANCELAMENTO_CF IS NULL
INNER JOIN FUNCIONARIO FU ON FU.CODIGO = COALESCE(A1.AVIADA_CF, A1.CADASTRO_CF)
WHERE A1.TIPO_ATENDIMENTO = 1
  AND A1.PAGAR_COMISSAO_FUNCIONARIO = '-1'
  AND A1.STATUS_MOV IN (0, -1)
";
if ($filial && $filial != "Todos") {
    if (is_string($filial)) {
        // Converte para array, filtra números, e retransforma em string
        $filial = implode(",", array_map('intval', explode(",", $filial)));
    }
    $sql_qtd_valor_total_orcamento .= " AND COALESCE(A1.AVIADA_LJ, A1.CADASTRO_LJ) IN ($filial)";
}


if ($ano && $ano != "Todos") {
    $sql_qtd_valor_total_orcamento .= " AND EXTRACT(YEAR FROM COALESCE(A1.AVIADA_DT, A1.CADASTRO_DT)) = " . intval($ano);
}

if ($mes && $mes != "Todos") {
    $sql_qtd_valor_total_orcamento .= " AND EXTRACT(MONTH FROM COALESCE(A1.AVIADA_DT, A1.CADASTRO_DT)) = " . intval($mes);
}
if (!empty($periodo) && $periodo != "mes") {
    if ($periodo == 1) {
        $sql_qtd_valor_total_orcamento .= " AND EXTRACT(DAY FROM COALESCE(A1.AVIADA_DT, A1.CADASTRO_DT))  <= 15 ";
    } elseif ($periodo == 2) {
        $sql_qtd_valor_total_orcamento .= " AND EXTRACT(DAY FROM COALESCE(A1.AVIADA_DT, A1.CADASTRO_DT))  > 15 ";
    }
}
if (!empty($semana)) {
    if ($semana != "mes") {
        $sql_qtd_valor_total_orcamento .= " AND  COALESCE(A1.AVIADA_DT, A1.CADASTRO_DT)BETWEEN '$data_inicio' AND '$data_fim'";
    }
}

$sql_qtd_valor_total_orcamento .= " GROUP BY A1.STATUS_MOV";
$result_qtd_valor_total_orcamento = ibase_query($connection, $sql_qtd_valor_total_orcamento);

$dadosOrcamentoAprovado = array();
$dadosOrcamentoReprovado = array();
$somaTotalOrcamentos = 0;
$somaQuantidadeOrcamentos = 0;
$somaTotalOrcamentoAprovado = 0;
$somaQuantidadeOrcamentoAprovado = 0;
$somaTotalOrcamentoReprovado = 0;
$somaQuantidadeOrcamentoReprovado = 0;
$valorTotalOrcamentoAprovado = 0;
$QtdTotalOrcamentoAprovado = 0;
$valorTotalOrcamentoReprovado = 0;
$QtdTotalOrcamentoReprovado = 0;

if ($result_qtd_valor_total_orcamento) {
    while ($row = ibase_fetch_assoc($result_qtd_valor_total_orcamento)) {
        $dados = array(
            'TOTAL_ORCAMENTO' => $row['TOTAL_ORCAMENTO'],
            'QTD_ORCAMENTO' => intval($row['QTD_ORCAMENTO']),
            'SITUACAO_ORCAMENTO' => intval($row['SITUACAO_ORCAMENTO'])
        );

        if ($dados['SITUACAO_ORCAMENTO'] == 1) {
            $dadosOrcamentoAprovado[] = $dados;
            $somaTotalOrcamentoAprovado += $dados['TOTAL_ORCAMENTO'];
            $somaQuantidadeOrcamentoAprovado += $dados['QTD_ORCAMENTO'];
            $valorTotalOrcamentoAprovado += $dados['TOTAL_ORCAMENTO'];
            $QtdTotalOrcamentoAprovado += $dados['QTD_ORCAMENTO'];
        } else {
            $dadosOrcamentoReprovado[] = $dados;
            $somaTotalOrcamentoReprovado += $dados['TOTAL_ORCAMENTO'];
            $somaQuantidadeOrcamentoReprovado += $dados['QTD_ORCAMENTO'];
            $valorTotalOrcamentoReprovado += $dados['TOTAL_ORCAMENTO'];
            $QtdTotalOrcamentoReprovado += $dados['QTD_ORCAMENTO'];
        }
    }
} else {
    die('Erro na consulta Firebird/InterBase: ' . ibase_errmsg());
}

$somaTotalOrcamentos = $somaTotalOrcamentoReprovado + $somaTotalOrcamentoAprovado;
$somaQuantidadeOrcamentos = $somaQuantidadeOrcamentoReprovado + $somaQuantidadeOrcamentoAprovado;
if ($somaTotalOrcamentos > 0) {
    $percentualAprovado = number_format(($somaTotalOrcamentoAprovado / $somaTotalOrcamentos) * 100, 2);
    $percentualReprovado = number_format(($somaTotalOrcamentoReprovado / $somaTotalOrcamentos) * 100, 2);
} else {
    $percentualAprovado = 0;
    $percentualReprovado = 0;
}

if ($somaQuantidadeOrcamentos > 0) {
    $percentualAprovadoQtd = number_format(($somaQuantidadeOrcamentoAprovado / $somaQuantidadeOrcamentos) * 100, 2);
    $percentualReprovadoQtd = number_format(($somaQuantidadeOrcamentoReprovado / $somaQuantidadeOrcamentos) * 100, 2);
} else {
    $percentualAprovadoQtd = 0;
    $percentualReprovadoQtd = 0;
}

//--------CONSULTA DE MEDICOS MANDANTES ----------//
// Continue construindo a consulta SQL
$sql_medicos_demandantes = "SELECT count(medicos.C1) 
FROM (
    SELECT DISTINCT SM.C1
    FROM (
        SELECT
            A1.CODIGO_MEDICO C1,
            ME.NOMEMEDICO C2,
            count(A1.CODIGO) C3,
            SUM(
                (SELECT CAST(SUM(A2.MULTIPLO) as integer) 
                 FROM ATENDIMENTO_A2 A2 
                 WHERE A1.CODIGO = A2.CODIGO_ATEND_A1 
                   AND A2.CONCLUIDOFORMULA = -1)
            ) C4,
            ((cast(coalesce(sum(((A1.VALORVENDA * A1.DESCONTO) / 100)), 0) as numeric(18,2))) / count(A1.CODIGO)) C5,
            ((cast(coalesce(sum(A1.VALORVENDA_DESC), 0) as numeric(18,2))) / count(A1.CODIGO)) C6,
            cast(coalesce(sum(((A1.VALORVENDA * A1.DESCONTO) / 100)), 0) as numeric(18,2)) C7,
            cast(coalesce(sum(A1.VALORVENDA_DESC), 0) as numeric(18,2)) C8,
            cast(coalesce(sum(A1.VALORCUSTO), 0) as numeric(18,2)) C9,
            MAX(AG.AG1_OP) C10
        FROM ATENDIMENTO_A1 A1
        LEFT JOIN UTIL_REL_AG1(1) AG ON AG.AG1_OP > 0
        INNER JOIN MEDICO ME ON A1.CODIGO_MEDICO = ME.CODIGO
        LEFT JOIN MEDICO_CR CR ON ME.CODIGO_CONSELHO_REGIONAL = CR.CODIGO AND CR.cr_padrao = -1
        WHERE A1.TIPO_ATENDIMENTO = 1";

// Adicionando condição de filial, se houver
if ($filial && $filial != "Todos") {
    // Verifica se $filial é uma string e não um array
    if (is_string($filial)) {
        // Certifique-se de que os valores sejam inteiros
        $filial = implode(",", array_map('intval', explode(",", $filial))); // Converte a string em array e depois para string separada por vírgulas
    }
    // Adiciona a condição de filial à consulta
    $sql_medicos_demandantes .= " AND A1.aviada_lj IN ($filial)";
}

// Adicionando condição de ano, se houver
if ($ano && $ano != "Todos") {
    $sql_medicos_demandantes .= " AND EXTRACT(YEAR FROM A1.entregue_dt) = " . intval($ano);
}

// Adicionando condição de mês, se houver
if ($mes && $mes != "Todos") {
    $sql_medicos_demandantes .= " AND EXTRACT(MONTH FROM A1.entregue_dt) = " . intval($mes);
}

if (!empty($periodo) && $periodo != "mes") {
    if ($periodo == 1) {
        $sql_medicos_demandantes .= " AND EXTRACT(DAY FROM A1.entregue_dt)  <= 15 ";
    } elseif ($periodo == 2) {
        $sql_medicos_demandantes .= " AND EXTRACT(DAY FROM A1.entregue_dt)  > 15 ";
    }
}
if (!empty($semana)) {
    if ($semana != "mes") {
        $sql_medicos_demandantes .= " AND  A1.entregue_dt BETWEEN '$data_inicio' AND '$data_fim'";
    }
}
// Finalize a consulta
$sql_medicos_demandantes .= "
        GROUP BY A1.CODIGO_MEDICO, ME.NOMEMEDICO
    ) SM
) medicos";

// echo $sql_medicos_demandantes;
// exit();
$resultmedicodemandantes = ibase_query($connection, $sql_medicos_demandantes);


if (!$resultmedicodemandantes) {
    die('Erro na consulta' . $sql_medicos_demandantes . 'Firebird/InterBase: ' . ibase_errmsg());
}

$rowqtdclientesdemandantes = ibase_fetch_assoc($resultmedicodemandantes);

//print_r($rowqtdclientesdemandantes); exit;


//CONTAR CLIENTES NOVOS

$sql_clientes_novos = "select 
COUNT(C.CODIGO) as novos
from CLIENTE C
left join CADASTRO_ENDERECO EN ON EN.TIPO_CADASTRO = 1 AND EN.CODIGO_CADASTRO = C.CODIGO AND EN.PRINCIPAL = -1
left join CIDADEESTADO CE on EN.CODIGO_CIDADEESTADO = CE.CODIGO
left join REGIAODETALHE RD on EN.CODIGO_REGIAODETALHE = RD.CODIGO
where c.codigo is not null";

if ($filial && $filial != "Todos") {
    // Verifica se $filial é uma string e não um array
    if (is_string($filial)) {
        // Certifique-se de que os valores sejam inteiros
        $filial = implode(",", array_map('intval', explode(",", $filial))); // Converte a string em array e depois para string separada por vírgulas
    }
    // Adiciona a condição de filial à consulta
    $sql_clientes_novos .= " AND C.cadastro_lj IN ($filial)";
}

// Adicionando condição de ano, se houver
if ($ano && $ano != "Todos") {
    $sql_clientes_novos .= " AND EXTRACT(YEAR FROM C.cadastro_dt) = " . intval($ano);
}

// Adicionando condição de mês, se houver
if ($mes && $mes != "Todos") {
    $sql_clientes_novos .= " AND EXTRACT(MONTH FROM C.cadastro_dt) = " . intval($mes);
}
if (!empty($periodo) && $periodo != "mes") {
    if ($periodo == 1) {
        $sql_clientes_novos .= " AND EXTRACT(DAY FROM C.cadastro_dt)  <= 15 ";
    } elseif ($periodo == 2) {
        $sql_clientes_novos .= " AND EXTRACT(DAY FROM C.cadastro_dt)  > 15 ";
    }
}
if (!empty($semana)) {
    if ($semana != "mes") {
        $sql_clientes_novos .= " AND  C.cadastro_dt BETWEEN '$data_inicio' AND '$data_fim'";
    }
}
$resultclientesnovos = ibase_query($connection, $sql_clientes_novos);
if (!$resultclientesnovos) {
    die('Erro na consulta' . $sql_clientes_novos . '  Firebird/InterBase: ' . ibase_errmsg());
}
$rowclientesnovos = ibase_fetch_assoc($resultclientesnovos);


//CONTAR CLIENTES ATENDIDOS PS: TROQUEI O ALIAS CAMPO3 PARA ATENDIDOS POIS ERA O CAMPO QUE JÁ PUXAVA NO ECHO
$sql_clientes_Atendidos = "select

  count(A1.CODIGO) as ATENDIDOS

from ATENDIMENTO_A1 A1
  inner join CLIENTE CL ON A1.CODIGO_CLIENTE = CL.CODIGO
  inner join MEDICO ME ON A1.CODIGO_MEDICO = ME.CODIGO
where A1.TIPO_ATENDIMENTO = 1";

if ($filial && $filial != "Todos") {
    // Verifica se $filial é uma string e não um array
    if (is_string($filial)) {
        // Certifique-se de que os valores sejam inteiros
        $filial = implode(",", array_map('intval', explode(",", $filial))); // Converte a string em array e depois para string separada por vírgulas
    }
    // Adiciona a condição de filial à consulta
    $sql_clientes_Atendidos .= " AND A1.aviada_lj IN ($filial)";
}

// Adicionando condição de ano, se houver
if ($ano && $ano != "Todos") {
    $sql_clientes_Atendidos .= " AND EXTRACT(YEAR FROM A1.aviada_dt) = " . intval($ano);
}

// Adicionando condição de mês, se houver
if ($mes && $mes != "Todos") {
    $sql_clientes_Atendidos .= " AND EXTRACT(MONTH FROM A1.aviada_dt) = " . intval($mes);
}
if (!empty($periodo) && $periodo != "mes") {
    if ($periodo == 1) {
        $sql_clientes_Atendidos .= " AND EXTRACT(DAY FROM A1.AVIADA_DT)  <= 15 ";
    } elseif ($periodo == 2) {
        $sql_clientes_Atendidos .= " AND EXTRACT(DAY FROM A1.AVIADA_DT)  > 15 ";
    }
}
if (!empty($semana)) {
    if ($semana != "mes") {
        $sql_clientes_Atendidos .= " AND  A1.AVIADA_DT BETWEEN '$data_inicio' AND '$data_fim'";
    }
}

$resultclientesAtendidos = ibase_query($connection, $sql_clientes_Atendidos);
if (!$resultclientesAtendidos) {
    die('Erro na consulta' . $sql_clientes_Atendidos . '  Firebird/InterBase: ' . ibase_errmsg());
}
$rowclientesAtendidos = ibase_fetch_assoc($resultclientesAtendidos);

//print_r($rowclientesAtendidos); exit;

//CONTAR CLIENTES distintos ATENDIDOS PS: TROQUEI O ALIAS qtd PARA DISTINTOS POIS ERA O CAMPO QUE JÁ PUXAVA NO ECHO


$sql_clientes_Distintos_Atendidos = "SELECT COUNT(distintos.CODIGO_CLIENTE) as DISTINTOS 
FROM (
    SELECT DISTINCT A1.CODIGO_CLIENTE
    FROM ATENDIMENTO_A1 A1
    INNER JOIN CLIENTE CL ON A1.CODIGO_CLIENTE = CL.CODIGO
    INNER JOIN MEDICO ME ON A1.CODIGO_MEDICO = ME.CODIGO
    WHERE A1.TIPO_ATENDIMENTO = 1";

// Adicionando condição de ano, se houver
if ($ano && $ano != "Todos") {
    $sql_clientes_Distintos_Atendidos .= " AND EXTRACT(YEAR FROM A1.entregue_dt) = " . intval($ano);
}

// Adicionando condição de mês, se houver
if ($mes && $mes != "Todos") {
    $sql_clientes_Distintos_Atendidos .= " AND EXTRACT(MONTH FROM A1.entregue_dt) = " . intval($mes);
}
if (!empty($periodo) && $periodo != "mes") {
    if ($periodo == 1) {
        $sql_clientes_Distintos_Atendidos .= " AND EXTRACT(DAY FROM A1.entregue_dt)  <= 15 ";
    } elseif ($periodo == 2) {
        $sql_clientes_Distintos_Atendidos .= " AND EXTRACT(DAY FROM A1.entregue_dt)  > 15 ";
    }
}
if (!empty($semana)) {
    if ($semana != "mes") {
        $sql_clientes_Distintos_Atendidos .= " AND  A1.entregue_dt BETWEEN '$data_inicio' AND '$data_fim'";
    }
}

// Adicionando condição de filial, se houver
if ($filial && $filial != "Todos") {
    // Verifica se $filial é uma string e não um array
    if (is_string($filial)) {
        // Certifique-se de que os valores sejam inteiros
        $filial = implode(",", array_map('intval', explode(",", $filial))); // Converte a string em array e depois para string separada por vírgulas
    }

    // Adiciona a condição de filial à consulta
    $sql_clientes_Distintos_Atendidos .= " AND A1.aviada_lj IN ($filial)";
}

// Finaliza a consulta
$sql_clientes_Distintos_Atendidos .= ") as distintos";

$resultclientesDistintosAtendidos = ibase_query($connection, $sql_clientes_Distintos_Atendidos);
if (!$resultclientesDistintosAtendidos) {
    die('Erro na consulta' . $sql_clientes_Distintos_Atendidos . '  Firebird/InterBase: ' . ibase_errmsg());
}
$rowclientesDistintosAtendidos = ibase_fetch_assoc($resultclientesDistintosAtendidos);

//-----------SELECT DESCONTO ---------//



//SELECT VALOR DESCONTO VAREJO
$sql_Desconto_varejo = "
      SELECT
      SUM(A1.VALORVENDA) AS valor_bruto_varejo, 
        SUM(A1.VALORVENDA_DESC) AS valor_liquido_varejo
FROM ATENDIMENTO_A1 A1
LEFT JOIN UTIL_REL_AG1(1) AG ON AG.AG1_OP > 0
INNER JOIN FUNCIONARIO FU ON FU.CODIGO = IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF)
WHERE A1.TIPO_ATENDIMENTO IN (2)
";

// Adicionando condição de ano, se houver
if ($ano && $ano != "Todos") {
    $sql_Desconto_varejo .= " AND EXTRACT(YEAR FROM A1.entregue_dt) = " . intval($ano);
}

// Adicionando condição de mês, se houver
if ($mes && $mes != "Todos") {
    $sql_Desconto_varejo .= " AND EXTRACT(MONTH FROM A1.entregue_dt) = " . intval($mes);
}
if (!empty($periodo) && $periodo != "mes") {
    if ($periodo == 1) {
        $sql_Desconto_varejo .= " AND EXTRACT(DAY FROM A1.entregue_dt)  <= 15 ";
    } elseif ($periodo == 2) {
        $sql_Desconto_varejo .= " AND EXTRACT(DAY FROM A1.entregue_dt)  > 15 ";
    }
}
if (!empty($semana)) {
    if ($semana != "mes") {
        $sql_Desconto_varejo .= " AND  A1.entregue_dt BETWEEN '$data_inicio' AND '$data_fim'";
    }
}

// Adicionando condição de filial, se houver
if ($filial && $filial != "Todos") {
    // Verifica se $filial é uma string e não um array
    if (is_string($filial)) {
        // Certifique-se de que os valores sejam inteiros
        $filial = implode(",", array_map('intval', explode(",", $filial))); // Converte a string em array e depois para string separada por vírgulas
    }

    // Adiciona a condição de filial à consulta
    $sql_Desconto_varejo .= " AND A1.AVIADA_LJ IN ($filial)";
}

// Adicionando as condições adicionais da consulta original
$sql_Desconto_varejo .= "
AND A1.PAGAR_COMISSAO_FUNCIONARIO = '-1'
AND A1.STATUS_MOV = '-1'";

//if (!empty($operacoes) && $operacoes != "NULL") {
//    $sql_Desconto_varejo .= " AND A1.codigo_tipooperacao NOT IN ($operacoes)";
$sql_Desconto_varejo .= " AND A1.codigo_tipooperacao NOT IN (190,246,174,188,5,261,255,186,159,235,185,234,184,216,236,187,296,297,221,237,242,209)";
//}


// Executar a consulta SQL
$resultDescontoVarejo = ibase_query($connection, $sql_Desconto_varejo);
if (!$resultDescontoVarejo) {
    die('Erro na consulta' . $sql_Desconto_varejo . '  Firebird/InterBase: ' . ibase_errmsg());
}
$rowDescontoVarejo = ibase_fetch_assoc($resultDescontoVarejo);

//echo $sql_Desconto_varejo;
// Salvando os valores bruto e líquido em variáveis PHP
$valor_bruto_varejo = $rowDescontoVarejo['VALOR_BRUTO_VAREJO'];
$valor_liquido_varejo = $rowDescontoVarejo['VALOR_LIQUIDO_VAREJO'];

//Calculando o desconto de varejo

// Verificando se o valor líquido é maior que 0 para evitar divisão por zero
if ($valor_liquido_varejo > 0) {
    // $percentual_desconto_varejo = (($valor_liquido_varejo / $valor_bruto_varejo) - 1) * 100;
    $percentual_desconto_varejo = (($valor_bruto_varejo - $valor_liquido_varejo) / $valor_bruto_varejo) * 100;
} else {
    $percentual_desconto_varejo = 0; // Caso o valor líquido seja 0, o percentual de desconto será zero
}


//SELECT VALOR DESCONTO MANIPULADO
$sql_Desconto_manipulado = "
    SELECT
      SUM(A1.VALORVENDA) AS valor_bruto_manipulado, 
        SUM(A1.VALORVENDA_DESC) AS valor_liquido_manipulado
    FROM ATENDIMENTO_A1 A1
    LEFT JOIN UTIL_REL_AG1(1) AG ON AG.AG1_OP > 0
    INNER JOIN FUNCIONARIO FU ON FU.CODIGO = IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF)
    WHERE A1.TIPO_ATENDIMENTO IN (1)
";

// Adicionando condição de ano, se houver
if ($ano && $ano != "Todos") {
    $sql_Desconto_manipulado .= " AND EXTRACT(YEAR FROM A1.entregue_dt) = " . intval($ano);
}

// Adicionando condição de mês, se houver
if ($mes && $mes != "Todos") {
    $sql_Desconto_manipulado .= " AND EXTRACT(MONTH FROM A1.entregue_dt) = " . intval($mes);
}
if (!empty($periodo) && $periodo != "mes") {
    if ($periodo == 1) {
        $sql_Desconto_manipulado .= " AND EXTRACT(DAY FROM A1.entregue_dt)  <= 15 ";
    } elseif ($periodo == 2) {
        $sql_Desconto_manipulado .= " AND EXTRACT(DAY FROM A1.entregue_dt)  > 15 ";
    }
}
if (!empty($semana)) {
    if ($semana != "mes") {
        $sql_Desconto_manipulado .= " AND  A1.entregue_dt BETWEEN '$data_inicio' AND '$data_fim'";
    }
}

// Adicionando condição de filial, se houver
if ($filial && $filial != "Todos") {
    if (is_array($filial)) {
        $filial = implode(",", $filial); // Converte array para string separada por vírgulas
    }
    $sql_Desconto_manipulado .= " AND A1.AVIADA_LJ IN ($filial)";
}

// Adicionando condições adicionais
$sql_Desconto_manipulado .= "
    AND A1.PAGAR_COMISSAO_FUNCIONARIO = '-1'
    AND A1.STATUS_MOV = '-1'";

//if (!empty($operacoes) && $operacoes != "NULL") {
// $sql_Desconto_manipulado .= " AND A1.codigo_tipooperacao NOT IN ($operacoes)";
// AND A1.codigo_tipooperacao NOT IN (5, 159, 174, 184, 185, 186, 187, 188, 190, 216, 221, 234, 235, 236, 237, 242, 246, 261, 296, 297)
//}

$sql_Desconto_manipulado .= "
     AND A1.codigo_tipooperacao NOT IN (190,246,174,188,5,261,255,186,159,235,185,234,184,216,236,187,296,297,221,237,242,209)";

// Executar a consulta SQL
$resultDescontoManipulado = ibase_query($connection, $sql_Desconto_manipulado);
if (!$resultDescontoManipulado) {
    die('Erro na consulta: ' . ibase_errmsg());
}
$rowDescontoManipulado = ibase_fetch_assoc($resultDescontoManipulado);

// Salvando os valores bruto e líquido em variáveis PHP
$valor_bruto_manipulado = $rowDescontoManipulado['VALOR_BRUTO_MANIPULADO'];
$valor_liquido_manipulado = $rowDescontoManipulado['VALOR_LIQUIDO_MANIPULADO'];

//SQL para pegar o desconto de um produto específico

$sql_Produto_especifico = " SELECT SUM(benz.valor_venda_liquido) AS valor_liquido_produto,
           SUM(benz.valor_venda_total) AS valor_bruto_produto
 FROM (SELECT
            cast(coalesce(A1.VALORVENDA_DESC,0) as numeric (18,2)) AS valor_venda_liquido,
            cast(coalesce(A1.VALORVENDA,0) as numeric (18,2)) AS valor_venda_total
from ATENDIMENTO_A1 A1
  inner join CLIENTE C on A1.CODIGO_CLIENTE = C.CODIGO
  inner join MEDICO M on A1.CODIGO_MEDICO = M.CODIGO
  left join COMPRA_RELAC_MOV RM on A1.CODIGO = RM.CODIGO_ATENDIMENTO_A1 and RM.CODIGO_COMPRA is not null
  left join ATENDIMENTO_ED ED ON ED.CODIGO = A1.CODIGO_ATEND_E
  inner join ATENDIMENTO_A2 A2 on A1.CODIGO = A2.CODIGO_ATEND_A1
  inner join FORMAFARMACEUTICA FF on A2.CODIGO_FORMAFARMACEUTICA = FF.CODIGO
  inner join ATENDIMENTO_A3 A3 on A1.CODIGO = A3.CODIGO_ATEND_A1 and A2.NUMEROFORMULA = A3.NUMEROFORMULA

where A1.TIPO_ATENDIMENTO = 1 ";
if ($ano && $ano != "Todos") {
    $sql_Produto_especifico .= " AND EXTRACT(YEAR FROM A1.entregue_dt) = " . intval($ano);
}
if ($mes && $mes != "Todos") {
    $sql_Produto_especifico .= " AND EXTRACT(MONTH FROM A1.entregue_dt) = " . intval($mes);
}
if (!empty($periodo) && $periodo != "mes") {
    if ($periodo == 1) {
        $sql_Produto_especifico .= " AND EXTRACT(DAY FROM A1.entregue_dt)  <= 15 ";
    } elseif ($periodo == 2) {
        $sql_Produto_especifico .= " AND EXTRACT(DAY FROM A1.entregue_dt)  > 15 ";
    }
}
if (!empty($semana)) {
    if ($semana != "mes") {
        $sql_Produto_especifico .= " AND  A1.entregue_dt BETWEEN '$data_inicio' AND '$data_fim'";
    }
}

// Adicionando condição de filial, se houver
if ($filial && $filial != "Todos") {
    if (is_array($filial)) {
        $filial = implode(",", $filial); // Converte array para string separada por vírgulas
    }
    $sql_Produto_especifico .= " AND A1.AVIADA_LJ IN ($filial)";
}

$sql_Produto_especifico .= " AND A3.codigo_produto = '1000261'
   
    AND A1.cancelamento_cf is null
    AND A1.descarte_cf is null";

if (!empty($operacoes) && $operacoes != "NULL") {
    $sql_Produto_especifico .= " AND A1.codigo_tipooperacao NOT IN ($operacoes)";
    // AND A1.codigo_tipooperacao NOT IN (5, 159, 174, 184, 185, 186, 187, 188, 190, 216, 221, 234, 235, 236, 237, 242, 246, 261, 296, 297)
}
$sql_Produto_especifico .= " group by
  A1.CODIGO,
  A1.CODIGO_ANIMAL,
  A1.AVIADA_LJ,
  A1.AVIADA_DT,
  C.NOMECLIENTE,
  M.NOMEMEDICO,
  A1.VALORVENDA,
  A1.DESCONTO,
  A1.CARTAOATENDIMENTO,
  A1.CODIGO_ATEND_FL,
  A1.CODIGO_ATEND_E,
  A1.CODIGO_ATEND_PV,
  A1.ENTREGUE_CF,
  RM.CODIGO_ATENDIMENTO_A1,
  A1.DESCARTE_CF,
  A1.VALORVENDA_DESC
) as benz ";

//echo $sql_Produto_especifico; exit ;
// Executar a consulta SQL para o produto específico
$resultProdutoEspecifico = ibase_query($connection, $sql_Produto_especifico);
$rowProdutoEspecifico = ibase_fetch_assoc($resultProdutoEspecifico);
$valor_bruto_produto = $rowProdutoEspecifico['VALOR_BRUTO_PRODUTO'];
$valor_liquido_produto = $rowProdutoEspecifico['VALOR_LIQUIDO_PRODUTO'];

// 3. Subtraindo os valores do produto específico dos valores gerais
$valor_bruto_final_manipulado = $valor_bruto_manipulado - $valor_bruto_produto;
$valor_liquido_final_manipulado = $valor_liquido_manipulado - $valor_liquido_produto;


// 4. Calculando o percentual de desconto
if ($valor_liquido_final_manipulado > 0) {
    //$percentual_desconto = (( $valor_liquido_final_manipulado / $valor_bruto_final_manipulado) - 1) * 100;
    $percentual_desconto = (($valor_bruto_final_manipulado - $valor_liquido_final_manipulado) / $valor_bruto_final_manipulado) * 100;
} else {
    $percentual_desconto = 0; // Evitar divisão por zero
}

//Calculando o desconto total
$valor_bruto_total = $valor_bruto_final_manipulado + $valor_bruto_varejo;
$valor_liquido_total = $valor_liquido_final_manipulado + $valor_liquido_varejo;

// 3. Calculando o percentual de desconto total
if ($valor_liquido_total > 0) {
    $percentual_desconto_total = (($valor_bruto_total - $valor_liquido_total) / $valor_bruto_total) * 100;
} else {
    $percentual_desconto_total = 0; // Evitar divisão por zero
}


/* $sql_desconto_total = "
    SELECT
        CASE 
        WHEN SUM(A1.VALORVENDA_DESC) > 0 THEN
            CAST(((SUM(A1.VALORVENDA) / SUM(A1.VALORVENDA_DESC)) - 1) * 100 AS NUMERIC(18, 2))
        ELSE 
            0
    END AS perc_desc
    FROM ATENDIMENTO_A1 A1
    LEFT JOIN UTIL_REL_AG1(1) AG ON AG.AG1_OP > 0
    INNER JOIN FUNCIONARIO FU ON FU.CODIGO = IIF(AG.AG1_OP = 1, A1.CODIGO_FUNCIONARIO_COMISSAO, A1.AVIADA_CF)
    WHERE A1.TIPO_ATENDIMENTO IN (1, 2)
";

// Adicionando condição de ano, se houver
if ($ano && $ano != "Todos") {
    $sql_desconto_total .= " AND EXTRACT(YEAR FROM A1.entregue_dt) = " . intval($ano);
}

// Adicionando condição de mês, se houver
if ($mes && $mes != "Todos") {
    $sql_desconto_total .= " AND EXTRACT(MONTH FROM A1.entregue_dt) = " . intval($mes);
}

// Adicionando condição de filial, se houver
if ($filial && $filial != "Todos") {
    if (is_array($filial)) {
        $filial = implode(",", $filial); // Converte array para string separada por vírgulas
    }
    $sql_desconto_total .= " AND A1.AVIADA_LJ IN ($filial)";
}

// Adicionando condições fixas
$sql_desconto_total .= " 
    AND A1.PAGAR_COMISSAO_FUNCIONARIO = '-1'
    AND A1.STATUS_MOV = '-1'
    AND A1.codigo_tipooperacao NOT IN (5, 159, 174, 184, 185, 186, 187, 188, 190, 216, 221, 234, 235, 236, 237, 242, 246, 261, 296, 297)
";

// Executar a consulta SQL
$resultDescontoTotal = ibase_query($connection, $sql_desconto_total);
if (!$resultDescontoTotal) {
    die('Erro na consulta' . $sql_desconto_total . '  Firebird/InterBase: ' . ibase_errmsg());
}
$rowDescontoTotal = ibase_fetch_assoc($resultDescontoTotal); */

//Consulta Quantidade de Formulas
$sql_qtdformulas = "
SELECT COUNT(A2.numeroformula) as QTDFORMULAS
FROM ATENDIMENTO_A2 A2
INNER JOIN atendimento_a1 A1
    ON A2.codigo_atend_a1 = A1.codigo
WHERE A1.TIPO_ATENDIMENTO = 1
";

// Filtros de ano e mês
if ($ano && $ano != "Todos") {
    $sql_qtdformulas .= "
    AND (
        EXTRACT(YEAR FROM A1.entregue_dt) = " . intval($ano) . "
        OR EXTRACT(YEAR FROM A1.entregue_dt) = " . intval($ano) . "
        OR EXTRACT(YEAR FROM A1.entregue_dt) = " . intval($ano) . "
    )";
}

if ($mes && $mes != "Todos") {
    $sql_qtdformulas .= "
    AND (
        EXTRACT(MONTH FROM A1.entregue_dt) = " . intval($mes) . "
        OR EXTRACT(MONTH FROM A1.entregue_dt) = " . intval($mes) . "
        OR EXTRACT(MONTH FROM A1.entregue_dt) = " . intval($mes) . "
    )";
}

// Período (1ª quinzena ou 2ª quinzena)
if (!empty($periodo) && $periodo != "mes") {
    if ($periodo == 1) {
        $sql_qtdformulas .= "
        AND (
            EXTRACT(DAY FROM A1.entregue_dt) <= 15
            OR EXTRACT(DAY FROM A1.entregue_dt) <= 15
            OR EXTRACT(DAY FROM A1.entregue_dt) <= 15
        )";
    } elseif ($periodo == 2) {
        $sql_qtdformulas .= "
        AND (
            EXTRACT(DAY FROM A1.entregue_dt) > 15
            OR EXTRACT(DAY FROM A1.entregue_dt) > 15
            OR EXTRACT(DAY FROM A1.entregue_dt) > 15
        )";
    }
}

// Semana (intervalo de datas)
if (!empty($semana) && $semana != "mes") {
    $sql_qtdformulas .= "
    AND (
       A1.entregue_dt BETWEEN '$data_inicio' AND '$data_fim'
        OR A1.entregue_dt BETWEEN '$data_inicio' AND '$data_fim'
        OR A1.entregue_dt BETWEEN '$data_inicio' AND '$data_fim'
    )";
}


// Filtro da filial
if ($filial && $filial != "Todos") {
    $sql_qtdformulas .= " AND A1.aviada_lj IN (" . $filial . ")";
}

// Executar consulta
$resultqtdformulas= ibase_query($connection, $sql_qtdformulas);

if (!$resultqtdformulas) {
    die('Erro na consulta: ' . $sql_qtdformulas . ' - Firebird/InterBase: ' . ibase_errmsg());
}

$rowqtdformulas = ibase_fetch_assoc($resultqtdformulas);



?>

 <?php include('aproveitamento.php'); ?>
<style>
.cards-geral * { box-sizing: border-box; }

.cards-geral .section-title {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #98a6ad;
    margin: 24px 0 10px 4px;
}

.cards-geral .cards-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.cards-geral .cards-row-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.cards-geral .kpi-card {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.07);
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: box-shadow 0.2s, transform 0.2s;
    position: relative;
    overflow: hidden;
}
.cards-geral .kpi-card:hover {
    box-shadow: 0 4px 18px rgba(0,0,0,0.11);
    transform: translateY(-2px);
}

/* ACCENT BORDER */
.cards-geral .kpi-card::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    border-radius: 10px 0 0 10px;
}
.cards-geral .acc-blue::before   { background: #4a90e2; }
.cards-geral .acc-green::before  { background: #28a745; }
.cards-geral .acc-red::before    { background: #dc3545; }
.cards-geral .acc-orange::before { background: #fd7e14; }
.cards-geral .acc-teal::before   { background: #20c997; }
.cards-geral .acc-purple::before { background: #6f42c1; }
.cards-geral .acc-yellow::before { background: #e6a800; }
.cards-geral .acc-gray::before   { background: #6c757d; }

/* HEADER ROW */
.cards-geral .kpi-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 10px;
}
.cards-geral .kpi-label {
    font-size: 13px;
    font-weight: 700;
    color: #98a6ad;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    line-height: 1.4;
    max-width: 150px;
}

/* ICON */
.cards-geral .kpi-icon {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}
.cards-geral .ico-blue   { background: #e8f1fb; color: #4a90e2; }
.cards-geral .ico-green  { background: #e6f4ea; color: #28a745; }
.cards-geral .ico-red    { background: #fdecea; color: #dc3545; }
.cards-geral .ico-orange { background: #fff3e0; color: #fd7e14; }
.cards-geral .ico-teal   { background: #e0f5ef; color: #20c997; }
.cards-geral .ico-purple { background: #f0ebfa; color: #6f42c1; }
.cards-geral .ico-yellow { background: #fffbe0; color: #e6a800; }
.cards-geral .ico-gray   { background: #f1f3f5; color: #6c757d; }

/* VALUE */
.cards-geral .kpi-value {
    font-size: 21px;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 4px;
    color: #343a40;
}
.cards-geral .kpi-value.c-green  { color: #28a745; }
.cards-geral .kpi-value.c-red    { color: #dc3545; }
.cards-geral .kpi-value.c-blue   { color: #4a90e2; }
.cards-geral .kpi-value.c-teal   { color: #20c997; }
.cards-geral .kpi-value.c-orange { color: #fd7e14; }
.cards-geral .kpi-value.c-purple { color: #6f42c1; }
.cards-geral .kpi-value.c-yellow { color: #e6a800; }

/* SUB */
.cards-geral .kpi-sub {
    font-size: 11.5px;
    color: #98a6ad;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
    line-height: 1.5;
}

/* BADGE */
.cards-geral .kbadge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 8px;
    border-radius: 20px;
    font-size: 10.5px;
    font-weight: 700;
}
/* Badge maior para percentuais de destaque */
.cards-geral .kbadge-lg {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 11px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.2px;
}
.cards-geral .kb-green  { background: #e6f4ea; color: #28a745; }
.cards-geral .kb-red    { background: #fdecea; color: #dc3545; }
.cards-geral .kb-blue   { background: #e8f1fb; color: #4a90e2; }
.cards-geral .kb-orange { background: #fff3e0; color: #fd7e14; }
.cards-geral .kb-teal   { background: #e0f5ef; color: #20c997; }
.cards-geral .kb-purple { background: #f0ebfa; color: #6f42c1; }
.cards-geral .kb-yellow { background: #fffbe0; color: #e6a800; }

/* Área dos dois badges lado a lado */
.cards-geral .kpi-badges {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}
/* Linha de detalhe abaixo dos badges */
.cards-geral .kpi-detail {
    font-size: 11px;
    color: #b0bec5;
    font-weight: 600;
}

/* PROGRESS */
.cards-geral .kpi-progress {
    margin-top: 10px;
}
.cards-geral .kpi-track {
    height: 5px;
    background: #f1f3f5;
    border-radius: 4px;
    overflow: hidden;
}
.cards-geral .kpi-fill {
    height: 100%;
    border-radius: 4px;
}
.cards-geral .f-green  { background: #28a745; }
.cards-geral .f-red    { background: #dc3545; }
.cards-geral .f-blue   { background: #4a90e2; }
.cards-geral .f-teal   { background: #20c997; }
.cards-geral .f-orange { background: #fd7e14; }
.cards-geral .f-purple { background: #6f42c1; }
.cards-geral .f-yellow { background: #e6a800; }
.cards-geral .f-gray   { background: #6c757d; }

@media (max-width: 992px) {
    .cards-geral .cards-row,
    .cards-geral .cards-row-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px) {
    .cards-geral .cards-row,
    .cards-geral .cards-row-3 { grid-template-columns: 1fr; }
}
</style>

<?php
// Cálculo do percentual realizado vs meta (para barra de progresso)
$percentualMeta = 0;
if (!empty($_SESSION['valores']['meta_geral']) && $_SESSION['valores']['meta_geral'] > 0) {
    $percentualMeta = min(100, ($_SESSION['valores']['realizado_geral'] / $_SESSION['valores']['meta_geral']) * 100);
}
$percMetaDisplay = number_format($percentualMeta, 1);

// Ticket Médio por Clientes Atendidos
$ticketMedioAtendidos = 0;
if (!empty($rowclientesAtendidos['ATENDIDOS']) && $rowclientesAtendidos['ATENDIDOS'] > 0) {
    $ticketMedioAtendidos = $_SESSION['valores']['realizado_geral'] / $rowclientesAtendidos['ATENDIDOS'];
}

// Ticket Médio por Fórmulas
$ticketMedioFormula = 0;
if (!empty($rowqtdformulas['QTDFORMULAS']) && $rowqtdformulas['QTDFORMULAS'] > 0) {
    $ticketMedioFormula = $_SESSION['valores']['realizado_geral'] / $rowqtdformulas['QTDFORMULAS'];
}
?>

<div class="col-12 cards-geral">

    <!-- ══════════════════════════════════
         GRUPO 1 — FINANCEIRO PRINCIPAL
    ══════════════════════════════════ -->
    <div class="section-title">Financeiro Principal</div>
    <div class="cards-row">

        <!-- Meta Geral -->
        <div class="kpi-card acc-gray"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Valor total de metas definidas para o período selecionado.">
            <div class="kpi-header">
                <span class="kpi-label">Meta Geral</span>
                <div class="kpi-icon ico-gray"><i class="mdi mdi-bullseye-arrow"></i></div>
            </div>
            <div class="kpi-value">
                R$ <?php echo formatarNumero($_SESSION['valores']['meta_geral']); ?>
            </div>
            <div class="kpi-sub">meta do período</div>
        </div>

        <!-- Realizado Geral -->
        <div class="kpi-card acc-blue"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Valor total de vendas realizadas de todas as categorias.">
            <div class="kpi-header">
                <span class="kpi-label">Realizado Geral</span>
                <div class="kpi-icon ico-blue"><i class="mdi mdi-chart-line"></i></div>
            </div>
            <div class="kpi-value c-blue">
                R$ <?php echo number_format($_SESSION['valores']['realizado_geral'], 2, ',', '.'); ?>
            </div>
            <div class="kpi-sub">
                <?php if ($percentualMeta > 0): ?>
                    <span class="kbadge kb-blue">
                        <i class="mdi mdi-trending-up"></i> <?php echo $percMetaDisplay; ?>% da meta
                    </span>
                <?php else: ?>
                    <span>realizado no período</span>
                <?php endif; ?>
            </div>
            <?php if ($percentualMeta > 0): ?>
            <div class="kpi-progress">
                <div class="kpi-track">
                    <div class="kpi-fill f-blue" style="width: <?php echo $percentualMeta; ?>%"></div>
                </div>
            </div>
            <?php endif; ?>
        </div>

        <!-- Qtd Orçamentos -->
        <div class="kpi-card acc-orange"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Soma da quantidade de orçamentos gerados no período, incluindo aprovados e reprovados.">
            <div class="kpi-header">
                <span class="kpi-label">Qtd Orçamentos</span>
                <div class="kpi-icon ico-orange"><i class="mdi mdi-file-document-outline"></i></div>
            </div>
            <div class="kpi-value c-orange">
                <?php echo $somaQuantidadeOrcamentos; ?>
            </div>
            <div class="kpi-sub">orçamentos no período</div>
        </div>

        <!-- Orçamento Total -->
        <div class="kpi-card acc-blue"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Valor total em R$ de todos os orçamentos gerados no período, incluindo aprovados e reprovados.">
            <div class="kpi-header">
                <span class="kpi-label">Orçamento Total</span>
                <div class="kpi-icon ico-blue"><i class="mdi mdi-wallet-outline"></i></div>
            </div>
            <div class="kpi-value">
                R$ <?php echo number_format($somaTotalOrcamentos, 2, ',', '.'); ?>
            </div>
            <div class="kpi-sub">valor total demandado</div>
        </div>

    </div>

    <!-- ══════════════════════════════════
         GRUPO 2 — ORÇAMENTOS
    ══════════════════════════════════ -->
    <div class="section-title">Orçamentos</div>
    <div class="cards-row">

        <!-- Orçamento Aprovado -->
        <div class="kpi-card acc-green"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Valor total em R$ e quantidade dos orçamentos aprovados.">
            <div class="kpi-header">
                <span class="kpi-label">Orçamento Aprovado</span>
                <div class="kpi-icon ico-green"><i class="mdi mdi-check-circle-outline"></i></div>
            </div>

            <!-- Valor + % valor na mesma linha -->
            <div style="display:flex; align-items:center; gap:8px; flex-wrap:wrap;">
                <span class="kpi-value c-green" style="margin-bottom:0;">
                    R$ <?php echo number_format($valorTotalOrcamentoAprovado, 2, ',', '.'); ?>
                </span>
                <span class="kbadge-lg kb-green" title="% por valor">
                    <?php echo $percentualAprovado; ?>%
                </span>
            </div>

            <!-- Quantidade + % quantidade na mesma linha -->
            <div style="display:flex; align-items:center; gap:8px; margin-top:6px; flex-wrap:wrap;">
                <span style="font-size:15px; font-weight:700; color:#343a40;">
                    <?php echo $QtdTotalOrcamentoAprovado; ?> orç. aprovados
                </span>
                <span class="kbadge-lg kb-green" title="% por quantidade">
                    <?php echo $percentualAprovadoQtd; ?>%
                </span>
            </div>

            <div class="kpi-progress">
                <div class="kpi-track">
                    <div class="kpi-fill f-green" style="width: <?php echo $percentualAprovado; ?>%"></div>
                </div>
            </div>
        </div>

        <!-- Orçamento Reprovado -->
        <div class="kpi-card acc-red"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Valor total em R$ e quantidade dos orçamentos não convertidos.
        Monitorar esse índice ajuda a identificar oportunidades de recuperação de vendas.">
            <div class="kpi-header">
                <span class="kpi-label">Orçamento Reprovado</span>
                <div class="kpi-icon ico-red"><i class="mdi mdi-close-circle-outline"></i></div>
            </div>

            <!-- Valor + % valor na mesma linha -->
            <div style="display:flex; align-items:center; gap:8px; flex-wrap:wrap;">
                <span class="kpi-value c-red" style="margin-bottom:0;">
                    R$ <?php echo number_format($valorTotalOrcamentoReprovado, 2, ',', '.'); ?>
                </span>
                <span class="kbadge-lg kb-red" title="% por valor">
                    <?php echo $percentualReprovado; ?>%
                </span>
            </div>

            <!-- Quantidade + % quantidade na mesma linha -->
            <div style="display:flex; align-items:center; gap:8px; margin-top:6px; flex-wrap:wrap;">
                <span style="font-size:15px; font-weight:700; color:#343a40;">
                    <?php echo $QtdTotalOrcamentoReprovado; ?> orç. reprovados
                </span>
                <span class="kbadge-lg kb-red" title="% por quantidade">
                    <?php echo $percentualReprovadoQtd; ?>%
                </span>
            </div>

            <div class="kpi-progress">
                <div class="kpi-track">
                    <div class="kpi-fill f-red" style="width: <?php echo $percentualReprovado; ?>%"></div>
                </div>
            </div>
        </div>

        <!-- Aproveitamento Geral -->
        <div class="kpi-card acc-teal"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="% de produtos adicionais de varejo. Cálculo: Qtd. de produtos vendidos de varejo / Quantidade de requisições de manipulado.">
            <div class="kpi-header">
                <span class="kpi-label">Aproveitamento Geral</span>
                <div class="kpi-icon ico-teal"><i class="mdi mdi-gauge"></i></div>
            </div>
            <div class="kpi-value c-teal">
                <?php echo $geral; ?>%
            </div>
            <div class="kpi-sub">% de produtos adicionais Varejo</div>
            <div class="kpi-progress">
                <div class="kpi-track">
                    <div class="kpi-fill f-teal" style="width: <?php echo min(100, floatval($geral)); ?>%"></div>
                </div>
            </div>
        </div>

        <!-- Aproveitamento Marca Própria -->
        <div class="kpi-card acc-purple"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="% de produtos adicionais de marca própria. Cálculo: Qtd. de produtos Marca Própria / Quantidade de requisições de manipulado.">
            <div class="kpi-header">
                <span class="kpi-label">Aproveitamento Marca Própria</span>
                <div class="kpi-icon ico-purple"><i class="mdi mdi-star-outline"></i></div>
            </div>
            <div class="kpi-value c-purple">
                <?php echo $marca; ?>%
            </div>
            <div class="kpi-sub">% de produtos adicionais Marca Própria</div>
            <div class="kpi-progress">
                <div class="kpi-track">
                    <div class="kpi-fill f-purple" style="width: <?php echo min(100, floatval($marca)); ?>%"></div>
                </div>
            </div>
        </div>

    </div>

    <!-- ══════════════════════════════════
         GRUPO 3 — CLIENTES
    ══════════════════════════════════ -->
    <div class="section-title">Clientes</div>
    <div class="cards-row">

        <!-- Novos Clientes -->
        <div class="kpi-card acc-green"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Clientes cadastrados no período selecionado.">
            <div class="kpi-header">
                <span class="kpi-label">Novos Clientes</span>
                <div class="kpi-icon ico-green"><i class="mdi mdi-account-plus-outline"></i></div>
            </div>
            <div class="kpi-value c-green">
                <a href="#" class="open-modal-cliente"
                   style="text-decoration:none; color:inherit;"
                   data-toggle="modal"
                   data-target="#MyModal2"
                   data-produto="1">
                    <?php echo $rowclientesnovos['NOVOS']; ?>
                </a>
            </div>
            <div class="kpi-sub">cadastrados no período</div>
        </div>

        <!-- Clientes Atendidos -->
        <div class="kpi-card acc-blue"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Soma da quantidade de orçamentos feitos no período. Não é calculado por fórmula e sim por orçamentos diferentes.">
            <div class="kpi-header">
                <span class="kpi-label">Clientes Atendidos</span>
                <div class="kpi-icon ico-blue"><i class="mdi mdi-clipboard-list-outline"></i></div>
            </div>
            <div class="kpi-value">
                <?php echo $rowclientesAtendidos['ATENDIDOS']; ?>
            </div>
            <div class="kpi-sub">atendimentos no período</div>
        </div>

        <!-- Clientes Distintos Atendidos -->
        <div class="kpi-card acc-teal"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Clientes únicos que pediram orçamento no período. Cada cliente é contado apenas uma vez, mesmo que tenha feito vários orçamentos.">
            <div class="kpi-header">
                <span class="kpi-label">Clientes Distintos Atendidos</span>
                <div class="kpi-icon ico-teal"><i class="mdi mdi-account-group-outline"></i></div>
            </div>
            <div class="kpi-value c-teal">
                <?php echo $rowclientesDistintosAtendidos['DISTINTOS']; ?>
            </div>
            <div class="kpi-sub">clientes únicos</div>
        </div>

        <!-- Médicos Demandantes -->
        <div class="kpi-card acc-blue"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Número de médicos únicos que aparecem nos orçamentos do período. Contabiliza orçamentos totais (aprovados e reprovados).">
            <div class="kpi-header">
                <span class="kpi-label">Médicos Demandantes</span>
                <div class="kpi-icon ico-blue"><i class="mdi mdi-doctor"></i></div>
            </div>
            <div class="kpi-value">
                <a href="#"
                   class="open-modal-link"
                   style="text-decoration:none; color:inherit;"
                   data-toggle="modal"
                   data-target="#MyModal3"
                   data-produto="1">
                    <?php echo $rowqtdclientesdemandantes['COUNT']; ?>
                </a>
            </div>
            <div class="kpi-sub">médicos com demanda ativa</div>
        </div>

    </div>

    <!-- ══════════════════════════════════
         GRUPO 4 — FÓRMULAS & TICKETS
    ══════════════════════════════════ -->
    <div class="section-title">Fórmulas & Tickets</div>
    <div class="cards-row">

        <!-- Quantidade de Fórmulas -->
        <div class="kpi-card acc-orange"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Quantidade de fórmulas recebidas no caixa no período selecionado.">
            <div class="kpi-header">
                <span class="kpi-label">Quantidade de Fórmulas</span>
                <div class="kpi-icon ico-orange"><i class="mdi mdi-flask-outline"></i></div>
            </div>
            <div class="kpi-value c-orange">
                <?php echo $rowqtdformulas['QTDFORMULAS']; ?>
            </div>
            <div class="kpi-sub">fórmulas no período</div>
        </div>

        <!-- Ticket Médio por Clientes Atendidos -->
        <div class="kpi-card acc-teal"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Cálculo: Realizado Geral / Quantidade de Clientes Atendidos.">
            <div class="kpi-header">
                <span class="kpi-label">Ticket Médio — Por Clientes Atendidos</span>
                <div class="kpi-icon ico-teal"><i class="mdi mdi-receipt"></i></div>
            </div>
            <div class="kpi-value c-teal">
                <?php if ($ticketMedioAtendidos > 0): ?>
                    R$ <?php echo number_format($ticketMedioAtendidos, 2, ',', '.'); ?>
                <?php else: ?>
                    R$ 0,00
                <?php endif; ?>
            </div>
            <div class="kpi-sub">por cliente atendido</div>
        </div>

        <!-- Ticket Médio por Fórmulas -->
        <div class="kpi-card acc-orange"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Cálculo: Realizado Geral / Quantidade de Fórmulas do período.">
            <div class="kpi-header">
                <span class="kpi-label">Ticket Médio — Por Fórmulas</span>
                <div class="kpi-icon ico-orange"><i class="mdi mdi-tag-outline"></i></div>
            </div>
            <div class="kpi-value c-orange">
                <?php if ($ticketMedioFormula > 0): ?>
                    R$ <?php echo number_format($ticketMedioFormula, 2, ',', '.'); ?>
                <?php else: ?>
                    R$ 0,00
                <?php endif; ?>
            </div>
            <div class="kpi-sub">por fórmula no período</div>
        </div>

        <!-- Card vazio para fechar o grid de 4 -->
        <div style="visibility:hidden;" class="kpi-card"></div>

    </div>

    <!-- ══════════════════════════════════
         GRUPO 5 — DESCONTOS
    ══════════════════════════════════ -->
    <div class="section-title">Descontos</div>
    <div class="cards-row-3">

        <!-- Desconto Varejo -->
        <div class="kpi-card acc-yellow"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Percentual médio de desconto concedido nas vendas de varejo. Cálculo: (Valor Bruto - Valor Líquido) / Valor Bruto.">
            <div class="kpi-header">
                <span class="kpi-label">Desconto Varejo</span>
                <div class="kpi-icon ico-yellow"><i class="mdi mdi-percent-outline"></i></div>
            </div>
            <div class="kpi-value c-yellow">
                <?php echo formatarNumero($percentual_desconto_varejo); ?>%
            </div>
            <div class="kpi-sub">sobre valor total varejo</div>
            <div class="kpi-progress">
                <div class="kpi-track">
                    <div class="kpi-fill f-yellow" style="width: <?php echo min(100, $percentual_desconto_varejo); ?>%"></div>
                </div>
            </div>
        </div>

        <!-- Desconto Manipulado -->
        <div class="kpi-card acc-orange"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Percentual médio de desconto concedido nas vendas de manipulado. Cálculo: (Valor Bruto - Valor Líquido) / Valor Bruto.">
            <div class="kpi-header">
                <span class="kpi-label">Desconto Manipulado</span>
                <div class="kpi-icon ico-orange"><i class="mdi mdi-percent-outline"></i></div>
            </div>
            <div class="kpi-value c-orange">
                <?php echo formatarNumero($percentual_desconto); ?>%
            </div>
            <div class="kpi-sub">sobre valor total manipulado</div>
            <div class="kpi-progress">
                <div class="kpi-track">
                    <div class="kpi-fill f-orange" style="width: <?php echo min(100, $percentual_desconto); ?>%"></div>
                </div>
            </div>
        </div>

        <!-- Desconto Geral -->
        <div class="kpi-card acc-orange"
             data-bs-toggle="tooltip"
             data-bs-placement="top"
             title="Percentual médio de desconto considerando varejo e manipulado juntos. Cálculo: (Valor Bruto Total - Valor Líquido Total) / Valor Bruto Total.">
            <div class="kpi-header">
                <span class="kpi-label">Desconto Geral</span>
                <div class="kpi-icon ico-orange"><i class="mdi mdi-percent-outline"></i></div>
            </div>
            <div class="kpi-value c-orange">
                <?php echo formatarNumero($percentual_desconto_total); ?>%
            </div>
            <div class="kpi-sub">
                média geral de descontos
            </div>
            <div class="kpi-progress">
                <div class="kpi-track">
                    <div class="kpi-fill f-orange" style="width: <?php echo min(100, $percentual_desconto_total); ?>%"></div>
                </div>
            </div>
        </div>

    </div>

</div>

<?php include('modal/modal_novos_clientes.php'); ?>

<?php include('modal/modal_medicos_demandantes.php'); ?>