Index: arms/html/analysisResource/content-container.html =================================================================== diff -u -r07a5aaa57c3dab863d21b5261f8f1bbcca8ece73 -r6b402a9eef1048f96de284d6030d7077a474ac8a --- arms/html/analysisResource/content-container.html (.../content-container.html) (revision 07a5aaa57c3dab863d21b5261f8f1bbcca8ece73) +++ arms/html/analysisResource/content-container.html (.../content-container.html) (revision 6b402a9eef1048f96de284d6030d7077a474ac8a) @@ -1,18 +1,559 @@
-
+ +
-

- - Java Service Tree Framework DevTools +

+ + + 리소스 분석 +

+
+
+
+ 선택한 제품(서비스)와 버전의 Time별 요구사항 현황 +
+ +
+
+
+
+
+
+

+ + + 제품(서비스) - 버전 선택 + +

+
+
+
+
+ 1. Productservice 를 선택해 주세요 +
+
+ +
+
+
+ 2. Productservice의 버전을 선택해 주세요 +
+
+
+ +
+
+
+
+
+
- 개발중 +
+
+
+

+ + + 요구사항 및 연결이슈 통계 + +

+
+
+
+
+
+ 요구사항 수
-

+
+
+ 연결이슈 수
-

+
+
+
+
+
+
+
+

+ + + 작업자 현황 통계 + +

+
+
+
+
+
+ 총 작업자 수 : -
+
+
+ 투입 작업자 수 : -
+
+
+ 작업자 평균 요구사항 수 : -
+
+
+ 작업자 평균 연결이슈 수 : -
+
+
+
+
+
+ + +
+ + +
+
+
+

+ + + 두번째 박스 + +

+ +
+
+
+
+
+
+
+

+ + + 샌키 + +

+
+
+
+
+ + +
+
+
+
+
+
+
+ +
+
+
+

+ + + 트리맵 + +

+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+
+

+ + + 세번째 박스 + +

+ +
+
+
+
+
+
+
+

+ + + 전체 어플리케이션 진행 현황 컬러표 + +

+
+
+
+
    +
    +
  • + + 전환전 +
  • +
  • + + 진행중 +
  • +
  • + + 전환완료 +
  • +
    +
    +
+
+
+
+
+
+
+

+ 제품(서비스) 버전별 + + 요구사항 상태 + +

+
+
+ + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SourceAmountChangeTarget
Direct713+53900
Refer562+84500
Social148-12180
Search653+23876
Internal976+101844
+
+
+
+
+
+
+
+ + +
+
+
+

+ + + 네번째 박스 + +

+ +
+
+
+
+
+
+
+

이슈 상태 현황

+
+
+
+
+
+
+
+

요구사항 및 이슈 상태 누적 현황

