From 965f16623557a7c851785df80d111e6e802b53e4 Mon Sep 17 00:00:00 2001 From: daekuk Date: Mon, 12 Jan 2026 15:36:05 +0900 Subject: [PATCH 1/3] =?UTF-8?q?-=20required=20=EA=B2=80=EC=82=AC=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../authoutbound/outboundOauthCredentialManDetail.jsp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/WebContent/jsp/onl/admin/authoutbound/outboundOauthCredentialManDetail.jsp b/WebContent/jsp/onl/admin/authoutbound/outboundOauthCredentialManDetail.jsp index 8c527bd..3884bc4 100644 --- a/WebContent/jsp/onl/admin/authoutbound/outboundOauthCredentialManDetail.jsp +++ b/WebContent/jsp/onl/admin/authoutbound/outboundOauthCredentialManDetail.jsp @@ -103,6 +103,14 @@ init(key, detail); $("#btn_modify").click(function () { + // 필수값 체크 + var form = $('#ajaxForm')[0]; + + if (form.checkValidity() === false) { + form.reportValidity(); + return; + } + var postData = $('#ajaxForm').serializeArray(); if (isDetail) { postData.push({ From 75a1862745602e380f98ffc7d8416e1c02ca6045 Mon Sep 17 00:00:00 2001 From: daekuk Date: Mon, 12 Jan 2026 15:36:34 +0900 Subject: [PATCH 2/3] =?UTF-8?q?-=20alert=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebContent/jsp/onl/admin/adapter/adapterManDetail.jsp | 1 - 1 file changed, 1 deletion(-) diff --git a/WebContent/jsp/onl/admin/adapter/adapterManDetail.jsp b/WebContent/jsp/onl/admin/adapter/adapterManDetail.jsp index f6415f3..66fd2f1 100644 --- a/WebContent/jsp/onl/admin/adapter/adapterManDetail.jsp +++ b/WebContent/jsp/onl/admin/adapter/adapterManDetail.jsp @@ -640,7 +640,6 @@ $(document).ready(function() { } // 25.12.16 수정시 어댑터 리스트 자동저장 - alert("어댑터의 정보를 저장을 먼저 진행합니다.") var isSubSaveSuccess = ModifyPopCheckAndSave(true); if (!isSubSaveSuccess) { From 6ba8371331834f2eaedda852ec14859a186e08db Mon Sep 17 00:00:00 2001 From: Rinjae Date: Mon, 12 Jan 2026 16:14:57 +0900 Subject: [PATCH 3/3] =?UTF-8?q?AppRequest=20JPA=20Entity=20not=20found=20?= =?UTF-8?q?=EC=97=90=EB=9F=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../onl/apim/obp/ObpGwMetricJpaDAO.java | 32 ---------------- .../onl/apim/obp/ObpGwMetricManService.java | 37 ++++++++++++++++++- 2 files changed, 35 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/eactive/eai/rms/data/entity/onl/apim/obp/ObpGwMetricJpaDAO.java b/src/main/java/com/eactive/eai/rms/data/entity/onl/apim/obp/ObpGwMetricJpaDAO.java index c734adc..834a85a 100644 --- a/src/main/java/com/eactive/eai/rms/data/entity/onl/apim/obp/ObpGwMetricJpaDAO.java +++ b/src/main/java/com/eactive/eai/rms/data/entity/onl/apim/obp/ObpGwMetricJpaDAO.java @@ -1,7 +1,5 @@ package com.eactive.eai.rms.data.entity.onl.apim.obp; -import com.eactive.apim.portal.apprequest.entity.AppRequest; -import com.eactive.apim.portal.apprequest.entity.QAppRequest; import com.eactive.eai.data.entity.onl.message.EAIMessageEntity; import com.eactive.eai.data.entity.onl.message.QEAIMessageEntity; import com.eactive.eai.data.entity.onl.unifbwk.QUnifBwkTp; @@ -222,34 +220,4 @@ public class ObpGwMetricJpaDAO { return new UriMethodResult(uriMap, methodMap); } - - /** - * AppId 조회 (PTL_APP_REQUEST) - org_id로 조회 - * - * @param orgIds 기관 ID 목록 - * @return 기관 ID → 앱 ID 맵 - */ - public Map selectAppIdsByOrgIds(Set orgIds) { - if (orgIds == null || orgIds.isEmpty()) { - return new HashMap<>(); - } - - QAppRequest appRequest = QAppRequest.appRequest; - - List results = getQueryFactory() - .select(appRequest.org.id, appRequest.id) - .from(appRequest) - .where(appRequest.org.id.in(orgIds)) - .fetch(); - - Map result = new HashMap<>(); - for (Tuple tuple : results) { - String orgId = tuple.get(appRequest.org.id); - String appId = tuple.get(appRequest.id); - if (orgId != null && appId != null) { - result.put(orgId, appId); - } - } - return result; - } } diff --git a/src/main/java/com/eactive/eai/rms/onl/apim/obp/ObpGwMetricManService.java b/src/main/java/com/eactive/eai/rms/onl/apim/obp/ObpGwMetricManService.java index 61fc417..6ad1045 100644 --- a/src/main/java/com/eactive/eai/rms/onl/apim/obp/ObpGwMetricManService.java +++ b/src/main/java/com/eactive/eai/rms/onl/apim/obp/ObpGwMetricManService.java @@ -1,5 +1,7 @@ package com.eactive.eai.rms.onl.apim.obp; +import com.eactive.apim.portal.apprequest.entity.AppRequest; +import com.eactive.apim.portal.apprequest.repository.AppRequestRepository; import com.eactive.apim.portal.obp.entity.ObpGwMetric; import com.eactive.eai.rms.common.base.BaseService; import com.eactive.eai.rms.common.datasource.DataSourceContextHolder; @@ -44,10 +46,14 @@ public class ObpGwMetricManService extends BaseService { private final ObpGwMetricJpaDAO obpGwMetricJpaDAO; private final ObpGwMetricService obpGwMetricService; + private final AppRequestRepository appRequestRepository; - public ObpGwMetricManService(ObpGwMetricJpaDAO obpGwMetricJpaDAO, ObpGwMetricService obpGwMetricService) { + public ObpGwMetricManService(ObpGwMetricJpaDAO obpGwMetricJpaDAO, + ObpGwMetricService obpGwMetricService, + AppRequestRepository appRequestRepository) { this.obpGwMetricJpaDAO = obpGwMetricJpaDAO; this.obpGwMetricService = obpGwMetricService; + this.appRequestRepository = appRequestRepository; } /** @@ -174,7 +180,8 @@ public class ObpGwMetricManService extends BaseService { .map(ObpGwMetricVO::getOrgId) .filter(Objects::nonNull) .collect(Collectors.toSet()); - Map appIdMap = obpGwMetricJpaDAO.selectAppIdsByOrgIds(orgIds); + // AppRequestRepository(@EMSDataSource)를 사용하여 MONITORING 스키마에서 조회 + Map appIdMap = selectAppIdsByOrgIds(orgIds); int insertCount = 0; int updateCount = 0; @@ -290,4 +297,30 @@ public class ObpGwMetricManService extends BaseService { .map(ObpGwMetricAfterDTO::from) .collect(Collectors.toList()); } + + /** + * org.id 목록으로 AppRequest를 조회하여 orgId -> appId 맵 반환 + * + *

AppRequestRepository(@EMSDataSource)를 사용하여 MONITORING 스키마에서 조회

+ * + * @param orgIds 기관 ID 목록 + * @return orgId -> appId 맵 + */ + private Map selectAppIdsByOrgIds(Set orgIds) { + if (orgIds == null || orgIds.isEmpty()) { + return new HashMap<>(); + } + + List appRequests = appRequestRepository.findByOrg_IdIn(orgIds); + + Map result = new HashMap<>(); + for (AppRequest appRequest : appRequests) { + String orgId = appRequest.getOrg() != null ? appRequest.getOrg().getId() : null; + String appId = appRequest.getId(); + if (orgId != null && appId != null) { + result.put(orgId, appId); + } + } + return result; + } }