| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391 | 
							- BemsWebApplication.PatrolReport = function (params, viewInfo) {
 
-     "use strict";
 
-     var patrolgroupDataSource = BemsWebApplication.db.createDataSource('CmPatrolGroup', true),
 
-         patrolcourseDataSource = BemsWebApplication.db.createDataSource('CmPatrolCourse', true);
 
-     //var possInView = ko.observableArray();
 
-     var patrolgroups = ko.observableArray(),
 
-         patrolcourses = ko.observableArray();
 
-     var patrolgroupsForSearch = ko.observableArray(),
 
-         patrolcoursesForSearch = ko.observableArray(),
 
-         patrolgroupIdForSerach = ko.observable(),
 
-         patrolcourseIdForSerach = ko.observable(),
 
-         defaultSearchPatrolGroupArray = $SearchView.createDefaultArray('PatrolGroupId'),
 
-         defaultSearchPatrolCourseArray = $SearchView.createDefaultArray('PatrolCourseId');
 
-     var deferredForSearch = new $.Deferred();
 
-     var eq = BWA.DataUtil.constructEqualFilter;
 
-     //var budgetDataSource = BWA.DataUtil.createDataSource({
 
-     //    dataSourceOptions: {
 
-     //        store: BemsWebApplication.odata.CmPatrolHistoryEx,
 
-     //        select: ['SiteId'],
 
-     //        filter: ['SiteId', '=', BWA.UserInfo.SiteId()]
 
-     //    }
 
-     //});
 
-     /*
 
-     function handleBuildingInSearchView(e) {
 
-         if( e.value === 0 ) {
 
-             floorsForSearch( getDefaultFloorForSearch() );
 
-         }
 
-         else {
 
-             BWA.DataUtil.setArrayDataSourceFilter( floorDataSource, 'BuildingId', e.value, floorsForSearch, getDefaultFloorForSearch() );        
 
-         }
 
-         floorIdForSerach( 0 );
 
-     }*/
 
-     /*var PatrolHistoryDataSource = BWA.DataUtil.createDataSource({
 
-         dataSourceOptions: {
 
-             select: ['SiteId', 'PatrolHistoryId', 'ScheduleId', 'startDate', 'endDate',
 
-                 'resultTypeId', 'resultDesc',
 
-                 'CmPatrolSchedule/Name',
 
-                 'CmPatrolSchedule/CmPatrolPlan/Name',
 
-                 'CmPatrolSchedule/CmPatrolPlan/CmPatrolGroup/Name',
 
-                 'CmPatrolSchedule/CmPatrolPlan/CmPatrolCourse/Name',
 
-                 'CmPatrolType/Name',
 
-                 'CmPatrolSchedule/CmPatrolPlan/CourseId',
 
-                 'CmPatrolSchedule/CmPatrolPlan/GroupId'],
 
-             expand: ['CmPatrolSchedule', 'CmPatrolSchedule/CmPatrolPlan',
 
-                 'CmPatrolSchedule/CmPatrolPlan/CmPatrolGroup',
 
-                 'CmPatrolSchedule/CmPatrolPlan/CmPatrolCourse', 'CmPatrolType'],
 
-             extendOptions: {
 
-                 forceOriginalField: true
 
-             },
 
-             filter: [
 
-                 ['SiteId', '=', 0] // 초기화를 위해서 0
 
-             ]
 
-         }
 
-     }, 'CmPatrolHistory');*/
 
-     /*
 
-     var PatrolCoursePosDataSource = BWA.DataUtil.createDataSource({
 
-         dataSourceOptions: {
 
-             select: ['SiteId', 'mId', 'PatrolHistoryId', 'PosId', 'PatrolTime', 'term', 'resultType', 'CmPatrolPos/Name', 'CmPatrolType/Name' ],
 
-             expand: ['CmPatrolPos', 'CmPatrolType', 'CmPatrolPos/CmBuilding', 'CmPatrolPos/CmFloor'],
 
-             extendOptions: {
 
-                 forceOriginalField: true
 
-             },
 
-             filter: [
 
-                 ['SiteId', '=', 0] // 4
 
-                 //eq('SiteId', 0), // 초기화를 위해서 0
 
-             //    eq('SiteId', BWA.UserInfo.SiteId()),
 
-             //    and,
 
-             //    ['FmsWorkRequest/WorkProgressId', '=', $Code.WorkProgress.WORKING] // 4
 
-             //    //, and, ['FmsWorkRequest/WorkProgressId', '<=', 5]
 
-             ]
 
-         }
 
-     }, 'CmPatrolHistoryPos');
 
-     var menuDataGridOptions = utils.datagrid.defaultOptions({
 
-         dataSource: PatrolCoursePosDataSource,
 
-         width: '100%',
 
-         height: 400,
 
-         datagridId: 'gridContainer2',
 
-         dbId: 'CmPatrolHistoryPos',
 
-         useNumberColumn: true,
 
-         columns: [
 
-             { dataField: 'mId', caption: '순서', width: '10%', alignment: 'center', allowFiltering: false, sortOrder: 'asc' },
 
-             { dataField: 'CmPatrolPos/Name', caption: '순찰지점', width: '30%', },
 
-             { dataField: 'PatrolTime', caption: '순찰시각', width: '25%', alignment: 'right',
 
-                customizeText: function (cellInfo) {
 
-                     return $G.dateTime(cellInfo.value);
 
-               }
 
-             },
 
-             { dataField: 'term', caption: '이동시간(분)', width: '15%', alignment: 'left' },
 
-             { dataField: 'CmPatrolType/Name', caption: '결과', alignment: 'center' },
 
-         ],
 
-         paging: {
 
-             enabled: false,
 
-             pageSize: 17
 
-         },
 
-         pager: {
 
-             //allowedPageSizes: true,
 
-             showPageSizeSelector: true,
 
-             allowedPageSizes: [17, 20],
 
-             visible: false
 
-         },
 
-         rowPrepared: function (rowElement, rowInfo) {
 
-             if (rowInfo.rowType == 'data') {
 
-                 var dataGrid = $('#gridContainer2').dxDataGrid('instance');
 
-             }
 
-         },
 
-     });
 
-     */
 
-     var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'CmPatrolHistoryEx', {
 
-         rowAlternationEnabled: true,
 
-         dataSourceOptions: {
 
-             store: BemsWebApplication.odata.CmPatrolHistoryEx,
 
-             select: ['SiteId', 'PatrolHistoryId', 'startDate', 'TotalCnt', 'OkCnt', 'ErrorCnt', 'TotalTimeMin'],
 
-             filter: eq('SiteId', BWA.UserInfo.SiteId())
 
-         },
 
-         columns: [
 
- //            { dataField: 'SiteId', caption: '순찰 건수', width: '15%', alignment: 'center' },
 
-             { dataField: 'PatrolHistoryId', caption: $G('number'), width: '10%', alignment: 'center', sortOrder: 'desc' },
 
-             {
 
-                 dataField: 'startDate', caption: '순찰일', width: '20%', alignment: 'center', dataType: "shortDate", format: "yyyy-MM-dd",
 
-                 customizeText: function (cellInfo) {
 
-                     return cellInfo.valueText;
 
-                 }
 
-             },
 
-             { dataField: 'TotalCnt', caption: '순찰 건수', width: '15%', alignment: 'center' },
 
-             { dataField: 'OkCnt', caption: '정상 건수', width: '15%', alignment: 'center' },
 
-             { dataField: 'ErrorCnt', caption: '이상 건수', width: '15%', alignment: 'center' },
 
-             {
 
-                 dataField: 'TotalTimeMin', caption: '순찰시간', width: '15%', alignment: 'center',
 
-                 customizeText: function (cellInfo) {
 
-                     var hours = Math.round(cellInfo.value / 60);
 
-                     var minutes = cellInfo.value % 60;
 
-                     return hours + ":" + minutes;
 
-                 }
 
-             },
 
-             /*
 
-             {
 
-                 dataField: 'startDate', caption: '순찰일', width: '10%', alignment: 'center',
 
-                 customizeText: function (cellInfo) {
 
-                     return $G.date(cellInfo.value);
 
-                 }
 
-             },*/
 
- /*
 
-             {
 
-                 dataField: 'startDate', caption: '순찰시작시간', width: '20%', alignment: 'center',
 
-                 customizeText: function (cellInfo) {
 
-                     return $G.dateTime(cellInfo.value);
 
-                 }
 
-             },
 
-             {
 
-                 dataField: 'endDate', caption: '순찰종료시간', width: '20%', alignment: 'center',
 
-                 customizeText: function (cellInfo) {
 
-                     return $G.dateTime(cellInfo.value);
 
-                 }
 
-             },
 
-             { dataField: 'CmPatrolType/Name', caption: '결과', width: '20%', alignment: 'center' },
 
-             { dataField: 'resultDesc', caption: '특이사항', width: '30%', alignment: 'center' }, */
 
-         ],
 
-         paging: {
 
-             enabled: true,
 
-             pageSize: 18
 
-         },
 
-         pager: {
 
-         },
 
-         // 2019.04.16. 엑셀출력기능 추가 ~~~
 
-         "export": {
 
-             enabled: true,
 
-             fileName: '순찰 보고서',
 
-         },
 
-         onExporting: function (e) {
 
-             e.component.columnOption("PatrolHistoryId", "visible", false);
 
-         },
 
-         onExported: function (e) {
 
-             e.component.columnOption("PatrolHistoryId", "visible", true);
 
-         },
 
-         // ~~~ 2019.04.16. 엑셀출력기능 추가
 
-         popupWidth: 720,
 
-         promiseDataInSearchView: deferredForSearch.promise(),
 
-         searchViewItems: _.compact([
 
-             //{ id: 'PatrolGroupId', ignoreValue: 0, defaultValue: 0, value: patrolgroupIdForSerach, dataSource: patrolgroupsForSearch, handleChangedValue: handleBuildingInSearchView },
 
- //            { id: 'CmPatrolPlan/GroupId', ignoreValue: 0, defaultValue: 0, value: patrolgroupIdForSerach, dataSource: patrolgroupsForSearch },
 
- //            { id: 'CmPatrolPlan/CourseId', ignoreValue: 0, defaultValue: 0, value: patrolcourseIdForSerach, dataSource: patrolcoursesForSearch },
 
- //            { id: 'CmPatrolPlan/Name' },
 
-             { id: 'startDate', type: 'dateRange', isOnlyDate: true },
 
-             //{ id: 'FmsWorkResult/CmUser/Name' },
 
-         ]),
 
-         handleViewShowing: function () {
 
-             //budgetDataSource.load().done(function (pgResults) {
 
-             //});
 
-             patrolgroupDataSource.load().done(function (pgResults) {
 
-                 patrolgroups(pgResults);
 
-                 patrolgroupsForSearch(defaultSearchPatrolGroupArray.slice(0).concat(pgResults));
 
-                 patrolgroupIdForSerach(0);
 
-                 patrolcourseDataSource.load().done(function (pgResults) {
 
-                     patrolcourses(pgResults);
 
-                     patrolcoursesForSearch(defaultSearchPatrolCourseArray.slice(0).concat(pgResults));
 
-                     patrolcourseIdForSerach(0);
 
-                     deferredForSearch.resolve();
 
-                 });
 
-             });
 
-         },
 
-         handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) {
 
-             dataGrid.clearSelection();
 
-             viewModel.isNewInPopup(false); // 
 
-             var data = clickRow.data;
 
-             /*
 
-             var dataModel = viewModel.dataModel;
 
-             dataModel.PatrolGroupName = $KoSet(dataModel.PatrolGroupName, data['CmPatrolPlan/CmPatrolGroup/Name']);
 
-             dataModel.PatrolCourseName = $KoSet(dataModel.PatrolCourseName, data['CmPatrolPlan/CmPatrolCourse/Name']);
 
-             dataModel.Name = $KoSet(dataModel.Name, data['CmPatrolPlan/Name']);
 
-             var eq = BWA.DataUtil.constructEqualFilter;
 
-             var and = BWA.DataUtil.andFilter;
 
-             PatrolCoursePosDataSource.filter([
 
-                 eq('SiteId', data.SiteId()),
 
-                 and,
 
-                 eq('PatrolHistoryId', data.PatrolHistoryId()),
 
-             ]);
 
-             PatrolCoursePosDataSource.load().done(function (poss) {
 
-                 //possInView(poss);
 
-                 //$('#gridContainer2').dxDataGrid('instance').refresh();
 
-                 //viewModel.visibleDeleteButton(false);
 
-                 //popupVisible(true);
 
-             }); */
 
-             var siteId = data.SiteId();
 
-             var formatStr = 'YYYY-MM-DD HH:mm:ss';
 
-             var startDate = moment(data.startDate()).startOf('day').format(formatStr);
 
-             var endDate = moment(data.startDate()).endOf('day').format(formatStr);
 
-             var url = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints).urlFor('service');
 
-             var url = url + '/Report/PatrolReportView.aspx' + '?SiteId=' + siteId + '&StartDate=' + startDate + '&EndDate=' + endDate;
 
-             window.open(url);
 
-             /*var eq = BWA.DataUtil.constructEqualFilter;
 
-             var and = BWA.DataUtil.andFilter;
 
-             //tempDate = 
 
-             PatrolHistoryDataSource.filter([
 
-                 eq('SiteId', data.SiteId()),
 
-                 and,
 
-                 ['startDate', '>=', moment(data.startDate()).startOf('day').toDate()],
 
-                 and,
 
-                 ['startDate', '<=', moment(data.startDate()).endOf('day').toDate()],
 
-             ]);
 
-             PatrolHistoryDataSource.load().done(function (poss) {
 
-                 //possInView(poss);
 
-                 //$('#gridContainer2').dxDataGrid('instance').refresh();
 
-                 //viewModel.visibleDeleteButton(false);
 
-                 //popupVisible(true);
 
-                 // 종화 작업을 위한 확인 코드 시작  2016
 
-                 var hdata = poss[0];
 
-                 // 첫번째 순번 -> 알아서 작성 poss 갯수만큼
 
-                 // 순찰계획명
 
-                 alert(hdata['CmPatrolSchedule/Name']());
 
-                 // 순찰조
 
-                 alert(hdata['CmPatrolSchedule/CmPatrolPlan/CmPatrolGroup/Name']());
 
-                 // 순찰코스
 
-                 alert(hdata['CmPatrolSchedule/CmPatrolPlan/CmPatrolCourse/Name']());
 
-                 // 시간
 
-                 alert(hdata.startDate());
 
-                 // 시간
 
-                 alert(hdata.endDate());
 
-                 // 결과
 
-                 alert(hdata['CmPatrolType/Name']());
 
-                 
 
-                 // 여기서 report 링크 !!
 
-             }); */
 
-         },
 
