diff --git a/WebContent/jsp/onl/kjb/statistics/apiStatsHourMan.jsp b/WebContent/jsp/onl/kjb/statistics/apiStatsHourMan.jsp
index 2ac6916..f1f71e5 100644
--- a/WebContent/jsp/onl/kjb/statistics/apiStatsHourMan.jsp
+++ b/WebContent/jsp/onl/kjb/statistics/apiStatsHourMan.jsp
@@ -52,6 +52,8 @@
var url = '';
var url_view = '';
var url_minute_view = '';
+ var url_left_menu = '';
+ var DASHBOARD_MENU_ID = '0305001'; // apiStatsMinuteMan(대시보드) 메뉴 ID
var totalDonutChart, callChart;
@@ -162,23 +164,20 @@
var hour = parseInt(statTime.substring(8, 10));
var startDate = year + '-' + month + '-' + day;
- var startTime = (hour < 10 ? '0' + hour : hour) + ':00';
-
- // 1시간 후 계산 (23시인 경우 다음날 00시로 자동 계산)
- var d = new Date(parseInt(year), parseInt(month) - 1, parseInt(day), hour, 0, 0);
- d.setHours(d.getHours() + 1);
-
- var endDate = d.getFullYear() + '-' +
- (d.getMonth() + 1 < 10 ? '0' : '') + (d.getMonth() + 1) + '-' +
- (d.getDate() < 10 ? '0' : '') + d.getDate();
- var endTime = (d.getHours() < 10 ? '0' : '') + d.getHours() + ':00';
+ var hourStr = (hour < 10 ? '0' + hour : hour);
+ var startTime = hourStr + ':00';
+ // 해당 시간대 끝(정시~59분)으로 이동 (예: 10:00~10:59)
+ var endTime = hourStr + ':59';
var params = '?searchStartDate=' + startDate + '&searchStartTime=' + startTime
- + '&searchEndDate=' + endDate + '&searchEndTime=' + endTime;
- params += '&menuId='+'${param.menuId}';
+ + '&searchEndDate=' + startDate + '&searchEndTime=' + endTime;
+ params += '&menuId='+DASHBOARD_MENU_ID;
params += '&cmd='+'LIST';
params += '&serviceType='+'APIGW';
+ // 왼쪽 메뉴도 대시보드(분단위 통계) 메뉴로 전환
+ parent.leftFrame.location.href = url_left_menu + '?menuId=' + DASHBOARD_MENU_ID
+ + '&serviceType=' + sessionStorage["serviceType"];
location.href = url_minute_view + params;
}
diff --git a/WebContent/jsp/onl/kjb/statistics/apiStatsMinuteMan.jsp b/WebContent/jsp/onl/kjb/statistics/apiStatsMinuteMan.jsp
index feae786..7f4f9f3 100644
--- a/WebContent/jsp/onl/kjb/statistics/apiStatsMinuteMan.jsp
+++ b/WebContent/jsp/onl/kjb/statistics/apiStatsMinuteMan.jsp
@@ -262,14 +262,14 @@
var diffMinutes = (end - start) / (1000 * 60);
if (diffMinutes > 60) {
- // 1시간 초과 시 시작 + 1시간으로 조정
- endDateTime = updateEndTime(new Date(start.getTime() + 60 * 60 * 1000));
+ // 1시간 초과 시 시작시각 기준 1시간치(정시~59분)로 조정
+ endDateTime = updateEndTime(new Date(start.getTime() + 59 * 60 * 1000));
} else {
endDateTime = formatDateTime(end);
}
} else {
- // 종료시간 미입력 시 시작 + 1시간으로 설정
- endDateTime = updateEndTime(new Date(start.getTime() + 60 * 60 * 1000));
+ // 종료시간 미입력 시 시작시각 기준 1시간치(정시~59분)로 설정
+ endDateTime = updateEndTime(new Date(start.getTime() + 59 * 60 * 1000));
}
return { start: startDateTime, end: endDateTime };
@@ -325,8 +325,8 @@
}
// 조회기간을 정시 단위 1시간 구간으로 이동 (direction: -1 이전, 1 이후)
- // ex) 시작 08:35, 이전 클릭 -> 08:00~09:00, 다시 -> 07:00~08:00
- // ex) 시작 08:35, 이후 클릭 -> 09:00~10:00, 다시 -> 10:00~11:00
+ // ex) 시작 08:35, 이전 클릭 -> 08:00~08:59, 다시 -> 07:00~07:59
+ // ex) 시작 08:35, 이후 클릭 -> 09:00~09:59, 다시 -> 10:00~10:59
function shiftTimeRange(direction) {
var startDate = $("input[name=searchStartDate]").val().replace(/-/g, "");
var startTime = $("input[name=searchStartTime]").val().replace(/:/g, "");
@@ -350,7 +350,8 @@
start.setHours(start.getHours() + 1);
}
- var end = new Date(start.getTime() + 60 * 60 * 1000);
+ // 종료시각은 같은 시간대의 59분으로 설정 (예: 10:00~10:59)
+ var end = new Date(start.getTime() + 59 * 60 * 1000);
function pad(n) { return String(n).padStart(2, '0'); }
@@ -580,9 +581,9 @@
$("input[name=searchStartDate]").datepicker();
- // 기본값 설정 (현재 시간(분) 기준 1시간 전 ~ 현재 시간(분))
+ // 기본값 설정 (현재 시간(분) 기준 59분 전 ~ 현재 시간(분))
var now = new Date();
- var oneHourAgo = new Date(now.getTime() - 60 * 60 * 1000);
+ var oneHourAgo = new Date(now.getTime() - 59 * 60 * 1000);
function formatDate(d) {
return d.getFullYear() + '-' +