| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339 | 
							- BemsWebApplication.FacilityTempSet = 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;
 
-     }
 
-     var facilityClassDataSource = BemsWebApplication.db.createDataSource('FmsFacilityCodeClass');
 
-     var AIR_HANDLING = $Code.FacilityType.AIR_HANDLING;
 
-     var TEMP_SET = $Code.Formula[AIR_HANDLING].TEMP_SET;
 
-     var buildingDataSource = BemsWebApplication.db.createDataSource('CmBuilding', true),
 
-         floorDataSource = BemsWebApplication.db.createDataSource('CmFloor'),
 
-         zoneDataSource = BemsWebApplication.db.createDataSource('CmZone');
 
-     // 설비분류 데이터소스 
 
-     var facilityTypeDataSource = BemsWebApplication.db.createDataSource('BemsFacilityType');
 
-     var facilityTypes = ko.observableArray();
 
-     var facilityClasses = [ko.observableArray(), ko.observableArray(), ko.observableArray()];
 
-     var buildings = ko.observableArray(),
 
-         floors = ko.observableArray(),
 
-         zones = ko.observableArray();
 
-     var searchFacilityClasses = [ko.observableArray(), ko.observableArray(), ko.observableArray()],
 
-         searchFacilityClassValues = [ko.observable(), ko.observable(), ko.observable()],
 
-         searchBuildings = ko.observableArray(),
 
-         searchFloors = ko.observableArray(),
 
-         searchBuildingId = ko.observable(),
 
-         searchFloorId = ko.observable();
 
-     var defaultSearchClassArray = $SearchView.createDefaultArray('FacilityClassId'),
 
-         defaultSearchBuildingArray = $SearchView.createDefaultArray('BuildingId'),
 
-         defaultSearchFloorArray = $SearchView.createDefaultArray('FloorId');
 
-     var searchDeferred = new $.Deferred();
 
-     var handleFirstClassChangedValueInSearchView = function (e) {
 
-         if (e.value === 0) {
 
-             initializeSearchClasses();
 
-             return;
 
-         }
 
-         BWA.DataUtil.setArrayDataSourceFilter(facilityClassDataSource, 'ParentFacilityClassId', e.value, searchFacilityClasses[1], defaultSearchClassArray);
 
-     };
 
-     var handleSecondClassChangedValueInSearchView = function (e) {
 
-         if (e.value === 0) {
 
-             initializeSearchClasses(true);
 
-             return;
 
-         }
 
-         BWA.DataUtil.setArrayDataSourceFilter(facilityClassDataSource, 'ParentFacilityClassId', e.value, searchFacilityClasses[2], defaultSearchClassArray);
 
-     };
 
-     var handleBuildingInSearchView = function (e) {
 
-         if (e.value === 0) {
 
-             searchFloors(defaultSearchFloorArray.slice(0));
 
-             searchFloorId(0);
 
-             return 0;
 
-         }
 
-         BWA.DataUtil.setArrayDataSourceFilter(floorDataSource, 'BuildingId', e.value, searchFloors, defaultSearchFloorArray);
 
-     }
 
-     function initializeSearchClasses(onlyThird) {
 
-         if (onlyThird === undefined || onlyThird === false) {
 
-             searchFacilityClasses[1](defaultSearchClassArray.slice(0));
 
-             searchFacilityClassValues[1](0);
 
-         }
 
-         searchFacilityClasses[2](defaultSearchClassArray.slice(0));
 
-         searchFacilityClassValues[2](0);
 
-     }
 
-     function setupDropZone(isEditModeInPopup, dataViewModel) {
 
-         var timer = null;
 
-         isEditModeInPopup.subscribe(function (value) {
 
-             if (value) {
 
-                 if (timer) { clearInterval(timer); }
 
-                 timer = setInterval(function () {
 
-                     if ($('#facilityDropZone').length) {
 
-                         if (_.isNull(dropZone)) {
 
-                             dropZone = BWA.DropZone.create({
 
-                                 id: '#facilityDropZone',
 
-                                 categoryId: $Code.FileCategory.FACILITY,
 
-                                 uploadedFileInfo: uploadedFileInfo,
 
-                                 handleRemoveBeforePromise: function () {
 
-                                     var keys = BWA.db.extractKeysObject('CmFacility', dataViewModel);
 
-                                     return BWA.db.CmFacility.update(keys, { FileId: null });
 
-                                 },
 
-                                 handleSuccess: function (fileInfo) {
 
-                                     dataViewModel.FileId(fileInfo.FileId);
 
-                                 },
 
-                                 handleRemovedFile: function () {
 
-                                     dataViewModel.FileId(null);
 
-                                 },
 
-                             });
 
-                             uploadedFileInfo.SiteId = dataViewModel.SiteId();
 
-                             uploadedFileInfo.FileId = dataViewModel.FileId();
 
-                             if (uploadedFileInfo.FileId) {
 
-                                 BWA.db.CmFile.byKey(uploadedFileInfo).done(function (data) {
 
-                                     dropZone.removeAllFiles();
 
-                                     dropZone.emit('addedfile', {
 
-                                         name: data.Name,
 
-                                         size: data.FileSize
 
-                                     });
 
-                                 });
 
-                             }
 
-                         }
 
-                     }
 
-                 }, 100);
 
-             }
 
-             else {
 
-                 if (timer) {
 
-                     clearInterval(timer);
 
-                     timer = null;
 
-                 }
 
-                 dropZone = null;
 
-             }
 
-         });
 
-     }
 
