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

77 lines
2.6 KiB
PHP

<?php
session_start();
if (!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true) {
header("location: ../index.php");
exit;
}
require_once '../includes/db_assessment.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$cid = $_SESSION['cid'];
$assess_year = $_POST['assess_year'];
$fullname = $_POST['fullname'] ?? '';
$position = $_POST['position'] ?? '';
$department = $_POST['department'] ?? '';
$computer_use = $_POST['computer_use'] ?? '2';
$rules_json = null;
$sla_json = null;
if ($computer_use == '1') {
$rules_data = [];
$sla_data = [];
foreach ($_POST as $key => $val) {
// Check for rules: r_{id}_k, r_{id}_u, r_{id}_p
if (preg_match('/^r_(\d+)_(k|u|p)$/', $key, $matches)) {
$id = $matches[1];
$type = $matches[2];
$rules_data[$id][$type] = $val;
}
// Check for sla: sla_{id}_score, sla_{id}_comment
elseif (preg_match('/^sla_(\d+)_(score|comment)$/', $key, $matches)) {
$id = $matches[1];
$type = $matches[2];
$sla_data[$id][$type] = $val;
}
}
$rules_json = json_encode($rules_data, JSON_UNESCAPED_UNICODE);
$sla_json = json_encode($sla_data, JSON_UNESCAPED_UNICODE);
}
$sql = "INSERT INTO it_assessments (assess_year, hr_cid, fullname, position, department, computer_use, rules_data, sla_data)
VALUES (:assess_year, :hr_cid, :fullname, :position, :department, :computer_use, :rules_data, :sla_data)";
$params = [
':assess_year' => $assess_year,
':hr_cid' => $cid,
':fullname' => $fullname,
':position' => $position,
':department' => $department,
':computer_use' => $computer_use,
':rules_data' => $rules_json,
':sla_data' => $sla_json
];
try {
$stmt = $pdo_assess->prepare($sql);
$stmt->execute($params);
$_SESSION['success_msg'] = "บันทึกข้อมูลเรียบร้อยแล้ว";
} catch (PDOException $e) {
if ($e->errorInfo[1] == 1062) {
$_SESSION['error_msg'] = "ท่านได้ทำแบบประเมินสำหรับปีนี้ไปแล้ว";
} else {
$_SESSION['error_msg'] = "เกิดข้อผิดพลาดในการบันทึกข้อมูล: " . $e->getMessage();
}
}
header("location: ../form.php");
exit;
} else {
header("location: ../form.php");
exit;
}