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

//recuperando combo filial
$query_filial = "SELECT cdfil, DESCRFIL FROM FC01000 fc WHERE fc.cdfil IN (SELECT cdfil FROM fc15100)";
$result_filial = ibase_query($connection, $query_filial);

if (!$result_filial) {
    die('Erro na consulta: ' . ibase_errmsg());
}

$filiais = [];
while ($row = ibase_fetch_assoc($result_filial)) {
    $filiais[] = $row;
}

function getBadgeClass($status) {
    $lowerStatus = strtolower($status);

    if (strpos($lowerStatus, 'rejeitado') !== false) {
        return 'badge-danger';
    } elseif (strpos($lowerStatus, 'aprovado') !== false) {
        return 'badge-success';
    } else {
        return 'badge-secondary';  // ou qualquer outra classe padrão
    }
}


$tipo_relatorio = $_GET['tipo_relatorio'] ?? null;
$records_per_page = 10;
$current_page = $_GET['page'] ?? 1;
$start_from = ($current_page - 1) * $records_per_page;
$hasResults = false;



//if (isset($_GET['tipo_relatorio']) && $tipo_relatorio == "0") {
if (isset($_GET['tipo_relatorio'])) {
	$mapa_tipos = array(
    "0" => 'm.nomemed',
    "1" => 'CASE WHEN c.nomecli is null then o.nomepa
     WHEN c.nomecli is not null then c.nomecli
     end',
    "2" => 'fun.nomefun',
    // Adicione mais casos conforme necessário
);

// Inicializa $nome_consulta com um valor padrão
$nome_consulta = '';
$nome_relatorio = '';

if (isset($_GET['tipo_relatorio'])) {
    $tipo_relatorio = $_GET['tipo_relatorio'];

    if ($tipo_relatorio == "0") {
        $nome_relatorio = 'Médicos';
    } elseif ($tipo_relatorio == "1") {
        $nome_relatorio = 'Clientes';
    } elseif ($tipo_relatorio == "2") {
        $nome_relatorio = 'Vendedores';
    } else {
        // Tratar outros valores, se necessário
        $nome_relatorio = 'Tipo Desconhecido';
    }
} else {
    // Tratar caso 'tipo_relatorio' não esteja definido na URL
    $nome_relatorio = 'Tipo não especificado';
} 
// Verifica se tipo_relatorio está definido e existe no mapa
if (isset($_GET['tipo_relatorio']) && isset($mapa_tipos[$_GET['tipo_relatorio']])) {
    // Obtém o valor correspondente do mapa
    $nome_consulta = $mapa_tipos[$_GET['tipo_relatorio']];
}

  

   // Obtendo os parâmetros
	//$nome_consulta = 'fun.nomefun';
    $nomeMedico = $_GET['nomeMedico'] ?? null;
	$nomeCliente = $_GET['nomeCliente'] ?? null;
	$nomeVendedor = $_GET['nomeVendedor'] ?? null;
    $ano = $_GET['ano'] ?? null;
    $mes = $_GET['mes'] ?? null;
    $situacao = $_GET['situacao'] ?? null;
	
	$filial = $_GET['filial'] ?? null;

    // Iniciando a construção do SQL BASE
 
$sql_base = "WITH tab_req_med AS (

    SELECT
        cdfil,
        nrrqu,
        MAX(nrcrm) as nrcrm,
        MAX(pfcrm) AS pfcrm,
        max(ufcrm) as ufcrm
    FROM
        fc17600
    GROUP BY cdfil, nrrqu
    
    )
    SELECT  
        med.nomemed,
        (r_med.pfcrm || r_med.ufcrm || r_med.nrcrm) AS cod_medico,
        tar.cdcon AS filial,
        SUM(rm.vrrcb) AS vl_recebido
    
    
    FROM
        fc17100 rm
    INNER JOIN fc17200 tar ON rm.cdfil = tar.cdfil AND rm.nrrqu = tar.nrrqu AND tar.tptar = 'R'
    INNER JOIN tab_req_med AS r_med ON rm.cdfil = r_med.cdfil AND rm.nrrqu = r_med.nrrqu
    INNER JOIN  fc04000 as med ON med.pfcrm = r_med.pfcrm and med.ufcrm = r_med.ufcrm and med.nrcrm = r_med.nrcrm
    LEFT JOIN fc17000 r_cli ON rm.cdfil = r_cli.cdfil AND rm.nrrqu = r_cli.nrrqu
    WHERE 1=1";

    // Adicionando condições conforme os parâmetros
    if ($nomeMedico && $nomeMedico != "Todos") {
        $nomeMedico = strtoupper($nomeMedico);
        $sql_base .= " AND UPPER(m.nomemed) LIKE '" . firebird_escape_string($nomeMedico) . "%'";
    }
	if ($nomeCliente && $nomeCliente != "Todos") {
        $nomeCliente= strtoupper($nomeCliente);
        $sql_base .= " AND UPPER(c.NOMECLI) LIKE '%" . firebird_escape_string($nomeCliente) . "%'";
    }
	if ($nomeVendedor && $nomeVendedor != "Todos") {
        $nomeVendedor= strtoupper($nomeVendedor);
        $sql_base .= " AND UPPER(fun.nomefun) LIKE '%" . firebird_escape_string($nomeVendedor) . "%'";
    }

    if ($ano && $ano != "Todos") {
        $sql_base .= " AND EXTRACT(YEAR FROM rm.dtope) = " . intval($ano);
    }

    if ($mes && $mes != "Todos") {
        $sql_base .= " AND EXTRACT(MONTH FROM rm.dtope) = " . intval($mes);
    }

   
	
		if ($situacao === '1' || $situacao === '0') {
			$sql_base .= " AND o.qtaprov = '$situacao'";
		}

	
	
	if ($filial && $filial != "Todos") {
    $sql_base .= " AND o.cdfil = " . intval($filial);
	}


    $sql_base .= " GROUP BY  med.nomemed, tar.cdcon, rm.cdfil,cod_medico";

    // Construindo SQL para contagem
    $sql_count = "SELECT COUNT(*) AS total FROM (" . $sql_base . ") AS subquery";

    $result_count = ibase_query($connection, $sql_count);

    if ($result_count) {
        $total_records = ibase_fetch_assoc($result_count)['TOTAL'];
        $total_pages = ceil($total_records / $records_per_page);

        // Corrigindo a ordenação do SQL final
        //$sql_final = $sql_base.= " ORDER BY vl_recebido DESC";
        //$sql_final = "SELECT FIRST $records_per_page SKIP $start_from  * FROM (" . substr($sql_base, 6) .  " ORDER BY vl_recebido DESC";
        $sql_final = "SELECT FIRST $records_per_page SKIP $start_from * FROM ($sql_base) ORDER BY vl_recebido DESC";

        //echo $sql_final;
        $result = ibase_query($connection, $sql_final);

        if (!$result) {
            die('Erro na consulta: ' . ibase_errmsg());
        }
    } else {
        die('Erro na contagem de registros: ' . ibase_errmsg());
    }

}
function firebird_escape_string($value) {
    return str_replace(["'", "\""], ["''", "\"\""], $value);
}
//echo $sql_base  ; 

