- 로그검색 화면 API명으로 검색 할 수 있도록 수정

This commit is contained in:
daekuk
2026-01-23 09:30:40 +09:00
parent 8b4a8bf8c8
commit 33fa30a49b
@@ -44,8 +44,12 @@ public class EAILogRepositoryImpl implements EAILogRepository {
QEAIMessageEntity qeaiMessageEntity = QEAIMessageEntity.eAIMessageEntity; QEAIMessageEntity qeaiMessageEntity = QEAIMessageEntity.eAIMessageEntity;
JPAQuery<?> query = new JPAQueryFactory(em).from(entityPathBase); JPAQuery<?> query = new JPAQueryFactory(em)
appendConditions(eaiLogSearch, qeaiLog, entityPathBase, query); .from(entityPathBase)
.leftJoin(qeaiMessageEntity)
.on(qeaiLog.eaisvcname.eq(qeaiMessageEntity.eaisvcname));
appendConditions(eaiLogSearch, qeaiLog, entityPathBase, query, qeaiMessageEntity);
long totalCount = query.select(qeaiLog.id.msgdpstyms.count()).fetchOne(); long totalCount = query.select(qeaiLog.id.msgdpstyms.count()).fetchOne();
@@ -60,9 +64,8 @@ public class EAILogRepositoryImpl implements EAILogRepository {
qeaiLog.eaisvcname, qeaiLog.extbizcd, qeaiLog.refkey, qeaiLog.clientname, qeaiLog.eaisvcname, qeaiLog.extbizcd, qeaiLog.refkey, qeaiLog.clientname,
qeaiLog.orgname, qeaiLog.msgprcssyms, qeaiLog.companycode, qeaiLog.eaierrctnt, qeaiLog.orgname, qeaiLog.msgprcssyms, qeaiLog.companycode, qeaiLog.eaierrctnt,
qeaiMessageEntity.eaisvcdesc)) qeaiMessageEntity.eaisvcdesc))
.from(entityPathBase) // .from(...) --> 이미 위에서 선언했으므로 생략
.leftJoin(qeaiMessageEntity) // .leftJoin(...) --> 이미 위에서 선언했으므로 생략
.on(qeaiLog.eaisvcname.eq(qeaiMessageEntity.eaisvcname))
.orderBy(qeaiLog.id.msgdpstyms.desc(), qeaiLog.id.eaisvcserno.asc(), qeaiLog.id.logprcssserno.asc()) .orderBy(qeaiLog.id.msgdpstyms.desc(), qeaiLog.id.eaisvcserno.asc(), qeaiLog.id.logprcssserno.asc())
.limit(1000) .limit(1000)
.fetch(); .fetch();
@@ -74,8 +77,14 @@ public class EAILogRepositoryImpl implements EAILogRepository {
QEAILog qeaiLog = QEAILog.eAILog; QEAILog qeaiLog = QEAILog.eAILog;
EntityPathBase<?> entityPathBase = new EntityPathBase<>(clazz, qeaiLog.getMetadata().getName()); EntityPathBase<?> entityPathBase = new EntityPathBase<>(clazz, qeaiLog.getMetadata().getName());
JPAQuery<?> query = new JPAQueryFactory(em).from(entityPathBase); QEAIMessageEntity qeaiMessageEntity = QEAIMessageEntity.eAIMessageEntity;
appendConditions(eaiLogSearch, qeaiLog, entityPathBase, query);
JPAQuery<?> query = new JPAQueryFactory(em)
.from(entityPathBase)
.leftJoin(qeaiMessageEntity)
.on(qeaiLog.eaisvcname.eq(qeaiMessageEntity.eaisvcname));
appendConditions(eaiLogSearch, qeaiLog, entityPathBase, query, qeaiMessageEntity);
List<Tuple> results = query.select( List<Tuple> results = query.select(
qeaiLog.id.logprcssserno, // 로그 처리 상태 qeaiLog.id.logprcssserno, // 로그 처리 상태
@@ -91,7 +100,7 @@ public class EAILogRepositoryImpl implements EAILogRepository {
return reult; return reult;
} }
private void appendConditions(EAILogSearch eaiLogSearch, QEAILog qeaiLog, EntityPathBase<?> entityPathBase, JPAQuery<?> query) { private void appendConditions(EAILogSearch eaiLogSearch, QEAILog qeaiLog, EntityPathBase<?> entityPathBase, JPAQuery<?> query, QEAIMessageEntity qeaiMessageEntity) {
if (StringUtils.equalsIgnoreCase(eaiLogSearch.getAuthChk(), "Y")) { if (StringUtils.equalsIgnoreCase(eaiLogSearch.getAuthChk(), "Y")) {
QUserBusiness qUserBusiness = QUserBusiness.userBusiness; QUserBusiness qUserBusiness = QUserBusiness.userBusiness;
@@ -128,6 +137,10 @@ public class EAILogRepositoryImpl implements EAILogRepository {
query.where(qeaiLog.eaisvcname.containsIgnoreCase(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())) { if (StringUtils.isNotBlank(eaiLogSearch.getSearchKeyMgtMsgCtnt())) {
query.where(qeaiLog.keymgtmsgctnt.contains(eaiLogSearch.getSearchKeyMgtMsgCtnt())); query.where(qeaiLog.keymgtmsgctnt.contains(eaiLogSearch.getSearchKeyMgtMsgCtnt()));
} }