prepare($query); $stmt->bind_param("i", $user_id); $stmt->execute(); $result = $stmt->get_result(); $permissoes = []; while ($row = $result->fetch_assoc()) { $permissoes[] = $row['NomePermissao']; } return $permissoes; } $permissoes = getPermissoes($conn, $user_id); function carregarOcorrencias($conn, $estadoIDs = [], $userID = 0, $somenteCriados = false) { $whereClause = "1=1"; $params = []; $paramTypes = ""; if ($userID !== 0) { if ($somenteCriados) { $whereClause .= " AND Ocorrencias.PedidoPor = ?"; $params[] = $userID; $paramTypes .= "i"; } else { $whereClause .= " AND (Ocorrencias.PedidoPor = ? OR Ocorrencias.AtribuidoA = ?)"; $params[] = $userID; $params[] = $userID; $paramTypes .= "ii"; } } if (!empty($estadoIDs)) { $placeholders = implode(",", array_fill(0, count($estadoIDs), "?")); $whereClause .= " AND Ocorrencias.Estado IN ($placeholders)"; $params = array_merge($params, $estadoIDs); $paramTypes .= str_repeat("i", count($estadoIDs)); } $query = "SELECT Ocorrencias.OcorrenciaID AS ID, EstadoOcorrencia.NomeEstado AS Estado, EstadoOcorrencia.EstadoID AS StatusID, Locais.NomeLocal AS Local, Ocorrencias.Imobilizado AS Imobilizado, Ocorrencias.Equipamento AS Equipamento, Ocorrencias.Descricao AS Descricao, DATE_FORMAT(Ocorrencias.DataPedido, '%d-%m-%Y %H:%i') AS Data, Utilizadores.Nome AS Utilizador FROM Ocorrencias INNER JOIN EstadoOcorrencia ON Ocorrencias.Estado = EstadoOcorrencia.EstadoID INNER JOIN Locais ON Ocorrencias.LocalID = Locais.LocalID INNER JOIN Utilizadores ON Ocorrencias.PedidoPor = Utilizadores.UserID WHERE $whereClause ORDER BY CASE WHEN EstadoOcorrencia.EstadoID IN (0, 6) THEN 1 ELSE 0 END, Ocorrencias.DataPedido DESC"; $stmt = $conn->prepare($query); if ($paramTypes) { $stmt->bind_param($paramTypes, ...$params); } $stmt->execute(); return $stmt->get_result()->fetch_all(MYSQLI_ASSOC); } try { switch ($painel) { case 'pessoal': $dados = carregarOcorrencias($conn, [], $user_id, true); break; case 'secretaria': $dados = carregarOcorrencias($conn, [1]); break; case 'direcao': $dados = carregarOcorrencias($conn, [2]); break; case 'informatica': $dados = carregarOcorrencias($conn, [0, 1, 2, 3, 4, 5, 6]); break; case 'responsavel': $dados = carregarOcorrencias($conn, [3, 4, 5], $user_id); break; default: $dados = carregarOcorrencias($conn, [], $user_id); break; } } catch (Exception $e) { die("Erro ao carregar dados: " . $e->getMessage()); } ?> Painel SIGMA
Painel SIGMA

Nº Pedido Estado Local Imobilizado Equipamento Descrição Data Utilizador
Nenhuma ocorrência encontrada.