// POS 관련 타입 정의 export interface PosFileInfo { projNo: string; posNo: string; posRevNo: string; fileSer: string; fileName: string; dcmtmId: string; } export interface GetDcmtmIdParams { /** * 자재코드 (MATNR) * 예: 'SN2693A6410100001' */ materialCode: string; } export interface GetDcmtmIdResult { success: boolean; files?: PosFileInfo[]; error?: string; } export interface GetEncryptDocumentumFileParams { objectID: string; /** * 사번. 기본값: 'EVM0236' (context2.txt 기준) */ sabun?: string; /** * 앱 코드. 기본값: 환경변수 POS_APP_CODE 또는 'SO13'(품질) */ appCode?: string; /** * 파일 생성 모드. 기본값: 1 (context2.txt 기준) * 0: PDF Rendition 우선, 실패시 원본 * 1: 원본 파일 * 2: PDF 파일 * 3: TIFF 파일 */ fileCreateMode?: number; /** * 보안 레벨. 기본값: 'SedamsClassID' */ securityLevel?: string; /** * 설계파일 여부. 기본값: true (context2.txt 기준) */ isDesign?: boolean; } export interface DownloadPosFileParams { /** * POS API에서 반환된 상대 경로 * 예: "asd_as_2509131735233768_OP02\asd_as_2509131735233768_OP02.tif" */ relativePath: string; } /** * NFS 마운트를 통한 파일 접근 파라미터 */ export interface AccessNfsFileParams { /** * POS API에서 반환된 상대 경로 */ relativePath: string; } export interface AccessNfsFileResult { success: boolean; fileName?: string; fileBuffer?: Buffer; mimeType?: string; fullPath?: string; error?: string; } export interface DownloadPosFileResult { success: boolean; fileName?: string; fileBuffer?: Buffer; mimeType?: string; error?: string; } export interface PosFileSyncResult { success: boolean; processedCount: number; successCount: number; failedCount: number; errors: string[]; details: { materialCode: string; fileName?: string; status: 'success' | 'failed' | 'no_files'; error?: string; }[]; } // POS SOAP 엔드포인트 정보 export const POS_SOAP_SEGMENT = '/Documentum/PlmFileBroker.asmx'; export const POS_SOAP_BASE_URL = process.env.POS_SOAP_ENDPOINT || 'http://60.100.99.122:7700'; export const POS_SOAP_ENDPOINT = `${POS_SOAP_BASE_URL}${POS_SOAP_SEGMENT}`; // NFS 마운트 관련 설정 // 60.191.99.123/Download 경로가 /mnt/nfs-documentum에 마운트되어 있음 // 따라서 NFS 마운트 경로 내부에 별도의 Download 폴더를 추가하지 않음 export const DOCUMENTUM_NFS_PATH = process.env.DOCUMENTUM_NFS || '/mnt/nfs-documentum/';