From 71da97df822749f92d9296a93ad85bce4100eb2b Mon Sep 17 00:00:00 2001 From: daekuk Date: Thu, 6 Nov 2025 14:35:05 +0900 Subject: [PATCH 1/2] =?UTF-8?q?1.=20=EC=9A=94=EC=B2=AD/=EC=9D=91=EB=8B=B5?= =?UTF-8?q?=EA=B0=92=EC=9D=B4=20async=20=EA=B0=80=20=EC=95=84=EB=8B=88?= =?UTF-8?q?=EB=A9=B4=20'S'=20=EB=A1=9C=20=EB=B3=80=EA=B2=BD=EB=90=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95.=202.=20Trantype?= =?UTF-8?q?=EC=97=90=20=EB=94=B0=EB=9D=BC=20=EC=8B=9C=EB=AC=BC=EB=A0=88?= =?UTF-8?q?=EC=9D=B4=EC=85=98=20=EA=B0=92=20=EB=84=A3=EC=96=B4=EC=A3=BC?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95,=20=ED=99=94=EB=A9=B4?= =?UTF-8?q?=EC=97=90=EC=84=9C=20simYn=20=ED=99=95=EC=9D=B8=20=ED=9B=84=20?= =?UTF-8?q?=ED=99=9C=EC=84=B1=ED=99=94.=203.=20=EC=97=91=EC=85=80=20?= =?UTF-8?q?=EB=8B=A4=EC=9A=B4=EB=A1=9C=EB=93=9C=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=ED=9B=84=20=EC=A3=BC=EC=84=9D=EC=B2=98?= =?UTF-8?q?=EB=A6=AC,=20=ED=95=84=EC=9A=94=EC=8B=9C=20=EC=A3=BC=EC=84=9D?= =?UTF-8?q?=ED=95=B4=EC=A0=9C=ED=95=B4=EC=84=9C=20=EC=82=AC=EC=9A=A9.=204.?= =?UTF-8?q?=20=EC=97=91=EC=85=80=20=EB=8B=A4=EC=9A=B4=EB=A1=9C=EB=93=9C=20?= =?UTF-8?q?=EC=8B=9C=20syncType=20=EB=B0=8F=20async=20=EC=96=B4=EB=8C=91?= =?UTF-8?q?=ED=84=B0=20=EA=B0=92=EC=9D=84=20=EC=A0=9C=EB=8C=80=EB=A1=9C=20?= =?UTF-8?q?=EB=84=98=EA=B2=A8=EC=A3=BC=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95.=205.=20=EC=97=91=EC=85=80=20IMPORT=20=EC=8B=9C=20syn?= =?UTF-8?q?cType=20=EB=B0=8F=20async=20=EC=96=B4=EB=8C=91=ED=84=B0=20?= =?UTF-8?q?=EA=B0=92=EC=9D=84=20=EC=A0=9C=EB=8C=80=EB=A1=9C=20=EB=84=98?= =?UTF-8?q?=EA=B2=A8=EC=A3=BC=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apim/apiInterfaceManDetail.jsp | 33 ++++++--- .../transaction/apim/ApiInterfaceService.java | 70 +++++++++++++++++-- .../apim/mapping/ApiInterfaceUIMapper.java | 6 +- 3 files changed, 93 insertions(+), 16 deletions(-) diff --git a/WebContent/jsp/onl/transaction/apim/apiInterfaceManDetail.jsp b/WebContent/jsp/onl/transaction/apim/apiInterfaceManDetail.jsp index fa3deb8..09bb0f7 100644 --- a/WebContent/jsp/onl/transaction/apim/apiInterfaceManDetail.jsp +++ b/WebContent/jsp/onl/transaction/apim/apiInterfaceManDetail.jsp @@ -427,7 +427,7 @@ if('Y' == data.transformYn){ $('#toggleTransformYn').bootstrapToggle('on'); } - if('Y' == data.sinYn){ + if('Y' == data.simYn){ $('#toggleSimYn').bootstrapToggle('on'); } if('Y' == data.apiEnabledYn){ @@ -1317,6 +1317,7 @@ +<%-- --%>
${rmsMenuName}
-
+
@@ -1368,6 +1369,10 @@
+
+
+ +
@@ -1424,14 +1429,17 @@

-
- - - - + + + + - +
@@ -1702,8 +1710,11 @@ 응답 수신 메소드
diff --git a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceService.java b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceService.java index 9629911..c401f87 100644 --- a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceService.java +++ b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/ApiInterfaceService.java @@ -709,6 +709,8 @@ public class ApiInterfaceService extends OnlBaseService { sheet.setColumnWidth(ci++, 200 * 30); sheet.setColumnWidth(ci++, 300 * 30); sheet.setColumnWidth(ci++, 200 * 30); + sheet.setColumnWidth(ci++, 200 * 30); + sheet.setColumnWidth(ci++, 300 * 30); sheet.setColumnWidth(ci, 300 * 30); int rowNum = 0; @@ -730,6 +732,8 @@ public class ApiInterfaceService extends OnlBaseService { createCell(row, cellIndex++, textStyle, apiInterfaceUI.getEaiSvcDesc()); createCell(row, cellIndex++, headerStyle, "변환여부(Y/N)"); createCell(row, cellIndex++, textStyle, apiInterfaceUI.getTransformYn()); + createCell(row, cellIndex++, headerStyle, "Sync/Async 타입"); + createCell(row, cellIndex++, textStyle, apiInterfaceUI.getSyncAsyncType()); rowNum = addTitle(sheet, ++rowNum, titleStyle, "어댑터 설정"); row = sheet.createRow(rowNum++); @@ -738,8 +742,23 @@ public class ApiInterfaceService extends OnlBaseService { createCell(row, cellIndex++, headerStyle, "인바운드 어댑터"); createCell(row, cellIndex++, textStyle, apiInterfaceUI.getFromAdapter()); createCell(row, cellIndex++, headerStyle, "아웃바운드 어댑터"); - createCell(row, cellIndex, textStyle, apiInterfaceUI.getToAdapter()); - + createCell(row, cellIndex++, textStyle, apiInterfaceUI.getToAdapter()); + + //SYNC TYPE 에 따라 추가정보 생성 + String syncAsyncType = apiInterfaceUI.getSyncAsyncType(); + + if (syncAsyncType.equals("asyncSync") || syncAsyncType.equals("syncAsync")) { + + if (apiInterfaceUI.getSyncAsyncType().equals("asyncSync")) { + createCell(row, cellIndex++, headerStyle, "INBOUND (ASYNC) 응답 어댑터"); + createCell(row, cellIndex, textStyle, apiInterfaceUI.getFromResponseAdapter()); + } else { + createCell(row, cellIndex++, headerStyle, "OUTBOUND (ASYNC) 응답 어댑터"); + createCell(row, cellIndex, textStyle, apiInterfaceUI.getToResponseAdapter()); + } + + } + rowNum = addTitle(sheet, ++rowNum, titleStyle, "REST 설정"); row = sheet.createRow(rowNum++); row.setHeightInPoints(height); // 행 높이를 20 포인트로 설정 @@ -747,14 +766,30 @@ public class ApiInterfaceService extends OnlBaseService { createCell(row, cellIndex++, headerStyle, "수신 메소드"); createCell(row, cellIndex++, textStyle, apiInterfaceUI.getInboundHttpMethod()); createCell(row, cellIndex++, headerStyle, "수신 PATH(URL)"); - createCell(row, cellIndex, textStyle, apiInterfaceUI.getInboundRestPath()); + createCell(row, cellIndex++, textStyle, apiInterfaceUI.getInboundRestPath()); + + if(apiInterfaceUI.getSyncAsyncType().equals("asyncSync")) { + createCell(row, cellIndex++, headerStyle, "응답 송신 메소드"); + createCell(row, cellIndex++, textStyle, apiInterfaceUI.getInboundResponseHttpMethod()); + createCell(row, cellIndex++, headerStyle, "응답 송신 REST PATH(URL)"); + createCell(row, cellIndex, textStyle, apiInterfaceUI.getInboundResponseRestPath()); + } + row = sheet.createRow(rowNum++); row.setHeightInPoints(height); // 행 높이를 20 포인트로 설정 cellIndex = 0; // 초기 셀 인덱스 createCell(row, cellIndex++, headerStyle, "송신 메소드"); createCell(row, cellIndex++, textStyle, apiInterfaceUI.getOutboundHttpMethod()); createCell(row, cellIndex++, headerStyle, "송신 PATH(URL)"); - createCell(row, cellIndex, textStyle, apiInterfaceUI.getOutboundRestPath()); + createCell(row, cellIndex++, textStyle, apiInterfaceUI.getOutboundRestPath()); + + if(apiInterfaceUI.getSyncAsyncType().equals("syncAsync")) { + createCell(row, cellIndex++, headerStyle, "응답 수신 메소드"); + createCell(row, cellIndex++, textStyle, apiInterfaceUI.getOutboundResponseHttpMethod()); + createCell(row, cellIndex++, headerStyle, "송신 REST PATH(URL)"); + createCell(row, cellIndex, textStyle, apiInterfaceUI.getOutboundResponseRestPath()); + } + if ("Y".equals(apiInterfaceUI.getTransformYn())) { rowNum = addTitle(sheet, ++rowNum, titleStyle, "변환 설정"); @@ -808,9 +843,27 @@ public class ApiInterfaceService extends OnlBaseService { String interfaceDesc = PoiUtils.getCellValue(sheet, 2, 1); String transformYn = PoiUtils.getCellValue(sheet, 2, 3); + String syncAsyncType = PoiUtils.getCellValue(sheet, 2, 5); String inboundAdapterGroupName = PoiUtils.getCellValue(sheet, 5, 1); String outboundAdapterGroupName = PoiUtils.getCellValue(sheet, 5, 3); + String inboundResponseHttpMethod = ""; + String inboundResponseRestPath = ""; + String fromResponseAdapter = ""; + + String outboundResponseHttpMethod = ""; + String outboundResponseRestPath = ""; + String toResponseAdapter = ""; + + if (syncAsyncType.equals("asyncSync")) { + inboundResponseHttpMethod = PoiUtils.getCellValue(sheet, 8, 5); + inboundResponseRestPath = PoiUtils.getCellValue(sheet, 8, 7); + fromResponseAdapter = PoiUtils.getCellValue(sheet, 5, 5); + } else if (syncAsyncType.equals("syncAsync")) { + outboundResponseHttpMethod = PoiUtils.getCellValue(sheet, 9, 5); + outboundResponseRestPath = PoiUtils.getCellValue(sheet, 9, 7); + toResponseAdapter = PoiUtils.getCellValue(sheet, 5, 5); + } String inboundHttpMethod = PoiUtils.getCellValue(sheet, 8, 1); String inboundRestPath = PoiUtils.getCellValue(sheet, 8, 3); @@ -824,6 +877,7 @@ public class ApiInterfaceService extends OnlBaseService { apiInterfaceUI.setEaiSvcName(elinkServiceId); apiInterfaceUI.setEaiSvcDesc(interfaceDesc); apiInterfaceUI.setTransformYn(transformYn); + apiInterfaceUI.setSyncAsyncType(syncAsyncType); apiInterfaceUI.setFromAdapter(inboundAdapterGroupName); apiInterfaceUI.setToAdapter(outboundAdapterGroupName); @@ -832,6 +886,14 @@ public class ApiInterfaceService extends OnlBaseService { apiInterfaceUI.setInboundRestPath(inboundRestPath); apiInterfaceUI.setOutboundHttpMethod(outboundHttpMethod); apiInterfaceUI.setOutboundRestPath(outboundRestPath); + + apiInterfaceUI.setInboundResponseHttpMethod(inboundResponseHttpMethod); + apiInterfaceUI.setInboundResponseRestPath(inboundResponseRestPath); + apiInterfaceUI.setFromResponseAdapter(fromResponseAdapter); + + apiInterfaceUI.setOutboundResponseHttpMethod(outboundResponseHttpMethod); + apiInterfaceUI.setOutboundResponseRestPath(outboundResponseRestPath); + apiInterfaceUI.setToResponseAdapter(toResponseAdapter); apiInterfaceUI.setIsHeaderRouting(false); diff --git a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/mapping/ApiInterfaceUIMapper.java b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/mapping/ApiInterfaceUIMapper.java index fb9e897..6ac8dff 100644 --- a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/mapping/ApiInterfaceUIMapper.java +++ b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/mapping/ApiInterfaceUIMapper.java @@ -110,6 +110,10 @@ public interface ApiInterfaceUIMapper { syncAsyncType = "asyncSync"; } vo.setSyncAsyncType(syncAsyncType); + + // 가상응답 여부 + String simYn = "T".equals(eaiMessageEntity.getTrantype()) ? "Y" : "N"; + vo.setSimYn(simYn); vo.setToAdapter(requestEntity.getPsvsysadptrbzwkgroupname()); vo.setToutVal(requestEntity.getToutval()); @@ -193,4 +197,4 @@ public interface ApiInterfaceUIMapper { break; } } -} +} \ No newline at end of file From d8f477550461a7dcb5d7bf46fee208320da3edf2 Mon Sep 17 00:00:00 2001 From: daekuk Date: Thu, 6 Nov 2025 15:11:20 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EC=8B=A0=EA=B7=9C=EC=83=9D=EC=84=B1?= =?UTF-8?q?=EC=8B=9C=20=EA=B0=80=EC=83=81=EC=9D=91=EB=8B=B5=20=EC=A0=80?= =?UTF-8?q?=EC=9E=A5=EC=95=88=ED=95=98=EB=8A=94=20=EB=B6=80=EB=B6=84=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../onl/transaction/apim/mapping/ApiInterfaceUIMapper.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/mapping/ApiInterfaceUIMapper.java b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/mapping/ApiInterfaceUIMapper.java index 6ac8dff..c70d363 100644 --- a/src/main/java/com/eactive/eai/rms/onl/transaction/apim/mapping/ApiInterfaceUIMapper.java +++ b/src/main/java/com/eactive/eai/rms/onl/transaction/apim/mapping/ApiInterfaceUIMapper.java @@ -190,6 +190,11 @@ public interface ApiInterfaceUIMapper { if(vo == null || vo.getSyncAsyncType() == null){ return; } + + // 가상응답 여부 + String tranType = "Y".equals(vo.getSimYn()) ? "T" : "R"; + entity.setTrantype(tranType); + switch(vo.getSyncAsyncType()){ case "async": case "asyncSync":