BemsWebApplication.FmsfacilityTime = function (params, viewInfo) { "use strict"; var endpointSelector = ""; if (BemsWebApplication.config.mode == "production") { endpointSelector = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints).config.db.production; } else { endpointSelector = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints).config.db.local; } // 2018.07.24 : 그리드 도표 작업 : 팝업창 추가 // 팝업창뷰 보이기 속성 제어용 변수 선언 var DataGridPopup_Visible = ko.observable(false); // 그래프 출력 이후 엑셀출력을 위한 팝업창을 위해 임시 저장용 배열 선언 var facilityTypeDataID; var facilityTypes = ko.observableArray(); var facilityTypeDataSource = BemsWebApplication.db.createDataSource('BemsFacilityType'); var faclilitydataSource, dataArrayresult, resultdataArrayresult = []; var timedataSource; var Action_time = 9 //시간별 운전 시간 //timedataSource 초기화 함수 function Source_init() { timedataSource = [{ Num: 0, Name: "", Time: 0, FacilityCode: 0, PropertyId: 0, CurrentValue: 0, D0: 0, D1: 0, D2: 0, D3: 0, D4: 0, D5: 0, D6: 0, D7: 0, D8: 0, D9: 0, D10: 0, D11: 0, D12: 0, D13: 0, D14: 0, D15: 0, D16: 0, D17: 0, D18: 0, D19: 0, D20: 0, D21: 0, D22: 0, D23: 0, D24: 0, D25: 0, D26: 0, D27: 0, D28: 0, D29: 0, D30: 0 }]; dataArrayresult = [{ Num: 0, Name: "", FacilityCode: 0, PropertyId: 0, CurrentValue: 0, D0: 0, D1: 0, D2: 0, D3: 0, D4: 0, D5: 0, D6: 0, D7: 0, D8: 0, D9: 0, D10: 0, D11: 0, D12: 0, D13: 0, D14: 0, D15: 0, D16: 0, D17: 0, D18: 0, D19: 0, D20: 0, D21: 0, D22: 0, D23: 0, D24: 0, D25: 0, D26: 0, D27: 0, D28: 0, D29: 0, D30: 0 }]; } function facilitydataSourceAdd(cnt) { // 설비 개수만큼 추가 for (var i = 0; i < (cnt - 1) ; i++) { timedataSource.push({ Num: 0, Name: "", Time: 0, FacilityCode: 0, PropertyId: 0, CurrentValue: 0, D0: 0, D1: 0, D2: 0, D3: 0, D4: 0, D5: 0, D6: 0, D7: 0, D8: 0, D9: 0, D10: 0, D11: 0, D12: 0, D13: 0, D14: 0, D15: 0, D16: 0, D17: 0, D18: 0, D19: 0, D20: 0, D21: 0, D22: 0, D23: 0, D24: 0, D25: 0, D26: 0, D27: 0, D28: 0, D29: 0, D30: 0 }); } for (var i = 0; i < (cnt - 1) ; i++) { dataArrayresult.push({ Num: 0, Name: "", FacilityCode: 0, PropertyId: 0, CurrentValue: 0, D0: 0, D1: 0, D2: 0, D3: 0, D4: 0, D5: 0, D6: 0, D7: 0, D8: 0, D9: 0, D10: 0, D11: 0, D12: 0, D13: 0, D14: 0, D15: 0, D16: 0, D17: 0, D18: 0, D19: 0, D20: 0, D21: 0, D22: 0, D23: 0, D24: 0, D25: 0, D26: 0, D27: 0, D28: 0, D29: 0, D30: 0 }); } } var facilitydataSourceCnt = 0; var faclilitydataSourceCnt = 0; var dateChar; //초기값 -6 // 보일러 시설 정보 겟 함수 function GetFaclilityData() { switch (facilityTypeDataID) { case $Code.FacilityType.AIR_HANDLING: //공조기 Action_time = $Code.FacilityTypeActTime.AIR_HANDLING; break; case $Code.FacilityType.REFRIGERATOR://냉동기 Action_time = $Code.FacilityTypeActTime.REFRIGERATOR; break; case $Code.FacilityType.REFRIGERATOR_TOP://냉각탑 Action_time = $Code.FacilityTypeActTime.REFRIGERATOR_TOP; break; case $Code.FacilityType.PUMP://펌프(브라인5),(지열순환펌프, 냉수,난방용온수순환,냉각수), Action_time = $Code.FacilityTypeActTime.PUMP; break; case $Code.FacilityType.BOILER://보일러 Action_time = $Code.FacilityTypeActTime.BOILER; break; } var dataSource = new DevExpress.data.DataSource({ store: { type: "odata", url: endpointSelector + "/CmFacility" }, requireTotalCount: true, pageSize: 100 }); dataSource.filter([ ["SiteId", "=", BWA.UserInfo.SiteId()], "and", ["FacilityTypeId", "=", facilityTypeDataID] ]); dataSource.load() .done(function (result) { faclilitydataSourceCnt = result.length; //설비 개수 faclilitydataSource = result; GetFacilityDailyData(); }) .fail(function (error) { utils.toast.show(error); }); } // 보일러 정보 가져오기 함수 function GetFacilityDailyData() { Source_init(); //timedataSource 초기화 facilitydataSourceAdd(faclilitydataSourceCnt); // timedataSource 필요한 만큼 추가 dateChar = $("#facility_history_calendarPicker").dxDateBox("instance").option('value'); var dataSource = new DevExpress.data.DataSource({ store: { type: "odata", url: endpointSelector + "/BemsMonitoringPointHistoryDaily" }, requireTotalCount: true, pageSize: 20000 // 설비 6개까지 }); dataSource.filter([ ["SiteId", "=", BWA.UserInfo.SiteId()], //사이트 아이디 "and", ["FacilityTypeId", "=", facilityTypeDataID], //설비 타입 "and", ["PropertyId", "=", Action_time],//변경 Action_time // 이유: 가동시간 0이 아니면 무조건 가동으로 판단 "and", ["CreatedDateTime", ">=", new Date(dateChar.getFullYear(), dateChar.getMonth(), dateChar.getDate(), 0, 0, 0)], "and", ["CreatedDateTime", "<", new Date(dateChar.getFullYear(), dateChar.getMonth() + 1, dateChar.getDate(), 0, 0, 0)] ]); dataSource.sort({ getter: "FacilityCode", ASC: true }, { getter: "CreatedDateTime", ASC: true }); dataSource.load() .done(function (result) { facilitydataSourceCnt = result.length; var start = 0; var day = new Date(); for (var i = 0; i < faclilitydataSourceCnt; i++)//설비 개수 = 행 개수 { for (var j = start; j < facilitydataSourceCnt; j++) // 가져온 데이터는 350개 { if (timedataSource[i].Name == "") { for (var k = 0; k < faclilitydataSourceCnt; k++)//설비 개수 = 행 개수 { if (result[j].FacilityCode == faclilitydataSource[k].FacilityCode) { timedataSource[i].Name = faclilitydataSource[k].Name; timedataSource[i].FacilityCode = faclilitydataSource[k].FacilityCode; } } } if (timedataSource[i].FacilityCode != result[j].FacilityCode) break; ONOFF_state(i, j, result); start++; } } for (var i = 0; i < timedataSource.length; i++) { //백그라운드 컬러 위해서 for (var j = 1; j <= 5; j = j + 2) { if ((i % 7) == j) timedataSource[i].Num = 1; } } if (new Date(dateChar.getFullYear(), dateChar.getMonth() + 1, dateChar.getDate() - 1, 0).getDate() != 31) { for (var i = 0; i < timedataSource.length; i++) switch (new Date(dateChar.getFullYear(), dateChar.getMonth() + 1, dateChar.getDate() - 1, 0).getDate()) { case 30: $("#facility_data_list").dxDataGrid("instance").columnOption('D31', "visible", false); $("#facility_data_list").dxDataGrid("instance").columnOption('D30', "visible", false); break; case 29: $("#facility_data_list").dxDataGrid("instance").columnOption('D31', "visible", false); $("#facility_data_list").dxDataGrid("instance").columnOption('D30', "visible", false); $("#facility_data_list").dxDataGrid("instance").columnOption('D29', "visible", false); break; case 28: $("#facility_data_list").dxDataGrid("instance").columnOption('D31', "visible", false); $("#facility_data_list").dxDataGrid("instance").columnOption('D30', "visible", false); $("#facility_data_list").dxDataGrid("instance").columnOption('D29', "visible", false); $("#facility_data_list").dxDataGrid("instance").columnOption('D28', "visible", false); break; case 27: $("#facility_data_list").dxDataGrid("instance").columnOption('D31', "visible", false); $("#facility_data_list").dxDataGrid("instance").columnOption('D30', "visible", false); $("#facility_data_list").dxDataGrid("instance").columnOption('D29', "visible", false); $("#facility_data_list").dxDataGrid("instance").columnOption('D28', "visible", false); $("#facility_data_list").dxDataGrid("instance").columnOption('D27', "visible", false); break; } } GetFacilityTime(); }) .fail(function (error) { $("#LoadPanel").dxLoadPanel('instance').option('visible', false); utils.toast.show(error); }); } // 2018.07.24 : 그리드 도표 작업 : 팝업창 추가 function DataGridPopup_ButtonClick() { DataGridPopup_Visible(true); } function SEARCH_ButtonClick() { if ($("#facilityTypeData").dxSelectBox("instance").option('value') != null) { facilityTypeDataID = $("#facilityTypeData").dxSelectBox("instance").option('value'); } else { utils.toast.show('조회할 설비를 선택해주세요.', 'error'); return; } $("#LoadPanel").dxLoadPanel({ message: '로딩 중...', showIndicator: true, visible: false }); $("#LoadPanel").dxLoadPanel('instance').option('visible', true); $("#facility_data_list").dxDataGrid("instance").columnOption('D31', "visible", true); $("#facility_data_list").dxDataGrid("instance").columnOption('D30', "visible", true); $("#facility_data_list").dxDataGrid("instance").columnOption('D29', "visible", true); $("#facility_data_list").dxDataGrid("instance").columnOption('D28', "visible", true); $("#facility_data_list").dxDataGrid("instance").columnOption('D27', "visible", true); GetFaclilityData(); } function handlePopupShown() { // 데이타소스 업데이트 $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D31', "visible", true); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D30', "visible", true); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D29', "visible", true); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D28', "visible", true); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D27', "visible", true); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").option("dataSource", resultdataArrayresult); if (new Date(dateChar.getFullYear(), dateChar.getMonth() + 1, dateChar.getDate() - 1, 0).getDate() != 31) { for (var i = 0; i < timedataSource.length; i++) switch (new Date(dateChar.getFullYear(), dateChar.getMonth() + 1, dateChar.getDate() - 1, 0).getDate()) { case 30: $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D31', "visible", false); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D30', "visible", false); break; case 29: $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D31', "visible", false); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D30', "visible", false); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D29', "visible", false); break; case 28: $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D31', "visible", false); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D30', "visible", false); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D29', "visible", false); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D28', "visible", false); break; case 27: $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D31', "visible", false); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D30', "visible", false); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D29', "visible", false); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D28', "visible", false); $("#TimeHistoryDataGrid_Container").dxDataGrid("instance").columnOption('D27', "visible", false); break; } } // 팝업창 갱신 DataGridPopup_Visible(true); } // 2018.07.24 : 그리드 도표 작업 : 팝업창 추가 function GetFacilityTime() { //가동시간 추가 함수 var value = 0; for (var i = 0; i < timedataSource.length; i++)//각 일 데이터 여부 확인 7 * faclilitydataSourceCnt { if (timedataSource[i] != null) value = value + 1; } for (var i = 0; i < value; i++)//각 일 데이터 여부 확인 7 * faclilitydataSourceCnt { if (timedataSource[i].Name == "") timedataSource[i] = null; } var temp = 0; for (var i = 0; i < timedataSource.length; i++) { if (timedataSource[i] != null) { temp = i; } } timedataSource = timedataSource.slice(0, temp + 1); for (var i = 0; i < timedataSource.length; i++)//각 일 데이터 여부 확인 7 * faclilitydataSourceCnt { if (timedataSource[i] != null) { timedataSource[i].Time = timedataSource[i].D0; timedataSource[i].Time += timedataSource[i].D1; timedataSource[i].Time += timedataSource[i].D2; timedataSource[i].Time += timedataSource[i].D3; timedataSource[i].Time += timedataSource[i].D4; timedataSource[i].Time += timedataSource[i].D5; timedataSource[i].Time += timedataSource[i].D6; timedataSource[i].Time += timedataSource[i].D7; timedataSource[i].Time += timedataSource[i].D8; timedataSource[i].Time += timedataSource[i].D9; timedataSource[i].Time += timedataSource[i].D10; timedataSource[i].Time += timedataSource[i].D11; timedataSource[i].Time += timedataSource[i].D12; timedataSource[i].Time += timedataSource[i].D13; timedataSource[i].Time += timedataSource[i].D14; timedataSource[i].Time += timedataSource[i].D15; timedataSource[i].Time += timedataSource[i].D16; timedataSource[i].Time += timedataSource[i].D17; timedataSource[i].Time += timedataSource[i].D18; timedataSource[i].Time += timedataSource[i].D19; timedataSource[i].Time += timedataSource[i].D20; timedataSource[i].Time += timedataSource[i].D21; timedataSource[i].Time += timedataSource[i].D22; timedataSource[i].Time += timedataSource[i].D23; timedataSource[i].Time += timedataSource[i].D24; timedataSource[i].Time += timedataSource[i].D25; timedataSource[i].Time += timedataSource[i].D26; timedataSource[i].Time += timedataSource[i].D27; timedataSource[i].Time += timedataSource[i].D28; timedataSource[i].Time += timedataSource[i].D29; timedataSource[i].Time += timedataSource[i].D30; } } $("#facility_data_list").dxDataGrid("instance").option('dataSource', timedataSource);//병합데이터 최종 연동 $("#LoadPanel").dxLoadPanel('instance').option('visible', false); // 2018.07.24 : 그리드 도표 작업 : 팝업창 추가 var tempdataArrayresult = timedataSource; var cnt = 0; for (var i = 0; i < timedataSource.length; i++) { if (timedataSource[i] != null) { tempdataArrayresult[cnt] = timedataSource[i]; cnt++; } } for (var i = 0; i < cnt; i++)//각 일 데이터 여부 확인 { dataArrayresult[i].Name = tempdataArrayresult[i].Name + " [" + tempdataArrayresult[i].Time + "]"; dataArrayresult[i].D0 = tempdataArrayresult[i].D0; dataArrayresult[i].D1 = tempdataArrayresult[i].D1; dataArrayresult[i].D2 = tempdataArrayresult[i].D2; dataArrayresult[i].D3 = tempdataArrayresult[i].D3; dataArrayresult[i].D4 = tempdataArrayresult[i].D4; dataArrayresult[i].D5 = tempdataArrayresult[i].D5; dataArrayresult[i].D6 = tempdataArrayresult[i].D6; dataArrayresult[i].D7 = tempdataArrayresult[i].D7; dataArrayresult[i].D8 = tempdataArrayresult[i].D8; dataArrayresult[i].D9 = tempdataArrayresult[i].D9; dataArrayresult[i].D10 = tempdataArrayresult[i].D10; dataArrayresult[i].D11 = tempdataArrayresult[i].D11; dataArrayresult[i].D12 = tempdataArrayresult[i].D12; dataArrayresult[i].D13 = tempdataArrayresult[i].D13; dataArrayresult[i].D14 = tempdataArrayresult[i].D14; dataArrayresult[i].D15 = tempdataArrayresult[i].D15; dataArrayresult[i].D16 = tempdataArrayresult[i].D16; dataArrayresult[i].D17 = tempdataArrayresult[i].D17; dataArrayresult[i].D18 = tempdataArrayresult[i].D18; dataArrayresult[i].D19 = tempdataArrayresult[i].D19; dataArrayresult[i].D20 = tempdataArrayresult[i].D20; dataArrayresult[i].D21 = tempdataArrayresult[i].D21; dataArrayresult[i].D22 = tempdataArrayresult[i].D22; dataArrayresult[i].D23 = tempdataArrayresult[i].D23; dataArrayresult[i].D24 = tempdataArrayresult[i].D24; dataArrayresult[i].D25 = tempdataArrayresult[i].D25; dataArrayresult[i].D26 = tempdataArrayresult[i].D26; dataArrayresult[i].D27 = tempdataArrayresult[i].D27; dataArrayresult[i].D28 = tempdataArrayresult[i].D28; dataArrayresult[i].D29 = tempdataArrayresult[i].D29; dataArrayresult[i].D30 = tempdataArrayresult[i].D30; } resultdataArrayresult = []; for (var i = 0; i < cnt; i++) { resultdataArrayresult.push({ Num: 0, Name: "", FacilityCode: 0, PropertyId: 0, CurrentValue: 0, D0: 0, D1: 0, D2: 0, D3: 0, D4: 0, D5: 0, D6: 0, D7: 0, D8: 0, D9: 0, D10: 0, D11: 0, D12: 0, D13: 0, D14: 0, D15: 0, D16: 0, D17: 0, D18: 0, D19: 0, D20: 0, D21: 0, D22: 0, D23: 0, D24: 0, D25: 0, D26: 0, D27: 0, D28: 0, D29: 0, D30: 0 }); } for (var i = 0; i < cnt; i++) { resultdataArrayresult[i] = dataArrayresult[i]; } } function ONOFF_state(i, j, result) { //시간마다 값 추가 var Date = result[j].CreatedDateTime.getDate(); switch (Date - 1) { case 0: timedataSource[i].D0 = Math.round(result[j].DailyValue); break; case 1: timedataSource[i].D1 = Math.round(result[j].DailyValue); break; case 2: timedataSource[i].D2 = Math.round(result[j].DailyValue); break; case 3: timedataSource[i].D3 = Math.round(result[j].DailyValue); break; case 4: timedataSource[i].D4 = Math.round(result[j].DailyValue); break; case 5: timedataSource[i].D5 = Math.round(result[j].DailyValue); break; case 6: timedataSource[i].D6 = Math.round(result[j].DailyValue); break; case 7: timedataSource[i].D7 = Math.round(result[j].DailyValue); break; case 8: timedataSource[i].D8 = Math.round(result[j].DailyValue); break; case 9: timedataSource[i].D9 = Math.round(result[j].DailyValue); break; case 10: timedataSource[i].D10 = Math.round(result[j].DailyValue); break; case 11: timedataSource[i].D11 = Math.round(result[j].DailyValue); break; case 12: timedataSource[i].D12 = Math.round(result[j].DailyValue); break; case 13: timedataSource[i].D13 = Math.round(result[j].DailyValue); break; case 14: timedataSource[i].D14 = Math.round(result[j].DailyValue); break; case 15: timedataSource[i].D15 = Math.round(result[j].DailyValue); break; case 16: timedataSource[i].D16 = Math.round(result[j].DailyValue); break; case 17: timedataSource[i].D17 = Math.round(result[j].DailyValue); break; case 18: timedataSource[i].D18 = Math.round(result[j].DailyValue); break; case 19: timedataSource[i].D19 = Math.round(result[j].DailyValue); break; case 20: timedataSource[i].D20 = Math.round(result[j].DailyValue); break; case 21: timedataSource[i].D21 = Math.round(result[j].DailyValue); break; case 22: timedataSource[i].D22 = Math.round(result[j].DailyValue); break; case 23: timedataSource[i].D23 = Math.round(result[j].DailyValue); break; case 24: timedataSource[i].D24 = Math.round(result[j].DailyValue); break; case 25: timedataSource[i].D25 = Math.round(result[j].DailyValue); break; case 26: timedataSource[i].D26 = Math.round(result[j].DailyValue); break; case 27: timedataSource[i].D27 = Math.round(result[j].DailyValue); break; case 28: timedataSource[i].D28 = Math.round(result[j].DailyValue); break; case 29: timedataSource[i].D29 = Math.round(result[j].DailyValue); break; case 30: timedataSource[i].D30 = Math.round(result[j].DailyValue); break; } } function handleViewShowing() { facilityTypeDataSource.filter([ ['FacilityTypeId', '<', 99] ]); // 빌딩 데이터 로드 시점 $.when(facilityTypeDataSource.load() ).done(function (result) { for (var i = 0; i < result.length; i++) { if (result[i].FacilityTypeId() == $Code.FacilityType.AIR_HANDLING || result[i].FacilityTypeId() == $Code.FacilityType.REFRIGERATOR || result[i].FacilityTypeId() == $Code.FacilityType.REFRIGERATOR_TOP || result[i].FacilityTypeId() == $Code.FacilityType.PUMP || result[i].FacilityTypeId() == $Code.FacilityType.BOILER) { facilityTypes.push(result[i]); } } }); } function handleViewShown() { $SideMenu.showSideMenuIfWill(params.view); $SearchView.setPopupVisibleObservable(null); } var searchViewOptions = { } function handleSearchInSearchView() { } var viewModel = $.extend(BWA.CommonView.create(params, viewInfo, searchViewOptions, ko.observable(null), handleViewShown, null, handleSearchInSearchView), { viewShown: handleViewShown, viewShowing: handleViewShowing, facility_data_list: { dataSource: timedataSource, paging: { pageSize: 28 }, columns: [ { dataField: 'Name', caption: '설비명칭', width: '14%', alignment: 'center', allowSorting: false }, { dataField: 'Time', caption: '가동시간(분)', width: '6%', alignment: 'center', allowSorting: false }, { dataField: 'D0', caption: '1일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D1', caption: '2일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D2', caption: '3일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D3', caption: '4일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D4', caption: '5일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D5', caption: '6일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D6', caption: '7일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D7', caption: '8일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D8', caption: '9일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D9', caption: '10일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D10', caption: '11일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D11', caption: '12일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D12', caption: '13일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D13', caption: '14일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D14', caption: '15일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D15', caption: '16일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D16', caption: '17일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D17', caption: '18일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D18', caption: '19일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D19', caption: '20일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D20', caption: '21일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D21', caption: '22일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D22', caption: '23일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D23', caption: '24일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D24', caption: '25일', width: '3.1%', alignment: 'center', allowSorting: false }, { dataField: 'D25', caption: '26일', width: '3.1%', alignment: 'center', allowSorting: false } , { dataField: 'D26', caption: '27일', width: '3.1%', alignment: 'center', allowSorting: false } , { dataField: 'D27', caption: '28일', width: '3.1%', alignment: 'center', allowSorting: false } , { dataField: 'D28', caption: '29일', width: '3.1%', alignment: 'center', allowSorting: false } , { dataField: 'D29', caption: '30일', width: '3.1%', alignment: 'center', allowSorting: false } , { dataField: 'D30', caption: '31일', width: '3.1%', alignment: 'center', allowSorting: false } ], onRowPrepared: function (info) { if (info.rowType != 'header') if (info.data.Num == 1) info.rowElement.css('background-color', 'rgba(206,246,245,0.4)'); } }, facility_history_calendarPicker: { pickerType: "calendar", formatString: "yyyy-MM", maxZoomLevel: 'year', value: new Date(), onValueChanged: function () { var today = new Date(); dateChar = $("#facility_history_calendarPicker").dxDateBox("instance").option('value'); if (dateChar.getFullYear() > today.getFullYear()) { utils.toast.show('선택된 날짜를 조회할수 없습니다.', 'error'); } else { if (dateChar.getMonth() > today.getMonth()) utils.toast.show('선택된 날짜를 조회할수 없습니다.', 'error'); } } } // 2018.07.24 : 그리드 도표 작업 : 팝업창 추가 , TimeHistoryDataGridPopup_ButtonClicked: DataGridPopup_ButtonClick , search_ButtonClicked: SEARCH_ButtonClick // 2018.07.24 : 그리드 도표 작업 : 팝업창 추가 }); // 2018.07.24 : 그리드 도표 작업 : 팝업창 추가 viewModel.TimeHistoryDataGridPopupOptions = { width: '1800px', height: '820px', contentTemplate: "content", showTitle: true, title: "도표", visible: DataGridPopup_Visible, dragEnabled: true, closeOnOutsideClick: true, shownAction: handlePopupShown, animation: window.utils.popup.createAnimation() }; viewModel.TimeHistoryDataGridOptions = { dataSource: resultdataArrayresult, columns: [ { dataField: 'Name', caption: '설비명칭[가동시간(분)]', width: '18%', alignment: 'center', allowSorting: false }, { dataField: 'D0', caption: '1일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D1', caption: '2일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D2', caption: '3일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D3', caption: '4일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D4', caption: '5일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D5', caption: '6일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D6', caption: '7일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D7', caption: '8일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D8', caption: '9일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D9', caption: '10일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D10', caption: '11일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D11', caption: '12일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D12', caption: '13일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D13', caption: '14일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D14', caption: '15일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D15', caption: '16일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D16', caption: '17일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D17', caption: '18일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D18', caption: '19일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D19', caption: '20일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D20', caption: '21일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D21', caption: '22일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D22', caption: '23일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D23', caption: '24일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D24', caption: '25일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D25', caption: '26일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D26', caption: '27일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D27', caption: '28일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D28', caption: '29일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D29', caption: '30일', width: '3.3%', alignment: 'center', allowSorting: false }, { dataField: 'D30', caption: '31일', width: '3.3%', alignment: 'center', allowSorting: false } ], // 엑셀 출력, dx.all.debug.js / _getCellIndex /63882 "export": { enabled: true, fileName: '설비별 가동시간' } }; // 2018.07.24 : 그리드 도표 작업 : 팝업창 추가 viewModel.facilityTypes = facilityTypes; return viewModel; };