123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316 |
- BemsWebApplication.ControlValueSet = function (params, viewInfo) {
- "use strict";
- /*
- var facilityViewModel = new BWA.CmFacilityViewModel();
- var cmFacilityDataSource = BemsWebApplication.db.createDataSource('CmFacility', true);
- var m_Facility;
- var facilityDataSource = BWA.db.createDataSource('CmFacility'),
- facilitiesForSearch = ko.observableArray(),
- facilityCodeForSearch = ko.observable(0); */
- var deferredForSearch = new $.Deferred();
- var eq = BWA.DataUtil.constructEqualFilter,
- and = BWA.DataUtil.andFilter;
- var visiblePopup = ko.observable(false);
- var CurrentValueGet = new BWA.Chart.PointHistory_CurrentValueGet(BWA.UserInfo.SiteId());
- //var FacilityName = ko.observable();
- //var paraValues = ko.observableArray([]);
- //var paraValues = ko.observable();
- //var paraValues = [];
- var fName = ko.observable();
- var Name = ko.observable();
- var Energy = ko.observable();
- var Type = ko.observable();
- var getValue = ko.observable(0); // 현재값
- var setValue = ko.observable(0);
- var selData;
- //BWA.UserInfo.SiteId()
- //var dataGrid = $('#gridContainer').dxDataGrid('instance');
- /*
- //var buildingDataSource = BemsWebApplication.db.createDataSource('CmBuilding', true),
- // floorDataSource = BemsWebApplication.db.createDataSource('CmFloor'),
- //zoneDataSource = BemsWebApplication.db.createDataSource('CmZone');
- var facilityClassDataSource = BemsWebApplication.db.createDataSource('FmsFacilityCodeClass');
- // 설비분류 데이터소스
- var facilityTypeDataSource = BemsWebApplication.db.createDataSource('BemsFacilityType');
- //var testDataSource = BemsWebApplication.db.createDataSource('BemsMonitoringPoint');
- 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();
- /*
- selectedFacilityDataInSearchParentPopup.subscribe(function (value) {
- viewModel.dataModel.ParentFacilityCode(value.FacilityCode);
- viewModel.dataModel.ParentFacilityName(value.Name);
- });
- selectedUserData.subscribe(function (value) {
- if (isMainContactor) {
- viewModel.dataModel.MainContactorUserId(value.UserId);
- viewModel.dataModel.MainContactorUserName(value.Name);
- }
- else {
- viewModel.dataModel.SubContactorUserId(value.UserId);
- viewModel.dataModel.SubContactorUserName(value.Name);
- }
- });*/
- /*
- 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);
- }
- var facilityOptions = BemsWebApplication.Factory.Facility;
- */
- var searchViewOptions = {
- searchViewItems: [
- //{ id: 'FuelTypeId', ignoreValue: 0, defaultValue: $Code.FuelType.ELECTRICITY, value: fuelTypeIdForSearch, dataSource: fuelTypesForSearch }
- { id: 'CmFacility/Name' },
- { id: 'Name' },
- ],
- promiseDataInSearchView: searchDeferred.promise()
- };
- var works = ko.observableArray();
- //db.createDataSource
- var workDataSource = BWA.DataUtil.createDataSource({
- //var workDataSource = BemsWebApplication.db.createDataSource({
- dataSourceOptions: {
- select: ['SiteId', 'FacilityCode', 'CmFacility/Name', 'Name', 'BemsFuelType/Name', 'BemsServiceType/Name', 'FacilityTypeId', 'PropertyId'],
- expand: ['CmFacility', 'BemsFuelType', 'BemsServiceType'],
- extendOptions: {
- forceOriginalField: true,
- },
- filter: [
- ['FacilityCode', "<>", 0],
- ]
- },
- }, 'BemsMonitoringPoint');
- function handleSearchInSearchView(filter, searchViewItems) {
- var filterA = [];
- filterA.push(['FacilityCode', "<>", 0]);
- //filterA.push(['ValueType', ">", 0]); // 2016 01 18
- filterA.push([['ValueType', "=", 1], 'or', ['ValueType', "=", 3]]); // // 2016 01 18 AO,DO만 처리
- _.each(filter, function (x) {
- filterA.push(x);
- });
- workDataSource.filter(filterA);
- //workDataSource._storeLoadOptions.filter.push(filter);
- //workDataSource._paginate = false;
- workDataSource.load().done(function (workResult) {
- //viewModel.dataSource.load().done(function (workResult) {
- var param = {
- SiteId: BWA.UserInfo.SiteId(),
- };
- var promises = [];
- promises.push(CurrentValueGet.apiGet(_.extend(param, { ValueType: 0 }))); // ValueType이 정해져야 한다 현재는 모두 0
- $.when.apply(this, promises).done(function (c) {
- var i = 0;
- _.each(workResult, function (x) {
- x[6] = 'CV';
- x.CV = (c[i][0].Value == -9999) ? '' : c[i][0].Value;
- x[7] = 'SV';
- x.SV = (c[i][1].Value == -9999) ? '' : c[i][1].Value;
- i++;
- //works.push(x);
- //alert(x.Name());
- });
- works(workResult);
- }).fail(function (error) {
- //alert(error);
- //visiblePopup(false); visibleHourPopup이 필요
- });
- //datas = workResult;
-
- //viewModel.dataSource = works;
- });
- //viewModel.dataSource = null;
- //viewModel.refreshList();
- }
- function handleViewShown () {
- //setupDropZone(isEditModeInPopup, dataViewModel);
- handleSearchInSearchView();
- }
- function handleSearchViewInitializeUpdate() {
- }
- function refreshList() {
- //dataSource.pageIndex(0);
- //dataSource.load();
- }
- function handleViewShowing() {
- //dataSource.pageIndex(0);
- //dataSource.load();
- }
- function handleViewHidden() {
- $SearchView.visibleObservable(false); // hcLee 2015 03 23
- //visiblePopup(false);
- }
- //var tempDate = new Date();
- var paramDate = new Date(2015,8,17, 15,0, 0);
- //var viewModel = $.extend(BWA.CommonView.create(
- //var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, 'BemsMonitoringPoint', {
- //var viewModel = BWA.DataGrid.createViewWithDataGrid(params, viewInfo, null, {
- var viewModel = $.extend(BWA.CommonView.create(params, viewInfo, searchViewOptions, ko.observable(null), handleViewShown, null,
- handleSearchInSearchView, handleSearchViewInitializeUpdate), {
- refreshList: refreshList,
- viewShowing: handleViewShowing,
- viewHidden: handleViewHidden, // hcLee 2015 03 23
- //viewDisposing: handleViewHidden, // hcLee 2015 03 23
- //locationEnableForSearch: locationEnableForSearch,
- workDataGridOptions: utils.datagrid.defaultOptions({
- //handleDataGridRowClick: function (id, dataGrid, clickRow) { // function () {
- rowClick: function (row) {
- //alert(row.data.PropertyId());
- selData = row.data;
- //viewModel.popupOptions.paraValues[1] = row.values[1];
- //viewModel.popupOptions.paraValues[2] = row.values[2];
- //viewModel.popupOptions.paraValues[3] = row.values[3];
- //viewModel.popupOptions.paraValues[4] = row.values[4];
- //viewModel.popupOptions.paraValues(row.values);
- fName(row.values[1]);
- Name(row.values[2]);
- Energy(row.values[3]);
- Type(row.values[4]);
- getValue(row.values[5]);
- setValue(row.values[6]);
- //alert(paraValues[2]);
- //var dataModel = viewModel.dataModel;
- visiblePopup(true);
- },
- rowAlternationEnabled: true,
- /*
- editing: {
- editMode: 'cell', // 14.1은 batch, row 두가지 밖에 없다. cell->row로 동작중이다. 2015 07 15 hcLee
- editEnabled: true,
- },*/
- dataSource: works,
- columns: [
- { dataField: 'FacilityCode', caption: $G('number'), width: '4%', alignment: 'center' }, // ?
- { dataField: 'CmFacility/Name', caption: '설비명칭', width: '25%', alignment: 'center', allowEditing: false },
- { dataField: 'Name', caption: '관제점명', width: '25%', alignment: 'center', allowEditing: false },
- { dataField: 'BemsFuelType/Name', caption: '에너지원', width: '10%', alignment: 'center', allowEditing: false, },
- { dataField: 'BemsServiceType/Name', caption: '용도', width: '10%', alignment: 'center', allowEditing: false },
- { dataField: 'CV', caption: '현재값', width: '8%', alignment: 'center', },
- { dataField: 'SV', caption: '설정값', width: '8%', alignment: 'center', },
- ],
- }),
- //promiseDataInSearchView: searchDeferred.promise(),
- setValue: function () {
- //alert(setValue());
- selData.SV = setValue();
- visiblePopup(false);
- var param;
- var promises = [];
- param = {
- SiteId: BWA.UserInfo.SiteId(),
- FacilityTypeId: selData.FacilityTypeId(),
- FacilityCode: selData.FacilityCode(),
- PropertyId: selData.PropertyId(),
- ControlValue: setValue(),
- };
- promises.push(BWA.api.post('BemsMonitoringPointHistory/ControlPoint', null, param));
- $.when.apply(this, promises).done(function () {
- utils.toast.show(Name() + ' 설정 완료');
- $('#gridContainer').dxDataGrid('instance').refresh();
- })
- },
- closePopUp: function () {
- //var f = m_Facility.toJS();
- visiblePopup(false);
- },
- });
- viewModel.popupOptions = {
- width: 420,
- height: 'auto',
- visible: visiblePopup,
- dragEnabled: false,
- shading: false,
- fName : fName,
- Name : Name,
- Energy : Energy,
- Type : Type,
- getValue: getValue,
- setValue: setValue,
- //paraValues : paraValues,
- closeOnOutsideClick: false
- };
- return viewModel;
- };
|