-         handleAfterLoadingModelByKey: function (data, dataViewModel, isNewInPopup) {
 
-             //if( isNewInPopup() == false ) {
 
-             //  BWA.DataUtil.setArrayDataSourceFilter(patrolgroupDataSource, 'GroupId', dataViewModel.GroupId(), patrolgroups);
 
-             //BWA.DataUtil.setArrayDataSourceFilter(floorDataSource, 'BuildingId', dataViewModel.BuildingId(), floors);
 
-             //}
 
-         },
 
-         viewHidden: function () {
 
-             $SearchView.visibleObservable(false);
 
-             visiblePopup(false);
 
-         },
 
-         handlePopupShowing: function (isNewInPopup, dataViewModel, selectedData) {
 
-             /*                if (isNewInPopup()) {
 
-                                 dataViewModel.inDate(new Date());
 
-                             }*/
 
-         },
 
-         handleBeforeDelete: function (db) {
 
-             /*                var dataViewModel = new BemsWebApplication['CmZoneTempHumiSetViewModel']();
 
-                             dataViewModel.SiteId = db.SiteId;
 
-                             dataViewModel.BuildingId = db.BuildingId;
 
-                             dataViewModel.FloorId = db.FloorId;
 
-                             dataViewModel.ZoneId = db.ZoneId;
 
-             
 
-                             var promise = BemsWebApplication.api.post('BemsMonitoringPoint/RemoveZoneTempHumiSet', dataViewModel);
 
-                             promise.done(function () {
 
-                                 ;
 
-                             });*/
 
-         },
 
