import type { CleanLogItem } from "@/lib/types";

function base(overrides: Partial<CleanLogItem>): CleanLogItem {
  return {
    id: 1,
    row_key: "tt-1",
    report_id: null,
    unscheduled: false,
    facility_id: 1,
    facility_name: "テスト施設",
    model_name: "CC1",
    serial_number: "S-000",
    scheduled_at: "2026-11-01T02:00:00+09:00",
    status_1h: null,
    status_1h_minutes: null,
    status_30m: null,
    status_30m_minutes: null,
    departed: true,
    task_status: 4,
    result_pending: false,
    completion_rate: 50,
    grade: "○",
    consecutive_problem_days: 0,
    escalation_level: null,
    ...overrides,
  };
}

/** 表S1 の8行（指示書BH §3）。既定順の配列 */
export function bhS1RowsDefaultOrder(): CleanLogItem[] {
  const R1 = base({
    id: 101,
    row_key: "tt-101",
    scheduled_at: "2026-11-03T02:00:00+09:00",
    serial_number: "S-003",
    task_status: 4,
    completion_rate: 95.0,
    grade: "◎",
  });
  const R2 = base({
    id: 102,
    row_key: "tt-102",
    scheduled_at: "2026-11-03T02:00:00+09:00",
    serial_number: "S-001",
    task_status: 2,
    completion_rate: 45.0,
    grade: "△",
  });
  const R3 = base({
    id: 103,
    row_key: "tt-103",
    scheduled_at: "2026-11-02T02:00:00+09:00",
    model_name: "MT1",
    serial_number: "S-002",
    departed: false,
    task_status: null,
    completion_rate: null,
    grade: "×",
  });
  const R4 = base({
    id: 104,
    row_key: "tt-104",
    scheduled_at: "2026-11-03T03:00:00+09:00",
    model_name: null,
    serial_number: null,
    departed: false,
    result_pending: true,
    task_status: null,
    completion_rate: null,
    grade: "×",
  });
  const R5 = base({
    id: null,
    row_key: "rp-9001",
    report_id: "9001",
    unscheduled: true,
    scheduled_at: "2026-11-02T21:00:00+09:00",
    serial_number: "S-004",
    task_status: 6,
    completion_rate: 9.9,
    grade: "×",
  });
  const R6 = base({
    id: 105,
    row_key: "tt-105",
    scheduled_at: "2026-11-01T02:00:00+09:00",
    serial_number: "S-005",
    task_status: 7,
    completion_rate: 89.5,
    grade: "○",
  });
  const R7 = base({
    id: 106,
    row_key: "tt-106",
    scheduled_at: "2026-11-01T02:00:00+09:00",
    serial_number: "S-006",
    task_status: 3,
    completion_rate: 90.0,
    grade: "◎",
  });
  const R8 = base({
    id: 107,
    row_key: "tt-107",
    scheduled_at: "2026-11-02T01:00:00+09:00",
    serial_number: "S-007",
    task_status: 5,
    completion_rate: 70.0,
    grade: "○",
  });
  return [R4, R1, R2, R5, R3, R8, R6, R7];
}
