"use client";

import ReportEngine, { ReportConfig } from "@/components/admin/report/ReportEngine";

const config: ReportConfig = {
  key: "mold_report_v2",
  title: "금형 리포트",
  description: "금형 수명/관리 다중 조건 비교 분석",
  apiEndpoint: "/report/mold/data",
  metrics: [
    { id: "shotCnt", name: "타수", unit: "회", color: "#3b82f6" },
    { id: "guaranteeShot", name: "보증타수", unit: "회", color: "#10b981" },
    { id: "lifeRate", name: "수명률", unit: "%", color: "#f59e0b", isRate: true },
    { id: "repairCnt", name: "수리횟수", unit: "회", color: "#ef4444" },
    { id: "repairCost", name: "수리비용", unit: "만원", color: "#8b5cf6" },
    { id: "prodQty", name: "생산수량", unit: "EA", color: "#ec4899" },
    { id: "defectRate", name: "불량률", unit: "%", color: "#06b6d4", isRate: true },
    { id: "cavityUse", name: "캐비티사용률", unit: "%", color: "#84cc16", isRate: true },
  ],
  groupByOptions: [
    { id: "mold", name: "금형별" },
    { id: "moldType", name: "금형유형별" },
    { id: "item", name: "적용품목별" },
    { id: "maker", name: "제조사별" },
    { id: "monthly", name: "월별" },
    { id: "quarterly", name: "분기별" },
    { id: "weekly", name: "주별" },
    { id: "daily", name: "일별" },
  ],
  defaultGroupBy: "mold",
  defaultMetrics: ["shotCnt"],
  thresholds: [
    { id: "life", label: "보증타수 도달률 ≥", defaultValue: 90, unit: "%" },
    { id: "cost", label: "수리비용 ≥", defaultValue: 100, unit: "만원" },
  ],
  filterFieldDefs: [
    { id: "mold", name: "금형", type: "select", optionKey: "molds" },
    { id: "moldType", name: "금형유형", type: "select", optionKey: "moldTypes" },
    { id: "item", name: "적용품목", type: "select", optionKey: "items" },
    { id: "maker", name: "제조사", type: "select", optionKey: "makers" },
    { id: "shotCnt", name: "타수", type: "number" },
    { id: "lifeRate", name: "수명률", type: "number" },
  ],
  drilldownColumns: [
    { id: "date", name: "날짜", format: "date" },
    { id: "mold", name: "금형" },
    { id: "moldType", name: "금형유형" },
    { id: "item", name: "적용품목" },
    { id: "status", name: "상태", format: "badge" },
    { id: "shotCnt", name: "타수", align: "right", format: "number" },
    { id: "guaranteeShot", name: "보증타수", align: "right", format: "number" },
    { id: "lifeRate", name: "수명률(%)", align: "right", format: "number" },
    { id: "repairCnt", name: "수리횟수", align: "right", format: "number" },
  ],
  rawDataColumns: [
    { id: "date", name: "날짜", format: "date" },
    { id: "mold_code", name: "금형코드" },
    { id: "mold", name: "금형명" },
    { id: "moldType", name: "금형유형" },
    { id: "maker", name: "제조사" },
    { id: "status", name: "상태", format: "badge" },
    { id: "shotCnt", name: "타수", align: "right", format: "number" },
    { id: "guaranteeShot", name: "보증타수", align: "right", format: "number" },
    { id: "lifeRate", name: "수명률(%)", align: "right", format: "number" },
    { id: "repairCnt", name: "수리횟수", align: "right", format: "number" },
    { id: "repairCost", name: "수리비용", align: "right", format: "number" },
  ],
  emptyMessage: "금형 데이터가 없습니다",
};

export default function MoldReportPage() {
  return <ReportEngine config={config} />;
}