-         /*
 
-                     beforeInsertingDataViewModel: function (dataModel, dbModelId) {
 
-                         dataModel.inDate(new Date());
 
-                         var dfd = $.Deferred();
 
-                         //alert(dataModel.Name());
 
-                         if (_.isEmpty(dataModel.Name()) || dataModel.term() == null)
 
-                             dfd.resolve(false, '(*) 표시 항목은 필수 입력 사항 입니다!');
 
-         
 
-                         return dfd.resolve(true);
 
-                     },
 
-         
 
-                     beforeUpdateDataViewModel: function () {
 
-                         //handlePopupButtonSave: function () {
 
-                         if (_.isEmpty(viewModel.dataModel.Name())) {
 
-                             utils.toast.show('순찰계획명이 공백입니다.', 'error');
 
-                             return 0;
 
-                         }
 
-                         if (viewModel.dataModel.term() == null) {
 
-                             utils.toast.show('순찰주기가 공백입니다.', 'error');
 
-                             return 0;
 
-                         }
 
-                         // 수정시에 시간변경
 
-                         viewModel.dataModel.inDate(new Date());
 
-                         return 2;
 
-                     },
 
-                     */
 
-         handleAfterInsert: function (db) {
 
-             /*
 
-             var dataViewModel = new BemsWebApplication['CmZoneTempHumiSetViewModel']();
 
-             dataViewModel.SiteId = db.SiteId;
 
-             dataViewModel.BuildingId = db.BuildingId;
 
-             dataViewModel.FloorId = db.FloorId;
 
-             dataViewModel.ZoneId = db.ZoneId;
 
-             var promise = BemsWebApplication.api.post('BemsMonitoringPoint/AddZoneTempHumiSet', dataViewModel);
 
-             promise.done(function () {
 
-                 ;
 
-             });*/
 
-         },
 
-     });
 
-     /*
 
-     function getDefaultFloorForSearch() {
 
-         return $SearchView.createDefaultArray( 'FloorId' );        
 
-     }
 
-     floorDataSource.filter('BuildingId', -1); */
 
-     // 콤보, text 등록먼저후 생기는 팝업에서 안보이는 문제해결
 
-     viewModel.dataModel.PatrolGroupName = ko.observable();
 
-     viewModel.dataModel.PatrolCourseName = ko.observable();
 
-     viewModel.dataModel.Name = ko.observable();
 
-     //viewModel.dataModel.GroupId = ko.observable();
 
-     //viewModel.dataModel.CourseId= ko.observable();
 
-     viewModel.patrolgroups = patrolgroups;
 
-     viewModel.patrolcourses = patrolcourses;
 
-     //viewModel.menuDataGridOptions = menuDataGridOptions;
 
-     /*
 
-         viewModel.popupInsertButtonOptions.action = function () {
 
-             alert('insett');
 
-         }*/
 
-     return viewModel;
 
- };
 
 
  |