From 038c99de0bc692374684e1dd8165790b7023f814 Mon Sep 17 00:00:00 2001 From: daekuk Date: Tue, 13 Jan 2026 10:36:22 +0900 Subject: [PATCH] =?UTF-8?q?-=20=EC=BF=BC=EB=A6=AC=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=EB=A1=9C=20=EC=A1=B0=ED=9A=8C=EA=B8=B0=EB=8A=A5=20=EB=B9=84?= =?UTF-8?q?=EC=A0=95=EC=83=81=20=EB=8F=99=EC=9E=91,=20=EC=9D=B4=EC=A0=84?= =?UTF-8?q?=20=EC=BB=A4=EB=B0=8B=EC=9C=BC=EB=A1=9C=20=EC=9B=90=EB=B3=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../onl/logger/EAILogRepositoryImpl.java | 68 ++++++------------- 1 file changed, 21 insertions(+), 47 deletions(-) diff --git a/src/main/java/com/eactive/eai/rms/data/entity/onl/logger/EAILogRepositoryImpl.java b/src/main/java/com/eactive/eai/rms/data/entity/onl/logger/EAILogRepositoryImpl.java index 5c11fce..aad5b34 100644 --- a/src/main/java/com/eactive/eai/rms/data/entity/onl/logger/EAILogRepositoryImpl.java +++ b/src/main/java/com/eactive/eai/rms/data/entity/onl/logger/EAILogRepositoryImpl.java @@ -8,6 +8,12 @@ import java.util.stream.Collectors; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; +import org.apache.commons.lang3.StringUtils; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Repository; + import com.eactive.eai.data.entity.onl.logger.EAILog; import com.eactive.eai.data.entity.onl.logger.EAILogId; import com.eactive.eai.data.entity.onl.logger.QEAILog; @@ -20,12 +26,6 @@ import com.querydsl.core.types.dsl.EntityPathBase; import com.querydsl.jpa.impl.JPAQuery; import com.querydsl.jpa.impl.JPAQueryFactory; -import org.apache.commons.lang3.StringUtils; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.PageImpl; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Repository; - @Repository public class EAILogRepositoryImpl implements EAILogRepository { @@ -43,43 +43,26 @@ public class EAILogRepositoryImpl implements EAILogRepository { EntityPathBase entityPathBase = new EntityPathBase<>(clazz, qeaiLog.getMetadata().getName()); QEAIMessageEntity qeaiMessageEntity = QEAIMessageEntity.eAIMessageEntity; - - // Count Query - JPAQuery countQuery = new JPAQueryFactory(em) - .from(entityPathBase) - .leftJoin(qeaiMessageEntity) - .on(qeaiLog.eaisvcname.eq(qeaiMessageEntity.eaisvcname)); - - appendConditions(eaiLogSearch, qeaiLog, entityPathBase, qeaiMessageEntity, countQuery); - long totalCount = countQuery.select(qeaiLog.id.msgdpstyms.count()).fetchOne(); + JPAQuery query = new JPAQueryFactory(em).from(entityPathBase); + appendConditions(eaiLogSearch, qeaiLog, entityPathBase, query); + + long totalCount = query.select(qeaiLog.id.msgdpstyms.count()).fetchOne(); if (totalCount == 0) { return new PageImpl<>(new ArrayList<>(), pageable, 0); } - - // List Query 분리 - JPAQuery listQuery = new JPAQueryFactory(em) - .from(entityPathBase) - .leftJoin(qeaiMessageEntity) - .on(qeaiLog.eaisvcname.eq(qeaiMessageEntity.eaisvcname)); - List list = listQuery + List list = query // .select(Projections.constructor(EAILogDto.class, qeaiLog, qeaiMessageEntity.eaisvcdesc)) .select(Projections.constructor(EAILogDto.class, - qeaiLog.id, - qeaiLog.trackasiskey1ctnt, - qeaiLog.trackasiskey2ctnt, - qeaiLog.keymgtmsgctnt, - qeaiLog.eaisvcname, - qeaiLog.extbizcd, - qeaiLog.refkey, - qeaiLog.clientname, - qeaiLog.orgname, - qeaiLog.msgprcssyms, - qeaiLog.companycode, - qeaiLog.eaierrctnt, + qeaiLog.id, qeaiLog.trackasiskey1ctnt, qeaiLog.trackasiskey2ctnt, qeaiLog.keymgtmsgctnt, + qeaiLog.eaisvcname, qeaiLog.extbizcd, qeaiLog.refkey, qeaiLog.clientname, + qeaiLog.orgname, qeaiLog.msgprcssyms, qeaiLog.companycode, qeaiLog.eaierrctnt, qeaiMessageEntity.eaisvcdesc)) + .from(entityPathBase) + .leftJoin(qeaiMessageEntity) + .on(qeaiLog.eaisvcname.eq(qeaiMessageEntity.eaisvcname)) .orderBy(qeaiLog.id.msgdpstyms.desc(), qeaiLog.id.eaisvcserno.asc(), qeaiLog.id.logprcssserno.asc()) .limit(1000) .fetch(); @@ -90,15 +73,9 @@ public class EAILogRepositoryImpl implements EAILogRepository { public Map countDetailedTransactions(Class clazz, EAILogSearch eaiLogSearch) { QEAILog qeaiLog = QEAILog.eAILog; EntityPathBase entityPathBase = new EntityPathBase<>(clazz, qeaiLog.getMetadata().getName()); - - QEAIMessageEntity qeaiMessageEntity = QEAIMessageEntity.eAIMessageEntity; - JPAQuery query = new JPAQueryFactory(em) - .from(entityPathBase) - .leftJoin(qeaiMessageEntity) - .on(qeaiLog.eaisvcname.eq(qeaiMessageEntity.eAIMessageEntity.eaisvcname)); - - appendConditions(eaiLogSearch, qeaiLog, entityPathBase, qeaiMessageEntity, query); + JPAQuery query = new JPAQueryFactory(em).from(entityPathBase); + appendConditions(eaiLogSearch, qeaiLog, entityPathBase, query); List results = query.select( qeaiLog.id.logprcssserno, // 로그 처리 상태 @@ -114,7 +91,8 @@ public class EAILogRepositoryImpl implements EAILogRepository { return reult; } - private void appendConditions(EAILogSearch eaiLogSearch, QEAILog qeaiLog, EntityPathBase entityPathBase, QEAIMessageEntity qeaiMessageEntity, JPAQuery query) { + private void appendConditions(EAILogSearch eaiLogSearch, QEAILog qeaiLog, EntityPathBase entityPathBase, JPAQuery query) { + if (StringUtils.equalsIgnoreCase(eaiLogSearch.getAuthChk(), "Y")) { QUserBusiness qUserBusiness = QUserBusiness.userBusiness; JPAQuery subQuery = new JPAQueryFactory(em) @@ -149,10 +127,6 @@ public class EAILogRepositoryImpl implements EAILogRepository { if (StringUtils.isNotBlank(eaiLogSearch.getSearchEaiSvcName())) { query.where(qeaiLog.eaisvcname.containsIgnoreCase(eaiLogSearch.getSearchEaiSvcName())); } - - if (StringUtils.isNotBlank(eaiLogSearch.getSearchEaiSvcDesc())) { - query.where(qeaiMessageEntity.eaisvcdesc.containsIgnoreCase(eaiLogSearch.getSearchEaiSvcDesc())); - } if (StringUtils.isNotBlank(eaiLogSearch.getSearchKeyMgtMsgCtnt())) { query.where(qeaiLog.keymgtmsgctnt.contains(eaiLogSearch.getSearchKeyMgtMsgCtnt()));