<?php
// insert_bulk.php
require_once $_SERVER['DOCUMENT_ROOT'] . '/session.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/lib/mydb.php';

header('Content-Type: application/json; charset=utf-8');

$pdo = db_connect();

// 1) 클라이언트에서 JSON 문자열로 넘어온 entries
$payload = $_POST['entries'] ?? '';
$entries = json_decode($payload, true);

if (!is_array($entries) || count($entries) === 0) {
    echo json_encode([
        'status'  => 'error',
        'message' => '저장할 데이터가 없습니다.'
    ], JSON_UNESCAPED_UNICODE);
    exit;
}

$nums = [];

try {
    $pdo->beginTransaction();

    // 2) account 테이블에 대량 INSERT
    $sql = "INSERT INTO account (
                registDate,
                inoutsep,
                bankbook,
                content,
                contentSub,
                content_detail,
                amount,
                secondordnum,
                dueDate,
                endorsementDate
            ) VALUES (
                ?,?,?,?,?,?,?,?,?,?
            )";
    $stmt = $pdo->prepare($sql);

    foreach ($entries as $row) {
        $stmt->execute([
            $row['registDate'],      // 등록일자
            $row['inoutsep'],        // 구분
            $row['bankbook'],        // 계좌
            $row['content'],         // 항목
            $row['contentSub'],      // 세부항목
            $row['content_detail'],  // 상세내용
            $row['amount'],          // 금액 (콤마 제거된 숫자)
            $row['secondordnum'],    // 거래처코드
            $row['dueDate'],         // 만기일자
            $row['endorsementDate'], // 배서일자
        ]);
        // 3) 새로 생성된 AUTO_INCREMENT PK (num) 수집
        $nums[] = $pdo->lastInsertId();
    }

    $pdo->commit();

    // 4) 성공 응답: nums 배열을 돌며 클라이언트가 이미지 업로드에 사용할 수 있음
    echo json_encode([
        'status' => 'success',
        'nums'   => $nums
    ], JSON_UNESCAPED_UNICODE);

} catch (PDOException $e) {
    $pdo->rollBack();
    echo json_encode([
        'status'  => 'error',
        'message' => $e->getMessage()
    ], JSON_UNESCAPED_UNICODE);
}
