diff --git a/WebContent/jsp/onl/transaction/tracking/trackingMan.jsp b/WebContent/jsp/onl/transaction/tracking/trackingMan.jsp
index 01e9965..df76159 100644
--- a/WebContent/jsp/onl/transaction/tracking/trackingMan.jsp
+++ b/WebContent/jsp/onl/transaction/tracking/trackingMan.jsp
@@ -617,8 +617,9 @@
- | <%=localeMessage.getString("tracking.eaisvcserno_tmp")%> |
- |
+ API 명 |
+ |
+
<%=localeMessage.getString("tracking.logprcssserno")%> |
@@ -657,8 +658,11 @@
| -->
+ | <%=localeMessage.getString("tracking.eaisvcserno_tmp")%> |
+ |
+
<%=localeMessage.getString("tracking.keymgtmsgctnt")%> |
- |
+ |
<%-- <%=localeMessage.getString("tracking.orgGUID")%> |
| --%>
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 aad5b34..5c11fce 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,12 +8,6 @@ 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;
@@ -26,6 +20,12 @@ 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,26 +43,43 @@ 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);
- JPAQuery> query = new JPAQueryFactory(em).from(entityPathBase);
- appendConditions(eaiLogSearch, qeaiLog, entityPathBase, query);
-
- long totalCount = query.select(qeaiLog.id.msgdpstyms.count()).fetchOne();
+ long totalCount = countQuery.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 = query
+ List list = listQuery
// .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();
@@ -73,9 +90,15 @@ public class EAILogRepositoryImpl implements EAILogRepository {
public Map countDetailedTransactions(Class extends EAILog> 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);
- appendConditions(eaiLogSearch, qeaiLog, entityPathBase, query);
+ JPAQuery> query = new JPAQueryFactory(em)
+ .from(entityPathBase)
+ .leftJoin(qeaiMessageEntity)
+ .on(qeaiLog.eaisvcname.eq(qeaiMessageEntity.eAIMessageEntity.eaisvcname));
+
+ appendConditions(eaiLogSearch, qeaiLog, entityPathBase, qeaiMessageEntity, query);
List results = query.select(
qeaiLog.id.logprcssserno, // 로그 처리 상태
@@ -91,8 +114,7 @@ public class EAILogRepositoryImpl implements EAILogRepository {
return reult;
}
- private void appendConditions(EAILogSearch eaiLogSearch, QEAILog qeaiLog, EntityPathBase> entityPathBase, JPAQuery> query) {
-
+ private void appendConditions(EAILogSearch eaiLogSearch, QEAILog qeaiLog, EntityPathBase> entityPathBase, QEAIMessageEntity qeaiMessageEntity, JPAQuery> query) {
if (StringUtils.equalsIgnoreCase(eaiLogSearch.getAuthChk(), "Y")) {
QUserBusiness qUserBusiness = QUserBusiness.userBusiness;
JPAQuery subQuery = new JPAQueryFactory(em)
@@ -127,6 +149,10 @@ 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()));
diff --git a/src/main/java/com/eactive/eai/rms/data/entity/onl/logger/EAILogSearch.java b/src/main/java/com/eactive/eai/rms/data/entity/onl/logger/EAILogSearch.java
index 4caf25a..e7fce94 100644
--- a/src/main/java/com/eactive/eai/rms/data/entity/onl/logger/EAILogSearch.java
+++ b/src/main/java/com/eactive/eai/rms/data/entity/onl/logger/EAILogSearch.java
@@ -15,6 +15,7 @@ public class EAILogSearch {
private String searchEaiBzwkDstcd;
private String searchEaiSvcSerno;
private String searchEaiSvcName;
+ private String searchEaiSvcDesc;
private String searchKeyMgtMsgCtnt;
private String searchTrackAsisKey1Ctnt;
private String searchTrackAsisKey2Ctnt;