| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897 | 
							- BemsWebApplication.CenterMainDashboard = function (params, viewInfo) {
 
-     "use strict";
 
-     var CurrSiteData;
 
-     var sitename = "";
 
-     var CmSite;
 
-     function refreshList() {
 
-     }
 
-     function handleViewShowing() {
 
-         DevExpress.ui.themes.current('generic.dark');
 
-         if (BWA.config["center-mode"]) {
 
-             sitename = "통합관리센터";
 
-         }
 
-         CmSiteDataSource.filter([
 
-             ['lat', '>=', 1]
 
-         ]);
 
-         CmSiteDataSource.sort({ getter: "lat", asc: true });
 
-         CmSiteDataSource.load().done(function (result) {
 
-             CmSite = result;
 
-         });
 
-     }
 
-     function handleViewHidden() {
 
-     }
 
-     function handleViewDisposing() {
 
-     }
 
-     var timer;
 
-     var gaugeDataOptions = {};
 
-     var //ELECTRICITY_DAY_MAX = 50000, // 전기금일목표
 
-         //ELECTRICITY_MONTH_MAX = 1000000, //전기이달목표
 
-         ELECTRICITY_YEAR_MAX = 0,
 
-         //ELECTRICITY_GOAL_YEAR = 101165200, // 백만kWh
 
-         //GAS_DAY_MAX = 40000,
 
-         //GAS_MONTH_MAX = 100000,
 
-         GAS_YEAR_MAX = 0,
 
-         WATER_YEAR_MAX = 0;
 
-     //GAS_GOAL_YEAR = 3708099, // 
 
-     var yearElectricityUsageValue = ko.observable(0),
 
-         yearGasUsageValue = ko.observable(0);
 
-     var CODE = $Code,
 
-     FuelType = CODE.g_fuelTypes,
 
-     FT = CODE.FacilityType,
 
-     FC = CODE.FacilityCode,
 
-     F = CODE.Formula,
 
-     TIT = CODE.TimeIntervalType;
 
-     var visiblePopup = ko.observable(false);
 
-     var factorCo2 = null, factorToe = null, factorKcal = null;
 
-     var serviceType = null;
 
-     var fuelTypesDataSource = BemsWebApplication.db.createDataSource('BemsFuelType'),
 
-     factorCo2DataSource = BemsWebApplication.db.createDataSource('BemsFactorCo2'),
 
-     serviceTypesDataSource = BemsWebApplication.db.createDataSource('BemsServiceType'),
 
-     factorToeDataSource = BemsWebApplication.db.createDataSource('BemsFactorToe'),
 
-     CmSiteDataSource = BemsWebApplication.db.createDataSource('CmSite');
 
-     var mainChart = BWA.Chart.Instance('mainChart', 'dxChart');
 
-     var energyUsageStatusGet = new BWA.Chart.PointHistoryServiceTypeGet(BWA.UserInfo.SiteId());
 
-     //var energyUsageStatusGet = new BWA.Chart.PointHistoryServiceTypeGet(BWA.UserInfo.SiteId());
 
-     //var energyUsageStatusGet = new BWA.Chart.PointHistoryServiceTypeGet(BWA.UserInfo.SiteId());
 
-     var yearElectricityUsageGauge = BWA.Chart.Instance('yearElectricityUsageGauge', 'dxCircularGauge'),
 
-     yearGasUsageGauge = BWA.Chart.Instance('yearGasUsageGauge', 'dxCircularGauge'),
 
-     yearEnergyUsageGauge = BWA.Chart.Instance('yearEnergyUsageGauge', 'dxCircularGauge');
 
-     var chartPieDaySU = BWA.Chart.Instance('chartPieDaySU_CM', 'dxPieChart');
 
-     var chartBarDaySU = BWA.Chart.Instance('chartBarDaySU_CM', 'dxChart');
 
-     var works = ko.observableArray();
 
-     var initialized = false;
 
-     function handleViewShown() {
 
-         /*
 
-         var tests = [];
 
-         for (var i=0; i < 2; i++)
 
-         {
 
-             tests.push({
 
-                 site: '대구은행',
 
-                 today_kcal_24h: '대구은행',
 
-                 elec: 100,
 
-                 gas: 200,
 
-                 per_target : 300,
 
-             });
 
-         }
 
-         works(tests);*/
 
-         if (initialized === false) {
 
-             var chartOption = BWA.ChartOptions.CenterMainDashboard;
 
-             var chartOptionService = BWA.ChartOptions.ServiceEnergyUsageKC;
 
-             //var chartOption2 = BWA.ChartOptions.RefrigeratorAnalysis;
 
-             mainChart = mainChart(chartOption.getMainChartOptions());
 
-             //mainChart = mainChart(chartOption2.getCopChartOptions($Code.TimeType.HOUR));
 
-             yearElectricityUsageGauge = yearElectricityUsageGauge(chartOption.getYearElectricityUsageStatusChartOptions());
 
-             yearGasUsageGauge = yearGasUsageGauge(chartOption.getYearGasUsageStatusChartOptions());
 
-             yearEnergyUsageGauge = yearEnergyUsageGauge(chartOption.getYearTotalEnergyUsageStatusChartOptions());
 
-             gaugeDataOptions[FT.ELECTRICITY] = {
 
-                 gauge: yearElectricityUsageGauge,
 
-                 max: ELECTRICITY_YEAR_MAX,
 
-                 value: yearElectricityUsageValue
 
-             };
 
-             gaugeDataOptions[FT.GAS] = {
 
-                 gauge: yearGasUsageGauge,
 
-                 max: GAS_YEAR_MAX,
 
-                 value: yearGasUsageValue
 
-             };
 
-             serviceTypesDataSource.filter([
 
-                 ['ServiceTypeId', '<', 100]
 
-             ]);
 
-             var whenPromise = $.when(fuelTypesDataSource.load(),
 
-                    factorCo2DataSource.load(),
 
-                    factorToeDataSource.load(),
 
-                    serviceTypesDataSource.load())
 
-             .then(function (dbfuelTypes, dbfactorsCo2, dbfactorsToe, dbServieType) {
 
-                 factorCo2 = BWA.Bems.refineFactorCo2DataArray(dbfactorsCo2[0]);
 
-                 factorToe = BWA.Bems.refineFactorToeDataArray(dbfactorsToe[0]);
 
-                 factorKcal = BWA.Bems.refineFactorKCalDataArray(dbfactorsToe[0]);
 
-                 serviceType = dbServieType[0];
 
-                 chartOptionService.MakeSeries(serviceType);
 
-                 chartPieDaySU = chartPieDaySU(chartOptionService.getPieChartDayOptions());
 
-                 chartBarDaySU = chartBarDaySU(chartOptionService.getBarChartDayOptions());
 
-                 visiblePopup(true);
 
-                 CenterDataLoad();
 
-                 timer = setInterval(function () {
 
-                     var now = new Date();
 
-                     if ((now.getMinutes() % 15 == 0) && (now.getSeconds() == 59)) {
 
-                         //if (now.getSeconds() == 59) {
 
-                         CenterDataLoad();
 
-                         //SelectSite(CurrSiteData);
 
-                     }
 
-                 }, 1000);
 
-             });
 
-             initialized = true;
 
-         }
 
-     }
 
-     function loadCircularGaugeDatas(data) {
 
-         // 파라미터 값들을 로드
 
-         var startDateInYear = moment().startOf('year'),
 
-             endDateInYear = moment();
 
-         var param =
 
-         {
 
-             SiteId: data.site,
 
-             BuildingId: 1, // 의미없음
 
-             FuelType: 1, // 의미없음
 
-             StartDate: startDateInYear,
 
-             EndDate: endDateInYear
 
-         };
 
-         $.when(BWA.api.post('BemsMonitoringPointHistory/GetPrediction', param)) // 오늘,이달,금년 모두 한번에 온다
 
-         .done(function (goals) {
 
-             //ELECTRICITY_DAY_MAX = goals[0];
 
-             //GAS_DAY_MAX = goals[1];
 
-             //WATER_DAY_MAX = goals[2];
 
-             //ELECTRICITY_MONTH_MAX = goals[3];
 
-             //GAS_MONTH_MAX = goals[4];
 
-             //WATER_MONTH_MAX = goals[5];
 
-             ELECTRICITY_YEAR_MAX = goals[6];
 
-             //2017 01 09  가스 목표량은 Kw 이다 해서 아래와 같이 처리한다 hcLee
 
-             //GAS_YEAR_MAX = goals[7];
 
-             GAS_YEAR_MAX = factorToe.calculate(goals[7], FC.ELECTRICITY) / factorToe[FC.GAS].pureFactor;
 
-             WATER_YEAR_MAX = goals[8];
 
-             gaugeDataOptions[FT.ELECTRICITY].max = ELECTRICITY_YEAR_MAX;
 
-             gaugeDataOptions[FT.GAS].max = GAS_YEAR_MAX;
 
-             //gaugeDataOptions[FT.WATER].max = WATER_YEAR_MAX;
 
-             var promises = [];
 
-             var param =
 
-             {
 
-                 SiteId: data.site,
 
-                 TimeIntervalType: TIT.YEAR,
 
-                 FacilityTypeId: FT.ELECTRICITY,
 
-                 FacilityCode: FC.ELECTRICITY,
 
-                 FormulaId: F[FT.ELECTRICITY].TOTAL_ELECTRICITY_AMOUNT,
 
-                 StartDate: $G.dateTime(startDateInYear),
 
-                 EndDate: $G.dateTime(endDateInYear),
 
-             };
 
-             promises.push(BWA.api.get('BemsFormula/Calculation', param));
 
-             param.FacilityTypeId = FT.GAS;
 
-             param.FacilityCode = FC.GAS;
 
-             param.FormulaId = F[FT.GAS].TOTAL_GAS_AMOUNT;
 
-             promises.push(BWA.api.get('BemsFormula/Calculation', param));
 
-             param.FacilityTypeId = FT.WATER;
 
-             param.FacilityCode = FC.WATER;
 
-             param.FormulaId = F[FT.WATER].TOTAL_WATER_AMOUNT;
 
-             promises.push(BWA.api.get('BemsFormula/Calculation', param));
 
-             $.when.apply(this, promises).done(function (e, g, w) {
 
-                 var V = (e[0].length == 1) ? e[0][0].Value : 0;
 
-                 gaugeDataOptions[FT.ELECTRICITY].gauge().value((V == 0) ? 0 : V / gaugeDataOptions[FT.ELECTRICITY].max * 100);
 
-                 gaugeDataOptions[FT.ELECTRICITY].value(V);
 
-                 V = (g[0].length == 1) ? g[0][0].Value : 0;
 
-                 gaugeDataOptions[FT.GAS].gauge().value((V == 0) ? 0 : V / gaugeDataOptions[FT.GAS].max * 100);
 
-                 gaugeDataOptions[FT.GAS].value(V);
 
-                 var maxCo2 = factorCo2.calculate(ELECTRICITY_YEAR_MAX, FC.ELECTRICITY) + factorCo2.calculate(GAS_YEAR_MAX, FC.GAS) + factorCo2.calculate(WATER_YEAR_MAX, FC.WATER);
 
-                 var Co2Electricity = factorCo2.calculate(yearElectricityUsageValue(), FC.ELECTRICITY);
 
-                 var Co2Gas = factorCo2.calculate(yearGasUsageValue(), FC.GAS);
 
-                 V = (w[0].length == 1) ? w[0][0].Value : 0;
 
-                 var Co2 = Co2Electricity + Co2Gas + factorCo2.calculate(V, FC.WATER);
 
-                 //if (V == 0) yearEnergyUsageGauge().value(0); // cyim 2016.12.08 데이타가 없으면 게이지 값을 초기화
 
-                 if (Co2 == 0 || maxCo2 == 0) yearEnergyUsageGauge().value(0); // 버그수정 hcLee 2017 02 16
 
-                 else yearEnergyUsageGauge().value(Co2 / maxCo2 * 100);
 
-                 $('#yearCO2').text(Math.round(Co2 * 100) / 100);
 
-             });
 
-         });
 
-         //여기서 전체 Co2별도 계산 hcLee 2015 06 29
 
-         //rateGauges[DAY_CO2_USAGE].setValue(1.1);
 
-         //rateGauges[MONTH_CO2_USAGE].setValue(2.2);
 
-         //rateGauges[YEAR_CO2_USAGE].setValue(3.3);
 
-         //});
 
-     }
 
-     function loadTotalCo2Month(data) {
 
-         var now = new Date();
 
-         var startDate, endDate;
 
-         var monthMoment;
 
-         monthMoment = moment().month(now.getMonth());
 
-         startDate = monthMoment.startOf('month');
 
-         endDate = monthMoment.clone().endOf('month');
 
-         var promises = [];
 
-         var param =
 
-         {
 
-             SiteId: data.site,
 
-             TimeIntervalType: TIT.MONTH,
 
-             FacilityTypeId: FT.ELECTRICITY,
 
-             FacilityCode: FC.ELECTRICITY,
 
-             FormulaId: F[FT.ELECTRICITY].TOTAL_ELECTRICITY_AMOUNT,
 
-             StartDate: $G.dateTime(startDate),
 
-             EndDate: $G.dateTime(endDate),
 
-         };
 
-         promises.push(BWA.api.get('BemsFormula/Calculation', param));
 
-         param.FacilityTypeId = FT.GAS;
 
-         param.FacilityCode = FC.GAS;
 
-         param.FormulaId = F[FT.GAS].TOTAL_GAS_AMOUNT;
 
-         promises.push(BWA.api.get('BemsFormula/Calculation', param));
 
-         param.FacilityTypeId = FT.WATER;
 
-         param.FacilityCode = FC.WATER;
 
-         param.FormulaId = F[FT.WATER].TOTAL_WATER_AMOUNT;
 
-         promises.push(BWA.api.get('BemsFormula/Calculation', param));
 
-         $.when.apply(this, promises).done(function (e, g, w) {
 
-             var ee = (e[0].length == 1) ? e[0][0].Value : 0;
 
-             var gg = (g[0].length == 1) ? g[0][0].Value : 0;
 
-             var ww = (w[0].length == 1) ? w[0][0].Value : 0;
 
-             var thisMonthCo2 = factorCo2.calculate(ee, FC.ELECTRICITY) + factorCo2.calculate(gg, FC.GAS) + factorCo2.calculate(ww, FC.WATER);
 
-             $('#monthCO2').text(Math.round(thisMonthCo2 * 100) / 100);
 
-             //yearEnergyUsageGauge().value(Co2 / maxCo2 * 100);
 
-         });
 
-     }
 
-     function getChartDataFromDataSources2(loadedDataSources, barDataArray, pieDataArray, timeFormat) {
 
-         var calculate = factorKcal.calculate;
 
-         var sums = new Array(serviceType.length);
 
-         for (var v = 0; v < sums.length; v++) sums[v] = 0;
 
-         // 미리 준비한다.
 
-         var Datas = new Array();
 
-         _.each(loadedDataSources, function (array, i) {
 
-             _.each(array, function (x) {
 
-                 if (i == 0) {
 
-                     var data = {
 
-                         DateTime: timeFormat == 'M' ? BWA.Chart.getCustermTimeArgumentAxisString(timeBoxForSearch.type(), moment(x.DateTime).toDate()) : moment(x.DateTime).format(timeFormat),
 
-                     };
 
-                     var b = (function (data) {
 
-                         var ret;
 
-                         for (var d = 0; d < Datas.length; d++) {
 
-                             if (Datas[d].DateTime == data.DateTime) return false;
 
-                         }
 
-                         return true;
 
-                     })(data);
 
-                     if (b) {
 
-                         for (var s = 1; s < serviceType.length; s++) {
 
-                             var fieldName = serviceType[s].Name();
 
-                             data[fieldName] = 0;
 
-                         }
 
-                         Datas.push(data);
 
-                     }
 
-                 }
 
-                 else
 
-                     return false;
 
-             });
 
-         });
 
-         _.each(loadedDataSources, function (array, i) {
 
-             _.each(array, function (x) {
 
-                 var fieldName = serviceType[x.ServiceType].Name();
 
-                 _.each(Datas, function (d) {
 
-                     if (timeFormat == 'M') {
 
-                         if (d.DateTime == BWA.Chart.getCustermTimeArgumentAxisString(timeBoxForSearch.type(), moment(x.DateTime).toDate())) {
 
-                             d[fieldName] += x.Value;
 
-                         }
 
-                     }
 
-                     else {
 
-                         if (d.DateTime == moment(x.DateTime).format(timeFormat)) {
 
-                             d[fieldName] += x.Value;
 
-                         }
 
-                     }
 
-                 });
 
-                 sums[x.ServiceType] += x.Value;
 
-             });
 
-         });
 
-         _.each(Datas, function (x) {
 
-             barDataArray.push(x);
 
-         });
 
-         _.each(sums, function (x, i) {
 
-             if (i > 0)
 
-                 pieDataArray.push({
 
-                     FuelTypeName: serviceType[i].Name(),
 
-                     Value: x
 
-                 });
 
-         });
 
-     }
 
-     function loadDailyEnergyUsage(sitedata, year, month) {
 
-         var startDate, endDate;
 
-         var monthMoment;
 
-         monthMoment = moment(year).month(month - 1);
 
-         startDate = monthMoment.startOf('month');
 
-         endDate = monthMoment.clone().endOf('month');
 
-         var commonParameters = {
 
-             SiteId: sitedata.site,
 
-             TimeIntervalType: TIT.DAY,
 
-             StartDate: startDate,
 
-             EndDate: endDate
 
-         };
 
-         var pointHistoryParameters = {
 
-             BuildingId: 0,
 
-             FloorId: null,
 
-             ZoneId: null,
 
-             FuelTypeId: null,
 
-         };
 
-         var promises = [];
 
-         pointHistoryParameters.FuelTypeId = -1;
 
-         //energyUsageStatusGet.siteId = sitedata.site;
 
-         promises.push(energyUsageStatusGet.apiGet(_.extend(pointHistoryParameters, commonParameters)));
 
-         $.when.apply(this, promises).done(function (v) {
 
-             var barDataArray = [];
 
-             var pieDataArray = [];
 
-             getChartDataFromDataSources2(v, barDataArray, pieDataArray, 'D');
 
-             var options = BWA.ChartOptions.ServiceEnergyUsageKC.getBarChartDayOptions();
 
-             options.dataSource = barDataArray;
 
-             chartBarDaySU().option(null);
 
-             chartBarDaySU().option(options);
 
-             chartPieDaySU().option('dataSource', pieDataArray);
 
-             visiblePopup(false);
 
-             $('#st1').text(monthMoment._d.getFullYear() + '년 ' + (monthMoment._d.getMonth() + 1) + '월 kcal환산 용도별 사용 현황');
 
-             $('#st2').text(monthMoment._d.getFullYear() + '년 ' + (monthMoment._d.getMonth() + 1) + '월 kcal환산 용도별 전체 사용량 비율');
 
-             $('#st3').text(monthMoment._d.getFullYear() + '년 ' + (monthMoment._d.getMonth() + 1) + '월 kcal환산 용도별 사용량');
 
-             $('#st4').text('kcal환산 용도별 사용 현황');
 
-             $('#st5').text('kcal환산 용도별 전체 사용량 비율');
 
-             $('#st6').text('kcal환산 용도별 사용량');
 
-         })
 
-         .fail(function (error) {
 
-             visiblePopup(false);
 
-         });
 
-     }
 
-     function loadDailyEnergyUsage_OLD(sitedata, year, month) {
 
-         //2016 02 26
 
-         var startDate, endDate;
 
-         var monthMoment;
 
-         monthMoment = moment(year).month(month - 1);
 
-         startDate = monthMoment.startOf('month');
 
-         endDate = monthMoment.clone().endOf('month');
 
-         var promises = [];
 
-         _.each(FuelType, function (x) {
 
-             var param =
 
-             {
 
-                 SiteId: sitedata.site,
 
-                 TimeIntervalType: TIT.DAY,
 
-                 StartDate: $G.dateTime(startDate),
 
-                 EndDate: $G.dateTime(endDate),
 
-                 BuildingId: 0,
 
-                 FloorId: null,
 
-                 ZoneId: null,
 
-                 FuelTypeId: x.FuelTypeId()
 
-             };
 
-             promises.push(BWA.api.get('BemsMonitoringPointHistory/ServiceType', param));
 
-         });
 
-         $.when.apply(this, promises).done(function () {
 
-             var barDataArray = [];
 
-             var pieDataArray = [];
 
-             getChartDataFromDataSources(arguments, barDataArray, pieDataArray, 'D');
 
-             //2015 11 23 차트 다시 그리지 않는 문제 
 
-             //chartBarDay().option('dataSource', barDataArray); // 대신 아래3줄로 변경
 
-             var options = BWA.ChartOptions.ServiceEnergyUsageKC.getBarChartDayOptions();
 
-             options.dataSource = barDataArray;
 
-             chartBarDaySU().option(null);
 
-             chartBarDaySU().option(options);
 
-             chartPieDaySU().option('dataSource', pieDataArray);
 
-             visiblePopup(false);
 
-             $('#st2_CM').text(monthMoment._d.getFullYear() + '년 ' + (monthMoment._d.getMonth() + 1) + '월 kcal환산 용도별 전체 사용량 비율');
 
-             $('#st3_CM').text(monthMoment._d.getFullYear() + '년 ' + (monthMoment._d.getMonth() + 1) + '월 kcal환산 용도별 사용량');
 
-         })
 
-         .fail(function (error) {
 
-             visiblePopup(false);
 
-         });
 
-     }
 
-     function getChartDataFromDataSources(loadedDataSources, barDataArray, pieDataArray, timeFormat) {
 
-         var calculate = factorKcal.calculate;
 
-         _.each(loadedDataSources, function (array, i) {
 
-             _.each(array[0], function (x) {
 
-                 x.Value = calculate(x.Value, FuelType[i].FuelTypeId());
 
-             });
 
-         });
 
-         //var sums =new Number[8];
 
-         var sums = new Array(serviceType.length);
 
-         //var sums = new Array(8);
 
-         for (var v = 0; v < sums.length; v++) sums[v] = 0;
 
-         // 미리 준비한다.
 
-         var Datas = new Array();
 
-         _.each(loadedDataSources, function (array, i) {
 
-             _.each(array[0], function (x) {
 
-                 if (i == 0) {
 
-                     var data = {
 
-                         //DateTime: moment(x.DateTime).format(timeFormat),
 
-                         DateTime: timeFormat == 'M' ? BWA.Chart.getCustermTimeArgumentAxisString(timeBoxForSearch.type(), moment(x.DateTime).toDate()) : moment(x.DateTime).format(timeFormat),
 
-                     };
 
-                     var b = (function (data) {
 
-                         var ret;
 
-                         for (var d = 0; d < Datas.length; d++) {
 
-                             if (Datas[d].DateTime == data.DateTime) return false;
 
-                         }
 
-                         return true;
 
-                     })(data);
 
-                     if (b) {
 
-                         for (var s = 1; s < serviceType.length; s++) {
 
-                             var fieldName = serviceType[s].Name();
 
-                             data[fieldName] = 0;
 
-                         }
 
-                         Datas.push(data);
 
-                     }
 
-                 }
 
-                 else
 
-                     return false;
 
-             });
 
-         });
 
-         _.each(loadedDataSources, function (array, i) {
 
-             _.each(array[0], function (x) {
 
-                 var fieldName = serviceType[x.ServiceType].Name();
 
-                 _.each(Datas, function (d) {
 
-                     if (timeFormat == 'M') {
 
-                         if (d.DateTime == BWA.Chart.getCustermTimeArgumentAxisString(timeBoxForSearch.type(), moment(x.DateTime).toDate())) {
 
-                             d[fieldName] += x.Value;
 
-                         }
 
-                     }
 
-                     else {
 
-                         if (d.DateTime == moment(x.DateTime).format(timeFormat)) {
 
-                             d[fieldName] += x.Value;
 
-                         }
 
-                     }
 
-                 });
 
-                 sums[x.ServiceType] += x.Value;
 
-                 //barDataArray.push(data);
 
-             });
 
-         });
 
-         _.each(Datas, function (x) {
 
-             barDataArray.push(x);
 
-         });
 
-         //alert(serviceType[0].Name);
 
-         _.each(sums, function (x, i) {
 
-             if (i > 0)
 
-                 pieDataArray.push({
 
-                     FuelTypeName: serviceType[i].Name(),
 
-                     Value: x
 
-                 });
 
-         });
 
-     }
 
-     function CenterDataLoad() {
 
-         var siteDatas = [], tempsiteDatas = [];
 
-         var startDateInYear = moment().startOf('year'), endDateInYear = moment();
 
-         var param =
 
-         {
 
-             TimeIntervalType: TIT.YEAR,
 
-             StartDate: $G.dateTime(startDateInYear),
 
-             EndDate: $G.dateTime(endDateInYear)
 
-         };
 
-         $.when(BWA.api.post('BemsMonitoringPointHistory/GetCenterSiteData', param)) // 오늘,이달,금년 모두 한번에 온다
 
-         .done(function (datas) {
 
-             //console.log(datas);
 
-             _.each(datas, function (s) {
 
-                 // 2017 01 11 
 
-                 var gasTarget = factorToe.calculate(s.gas_target, FC.ELECTRICITY) / factorToe[FC.GAS].pureFactor;
 
-                 var tt = (factorKcal.calculate(s.elec_current, FuelType[0].FuelTypeId()) + factorKcal.calculate(s.gas_current, FuelType[1].FuelTypeId())) /
 
-                         (factorKcal.calculate(s.elec_target, FuelType[0].FuelTypeId()) + factorKcal.calculate(gasTarget, FuelType[1].FuelTypeId())) * 100;
 
-                 tt = 100 - tt;
 
-                 tt = Math.round(tt * 100) / 100;
 
-                 if (isNaN(tt)) tt = 0; // 정상코드
 
-                 //if (isNaN(tt)) tt = -10;
 
-                 var todaykcal = [];
 
-                 var i = 0;
 
-                 _.each(s.e_value_list, function (e) {
 
-                     todaykcal.push({
 
-                         DateTime: e.DateTime,
 
-                         Value: Math.round((factorKcal.calculate(e.Value, FuelType[0].FuelTypeId()) + factorKcal.calculate(s.g_value_list[i].Value, FuelType[1].FuelTypeId())) * 100) / 100,
 
-                     });
 
-                     i++;
 
-                 });
 
-                 siteDatas.push({
 
-                     site: s.siteid,
 
-                     name: s.name,
 
-                     //today_kcal_24h: '대구은행',
 
-                     elec: $NumberFormat(s.elec_current),
 
-                     gas: $NumberFormat(s.gas_current),
 
-                     elec_target: s.elec_target,
 
-                     gas_target: s.gas_target,
 
-                     //total_target: Math.abs(100-tt),
 
-                     total_target: tt,
 
-                     //                        today_e_list: s.e_value_list,
 
-                     //                        today_g_list: s.g_value_list,
 
-                     today_value_list: todaykcal,
 
-                 });
 
-             });
 
-             for (var i = 0; i < CmSite.length; i++) {
 
-                 for (var j = 0; j < siteDatas.length; j++) {
 
-                     if (CmSite[i].SiteId() == siteDatas[j].site) {
 
-                         tempsiteDatas.push({
 
-                             site: siteDatas[j].site,
 
-                             name: siteDatas[j].name,
 
-                             elec: siteDatas[j].elec,
 
-                             gas: siteDatas[j].gas,
 
-                             elec_target: siteDatas[j].elec_target,
 
-                             gas_target: siteDatas[j].gas_target,
 
-                             total_target: siteDatas[j].total_target,
 
-                             today_value_list: siteDatas[j].today_value_list,
 
-                         });
 
-                         break;
 
-                     }
 
-                 }
 
-             }
 
-             works(tempsiteDatas);
 
-             if (CurrSiteData == undefined) CurrSiteData = tempsiteDatas[0];
 
-             SelectSite(CurrSiteData);
 
-         });
 
-     }
 
-     function setUpTitle(title) {
 
-         $('#borad-title').html(title);
 
-         $('#site-name').html(sitename);
 
-     }
 
-     function SelectSite(data) {
 
-         setUpTitle(data.name);
 
-         visiblePopup(true);
 
-         var promises = [];
 
-         var endDate = moment(); endDate.endOf('day')
 
-         //return moment(date).subtract(number, unit).toDate();
 
-         var startDate = moment().subtract(30, 'days'); startDate.startOf('day');
 
-         //var lastWeekMoment = moment().subtract(7, 'days');
 
-         var param =
 
-         {
 
-             SiteId: data.site,
 
-             TimeIntervalType: TIT.DAY,
 
-             FacilityTypeId: FT.ELECTRICITY,
 
-             FacilityCode: FC.ELECTRICITY,
 
-             FormulaId: F[FT.ELECTRICITY].TOTAL_ELECTRICITY_AMOUNT,
 
-             StartDate: $G.dateTime(startDate),
 
-             EndDate: $G.dateTime(endDate),
 
-         };
 
-         promises.push(BWA.api.get('BemsFormula/Calculation', param));
 
-         var param =
 
-         {
 
-             SiteId: data.site,
 
-             TimeIntervalType: TIT.DAY,
 
-             FacilityTypeId: FT.GAS,
 
-             FacilityCode: FC.GAS,
 
-             FormulaId: F[FT.GAS].TOTAL_GAS_AMOUNT,
 
-             StartDate: $G.dateTime(startDate),
 
-             EndDate: $G.dateTime(endDate),
 
-         };
 
-         promises.push(BWA.api.get('BemsFormula/Calculation', param));
 
-         $.when.apply(this, promises)
 
-         //$.when(BWA.api.post('BemsFormula/Calculation', param)) // 오늘,이달,금년 모두 한번에 온다
 
-         .done(function (e, g) {
 
-             var dataArray = [];
 
-             _.each(e[0], function (x) {
 
-                 dataArray.push({
 
-                     DateTime: BWA.Chart.getCustermTimeArgumentAxisString(TIT.DAY, moment(x.DateTime).toDate()),
 
-                     eValue: x.Value
 
-                 });
 
-             });
 
-             _.each(g[0], function (x) {
 
-                 dataArray.push({
 
-                     DateTime: BWA.Chart.getCustermTimeArgumentAxisString(TIT.DAY, moment(x.DateTime).toDate()),
 
-                     gValue: x.Value
 
-                 });
 
-             });
 
-             var options = BWA.ChartOptions.CenterMainDashboard.getMainChartOptions();
 
-             options.dataSource = dataArray;
 
-             mainChart().option(options);
 
-             loadDailyEnergyUsage(data, endDate.toDate().getFullYear().toString(), (endDate.toDate().getMonth() + 1).toString());
 
-             loadCircularGaugeDatas(data);
 
-             loadTotalCo2Month(data);
 
-         })
 
-         //loadDailyEnergyUsage(data, $G.dateTime(endDate).getFullYear().toString(), ($G.dateTime(endDate).getMonth() + 1).toString());
 
-     };
 
-     var viewModel = $.extend(BWA.CommonView.create(
 
-         params, viewInfo, null, null, handleViewShown), {
 
-             workDataGridOptions: utils.datagrid.defaultOptions({
 
-                 onCellClick: function (object) {
 
-                     if (object.columnIndex == 5 && object.rowType == 'data') {
 
-                         var newWindow = window.open("about:blank");
 
-                         switch (object.values[5]) {
 
-                             case 1: //대구은행 제2본점
 
-                                 newWindow.location.href = 'http://10.10.30.3:8081';
 
-                                 break;
 
-                             case 2://서울시립 보라매병원
 
-                                 newWindow.location.href = 'http://10.10.20.2:8081';
 
-                                 break;
 
-                             case 6://아이파크몰
 
-                                 newWindow.location.href = 'http://10.10.60.3:8081';
 
-                                 break;
 
-                             case 11://대구은행 제1본점
 
-                                 newWindow.location.href = 'http://10.10.80.4:8081';
 
-                                 break;
 
-                             case 10://정선 파크로쉬
 
-                                 newWindow.location.href = 'http://10.10.50.2:8081';
 
-                                 break;
 
-                         }
 
-                     }
 
-                 },
 
-                 handleDataGridRowClick: function (id, dataGrid, clickRow) { // function () {
 
-                     dataGrid.clearSelection();
 
-                     CurrSiteData = clickRow.data;
 
-                     //console.log(data);
 
-                     SelectSite(CurrSiteData);
 
-                 },
 
-                 selection: {
 
-                     mode: 'single'
 
-                 },
 
-                 rowAlternationEnabled: true,
 
-                 //useNumberColumn: true,
 
-                 dataSource: works,
 
-                 datagridId: 'gridContainerCD',
 
-                 paging: {
 
-                     enabled: false,
 
-                     pageSize: 6
 
-                 },
 
-                 pager: {
 
-                     //allowedPageSizes: true,
 
-                     showPageSizeSelector: false,
 
-                     allowedPageSizes: [6],
 
-                     visible: false
 
-                 },
 
-                 columns: [
 
-                     { dataField: 'name', caption: '현장명', width: '25%', alignment: 'center' },
 
-                     //{ caption: '에너지 사용량', width: '30%', alignment: 'center' },
 
-                     {
 
-                         width: '25%',
 
-                         caption: "금일 에너지 사용량",
 
-                         alignment: 'left',
 
-                         //caption: "금일 전기 현황",
 
-                         //width: 155,
 
-                         cellTemplate: function (container, options) {
 
-                             container.addClass("chart-cell");
 
-                             $("<div />").dxSparkline({
 
-                                 dataSource: options.data.today_value_list,
 
-                                 argumentField: "DateTime",
 
-                                 valueField: "Value",
 
-                                 type: "line",
 
-                                 showMinMax: true,
 
-                                 lineColor: "#565077",
 
-                                 maxColor: "#f00",
 
-                                 minColor: "#2ab71b",
 
-                                 pointSize: 2,
 
-                                 size: {
 
-                                     width: 'auto',
 
-                                     height: 30
 
-                                 },
 
-                                 tooltip: {
 
-                                     enabled: true
 
-                                 }
 
-                             }).appendTo(container);
 
-                         }
 
-                     },
 
- /*                    {
 
-                         width: '20%',
 
-                         //caption: "에너지 사용량",
 
-                         caption: "금일 가스 현황",
 
-                         //width: 155,
 
-                         cellTemplate: function (container, options) {
 
-                             container.addClass("chart-cell");
 
-                             $("<div />").dxSparkline({
 
-                                 dataSource: options.data.today_g_list,
 
-                                 argumentField: "DateTime",
 
-                                 valueField: "Value",
 
-                                 type: "line",
 
-                                 showMinMax: true,
 
-                                 lineColor: "#565077",
 
-                                 maxColor: "#f00",
 
-                                 minColor: "#2ab71b",
 
-                                 pointSize: 2,
 
-                                 size: {
 
-                                     width: 140,
 
-                                     height: 30
 
-                                 },
 
-                                 tooltip: {
 
-                                     enabled: true
 
-                                 }
 
-                             }).appendTo(container);
 
-                         }
 
-                     },*/
 
-                     { dataField: 'elec', caption: '금년 전기 (kWh)', width: '17%', alignment: 'right' },
 
-                     { dataField: 'gas', caption: '금년 가스 (㎥)', width: '17%', alignment: 'right' },
 
-                     { dataField: 'total_target', caption: '목표대비 (%)', width: '17%', alignment: 'center' },
 
-                     {
 
-                         dataField: 'site', caption: '이동', width: '10%', alignment: 'center',
 
-                         customizeText: function (cellInfo) {
 
-                             return "이동";
 
-                         }
 
-                         /*
 
-                         cellTemplate: function (container, options) {
 
-                             $("<div />").dxButton({
 
-                                 //text: options.data.name,
 
-                                 site: options.data.site,
 
-                                 text: '이동',
 
-                                 onClick: function (e) {
 
-                                     var newWindow = window.open("about:blank");
 
-                                     //원래 코드 2017 02 09에 막음, 각각의 사이트를 별도로 구성하기 때문에 쿠키및 자동로그인 기능 사용불가
 
-                                     //newWindow.location.href = '/index.html#Login';
 
-                                     //$.cookie('id', 'admin');
 
-                                     //$.cookie('password', 'kanu123');
 
-                                     //$.cookie('siteId', options.data.site);
 
-                                     //$.cookie('fromCenter', true);
 
-                                 }
 
-                             }).appendTo(container);
 
-                         }*/
 
-                     },
 
-                 ],
 
-                 onCellPrepared: function (options) {
 
-                     if (options.columnIndex == 4 && options.rowType == 'data') {
 
-                         var fieldData = options.value,
 
-                             fieldHtml = "";
 
-                         if (fieldData != 0) {
 
-                             options.cellElement.addClass((fieldData < 0) ? "inc" : "dec");
 
-                         }
 
-                         fieldHtml += "<span class='current-value'>" +
 
-                             "</span> <div class='diff-container'><span class='diff'>" +
 
-                             Math.abs(fieldData) +
 
-                             "</span></div>";
 
-                         options.cellElement.html(fieldHtml);
 
-                         /*
 
-                                                     options.cellElement.addClass((fieldData < 0 ) ? "inc" : "dec");
 
-                                                     //if (fieldData && fieldData > 0) {
 
-                                                         //options.cellElement.addClass((fieldData.diff > 0) ? "inc" : "dec");
 
-                                                         fieldHtml += "<span class='current-value'>" +
 
-                                                             //Globalize.formatCurrency(fieldData.value, "USD") +
 
-                                                             "</span> <span class='diff'>" +
 
-                                                             Math.abs(fieldData) +
 
-                                                             //fieldData +
 
-                                                             //Math.abs(fieldData.diff).toFixed(2) +
 
-                                                             "  </span>";
 
-                                                     //} else {
 
-                                                         //fieldHtml = fieldData.value;
 
-                         
 
-                                                     //}
 
-                                                     options.cellElement.html(fieldHtml);*/
 
-                     }
 
-                 },
 
-             }),
 
-             refreshList: refreshList,
 
-             viewShowing: handleViewShowing,
 
-             viewHidden: handleViewHidden,
 
-             viewDisposing: handleViewDisposing,
 
-         });
 
-     $HourGlassPopup(viewModel, visiblePopup);
 
-     return viewModel;
 
- };
 
 
  |