?>


<!DOCTYPE html>
<html lang="pt-br">
<?php 
        $pageTitle = "Consultar Médico"; // Definir o título da página aqui
        include('../geral/header.php'); 
        ?>
    <body>

        <!-- Navigation Bar-->
        <?php 
         include('../geral/menu.php'); 
        ?>
        <!-- End Navigation Bar-->

        <!-- ============================================================== -->
        <!-- Start Page Content here -->
        <!-- ============================================================== -->

        <div class="wrapper candidato">
            <div class="container-fluid">

                <div class="card-box mt-3">
                    <div class="row">
                        
                        <div class="col-6 text-left">
                            <h4 class="page-title">Consultar <?php echo !empty($nome_relatorio) ? $nome_relatorio : 'Relatórios'; ?></h4>

                        </div>


                        <div class="col-12">
                            <hr>
                        </div>

                        <div class="col-12">
						<form method="get" action="">
                            <div class="form-row mb-3">
							
									<div class="form-group col-md-3">
									<label for="tipo_relatorio" class="col-form-label">Tipo Relatório</label>
									<select id="tipo_relatorio" name="tipo_relatorio" class="form-control">
										<option value="0" <?php echo (!isset($tipo_relatorio) || $tipo_relatorio == "0") ? "selected" : ""; ?>>Médico</option>
										<option value="1" <?php echo (isset($tipo_relatorio) && $tipo_relatorio == "1") ? "selected" : ""; ?>>Cliente</option>
										<option value="2" <?php echo (isset($tipo_relatorio) && $tipo_relatorio == "2") ? "selected" : ""; ?>>Vendedor</option>
										
									</select>
								</div>
								<div class="form-group col-md-3">
									<label for="filial" class="col-form-label">Filial</label>
									<select id="filial" name="filial" class="form-control">
										<option value="Todos" <?php echo (!isset($filial) || $filial == "Todos") ? "selected" : ""; ?>>Todos</option>
										<?php foreach ($filiais as $item): ?>
											<option value="<?php echo $item['CDFIL']; ?>" <?php echo (isset($filial) && $filial == $item['CDFIL']) ? "selected" : ""; ?>>
												<?php echo $item['DESCRFIL']; ?>
											</option>
										<?php endforeach; ?>
									</select>
								</div>
                               					
								

                            <div class="form-group col-md-3">
                                <label for="ano" class="col-form-label">Ano</label>
                                <select id="ano" name="ano" class="form-control">
                                <option value="Todos" <?php echo (isset($ano) && $ano == "Todos") ? "selected" : ""; ?>>Todos</option>
								<option value="2024" <?php echo (isset($ano) && $ano == "2024") ? "selected" : ""; ?>>2024</option>
                                <option value="2023" <?php echo (isset($ano) && $ano == "2023") ? "selected" : ""; ?>>2023</option>
                                <option value="2022" <?php echo (isset($ano) && $ano == "2022") ? "selected" : ""; ?>>2022</option>
                                <option value="2021" <?php echo (isset($ano) && $ano == "2021") ? "selected" : ""; ?>>2021</option>
                                </select>

                            </div>
								
							<div class="form-group col-md-3">
                             <label for="categoria" class="col-form-label">Mês</label>
                                <select name="mes" id="mes" class="form-control">
                                    <option value="Todos" <?php echo (isset($mes) && $mes == "Todos") ? "selected" : ""; ?>>Todos</option>
                                    <option value="1" <?php echo (isset($mes) && $mes == "1") ? "selected" : ""; ?>>Janeiro</option>
                                    <option value="2" <?php echo (isset($mes) && $mes == "2") ? "selected" : ""; ?>>Fevereiro</option>
                                    <option value="3" <?php echo (isset($mes) && $mes == "3") ? "selected" : ""; ?>>Março</option>
                                    <option value="4" <?php echo (isset($mes) && $mes == "4") ? "selected" : ""; ?>>Abril</option>
                                    <option value="5" <?php echo (isset($mes) && $mes == "5") ? "selected" : ""; ?>>Maio</option>
                                    <option value="6" <?php echo (isset($mes) && $mes == "6") ? "selected" : ""; ?>>Junho</option>
                                    <option value="7" <?php echo (isset($mes) && $mes == "7") ? "selected" : ""; ?>>Julho</option>
                                    <option value="8" <?php echo (isset($mes) && $mes == "8") ? "selected" : ""; ?>>Agosto</option>
                                    <option value="9" <?php echo (isset($mes) && $mes == "9") ? "selected" : ""; ?>>Setembro</option>
                                    <option value="10" <?php echo (isset($mes) && $mes == "10") ? "selected" : ""; ?>>Outubro</option>
                                    <option value="11" <?php echo (isset($mes) && $mes == "11") ? "selected" : ""; ?>>Novembro</option>
                                    <option value="12" <?php echo (isset($mes) && $mes == "12") ? "selected" : ""; ?>>Dezembro</option>
                                </select>
                                </div>



								<div class="form-group col-md-3">
									<label for="situacao" class="col-form-label">Situação</label>
									<select id="situacao" name="situacao" class="form-control">
										<option value="Todos" <?php echo (!isset($situacao) || $situacao == "Todos") ? "selected" : ""; ?>>Todos</option>
										<option value="1" <?php echo (isset($situacao) && $situacao == "1") ? "selected" : ""; ?>>Aprovados</option>
										<option value="0" <?php echo (isset($situacao) && $situacao == "0") ? "selected" : ""; ?>>Rejeitados</option>
									</select>
								</div>
								
								 <div class="form-group col-md-3">
                                    <label for="nomeMedico" class="col-form-label">Médico</label>
                                    <input type="text" class="form-control" id="nomeMedico" name="nomeMedico" placeholder="Médico" value="<?php echo isset($nomeMedico) ? htmlspecialchars($nomeMedico) : ''; ?>">

                                </div>
								

								<div class="form-group col-md-3">
                                    <label for="nomeCliente" class="col-form-label">Cliente</label>
                                    <input type="text" class="form-control" id="nomeCliente" name="nomeCliente" placeholder="Cliente" value="<?php echo isset($nomeMedico) ? htmlspecialchars($nomeCliente) : ''; ?>">

                                </div>
								
								<div class="form-group col-md-3">
                                    <label for="nomeVendedor" class="col-form-label">Vendedor</label>
                                    <input type="text" class="form-control" id="nomeVendedor" name="nomeVendedor" placeholder="Vendedor" value="<?php echo isset($nomeMedico) ? htmlspecialchars($nomeVendedor) : ''; ?>">

                                </div>

                            

                                <div class="col-12 text-right">
								<a href="medico-list.php" class="btn btn-warning mr-2"><i class="mdi mdi-plus"></i> Limpar</a>
                                    <button type="submit" class="btn btn-primary"><i class="mdi mdi-magnify"></i> Pesquisar</button>
                                </div>
						</form>
                            </div>
                        </div>

                        <div class="col-12">
                            <h6>Lista de <?php echo !empty($nome_relatorio) ? $nome_relatorio : 'Dados'; ?></h6>

								  <table id="datatable-buttons" class="table table-striped table-bordered dt-responsive nowrap">
								<thead>
									<tr class="text-center">
										<th>Nome</th>
										<th>Filial</th>
										<th>CRM</th>
										<th>Valor Recebido</th>
										<th>Ações</th>
									</tr>
								</thead>
								<tbody>
									<?php
									$hasResults = false;
									if (isset($result)) { 
									while ($row = ibase_fetch_assoc($result)) {
										$hasResults = true;  // Indica que encontrou ao menos um resultado
										?>
										<tr class="text-center">
                                        <td>
                                        <?php echo $row['NOMEMED'] !== null ? ($row['NOMEMED']) : 'Orçamentos sem ' . $nome_relatorio; ?>
                                    </td>

											<td><?php echo htmlspecialchars($row['FILIAL']); ?></td>
											<td><?php echo htmlspecialchars($row['COD_MEDICO']); ?></td>
											<td>R$ <?php echo number_format($row['VL_RECEBIDO'], 2, ',', '.'); ?>
                                             </td>
                                             <td>
												<a href="candidato-details.html" class="table-actions link-view"><i class="mdi mdi mdi-account-search"></i></a>
											</td>
										</tr>
										
								
										<?php
									}
								
									}
									
									if (!$hasResults) {
										echo "<tr><td colspan='7' class='text-center'>Sem resultado para a consulta</td></tr>";
									}
									
								
									?>
								</tbody>
							</table>
				

                            </div>

                        </div>
				        <!-- PAGINAÇÃO -->
                        <div style="display: flex; justify-content: center;">
                        <?php include('paginacao.php'); ?>
                        </div>
                        <!-- FIM PAGINAÇÃO -->
				
                    </div>
					
                </div>      
		
            </div> <!-- end container -->
        </div>
		
        <!-- end wrapper -->

        <!-- ============================================================== -->
        <!-- End Page content -->
        <!-- ============================================================== -->
     <!-- Footer Start -->
     <?php
            include('../geral/footer.php');  
            ?>
        <!-- end Footer -->

        <?php
        include('../geral/mensagens_modais.php');  
        ?>

        <!-- Vendor js -->
        <script src="../../assets/js/vendor.min.js"></script>

        <!-- knob plugin -->
        <script src="../../assets/libs/jquery-knob/jquery.knob.min.js"></script>
        <!-- App js-->
        <script src="../../assets/js/app.min.js"></script>
       
    </body>
</html>

<!-- No final do seu documento, antes dos scripts, adicione: -->
<script>
    document.querySelector("button[type=submit]").addEventListener("click", function(event) {
        let nomeMedico = document.querySelector("#nomeMedico").value;
        let ano = document.querySelector("#ano").value;
        let mes = document.querySelector("#mes").value;
        let situacao = document.querySelector("#situacao").value;

        if (!nomeMedico && !ano && !mes && !situacao) {
            event.preventDefault();
            alert("Ao menos um campo deve estar preenchido para realizar a consulta.");
        }
    });
</script>

<script src="../geral/javascript.js"></script>