| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293 | 
							- BemsWebApplication.Zone = function (params, viewInfo) {
 
-     "use strict";
 
-     var ZoneInfo = ko.observableArray();
 
-     var CmZoneDataSource = BemsWebApplication.db.createDataSource('CmZone');
 
-     var RowBuildingId;
 
-     var RowName, RowFloorId;
 
-     var buildingDataSource = BemsWebApplication.db.createDataSource('CmBuilding', true),
 
-         floorDataSource = BemsWebApplication.db.createDataSource('CmFloor', true);
 
-     var buildings = ko.observableArray(),
 
-         floors = ko.observableArray();
 
-     var buildingsForSearch = ko.observableArray(),
 
-         floorsForSearch = ko.observableArray(),
 
-         buildingIdForSerach = ko.observable(),
 
-         floorIdForSerach = ko.observable(),
 
-         defaultSearchBuildingArray = $SearchView.createDefaultArray('BuildingId'),
 
-         defaultSearchFloorArray = $SearchView.createDefaultArray('FloorId');
 
-     var deferredForSearch = new $.Deferred();
 
-     function handleBuildingInSearchView(e) {
 
-         if (e.value === 0) {
 
-             floorsForSearch(getDefaultFloorForSearch());
 
-         }
 
-         else {
 
-             BWA.DataUtil.setArrayDataSourceFilter(floorDataSource, 'BuildingId', e.value, floorsForSearch, getDefaultFloorForSearch());
 
-         }
 
-         floorIdForSerach(0);
 
-     }
 
-     var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'CmZone', {
 
-         rowAlternationEnabled: true,
 
-         /*
 
-                     editing: {
 
-                         editMode: 'batch',
 
-                         editEnabled: true,
 
-                         //removeEnabled: true,
 
-                         //insertEnabled: true
 
-                     },*/
 
-         dataSourceOptions: {
 
-             select: ['SiteId', 'FloorId', 'BuildingId', 'ZoneId', 'Name', 'CmBuilding/Name', 'CmFloor/Name', 'Target_temperature', 'Target_humidity'],
 
-             expand: ['CmBuilding', 'CmFloor'],
 
-             extendOptions: {
 
-                 forceOriginalField: true,
 
-             }
 
-         },
 
-         columns: [
 
-             { dataField: 'ZoneId', caption: $G('number'), width: '15%', alignment: 'center', sortOrder: 'desc' },
 
-             /*
 
-             { dataField: 'CmBuilding/Name', caption: $G('buildingName'), width: '22%', alignment: 'center', allowEditing: false },
 
-             { dataField: 'CmFloor/Name', caption: $G('floorName'), width: '23%', alignment: 'center', allowEditing: false },
 
-             { dataField: 'Name', caption: $G('zoneName'), width: '40%', alignment: 'center', allowEditing: false }, */
 
-             { dataField: 'CmBuilding/Name', caption: $G('buildingName'), width: '22%', alignment: 'center' },
 
-             { dataField: 'CmFloor/Name', caption: $G('floorName'), width: '23%', alignment: 'center' },
 
-             { dataField: 'Name', caption: $G('zoneName'), width: '40%', alignment: 'center' },
 
-             //{ dataField: 'Target_temperature', caption: '목표온도', width: '40%', alignment: 'center' },
 
-             //{ dataField: 'Target_humidity', caption: '목표습도', width: '40%', alignment: 'center' }
 
-             //utils.datagrid.columnIsUse( '15%' )
 
-         ],
 
- 		
 
- 		paging: {
 
- 			pageSize: 18
 
- 		},
 
- 		pager: {},
 
-         // 2019.04.17 엑셀 출력 기능 추가 ~~~
 
-         "export": {
 
-             enabled: true,
 
-             fileName: '구역 정보 목록'
 
-         },
 
-         onExporting: function (e) {
 
-             e.component.columnOption("ZoneId", "visible", false);
 
-         },
 
-         onExported: function (e) {
 
-             e.component.columnOption("ZoneId", "visible", true);
 
-         },
 
-         // ~~~ 2019.04.17 엑셀 출력 기능 추가
 
-         popupWidth: 480,
 
-         promiseDataInSearchView: deferredForSearch.promise(),
 
-         searchViewItems: [
 
-             { id: 'BuildingId', ignoreValue: 0, defaultValue: 0, value: buildingIdForSerach, dataSource: buildingsForSearch, handleChangedValue: handleBuildingInSearchView },
 
-             { id: 'FloorId', ignoreValue: 0, defaultValue: 0, value: floorIdForSerach, dataSource: floorsForSearch },  //withCheckId: 'BuildingId', 
 
-             { id: 'Name' }
 
-         ],
 
-         handleViewShowing: function () {         
 
-             buildingDataSource.load().done(function (buildingResults) {
 
-                 buildings(buildingResults);
 
-                 //buildingsForSearch( $SearchView.createArrayOfSelectBox( 'BuildingId', buildings() ) );
 
-                 //floorsForSearch( getDefaultFloorForSearch() );
 
-                 buildingsForSearch(defaultSearchBuildingArray.slice(0).concat(buildingResults));
 
-                 floorsForSearch(defaultSearchFloorArray.slice(0));
 
-                 buildingIdForSerach(0);
 
-                 floorIdForSerach(0);
 
-                 deferredForSearch.resolve();
 
-             });
 
-         },
 
-         handleDataGridRowClick: function (id, dataGrid, clickRow, popupVisible) {
 
-             dataGrid.clearSelection();
 
-             // hcLee 2016 02 16 키필드가 콤보로 제공될때 등록시만 보이고 수정시에는 안보기에 하기 위하여 꼭 필요 !!!
 
-             viewModel.isNewInPopup(false);
 
-             //$("#textBuildingName").show();
 
-             var data = clickRow.data;
 
-             var dataModel = viewModel.dataModel;
 
-             dataModel.BuildingName = $KoSet(dataModel.BuildingName, data['CmBuilding/Name']);
 
-             dataModel.FloorName = $KoSet(dataModel.FloorName, data['CmFloor/Name']);
 
-             RowBuildingId = data.BuildingId;
 
-             RowFloorId = data.FloorId;
 
-             RowName = data.Name;
 
-             //alert(dataModel.BuildingName()); 
 
-             popupVisible(true);
 
-         },
 
-         handleAfterLoadingModelByKey: function (data, dataViewModel, isNewInPopup) {
 
-             if (isNewInPopup() == false) {
 
-                 BWA.DataUtil.setArrayDataSourceFilter(floorDataSource, 'BuildingId', dataViewModel.BuildingId(), floors);
 
-             }
 
-         },
 
-         viewHidden: function () {
 
-             $SearchView.visibleObservable(false); // hcLee 2015 03 23
 
-             visiblePopup(false);
 
-         },
 
-         handleBeforeDelete: function (db) {
 
-             //alert('handleAfterDelete ' + db.SiteId + db.BuildingId + db.FloorId + db.ZoneId);
 
-             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 () {
 
-             });
 
-         },
 
-         // 이름 중복 방지
 
-         handlePopupShowing: function () {
 
-             CmZoneDataSource.filter([
 
-                 ["SiteId", "=", BWA.UserInfo.SiteId()]
 
-             ]);
 
-             CmZoneDataSource.load().done(function (result) {
 
-                 ZoneInfo(result);
 
-             });
 
-         },
 
-         beforeInsertingDataViewModel: function (dataModel, dbModelId) {
 
-             var dfd = $.Deferred();
 
-             var isDuplicated = false;
 
-             for (var i = 0; i < ZoneInfo().length; i++) {
 
-                 if (dataModel.BuildingId() == ZoneInfo()[i].BuildingId() && dataModel.FloorId() == ZoneInfo()[i].FloorId() && dataModel.Name() == ZoneInfo()[i].Name()) {
 
-                     isDuplicated = true;
 
-                     break;
 
-                 }
 
-             }
 
-             if (!BWA.DataUtil.isValidInputValue(dataModel.BuildingId())
 
-                 || !BWA.DataUtil.isValidInputValue(dataModel.FloorId())
 
-                 || !BWA.DataUtil.isValidInputValue(dataModel.Name()))
 
-                 return dfd.resolve(false, '저장 혹은 수정 반드시 필수 입력 정보를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)');
 
-             else {
 
-                 if (isDuplicated)
 
-                     return dfd.resolve(false, '이미 동일 정보가 존재합니다 (빌딩 명칭, 층 명칭, 구역 명칭 확인 필요)');
 
-                 else
 
-                     return dfd.resolve(true);
 
-             }
 
-         },
 
-         beforeUpdateDataViewModel: function () {
 
-             var isDuplicated = false;
 
-             for (var i = 0; i < ZoneInfo().length; i++) {
 
-                 if (viewModel.dataModel.Name() == ZoneInfo()[i].Name() && RowName() != ZoneInfo()[i].Name()
 
-                     && viewModel.dataModel.BuildingId() == ZoneInfo()[i].BuildingId() && viewModel.dataModel.FloorId() == ZoneInfo()[i].FloorId()) {
 
-                     isDuplicated = true;
 
-                     break;
 
-                 }
 
-             }
 
-             if (!BWA.DataUtil.isValidInputValue(viewModel.dataModel.Name())
 
-                 || !BWA.DataUtil.isValidInputValue(viewModel.dataModel.FloorId())
 
-                 || !BWA.DataUtil.isValidInputValue(viewModel.dataModel.Name())) {
 
-                 utils.toast.show('저장 혹은 수정 반드시 필수 입력 정보를 모두 입력하셔야 합니다 (앞뒤공백 허용안함)', 'error');
 
-                 return 0;
 
-             }
 
-             else {
 
-                 if (isDuplicated) {
 
-                     utils.toast.show('이미 동일 명칭이 존재합니다 (빌딩 명칭, 층 명칭, 구역 명칭 확인 필요)', 'error');
 
-                     return 0;
 
-                 }
 
-                 else
 
-                     return 2;
 
-             }
 
-         },
 
-         handleAfterInsert: function (db) {
 
-             //alert('handleAfterInsert' + db.SiteId + db.BuildingId + db.FloorId + db.ZoneId);
 
-             //var data = new CmZoneTempHumiSet();
 
-             var dataViewModel = new BemsWebApplication['CmZoneTempHumiSetViewModel']();
 
-             dataViewModel.SiteId = db.SiteId;
 
-             dataViewModel.BuildingId = db.BuildingId;
 
-             dataViewModel.FloorId = db.FloorId;
 
-             dataViewModel.ZoneId = db.ZoneId;
 
-             /*
 
-             dataViewModel.T1 = 0;
 
-             dataViewModel.T2 = 0;
 
-             dataViewModel.T3 = 0;
 
-             dataViewModel.T4 = 0;
 
-             dataViewModel.T5 = 0;
 
-             dataViewModel.T6 = 0;
 
-             dataViewModel.T7 = 0;
 
-             dataViewModel.T8 = 0;
 
-             dataViewModel.T9 = 0;
 
-             dataViewModel.T10 = 0;
 
-             dataViewModel.T11 = 0;
 
-             dataViewModel.T12 = 0;
 
-             dataViewModel.H1 = 0;
 
-             dataViewModel.H2 = 0;
 
-             dataViewModel.H3 = 0;
 
-             dataViewModel.H4 = 0;
 
-             dataViewModel.H5 = 0;
 
-             dataViewModel.H6 = 0;
 
-             dataViewModel.H7 = 0;
 
-             dataViewModel.H8 = 0;
 
-             dataViewModel.H9 = 0;
 
-             dataViewModel.H10 = 0;
 
-             dataViewModel.H11 = 0;
 
-             dataViewModel.H12 = 0;*/
 
-             //r promise = BemsWebApplication.api.post('BemsMonitoringPoint/AddZoneTempHumi', dataViewModel.toJS());
 
-             var promise = BemsWebApplication.api.post('BemsMonitoringPoint/AddZoneTempHumiSet', dataViewModel);
 
-             promise.done(function () {
 
-                 ;
 
-             });
 
-         },
 
-     });
 
