Files
sam-kd/work/delete_handover.php
hskwon aca1767eb9 초기 커밋: 5130 레거시 시스템
- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경
- DB 연결 하드코딩 → .env 기반으로 변경
- MySQL strict mode DATE 오류 수정
2025-12-10 20:14:31 +09:00

75 lines
2.3 KiB
PHP

<?php
include $_SERVER['DOCUMENT_ROOT'] . "/session.php";
// JSON 응답 헤더 설정
header('Content-Type: application/json; charset=utf-8');
// POST 데이터 확인
$input = json_decode(file_get_contents('php://input'), true);
if (!$input) {
echo json_encode(['success' => false, 'message' => '데이터를 받지 못했습니다.']);
exit;
}
// 데이터베이스 연결 (PDO 사용)
require_once($_SERVER['DOCUMENT_ROOT'] . "/lib/mydb.php");
$pdo = db_connect();
try {
// 필수 필드 검증
if (empty($input['handover_num'])) {
throw new Exception('인수인계 번호가 필요합니다.');
}
$handover_num = $input['handover_num'];
// 권한 확인 (작성자 또는 관리자만 삭제 가능)
$sql = "SELECT regist_user FROM work_handover WHERE num = ? AND is_deleted = 'N'";
$stmh = $pdo->prepare($sql);
$stmh->bindValue(1, $handover_num, PDO::PARAM_INT);
$stmh->execute();
if ($stmh->rowCount() === 0) {
throw new Exception('해당 인수인계 보고서를 찾을 수 없습니다.');
}
$handover_data = $stmh->fetch(PDO::FETCH_ASSOC);
// 권한 확인 (작성자 또는 QC 관리자만 삭제 가능)
$QCadmin = false;
if($user_name=='이세희' || $user_name=='개발자' || $user_name=='함신옥') {
$QCadmin = true;
}
if ($handover_data['regist_user'] !== $user_name && !$QCadmin) {
throw new Exception('삭제 권한이 없습니다.');
}
// Soft Delete 실행 (실제 삭제하지 않고 is_deleted 플래그만 변경)
$sql = "UPDATE work_handover SET is_deleted = 'Y', update_day = ?, update_user = ? WHERE num = ?";
$stmh = $pdo->prepare($sql);
$today = date('Y-m-d');
$stmh->bindValue(1, $today, PDO::PARAM_STR);
$stmh->bindValue(2, $user_name, PDO::PARAM_STR);
$stmh->bindValue(3, $handover_num, PDO::PARAM_INT);
if ($stmh->execute()) {
echo json_encode([
'success' => true,
'message' => '인수인계 보고서가 삭제되었습니다.'
]);
} else {
throw new Exception('삭제 중 오류가 발생했습니다.');
}
} catch (Exception $e) {
echo json_encode([
'success' => false,
'message' => $e->getMessage()
]);
}
$pdo = null; // PDO 연결 종료
?>