From 4f0d7c2fa23871e1b1b10a38e3c5b426fb2adebb Mon Sep 17 00:00:00 2001 From: daekuk Date: Tue, 3 Mar 2026 13:10:57 +0900 Subject: [PATCH] =?UTF-8?q?init=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 | 103 ++++++++---------- 1 file changed, 43 insertions(+), 60 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 7ac9a79..38126bd 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 @@ -1,19 +1,5 @@ package com.eactive.eai.rms.data.entity.onl.logger; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -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; @@ -25,6 +11,18 @@ import com.querydsl.core.types.dsl.BooleanExpression; 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; + +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Repository public class EAILogRepositoryImpl implements EAILogRepository { @@ -44,47 +42,38 @@ public class EAILogRepositoryImpl implements EAILogRepository { QEAIMessageEntity qeaiMessageEntity = QEAIMessageEntity.eAIMessageEntity; - JPAQuery query = new JPAQueryFactory(em) - .from(entityPathBase) - .leftJoin(qeaiMessageEntity) - .on(qeaiLog.eaisvcname.eq(qeaiMessageEntity.eaisvcname)); - - appendConditions(eaiLogSearch, qeaiLog, entityPathBase, query, qeaiMessageEntity); + 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); - } + if (totalCount == 0) { + return new PageImpl<>(new ArrayList<>(), pageable, 0); + } - 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, - qeaiMessageEntity.eaisvcdesc)) - // .from(...) --> 이미 위에서 선언했으므로 생략 - // .leftJoin(...) --> 이미 위에서 선언했으므로 생략 - .orderBy(qeaiLog.id.msgdpstyms.desc(), qeaiLog.id.eaisvcserno.asc(), qeaiLog.id.logprcssserno.asc()) - .limit(1000) - .fetch(); + 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, + 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(); - return new PageImpl<>(list, pageable, totalCount); + return new PageImpl<>(list, pageable, totalCount); } 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.eaisvcname)); - - appendConditions(eaiLogSearch, qeaiLog, entityPathBase, query, qeaiMessageEntity); + JPAQuery query = new JPAQueryFactory(em).from(entityPathBase); + appendConditions(eaiLogSearch, qeaiLog, entityPathBase, query); List results = query.select( qeaiLog.id.logprcssserno, // 로그 처리 상태 @@ -100,7 +89,7 @@ public class EAILogRepositoryImpl implements EAILogRepository { return reult; } - private void appendConditions(EAILogSearch eaiLogSearch, QEAILog qeaiLog, EntityPathBase entityPathBase, JPAQuery query, QEAIMessageEntity qeaiMessageEntity) { + private void appendConditions(EAILogSearch eaiLogSearch, QEAILog qeaiLog, EntityPathBase entityPathBase, JPAQuery query) { if (StringUtils.equalsIgnoreCase(eaiLogSearch.getAuthChk(), "Y")) { QUserBusiness qUserBusiness = QUserBusiness.userBusiness; @@ -118,30 +107,24 @@ public class EAILogRepositoryImpl implements EAILogRepository { .where(qeaiLog.id.logprcssserno.eq(eaiLogSearch.getSearchLogPrcssSerno())); return; } - - boolean hasSvcSerno = StringUtils.isNotBlank(eaiLogSearch.getSearchEaiSvcSerno()); - - if (hasSvcSerno) { - query.where(qeaiLog.id.eaisvcserno.contains(eaiLogSearch.getSearchEaiSvcSerno())); - } else { - if (StringUtils.isNotBlank(eaiLogSearch.getSearchStartTime())) { - query + + if (StringUtils.isNotBlank(eaiLogSearch.getSearchStartTime())) { + query .where(qeaiLog.id.msgdpstyms - .between(eaiLogSearch.getSearchStartTime(), eaiLogSearch.getSearchEndTime())); - } + .between(eaiLogSearch.getSearchStartTime(), eaiLogSearch.getSearchEndTime())); } - + if (StringUtils.isNotBlank(eaiLogSearch.getSearchEaiBzwkDstcd())) { query.where(qeaiLog.id.eaibzwkdstcd.eq(eaiLogSearch.getSearchEaiBzwkDstcd())); } + if (StringUtils.isNotBlank(eaiLogSearch.getSearchEaiSvcSerno())) { + query.where(qeaiLog.id.eaisvcserno.contains(eaiLogSearch.getSearchEaiSvcSerno())); + } + 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()));