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

68 lines
3.3 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" => []]);
exit;
}
require_once '../includes/db_assessment.php';
require_once '../includes/db_hosoffice.php';
$filter_year = $_GET['year'] ?? (date('Y')+543);
$rules = $pdo_assess->query("SELECT id FROM it_rules ORDER BY order_no ASC")->fetchAll(PDO::FETCH_ASSOC);
$slas = $pdo_assess->query("SELECT id FROM it_slas ORDER BY order_no ASC")->fetchAll(PDO::FETCH_ASSOC);
$assessments = [];
try {
$stmt = $pdo_assess->prepare("SELECT * FROM it_assessments WHERE assess_year = :year ORDER BY created_at DESC");
$stmt->execute(['year' => $filter_year]);
$assessments = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $e) { }
$data = [];
$no = 1;
foreach ($assessments as $row) {
$rules_data = json_decode($row['rules_data'], true) ?: [];
$sla_data = json_decode($row['sla_data'], true) ?: [];
$rowData = [];
$rowData[] = '<div class="text-center">'.$no++.'</div>';
$rowData[] = '<div class="text-center">'.htmlspecialchars($row['assess_year']).'</div>';
$rowData[] = htmlspecialchars($row['fullname']);
$rowData[] = htmlspecialchars($row['position']);
$rowData[] = htmlspecialchars($row['department']);
if($row['computer_use'] == '1'){
$rowData[] = '<div class="text-center"><span class="badge bg-success">ใช้</span></div>';
} else {
$rowData[] = '<div class="text-center"><span class="badge bg-secondary">ไม่ใช้</span></div>';
}
foreach($rules as $r){
$r_id = $r['id'];
$k = $rules_data[$r_id]['k'] ?? '-';
$u = $rules_data[$r_id]['u'] ?? '-';
$p = $rules_data[$r_id]['p'] ?? '-';
$rowData[] = '<div class="text-center">'.($k == 'yes' ? '✔️' : ($k == 'no' ? '❌' : '-')).'</div>';
$rowData[] = '<div class="text-center">'.($u == 'yes' ? '✔️' : ($u == 'no' ? '❌' : '-')).'</div>';
$rowData[] = '<div class="text-center">'.($p == 'yes' ? '✔️' : ($p == 'no' ? '❌' : '-')).'</div>';
}
foreach($slas as $s){
$s_id = $s['id'];
$score = $sla_data[$s_id]['score'] ?? '-';
$comment = $sla_data[$s_id]['comment'] ?? '-';
$rowData[] = '<div class="text-center">'.htmlspecialchars($score).'</div>';
$rowData[] = htmlspecialchars($comment);
}
$rowData[] = '<div class="text-center">'.date('d/m/Y H:i', strtotime($row['created_at'])).'</div>';
$deleteForm = '<div class="text-center"><form method="POST" action="actions/delete_assessment.php" onsubmit="return confirm(\'ยืนยันการลบข้อมูลประเมินของ '.htmlspecialchars($row['fullname']).' ใช่หรือไม่?\');"><input type="hidden" name="id" value="'.$row['id'].'"><input type="hidden" name="filter_year" value="'.htmlspecialchars($filter_year).'"><button type="submit" class="btn btn-sm btn-danger py-0 px-2" title="ลบข้อมูล">ลบ</button></form></div>';
$rowData[] = $deleteForm;
$data[] = $rowData;
}
ob_clean(); header("Content-Type: application/json; charset=utf-8"); echo json_encode(["data" => $data]);