Files
2026-09-16 23:20:08 +07:00

58 lines
2.4 KiB
PHP

<?php
session_start(); ob_start();
if (!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true || !isset($_SESSION['is_admin']) || !$_SESSION['is_admin']) {
ob_clean(); header("Content-Type: application/json; charset=utf-8"); echo json_encode(["data" => [], "count" => 0]);
exit;
}
require_once '../includes/db_assessment.php';
require_once '../includes/db_hosoffice.php';
$filter_year = $_GET['year'] ?? (date('Y')+543);
$assessments = [];
try {
$stmt = $pdo_assess->prepare("SELECT hr_cid FROM it_assessments WHERE assess_year = :year");
$stmt->execute(['year' => $filter_year]);
$completed_cids = $stmt->fetchAll(PDO::FETCH_COLUMN);
} catch (Exception $e) {
$completed_cids = [];
}
$data = [];
try {
$sql = "SELECT a.HR_CID, e.HR_PREFIX_NAME, a.HR_FNAME, a.HR_LNAME,
p.HR_POSITION_NAME,
COALESCE(d.HR_DEPARTMENT_SUB_SUB_NAME, d2.HR_DEPARTMENT_SUB_NAME, '-') as DEPARTMENT_NAME
FROM hr_person a
LEFT OUTER JOIN hr_prefix e ON a.HR_PREFIX_ID=e.HR_PREFIX_ID
LEFT OUTER JOIN hr_position p ON a.HR_POSITION_ID=p.HR_POSITION_ID
LEFT OUTER JOIN hr_department_sub d2 ON a.HR_DEPARTMENT_SUB_ID=d2.HR_DEPARTMENT_SUB_ID
LEFT OUTER JOIN hr_department_sub_sub d ON a.HR_DEPARTMENT_SUB_SUB_ID=d.HR_DEPARTMENT_SUB_SUB_ID
WHERE a.HR_STATUS_ID = '01'";
if (count($completed_cids) > 0) {
$in_marks = str_repeat('?,', count($completed_cids) - 1) . '?';
$sql .= " AND a.HR_CID NOT IN ($in_marks)";
$sql .= " ORDER BY DEPARTMENT_NAME, a.HR_FNAME";
$stmt_un = $pdo_hos->prepare($sql);
$stmt_un->execute($completed_cids);
} else {
$sql .= " ORDER BY DEPARTMENT_NAME, a.HR_FNAME";
$stmt_un = $pdo_hos->query($sql);
}
$unassessed_users = $stmt_un->fetchAll(PDO::FETCH_ASSOC);
$no = 1;
foreach($unassessed_users as $u) {
$fullname = trim(($u['HR_PREFIX_NAME'] ?? '') . $u['HR_FNAME'] . ' ' . $u['HR_LNAME']);
$data[] = [
'<div class="text-center">'.$no++.'</div>',
htmlspecialchars($fullname),
htmlspecialchars($u['HR_POSITION_NAME'] ?? '-'),
htmlspecialchars($u['DEPARTMENT_NAME'] ?? '-')
];
}
} catch (Exception $e) { }
ob_clean(); header("Content-Type: application/json; charset=utf-8"); echo json_encode(["data" => $data, "count" => count($data)]);