-     var facilityOptions = BemsWebApplication.Factory.Facility;
 
-     var viewModel = BWA.DataGrid.createViewWithDataGrid( params, viewInfo, 'CmFacilityTempSet', {
 
-         rowUpdated: function (e) {
 
-             var PropertyId, controlvalue;
 
-             var now = new Date();
 
-             var SiteId = e.key.SiteId;
 
-             var FacilityCode = e.key.FacilityCode;
 
-             var data = e.data;
 
-             var data_columns = Object.getOwnPropertyNames(data).toString();
 
-             var nowmonth = now.getMonth() + 1;
 
-             var nowmonth = "T" + nowmonth;
 
-             if (data_columns == nowmonth) {
 
-                 if (data_columns == "T1") { controlvalue = data.T1; }
 
-                 else if (data_columns == "T2") { controlvalue = data.T2; }
 
-                 else if (data_columns == "T3") { controlvalue = data.T3; }
 
-                 else if (data_columns == "T4") { controlvalue = data.T4; }
 
-                 else if (data_columns == "T5") { controlvalue = data.T5; }
 
-                 else if (data_columns == "T6") { controlvalue = data.T6; }
 
-                 else if (data_columns == "T7") { controlvalue = data.T7; }
 
-                 else if (data_columns == "T8") { controlvalue = data.T8; }
 
-                 else if (data_columns == "T9") { controlvalue = data.T9; }
 
-                 else if (data_columns == "T10") { controlvalue = data.T10; }
 
-                 else if (data_columns == "T11") { controlvalue = data.T11; }
 
-                 else { controlvalue = data.T12; }
 
-                 controlvalue = parseFloat(controlvalue);
 
-                 var dataSource = new DevExpress.data.DataSource({
 
-                     store: {
 
-                         type: "odata",
 
-                         url: endpointSelector + "/BemsFormulaParameter"
 
-                     },
 
-                     requireTotalCount: true,
 
-                     pageSize: 1
 
-                 });
 
-                 dataSource.filter([
 
-                         ["SiteId", "=", BWA.UserInfo.SiteId()],
 
-                         "and",
 
-                         ["FacilityCode", "=", FacilityCode],
 
-                         "and",
 
-                         ["FormulaId", "=", TEMP_SET]
 
-                 ]);
 
-                 dataSource.load()
 
-                 .done(function (result) {
 
-                     if (result.length == 0) {
 
-                         utils.toast.show("[BemsFormulaParameter] 공조기 온도 설정 데이터가 없습니다.");
 
-                     } else {
 
-                         PropertyId = result[0].ParameterPropertyId;
 
-                         var store = new DevExpress.data.ODataStore({
 
-                             url: endpointSelector + "/BemsControlPointHistory",
 
-                             key: ["CreateDateTime", "PropertyId", "FacilityCode", "SiteId"],
 
-                             keyType: { CreateDateTime: "DateTime", PropertyId: "Int32", FacilityCode: "Int32", SiteId: "Int32" }
 
-                         });
 
-                         store.insert({
 
-                             SiteId: SiteId,
 
-                             FacilityTypeId: AIR_HANDLING,
 
-                             FacilityCode: FacilityCode,
 
-                             PropertyId: PropertyId,
 
-                             CreateDateTime: now,
 
-                             ControlValue: controlvalue,
 
-                             WriteServiceName: null,
 
-                             ActionDateTime: null
 
-                         })
 
-                     }
 
-                 })
 
-                 .fail(function (error) {
 
-                     utils.toast.show(error);
 
-                 });
 
-             }
 
-         },
 
-             rowAlternationEnabled: true,
 
-             editing: {
 
-                 editMode: 'cell', // 14.1은  batch, row 두가지 밖에 없다. cell->row로 동작중이다. 2015 07 15 hcLee
 
-                 editEnabled: true,
 
-             },
 
-             dataSourceOptions: {
 
-                 select: ['SiteId', 'FacilityCode',  'CmFacility/Name', 'T1', 'T2', 'T3', 'T4', 'T5', 'T6', 'T7', 'T8', 'T9', 'T10', 'T11', 'T12'],
 
-                 expand: ['CmFacility'],
 
-                 extendOptions: {
 
-                     forceOriginalField: true,
 
-                 }
 
-             },
 
-             columns: [
 
-             { dataField: 'FacilityCode', caption: $G('number'), width: '4%', alignment: 'center' },
 
-                 { dataField: 'CmFacility/Name', caption: '공조기명', width: '10%', alignment: 'center', allowEditing: false },
 
-                 { dataField: 'T1', caption: '1월 설정온도', width: '8%', alignment: 'center' },
 
-                 { dataField: 'T2', caption: '2월 설정온도', width: '8%', alignment: 'center' },
 
-                 { dataField: 'T3', caption: '3월 설정온도', width: '8%', alignment: 'center' },
 
-                 { dataField: 'T4', caption: '4월 설정온도', width: '8%', alignment: 'center' },
 
-                 { dataField: 'T5', caption: '5월 설정온도', width: '8%', alignment: 'center' },
 
-                 { dataField: 'T6', caption: '6월 설정온도', width: '8%', alignment: 'center' },
 
-                 { dataField: 'T7', caption: '7월 설정온도', width: '8%', alignment: 'center' },
 
-                 { dataField: 'T8', caption: '8월 설정온도', width: '8%', alignment: 'center' },
 
-                 { dataField: 'T9', caption: '9월 설정온도', width: '8%', alignment: 'center' },
 
-                 { dataField: 'T10', caption: '10월 설정온도', width: '8%', alignment: 'center' },
 
-                 { dataField: 'T11', caption: '11월 설정온도', width: '8%', alignment: 'center' },
 
-             { dataField: 'T12', caption: '12월 설정온도', width: '8%', alignment: 'center' }
 
-             ],
 
-             popupWidth: 480,
 
-             searchViewItems: [
 
-                 { id: 'CmFacility/BuildingId', ignoreValue: 0, defaultValue: 0, value: searchBuildingId, dataSource: searchBuildings, handleChangedValue: handleBuildingInSearchView },
 
-                 { id: 'CmFacility/FloorId', ignoreValue: 0, defaultValue: 0, withCheckId: 'CmFacility/BuildingId', value: searchFloorId, dataSource: searchFloors },
 
-                 { id: 'CmFacility/Name' }
 
-             ],
 
-             promiseDataInSearchView: searchDeferred.promise(),
 
-         
 
-             handleViewShowing: function () {
 
-                 facilityClassDataSource.filter([
 
-                         ['SiteId', '=', BWA.UserInfo.SiteId()],
 
-                         'and',
 
-                         ['ParentFacilityClassId', '=', null]
 
-                 ]);
 
-                 facilityTypeDataSource.filter([
 
-                     ['FacilityTypeId', '=', 1]
 
-                 ]);
 
-                 // 빌딩 데이터 로드 시점 
 
-                 $.when(facilityClassDataSource.load(),
 
-                     buildingDataSource.load(),
 
-                     facilityTypeDataSource.load()
 
-                 ).done(function (result1, result2, result3) {
 
-                     buildings(result2[0]);
 
-                     searchBuildings(defaultSearchBuildingArray.slice(0).concat(result2[0]));
 
-                     searchFloors(defaultSearchFloorArray.slice(0));
 
-                     searchDeferred.resolve();
 
-                     
 
-                 });
 
-             },
 
-             
 
-             handleViewShown: function (dataViewModel, isEditModeInPopup) {
 
-                 setupDropZone(isEditModeInPopup, dataViewModel);
 
-             },
 
-             handleViewHidden: function () {
 
-                 $SearchView.visibleObservable(false); // hcLee 2015 03 23
 
-                 visiblePopup(false);
 
-             },
 
-             handlePopupShowing: function (that) {
 
-             },
 
-     });
 
