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() + '-' +