From 83f67ed333f0237b434a41d1eceef417c0d48313 Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Mon, 25 Aug 2025 10:52:24 +0000 Subject: (김준회) 설정 변경 및 WSDL namespace 반영, 로그인 완료시 dashboard 이동 (콜백 없을 때) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/soap/mdg/mapper/project-mapper.ts | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'lib/soap/mdg/mapper') diff --git a/lib/soap/mdg/mapper/project-mapper.ts b/lib/soap/mdg/mapper/project-mapper.ts index 112dd4f5..6de2b38a 100644 --- a/lib/soap/mdg/mapper/project-mapper.ts +++ b/lib/soap/mdg/mapper/project-mapper.ts @@ -76,10 +76,9 @@ export async function mapAndSaveMDGProjectData( /** * MDG 프로젝트 데이터를 비즈니스 테이블 projects 구조로 변환 - * TODO: 실제 매핑 로직은 사용자가 추가할 예정 * id: serial("id").primaryKey(), << 자동 - code: varchar("code", { length: 50 }).notNull(), << + code: varchar("code", { length: 50 }).notNull(), name: text("name").notNull(), type: varchar("type", { length: 20 }).default("ship").notNull(), pspid: char('pspid', { length: 24 }).unique(), // 프로젝트ID (ECC), TODO: 매핑 필요 @@ -94,12 +93,15 @@ function mapMDGToProject(mdgProject: MDGProjectData): ProjectData | null { return null; } - // TODO: 사용자가 실제 매핑 로직을 추가할 예정 // 현재는 기본 구조만 제공 const mappedProject: ProjectData = { code: mdgProject.PROJ_NO || '', - name: mdgProject.PROJ_NM || mdgProject.PROJ_NO || '', - type: 'ship', // 기본값, 필요시 매핑 로직 추가 + name: mdgProject.PROJ_DSC || '', + type: checkProjectType(mdgProject.TYPE || ''), // 기본값, 필요시 매핑 로직 추가 + // type 매핑 방법: TYPE 네임스페이스에서 null 값을 수신한 경우 조선(ship)이고, 그 외는 해양(plant)이다. + // 수신할 수 있는 경우의 수는 H, T, H/T, null 인데, 필요시 hull / top 구분 처리하자. 현재는 조선/해양 구분만 필요하고, 기존 코드들도 plant 값인지 ship 값인지만 따지고 있다. + // 의미상으로는 H = 해양 Hull, T = 해양 Top, H/T = 해양 Hull과 Top 둘 다 하는 프로젝트 인데, 일단은 조선/해양 구분만 ship/plant 값을 넣어주는 것으로 하자. + // TODO: pspid를 구해야 하는데 mdg에서 안주는 것 같음. 나프로에게 문의함. pspid: mdgProject.PROJ_NO || null, // ECC 프로젝트 ID와 연결 // id, createdAt, updatedAt는 자동 생성 }; @@ -167,3 +169,13 @@ async function saveProjectsToDatabase(mappedProjects: ProjectData[]): Promise