client id 없는 거래 제휴사명 표기

This commit is contained in:
eastargh
2026-07-31 10:24:33 +09:00
parent ca8d46c7b8
commit d11f7d9f38
2 changed files with 56 additions and 26 deletions
@@ -242,6 +242,10 @@
search();
});
$("input[name=searchType]").click(function() {
search();
});
$("#btn_excel").click(function() {
exportToExcel();
});
@@ -61,13 +61,12 @@ public class ApiUseStatsService
private Query getDataQuery(ApiStatsSearch search) {
StringBuilder where = buildNativeWhere(search);
String dataSql = "";
if ("ORG".equals(search.getSearchType())) {
dataSql = "SELECT COUNT(*) OVER () AS RECORDS "
+ ", B.ORGNAME"
+ ", NVL(B.ORGNAME, D.ORG_NAME) AS ORGNAME"
+ ", SUM(A.TOTAL_CNT)"
+ ", SUM(A.SUCCESS_CNT)"
+ ", CASE WHEN SUM(A.TOTAL_CNT) > 0 THEN SUM(A.SUCCESS_CNT) * 100 / SUM(A.TOTAL_CNT) ELSE NULL END"
@@ -77,13 +76,41 @@ public class ApiUseStatsService
+ ", CASE WHEN SUM(A.TOTAL_CNT) > 0 THEN TRUNC(SUM(A.TOTAL_CNT * A.AVG_RESP_TIME) / SUM(A.TOTAL_CNT)) ELSE NULL END"
+ ", MIN(A.MIN_RESP_TIME)"
+ ", MAX(A.MAX_RESP_TIME)"
+ " FROM ("
+ " SELECT A.STAT_TIME "
+ " , A.API_NAME"
+ " , A.CLIENT_ID "
+ " , A.TOTAL_CNT"
+ " , A.SUCCESS_CNT"
+ " , A.AVG_RESP_TIME"
+ " , A.TIMEOUT_CNT"
+ " , A.SYSTEM_ERR_CNT"
+ " , A.MIN_RESP_TIME"
+ " , A.MAX_RESP_TIME"
+ " , CASE WHEN API_NAME LIKE '%1' THEN SUBSTR(INBOUND_ADAPTER,2,3) ELSE SUBSTR(OUTBOUND_ADAPTER,2,3) END AS ORG_CODE"
+ " FROM API_STATS_DAY A "
+ " WHERE A.STAT_TIME >= :searchStartDate "
+ " AND A.STAT_TIME <= :searchEndDate ";
if (StringUtils.isNotBlank(search.getSearchApiName())) {
dataSql += " AND A.API_NAME LIKE :searchApiName ";
}
dataSql += " ) A"
+ " LEFT OUTER JOIN TSEAIAU01 B ON A.CLIENT_ID = B.CLIENTID"
+ " LEFT OUTER JOIN TSEAIHE01 C ON A.API_NAME = C.EAISVCNAME "
+ where
+ " GROUP BY B.ORGNAME"
+ " LEFT OUTER JOIN EMSAPP.PTL_ORG D ON A.ORG_CODE = D.ORG_CODE"
+ " WHERE 1=1 ";
if (StringUtils.isNotBlank(search.getSearchOrgName())) {
dataSql += " AND UPPER(NVL(B.ORGNAME, D.ORG_NAME)) LIKE :searchOrgName ";
}
dataSql += " GROUP BY NVL(B.ORGNAME, D.ORG_NAME)"
+ " ORDER BY ORGNAME";
} else if ("API".equals(search.getSearchType())) {
}
else if ("API".equals(search.getSearchType())) {
dataSql = "SELECT COUNT(*) OVER () AS RECORDS "
+ ", A.API_NAME"
+ ", SUM(A.TOTAL_CNT)"
@@ -97,11 +124,11 @@ public class ApiUseStatsService
+ ", MAX(A.MAX_RESP_TIME)"
+ " FROM API_STATS_DAY A "
+ " LEFT OUTER JOIN TSEAIAU01 B ON A.CLIENT_ID = B.CLIENTID"
+ " LEFT OUTER JOIN TSEAIHE01 C ON A.API_NAME = C.EAISVCNAME "
+ where
+ " GROUP BY A.API_NAME"
+ " ORDER BY API_NAME";
} else if ("DATE".equals(search.getSearchType())) {
}
else if ("DATE".equals(search.getSearchType())) {
dataSql = "SELECT COUNT(*) OVER () AS RECORDS "
+ ", TO_CHAR(STAT_TIME,'YYYY-MM-DD') AS STAT_TIME "
+ ", SUM(A.TOTAL_CNT)"
@@ -115,23 +142,24 @@ public class ApiUseStatsService
+ ", MAX(A.MAX_RESP_TIME)"
+ " FROM API_STATS_DAY A "
+ " LEFT OUTER JOIN TSEAIAU01 B ON A.CLIENT_ID = B.CLIENTID"
+ " LEFT OUTER JOIN TSEAIHE01 C ON A.API_NAME = C.EAISVCNAME "
+ where
+ " GROUP BY TO_CHAR(STAT_TIME,'YYYY-MM-DD')"
+ " ORDER BY STAT_TIME";
}
Query dataQuery = entityManager.createNativeQuery(dataSql);
if (search.getParsedStartDate() != null) {
dataQuery.setParameter("searchStartDate", search.getParsedStartDate());
dataQuery.setParameter("searchEndDate", search.getParsedEndDate());
if (StringUtils.isNotBlank(search.getSearchApiName())) {
dataQuery.setParameter("searchApiName", "%" + search.getSearchApiName().toUpperCase() + "%");
}
if (StringUtils.isNotBlank(search.getSearchOrgName())) {
dataQuery.setParameter("searchOrgName", "%" + search.getSearchOrgName().toUpperCase() + "%");
}
if (StringUtils.isNotBlank(search.getSearchApiName())) {
dataQuery.setParameter("searchApiName", "%" + search.getSearchApiName().toUpperCase() + "%");
}
return dataQuery;
}
@@ -163,19 +191,17 @@ public class ApiUseStatsService
calculateDateRange(search);
if (search.getParsedStartDate() != null) {
where.append(" AND A.STAT_TIME >= :searchStartDate ");
where.append(" AND A.STAT_TIME <= :searchEndDate ");
if (StringUtils.isNotBlank(search.getSearchApiName())) {
where.append(" AND A.API_NAME LIKE :searchApiName ");
}
if (StringUtils.isNotBlank(search.getSearchOrgName())) {
where.append(" AND UPPER(B.ORGNAME) LIKE :searchOrgName ");
}
if (StringUtils.isNotBlank(search.getSearchApiName())) {
where.append(" AND UPPER(C.EAISVCDESC) LIKE :searchApiName ");
}
return where;
}