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;
- };
|