-     function getDefaultFloorForSearch() {
 
-         return $SearchView.createDefaultArray('FloorId');
 
-     }
 
-     floorDataSource.filter('BuildingId', -1);
 
-     //viewModel.dataModel.ClassName = ko.observable();
 
-     viewModel.dataModel.BuildingName = ko.observable();
 
-     viewModel.dataModel.FloorName = ko.observable();
 
-     viewModel.buildings = buildings;
 
-     //viewModel.buildingsForSearch = buildingsForSearch;
 
-     viewModel.floors = floors;
 
-     //viewModel.floorsForSearch = floorsForSearch;
 
-     viewModel.handleSelectBoxChangeBuilding = function (e) {
 
-         //BWA.DataUtil.setArrayDataSourceFilter( floorDataSource, 'BuildingId', e.value, floors );
 
-         if (viewModel.dataModel.BuildingId() != null) {
 
-             floorDataSource.filter([
 
-                 ['SiteId', '=', BWA.UserInfo.SiteId()],
 
-                 "and",
 
-                 ['BuildingId', '=', viewModel.dataModel.BuildingId()]
 
-             ]);
 
-         }
 
-         floorDataSource.load().done(function (result) {
 
-             floors(result);
 
-         });
 
-         viewModel.dataModel.FloorId(null);
 
-     }
 
-     viewModel.searchViewPopup = BWA.Popup.SearchView.create({
 
-         parentPopupId: 'popupDetail',
 
-         parentPopupVisible: viewModel.popupVisible,
 
-         handleSearch: function (filter, searchItems) {
 
-         }
 
-     });
 
-     /*
 
-         viewModel.popupInsertButtonOptions.action = function () {
 
-             alert('insett');
 
-         }*/
 
-     return viewModel;
 
- };
 
 
  |