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 매핑
@@ -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);