| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856 | 
							- BemsWebApplication.MainDashboard = function(params, viewInfo) {
 
-     "use strict";
 
-     var
 
-         ELECTRICITY_DAY_MAX = 50000, // 전기금일목표
 
-         ELECTRICITY_MONTH_MAX = 1000000, //전기이달목표
 
-         ELECTRICITY_YEAR_MAX = 9000000,
 
-         ELECTRICITY_GOAL_YEAR = 101165200, // 백만kWh
 
-         GAS_DAY_MAX = 40000,
 
-         GAS_MONTH_MAX = 100000,
 
-         GAS_YEAR_MAX = 800000,
 
-         GAS_GOAL_YEAR = 3708099, // 
 
-         WATER_DAY_MAX = 15000,
 
-         WATER_MONTH_MAX = 4000000,
 
-         WATER_YEAR_MAX = 5000000,
 
-         WATER_GOAL_YEAR = 682772;
 
- /*
 
-         ELECTRICITY_YEAR_MAX = ELECTRICITY_GOAL_YEAR + ELECTRICITY_GOAL_YEAR * 0.7,
 
-         GAS_YEAR_MAX = GAS_GOAL_YEAR + GAS_GOAL_YEAR * 0.7, // 
 
-         WATER_YEAR_MAX = WATER_GOAL_YEAR + WATER_GOAL_YEAR * 0.7; // 10%를 최대값으로 */
 
-         
 
-     var todayDayValue = ko.observableArray();//  시간데이터와 일 데이터가 계속 맞지 않아 에너지사용현황은 Daily에서 읽어오도록 수정 hcLee 2016 03 18
 
-     var timer;
 
-     var formulaGet = new BWA.Chart.FormulaGet(BWA.UserInfo.SiteId()),
 
-         energyUsageStatusGet = new BWA.Chart.EnergyUsageStatusGet(BWA.UserInfo.SiteId());
 
-     var chartOption = BWA.ChartOptions.MainDashBoard;
 
-     var factorCo2 = null,
 
-         factorToe = null;
 
-     var CODE = $Code,
 
-         FuelType = CODE.FuelType,
 
-         FT = CODE.FacilityType,
 
-         FC = CODE.FacilityCode,
 
-         F = CODE.Formula,
 
-         TIT = CODE.TimeIntervalType;
 
-     var gaugeDataOptions = {};
 
-     var DAY_ENERGY_USAGE    = 0,
 
-         DAY_CO2_USAGE       = 1,
 
-         MONTH_ENERGY_USAGE  = 2,
 
-         MONTH_CO2_USAGE     = 3,
 
-         YEAR_ENERGY_USAGE   = 4,
 
-         YEAR_CO2_USAGE      = 5;
 
-     var initialized = false,
 
-         shouldReload = false,
 
-         fuelTypesDataSourceMD = BemsWebApplication.db.createDataSource('BemsFuelType'),
 
-         factorCo2DataSource = BemsWebApplication.db.createDataSource('BemsFactorCo2'),
 
-         factorToeDataSource = BemsWebApplication.db.createDataSource('BemsFactorToe'),
 
-         //fuelTypesDataSource = BemsWebApplication.db.createDataSource('BemsFuelType'),
 
-         dailyDataSource = BemsWebApplication.db.createDataSource('BemsMonitoringPointHistoryDaily'),
 
-         hourlyDataSource = BemsWebApplication.db.createDataSource('BemsMonitoringPointHistoryHourly'),
 
-         todayCheck = ko.observable(true),
 
-         yesterdayCheck = ko.observable(true),
 
-         lastWeekCheck = ko.observable(false),
 
-         thisMonthCheck = ko.observable(true),
 
-         lastMonthCheck = ko.observable(true),
 
-         lastYearCheck = ko.observable(false),
 
-         todayValue = ko.observable(0),
 
-         yesterdayValue = ko.observable(0),
 
-         lastWeekValue = ko.observable(0),
 
-         thisMonthValue = ko.observable(0),
 
-         lastMonthValue = ko.observable(0),
 
-         lastYearValue = ko.observable(0),
 
-         // hcLee 2016 03 18
 
-         currentTemp = ko.observable(0),
 
-         currentHumi = ko.observable(0),
 
-         yearElectricityUsageValue = ko.observable(0),
 
-         yearGasUsageValue = ko.observable(0),
 
-         yearWaterUsageValue = ko.observable(0),
 
-         currentTabIndex = ko.observable(0),
 
-         dataSource;
 
-     var dayEnergyUsageChart         = BWA.Chart.Instance('dayEnergyUsageChart', 'dxChart'),
 
-         monthEnergyUsageChart       = BWA.Chart.Instance('monthEnergyUsageChart', 'dxChart'),
 
-         yearElectricityUsageGauge   = BWA.Chart.Instance('yearElectricityUsageGauge', 'dxCircularGauge'),
 
-         yearGasUsageGauge           = BWA.Chart.Instance('yearGasUsageGauge', 'dxCircularGauge'),
 
-         yearWaterUsageGauge         = BWA.Chart.Instance('yearWaterUsageGauge', 'dxCircularGauge'),
 
-         yearEnergyUsageGauge        = BWA.Chart.Instance('yearEnergyUsageGauge', 'dxCircularGauge'),
 
-         energyUsageRatioPieChart    = BWA.Chart.Instance('energyUsageRatioPieChart', 'dxPieChart'),
 
-         
 
-         rateGauges = [];
 
-     var fuelTypes = ko.observableArray([]),
 
-         fuelTypeId = ko.observable(),
 
-         
 
-         todayEnergyStatusArray = ko.observableArray(),
 
-         yesterdayEnergyStatusArray = ko.observableArray(),
 
-         lastWeekEnergyStatusArray = ko.observableArray(),
 
-         thisMonthEnergyStatusArray = ko.observableArray(),
 
-         lastMonthEnergyStatusArray = ko.observableArray(),
 
-         lastYearEnergyStatusArray = ko.observableArray()
 
-     ;
 
-     //    monthEnergyDataSource(dayEnergyDataSource());
 
-     var pieDataSource = ko.observableArray();
 
-     function handleCmBuildingModification() {
 
-         shouldReload = true;
 
-     }
 
-     var initialized = false;
 
-     function setGaugeValue(id, value, unit) {
 
-         var jq = $('#' + id);
 
-         jq.cwGauge('option', 'value', BWA.DataUtil.getNumberStringWithComma(value));
 
-         jq.cwGauge('option', 'unit', unit);
 
-         //jq.cwGauge2(BWA.DataUtil.getNumberStringWithComma(value), unit);
 
-     }
 
-     function handleViewShown() {
 
-         //window.$SearchView.isNotUse(true); 
 
-         if (initialized === false) {
 
-             var gaugeOptions = [
 
-                 { id: 'dayEnergyUsage', title: $G('dayEnergyUsgae'), unit: '(kWh)', colorType: 1, value: 0 },
 
-                 { id: 'dayCo2Usage', title: $G('dayCo2Usgae'), unit: '(tCO2)', colorType: 1, value: 0 }, // 사용안함
 
-                 { id: 'monthEnergyUsage', title: $G('monthEnergyUsgae'), unit: '(kWh)', colorType: 2, value: 0 },
 
-                 { id: 'monthCo2Usage', title: $G('monthCo2Usgae'), unit: '(tCO2)', colorType: 2, value: 0 },
 
-                 { id: 'yearEnergyUsage', title: $G('yearEnergyUsgae'), unit: '(kWh)', colorType: 3, value: 0 },
 
-                 { id: 'yearCo2Usage', title: $G('yearCo2Usgae'), unit: '(tCO2)', colorType: 3, value: 0 }
 
-             ];
 
-             _.each(gaugeOptions, function(options, i) {
 
-                 rateGauges[i] = new BWA.Chart.RateGauge.newInstance(_.extend(options, { 
 
-                     height: '86px'
 
-                 }));
 
-             });
 
-             //rateGauges[DAY_ENERGY_USAGE].setValue(4124);
 
-             //rateGauges[DAY_CO2_USAGE].setValue(4124);
 
-             //rateGauges[MONTH_ENERGY_USAGE].setValue(7124);
 
-             //rateGauges[MONTH_CO2_USAGE].setValue(6124);
 
-             //rateGauges[YEAR_ENERGY_USAGE].setValue(10124);
 
-             //rateGauges[YEAR_CO2_USAGE].setValue(10124);
 
-             dayEnergyUsageChart = dayEnergyUsageChart(chartOption.getTodayEnergyUsageStatusChartOptions());
 
-             monthEnergyUsageChart = monthEnergyUsageChart(chartOption.getMonthEnergyUsageStatusChartOptions());
 
-             yearElectricityUsageGauge = yearElectricityUsageGauge(chartOption.getYearElectricityUsageStatusChartOptions());  
 
-             yearGasUsageGauge = yearGasUsageGauge(chartOption.getYearGasUsageStatusChartOptions());
 
-             yearWaterUsageGauge = yearWaterUsageGauge(chartOption.getYearWaterUsageStatusChartOptions());
 
-             yearEnergyUsageGauge = yearEnergyUsageGauge(chartOption.getYearTotalEnergyUsageStatusChartOptions());
 
-             //            yearElectricityUsageGauge().value(612772);
 
-             energyUsageRatioPieChart = energyUsageRatioPieChart(chartOption.getUsageRatioByEnergyChartOptions());
 
-             gaugeDataOptions[FT.ELECTRICITY] = {
 
-                 gauge: yearElectricityUsageGauge,
 
-                 max: ELECTRICITY_YEAR_MAX,
 
-                 value: yearElectricityUsageValue
 
-             }; 
 
-             gaugeDataOptions[FT.GAS] = {
 
-                 gauge: yearGasUsageGauge,
 
-                 max: GAS_YEAR_MAX,
 
-                 value: yearGasUsageValue
 
-             };
 
-             gaugeDataOptions[FT.WATER] = {
 
-                 gauge: yearWaterUsageGauge,
 
-                 max: WATER_YEAR_MAX,
 
-                 value: yearWaterUsageValue
 
-             };
 
-             //setGaugeRangeContainer(yearElectricityUsageGauge, ELECTRICITY_GOAL_YEAR);
 
-             //setGaugeRangeContainer(yearGasUsageGauge, GAS_GOAL_YEAR);
 
-             //setGaugeRangeContainer(yearWaterUsageGauge, WATER_GOAL_YEAR);
 
-             var whenPromise = $.when(fuelTypesDataSourceMD.load(),
 
-                    factorCo2DataSource.load(),
 
-                    factorToeDataSource.load())
 
-             .then(function (dbfuelTypes, dbfactorsCo2, dbfactorsToe) {
 
-                 factorCo2 = BWA.Bems.refineFactorCo2DataArray(dbfactorsCo2[0]);
 
-                 factorToe = BWA.Bems.refineFactorToeDataArray(dbfactorsToe[0]);
 
-                 fuelTypeId($Code.FuelType.ELECTRICITY);
 
-                 fuelTypes(_.rest(dbfuelTypes[0]));
 
-                 initialized = true;
 
-             });
 
-            
 
-         }
 
-         load();
 
-         if (shouldReload) {
 
-             //shouldReload = false;
 
-             //dataSource.pageIndex(0);
 
-             //dataSource.load();
 
-         }
 
-         $SideMenu.showSideMenuIfWill(params.view);
 
-         //sideOverlayVisible(true);
 
-         timer = setInterval(function () {
 
-             var now = new Date();
 
-             if ((now.getMinutes() % 15 == 0) && (now.getSeconds() == 59)) {
 
-                 load();
 
-                 /*
 
-                 setupRateGaugeByFuelType(fuelTypeId());
 
-                 setupTodayEnergyUsageStatusSeries();
 
-                 setupMonthEnergyUsageStatusSeries();
 
-                 loadTodayEnergyUsage(fuelTypeId());
 
-                 loadMonthEnergyUsage(fuelTypeId());*/
 
-             }
 
-         }, 1000);
 
-         $('#sidemenubutton').hide(); // hcLee 2015 12 08
 
-     }
 
-     function handleViewDisposing() {
 
-     }
 
-     function handleViewHidden() {
 
-         clearInterval(timer); // hcLee 2015 06 12
 
-         $('#sidemenubutton').show(); // hcLee 2015 12 08
 
-     }
 
-     var eq = BWA.DataUtil.constructEqualFilter;
 
-     var and = BWA.DataUtil.andFilter;
 
-     var fcode = $Code.FacilityCode;
 
-     var selectedFacilityCode = fcode.ELECTRICITY;
 
-     function handleViewShowing() {
 
-  
 
-     }
 
-     function setUsageStatusDataIntoList(sourceData, destlist, momentTimeField, valueField) {
 
-         _.each(sourceData, function(data) {
 
-             var item = {
 
-                 DateTime: moment(data.DateTime)[momentTimeField](),
 
-             };
 
-             item[valueField] = data.Value;
 
-             destlist.push(item);
 
-         });
 
-     }
 
-     function getDayUsageStatusDataList() {
 
-         var list = [];
 
-         setUsageStatusDataIntoList(todayEnergyStatusArray(), list, 'hours', 'TodayValue');
 
-         setUsageStatusDataIntoList(yesterdayEnergyStatusArray(), list, 'hours', 'YesterdayValue');
 
-         setUsageStatusDataIntoList(lastWeekEnergyStatusArray(), list, 'hours', 'LastWeekValue');
 
-         return list;
 
-     }
 
-     function loadTodayEnergyUsage(fuelTypeId) {
 
-         var request = energyUsageStatusGet.requestGetForUsgaeStatus(fuelTypeId, TIT.HOUR);
 
-         //var requestd = energyUsageStatusGet.requestGetForUsgaeStatus(fuelTypeId, TIT.DAY);
 
-         var lastWeekMoment = moment().subtract(7, 'days');
 
-         var yesterdayMoment = moment().subtract(1, 'days');
 
-         var todayMoment = moment();
 
-         $.when(
 
-             request(lastWeekMoment.clone().startOf('day'), lastWeekMoment.endOf('day')),
 
-             request(yesterdayMoment.clone().startOf('day'), yesterdayMoment.endOf('day')),
 
-             request(todayMoment.clone().startOf('day'), todayMoment))
 
-             //requestd(todayMoment.clone().startOf('day'), todayMoment)) // 추가 todayDayData 추가 hcLee 2016 03 18
 
-         .done(function (lastWeekData, yesterdayData, todayData, todayDayData) { // todayDayData 추가 hcLee 2016 03 18
 
-             yesterdayEnergyStatusArray(yesterdayData[0]);
 
-             lastWeekEnergyStatusArray(lastWeekData[0]);
 
-             todayEnergyStatusArray(todayData[0]);
 
-             //todayDayValue(todayDayData[0]);  /// todayDayData 추가 hcLee 2016 03 18
 
-             // 2017 01 10 hcLee
 
-             if (fuelTypeId == FuelType.WATER)
 
-                 dayEnergyUsageChart().option('valueAxis.label', { format: 'largeNumber', precision: 2 });
 
-             else
 
-                 dayEnergyUsageChart().option('valueAxis.label', { format: 'largeNumber' });
 
-             dayEnergyUsageChart().option('dataSource', getDayUsageStatusDataList());
 
-         });
 
-     }
 
-     function loadMonthEnergyUsage(fuelTypeId) {
 
-         var request = energyUsageStatusGet.requestGetForUsgaeStatus(fuelTypeId, TIT.DAY);
 
-         
 
-         var lastYearMoment = moment().subtract(1, 'years');
 
-         var lastMonthMoment = moment().subtract(1, 'months');
 
-         var thisMonthMoment = moment();
 
-         $.when(
 
-             request(lastYearMoment.clone().startOf('months'), lastYearMoment.endOf('months')),
 
-             request(lastMonthMoment.clone().startOf('months'), lastMonthMoment.endOf('months')),
 
-             request(thisMonthMoment.clone().startOf('months'), thisMonthMoment))
 
-         .done(function(lastYearData, lastMonthData, thisMonthData) {
 
-             lastYearEnergyStatusArray(lastYearData[0]);
 
-             lastMonthEnergyStatusArray(lastMonthData[0]);
 
-             thisMonthEnergyStatusArray(thisMonthData[0]);
 
-             var list = [];
 
-             setUsageStatusDataIntoList(thisMonthEnergyStatusArray(), list, 'date', 'ThisMonthValue');
 
-             setUsageStatusDataIntoList(lastMonthEnergyStatusArray(), list, 'date', 'LastMonthValue');
 
-             setUsageStatusDataIntoList(lastYearEnergyStatusArray(), list, 'date', 'LastYearValue');
 
-             // 2017 01 10 hcLee
 
-             if (fuelTypeId == FuelType.WATER)
 
-                 monthEnergyUsageChart().option('valueAxis.label', { format: 'largeNumber', precision: 2 });
 
-             else
 
-                 monthEnergyUsageChart().option('valueAxis.label', { format: 'largeNumber' });
 
-             monthEnergyUsageChart().option('dataSource', list);
 
-         });
 
-     }
 
-     function load() {
 
-         // 파라미터 값들을 로드
 
-            
 
-             var startDateInYear = moment().startOf('year'),
 
-                 endDateInYear = moment();
 
-             var param =
 
-             {
 
-                 SiteId: BWA.UserInfo.SiteId(),
 
-                 BuildingId: 1, // 의미없음
 
-                 FuelType:1, // 의미없음
 
-                 StartDate: startDateInYear,// 의미없음
 
-                 EndDate: endDateInYear // 의미없음
 
-             };
 
-             $.when(BWA.api.post('BemsMonitoringPointHistory/GetPrediction', param)) // 오늘,이달,금년 모두 한번에 온다
 
-             .done(function (goals)
 
-             {
 
-                 ELECTRICITY_DAY_MAX = goals[0];
 
-                 //2017 01  가스 목표량은 Kw 이다 해서 아래와 같이 처리한다 hcLee
 
-                 //GAS_DAY_MAX = goals[1];
 
-                 GAS_DAY_MAX = factorToe.calculate(goals[1], FuelType.ELECTRICITY) / factorToe[FuelType.GAS].pureFactor; ;
 
-                 WATER_DAY_MAX = goals[2];
 
-                 ELECTRICITY_MONTH_MAX = goals[3];
 
-                 //2017 01  가스 목표량은 Kw 이다 해서 아래와 같이 처리한다 hcLee
 
-                 //GAS_MONTH_MAX = goals[4];
 
-                 GAS_MONTH_MAX = factorToe.calculate(goals[4], FuelType.ELECTRICITY) / factorToe[FuelType.GAS].pureFactor;;
 
-                 WATER_MONTH_MAX = goals[5];
 
-                 ELECTRICITY_YEAR_MAX = goals[6];
 
-                 //2017 01  가스 목표량은 Kw 이다 해서 아래와 같이 처리한다 hcLee
 
-                 //GAS_YEAR_MAX = goals[7];
 
-                 GAS_YEAR_MAX = factorToe.calculate(goals[7], FuelType.ELECTRICITY) / factorToe[FuelType.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 = [whenPromise];
 
-                 var promises = [];
 
-                 _.each(BWA.Chart.EnergyUsageStatusGet.SearchConditions, function (x) {
 
-                     var gaugeDataOption = gaugeDataOptions[x.FacilityTypeId];
 
-                     var p = formulaGet.apiGet(_.extend(x, {
 
-                         TimeIntervalType: TIT.YEAR,
 
-                         StartDate: startDateInYear,
 
-                         EndDate: endDateInYear
 
-                     }))
 
-                     .then(getCircularChartValueFunc(gaugeDataOption));
 
-                     promises.push(p);
 
-                 });
 
-                 // 금년 목표 대비 에너지 사용 비율 모두 로드 한 후에 TOE 계산하여 적용
 
-                 $.when.apply(null, promises).then(function () {
 
-                     var maxToe = factorToe.calculate(ELECTRICITY_YEAR_MAX, FuelType.ELECTRICITY) + factorToe.calculate(GAS_YEAR_MAX, FuelType.GAS) +
 
-                         factorToe.calculate(WATER_YEAR_MAX, FuelType.WATER);
 
-                     var toeElectricity = factorToe.calculate(yearElectricityUsageValue(), FuelType.ELECTRICITY);
 
-                     var toeGas = factorToe.calculate(yearGasUsageValue(), FuelType.GAS);
 
-                     var toeWater = factorToe.calculate(yearWaterUsageValue(), FuelType.WATER);
 
-                     var toe = toeElectricity + toeGas + toeWater;
 
-                     yearEnergyUsageGauge().value(toe / maxToe * 100);
 
-                     //yearEnergyUsageGauge().value(60);
 
-                     setupRateGaugeByFuelType(fuelTypeId());
 
-                     pieDataSource([
 
-                         { energy: "전기", value: toeElectricity },
 
-                         { energy: "가스", value: toeGas },
 
-                         { energy: "수도", value: toeWater },
 
-                     ]);
 
-                     loadTotalCo2ToDay();
 
-                     loadTotalCo2Month();
 
-                     loadTotalCo2Year();
 
-                     var promisesTH = [];
 
-                     var todayMoment = moment();
 
-                     var commonParameters = {
 
-                         TimeIntervalType: TIT.DAY,
 
-                         StartDate: todayMoment.clone().startOf('day'),
 
-                         EndDate: todayMoment
 
-                     };
 
-                     // 2016 06 29 추가
 
-                     var commonParametersForTH = {
 
-                         TimeIntervalType: TIT.QUARTERMIN,
 
-                         StartDate: todayMoment.clone().startOf('day'),
 
-                         EndDate: todayMoment
 
-                     };
 
-                     var temperatureParameters = {
 
-                         FacilityTypeId: FT.OUTDOOR,
 
-                         FacilityCode: FC.OUTDOOR,
 
-                         FormulaId: F[FT.OUTDOOR].TEMPERATURE,
 
-                     };
 
-                     var humidityParameters = _.extend({}, temperatureParameters, {
 
-                         FormulaId: F[FT.OUTDOOR].HUMIDITY,
 
-                     });
 
-                     promisesTH.push(formulaGet.apiGet(_.extend(temperatureParameters, commonParametersForTH)));
 
-                     promisesTH.push(formulaGet.apiGet(_.extend(humidityParameters, commonParametersForTH)));
 
-                     $.when.apply(this, promisesTH)
 
-                     .done(function (OUTtemperatures, humidities) {
 
-                         if (OUTtemperatures[0].length > 0)
 
-                             currentTemp(OUTtemperatures[0][OUTtemperatures[0].length-1].Value.toFixed(2) + " °C");
 
-                         if (humidities[0].length > 0)
 
-                             currentHumi(humidities[0][humidities[0].length - 1].Value.toFixed(2) + " %");
 
-                         setupTodayEnergyUsageStatusSeries();
 
-                         setupMonthEnergyUsageStatusSeries();
 
-                         loadTodayEnergyUsage(fuelTypeId());
 
-                         loadMonthEnergyUsage(fuelTypeId());
 
-                     })
 
-                 });
 
-             });
 
-             //여기서 전체 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 loadTotalCo2ToDay() {
 
-         var now = new Date();
 
-         var startDate, endDate;
 
-         startDate = new Date(now.getFullYear(), now.getMonth(), now.getDate() , 0, 0, 0);
 
-         endDate = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59);
 
-         var promises = [];
 
-         _.each($Code.g_fuelTypes, function (x) {
 
-             //promises.push(energyUsageStatusGet.requestGetForUsgaeStatus(x.FuelTypeId(), TIT.HOUR)(startDate, endDate)); // 2015 06 08 수정 CO2과 똑같이 
 
-             promises.push(energyUsageStatusGet.requestGetForUsgaeStatus(x.FuelTypeId(), TIT.DAY)(startDate, endDate)); // 2015 06 08 수정 CO2과 똑같이 
 
-         });
 
-         $.when.apply(this, promises).done(function () {
 
-             var Esum = 0;
 
-             var TotalCO2 = 0;
 
-             _.each(arguments, function (array, i) {
 
-                 var field = $Code.g_fuelTypes[i].Name();
 
-                 
 
-                 _.each(array[0], function (x) {
 
-                     Esum += x.Value;
 
-                 });
 
-                 TotalCO2 += factorCo2.calculate(Esum, $Code.g_fuelTypes[i].FuelTypeId());
 
-                 Esum = 0;
 
-             });
 
-             //TotalCO2
 
-             rateGauges[DAY_CO2_USAGE].setValue(Math.round(TotalCO2 * 100) / 100);
 
-         });
 
-     }
 
-     function loadTotalCo2Month() {
 
-         var now = new Date();
 
-         var startDate, endDate;
 
-         var monthMoment;
 
-         monthMoment = moment().month(now.getMonth());
 
-         startDate = monthMoment.startOf('month');
 
-         endDate = monthMoment.clone().endOf('month');
 
-         //startDate = new Date(now.getFullYear(), now.getMonth(), 1, 0, 0, 0);
 
-         //endDate = new Date(now.getFullYear(), now.getMonth(), 31, 23, 59, 59);
 
-         var promises = [];
 
-         _.each($Code.g_fuelTypes, function (x) {
 
-             promises.push(energyUsageStatusGet.requestGetForUsgaeStatus(x.FuelTypeId(), TIT.DAY)(startDate, endDate)); // 2015 06 08 수정 CO2과 똑같이 
 
-         });
 
-         $.when.apply(this, promises).done(function () {
 
-             var Esum = 0;
 
-             var TotalCO2 = 0;
 
-             _.each(arguments, function (array, i) {
 
-                 var field = $Code.g_fuelTypes[i].Name();
 
-                 _.each(array[0], function (x) {
 
-                     //sum += factorCo2.calculate(x.Value, $Code.g_fuelTypes[i].FuelTypeId());
 
-                     Esum += x.Value;
 
-                 });
 
-                 TotalCO2 += factorCo2.calculate(Esum, $Code.g_fuelTypes[i].FuelTypeId());
 
-                 Esum = 0;
 
-             });
 
-             //rateGauges[MONTH_CO2_USAGE].setValue(Math.floor(TotalCO2 * 100) / 100);
 
-             rateGauges[MONTH_CO2_USAGE].setValue(Math.round(TotalCO2 * 100) / 100);
 
-         });
 
-     }
 
-     function loadTotalCo2Year() {
 
-         var now = new Date();
 
-         var startDate, endDate;
 
-         startDate = moment().startOf('year')
 
-         endDate = new Date(now.getFullYear(), now.getMonth(), 31, 23, 59, 59);
 
-         var promises = [];
 
-         _.each($Code.g_fuelTypes, function (x) {
 
-             promises.push(energyUsageStatusGet.requestGetForUsgaeStatus(x.FuelTypeId(), TIT.DAY)(startDate, endDate)); // 2015 06 08 수정 CO2과 똑같이 
 
-         });
 
-         $.when.apply(this, promises).done(function () {
 
-             var Esum = 0;
 
-             var TotalCO2 = 0;
 
-             _.each(arguments, function (array, i) {
 
-                 var field = $Code.g_fuelTypes[i].Name();
 
-                 _.each(array[0], function (x) {
 
-                     Esum += x.Value;
 
-                 });
 
-                 TotalCO2 += factorCo2.calculate(Esum, $Code.g_fuelTypes[i].FuelTypeId());
 
-                 Esum = 0;
 
-             });
 
-             var a = 1000;
 
-             a.toExponential()
 
-             //rateGauges[YEAR_CO2_USAGE].setValue($NumberFormat(Math.floor(TotalCO2 * 100) / 100));
 
-             rateGauges[YEAR_CO2_USAGE].setValue(Math.round(TotalCO2 * 100) / 100);
 
-         });
 
-     }
 
-     function getCircularChartValueFunc(gaugeDataOption) {
 
-         return function(dataArray) {
 
-             if (_.isEmpty(dataArray)) return;
 
-             var value = dataArray[0].Value;
 
-             gaugeDataOption.gauge().value(value / gaugeDataOption.max * 100);
 
-             gaugeDataOption.value(value); // 파이차트
 
-         };
 
-     }
 
-     function refreshList() {
 
-         //dataSource.pageIndex(0);
 
-         //dataSource.load();
 
-     }
 
-     var viewModel = $.extend(BWA.CommonView.create(
 
-         params, viewInfo, null, null, handleViewShown), {
 
-             refreshList: refreshList,
 
-             viewShowing: handleViewShowing,
 
-             viewShown: handleViewShown,
 
-             viewHidden: handleViewHidden,
 
-             viewDisposing: handleViewDisposing,
 
-         });
 
-     pieDataSource.subscribe(function(array) {
 
-         var chart = $('#energyUsageRatioPieChart').dxPieChart('instance');
 
-         if (chart) {
 
-             chart.option('dataSource', array);
 
-         }
 
-     });
 
-     fuelTypeId.subscribe(function(fuelTypeId) {
 
-         if (initialized === false) return;
 
-         load();
 
-         /*
 
-         setupRateGaugeByFuelType(fuelTypeId);
 
-         setupTodayEnergyUsageStatusSeries();
 
-         setupMonthEnergyUsageStatusSeries();
 
-         loadTodayEnergyUsage(fuelTypeId);
 
-         loadMonthEnergyUsage(fuelTypeId);*/
 
-         
 
-     });
 
-     function setupRateGaugeByFuelType(fuelTypeId) {
 
-         var todayMax = 0;
 
-         var todayCo2Max = 0;
 
-         var thisMonthMax = 0;
 
-         var thisMonthCo2Max = 0;
 
-         var thisYearMax = 0;
 
-         var thisYearCo2Max = 0;
 
-         var unit;
 
-         var yearValue;
 
- //        return;
 
-         switch(fuelTypeId) {
 
-             case FuelType.ELECTRICITY:
 
-                 unit = '(kWh)';
 
-                 todayMax = ELECTRICITY_DAY_MAX;
 
-                 thisMonthMax = ELECTRICITY_MONTH_MAX;
 
-                 thisYearMax = ELECTRICITY_YEAR_MAX;
 
-                 //todayCo2Max = factorCo2.calculate(ELECTRICITY_DAY_MAX, FuelType.ELECTRICITY);
 
-                 //thisMonthCo2Max = factorCo2.calculate(ELECTRICITY_MONTH_MAX, FuelType.ELECTRICITY);
 
-                 //thisYearCo2Max = factorCo2.calculate(ELECTRICITY_YEAR_MAX, FuelType.ELECTRICITY) + 8000;
 
-                 
 
-                 todayCo2Max = factorCo2.calculate(ELECTRICITY_DAY_MAX, FuelType.ELECTRICITY) + factorCo2.calculate(GAS_DAY_MAX, FuelType.GAS)
 
-                 + factorCo2.calculate(WATER_DAY_MAX, FuelType.WATER);
 
-                 thisMonthCo2Max = factorCo2.calculate(ELECTRICITY_MONTH_MAX, FuelType.ELECTRICITY) + factorCo2.calculate(GAS_MONTH_MAX, FuelType.GAS)
 
-                 + factorCo2.calculate(WATER_MONTH_MAX, FuelType.WATER);
 
-                 thisYearCo2Max = factorCo2.calculate(ELECTRICITY_YEAR_MAX, FuelType.ELECTRICITY) + factorCo2.calculate(GAS_YEAR_MAX, FuelType.GAS) + factorCo2.calculate(WATER_YEAR_MAX, FuelType.WATER);
 
-                 yearValue = yearElectricityUsageValue();
 
-                 gaugeDataOptions[FT.ELECTRICITY].max = ELECTRICITY_YEAR_MAX;
 
-                 gaugeDataOptions[FT.ELECTRICITY].value = yearElectricityUsageValue;
 
-                 break;
 
-             case FuelType.GAS:
 
-                 //unit = '(㎥/h)';
 
-                 unit = '(㎥)';
 
-                 todayMax = GAS_DAY_MAX;
 
-                 thisMonthMax = GAS_MONTH_MAX;
 
-                 thisYearMax = GAS_YEAR_MAX;
 
-                 //todayCo2Max = factorCo2.calculate(GAS_DAY_MAX, FuelType.GAS);
 
-                 //thisMonthCo2Max = factorCo2.calculate(GAS_MONTH_MAX, FuelType.GAS);
 
-                 //thisYearCo2Max = factorCo2.calculate(GAS_YEAR_MAX, FuelType.GAS) + 2000;
 
-                 todayCo2Max = factorCo2.calculate(ELECTRICITY_DAY_MAX, FuelType.ELECTRICITY) + factorCo2.calculate(GAS_DAY_MAX, FuelType.GAS)
 
-                 + factorCo2.calculate(WATER_DAY_MAX, FuelType.WATER);
 
-                 thisMonthCo2Max = factorCo2.calculate(ELECTRICITY_MONTH_MAX, FuelType.ELECTRICITY) + factorCo2.calculate(GAS_MONTH_MAX, FuelType.GAS)
 
-                 + factorCo2.calculate(WATER_MONTH_MAX, FuelType.WATER);
 
-                 thisYearCo2Max = factorCo2.calculate(ELECTRICITY_YEAR_MAX, FuelType.ELECTRICITY) + factorCo2.calculate(GAS_YEAR_MAX, FuelType.GAS) + factorCo2.calculate(WATER_YEAR_MAX, FuelType.WATER); 
 
-                 yearValue = yearGasUsageValue();
 
-                 gaugeDataOptions[FT.GAS].max = GAS_YEAR_MAX;
 
-                 gaugeDataOptions[FT.GAS].value = yearGasUsageValue;
 
-                 break;
 
-             case FuelType.WATER:
 
-                 unit = '(㎥)';
 
-                 todayMax = WATER_DAY_MAX;
 
-                 thisMonthMax = WATER_MONTH_MAX;
 
-                 thisYearMax = WATER_YEAR_MAX;
 
-                 //todayCo2Max = factorCo2.calculate(WATER_DAY_MAX, FuelType.WATER);
 
-                 //thisMonthCo2Max = factorCo2.calculate(WATER_MONTH_MAX, FuelType.WATER);
 
-                 //thisYearCo2Max = factorCo2.calculate(WATER_YEAR_MAX, FuelType.WATER);
 
-                 todayCo2Max = factorCo2.calculate(ELECTRICITY_DAY_MAX, FuelType.ELECTRICITY) + factorCo2.calculate(GAS_DAY_MAX, FuelType.GAS)
 
-                     + factorCo2.calculate(WATER_DAY_MAX, FuelType.WATER);
 
-                 thisMonthCo2Max = factorCo2.calculate(ELECTRICITY_MONTH_MAX, FuelType.ELECTRICITY) + factorCo2.calculate(GAS_MONTH_MAX, FuelType.GAS)
 
-                     + factorCo2.calculate(WATER_MONTH_MAX, FuelType.WATER);
 
-                 thisYearCo2Max = factorCo2.calculate(ELECTRICITY_YEAR_MAX, FuelType.ELECTRICITY) + factorCo2.calculate(GAS_YEAR_MAX, FuelType.GAS) + factorCo2.calculate(WATER_YEAR_MAX, FuelType.WATER);
 
-                 yearValue = yearWaterUsageValue();
 
-                 gaugeDataOptions[FT.WATER].max = WATER_YEAR_MAX;
 
-                 gaugeDataOptions[FT.WATER].value = yearWaterUsageValue;
 
-                 break;
 
-         }
 
-         yearValue = Math.round(yearValue * 100) / 100;
 
-         rateGauges[DAY_ENERGY_USAGE].setUnit(unit);
 
-         //rateGauges[DAY_ENERGY_USAGE].setMaxValue(todayMax + todayMax / 2);
 
-         rateGauges[DAY_ENERGY_USAGE].setMaxValue(todayMax);
 
-         rateGauges[MONTH_ENERGY_USAGE].setUnit(unit);
 
-         //rateGauges[MONTH_ENERGY_USAGE].setMaxValue(thisMonthMax + thisMonthMax / 2);
 
-         rateGauges[MONTH_ENERGY_USAGE].setMaxValue(thisMonthMax);
 
-         rateGauges[YEAR_ENERGY_USAGE].setUnit(unit);
 
-         //rateGauges[YEAR_ENERGY_USAGE].setMaxValue(thisYearMax + thisYearMax / 2);
 
-         rateGauges[YEAR_ENERGY_USAGE].setMaxValue(thisYearMax);
 
-         // 2016 10 17 hcLee
 
-         /*if (fuelTypeId >= FuelType.WATER)
 
-             //rateGauges[YEAR_ENERGY_USAGE].setMaxValue(yearValue * 150);
 
-             rateGauges[YEAR_ENERGY_USAGE].setMaxValue(yearValue);*/
 
-         rateGauges[YEAR_ENERGY_USAGE].setValue(yearValue);
 
- /*
 
-         rateGauges[DAY_CO2_USAGE].setMaxValue(todayCo2Max + todayCo2Max / 2);
 
-         rateGauges[MONTH_CO2_USAGE].setMaxValue(thisMonthCo2Max + thisMonthCo2Max / 2);
 
-         rateGauges[YEAR_CO2_USAGE].setMaxValue(thisYearCo2Max + thisMonthCo2Max / 2);*/
 
-         rateGauges[DAY_CO2_USAGE].setMaxValue(todayCo2Max);
 
-         rateGauges[MONTH_CO2_USAGE].setMaxValue(thisMonthCo2Max);
 
-         rateGauges[YEAR_CO2_USAGE].setMaxValue(thisYearCo2Max);
 
-     }
 
-     function setupTodayEnergyUsageStatusSeries() {
 
-         var series = chartOption.getTodayEnergyUsageStatusSeriesOptions({
 
-             today: todayCheck(),
 
-             yesterday: yesterdayCheck(),
 
-             lastWeek: lastWeekCheck()
 
-         });
 
-         dayEnergyUsageChart().option('series', series);
 
-     }
 
-     function setupMonthEnergyUsageStatusSeries() {
 
-         var series = chartOption.getMonthEnergyUsageStatusSeriesOptions({
 
-             thisMonth: thisMonthCheck(),
 
-             lastMonth: lastMonthCheck(),
 
-             lastYear: lastYearCheck()
 
-         });
 
-         monthEnergyUsageChart().option('series', series);
 
-     }
 
-     function getFuelTypeUnit(fuelTypeId) {
 
-         switch (fuelTypeId) {
 
-             case FuelType.ELECTRICITY:
 
-                 return 'kWh';
 
-                 
 
-             case FuelType.GAS:
 
-                 return '㎥';
 
-             case FuelType.WATER:
 
-                 return '㎥';
 
-         }
 
-         return '';
 
-     }
 
-     function setValueFromSumFunc(koValue, handleValue) {
 
-         return function(array) {
 
-             var value = _.reduce(array, function(sum, item) {
 
-                 return sum + item.Value;
 
-             }, 0);
 
-             if (_.isFunction(handleValue)) {
 
-                 handleValue(value);
 
-             }
 
-             koValue(BWA.DataUtil.getNumberStringWithComma(Math.round(value)) + ' ' + getFuelTypeUnit(fuelTypeId()));
 
-         };
 
-     }
 
-     function setEnergyUsageCo2ValueFunc(energyGaugeId, co2GaugeId) {
 
-     }
 
-     todayCheck.subscribe(setupTodayEnergyUsageStatusSeries);
 
-     yesterdayCheck.subscribe(setupTodayEnergyUsageStatusSeries);
 
-     lastWeekCheck.subscribe(setupTodayEnergyUsageStatusSeries);
 
-     thisMonthCheck.subscribe(setupMonthEnergyUsageStatusSeries);
 
-     lastMonthCheck.subscribe(setupMonthEnergyUsageStatusSeries);
 
-     lastYearCheck.subscribe(setupMonthEnergyUsageStatusSeries);
 
-     todayEnergyStatusArray.subscribe(setValueFromSumFunc(todayValue, function(value) {
 
-         //value = Math.round(value);
 
-         // 2016 10 17 수도 이상은 목표값이 없으므로 현재값에서 넉넉하게 150배 하여 MAX를 설정한다 hcLee
 
- /*        if (fuelTypeId() >= FuelType.WATER)
 
-             rateGauges[DAY_ENERGY_USAGE].setMaxValue(value);*/
 
-         value = Math.round(value * 100) / 100;
 
-         rateGauges[DAY_ENERGY_USAGE].setValue(value);
 
-         //rateGauges[DAY_ENERGY_USAGE].setValue(value);  hcLee 2016 03 18
 
-     }));
 
-     yesterdayEnergyStatusArray.subscribe(setValueFromSumFunc(yesterdayValue));
 
-     lastWeekEnergyStatusArray.subscribe(setValueFromSumFunc(lastWeekValue));
 
-     thisMonthEnergyStatusArray.subscribe(setValueFromSumFunc(thisMonthValue, function (value) {
 
-         // 2016 10 17 수도 이상은 목표값이 없으므로 현재값에서 넉넉하게 150배 하여 MAX를 설정한다 hcLee
 
- /*        if (fuelTypeId() >= FuelType.WATER)
 
-             rateGauges[MONTH_ENERGY_USAGE].setMaxValue(value);*/
 
-         //value = Math.round(value);
 
-         value = Math.round(value * 100) / 100;
 
-         rateGauges[MONTH_ENERGY_USAGE].setValue(value);
 
-         //rateGauges[MONTH_CO2_USAGE].setValue(factorCo2.calculate(value, fuelTypeId()));
 
-     }));
 
-     lastMonthEnergyStatusArray.subscribe(setValueFromSumFunc(lastMonthValue));
 
-     lastYearEnergyStatusArray.subscribe(setValueFromSumFunc(lastYearValue));
 
-     viewModel.todayCheck = todayCheck;
 
-     viewModel.yesterdayCheck = yesterdayCheck;
 
-     viewModel.lastWeekCheck = lastWeekCheck;
 
-     viewModel.thisMonthCheck = thisMonthCheck;
 
-     viewModel.lastMonthCheck = lastMonthCheck;
 
-     viewModel.lastYearCheck = lastYearCheck;
 
-     viewModel.todayValue = todayValue;
 
-     viewModel.yesterdayValue = yesterdayValue;
 
-     viewModel.lastWeekValue = lastWeekValue;
 
-     viewModel.thisMonthValue = thisMonthValue;
 
-     viewModel.lastMonthValue = lastMonthValue;
 
-     viewModel.lastYearValue = lastYearValue;
 
-     viewModel.fuelTypes = fuelTypes;
 
-     viewModel.fuelTypeId = fuelTypeId;
 
-     viewModel.currentTemp = currentTemp;
 
-     viewModel.currentHumi = currentHumi;
 
-     return viewModel;
 
- };
 
 
  |