2025-12-10 20:14:31 +09:00
|
|
|
<?php
|
|
|
|
|
require_once($_SERVER['DOCUMENT_ROOT'] . "/session.php");
|
|
|
|
|
|
|
|
|
|
ini_set('display_errors', 1);
|
|
|
|
|
ini_set('display_startup_errors', 1);
|
|
|
|
|
error_reporting(E_ALL);
|
|
|
|
|
|
|
|
|
|
header("Content-Type: application/json");
|
|
|
|
|
|
|
|
|
|
$num = isset($_REQUEST['num']) ? $_REQUEST['num'] : '';
|
|
|
|
|
$tablename = isset($_REQUEST['tablename']) ? $_REQUEST['tablename'] : 'output';
|
2025-12-13 13:18:23 +09:00
|
|
|
// 날짜 필드 - 빈 문자열은 NULL로 처리 (MySQL 8.0 Strict Mode 호환)
|
|
|
|
|
$ACIaskDate = isset($_REQUEST['ACIaskDate']) && $_REQUEST['ACIaskDate'] !== '' ? $_REQUEST['ACIaskDate'] : null;
|
|
|
|
|
$ACIdoneDate = isset($_REQUEST['ACIdoneDate']) && $_REQUEST['ACIdoneDate'] !== '' ? $_REQUEST['ACIdoneDate'] : null;
|
2025-12-10 20:14:31 +09:00
|
|
|
|
|
|
|
|
// JSON 데이터를 저장할 경로 설정
|
|
|
|
|
$jsonFilePath = "../output/i_json/" . $num . ".json";
|
|
|
|
|
|
|
|
|
|
if (isset($_POST['iList'])) {
|
|
|
|
|
$iList_jsondata = json_decode($_POST['iList'], true);
|
|
|
|
|
if ($iList_jsondata === null && json_last_error() !== JSON_ERROR_NONE) {
|
|
|
|
|
echo json_encode(['error' => 'Invalid JSON data provided.'], JSON_UNESCAPED_UNICODE);
|
|
|
|
|
exit;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 기존 JSON 파일 삭제
|
|
|
|
|
if (file_exists($jsonFilePath)) {
|
|
|
|
|
unlink($jsonFilePath); // 기존 파일 삭제
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// JSON 데이터를 파일에 저장
|
|
|
|
|
file_put_contents($jsonFilePath, json_encode($iList_jsondata, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
|
|
|
|
|
} else {
|
|
|
|
|
$iList_jsondata = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
require_once($_SERVER['DOCUMENT_ROOT'] . "/lib/mydb.php");
|
|
|
|
|
$pdo = db_connect();
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
$pdo->beginTransaction();
|
|
|
|
|
|
|
|
|
|
// 데이터베이스에 파일 경로를 저장
|
|
|
|
|
$sql = "UPDATE {$DB}.{$tablename} SET iList=?, ACIdoneDate=?, ACIaskDate=? WHERE num=? LIMIT 1";
|
|
|
|
|
$stmh = $pdo->prepare($sql);
|
|
|
|
|
|
|
|
|
|
$stmh->bindValue(1, $jsonFilePath, PDO::PARAM_STR); // JSON 파일 경로를 저장
|
|
|
|
|
$stmh->bindValue(2, $ACIdoneDate, PDO::PARAM_STR);
|
|
|
|
|
$stmh->bindValue(3, $ACIaskDate, PDO::PARAM_STR);
|
|
|
|
|
$stmh->bindValue(4, $num, PDO::PARAM_STR);
|
|
|
|
|
|
|
|
|
|
$stmh->execute();
|
|
|
|
|
$pdo->commit();
|
|
|
|
|
} catch (PDOException $Exception) {
|
|
|
|
|
$pdo->rollBack(); // 트랜잭션 롤백
|
|
|
|
|
error_log("오류: " . $Exception->getMessage());
|
|
|
|
|
echo json_encode(['error' => $Exception->getMessage()], JSON_UNESCAPED_UNICODE);
|
|
|
|
|
exit;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$data = [
|
|
|
|
|
'num' => $num,
|
|
|
|
|
'iList source : ' => $_POST['iList'],
|
|
|
|
|
'json_file' => $jsonFilePath,
|
|
|
|
|
'iList_jsondata' => $iList_jsondata,
|
|
|
|
|
'message' => 'JSON data saved to file and database updated successfully.'
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
echo json_encode($data, JSON_UNESCAPED_UNICODE);
|
|
|
|
|
?>
|