<?php
require '../../conexao/conexao.php';
require '../../configuacoes.php';
require '../../sessao.php';
require '../../conexao/acesso.php';
require '../../logs/gera-log.php';
require '../../configuracao/filtros.php';
require '../../configuracao/consulta_banco_dados.php';

// Instancia a classe de consulta_bb ao banco de dados
$consulta_bb = new ConsultaBancoDeDados();
$filtros = new Filtros();

$cidades = $consulta_bb->get_cidades();

$filtros = new Filtros();
gerarLog(
    1, // tipo de log (acesso)
    $basePath, // módulo
    $_SESSION['CodUsuario'],
    $_SESSION['NomeUsuario']
);

if (isset($_GET['status']) && $_GET['status'] === 'sucesso' && isset($_GET['acao']) && $_GET['acao'] === 'excluir') {
    gerarLog(
        4, // tipo de log (exclusão)
        $basePath, // id do módulo
        $_SESSION['CodUsuario'],
        $_SESSION['NomeUsuario']
    );
}

if (isset($_GET['status']) && $_GET['status'] === 'sucesso' && isset($_GET['acao']) && $_GET['acao'] === 'criar') {
    gerarLog(
        2, // tipo de log (criação)
        $basePath, // id do módulo
        $_SESSION['CodUsuario'],
        $_SESSION['NomeUsuario']
    );
}

if (isset($_GET['status']) && $_GET['status'] === 'sucesso' && isset($_GET['acao']) && $_GET['acao'] === 'atualizar') {
    gerarLog(
        3, // tipo de log (atualização)
        $basePath, // id do módulo
        $_SESSION['CodUsuario'],
        $_SESSION['NomeUsuario']
    );
}

//Declarando null pro resultado do record, caso o usuário clique em pesquisar, ela será preenchida.
$resultmeta = null;


// $sql_cidade = "select distinct dc.id_cidade , nome_cidade  from dia_trabalho_cidade dc
// inner join cidade c on c.id_cidade = dc.id_cidade";

// $resulcidade = $connectionmysql->query($sql_cidade);

// Obtendo os parâmetros
$cidade = $_GET['cidade'] ?? null;
$ano = $_GET['ano'] ?? null;
$mes = $_GET['mes'] ?? null;

//VERIFICANDO SE O USUÁRIO CLICOU NO BOTÃO PESQUISAR
if (isset($_GET['form_submitted']) && $_GET['form_submitted'] == '1') {

    gerarLog(
        5, // tipo de log (acesso)
        $basePath, // módulo
        $_SESSION['CodUsuario'],
        $_SESSION['NomeUsuario']
    );




    // Iniciando a construção do SQL BASE
    $sql_base = "select id_cliente, id_dia_trabalho_cidade, nome_cidade,dia_trabalho,ano,mes,tipo,peso from dia_trabalho_cidade dc
    inner join cidade c on c.id_cidade = dc.id_cidade
    inner join dia_trabalho dt on dt.id_dia_trabalho = dc.id_dia_trabalho
    inner join tipo_dia td on td.id_tipo_dia = dc.id_tipo_dia WHERE 1=1";

    // Adicionando condições conforme os parâmetros
    if (isset($cidade) && trim($cidade) !== "Selecione") {
        $sql_base .= " AND dc.id_cidade = $cidade";
    }

    // Verifique se 'ano' não está vazio e adicione à sua consulta.
    if (isset($ano) && trim($ano) !== "Selecione") {

        $sql_base .= " AND dt.ano = $ano"; // assumindo que 'ano' é uma coluna na sua tabela.
    }

    // Verifique se 'mes' não está vazio e adicione à sua consulta.
    if (isset($mes) && trim($mes) !== "Selecione") {

        $sql_base .= " AND dt.mes = $mes"; // assumindo que 'mes' é uma coluna na sua tabela.
    }

    $sql_base .= " order by dia_trabalho asc";

    //echo $sql_base;
    //exit();
    $resultmeta = $connectionmysql->query($sql_base);


    //echo $total_records;


}


?>

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

<head>
    <link rel="icon" href="\KPI\pages/configuracoes/logo-sm.png">
    <link rel="shortcut icon" href="\KPI\pages/configuracoes/logo-sm.png">