+
+
+
+
+
+
+
+
\ No newline at end of file Index: arms/js/analysisResource.js =================================================================== diff -u -r07a5aaa57c3dab863d21b5261f8f1bbcca8ece73 -r6b402a9eef1048f96de284d6030d7077a474ac8a --- arms/js/analysisResource.js (.../analysisResource.js) (revision 07a5aaa57c3dab863d21b5261f8f1bbcca8ece73) +++ arms/js/analysisResource.js (.../analysisResource.js) (revision 6b402a9eef1048f96de284d6030d7077a474ac8a) @@ -24,7 +24,8 @@ [ "../reference/jquery-plugins/datetimepicker-2.5.20/build/jquery.datetimepicker.min.css", "../reference/light-blue/lib/bootstrap-datepicker.js", "../reference/jquery-plugins/datetimepicker-2.5.20/build/jquery.datetimepicker.full.min.js", - "../reference/lightblue4/docs/lib/widgster/widgster.js"], + "../reference/lightblue4/docs/lib/widgster/widgster.js", + "../reference/lightblue4/docs/lib/slimScroll/jquery.slimscroll.min.js"], [ "../reference/jquery-plugins/dataTables-1.10.16/media/css/jquery.dataTables_lightblue4.css", "../reference/jquery-plugins/dataTables-1.10.16/extensions/Responsive/css/responsive.dataTables_lightblue4.css", @@ -45,10 +46,432 @@ .then(function() { // 사이드 메뉴 색상 설정 $('.widget').widgster(); - setSideMenu("sidebar_menu_dashboard", "sidebar_menu_dashboard_home"); + setSideMenu("sidebar_menu_analysis", "sidebar_menu_analysis_resource"); + + //제품(서비스) 셀렉트 박스 이니시에이터 + makePdServiceSelectBox(); + + //버전 멀티 셀렉트 박스 이니시에이터 + makeVersionMultiSelectBox(); }) .catch(function() { console.error('플러그인 로드 중 오류 발생'); }); } + + +/////////////////////// +//제품 서비스 셀렉트 박스 +////////////////////// +function makePdServiceSelectBox() { + //제품 서비스 셀렉트 박스 이니시에이터 + $(".chzn-select").each(function () { + $(this).select2($(this).data()); + }); + + //제품 서비스 셀렉트 박스 데이터 바인딩 + $.ajax({ + url: "/auth-user/api/arms/pdService/getPdServiceMonitor.do", + type: "GET", + contentType: "application/json;charset=UTF-8", + dataType: "json", + progress: true, + statusCode: { + 200: function (data) { + ////////////////////////////////////////////////////////// + for (var k in data.response) { + var obj = data.response[k]; + var newOption = new Option(obj.c_title, obj.c_id, false, false); + $("#selected_pdService").append(newOption).trigger("change"); + } + ////////////////////////////////////////////////////////// + } + } + }); + + + $("#selected_pdService").on("select2:open", function () { + //슬림스크롤 + makeSlimScroll(".select2-results__options"); + }); + + // --- select2 ( 제품(서비스) 검색 및 선택 ) 이벤트 --- // + $("#selected_pdService").on("select2:select", function (e) { + // 제품( 서비스 ) 선택했으니까 자동으로 버전을 선택할 수 있게 유도 + // 디폴트는 base version 을 선택하게 하고 ( select all ) + //~> 이벤트 연계 함수 :: Version 표시 jsTree 빌드 + bind_VersionData_By_PdService(); + + var checked = $("#checkbox1").is(":checked"); + var endPointUrl = ""; + + if (checked) { + endPointUrl = "/T_ARMS_REQSTATUS_" + $("#selected_pdService").val() + "/getStatusMonitor.do?disable=true"; + } else { + endPointUrl = "/T_ARMS_REQSTATUS_" + $("#selected_pdService").val() + "/getStatusMonitor.do?disable=false"; + } + + //statisticsMonitor($("#selected_pdService").val()); //ES모으는중 by YHS + + + }); +} // end makePdServiceSelectBox() + +//////////////////// +//버전 멀티 셀렉트 박스 +//////////////////// +function makeVersionMultiSelectBox() { + //버전 선택시 셀렉트 박스 이니시에이터 + $(".multiple-select").multipleSelect({ + filter: true, + onClose: function () { + console.log("onOpen event fire!\n"); + + var checked = $("#checkbox1").is(":checked"); + var endPointUrl = ""; + var versionTag = $(".multiple-select").val(); + selectedVersionId = versionTag.join(','); + + donutChart($("#selected_pdService").val(), selectedVersionId); + combinationChart($("#selected_pdService").val(), selectedVersionId); + + if (checked) { + endPointUrl = + "/T_ARMS_REQSTATUS_" + $("#selected_pdService").val() + "/getStatusMonitor.do?disable=true&versionTag=" + versionTag; + //dataTableLoad($("#selected_pdService").val(), endPointUrl); + } else { + endPointUrl = + "/T_ARMS_REQSTATUS_" + $("#selected_pdService").val() + "/getStatusMonitor.do?disable=false&versionTag=" + versionTag; + //dataTableLoad($("#selected_pdService").val(), endPointUrl); + } + } + }); +} + +function bind_VersionData_By_PdService() { + $(".multiple-select option").remove(); + $.ajax({ + url: "/auth-user/api/arms/pdService/getVersionList.do?c_id=" + $("#selected_pdService").val(), + type: "GET", + dataType: "json", + progress: true, + statusCode: { + 200: function (data) { + ////////////////////////////////////////////////////////// + for (var k in data.response) { + var obj = data.response[k]; + var $opt = $("