-     floorDataSource.filter('BuildingId', -1);
 
-     zoneDataSource.filter('FloorId', -1);
 
-     viewModel.handleSelectBoxChangeFirstClass = function (e) {
 
-         BWA.DataUtil.setArrayDataSourceFilter(facilityClassDataSource, 'ParentFacilityClassId', e.value, facilityClasses[1]);
 
-         viewModel.dataModel.SecondClassId(null);
 
-         viewModel.dataModel.ThirdClassId(null);
 
-     };
 
-     viewModel.handleSelectBoxChangeSecondClass = function (e) {
 
-         BWA.DataUtil.setArrayDataSourceFilter(facilityClassDataSource, 'ParentFacilityClassId', e.value, facilityClasses[2]);
 
-         viewModel.dataModel.ThirdClassId(null);
 
-     };
 
-     viewModel.handleSelectBoxChangeBuilding = function (e) {
 
-         BWA.DataUtil.setArrayDataSourceFilter(floorDataSource, 'BuildingId', e.value, floors);
 
-         viewModel.dataModel.FloorId(null);
 
-         viewModel.dataModel.ZoneId(null);
 
-     };
 
-     viewModel.handleSelectBoxChangeFloor = function (e) {
 
-         BWA.DataUtil.setArrayDataSourceFilter(zoneDataSource, 'FloorId', e.value, zones);
 
-         viewModel.dataModel.ZoneId(null);
 
-     };
 
-     function refreshList() {
 
-     }
 
-     viewModel.facilityTypes = facilityTypes;
 
-     viewModel.dataModel.ClassName = ko.observable();
 
-     viewModel.facilityClasses = facilityClasses;
 
-     viewModel.searchFacilityClasses = searchFacilityClasses;
 
-     viewModel.buildings = buildings;
 
-     viewModel.floors = floors;
 
-     viewModel.zones = zones;
 
-     return viewModel;
 
- };
 
 
  |