From dc8351d5cec18328912b03722b55841718c7f335 Mon Sep 17 00:00:00 2001 From: daekuk Date: Thu, 11 Dec 2025 15:54:01 +0900 Subject: [PATCH] =?UTF-8?q?=ED=99=9C=EC=84=B1=20API=20=EC=B2=98=EB=A6=AC?= =?UTF-8?q?=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inflow/inflowGroupControlManDetail.jsp | 45 +++++++++++++++++-- .../group/InflowGroupControlManService.java | 4 +- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/WebContent/jsp/onl/admin/inflow/inflowGroupControlManDetail.jsp b/WebContent/jsp/onl/admin/inflow/inflowGroupControlManDetail.jsp index 99f319d..ea2ef28 100644 --- a/WebContent/jsp/onl/admin/inflow/inflowGroupControlManDetail.jsp +++ b/WebContent/jsp/onl/admin/inflow/inflowGroupControlManDetail.jsp @@ -111,7 +111,8 @@ function detail(url, key) { $.each(json.interfaceList, function(i, item) { interfaceList.push({ interfaceId: item.interfaceId || item.INTERFACEID, - interfaceDesc: item.interfaceDesc || item.INTERFACEDESC + interfaceDesc: item.interfaceDesc || item.INTERFACEDESC, + useYn: item.useYn || item.USEYN || '1' }); }); } @@ -127,7 +128,15 @@ function renderInterfaceList() { var container = $('#interfaceListContainer'); container.empty(); + var activeCount = interfaceList.filter(function(item) { + return item.useYn === '1' || item.useYn === undefined; + }).length; $('#interfaceCountNum').text(interfaceList.length); + if (interfaceList.length > 0 && activeCount === interfaceList.length) { + $('#interfaceActiveLabel').html('전체 활성'); + } else { + $('#interfaceActiveLabel').html('활성 ' + activeCount + '개'); + } if (interfaceList.length === 0) { container.html('inbox 매핑된 API가 없습니다'); @@ -157,7 +166,10 @@ function renderInterfaceList() { function getInterfaceListJson() { var gridData = []; $.each(interfaceList, function(i, item) { - gridData.push({interfaceId: item.interfaceId}); + gridData.push({ + interfaceId: item.interfaceId, + useYn: item.useYn !== undefined ? item.useYn : '1' + }); }); return JSON.stringify(gridData); } @@ -381,6 +393,19 @@ function renderBucketStatus(servers) { $('#summaryThresholdWrap').hide(); } + // 활성 API 정보 표시 + var activeApis = interfaceList.filter(function(item) { + return item.useYn === '1' || item.useYn === undefined; + }); + $('#summaryActiveApi').html(activeApis.length + ''); + if (activeApis.length > 0) { + var apiIds = activeApis.map(function(item) { return item.interfaceId; }); + var displayText = apiIds.length <= 3 ? apiIds.join(', ') : apiIds.slice(0, 3).join(', ') + ' 외 ' + (apiIds.length - 3) + '개'; + $('#summaryActiveApiList').text(displayText); + } else { + $('#summaryActiveApiList').text(''); + } + $('#bucketSummary').show(); } else { $('#bucketSummary').hide(); @@ -536,6 +561,15 @@ $(document).ready(function() { item.useYn = useYn; } }); + // 활성 건수 업데이트 + var activeCount = interfaceList.filter(function(item) { + return item.useYn === '1' || item.useYn === undefined; + }).length; + if (interfaceList.length > 0 && activeCount === interfaceList.length) { + $('#interfaceActiveLabel').html('전체 활성'); + } else { + $('#interfaceActiveLabel').html('활성 ' + activeCount + '개'); + } }); $("#btn_modify").click(function() { @@ -816,7 +850,7 @@ $(document).ready(function() { API 매핑
- 매핑된 API 0 + 매핑된 API 0개 (활성 0)
@@ -869,6 +903,11 @@ $(document).ready(function() { 0req
+
+ 적용 API + 0 + +
diff --git a/src/main/java/com/eactive/eai/rms/onl/manage/inflow/group/InflowGroupControlManService.java b/src/main/java/com/eactive/eai/rms/onl/manage/inflow/group/InflowGroupControlManService.java index 636e550..29f7b34 100644 --- a/src/main/java/com/eactive/eai/rms/onl/manage/inflow/group/InflowGroupControlManService.java +++ b/src/main/java/com/eactive/eai/rms/onl/manage/inflow/group/InflowGroupControlManService.java @@ -179,7 +179,9 @@ public class InflowGroupControlManService extends BaseService { InflowControlGroupMapping mapping = new InflowControlGroupMapping(); mapping.setInterfaceId(mappingUI.getInterfaceId()); mapping.setGroupId(groupId); - mapping.setUseYn("1"); + // 화면에서 전달된 useYn 사용, 없으면 기본값 "1" + String useYn = StringUtils.isNotEmpty(mappingUI.getUseYn()) ? mappingUI.getUseYn() : "1"; + mapping.setUseYn(useYn); mapping.setModifiedBy(modifiedBy); mapping.setModifiedAt(LocalDateTime.now()); mappingRepository.save(mapping);