summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-10-01 14:50:38 +0900
committerjoonhoekim <26rote@gmail.com>2025-10-01 14:50:38 +0900
commitad5fc089cb7e677d47d82c14adeabf09963e5611 (patch)
tree5d39281bf1e51bbbcb70eaa20c5db3888a0fed10
parentc57ceb7df0f36d200a71be740c533a18077e2795 (diff)
(김준회) PCR 수신부 - 박유정프로 요구사항 반영
-rw-r--r--app/api/(S-ERP)/(ECC)/IF_ECC_EVCP_PCR/route.ts26
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 데이터 변환 (단일 테이블이므로 간단함)