74 lines
3.4 KiB
TypeScript
74 lines
3.4 KiB
TypeScript
|
|
"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} />;
|
||
|
|
}
|