export interface VendorContact { id: number; contactName: string; contactPosition: string; contactEmail: string; contactPhone: string; isPrimary: boolean; } export interface VendorAttachment { id: number; fileName: string; filePath: string; attachmentType: string; createdAt: string; } export interface VendorProcessInfo { processCount: number; processPIC: string; processApprovalDate: string; implementationApproval: string; } export interface VendorContractInfo { contractRegistrationNumber: string; contractPeriod: string; lastEquipmentInspection: string; } export interface VendorSalesData { totalSales: string; totalDebt: string; totalEquity: string; operatingProfit: string; netIncome: string; } export interface VendorAdditionalInfo { postalCode: string; detailAddress: string; mainBusiness: string; employeeCount: number; businessType: string; } export interface VendorOrganization { representative: number; sales: number; design: number; procurement: number; production: number; quality: number; } export interface VendorFactoryInfo { factoryAddress: string; factoryEstablishmentDate: string; factoryPIC: string; factoryPICContact: string; factoryPICEmail: string; } export interface VendorInspectionInfo { inspectionResult: string; inspectionDate: string; inspectionReportUrl?: string; } export interface VendorEvaluationInfo { regularEvaluationGrade: string; safetyQualificationEvaluation: string; companyTransactionRatio: string; } export interface VendorClassificationInfo { vendorClassification: string; groupCompany: string; preferredLanguage: string; industryType: string; isoCertification: string; } export interface VendorContractDetails { regularRegistrationStatus: string; preferredContractTerms: string; recentTransactionStatus: string; compliancePledgeDate: string; technicalDataDate: string; confidentialityDate: string; gtcDate: string; standardSubcontractDate: string; safetyHealthDate: string; directMaterialDate: string; domesticLCDate: string; mutualGrowthDate: string; ethicsDate: string; } export interface VendorCapacityInfo { annualSales: string; productionCapacity: string; mainSupplyItems: string; } export interface VendorCalculatedMetrics { debtRatio: number; borrowingDependency: number; operatingMargin: number; netMargin: number; salesGrowth: number; currentRatio: number; } export interface VendorData { id: number; vendorName: string; vendorCode: string; taxId: string; address: string; addressDetail: string; postalCode: string; businessSize: string; country: string; phone: string; fax: string; email: string; website: string; status: string; isAssociationMember: string | null; representativeName: string; representativeBirth: string; representativeEmail: string; representativePhone: string; representativeWorkExperience: boolean; corporateRegistrationNumber: string; creditAgency: string; creditRating: string; cashFlowRating: string; createdAt: string; updatedAt: string; contacts: VendorContact[]; attachments: VendorAttachment[]; processInfo: VendorProcessInfo; contractInfo: VendorContractInfo; salesInfo: { [year: string]: VendorSalesData; }; additionalInfo: VendorAdditionalInfo; organization: VendorOrganization; factoryInfo: VendorFactoryInfo; inspectionInfo: VendorInspectionInfo; evaluationInfo: VendorEvaluationInfo; classificationInfo: VendorClassificationInfo; contractDetails: VendorContractDetails; capacityInfo: VendorCapacityInfo; calculatedMetrics: { [year: string]: VendorCalculatedMetrics; }; } export interface VendorFormData { vendorName: string; representativeName: string; representativeWorkExperience: boolean; representativeBirth: string; representativePhone: string; representativeEmail: string; addressDetail: string; postalCode: string; phone: string; fax: string; email: string; address: string; businessSize: string; country: string; website: string; businessType: string; employeeCount: number; mainBusiness: string; }