BemsWebApplication.AlarmLog = function (params, viewInfo) { "use strict"; // 알람 정보 저장 var DataArrayInfo = []; var now = new Date(); function BemsAlarmLogDataSourceLoad(startday, endday) { var BemsAlarmLogDataSource = BemsWebApplication.DataUtil.createDataSource({ dataSourceOptions: { select: [ 'CreatedDateTime', 'BemsAlarmSetting/FacilityName', 'BemsAlarmSetting/PointName', 'CurrentValue', 'BemsAlarmSetting/UpperLimit', 'BemsAlarmSetting/LowerLimit', 'SMSResult', 'EmailResult', 'SiteId', 'FacilityTypeId', 'FacilityCode', 'PropertyId', 'FormulaId', 'Conform' ], expand: ['BemsAlarmSetting'], extendOptions: { forceOriginalField: true, alterNames: { 'BemsAlarmSetting/FacilityName': 'FacilityName', 'BemsAlarmSetting/PointName': 'PointName', 'BemsAlarmSetting/UpperLimit': 'UpperLimit', 'BemsAlarmSetting/LowerLimit': 'LowerLimit' } }, filter: [ ['SiteId', '=', BWA.UserInfo.SiteId()], 'and', ['CreatedDateTime', '>=', startday], 'and', ['CreatedDateTime', '<=', endday]] } }, 'BemsAlarmLog'); BemsAlarmLogDataSource.load().done(function (result) { if (result.length == 0) { // 알람 버튼 색 컬러 변경 정지 BWA.AlarmInfo.Alarm_Image_Change = false; } DataArrayInfo = []; // 초기화 _.each(result, function (x) { var temp_conform; var temp = ''; if (x.FormulaId() != 0) { temp = '성능분석'; } else { if (x.FacilityTypeId() == 99) { temp = '가상시설'; } else { temp = '일반시설'; } } if (x.Conform()) temp_conform = "ON"; else temp_conform = "OFF"; DataArrayInfo.push({ CreatedDateTime: x.CreatedDateTime, Type: temp, FacilityName: x.FacilityName, PropertyName: x.PointName, CurrentValue: x.CurrentValue, UpperLimit: x.UpperLimit, LowerLimit: x.LowerLimit, SMSResult: x.SMSResult, EmailResult: x.EmailResult, Conform: temp_conform, SiteId: x.SiteId, FacilityTypeId: x.FacilityTypeId, FacilityCode: x.FacilityCode, PropertyId: x.PropertyId, FormulaId: x.FormulaId }); }); $("#gridContainer_alarm1").dxDataGrid("instance").option("dataSource", DataArrayInfo); }) } function handleViewShown() { var tmpDate = new Date(); var endDay = tmpDate.getDate(); var startday = new Date(tmpDate.getFullYear(), tmpDate.getMonth(), endDay-7, 0, 0, 0, 0); var endday = new Date(tmpDate.getFullYear(), tmpDate.getMonth(), endDay, 23, 59, 59, 0); $("#startDate").dxDateBox("instance").option('value', startday); $("#endDate").dxDateBox("instance").option('value', endday); $("#gridContainer_alarm1").dxDataGrid({ rowAlternationEnabled: true, paging: { pageSize: 16 }, columns: [ { dataField: 'CreatedDateTime', caption: '날짜', width: '12%', alignment: 'center', sortOrder: 'desc', dataType: "shortDate", format: "yyyy-MM-dd hh:mm:ss", customizeText: function (cellInfo) { return cellInfo.valueText; } }, { dataField: 'Type', caption: '타입', width: '5%', alignment: 'center' }, { dataField: 'FacilityName', caption: '설비명칭', width: '20%', alignment: 'center' }, { dataField: 'PropertyName', caption: '관제점(분석요소)', width: '20%', alignment: 'center' }, { dataField: 'CurrentValue', caption: '값', width: '8%', alignment: 'center' }, { dataField: 'UpperLimit', caption: '기준상한(이상)', width: '8%', alignment: 'center' }, { dataField: 'LowerLimit', caption: '기준하한(이하)', width: '8%', alignment: 'center' }, { dataField: 'SMSResult', caption: 'SMS 결과', width: '5.5%', alignment: 'center' }, { dataField: 'EmailResult', caption: 'Email 결과', width: '6.5%', alignment: 'center' }, { dataField: 'Conform', caption: '알람해제', width: '7%', alignment: 'center' }, // 아래 visible 속성을 true를 준 이유는 조치방법 확인을 클릭했을때, SiteId 등의 값을 읽어오지 못해서다 { dataField: 'SiteId', visible: false }, { dataField: 'FacilityTypeId', visible: false }, { dataField: 'FacilityCode', visible: false }, { dataField: 'PropertyId', visible: false }, { dataField: 'FormulaId', visible: false }, ], // 2019.04.17 엑셀 출력 기능 추가 ~~~ "export": { enabled: true, fileName: '알람 로그 내역' } // ~~~ 2019.04.17 엑셀 출력 기능 추가 }); BemsAlarmLogDataSourceLoad(startday, endday); } var searchViewOptions = { } function handleSearchInSearchView() { } var viewModel = $.extend(BWA.CommonView.create(params, viewInfo, searchViewOptions, ko.observable(null), handleViewShown, null, handleSearchInSearchView), { startDate: { pickerType: "calendar", value: now, formatString: "yyyy년 MM월 dd일", maxZoomLevel: "month", width: "12%" }, endDate: { pickerType: "calendar", value: now, formatString: "yyyy년 MM월 dd일", maxZoomLevel: "month", width: "12%" }, modifyButtonClicked: function () { var startDate = $("#startDate").dxDateBox("instance").option('value'); var endDate = $("#endDate").dxDateBox("instance").option('value'); var endday = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate(), 23, 59, 59, 0); BemsAlarmLogDataSourceLoad(startDate, endday); } }); return viewModel; };