/** * 벤더용 PO 데이터 타입 정의 */ export interface VendorPO { id: number // 선택 체크박스 (1개만 선택 가능) // 메인 테이블 정보 contractNo: string // PO/계약번호 (EBELN) revision: string // Rev. (mock 데이터용) itemNo: string // 품번 (mock 데이터용) contractStatus: string // 계약상태 (ZPO_CNFM_STAT) contractType: string // 계약종류 (BSART) details: string // 상세 (mock 데이터용) projectName: string // 프로젝트 이름 projectCode?: string // 프로젝트 코드 (PSPID) contractName: string // 계약명/자재내역 (ZTITLE) contractPeriod: string // PO/계약기간 contractQuantity: string // PO/계약수량 currency: string // 계약통화 (ZPO_CURR) paymentTerms: string // 지불조건 (ZTERM) tax: string // Tax exchangeRate: string // 환율 (WKURS) deliveryTerms: string // 인도조건 (INCO1) purchaseManager: string // 구매/계약담당 poReceiveDate: string // PO/계약수신일 (AEDAT) contractDate: string // 계약체결일 lcNo?: string // L/C No. priceIndexTarget: boolean // 납품대금 연동제 대상 (ZDLV_PRICE_T) linkedContractNo?: string // 연계 PO/계약번호 lastModifiedDate: string // 최종수정일 lastModifiedBy: string // 최종수정자 // SAP ECC 추가 필드들 poVersion?: number // PO 버전 (ZPO_VER) purchaseDocType?: string // 구매문서유형 (BSART) purchaseOrg?: string // 구매조직 (EKORG) purchaseGroup?: string // 구매그룹 (EKGRP) poConfirmStatus?: string // PO확인상태 (ZPO_CNFM_STAT) // 계약/보증 관련 contractGuaranteeCode?: string // 계약보증코드 (ZCNRT_GRNT_CD) defectGuaranteeCode?: string // 하자보증코드 (ZDFCT_GRNT_CD) guaranteePeriodCode?: string // 보증기간코드 (ZGRNT_PRD_CD) advancePaymentYn?: string // 선급금여부 (ZPAMT_YN) // 금액 관련 budgetAmount?: number // 예산금액 (ZBGT_AMT) budgetCurrency?: string // 예산통화 (ZBGT_CURR) totalAmount?: number // 총 계약 금액 (ZPO_AMT) totalAmountKrw?: number // 발주금액KRW (ZPO_AMT_KRW) // 전자계약/승인 관련 electronicContractYn?: string // 전자계약필요여부 (ZELC_CNRT_ND_YN) electronicApprovalDate?: string // 전자승인일자 (ZELC_AGR_DT) electronicApprovalTime?: string // 전자승인시간 (ZELC_AGR_TM) ownerApprovalYn?: string // 선주승인필요여부 (ZOWN_AGR_IND_YN) // 기타 plannedInOutFlag?: string // 계획내외구분 (ZPLN_INO_GB) settlementStandard?: string // 정산기준 (ZECAL_BSE) weightSettlementFlag?: string // 중량정산구분 (ZWGT_ECAL_GB) // 연동제 관련 priceIndexYn?: string // 납품대금연동제대상여부 (ZDLV_PRICE_T) writtenContractNo?: string // 서면계약번호 (ZWEBELN) contractVersion?: number // 서면계약차수 (ZVER_NO) // 계약서 내용 및 노트 contractContent?: string // 계약서 내용 (ZMM_NOTE에서 추출) remarks?: string // 비고 (ECC에서 추가 정보) // 벤더 정보 (발주서 출력용) vendorName?: string // 공급자명 vendorAddress?: string // 공급자 주소 vendorAddressDetail?: string // 공급자 상세주소 vendorPhone?: string // 공급자 전화번호 vendorFax?: string // 공급자 팩스번호 vendorEmail?: string // 공급자 이메일 // 구매담당자 정보 (발주서 출력용) purchaseManagerName?: string // 구매담당자 이름 // 상세품목 정보 (다이얼로그에서 표시) items?: VendorPOItem[] } export interface VendorPOItem { contractNo: string // PO/계약번호 itemNo: string // 품번 (EBELP) prNo: string // P/R번호 (BANFN) prItemNo: string // PR 품번 (BNFPO) materialGroup: string // 자재그룹(명) priceStandard: string // 단가기준 materialNo: string // 자재번호 itemDescription: string // 품목/자재내역 materialSpec: string // 자재내역사양 designMaterialNo?: string // 설계자재번호 fittingNo?: string // Fitting No. cert?: string // Cert. material?: string // 재질 specification: string // 규격 quantity: number // 수량 quantityUnit: string // 수량단위 (기존) ZPO_UNIT?: string // SAP 구매오더수량단위 weight?: number // 중량 weightUnit?: string // 중량단위 totalWeight?: number // 총중량 unitPrice: number // 단가기준 (단가 - NETPR) // 가격 관련 추가 필드 PEINH?: number // 가격단위값 (예: 1, 10, 100) BPRME?: string // 구매단가단위 (EA, KG 등) ZNETPR?: number // 발주단가 ZREF_NETPR?: number // 참조단가 priceUnit: string // 단가단위 priceUnitValue: string // 가격단위값 contractAmount: number // PO계약금액 (기존 필드 - 호환성 유지) adjustmentAmount?: number // 조정금액 (기존 필드 - 호환성 유지) // SAP ECC 금액 필드 (금액 관계: NETWR = BRTWR + ZPDT_EXDS_AMT) NETWR?: number // 오더정가 (최종 정가) BRTWR?: number // 오더총액 (기본 총액) ZPDT_EXDS_AMT?: number // 할인/할증금액 (조정금액: 할인은 음수, 할증은 양수) // 위치 정보 WERKS?: string // 플랜트코드 LGORT?: string // 저장위치 // RFQ 추적 ANFNR?: string // RFQ번호 ANFPS?: string // RFQ품목번호 // 자재 추적 ZPO_LOT_NO?: string // Steel Material Marking No // 볼륨 정보 VOLUM?: number // 볼륨 VOLEH?: string // 볼륨단위 deliveryDate: string // 납기일자 (기존) ZPO_DLV_DT?: string // SAP PO납기일자 ZPLN_ST_DT?: string // SAP 예정시작일자 ZPLN_ED_DT?: string // SAP 예정종료일자 LFDAT?: string // PR Delivery Date ZRCV_DT?: string // 구매접수일자 // 기타 ZCON_IND?: string // 시리즈구분 (SS 등) vatType: string // VAT구분 steelSpec?: string // 철의장 SPEC prManager: string // P/R 담당자 remark?: string // 비고 (contract_items.remark) } // 파싱된 벤더 PO 타입 (JSON 필드들이 파싱된 상태) export interface VendorPOParsed extends Omit { items: VendorPOItem[] } // 벤더 PO 액션 타입들 export type VendorPOActionType = | "pcr-create" // PCR생성 | "item-status" // 상세품목현황 | "contract-detail" // 계약상세 | "po-note" // PO Note | "price-index" // 연동표입력 | "approve" // 승인 | "cancel-approve" // 승인취소 | "reject-contract" // 계약거절 | "print-contract" // 계약서출력 | "view-items" // 상세품목 보기 (다이얼로그)