</head>

<body>


    <!-- ============================================================== -->
    <!-- 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 Dias</h4>
                    </div>


                    <div class="col-6  d-flex mt-2" style="align-items:center;justify-content: end;">
                        <div class="text-left">
                            <a href="preencherdias.php" class="btn btn-light" alt="Preencher dias" title="Preencher dias"><i class="mdi mdi-plus"></i> Cadastrar Dias</a>
                        </div>
                        <div class="text-right">
                            <a href="formulario_alteracao.php?cidade=<?php echo urlencode($cidade); ?>&ano=<?php echo urlencode($ano); ?>&mes=<?php echo urlencode($mes); ?>" class="btn btn-light" alt="Alterar Pesos" title="Alterar Pesos"><i class="mdi mdi-plus"></i> Configurar Dias</a>
                        </div>
                    </div>

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

                    <div class="col-12">
                        <form method="get" action="" id="indexForm" onsubmit="return validarFormulario();">
                            <div class="form-row mb-3">
                                <?php echo $filtros->filtroCidade($cidade, $cidades, false, '', true, true); ?>
                                <!-- Primeiro, mudamos o "id", o "name" e o label do select para "cidade" -->
                                <!-- <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="cidade" class="col-form-label">Cidade</label>
                                    <select id="cidade" name="cidade" class="form-control" oninput="validarCampo('cidade',this.value)">
                                        <option value="Selecione" <?php // echo (!isset($cidade) || $cidade == "Selecione") ? "selected" : ""; 
                                                                    ?>>Selecione</option>
                                       
                                        <?php //while ($row = $resulcidade->fetch_assoc()) :

                                        //print_r($row);
                                        ?>
                                            <option value="<?php //echo $row['id_cidade']; 
                                                            ?>" <?php // echo (isset($cidade) && $cidade == $row['id_cidade']) ? "selected" : ""; 
                                                                                                ?>>
                                                <?php // echo $row['nome_cidade']; 
                                                ?>
                                            </option>
                                        <?php //endwhile; 
                                        ?>
                                    </select>
                                </div> -->

                                <?php

                                // Exibe o filtro de ano
                                echo $filtros->filtroAno($ano);

                                // Exibe o filtro de mes
                                echo $filtros->filtroMes($mes);
                                ?>

                                <!--CAMPO PARA INDICAR QUE CLICAMOS NO PESQUISAR -->
                                <input type="hidden" name="form_submitted" value="1" />

                                <div class="col-6 col-md-12 col-lg-6 d-flex mt-2" style="align-items:center;justify-content: end;">
                                    <div>
                                        <a href="dias_uteis.php" class="btn btn-warning mr-2"><i class="mdi mdi-plus"></i> Limpar</a>
                                    </div>
                                    <div>
                                        <button type="submit" class="btn btn-primary"><i class="mdi mdi-magnify"></i> Pesquisar</button>
                                    </div>
                                </div>

                        </form>
                    </div>
                </div>
                <?php
                //VERIFICANDO SE O USUÁRIO CLICOU NO BOTÃO PESQUISAR
                if (isset($_GET['form_submitted']) && $_GET['form_submitted'] == '1') { ?>

                    <div class="col-12">
                        <div style="display: flex; justify-content: space-between; align-items: center;">
                            <h6>Lista de Dias</h6>
                            <!-- <div>
                                

                                <span>Total de registros: <?php echo $total_records; ?></span>
                            </div> -->
                        </div>

                        <table id="datatable-buttons" class="table table-striped table-bordered dt-responsive nowrap">
                            <thead>
                                <tr class="text-center">
                                    <th>Cidade</th>
                                    <th>Dia</th>
                                    <th>Tipo</th>
                                    <th>Ano</th>
                                    <th>Mês</th>
                                    <th>Peso</th>
                                    <th>Ações</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php
                                $hasResults = false; // Inicializa como false
                                $totalPeso = 0; // Inicializa a variável para armazenar a soma dos pesos

                                if ($resultmeta) { // Verifica se $resultmeta é válido
                                    while ($row = $resultmeta->fetch_assoc()) { // Usa $row em vez de $rowMeta para consistência
                                        $hasResults = true; // Indica que encontrou ao menos um resultado
                                        $id_dia_trabalho_cidade = $row['id_dia_trabalho_cidade'];
                                        $peso = $row['peso'];
                                        $totalPeso += $peso; // Adiciona o peso atual à soma total
                                ?>
                                        <tr class="text-center">
                                            <td><?php echo htmlspecialchars($row['nome_cidade']); ?></td>
                                            <td><?php echo htmlspecialchars(formataData($row['dia_trabalho'])); ?></td>
                                            <td><?php echo htmlspecialchars($row['tipo']); ?></td>
                                            <td><?php echo htmlspecialchars($row['ano']); ?></td>
                                            <td><?php echo htmlspecialchars($row['mes']); ?></td>
                                            <td><?php echo htmlspecialchars($peso); ?></td>
                                            <td>
                                                <a href="formulario_alteracao.php?cidade=<?php echo urlencode($cidade); ?>&ano=<?php echo urlencode($ano); ?>&mes=<?php echo urlencode($mes); ?>&id_dia_trabalho_cidade=<?php echo $id_dia_trabalho_cidade; ?>" class="table-actions link-view" title="Configurar Dia">
                                                    <i class="mdi mdi mdi-content-save-edit"></i>
                                                </a>
                                            </td>
                                        </tr>
                                <?php
                                    }
                                }
                                ?>

                                <!-- Exibir a soma dos pesos no final da tabela -->
                                <?php if ($hasResults) : ?>
                                    <tr class="text-center">
                                        <td colspan="5">Total Dias Úteis:</td>
                                        <td><?php echo htmlspecialchars($totalPeso); ?></td>
                                        <td></td>
                                    </tr>
                                <?php endif; ?>

                                <?php if (!$hasResults) : ?>
                                    <tr>
                                        <td colspan='7' class='text-center'>Sem resultado para a consulta</td>
                                    </tr>
                                <?php endif; ?>

                            </tbody>
                        </table>
                    </div>
            </div>

        <?php } //fechamento do IF que valida se o usuário clicou no botão pesquisar 
        ?>
        </div>
    </div>


    <!-- end wrapper -->

    <!-- ============================================================== -->
    <!-- End Page content -->
    <!-- ============================================================== -->

    <?php
    include('../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>

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

    <script>
        function showModal(modalId, title, message) {
            const modalElement = document.getElementById(modalId);
            const modal = new bootstrap.Modal(modalElement);
            modalElement.querySelector('.modal-title').textContent = title;
            modalElement.querySelector('.modal-body p').textContent = message;
            modal.show();
        }

        function validarCampo(id) {
            const campo = document.getElementById(id);
            const valor = campo.value.trim();
            let campoValido = true;

            if (!valor || valor === 'Selecione' || valor === 'Todos') {
                campoValido = false;
                campo.classList.add('is-invalido');
            } else {
                campo.classList.remove('is-invalido');
            }
            return campoValido;
        }


        function validarFormulario() {
            //   const funcionarioValido = validarCampo('funcionario');
            let camposValidos = true;

            // if (!funcionarioValido) {
            const mesValido = validarCampo('mes');
            const anoValido = validarCampo('ano');
            const cidadeValida = validarCampo('cidade');

            camposValidos = mesValido && anoValido && cidadeValida;
            //  }

            if (!camposValidos) {
                showModal('exampleModal', 'Informação', 'Todos os campos devem ser preenchidos.');
            }

            return camposValidos;
        }


        function verificarErroNaURL() {
            const urlParams = new URLSearchParams(window.location.search);
            const errorMessage = urlParams.get('error');
            if (errorMessage) {
                showModal('exampleModal', 'Erro', errorMessage);
            }
        }

        window.onload = verificarErroNaURL;
    </script>
    <script>
        document.addEventListener("DOMContentLoaded", function() {
            // Remove status and message parameters from URL
            const url = new URL(window.location);
            url.searchParams.delete('status');
            url.searchParams.delete('message');
            window.history.replaceState({}, document.title, url);
        });
    </script>
    <style>
        .is-invalido {
            box-shadow: 0 0 5px red !important;
        }
    </style>
</body>

</html>