diff options
| author | joonhoekim <26rote@gmail.com> | 2025-10-01 14:50:38 +0900 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-10-01 14:50:38 +0900 |
| commit | ad5fc089cb7e677d47d82c14adeabf09963e5611 (patch) | |
| tree | 5d39281bf1e51bbbcb70eaa20c5db3888a0fed10 /app | |
| parent | c57ceb7df0f36d200a71be740c533a18077e2795 (diff) | |
(김준회) PCR 수신부 - 박유정프로 요구사항 반영
Diffstat (limited to 'app')
| -rw-r--r-- | app/api/(S-ERP)/(ECC)/IF_ECC_EVCP_PCR/route.ts | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/app/api/(S-ERP)/(ECC)/IF_ECC_EVCP_PCR/route.ts b/app/api/(S-ERP)/(ECC)/IF_ECC_EVCP_PCR/route.ts index ec04e176..623fa29e 100644 --- a/app/api/(S-ERP)/(ECC)/IF_ECC_EVCP_PCR/route.ts +++ b/app/api/(S-ERP)/(ECC)/IF_ECC_EVCP_PCR/route.ts @@ -45,7 +45,7 @@ export async function POST(request: NextRequest) { console.log('🚀 PCR 수신 시작, 데이터 길이:', body.length); // 1) XML 파싱 - const parser = createXMLParser(['T_PCR']); + const parser = createXMLParser(['ZMM_PCR']); const parsedData = parser.parse(body); // 2) SOAP Body 또는 루트에서 요청 데이터 추출 @@ -70,17 +70,19 @@ export async function POST(request: NextRequest) { console.log(`🎉 처리 완료: ${processedData.length}개 PCR 데이터`); - // 6) 성공 응답 반환 + // 6) 성공 응답 반환 - 각 PCR 데이터에 대해 ZMM_RT 객체 생성 + const responseZmmRtList = processedData.map((pcrData) => ({ + PCR_REQ: pcrData.PCR_REQ || '', + PCR_REQ_SEQ: pcrData.PCR_REQ_SEQ || '', + EBELN: pcrData.EBELN || '', + EBELP: pcrData.EBELP || '', + MSGTY: 'S', + MSGTXT: '', + })); + return createSoapResponse('http://60.101.108.100/', { 'tns:IF_ECC_EVCP_PCRRes': { - ZMM_RT: { - PCR_REQ: processedData[0]?.PCR_REQ || '', - PCR_REQ_SEQ: processedData[0]?.PCR_REQ_SEQ || '', - EBELN: processedData[0]?.EBELN || '', - EBELP: processedData[0]?.EBELP || '', - MSGTY: 'S', - MSGTXT: '', - }, + ZMM_RT: responseZmmRtList, }, }); } @@ -111,12 +113,12 @@ type PCRDataXML = ToXMLFields<Omit<PCRData, 'id' | 'createdAt' | 'updatedAt'>>; // Root XML Request 타입 type PCRRequestXML = { CHG_GB?: string; - T_PCR?: PCRDataXML[]; + ZMM_PCR?: PCRDataXML[]; }; // XML -> DB 데이터 변환 함수 function transformPCRData(requestData: PCRRequestXML): PCRData[] { - const pcrItems = requestData.T_PCR || []; + const pcrItems = requestData.ZMM_PCR || []; return pcrItems.map((item) => { // PCR 데이터 변환 (단일 테이블이므로 간단함) |
