"use client" import * as React from "react" import { getMaterialDetail } from "../services" import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "@/components/ui/dialog" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table" import { Tabs, TabsContent, TabsList, TabsTrigger, } from "@/components/ui/tabs" import { Skeleton } from "@/components/ui/skeleton" import { Badge } from "@/components/ui/badge" import { formatDate } from "@/lib/utils" interface MaterialDetailDialogProps { open: boolean onOpenChange: (open: boolean) => void matnr: string | null } export function MaterialDetailDialog({ open, onOpenChange, matnr, }: MaterialDetailDialogProps) { const [data, setData] = React.useState> | null>(null) const [loading, setLoading] = React.useState(false) React.useEffect(() => { if (open && matnr) { setLoading(true) getMaterialDetail(matnr) .then(setData) .finally(() => setLoading(false)) } }, [open, matnr]) if (!matnr) return null return ( 자재마스터 상세정보 자재코드: {matnr} {loading ? (
) : data ? ( 기본정보 특성할당 클래스할당 설명 단위

기본 자재 정보

자재코드 (MATNR) {data.material.MATNR || "-"} 자재명 (ZZNAME) {data.material.ZZNAME || "-"} 프로젝트 (ZZPJT) {data.material.ZZPJT || "-"} 구 자재번호 (BISMT) {data.material.BISMT || "-"} 자재그룹 (MATKL) {data.material.MATKL || "-"} 자재유형 (MTART) {data.material.MTART || "-"} 기본단위 (MEINS) {data.material.MEINS || "-"} 산업섹터 (MBRSH) {data.material.MBRSH || "-"} 사업부 (SPART) {data.material.SPART || "-"} 규격 (ZZSPEC) {data.material.ZZSPEC || "-"} 설명 (ZZDESC) {data.material.ZZDESC || "-"} PLM ID (ZZPLMID) {data.material.ZZPLMID || "-"} 삭제플래그 (LVORM) {data.material.LVORM ? ( 삭제됨 ) : ( 활성 )} 자재상태 (MSTAE) {data.material.MSTAE || "-"} 총 중량 (BRGEW) {data.material.BRGEW || "-"} 순 중량 (NTGEW) {data.material.NTGEW || "-"} 중량단위 (GEWEI) {data.material.GEWEI || "-"} 크기/치수 (GROES) {data.material.GROES || "-"} 생성일시 {formatDate(data.material.createdAt, "KR")} 수정일시 {formatDate(data.material.updatedAt, "KR")}

특성 할당 정보

{data.characteristics.length === 0 && (

특성 할당 정보가 없습니다.

)} 특성명 (ATNAM) 특성값 (ATWRT) 특성내역 (ATBEZ) 특성값내역 (ATWTB) 클래스번호 (CLASS) 클래스유형 (KLART) 측정단위 (ATAWE) {data.characteristics.length > 0 ? ( data.characteristics.map((char, index) => ( {char.ATNAM || "-"} {char.ATWRT || "-"} {char.ATBEZ || "-"} {char.ATWTB || "-"} {char.CLASS || "-"} {char.KLART || "-"} {char.ATAWE || "-"} )) ) : ( 데이터가 없습니다 )}

클래스 할당 정보

{data.classifications.length === 0 && (

클래스 할당 정보가 없습니다.

)} 클래스번호 (CLASS) 클래스유형 (KLART) 생성일시 수정일시 {data.classifications.length > 0 ? ( data.classifications.map((cls, index) => ( {cls.CLASS || "-"} {cls.KLART || "-"} {formatDate(cls.createdAt, "KR")} {formatDate(cls.updatedAt, "KR")} )) ) : ( 데이터가 없습니다 )}

자재 설명 정보

{data.descriptions.length === 0 && (

자재 설명 정보가 없습니다.

)} 자재설명 (MAKTX) 언어 (SPRAS) 생성일시 수정일시 {data.descriptions.length > 0 ? ( data.descriptions.map((desc, index) => ( {desc.MAKTX || "-"} {desc.SPRAS || "-"} {formatDate(desc.createdAt, "KR")} {formatDate(desc.updatedAt, "KR")} )) ) : ( 데이터가 없습니다 )}

단위 정보

{data.units.length === 0 && (

단위 정보가 없습니다.

)} 대체단위 (MEINH) 분모 (UMREN) 분자 (UMREZ) 길이 (LAENG) 폭 (BREIT) 높이 (HOEHE) 부피 (VOLUM) 부피단위 (VOLEH) 총중량 (BRGEW) 중량단위 (GEWEI) 치수단위 (MEABM) {data.units.length > 0 ? ( data.units.map((unit, index) => ( {unit.MEINH || "-"} {unit.UMREN || "-"} {unit.UMREZ || "-"} {unit.LAENG || "-"} {unit.BREIT || "-"} {unit.HOEHE || "-"} {unit.VOLUM || "-"} {unit.VOLEH || "-"} {unit.BRGEW || "-"} {unit.GEWEI || "-"} {unit.MEABM || "-"} )) ) : ( 데이터가 없습니다 )}
) : (

데이터를 찾을 수 없습니다.

)}
) }