"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 || "-"} 포장재료그룹 (MAGRV) {data.material.MAGRV || "-"} 치수단위 (MEABM) {data.material.MEABM || "-"} 자재상태일자 (MSTDE) {data.material.MSTDE || "-"} 제품계층 (PRDHA) {data.material.PRDHA || "-"} 포장재료유형 (VHART) {data.material.VHART || "-"} 부피단위 (VOLEH) {data.material.VOLEH || "-"} 활동코드 (ZZACT) {data.material.ZZACT || "-"} 승인일자 (ZZAPPDT) {data.material.ZZAPPDT || "-"} 승인시간 (ZZAPPTM) {data.material.ZZAPPTM || "-"} 승인사용자 (ZZAPPUS) {data.material.ZZAPPUS || "-"} 인증코드 (ZZCERT) {data.material.ZZCERT || "-"} 검사 (ZZINSP) {data.material.ZZINSP || "-"} 최종수정일자 (ZZLAMDT) {data.material.ZZLAMDT || "-"} 최종수정시간 (ZZLAMTM) {data.material.ZZLAMTM || "-"} 최종수정사용자 (ZZLAMUS) {data.material.ZZLAMUS || "-"} 자재마스터유형 (ZZMMTYP) {data.material.ZZMMTYP || "-"} MRC (ZZMRC) {data.material.ZZMRC || "-"} 선행후행조정관 (ZZPRCD_SCV_CTLP) {data.material.ZZPRCD_SCV_CTLP || "-"} CRUD 상태 (ZZPRFLG) {data.material.ZZPRFLG || "-"} 등록일자 (ZZREGDT) {data.material.ZZREGDT || "-"} 등록시간 (ZZREGTM) {data.material.ZZREGTM || "-"} 등록사용자 (ZZREGUS) {data.material.ZZREGUS || "-"} REP 자재 (ZZREPMAT) {data.material.ZZREPMAT || "-"} 대표지름 (ZZREP_DIA) {data.material.ZZREP_DIA || "-"} 대표지름단위 (ZZREP_DIA_UOM) {data.material.ZZREP_DIA_UOM || "-"} 대표품명재질 (ZZREP_ITM_MATL) {data.material.ZZREP_ITM_MATL || "-"} SM ID (ZZSMID) {data.material.ZZSMID || "-"} 철강재료 (ZZSTL) {data.material.ZZSTL || "-"} 생성일시 {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 || "-"} )) ) : ( 데이터가 없습니다 )}
) : (

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

)}
) }