diff options
| author | joonhoekim <26rote@gmail.com> | 2025-08-25 07:20:26 +0000 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-08-25 07:20:26 +0000 |
| commit | fe924e1581fff24a91d65b33313bd3f39499bd72 (patch) | |
| tree | 9b5f7b26db3079ce0a10fc6f57700a78e678c00d /app/api/(S-ERP)/(MDG) | |
| parent | 4a10344c046a8746744c311804f46bd60c0d8bd8 (diff) | |
(김준회) ECC 인터페이스 관련 작업사항2 (PO, PR 수신부 관련)
Diffstat (limited to 'app/api/(S-ERP)/(MDG)')
| -rw-r--r-- | app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_PROJECT_MASTER/route.ts | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_PROJECT_MASTER/route.ts b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_PROJECT_MASTER/route.ts index fd7fb027..a1a016c2 100644 --- a/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_PROJECT_MASTER/route.ts +++ b/app/api/(S-ERP)/(MDG)/IF_MDZ_EVCP_PROJECT_MASTER/route.ts @@ -15,6 +15,9 @@ import { withSoapLogging } from "@/lib/soap/utils"; import { bulkUpsert } from "@/lib/soap/batch-utils"; // 서브테이블 없음 +import { + mapAndSaveMDGProjectData +} from "@/lib/soap/mdg/mapper/project-mapper"; // 스키마에서 직접 타입 추론 @@ -51,7 +54,7 @@ export async function POST(request: NextRequest) { 'IF_MDZ_EVCP_PROJECT_MASTER', body, async () => { - console.log('Request Body 일부:', body.substring(0, 200) + (body.length > 200 ? '...' : '')); + console.log('🚀 PROJECT_MASTER 수신 시작, 데이터 길이:', body.length); const parser = createXMLParser(['CMCTB_PROJ_MAST']); const parsedData = parser.parse(body); @@ -83,10 +86,19 @@ export async function POST(request: NextRequest) { } } - // 데이터베이스 저장 + // 1) 원본 MDG 데이터 저장 (기존 로직 유지) await saveToDatabase(processedProjects); - console.log(`Processed ${processedProjects.length} projects`); + // 2) 비즈니스 테이블 projects에 매핑하여 저장 + const projectMappingResult = await mapAndSaveMDGProjectData( + processedProjects.map(p => p.project) + ); + + if (!projectMappingResult.success) { + throw new Error(`프로젝트 비즈니스 테이블 매핑 실패: ${projectMappingResult.message}`); + } + + console.log(`🎉 처리 완료: ${processedProjects.length}개 프로젝트, ${projectMappingResult.processedCount}개 비즈니스 테이블 매핑`); return createSuccessResponse('http://60.101.108.100/api/IF_MDZ_EVCP_PROJECT_MASTER/'); } |
