BemsWebApplication.ViewCostByEnergy = function (params, viewInfo) {

    var endpointSelector = "";
    if (BemsWebApplication.config.mode == "production") {
        endpointSelector = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints).config.db.production;
    } else {
        endpointSelector = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints).config.db.local;
    }

    var init = false;
    var selectEnergy = "전력";
    var PublishDate = "";

    var tabsData = [
        {
            id: "0",
            text: "test1"
        },
        {
            id: "1",
            text: "test2"
        },
        {
            id: "2",
            text: "test3"
        }
    ];
    var fueltypeId = 1;
    var firstDay = new Date();
    var chart = BWA.Chart.Instance('chartViewCostByEnergy', 'dxChart');
    var SiteID = BWA.UserInfo.SiteId();
    var formulaGet = new BWA.Chart.FormulaGet(SiteID);
    var pointHistoryGet = new BWA.Chart.PointHistoryGet(SiteID);
    var selectdate;
    var baseprice = 0;
    var pricetypeId;
    var timeinterval = $Code.TimeType.MONTH;
    var PriceMeta;
    var Meta = new Array(13);
    for (var i = 1; i < 13; i++) {
        Meta[i] = new Array(24);
    }
    var options;
    var gasheatquantity;
    var gaspricetotal;
    function handleViewShowing() {
        chart = BWA.Chart.Instance('chartViewCostByEnergy', 'dxChart');
        init = false;
        fueltypeId = 1;
        //$("#BasePrice").dxTextBox({
        //    placeholder: "기본요금"
        //});
        //$("#textbox").dxTextBox({
        //    text: "기본요금"
        //});
    }

    function getChartData() {
        $("#LoadPanel").dxLoadPanel('instance').option('visible', true);
        var endday;
        var startday;
        if (selectdate == null) {
            endday = new Date();
            startday = new Date('1/1/' + endday.getFullYear());
        }
        else {
            if (selectdate.getFullYear() == new Date().getFullYear()) {
                endday = new Date();
                startday = new Date('1/1/' + selectdate.getFullYear());
            }
            else {
                endday = new Date('12/31/' + selectdate.getFullYear());
                startday = new Date('1/1/' + selectdate.getFullYear());
            }
        }
        var dataSource = new DevExpress.data.DataSource({
            store: new DevExpress.data.ODataStore({
                url: endpointSelector + "/BemsPriceFormula"
            }),
            requireTotalCount: true,
            pageSize: 1
        });
        dataSource.filter([
                ["SiteId", "=", SiteID],
                "and",
                ["PriceTypeId", "=", pricetypeId]
        ]);
        dataSource.load()
        .done(function (result) {
            if (result.length != 0) {
                var FacilityTypeId = result[0].FacilityTypeId;
                var FormulaId = result[0].FormulaId;

                var dataSource1 = new DevExpress.data.DataSource({
                    store: new DevExpress.data.ODataStore({
                        url: endpointSelector + "/BemsFormula"
                    }),
                    requireTotalCount: true,
                    pageSize: 1
                });
                dataSource1.filter([
                        ["FacilityTypeId", "=", FacilityTypeId],
                        "and",
                        ["FormulaId", "=", FormulaId]
                ]);
                dataSource1.load()
                .done(function (result) {
                    if (result.length != 0) {
                        if (fueltypeId == 1) { //전력
                            var Formula = result[0].Formula;
                            if (Formula.length == 1) {
                                var dataSource2 = new DevExpress.data.DataSource({
                                    store: new DevExpress.data.ODataStore({
                                        url: endpointSelector + "/BemsFormulaParameter"
                                    }),
                                    requireTotalCount: true,
                                    pageSize: 1
                                });
                                dataSource2.filter([
                                        ["FacilityTypeId", "=", FacilityTypeId],
                                        "and",
                                        ["FormulaId", "=", FormulaId],
                                        "and",
                                        ["ParameterId", "=", Formula]
                                ]);
                                dataSource2.load()
                                .done(function (result) {
                                    if (result.length != 0) {
                                        var ParameterFacilityCode = result[0].ParameterFacilityCode;
                                        var ParameterPropertyId = result[0].ParameterPropertyId;

                                        var dataSource3 = new DevExpress.data.DataSource({
                                            store: new DevExpress.data.ODataStore({
                                                url: endpointSelector + "/BemsMonitoringPointHistoryHourly"
                                            }),
                                            requireTotalCount: true,
                                            pageSize: 9000
                                        });
                                        dataSource3.filter([
                                                ["CreatedDateTime", ">=", new Date(startday.getFullYear(), startday.getMonth(), startday.getDate(), 0, 0, 0)],
                                                "and",
                                                ["CreatedDateTime", "<=", new Date(endday.getFullYear(), endday.getMonth(), endday.getDate(), 23, 59, 59)],
                                                 "and",
                                                ["FacilityCode", "=", ParameterFacilityCode],
                                                "and",
                                                ["PropertyId", "=", ParameterPropertyId],
                                        ]);
                                        dataSource3.sort({ getter: "CreatedDateTime", asc: true });
                                        dataSource3.load()
                                        .done(function (result) {
                                            if (result.length != 0) {
                                                var dataArray = [];
                                                var meta_temp = Meta;
                                                if (meta_temp == 0) {
                                                    options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
                                                    options.dataSource = dataArray
                                                    $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                    chart().option(options);
                                                    utils.toast.show("BemsPriceMeta 정보가 없습니다");
                                                    return;
                                                }
                                                var month_length = endday.getMonth() - startday.getMonth() + 1;
                                                var value = new Array(13);
                                                for (var k = 0; k < 13; k++) {
                                                    value[k] = new Array(2);
                                                    value[k][1] = 0;
                                                }

                                                for (var i = 0; i < result.length; i++) {

                                                    var time = result[i].CreatedDateTime;
                                                    switch (time.getMonth() + 1) {
                                                        case 1:
                                                            if (value[1][0] == null)
                                                                value[1][0] = time; //[1][0] 날짜
                                                            switch (time.getHours()) { //[1][1] 값                     
                                                                case 0: value[1][1] += result[i].CurrentValue * meta_temp[1][0]; break;
                                                                case 1: value[1][1] += result[i].CurrentValue * meta_temp[1][1]; break;
                                                                case 2: value[1][1] += result[i].CurrentValue * meta_temp[1][2]; break;
                                                                case 3: value[1][1] += result[i].CurrentValue * meta_temp[1][3]; break;
                                                                case 4: value[1][1] += result[i].CurrentValue * meta_temp[1][4]; break;
                                                                case 5: value[1][1] += result[i].CurrentValue * meta_temp[1][5]; break;
                                                                case 6: value[1][1] += result[i].CurrentValue * meta_temp[1][6]; break;
                                                                case 7: value[1][1] += result[i].CurrentValue * meta_temp[1][7]; break;
                                                                case 8: value[1][1] += result[i].CurrentValue * meta_temp[1][8]; break;
                                                                case 9: value[1][1] += result[i].CurrentValue * meta_temp[1][9]; break;
                                                                case 10: value[1][1] += result[i].CurrentValue * meta_temp[1][10]; break;
                                                                case 11: value[1][1] += result[i].CurrentValue * meta_temp[1][11]; break;
                                                                case 12: value[1][1] += result[i].CurrentValue * meta_temp[1][12]; break;
                                                                case 13: value[1][1] += result[i].CurrentValue * meta_temp[1][13]; break;
                                                                case 14: value[1][1] += result[i].CurrentValue * meta_temp[1][14]; break;
                                                                case 15: value[1][1] += result[i].CurrentValue * meta_temp[1][15]; break;
                                                                case 16: value[1][1] += result[i].CurrentValue * meta_temp[1][16]; break;
                                                                case 17: value[1][1] += result[i].CurrentValue * meta_temp[1][17]; break;
                                                                case 18: value[1][1] += result[i].CurrentValue * meta_temp[1][18]; break;
                                                                case 19: value[1][1] += result[i].CurrentValue * meta_temp[1][19]; break;
                                                                case 20: value[1][1] += result[i].CurrentValue * meta_temp[1][20]; break;
                                                                case 21: value[1][1] += result[i].CurrentValue * meta_temp[1][21]; break;
                                                                case 22: value[1][1] += result[i].CurrentValue * meta_temp[1][22]; break;
                                                                case 23: value[1][1] += result[i].CurrentValue * meta_temp[1][23]; break;
                                                            }
                                                            break;
                                                        case 2:
                                                            if (value[2][0] == null)
                                                                value[2][0] = time; //[2][0] 날짜
                                                            switch (time.getHours()) { //[2][1] 값
                                                                case 0: value[2][1] += result[i].CurrentValue * meta_temp[2][0]; break;
                                                                case 1: value[2][1] += result[i].CurrentValue * meta_temp[2][1]; break;
                                                                case 2: value[2][1] += result[i].CurrentValue * meta_temp[2][2]; break;
                                                                case 3: value[2][1] += result[i].CurrentValue * meta_temp[2][3]; break;
                                                                case 4: value[2][1] += result[i].CurrentValue * meta_temp[2][4]; break;
                                                                case 5: value[2][1] += result[i].CurrentValue * meta_temp[2][5]; break;
                                                                case 6: value[2][1] += result[i].CurrentValue * meta_temp[2][6]; break;
                                                                case 7: value[2][1] += result[i].CurrentValue * meta_temp[2][7]; break;
                                                                case 8: value[2][1] += result[i].CurrentValue * meta_temp[2][8]; break;
                                                                case 9: value[2][1] += result[i].CurrentValue * meta_temp[2][9]; break;
                                                                case 10: value[2][1] += result[i].CurrentValue * meta_temp[2][10]; break;
                                                                case 11: value[2][1] += result[i].CurrentValue * meta_temp[2][11]; break;
                                                                case 12: value[2][1] += result[i].CurrentValue * meta_temp[2][12]; break;
                                                                case 13: value[2][1] += result[i].CurrentValue * meta_temp[2][13]; break;
                                                                case 14: value[2][1] += result[i].CurrentValue * meta_temp[2][14]; break;
                                                                case 15: value[2][1] += result[i].CurrentValue * meta_temp[2][15]; break;
                                                                case 16: value[2][1] += result[i].CurrentValue * meta_temp[2][16]; break;
                                                                case 17: value[2][1] += result[i].CurrentValue * meta_temp[2][17]; break;
                                                                case 18: value[2][1] += result[i].CurrentValue * meta_temp[2][18]; break;
                                                                case 19: value[2][1] += result[i].CurrentValue * meta_temp[2][19]; break;
                                                                case 20: value[2][1] += result[i].CurrentValue * meta_temp[2][20]; break;
                                                                case 21: value[2][1] += result[i].CurrentValue * meta_temp[2][21]; break;
                                                                case 22: value[2][1] += result[i].CurrentValue * meta_temp[2][22]; break;
                                                                case 23: value[2][1] += result[i].CurrentValue * meta_temp[2][23]; break;
                                                            }
                                                            break;
                                                        case 3:
                                                            if (value[3][0] == null)
                                                                value[3][0] = time; //[1][0] 날짜
                                                            switch (time.getHours()) { //[1][1] 값
                                                                case 0: value[3][1] += result[i].CurrentValue * meta_temp[3][0]; break;
                                                                case 1: value[3][1] += result[i].CurrentValue * meta_temp[3][1]; break;
                                                                case 2: value[3][1] += result[i].CurrentValue * meta_temp[3][2]; break;
                                                                case 3: value[3][1] += result[i].CurrentValue * meta_temp[3][3]; break;
                                                                case 4: value[3][1] += result[i].CurrentValue * meta_temp[3][4]; break;
                                                                case 5: value[3][1] += result[i].CurrentValue * meta_temp[3][5]; break;
                                                                case 6: value[3][1] += result[i].CurrentValue * meta_temp[3][6]; break;
                                                                case 7: value[3][1] += result[i].CurrentValue * meta_temp[3][7]; break;
                                                                case 8: value[3][1] += result[i].CurrentValue * meta_temp[3][8]; break;
                                                                case 9: value[3][1] += result[i].CurrentValue * meta_temp[3][9]; break;
                                                                case 10: value[3][1] += result[i].CurrentValue * meta_temp[3][10]; break;
                                                                case 11: value[3][1] += result[i].CurrentValue * meta_temp[3][11]; break;
                                                                case 12: value[3][1] += result[i].CurrentValue * meta_temp[3][12]; break;
                                                                case 13: value[3][1] += result[i].CurrentValue * meta_temp[3][13]; break;
                                                                case 14: value[3][1] += result[i].CurrentValue * meta_temp[3][14]; break;
                                                                case 15: value[3][1] += result[i].CurrentValue * meta_temp[3][15]; break;
                                                                case 16: value[3][1] += result[i].CurrentValue * meta_temp[3][16]; break;
                                                                case 17: value[3][1] += result[i].CurrentValue * meta_temp[3][17]; break;
                                                                case 18: value[3][1] += result[i].CurrentValue * meta_temp[3][18]; break;
                                                                case 19: value[3][1] += result[i].CurrentValue * meta_temp[3][19]; break;
                                                                case 20: value[3][1] += result[i].CurrentValue * meta_temp[3][20]; break;
                                                                case 21: value[3][1] += result[i].CurrentValue * meta_temp[3][21]; break;
                                                                case 22: value[3][1] += result[i].CurrentValue * meta_temp[3][22]; break;
                                                                case 23: value[3][1] += result[i].CurrentValue * meta_temp[3][23]; break;
                                                            }
                                                            break;
                                                        case 4:
                                                            if (value[4][0] == null)
                                                                value[4][0] = time; //[1][0] 날짜
                                                            switch (time.getHours()) { //[1][1] 값
                                                                case 0: value[4][1] += result[i].CurrentValue * meta_temp[4][0]; break;
                                                                case 1: value[4][1] += result[i].CurrentValue * meta_temp[4][1]; break;
                                                                case 2: value[4][1] += result[i].CurrentValue * meta_temp[4][2]; break;
                                                                case 3: value[4][1] += result[i].CurrentValue * meta_temp[4][3]; break;
                                                                case 4: value[4][1] += result[i].CurrentValue * meta_temp[4][4]; break;
                                                                case 5: value[4][1] += result[i].CurrentValue * meta_temp[4][5]; break;
                                                                case 6: value[4][1] += result[i].CurrentValue * meta_temp[4][6]; break;
                                                                case 7: value[4][1] += result[i].CurrentValue * meta_temp[4][7]; break;
                                                                case 8: value[4][1] += result[i].CurrentValue * meta_temp[4][8]; break;
                                                                case 9: value[4][1] += result[i].CurrentValue * meta_temp[4][9]; break;
                                                                case 10: value[4][1] += result[i].CurrentValue * meta_temp[4][10]; break;
                                                                case 11: value[4][1] += result[i].CurrentValue * meta_temp[4][11]; break;
                                                                case 12: value[4][1] += result[i].CurrentValue * meta_temp[4][12]; break;
                                                                case 13: value[4][1] += result[i].CurrentValue * meta_temp[4][13]; break;
                                                                case 14: value[4][1] += result[i].CurrentValue * meta_temp[4][14]; break;
                                                                case 15: value[4][1] += result[i].CurrentValue * meta_temp[4][15]; break;
                                                                case 16: value[4][1] += result[i].CurrentValue * meta_temp[4][16]; break;
                                                                case 17: value[4][1] += result[i].CurrentValue * meta_temp[4][17]; break;
                                                                case 18: value[4][1] += result[i].CurrentValue * meta_temp[4][18]; break;
                                                                case 19: value[4][1] += result[i].CurrentValue * meta_temp[4][19]; break;
                                                                case 20: value[4][1] += result[i].CurrentValue * meta_temp[4][20]; break;
                                                                case 21: value[4][1] += result[i].CurrentValue * meta_temp[4][21]; break;
                                                                case 22: value[4][1] += result[i].CurrentValue * meta_temp[4][22]; break;
                                                                case 23: value[4][1] += result[i].CurrentValue * meta_temp[4][23]; break;
                                                            }
                                                            break;
                                                        case 5:
                                                            if (value[5][0] == null)
                                                                value[5][0] = time; //[1][0] 날짜
                                                            switch (time.getHours()) { //[1][1] 값
                                                                case 0: value[5][1] += result[i].CurrentValue * meta_temp[5][0]; break;
                                                                case 1: value[5][1] += result[i].CurrentValue * meta_temp[5][1]; break;
                                                                case 2: value[5][1] += result[i].CurrentValue * meta_temp[5][2]; break;
                                                                case 3: value[5][1] += result[i].CurrentValue * meta_temp[5][3]; break;
                                                                case 4: value[5][1] += result[i].CurrentValue * meta_temp[5][4]; break;
                                                                case 5: value[5][1] += result[i].CurrentValue * meta_temp[5][5]; break;
                                                                case 6: value[5][1] += result[i].CurrentValue * meta_temp[5][6]; break;
                                                                case 7: value[5][1] += result[i].CurrentValue * meta_temp[5][7]; break;
                                                                case 8: value[5][1] += result[i].CurrentValue * meta_temp[5][8]; break;
                                                                case 9: value[5][1] += result[i].CurrentValue * meta_temp[5][9]; break;
                                                                case 10: value[5][1] += result[i].CurrentValue * meta_temp[5][10]; break;
                                                                case 11: value[5][1] += result[i].CurrentValue * meta_temp[5][11]; break;
                                                                case 12: value[5][1] += result[i].CurrentValue * meta_temp[5][12]; break;
                                                                case 13: value[5][1] += result[i].CurrentValue * meta_temp[5][13]; break;
                                                                case 14: value[5][1] += result[i].CurrentValue * meta_temp[5][14]; break;
                                                                case 15: value[5][1] += result[i].CurrentValue * meta_temp[5][15]; break;
                                                                case 16: value[5][1] += result[i].CurrentValue * meta_temp[5][16]; break;
                                                                case 17: value[5][1] += result[i].CurrentValue * meta_temp[5][17]; break;
                                                                case 18: value[5][1] += result[i].CurrentValue * meta_temp[5][18]; break;
                                                                case 19: value[5][1] += result[i].CurrentValue * meta_temp[5][19]; break;
                                                                case 20: value[5][1] += result[i].CurrentValue * meta_temp[5][20]; break;
                                                                case 21: value[5][1] += result[i].CurrentValue * meta_temp[5][21]; break;
                                                                case 22: value[5][1] += result[i].CurrentValue * meta_temp[5][22]; break;
                                                                case 23: value[5][1] += result[i].CurrentValue * meta_temp[5][23]; break;
                                                            }
                                                            break;
                                                        case 6:
                                                            if (value[6][0] == null)
                                                                value[6][0] = time; //[1][0] 날짜
                                                            switch (time.getHours()) { //[1][1] 값
                                                                case 0: value[6][1] += result[i].CurrentValue * meta_temp[6][0]; break;
                                                                case 1: value[6][1] += result[i].CurrentValue * meta_temp[6][1]; break;
                                                                case 2: value[6][1] += result[i].CurrentValue * meta_temp[6][2]; break;
                                                                case 3: value[6][1] += result[i].CurrentValue * meta_temp[6][3]; break;
                                                                case 4: value[6][1] += result[i].CurrentValue * meta_temp[6][4]; break;
                                                                case 5: value[6][1] += result[i].CurrentValue * meta_temp[6][5]; break;
                                                                case 6: value[6][1] += result[i].CurrentValue * meta_temp[6][6]; break;
                                                                case 7: value[6][1] += result[i].CurrentValue * meta_temp[6][7]; break;
                                                                case 8: value[6][1] += result[i].CurrentValue * meta_temp[6][8]; break;
                                                                case 9: value[6][1] += result[i].CurrentValue * meta_temp[6][9]; break;
                                                                case 10: value[6][1] += result[i].CurrentValue * meta_temp[6][10]; break;
                                                                case 11: value[6][1] += result[i].CurrentValue * meta_temp[6][11]; break;
                                                                case 12: value[6][1] += result[i].CurrentValue * meta_temp[6][12]; break;
                                                                case 13: value[6][1] += result[i].CurrentValue * meta_temp[6][13]; break;
                                                                case 14: value[6][1] += result[i].CurrentValue * meta_temp[6][14]; break;
                                                                case 15: value[6][1] += result[i].CurrentValue * meta_temp[6][15]; break;
                                                                case 16: value[6][1] += result[i].CurrentValue * meta_temp[6][16]; break;
                                                                case 17: value[6][1] += result[i].CurrentValue * meta_temp[6][17]; break;
                                                                case 18: value[6][1] += result[i].CurrentValue * meta_temp[6][18]; break;
                                                                case 19: value[6][1] += result[i].CurrentValue * meta_temp[6][19]; break;
                                                                case 20: value[6][1] += result[i].CurrentValue * meta_temp[6][20]; break;
                                                                case 21: value[6][1] += result[i].CurrentValue * meta_temp[6][21]; break;
                                                                case 22: value[6][1] += result[i].CurrentValue * meta_temp[6][22]; break;
                                                                case 23: value[6][1] += result[i].CurrentValue * meta_temp[6][23]; break;
                                                            }
                                                            break;
                                                        case 7:
                                                            if (value[7][0] == null)
                                                                value[7][0] = time; //[1][0] 날짜
                                                            switch (time.getHours()) { //[1][1] 값
                                                                case 0: value[7][1] += result[i].CurrentValue * meta_temp[7][0]; break;
                                                                case 1: value[7][1] += result[i].CurrentValue * meta_temp[7][1]; break;
                                                                case 2: value[7][1] += result[i].CurrentValue * meta_temp[7][2]; break;
                                                                case 3: value[7][1] += result[i].CurrentValue * meta_temp[7][3]; break;
                                                                case 4: value[7][1] += result[i].CurrentValue * meta_temp[7][4]; break;
                                                                case 5: value[7][1] += result[i].CurrentValue * meta_temp[7][5]; break;
                                                                case 6: value[7][1] += result[i].CurrentValue * meta_temp[7][6]; break;
                                                                case 7: value[7][1] += result[i].CurrentValue * meta_temp[7][7]; break;
                                                                case 8: value[7][1] += result[i].CurrentValue * meta_temp[7][8]; break;
                                                                case 9: value[7][1] += result[i].CurrentValue * meta_temp[7][9]; break;
                                                                case 10: value[7][1] += result[i].CurrentValue * meta_temp[7][10]; break;
                                                                case 11: value[7][1] += result[i].CurrentValue * meta_temp[7][11]; break;
                                                                case 12: value[7][1] += result[i].CurrentValue * meta_temp[7][12]; break;
                                                                case 13: value[7][1] += result[i].CurrentValue * meta_temp[7][13]; break;
                                                                case 14: value[7][1] += result[i].CurrentValue * meta_temp[7][14]; break;
                                                                case 15: value[7][1] += result[i].CurrentValue * meta_temp[7][15]; break;
                                                                case 16: value[7][1] += result[i].CurrentValue * meta_temp[7][16]; break;
                                                                case 17: value[7][1] += result[i].CurrentValue * meta_temp[7][17]; break;
                                                                case 18: value[7][1] += result[i].CurrentValue * meta_temp[7][18]; break;
                                                                case 19: value[7][1] += result[i].CurrentValue * meta_temp[7][19]; break;
                                                                case 20: value[7][1] += result[i].CurrentValue * meta_temp[7][20]; break;
                                                                case 21: value[7][1] += result[i].CurrentValue * meta_temp[7][21]; break;
                                                                case 22: value[7][1] += result[i].CurrentValue * meta_temp[7][22]; break;
                                                                case 23: value[7][1] += result[i].CurrentValue * meta_temp[7][23]; break;
                                                            }
                                                            break;
                                                        case 8:
                                                            if (value[8][0] == null)
                                                                value[8][0] = time; //[1][0] 날짜
                                                            switch (time.getHours()) { //[1][1] 값
                                                                case 0: value[8][1] += result[i].CurrentValue * meta_temp[8][0]; break;
                                                                case 1: value[8][1] += result[i].CurrentValue * meta_temp[8][1]; break;
                                                                case 2: value[8][1] += result[i].CurrentValue * meta_temp[8][2]; break;
                                                                case 3: value[8][1] += result[i].CurrentValue * meta_temp[8][3]; break;
                                                                case 4: value[8][1] += result[i].CurrentValue * meta_temp[8][4]; break;
                                                                case 5: value[8][1] += result[i].CurrentValue * meta_temp[8][5]; break;
                                                                case 6: value[8][1] += result[i].CurrentValue * meta_temp[8][6]; break;
                                                                case 7: value[8][1] += result[i].CurrentValue * meta_temp[8][7]; break;
                                                                case 8: value[8][1] += result[i].CurrentValue * meta_temp[8][8]; break;
                                                                case 9: value[8][1] += result[i].CurrentValue * meta_temp[8][9]; break;
                                                                case 10: value[8][1] += result[i].CurrentValue * meta_temp[8][10]; break;
                                                                case 11: value[8][1] += result[i].CurrentValue * meta_temp[8][11]; break;
                                                                case 12: value[8][1] += result[i].CurrentValue * meta_temp[8][12]; break;
                                                                case 13: value[8][1] += result[i].CurrentValue * meta_temp[8][13]; break;
                                                                case 14: value[8][1] += result[i].CurrentValue * meta_temp[8][14]; break;
                                                                case 15: value[8][1] += result[i].CurrentValue * meta_temp[8][15]; break;
                                                                case 16: value[8][1] += result[i].CurrentValue * meta_temp[8][16]; break;
                                                                case 17: value[8][1] += result[i].CurrentValue * meta_temp[8][17]; break;
                                                                case 18: value[8][1] += result[i].CurrentValue * meta_temp[8][18]; break;
                                                                case 19: value[8][1] += result[i].CurrentValue * meta_temp[8][19]; break;
                                                                case 20: value[8][1] += result[i].CurrentValue * meta_temp[8][20]; break;
                                                                case 21: value[8][1] += result[i].CurrentValue * meta_temp[8][21]; break;
                                                                case 22: value[8][1] += result[i].CurrentValue * meta_temp[8][22]; break;
                                                                case 23: value[8][1] += result[i].CurrentValue * meta_temp[8][23]; break;
                                                            }
                                                            break;
                                                        case 9:
                                                            if (value[9][0] == null)
                                                                value[9][0] = time; //[1][0] 날짜
                                                            switch (time.getHours()) { //[1][1] 값
                                                                case 0: value[9][1] += result[i].CurrentValue * meta_temp[9][0]; break;
                                                                case 1: value[9][1] += result[i].CurrentValue * meta_temp[9][1]; break;
                                                                case 2: value[9][1] += result[i].CurrentValue * meta_temp[9][2]; break;
                                                                case 3: value[9][1] += result[i].CurrentValue * meta_temp[9][3]; break;
                                                                case 4: value[9][1] += result[i].CurrentValue * meta_temp[9][4]; break;
                                                                case 5: value[9][1] += result[i].CurrentValue * meta_temp[9][5]; break;
                                                                case 6: value[9][1] += result[i].CurrentValue * meta_temp[9][6]; break;
                                                                case 7: value[9][1] += result[i].CurrentValue * meta_temp[9][7]; break;
                                                                case 8: value[9][1] += result[i].CurrentValue * meta_temp[9][8]; break;
                                                                case 9: value[9][1] += result[i].CurrentValue * meta_temp[9][9]; break;
                                                                case 10: value[9][1] += result[i].CurrentValue * meta_temp[9][10]; break;
                                                                case 11: value[9][1] += result[i].CurrentValue * meta_temp[9][11]; break;
                                                                case 12: value[9][1] += result[i].CurrentValue * meta_temp[9][12]; break;
                                                                case 13: value[9][1] += result[i].CurrentValue * meta_temp[9][13]; break;
                                                                case 14: value[9][1] += result[i].CurrentValue * meta_temp[9][14]; break;
                                                                case 15: value[9][1] += result[i].CurrentValue * meta_temp[9][15]; break;
                                                                case 16: value[9][1] += result[i].CurrentValue * meta_temp[9][16]; break;
                                                                case 17: value[9][1] += result[i].CurrentValue * meta_temp[9][17]; break;
                                                                case 18: value[9][1] += result[i].CurrentValue * meta_temp[9][18]; break;
                                                                case 19: value[9][1] += result[i].CurrentValue * meta_temp[9][19]; break;
                                                                case 20: value[9][1] += result[i].CurrentValue * meta_temp[9][20]; break;
                                                                case 21: value[9][1] += result[i].CurrentValue * meta_temp[9][21]; break;
                                                                case 22: value[9][1] += result[i].CurrentValue * meta_temp[9][22]; break;
                                                                case 23: value[9][1] += result[i].CurrentValue * meta_temp[9][23]; break;
                                                            }
                                                            break;
                                                        case 10:
                                                            if (value[10][0] == null)
                                                                value[10][0] = time; //[1][0] 날짜
                                                            switch (time.getHours()) { //[1][1] 값
                                                                case 0: value[10][1] += result[i].CurrentValue * meta_temp[10][0]; break;
                                                                case 1: value[10][1] += result[i].CurrentValue * meta_temp[10][1]; break;
                                                                case 2: value[10][1] += result[i].CurrentValue * meta_temp[10][2]; break;
                                                                case 3: value[10][1] += result[i].CurrentValue * meta_temp[10][3]; break;
                                                                case 4: value[10][1] += result[i].CurrentValue * meta_temp[10][4]; break;
                                                                case 5: value[10][1] += result[i].CurrentValue * meta_temp[10][5]; break;
                                                                case 6: value[10][1] += result[i].CurrentValue * meta_temp[10][6]; break;
                                                                case 7: value[10][1] += result[i].CurrentValue * meta_temp[10][7]; break;
                                                                case 8: value[10][1] += result[i].CurrentValue * meta_temp[10][8]; break;
                                                                case 9: value[10][1] += result[i].CurrentValue * meta_temp[10][9]; break;
                                                                case 10: value[10][1] += result[i].CurrentValue * meta_temp[10][10]; break;
                                                                case 11: value[10][1] += result[i].CurrentValue * meta_temp[10][11]; break;
                                                                case 12: value[10][1] += result[i].CurrentValue * meta_temp[10][12]; break;
                                                                case 13: value[10][1] += result[i].CurrentValue * meta_temp[10][13]; break;
                                                                case 14: value[10][1] += result[i].CurrentValue * meta_temp[10][14]; break;
                                                                case 15: value[10][1] += result[i].CurrentValue * meta_temp[10][15]; break;
                                                                case 16: value[10][1] += result[i].CurrentValue * meta_temp[10][16]; break;
                                                                case 17: value[10][1] += result[i].CurrentValue * meta_temp[10][17]; break;
                                                                case 18: value[10][1] += result[i].CurrentValue * meta_temp[10][18]; break;
                                                                case 19: value[10][1] += result[i].CurrentValue * meta_temp[10][19]; break;
                                                                case 20: value[10][1] += result[i].CurrentValue * meta_temp[10][20]; break;
                                                                case 21: value[10][1] += result[i].CurrentValue * meta_temp[10][21]; break;
                                                                case 22: value[10][1] += result[i].CurrentValue * meta_temp[10][22]; break;
                                                                case 23: value[10][1] += result[i].CurrentValue * meta_temp[10][23]; break;
                                                            }
                                                            break;
                                                        case 11:
                                                            if (value[11][0] == null)
                                                                value[11][0] = time; //[1][0] 날짜
                                                            switch (time.getHours()) { //[1][1] 값
                                                                case 0: value[11][1] += result[i].CurrentValue * meta_temp[11][0]; break;
                                                                case 1: value[11][1] += result[i].CurrentValue * meta_temp[11][1]; break;
                                                                case 2: value[11][1] += result[i].CurrentValue * meta_temp[11][2]; break;
                                                                case 3: value[11][1] += result[i].CurrentValue * meta_temp[11][3]; break;
                                                                case 4: value[11][1] += result[i].CurrentValue * meta_temp[11][4]; break;
                                                                case 5: value[11][1] += result[i].CurrentValue * meta_temp[11][5]; break;
                                                                case 6: value[11][1] += result[i].CurrentValue * meta_temp[11][6]; break;
                                                                case 7: value[11][1] += result[i].CurrentValue * meta_temp[11][7]; break;
                                                                case 8: value[11][1] += result[i].CurrentValue * meta_temp[11][8]; break;
                                                                case 9: value[11][1] += result[i].CurrentValue * meta_temp[11][9]; break;
                                                                case 10: value[11][1] += result[i].CurrentValue * meta_temp[11][10]; break;
                                                                case 11: value[11][1] += result[i].CurrentValue * meta_temp[11][11]; break;
                                                                case 12: value[11][1] += result[i].CurrentValue * meta_temp[11][12]; break;
                                                                case 13: value[11][1] += result[i].CurrentValue * meta_temp[11][13]; break;
                                                                case 14: value[11][1] += result[i].CurrentValue * meta_temp[11][14]; break;
                                                                case 15: value[11][1] += result[i].CurrentValue * meta_temp[11][15]; break;
                                                                case 16: value[11][1] += result[i].CurrentValue * meta_temp[11][16]; break;
                                                                case 17: value[11][1] += result[i].CurrentValue * meta_temp[11][17]; break;
                                                                case 18: value[11][1] += result[i].CurrentValue * meta_temp[11][18]; break;
                                                                case 19: value[11][1] += result[i].CurrentValue * meta_temp[11][19]; break;
                                                                case 20: value[11][1] += result[i].CurrentValue * meta_temp[11][20]; break;
                                                                case 21: value[11][1] += result[i].CurrentValue * meta_temp[11][21]; break;
                                                                case 22: value[11][1] += result[i].CurrentValue * meta_temp[11][22]; break;
                                                                case 23: value[11][1] += result[i].CurrentValue * meta_temp[11][23]; break;
                                                            }
                                                            break;
                                                        case 12:
                                                            if (value[12][0] == null)
                                                                value[12][0] = time; //[1][0] 날짜
                                                            switch (time.getHours()) { //[1][1] 값
                                                                case 0: value[12][1] += result[i].CurrentValue * meta_temp[12][0]; break;
                                                                case 1: value[12][1] += result[i].CurrentValue * meta_temp[12][1]; break;
                                                                case 2: value[12][1] += result[i].CurrentValue * meta_temp[12][2]; break;
                                                                case 3: value[12][1] += result[i].CurrentValue * meta_temp[12][3]; break;
                                                                case 4: value[12][1] += result[i].CurrentValue * meta_temp[12][4]; break;
                                                                case 5: value[12][1] += result[i].CurrentValue * meta_temp[12][5]; break;
                                                                case 6: value[12][1] += result[i].CurrentValue * meta_temp[12][6]; break;
                                                                case 7: value[12][1] += result[i].CurrentValue * meta_temp[12][7]; break;
                                                                case 8: value[12][1] += result[i].CurrentValue * meta_temp[12][8]; break;
                                                                case 9: value[12][1] += result[i].CurrentValue * meta_temp[12][9]; break;
                                                                case 10: value[12][1] += result[i].CurrentValue * meta_temp[12][10]; break;
                                                                case 11: value[12][1] += result[i].CurrentValue * meta_temp[12][11]; break;
                                                                case 12: value[12][1] += result[i].CurrentValue * meta_temp[12][12]; break;
                                                                case 13: value[12][1] += result[i].CurrentValue * meta_temp[12][13]; break;
                                                                case 14: value[12][1] += result[i].CurrentValue * meta_temp[12][14]; break;
                                                                case 15: value[12][1] += result[i].CurrentValue * meta_temp[12][15]; break;
                                                                case 16: value[12][1] += result[i].CurrentValue * meta_temp[12][16]; break;
                                                                case 17: value[12][1] += result[i].CurrentValue * meta_temp[12][17]; break;
                                                                case 18: value[12][1] += result[i].CurrentValue * meta_temp[12][18]; break;
                                                                case 19: value[12][1] += result[i].CurrentValue * meta_temp[12][19]; break;
                                                                case 20: value[12][1] += result[i].CurrentValue * meta_temp[12][20]; break;
                                                                case 21: value[12][1] += result[i].CurrentValue * meta_temp[12][21]; break;
                                                                case 22: value[12][1] += result[i].CurrentValue * meta_temp[12][22]; break;
                                                                case 23: value[12][1] += result[i].CurrentValue * meta_temp[12][23]; break;
                                                            }
                                                            break;
                                                    }
                                                }
                                                var start_point = 13;
                                                var end_point = 0;
                                                for (var i = 1; i <= 12; i++) {
                                                    if (value[i][0] != null) {
                                                        if (start_point == 13)
                                                            start_point = i;
                                                        end_point = i;
                                                    }
                                                }
                                                //var temp_baseprice = $("#BasePrice").dxTextBox('instance').option('value');
                                                //temp_baseprice = temp_baseprice.replace(/[^0-9\.]+/g, "");
                                                for (var i = start_point; i <= end_point; i++) {
                                                    if (value[i][0] != null) {
                                                        dataArray.push({
                                                            DateTime: BWA.Chart.getCustermTimeArgumentAxisString(timeinterval, moment(value[i][0]).toDate()),
                                                            Value: Math.round(value[i][1])
                                                        });
                                                        //dataArray.push({
                                                        //    DateTime: BWA.Chart.getCustermTimeArgumentAxisString(timeinterval, moment(value[i][0]).toDate()),
                                                        //    basic: Math.round(temp_baseprice)
                                                        //});
                                                    }
                                                    else
                                                        month_length--;
                                                }
                                                options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
                                                options.dataSource = dataArray;
                                                if (options.dataSource.length == (end_point - start_point + 1)) {
                                                    $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                    chart().option(options);
                                                }
                                            }
                                            else {
                                                utils.toast.show("[BemsMonitoringPointHistoryHourly] 정보가 없습니다");
                                                $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                return;
                                            }
                                        }).fail(function (error) {
                                            $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                            utils.toast.show("[BemsMonitoringPointHistoryHourly] 정보를 읽어올수 없습니다.");
                                        });
                                    }
                                    else {
                                        utils.toast.show("[BemsFormulaParameter] 정보가 없습니다");
                                        $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                        return;
                                    }
                                });
                            }
                            else {
                                var Temp_Formula = Formula.split('+');
                                var value = new Array(13);
                                for (var k = 0; k < 13; k++) {
                                    value[k] = new Array(2);
                                    value[k][1] = 0;
                                }
                                var month_length = 0;
                                var total = 1;
                                for (var i = 0; i < Temp_Formula.length; i++) {
                                    var dataSource2 = new DevExpress.data.DataSource({
                                        store: new DevExpress.data.ODataStore({
                                            url: endpointSelector + "/BemsFormulaParameter"
                                        }),
                                        requireTotalCount: true,
                                        pageSize: 1
                                    });
                                    dataSource2.filter([
                                            ["FacilityTypeId", "=", FacilityTypeId],
                                            "and",
                                            ["FormulaId", "=", FormulaId],
                                            "and",
                                            ["ParameterId", "=", Temp_Formula[i]]
                                    ]);
                                    dataSource2.load()
                                    .done(function (result) {
                                        if (result.length != 0) {
                                            var ParameterFacilityCode = result[0].ParameterFacilityCode;
                                            var ParameterPropertyId = result[0].ParameterPropertyId;

                                            var dataSource3 = new DevExpress.data.DataSource({
                                                store: new DevExpress.data.ODataStore({
                                                    url: endpointSelector + "/BemsMonitoringPointHistoryHourly"
                                                }),
                                                requireTotalCount: true,
                                                pageSize: 9000
                                            });
                                            dataSource3.filter([
                                                    ["CreatedDateTime", ">=", new Date(startday.getFullYear(), startday.getMonth(), startday.getDate(), 0, 0, 0)],
                                                    "and",
                                                    ["CreatedDateTime", "<=", new Date(endday.getFullYear(), endday.getMonth(), endday.getDate(), 23, 59, 59)],
                                                     "and",
                                                    ["FacilityCode", "=", ParameterFacilityCode],
                                                    "and",
                                                    ["PropertyId", "=", ParameterPropertyId],
                                            ]);
                                            dataSource3.sort({ getter: "CreatedDateTime", desc: true });
                                            dataSource3.load()
                                            .done(function (result) {
                                                if (result.length != 0) {
                                                    var dataArray = [];
                                                    var meta_temp = Meta;
                                                    if (meta_temp == 0) {
                                                        options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
                                                        options.dataSource = dataArray
                                                        $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                        chart().option(options);
                                                        utils.toast.show("BemsPriceMeta 정보가 없습니다");
                                                        return;
                                                    }
                                                    month_length = endday.getMonth() - startday.getMonth() + 1;

                                                    for (var i = 0; i < result.length; i++) {

                                                        var time = result[i].CreatedDateTime;
                                                        switch (time.getMonth() + 1) {
                                                            case 1:
                                                                if (value[1][0] == null)
                                                                    value[1][0] = time; //[1][0] 날짜
                                                                switch (time.getHours()) { //[1][1] 값                     
                                                                    case 0: value[1][1] += result[i].CurrentValue * meta_temp[1][0]; break;
                                                                    case 1: value[1][1] += result[i].CurrentValue * meta_temp[1][1]; break;
                                                                    case 2: value[1][1] += result[i].CurrentValue * meta_temp[1][2]; break;
                                                                    case 3: value[1][1] += result[i].CurrentValue * meta_temp[1][3]; break;
                                                                    case 4: value[1][1] += result[i].CurrentValue * meta_temp[1][4]; break;
                                                                    case 5: value[1][1] += result[i].CurrentValue * meta_temp[1][5]; break;
                                                                    case 6: value[1][1] += result[i].CurrentValue * meta_temp[1][6]; break;
                                                                    case 7: value[1][1] += result[i].CurrentValue * meta_temp[1][7]; break;
                                                                    case 8: value[1][1] += result[i].CurrentValue * meta_temp[1][8]; break;
                                                                    case 9: value[1][1] += result[i].CurrentValue * meta_temp[1][9]; break;
                                                                    case 10: value[1][1] += result[i].CurrentValue * meta_temp[1][10]; break;
                                                                    case 11: value[1][1] += result[i].CurrentValue * meta_temp[1][11]; break;
                                                                    case 12: value[1][1] += result[i].CurrentValue * meta_temp[1][12]; break;
                                                                    case 13: value[1][1] += result[i].CurrentValue * meta_temp[1][13]; break;
                                                                    case 14: value[1][1] += result[i].CurrentValue * meta_temp[1][14]; break;
                                                                    case 15: value[1][1] += result[i].CurrentValue * meta_temp[1][15]; break;
                                                                    case 16: value[1][1] += result[i].CurrentValue * meta_temp[1][16]; break;
                                                                    case 17: value[1][1] += result[i].CurrentValue * meta_temp[1][17]; break;
                                                                    case 18: value[1][1] += result[i].CurrentValue * meta_temp[1][18]; break;
                                                                    case 19: value[1][1] += result[i].CurrentValue * meta_temp[1][19]; break;
                                                                    case 20: value[1][1] += result[i].CurrentValue * meta_temp[1][20]; break;
                                                                    case 21: value[1][1] += result[i].CurrentValue * meta_temp[1][21]; break;
                                                                    case 22: value[1][1] += result[i].CurrentValue * meta_temp[1][22]; break;
                                                                    case 23: value[1][1] += result[i].CurrentValue * meta_temp[1][23]; break;
                                                                }
                                                                break;
                                                            case 2:
                                                                if (value[2][0] == null)
                                                                    value[2][0] = time; //[2][0] 날짜
                                                                switch (time.getHours()) { //[2][1] 값
                                                                    case 0: value[2][1] += result[i].CurrentValue * meta_temp[2][0]; break;
                                                                    case 1: value[2][1] += result[i].CurrentValue * meta_temp[2][1]; break;
                                                                    case 2: value[2][1] += result[i].CurrentValue * meta_temp[2][2]; break;
                                                                    case 3: value[2][1] += result[i].CurrentValue * meta_temp[2][3]; break;
                                                                    case 4: value[2][1] += result[i].CurrentValue * meta_temp[2][4]; break;
                                                                    case 5: value[2][1] += result[i].CurrentValue * meta_temp[2][5]; break;
                                                                    case 6: value[2][1] += result[i].CurrentValue * meta_temp[2][6]; break;
                                                                    case 7: value[2][1] += result[i].CurrentValue * meta_temp[2][7]; break;
                                                                    case 8: value[2][1] += result[i].CurrentValue * meta_temp[2][8]; break;
                                                                    case 9: value[2][1] += result[i].CurrentValue * meta_temp[2][9]; break;
                                                                    case 10: value[2][1] += result[i].CurrentValue * meta_temp[2][10]; break;
                                                                    case 11: value[2][1] += result[i].CurrentValue * meta_temp[2][11]; break;
                                                                    case 12: value[2][1] += result[i].CurrentValue * meta_temp[2][12]; break;
                                                                    case 13: value[2][1] += result[i].CurrentValue * meta_temp[2][13]; break;
                                                                    case 14: value[2][1] += result[i].CurrentValue * meta_temp[2][14]; break;
                                                                    case 15: value[2][1] += result[i].CurrentValue * meta_temp[2][15]; break;
                                                                    case 16: value[2][1] += result[i].CurrentValue * meta_temp[2][16]; break;
                                                                    case 17: value[2][1] += result[i].CurrentValue * meta_temp[2][17]; break;
                                                                    case 18: value[2][1] += result[i].CurrentValue * meta_temp[2][18]; break;
                                                                    case 19: value[2][1] += result[i].CurrentValue * meta_temp[2][19]; break;
                                                                    case 20: value[2][1] += result[i].CurrentValue * meta_temp[2][20]; break;
                                                                    case 21: value[2][1] += result[i].CurrentValue * meta_temp[2][21]; break;
                                                                    case 22: value[2][1] += result[i].CurrentValue * meta_temp[2][22]; break;
                                                                    case 23: value[2][1] += result[i].CurrentValue * meta_temp[2][23]; break;
                                                                }
                                                                break;
                                                            case 3:
                                                                if (value[3][0] == null)
                                                                    value[3][0] = time; //[1][0] 날짜
                                                                switch (time.getHours()) { //[1][1] 값
                                                                    case 0: value[3][1] += result[i].CurrentValue * meta_temp[3][0]; break;
                                                                    case 1: value[3][1] += result[i].CurrentValue * meta_temp[3][1]; break;
                                                                    case 2: value[3][1] += result[i].CurrentValue * meta_temp[3][2]; break;
                                                                    case 3: value[3][1] += result[i].CurrentValue * meta_temp[3][3]; break;
                                                                    case 4: value[3][1] += result[i].CurrentValue * meta_temp[3][4]; break;
                                                                    case 5: value[3][1] += result[i].CurrentValue * meta_temp[3][5]; break;
                                                                    case 6: value[3][1] += result[i].CurrentValue * meta_temp[3][6]; break;
                                                                    case 7: value[3][1] += result[i].CurrentValue * meta_temp[3][7]; break;
                                                                    case 8: value[3][1] += result[i].CurrentValue * meta_temp[3][8]; break;
                                                                    case 9: value[3][1] += result[i].CurrentValue * meta_temp[3][9]; break;
                                                                    case 10: value[3][1] += result[i].CurrentValue * meta_temp[3][10]; break;
                                                                    case 11: value[3][1] += result[i].CurrentValue * meta_temp[3][11]; break;
                                                                    case 12: value[3][1] += result[i].CurrentValue * meta_temp[3][12]; break;
                                                                    case 13: value[3][1] += result[i].CurrentValue * meta_temp[3][13]; break;
                                                                    case 14: value[3][1] += result[i].CurrentValue * meta_temp[3][14]; break;
                                                                    case 15: value[3][1] += result[i].CurrentValue * meta_temp[3][15]; break;
                                                                    case 16: value[3][1] += result[i].CurrentValue * meta_temp[3][16]; break;
                                                                    case 17: value[3][1] += result[i].CurrentValue * meta_temp[3][17]; break;
                                                                    case 18: value[3][1] += result[i].CurrentValue * meta_temp[3][18]; break;
                                                                    case 19: value[3][1] += result[i].CurrentValue * meta_temp[3][19]; break;
                                                                    case 20: value[3][1] += result[i].CurrentValue * meta_temp[3][20]; break;
                                                                    case 21: value[3][1] += result[i].CurrentValue * meta_temp[3][21]; break;
                                                                    case 22: value[3][1] += result[i].CurrentValue * meta_temp[3][22]; break;
                                                                    case 23: value[3][1] += result[i].CurrentValue * meta_temp[3][23]; break;
                                                                }
                                                                break;
                                                            case 4:
                                                                if (value[4][0] == null)
                                                                    value[4][0] = time; //[1][0] 날짜
                                                                switch (time.getHours()) { //[1][1] 값
                                                                    case 0: value[4][1] += result[i].CurrentValue * meta_temp[4][0]; break;
                                                                    case 1: value[4][1] += result[i].CurrentValue * meta_temp[4][1]; break;
                                                                    case 2: value[4][1] += result[i].CurrentValue * meta_temp[4][2]; break;
                                                                    case 3: value[4][1] += result[i].CurrentValue * meta_temp[4][3]; break;
                                                                    case 4: value[4][1] += result[i].CurrentValue * meta_temp[4][4]; break;
                                                                    case 5: value[4][1] += result[i].CurrentValue * meta_temp[4][5]; break;
                                                                    case 6: value[4][1] += result[i].CurrentValue * meta_temp[4][6]; break;
                                                                    case 7: value[4][1] += result[i].CurrentValue * meta_temp[4][7]; break;
                                                                    case 8: value[4][1] += result[i].CurrentValue * meta_temp[4][8]; break;
                                                                    case 9: value[4][1] += result[i].CurrentValue * meta_temp[4][9]; break;
                                                                    case 10: value[4][1] += result[i].CurrentValue * meta_temp[4][10]; break;
                                                                    case 11: value[4][1] += result[i].CurrentValue * meta_temp[4][11]; break;
                                                                    case 12: value[4][1] += result[i].CurrentValue * meta_temp[4][12]; break;
                                                                    case 13: value[4][1] += result[i].CurrentValue * meta_temp[4][13]; break;
                                                                    case 14: value[4][1] += result[i].CurrentValue * meta_temp[4][14]; break;
                                                                    case 15: value[4][1] += result[i].CurrentValue * meta_temp[4][15]; break;
                                                                    case 16: value[4][1] += result[i].CurrentValue * meta_temp[4][16]; break;
                                                                    case 17: value[4][1] += result[i].CurrentValue * meta_temp[4][17]; break;
                                                                    case 18: value[4][1] += result[i].CurrentValue * meta_temp[4][18]; break;
                                                                    case 19: value[4][1] += result[i].CurrentValue * meta_temp[4][19]; break;
                                                                    case 20: value[4][1] += result[i].CurrentValue * meta_temp[4][20]; break;
                                                                    case 21: value[4][1] += result[i].CurrentValue * meta_temp[4][21]; break;
                                                                    case 22: value[4][1] += result[i].CurrentValue * meta_temp[4][22]; break;
                                                                    case 23: value[4][1] += result[i].CurrentValue * meta_temp[4][23]; break;
                                                                }
                                                                break;
                                                            case 5:
                                                                if (value[5][0] == null)
                                                                    value[5][0] = time; //[1][0] 날짜
                                                                switch (time.getHours()) { //[1][1] 값
                                                                    case 0: value[5][1] += result[i].CurrentValue * meta_temp[5][0]; break;
                                                                    case 1: value[5][1] += result[i].CurrentValue * meta_temp[5][1]; break;
                                                                    case 2: value[5][1] += result[i].CurrentValue * meta_temp[5][2]; break;
                                                                    case 3: value[5][1] += result[i].CurrentValue * meta_temp[5][3]; break;
                                                                    case 4: value[5][1] += result[i].CurrentValue * meta_temp[5][4]; break;
                                                                    case 5: value[5][1] += result[i].CurrentValue * meta_temp[5][5]; break;
                                                                    case 6: value[5][1] += result[i].CurrentValue * meta_temp[5][6]; break;
                                                                    case 7: value[5][1] += result[i].CurrentValue * meta_temp[5][7]; break;
                                                                    case 8: value[5][1] += result[i].CurrentValue * meta_temp[5][8]; break;
                                                                    case 9: value[5][1] += result[i].CurrentValue * meta_temp[5][9]; break;
                                                                    case 10: value[5][1] += result[i].CurrentValue * meta_temp[5][10]; break;
                                                                    case 11: value[5][1] += result[i].CurrentValue * meta_temp[5][11]; break;
                                                                    case 12: value[5][1] += result[i].CurrentValue * meta_temp[5][12]; break;
                                                                    case 13: value[5][1] += result[i].CurrentValue * meta_temp[5][13]; break;
                                                                    case 14: value[5][1] += result[i].CurrentValue * meta_temp[5][14]; break;
                                                                    case 15: value[5][1] += result[i].CurrentValue * meta_temp[5][15]; break;
                                                                    case 16: value[5][1] += result[i].CurrentValue * meta_temp[5][16]; break;
                                                                    case 17: value[5][1] += result[i].CurrentValue * meta_temp[5][17]; break;
                                                                    case 18: value[5][1] += result[i].CurrentValue * meta_temp[5][18]; break;
                                                                    case 19: value[5][1] += result[i].CurrentValue * meta_temp[5][19]; break;
                                                                    case 20: value[5][1] += result[i].CurrentValue * meta_temp[5][20]; break;
                                                                    case 21: value[5][1] += result[i].CurrentValue * meta_temp[5][21]; break;
                                                                    case 22: value[5][1] += result[i].CurrentValue * meta_temp[5][22]; break;
                                                                    case 23: value[5][1] += result[i].CurrentValue * meta_temp[5][23]; break;
                                                                }
                                                                break;
                                                            case 6:
                                                                if (value[6][0] == null)
                                                                    value[6][0] = time; //[1][0] 날짜
                                                                switch (time.getHours()) { //[1][1] 값
                                                                    case 0: value[6][1] += result[i].CurrentValue * meta_temp[6][0]; break;
                                                                    case 1: value[6][1] += result[i].CurrentValue * meta_temp[6][1]; break;
                                                                    case 2: value[6][1] += result[i].CurrentValue * meta_temp[6][2]; break;
                                                                    case 3: value[6][1] += result[i].CurrentValue * meta_temp[6][3]; break;
                                                                    case 4: value[6][1] += result[i].CurrentValue * meta_temp[6][4]; break;
                                                                    case 5: value[6][1] += result[i].CurrentValue * meta_temp[6][5]; break;
                                                                    case 6: value[6][1] += result[i].CurrentValue * meta_temp[6][6]; break;
                                                                    case 7: value[6][1] += result[i].CurrentValue * meta_temp[6][7]; break;
                                                                    case 8: value[6][1] += result[i].CurrentValue * meta_temp[6][8]; break;
                                                                    case 9: value[6][1] += result[i].CurrentValue * meta_temp[6][9]; break;
                                                                    case 10: value[6][1] += result[i].CurrentValue * meta_temp[6][10]; break;
                                                                    case 11: value[6][1] += result[i].CurrentValue * meta_temp[6][11]; break;
                                                                    case 12: value[6][1] += result[i].CurrentValue * meta_temp[6][12]; break;
                                                                    case 13: value[6][1] += result[i].CurrentValue * meta_temp[6][13]; break;
                                                                    case 14: value[6][1] += result[i].CurrentValue * meta_temp[6][14]; break;
                                                                    case 15: value[6][1] += result[i].CurrentValue * meta_temp[6][15]; break;
                                                                    case 16: value[6][1] += result[i].CurrentValue * meta_temp[6][16]; break;
                                                                    case 17: value[6][1] += result[i].CurrentValue * meta_temp[6][17]; break;
                                                                    case 18: value[6][1] += result[i].CurrentValue * meta_temp[6][18]; break;
                                                                    case 19: value[6][1] += result[i].CurrentValue * meta_temp[6][19]; break;
                                                                    case 20: value[6][1] += result[i].CurrentValue * meta_temp[6][20]; break;
                                                                    case 21: value[6][1] += result[i].CurrentValue * meta_temp[6][21]; break;
                                                                    case 22: value[6][1] += result[i].CurrentValue * meta_temp[6][22]; break;
                                                                    case 23: value[6][1] += result[i].CurrentValue * meta_temp[6][23]; break;
                                                                }
                                                                break;
                                                            case 7:
                                                                if (value[7][0] == null)
                                                                    value[7][0] = time; //[1][0] 날짜
                                                                switch (time.getHours()) { //[1][1] 값
                                                                    case 0: value[7][1] += result[i].CurrentValue * meta_temp[7][0]; break;
                                                                    case 1: value[7][1] += result[i].CurrentValue * meta_temp[7][1]; break;
                                                                    case 2: value[7][1] += result[i].CurrentValue * meta_temp[7][2]; break;
                                                                    case 3: value[7][1] += result[i].CurrentValue * meta_temp[7][3]; break;
                                                                    case 4: value[7][1] += result[i].CurrentValue * meta_temp[7][4]; break;
                                                                    case 5: value[7][1] += result[i].CurrentValue * meta_temp[7][5]; break;
                                                                    case 6: value[7][1] += result[i].CurrentValue * meta_temp[7][6]; break;
                                                                    case 7: value[7][1] += result[i].CurrentValue * meta_temp[7][7]; break;
                                                                    case 8: value[7][1] += result[i].CurrentValue * meta_temp[7][8]; break;
                                                                    case 9: value[7][1] += result[i].CurrentValue * meta_temp[7][9]; break;
                                                                    case 10: value[7][1] += result[i].CurrentValue * meta_temp[7][10]; break;
                                                                    case 11: value[7][1] += result[i].CurrentValue * meta_temp[7][11]; break;
                                                                    case 12: value[7][1] += result[i].CurrentValue * meta_temp[7][12]; break;
                                                                    case 13: value[7][1] += result[i].CurrentValue * meta_temp[7][13]; break;
                                                                    case 14: value[7][1] += result[i].CurrentValue * meta_temp[7][14]; break;
                                                                    case 15: value[7][1] += result[i].CurrentValue * meta_temp[7][15]; break;
                                                                    case 16: value[7][1] += result[i].CurrentValue * meta_temp[7][16]; break;
                                                                    case 17: value[7][1] += result[i].CurrentValue * meta_temp[7][17]; break;
                                                                    case 18: value[7][1] += result[i].CurrentValue * meta_temp[7][18]; break;
                                                                    case 19: value[7][1] += result[i].CurrentValue * meta_temp[7][19]; break;
                                                                    case 20: value[7][1] += result[i].CurrentValue * meta_temp[7][20]; break;
                                                                    case 21: value[7][1] += result[i].CurrentValue * meta_temp[7][21]; break;
                                                                    case 22: value[7][1] += result[i].CurrentValue * meta_temp[7][22]; break;
                                                                    case 23: value[7][1] += result[i].CurrentValue * meta_temp[7][23]; break;
                                                                }
                                                                break;
                                                            case 8:
                                                                if (value[8][0] == null)
                                                                    value[8][0] = time; //[1][0] 날짜
                                                                switch (time.getHours()) { //[1][1] 값
                                                                    case 0: value[8][1] += result[i].CurrentValue * meta_temp[8][0]; break;
                                                                    case 1: value[8][1] += result[i].CurrentValue * meta_temp[8][1]; break;
                                                                    case 2: value[8][1] += result[i].CurrentValue * meta_temp[8][2]; break;
                                                                    case 3: value[8][1] += result[i].CurrentValue * meta_temp[8][3]; break;
                                                                    case 4: value[8][1] += result[i].CurrentValue * meta_temp[8][4]; break;
                                                                    case 5: value[8][1] += result[i].CurrentValue * meta_temp[8][5]; break;
                                                                    case 6: value[8][1] += result[i].CurrentValue * meta_temp[8][6]; break;
                                                                    case 7: value[8][1] += result[i].CurrentValue * meta_temp[8][7]; break;
                                                                    case 8: value[8][1] += result[i].CurrentValue * meta_temp[8][8]; break;
                                                                    case 9: value[8][1] += result[i].CurrentValue * meta_temp[8][9]; break;
                                                                    case 10: value[8][1] += result[i].CurrentValue * meta_temp[8][10]; break;
                                                                    case 11: value[8][1] += result[i].CurrentValue * meta_temp[8][11]; break;
                                                                    case 12: value[8][1] += result[i].CurrentValue * meta_temp[8][12]; break;
                                                                    case 13: value[8][1] += result[i].CurrentValue * meta_temp[8][13]; break;
                                                                    case 14: value[8][1] += result[i].CurrentValue * meta_temp[8][14]; break;
                                                                    case 15: value[8][1] += result[i].CurrentValue * meta_temp[8][15]; break;
                                                                    case 16: value[8][1] += result[i].CurrentValue * meta_temp[8][16]; break;
                                                                    case 17: value[8][1] += result[i].CurrentValue * meta_temp[8][17]; break;
                                                                    case 18: value[8][1] += result[i].CurrentValue * meta_temp[8][18]; break;
                                                                    case 19: value[8][1] += result[i].CurrentValue * meta_temp[8][19]; break;
                                                                    case 20: value[8][1] += result[i].CurrentValue * meta_temp[8][20]; break;
                                                                    case 21: value[8][1] += result[i].CurrentValue * meta_temp[8][21]; break;
                                                                    case 22: value[8][1] += result[i].CurrentValue * meta_temp[8][22]; break;
                                                                    case 23: value[8][1] += result[i].CurrentValue * meta_temp[8][23]; break;
                                                                }
                                                                break;
                                                            case 9:
                                                                if (value[9][0] == null)
                                                                    value[9][0] = time; //[1][0] 날짜
                                                                switch (time.getHours()) { //[1][1] 값
                                                                    case 0: value[9][1] += result[i].CurrentValue * meta_temp[9][0]; break;
                                                                    case 1: value[9][1] += result[i].CurrentValue * meta_temp[9][1]; break;
                                                                    case 2: value[9][1] += result[i].CurrentValue * meta_temp[9][2]; break;
                                                                    case 3: value[9][1] += result[i].CurrentValue * meta_temp[9][3]; break;
                                                                    case 4: value[9][1] += result[i].CurrentValue * meta_temp[9][4]; break;
                                                                    case 5: value[9][1] += result[i].CurrentValue * meta_temp[9][5]; break;
                                                                    case 6: value[9][1] += result[i].CurrentValue * meta_temp[9][6]; break;
                                                                    case 7: value[9][1] += result[i].CurrentValue * meta_temp[9][7]; break;
                                                                    case 8: value[9][1] += result[i].CurrentValue * meta_temp[9][8]; break;
                                                                    case 9: value[9][1] += result[i].CurrentValue * meta_temp[9][9]; break;
                                                                    case 10: value[9][1] += result[i].CurrentValue * meta_temp[9][10]; break;
                                                                    case 11: value[9][1] += result[i].CurrentValue * meta_temp[9][11]; break;
                                                                    case 12: value[9][1] += result[i].CurrentValue * meta_temp[9][12]; break;
                                                                    case 13: value[9][1] += result[i].CurrentValue * meta_temp[9][13]; break;
                                                                    case 14: value[9][1] += result[i].CurrentValue * meta_temp[9][14]; break;
                                                                    case 15: value[9][1] += result[i].CurrentValue * meta_temp[9][15]; break;
                                                                    case 16: value[9][1] += result[i].CurrentValue * meta_temp[9][16]; break;
                                                                    case 17: value[9][1] += result[i].CurrentValue * meta_temp[9][17]; break;
                                                                    case 18: value[9][1] += result[i].CurrentValue * meta_temp[9][18]; break;
                                                                    case 19: value[9][1] += result[i].CurrentValue * meta_temp[9][19]; break;
                                                                    case 20: value[9][1] += result[i].CurrentValue * meta_temp[9][20]; break;
                                                                    case 21: value[9][1] += result[i].CurrentValue * meta_temp[9][21]; break;
                                                                    case 22: value[9][1] += result[i].CurrentValue * meta_temp[9][22]; break;
                                                                    case 23: value[9][1] += result[i].CurrentValue * meta_temp[9][23]; break;
                                                                }
                                                                break;
                                                            case 10:
                                                                if (value[10][0] == null)
                                                                    value[10][0] = time; //[1][0] 날짜
                                                                switch (time.getHours()) { //[1][1] 값
                                                                    case 0: value[10][1] += result[i].CurrentValue * meta_temp[10][0]; break;
                                                                    case 1: value[10][1] += result[i].CurrentValue * meta_temp[10][1]; break;
                                                                    case 2: value[10][1] += result[i].CurrentValue * meta_temp[10][2]; break;
                                                                    case 3: value[10][1] += result[i].CurrentValue * meta_temp[10][3]; break;
                                                                    case 4: value[10][1] += result[i].CurrentValue * meta_temp[10][4]; break;
                                                                    case 5: value[10][1] += result[i].CurrentValue * meta_temp[10][5]; break;
                                                                    case 6: value[10][1] += result[i].CurrentValue * meta_temp[10][6]; break;
                                                                    case 7: value[10][1] += result[i].CurrentValue * meta_temp[10][7]; break;
                                                                    case 8: value[10][1] += result[i].CurrentValue * meta_temp[10][8]; break;
                                                                    case 9: value[10][1] += result[i].CurrentValue * meta_temp[10][9]; break;
                                                                    case 10: value[10][1] += result[i].CurrentValue * meta_temp[10][10]; break;
                                                                    case 11: value[10][1] += result[i].CurrentValue * meta_temp[10][11]; break;
                                                                    case 12: value[10][1] += result[i].CurrentValue * meta_temp[10][12]; break;
                                                                    case 13: value[10][1] += result[i].CurrentValue * meta_temp[10][13]; break;
                                                                    case 14: value[10][1] += result[i].CurrentValue * meta_temp[10][14]; break;
                                                                    case 15: value[10][1] += result[i].CurrentValue * meta_temp[10][15]; break;
                                                                    case 16: value[10][1] += result[i].CurrentValue * meta_temp[10][16]; break;
                                                                    case 17: value[10][1] += result[i].CurrentValue * meta_temp[10][17]; break;
                                                                    case 18: value[10][1] += result[i].CurrentValue * meta_temp[10][18]; break;
                                                                    case 19: value[10][1] += result[i].CurrentValue * meta_temp[10][19]; break;
                                                                    case 20: value[10][1] += result[i].CurrentValue * meta_temp[10][20]; break;
                                                                    case 21: value[10][1] += result[i].CurrentValue * meta_temp[10][21]; break;
                                                                    case 22: value[10][1] += result[i].CurrentValue * meta_temp[10][22]; break;
                                                                    case 23: value[10][1] += result[i].CurrentValue * meta_temp[10][23]; break;
                                                                }
                                                                break;
                                                            case 11:
                                                                if (value[11][0] == null)
                                                                    value[11][0] = time; //[1][0] 날짜
                                                                switch (time.getHours()) { //[1][1] 값
                                                                    case 0: value[11][1] += result[i].CurrentValue * meta_temp[11][0]; break;
                                                                    case 1: value[11][1] += result[i].CurrentValue * meta_temp[11][1]; break;
                                                                    case 2: value[11][1] += result[i].CurrentValue * meta_temp[11][2]; break;
                                                                    case 3: value[11][1] += result[i].CurrentValue * meta_temp[11][3]; break;
                                                                    case 4: value[11][1] += result[i].CurrentValue * meta_temp[11][4]; break;
                                                                    case 5: value[11][1] += result[i].CurrentValue * meta_temp[11][5]; break;
                                                                    case 6: value[11][1] += result[i].CurrentValue * meta_temp[11][6]; break;
                                                                    case 7: value[11][1] += result[i].CurrentValue * meta_temp[11][7]; break;
                                                                    case 8: value[11][1] += result[i].CurrentValue * meta_temp[11][8]; break;
                                                                    case 9: value[11][1] += result[i].CurrentValue * meta_temp[11][9]; break;
                                                                    case 10: value[11][1] += result[i].CurrentValue * meta_temp[11][10]; break;
                                                                    case 11: value[11][1] += result[i].CurrentValue * meta_temp[11][11]; break;
                                                                    case 12: value[11][1] += result[i].CurrentValue * meta_temp[11][12]; break;
                                                                    case 13: value[11][1] += result[i].CurrentValue * meta_temp[11][13]; break;
                                                                    case 14: value[11][1] += result[i].CurrentValue * meta_temp[11][14]; break;
                                                                    case 15: value[11][1] += result[i].CurrentValue * meta_temp[11][15]; break;
                                                                    case 16: value[11][1] += result[i].CurrentValue * meta_temp[11][16]; break;
                                                                    case 17: value[11][1] += result[i].CurrentValue * meta_temp[11][17]; break;
                                                                    case 18: value[11][1] += result[i].CurrentValue * meta_temp[11][18]; break;
                                                                    case 19: value[11][1] += result[i].CurrentValue * meta_temp[11][19]; break;
                                                                    case 20: value[11][1] += result[i].CurrentValue * meta_temp[11][20]; break;
                                                                    case 21: value[11][1] += result[i].CurrentValue * meta_temp[11][21]; break;
                                                                    case 22: value[11][1] += result[i].CurrentValue * meta_temp[11][22]; break;
                                                                    case 23: value[11][1] += result[i].CurrentValue * meta_temp[11][23]; break;
                                                                }
                                                                break;
                                                            case 12:
                                                                if (value[12][0] == null)
                                                                    value[12][0] = time; //[1][0] 날짜
                                                                switch (time.getHours()) { //[1][1] 값
                                                                    case 0: value[12][1] += result[i].CurrentValue * meta_temp[12][0]; break;
                                                                    case 1: value[12][1] += result[i].CurrentValue * meta_temp[12][1]; break;
                                                                    case 2: value[12][1] += result[i].CurrentValue * meta_temp[12][2]; break;
                                                                    case 3: value[12][1] += result[i].CurrentValue * meta_temp[12][3]; break;
                                                                    case 4: value[12][1] += result[i].CurrentValue * meta_temp[12][4]; break;
                                                                    case 5: value[12][1] += result[i].CurrentValue * meta_temp[12][5]; break;
                                                                    case 6: value[12][1] += result[i].CurrentValue * meta_temp[12][6]; break;
                                                                    case 7: value[12][1] += result[i].CurrentValue * meta_temp[12][7]; break;
                                                                    case 8: value[12][1] += result[i].CurrentValue * meta_temp[12][8]; break;
                                                                    case 9: value[12][1] += result[i].CurrentValue * meta_temp[12][9]; break;
                                                                    case 10: value[12][1] += result[i].CurrentValue * meta_temp[12][10]; break;
                                                                    case 11: value[12][1] += result[i].CurrentValue * meta_temp[12][11]; break;
                                                                    case 12: value[12][1] += result[i].CurrentValue * meta_temp[12][12]; break;
                                                                    case 13: value[12][1] += result[i].CurrentValue * meta_temp[12][13]; break;
                                                                    case 14: value[12][1] += result[i].CurrentValue * meta_temp[12][14]; break;
                                                                    case 15: value[12][1] += result[i].CurrentValue * meta_temp[12][15]; break;
                                                                    case 16: value[12][1] += result[i].CurrentValue * meta_temp[12][16]; break;
                                                                    case 17: value[12][1] += result[i].CurrentValue * meta_temp[12][17]; break;
                                                                    case 18: value[12][1] += result[i].CurrentValue * meta_temp[12][18]; break;
                                                                    case 19: value[12][1] += result[i].CurrentValue * meta_temp[12][19]; break;
                                                                    case 20: value[12][1] += result[i].CurrentValue * meta_temp[12][20]; break;
                                                                    case 21: value[12][1] += result[i].CurrentValue * meta_temp[12][21]; break;
                                                                    case 22: value[12][1] += result[i].CurrentValue * meta_temp[12][22]; break;
                                                                    case 23: value[12][1] += result[i].CurrentValue * meta_temp[12][23]; break;
                                                                }
                                                                break;
                                                        }
                                                    }
                                                    if (Temp_Formula.length == total) {
                                                        var start_point = 13;
                                                        var end_point = 0;
                                                        for (var i = 1; i <= 12; i++) {
                                                            if (value[i][0] != null) {
                                                                if (start_point == 13)
                                                                    start_point = i;
                                                                end_point = i;
                                                            }
                                                        }
                                                        //var temp_baseprice = $("#BasePrice").dxTextBox('instance').option('value');
                                                        //temp_baseprice = temp_baseprice.replace(/[^0-9\.]+/g, "");
                                                        for (var i = start_point; i <= end_point; i++) {
                                                            if (value[i][0] != null) {
                                                                dataArray.push({
                                                                    DateTime: BWA.Chart.getCustermTimeArgumentAxisString(timeinterval, moment(value[i][0]).toDate()),
                                                                    Value: Math.round(value[i][1])
                                                                });
                                                                //dataArray.push({
                                                                //    DateTime: BWA.Chart.getCustermTimeArgumentAxisString(timeinterval, moment(value[i][0]).toDate()),
                                                                //    basic: Math.round(temp_baseprice)
                                                                //});
                                                            }
                                                            else
                                                                month_length--;
                                                        }
                                                        options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
                                                        options.dataSource = dataArray;
                                                        if (options.dataSource.length == (end_point - start_point + 1)) {
                                                            $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                            chart().option(options);
                                                        }
                                                    }
                                                }
                                                else {
                                                    utils.toast.show("[BemsMonitoringPointHistoryHourly] 정보가 없습니다");
                                                    $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                    return;
                                                }
                                                total++;
                                            })
                                            .fail(function (error) {
                                                $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                utils.toast.show("[BemsMonitoringPointHistoryHourly] 정보를 읽어올수 없습니다.");
                                            });
                                        }
                                        else {
                                            utils.toast.show("[BemsFormulaParameter] 정보가 없습니다");
                                            return;
                                        }
                                    });
                                }
                            }
                        }
                        else { //가스
                            var Formula = result[0].Formula;
                            if (Formula.length == 1) {

                                var dataSource2 = new DevExpress.data.DataSource({
                                    store: new DevExpress.data.ODataStore({
                                        url: endpointSelector + "/BemsFormulaParameter"
                                    }),
                                    requireTotalCount: true,
                                    pageSize: 1
                                });
                                dataSource2.filter([
                                        ["FacilityTypeId", "=", FacilityTypeId],
                                        "and",
                                        ["FormulaId", "=", FormulaId],
                                        "and",
                                        ["ParameterId", "=", Formula]
                                ]);
                                dataSource2.load()
                                .done(function (result) {
                                    if (result.length != 0) {
                                        var ParameterFacilityCode = result[0].ParameterFacilityCode;
                                        var ParameterPropertyId = result[0].ParameterPropertyId;

                                        var dataSource3 = new DevExpress.data.DataSource({
                                            store: new DevExpress.data.ODataStore({
                                                url: endpointSelector + "/BemsEnergyCost"
                                            }),
                                            requireTotalCount: true,
                                            pageSize: 1
                                        });
                                        dataSource3.filter([
                                               ["FacilityCode", "=", ParameterFacilityCode],
                                               "and",
                                               ["GasPriceTypeId", "=", pricetypeId],
                                               "and",
                                               ["IsUse", "=", true]
                                        ]);
                                        dataSource3.load()
                                        .done(function (result) {
                                            if (result.length != 0) {
                                                var FacilityCode = result[0].FacilityCode;
                                                var FacilityTypeId = result[0].FacilityTypeId;

                                                var dataSource4 = new DevExpress.data.DataSource({
                                                    store: new DevExpress.data.ODataStore({
                                                        url: endpointSelector + "/BemsMonitoringPointHistoryDaily"
                                                    }),
                                                    requireTotalCount: true,
                                                    pageSize: 9000
                                                });
                                                dataSource4.filter([
                                                        ["CreatedDateTime", ">=", new Date(startday.getFullYear(), startday.getMonth(), startday.getDate(), 0, 0, 0)],
                                                        "and",
                                                        ["CreatedDateTime", "<=", new Date(endday.getFullYear(), endday.getMonth(), endday.getDate(), 23, 59, 59)],
                                                         "and",
                                                        ["FacilityCode", "=", FacilityCode],
                                                        "and",
                                                        ["PropertyId", "=", ParameterPropertyId],
                                                ]);
                                                dataSource4.sort({ getter: "CreatedDateTime", asc: true });
                                                dataSource4.load()
                                                .done(function (result) {
                                                    if (result.length != 0) {
                                                        var dataArray = [];
                                                        var meta_temp = Meta;
                                                        if (meta_temp == 0) {
                                                            options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
                                                            options.dataSource = dataArray
                                                            $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                            chart().option(options);
                                                            utils.toast.show("BemsPriceMeta 정보가 없습니다");
                                                            return;
                                                        }
                                                        var month_length = endday.getMonth() - startday.getMonth() + 1;
                                                        var value = new Array(13);
                                                        for (var k = 0; k < 13; k++) {
                                                            value[k] = new Array(2);
                                                            value[k][1] = 0;
                                                        }

                                                        for (var i = 0; i < result.length; i++) {

                                                            var time = result[i].CreatedDateTime;
                                                            switch (time.getMonth() + 1) {
                                                                case 1:
                                                                    if (value[1][0] == null)
                                                                        value[1][0] = time; //[1][0] 날짜
                                                                    value[1][1] += result[i].DailyValue * meta_temp[1][0];
                                                                    break;
                                                                case 2:
                                                                    if (value[2][0] == null)
                                                                        value[2][0] = time; //[2][0] 날짜
                                                                    value[2][1] += result[i].DailyValue * meta_temp[2][0];
                                                                    break;

                                                                case 3:
                                                                    if (value[3][0] == null)
                                                                        value[3][0] = time; //[1][0] 날짜
                                                                    value[3][1] += result[i].DailyValue * meta_temp[3][0];
                                                                    break;

                                                                case 4:
                                                                    if (value[4][0] == null)
                                                                        value[4][0] = time; //[1][0] 날짜
                                                                    value[4][1] += result[i].DailyValue * meta_temp[4][0];
                                                                    break;

                                                                case 5:
                                                                    if (value[5][0] == null)
                                                                        value[5][0] = time; //[1][0] 날짜
                                                                    value[5][1] += result[i].DailyValue * meta_temp[5][0];
                                                                    break;

                                                                case 6:
                                                                    if (value[6][0] == null)
                                                                        value[6][0] = time; //[1][0] 날짜
                                                                    value[6][1] += result[i].DailyValue * meta_temp[6][0];
                                                                    break;

                                                                case 7:
                                                                    if (value[7][0] == null)
                                                                        value[7][0] = time; //[1][0] 날짜
                                                                    value[7][1] += result[i].DailyValue * meta_temp[7][0];
                                                                    break;

                                                                case 8:
                                                                    if (value[8][0] == null)
                                                                        value[8][0] = time; //[1][0] 날짜
                                                                    value[8][1] += result[i].DailyValue * meta_temp[8][0];
                                                                    break;

                                                                case 9:
                                                                    if (value[9][0] == null)
                                                                        value[9][0] = time; //[1][0] 날짜
                                                                    value[9][1] += result[i].DailyValue * meta_temp[9][0];
                                                                    break;

                                                                case 10:
                                                                    if (value[10][0] == null)
                                                                        value[10][0] = time; //[1][0] 날짜
                                                                    value[10][1] += result[i].DailyValue * meta_temp[10][0];
                                                                    break;

                                                                case 11:
                                                                    if (value[11][0] == null)
                                                                        value[11][0] = time; //[1][0] 날짜
                                                                    value[11][1] += result[i].DailyValue * meta_temp[11][0];
                                                                    break;

                                                                case 12:
                                                                    if (value[12][0] == null)
                                                                        value[12][0] = time; //[1][0] 날짜
                                                                    value[12][1] += result[i].DailyValue * meta_temp[12][0];
                                                                    break;
                                                            }
                                                        }
                                                        if (fueltypeId == 2) {
                                                            for (var i = 1; i < 13; i++) {
                                                                value[i][1] = value[i][1] * gasheatquantity;
                                                            }
                                                        }
                                                        var start_point = 13;
                                                        var end_point = 0;
                                                        for (var i = 1; i <= 12; i++) {
                                                            if (value[i][0] != null) {
                                                                if (start_point == 13)
                                                                    start_point = i;
                                                                end_point = i;
                                                            }
                                                        }
                                                        for (var i = start_point; i <= end_point; i++) {
                                                            if (value[i][0] != null) {
                                                                dataArray.push({
                                                                    DateTime: BWA.Chart.getCustermTimeArgumentAxisString(timeinterval, moment(value[i][0]).toDate()),
                                                                    Value: Math.round(value[i][1])
                                                                });
                                                            }
                                                            else
                                                                month_length--;
                                                        }
                                                        options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
                                                        options.dataSource = dataArray;
                                                        if (options.dataSource.length == (end_point - start_point + 1)) {
                                                            $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                            chart().option(options);
                                                        }
                                                    }
                                                    else {
                                                        utils.toast.show("[BemsMonitoringPointHistoryHourly] 정보가 없습니다");
                                                        $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                        return;
                                                    }
                                                });
                                            }
                                            else {
                                                utils.toast.show("[BemsEnergyCost] 정보가 없습니다");
                                                $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                return;
                                            }
                                        })
                                        .fail(function (error) {
                                            alert(error);
                                        });
                                    }
                                });
                            }
                            else {
                                var Temp_Formula = Formula.split('+');
                                var value = new Array(13);
                                for (var k = 0; k < 13; k++) {
                                    value[k] = new Array(2);
                                    value[k][1] = 0;
                                }
                                var month_length = 0;
                                var total = 1;
                                for (var i = 0; i < Temp_Formula.length; i++) {
                                    var dataSource2 = new DevExpress.data.DataSource({
                                        store: new DevExpress.data.ODataStore({
                                            url: endpointSelector + "/BemsFormulaParameter"
                                        }),
                                        requireTotalCount: true,
                                        pageSize: 1
                                    });
                                    dataSource2.filter([
                                            ["FacilityTypeId", "=", FacilityTypeId],
                                            "and",
                                            ["FormulaId", "=", FormulaId],
                                            "and",
                                            ["ParameterId", "=", Temp_Formula[i]]
                                    ]);
                                    dataSource2.load()
                                    .done(function (result) {
                                        if (result.length != 0) {
                                            var ParameterFacilityCode = result[0].ParameterFacilityCode;
                                            var ParameterPropertyId = result[0].ParameterPropertyId;

                                            var dataSource3 = new DevExpress.data.DataSource({
                                                store: new DevExpress.data.ODataStore({
                                                    url: endpointSelector + "/BemsEnergyCost"
                                                }),
                                                requireTotalCount: true,
                                                pageSize: 1
                                            });
                                            dataSource3.filter([
                                                   ["FacilityCode", "=", ParameterFacilityCode],
                                                   "and",
                                                   ["GasPriceTypeId", "=", pricetypeId],
                                                    "and",
                                                   ["IsUse", "=", true]
                                            ]);
                                            dataSource3.load()
                                            .done(function (result) {
                                                if (result.length != 0) {
                                                    var FacilityCode = result[0].FacilityCode;
                                                    var FacilityTypeId = result[0].FacilityTypeId;

                                                    var dataSource4 = new DevExpress.data.DataSource({
                                                        store: new DevExpress.data.ODataStore({
                                                            url: endpointSelector + "/BemsMonitoringPointHistoryDaily"
                                                        }),
                                                        requireTotalCount: true,
                                                        pageSize: 9000
                                                    });
                                                    dataSource4.filter([
                                                            ["CreatedDateTime", ">=", new Date(startday.getFullYear(), startday.getMonth(), startday.getDate(), 0, 0, 0)],
                                                            "and",
                                                            ["CreatedDateTime", "<=", new Date(endday.getFullYear(), endday.getMonth(), endday.getDate(), 23, 59, 59)],
                                                             "and",
                                                            ["FacilityCode", "=", FacilityCode],
                                                            "and",
                                                            ["PropertyId", "=", ParameterPropertyId],
                                                    ]);
                                                    dataSource4.sort({ getter: "CreatedDateTime", desc: true });
                                                    dataSource4.load()
                                                    .done(function (result) {
                                                        if (result.length != 0) {
                                                            var dataArray = [];
                                                            var meta_temp = Meta;
                                                            if (meta_temp == 0) {
                                                                options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
                                                                options.dataSource = dataArray
                                                                $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                                chart().option(options);
                                                                utils.toast.show("BemsPriceMeta 정보가 없습니다");
                                                                return;
                                                            }
                                                            month_length = endday.getMonth() - startday.getMonth() + 1;

                                                            for (var i = 0; i < result.length; i++) {

                                                                var time = result[i].CreatedDateTime;
                                                                switch (time.getMonth() + 1) {
                                                                    case 1:
                                                                        if (value[1][0] == null)
                                                                            value[1][0] = time; //[1][0] 날짜
                                                                        value[1][1] += result[i].DailyValue * meta_temp[1][0];
                                                                        break;

                                                                    case 2:
                                                                        if (value[2][0] == null)
                                                                            value[2][0] = time; //[2][0] 날짜
                                                                        value[2][1] += result[i].DailyValue * meta_temp[2][0];
                                                                        break;

                                                                    case 3:
                                                                        if (value[3][0] == null)
                                                                            value[3][0] = time; //[1][0] 날짜
                                                                        value[3][1] += result[i].DailyValue * meta_temp[3][0];
                                                                        break;

                                                                    case 4:
                                                                        if (value[4][0] == null)
                                                                            value[4][0] = time; //[1][0] 날짜
                                                                        value[4][1] += result[i].DailyValue * meta_temp[4][0];
                                                                        break;

                                                                    case 5:
                                                                        if (value[5][0] == null)
                                                                            value[5][0] = time; //[1][0] 날짜
                                                                        value[5][1] += result[i].DailyValue * meta_temp[5][0];
                                                                        break;

                                                                    case 6:
                                                                        if (value[6][0] == null)
                                                                            value[6][0] = time; //[1][0] 날짜
                                                                        value[6][1] += result[i].DailyValue * meta_temp[6][0];
                                                                        break;

                                                                    case 7:
                                                                        if (value[7][0] == null)
                                                                            value[7][0] = time; //[1][0] 날짜

                                                                        value[7][1] += result[i].DailyValue * meta_temp[7][0];
                                                                        break;

                                                                    case 8:
                                                                        if (value[8][0] == null)
                                                                            value[8][0] = time; //[1][0] 날짜
                                                                        value[8][1] += result[i].DailyValue * meta_temp[8][0];
                                                                        break;


                                                                    case 9:
                                                                        if (value[9][0] == null)
                                                                            value[9][0] = time; //[1][0] 날짜
                                                                        value[9][1] += result[i].DailyValue * meta_temp[9][0];
                                                                        break;

                                                                    case 10:
                                                                        if (value[10][0] == null)
                                                                            value[10][0] = time; //[1][0] 날짜
                                                                        value[10][1] += result[i].DailyValue * meta_temp[10][0];
                                                                        break;

                                                                    case 11:
                                                                        if (value[11][0] == null)
                                                                            value[11][0] = time; //[1][0] 날짜
                                                                        value[11][1] += result[i].DailyValue * meta_temp[11][0];
                                                                        break;

                                                                    case 12:
                                                                        if (value[12][0] == null)
                                                                            value[12][0] = time; //[1][0] 날짜
                                                                        value[12][1] += result[i].DailyValue * meta_temp[12][0];
                                                                        break;
                                                                }
                                                            }
                                                            if (gaspricetotal == total) {
                                                                if (fueltypeId == 2) {
                                                                    for (var i = 1; i < 13; i++) {
                                                                        value[i][1] = value[i][1] * gasheatquantity;
                                                                    }
                                                                }
                                                                var start_point = 13;
                                                                var end_point = 0;
                                                                for (var i = 1; i <= 12; i++) {
                                                                    if (value[i][0] != null) {
                                                                        if (start_point == 13)
                                                                            start_point = i;
                                                                        end_point = i;
                                                                    }
                                                                }
                                                                for (var i = start_point; i <= end_point; i++) {
                                                                    if (value[i][0] != null) {
                                                                        dataArray.push({
                                                                            DateTime: BWA.Chart.getCustermTimeArgumentAxisString(timeinterval, moment(value[i][0]).toDate()),
                                                                            Value: Math.round(value[i][1])
                                                                        });
                                                                    }
                                                                    else
                                                                        month_length--;
                                                                }
                                                                options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
                                                                options.dataSource = dataArray;
                                                                if (options.dataSource.length == (end_point - start_point + 1)) {
                                                                    $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                                    chart().option(options);
                                                                }
                                                            }
                                                        }
                                                        else {
                                                            utils.toast.show("[BemsMonitoringPointHistoryHourly] 정보가 없습니다");
                                                            $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                                                            return;
                                                        }
                                                        total++;
                                                    });
                                                }
                                            })
                                            .fail(function (error) {
                                                alert(error);
                                            });
                                        }
                                    });
                                }
                            }
                        }
                    }
                    else {
                        utils.toast.show("[BemsFormula] 정보가 없습니다");
                        return;
                    }
                });
            }
            else {
                $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
                utils.toast.show("[BemsPriceFormula] 정보가 없습니다");
                return;
            }
        });
    }

    function handleViewShown() {
        //$("#textbox").dxTextBox({
        //    text: "기본요금",
        //    disabled: true
        //});
        //$("#waterBtn").dxButton({
        //    visible: false
        //});
        //$("#textbox").dxTextBox('instance').option('visible', false);   //disvisible
        //$("#BasePrice").dxTextBox('instance').option('visible', false);//disvisible
        //$("#ApplyBtn").dxButton('instance').option('visible', false);//disvisible
        fueltypeId = 1;
        selectEnergy = "전력";
        $("#powerBtn").css("background-image", "linear-gradient(180deg,#9babc3 0%,#41618c 100%)");
        $("#gasBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
        $("#LoadPanel").dxLoadPanel({
            message: '로딩 중...',
            showIndicator: true,
            visible: false
        });
        setTabData(SiteID, 1, 'P038');   //초기화 전력 P038 기본요금   
        chart = chart(BWA.ChartOptions.ViewCostByEnergy.getChartOptions(timeinterval));
    }

    function setTabData(SiteID, FuelTypeId, InitPriceCode) {
        var dataSource = new DevExpress.data.DataSource({
            store: new DevExpress.data.ODataStore({
                url: endpointSelector + "/BemsSitePrice"
            }),
            expand: ['BemsPriceType'],
            requireTotalCount: true,
            pageSize: 1000
        });
        dataSource.filter([
                ["SiteID", "=", SiteID],
                "and",
                ["FuelTypeId", "=", FuelTypeId]
        ]);
        dataSource.sort({ getter: "FuelTypeId", asc: true });
        dataSource.load()
        .done(function (result) {
            var tmp = [];
            tmp.push({ id: result[0].BemsPriceType.PriceTypeId, text: result[0].BemsPriceType.PriceTypeIdDesc });
            pricetypeId = result[0].BemsPriceType.PriceTypeId;
            getChartData(); // 차트 정보 데이터 가져오기
            for (var i = 0; i < result.length; i++) {
                var resultCnt;
                for (var j = 0; j < tmp.length; j++) {
                    if (tmp[j].text.indexOf(result[i].BemsPriceType.PriceTypeIdDesc) != -1) {
                        resultCnt++;
                    }
                }
                if (resultCnt == 0)
                    tmp.push({ id: result[i].BemsPriceType.PriceTypeId, text: result[i].BemsPriceType.PriceTypeIdDesc });
                resultCnt = 0;
            }
            tabsData = tmp;
            $("#tabOptions").dxTabs("instance").option('dataSource', tabsData);
            if (!init) {
                $("#tabOptions").dxTabs("instance").option('selectedIndex', 0);
                init = true;
            } else {

            }

            if (InitPriceCode == null)
                InitPriceCode = 'P038'; //초기 PriceCode 전력 P038 청구요금
            getPriceMeta(result[0].BemsPriceType.PriceTypeId);
        });
    }

    function getPriceMeta(PriceTypeId) {
        Meta = new Array(13);
        for (var i = 1; i < 13; i++) {
            Meta[i] = new Array(24);
        }
        var dataSource = new DevExpress.data.DataSource({
            store: new DevExpress.data.ODataStore({
                url: endpointSelector + "/BemsPriceMeta"
            }),
            requireTotalCount: true,
            pageSize: 1
        });
        dataSource.filter([
                ["PriceTypeId", "=", PriceTypeId]
        ]);
        dataSource.sort({ getter: "PublishDate", desc: true });
        dataSource.load()
        .done(function (result) {
            if (result.length != 0) {
                PriceMeta = result[0];

                Meta[1][0] = PriceMeta.C01_00; Meta[1][1] = PriceMeta.C01_01; Meta[1][2] = PriceMeta.C01_02; Meta[1][3] = PriceMeta.C01_03; Meta[1][4] = PriceMeta.C01_04; Meta[1][5] = PriceMeta.C01_05; Meta[1][6] = PriceMeta.C01_06; Meta[1][7] = PriceMeta.C01_07; Meta[1][8] = PriceMeta.C01_08; Meta[1][9] = PriceMeta.C01_09; Meta[1][10] = PriceMeta.C01_10; Meta[1][11] = PriceMeta.C01_11; Meta[1][12] = PriceMeta.C01_12; Meta[1][13] = PriceMeta.C01_13; Meta[1][14] = PriceMeta.C01_14; Meta[1][15] = PriceMeta.C01_15; Meta[1][16] = PriceMeta.C01_16; Meta[1][17] = PriceMeta.C01_17; Meta[1][18] = PriceMeta.C01_18; Meta[1][19] = PriceMeta.C01_19; Meta[1][20] = PriceMeta.C01_20; Meta[1][21] = PriceMeta.C01_21; Meta[1][22] = PriceMeta.C01_22; Meta[1][23] = PriceMeta.C01_23;
                Meta[2][0] = PriceMeta.C02_00; Meta[2][1] = PriceMeta.C02_01; Meta[2][2] = PriceMeta.C02_02; Meta[2][3] = PriceMeta.C02_03; Meta[2][4] = PriceMeta.C02_04; Meta[2][5] = PriceMeta.C02_05; Meta[2][6] = PriceMeta.C02_06; Meta[2][7] = PriceMeta.C02_07; Meta[2][8] = PriceMeta.C02_08; Meta[2][9] = PriceMeta.C02_09; Meta[2][10] = PriceMeta.C02_10; Meta[2][11] = PriceMeta.C02_11; Meta[2][12] = PriceMeta.C02_12; Meta[2][13] = PriceMeta.C02_13; Meta[2][14] = PriceMeta.C02_14; Meta[2][15] = PriceMeta.C02_15; Meta[2][16] = PriceMeta.C02_16; Meta[2][17] = PriceMeta.C02_17; Meta[2][18] = PriceMeta.C02_18; Meta[2][19] = PriceMeta.C02_19; Meta[2][20] = PriceMeta.C02_20; Meta[2][21] = PriceMeta.C02_21; Meta[2][22] = PriceMeta.C02_22; Meta[2][23] = PriceMeta.C02_23;
                Meta[3][0] = PriceMeta.C03_00; Meta[3][1] = PriceMeta.C03_01; Meta[3][2] = PriceMeta.C03_02; Meta[3][3] = PriceMeta.C03_03; Meta[3][4] = PriceMeta.C03_04; Meta[3][5] = PriceMeta.C03_05; Meta[3][6] = PriceMeta.C03_06; Meta[3][7] = PriceMeta.C03_07; Meta[3][8] = PriceMeta.C03_08; Meta[3][9] = PriceMeta.C03_09; Meta[3][10] = PriceMeta.C03_10; Meta[3][11] = PriceMeta.C03_11; Meta[3][12] = PriceMeta.C03_12; Meta[3][13] = PriceMeta.C03_13; Meta[3][14] = PriceMeta.C03_14; Meta[3][15] = PriceMeta.C03_15; Meta[3][16] = PriceMeta.C03_16; Meta[3][17] = PriceMeta.C03_17; Meta[3][18] = PriceMeta.C03_18; Meta[3][19] = PriceMeta.C03_19; Meta[3][20] = PriceMeta.C03_20; Meta[3][21] = PriceMeta.C03_21; Meta[3][22] = PriceMeta.C03_22; Meta[3][23] = PriceMeta.C03_23;
                Meta[4][0] = PriceMeta.C04_00; Meta[4][1] = PriceMeta.C04_01; Meta[4][2] = PriceMeta.C04_02; Meta[4][3] = PriceMeta.C04_03; Meta[4][4] = PriceMeta.C04_04; Meta[4][5] = PriceMeta.C04_05; Meta[4][6] = PriceMeta.C04_06; Meta[4][7] = PriceMeta.C04_07; Meta[4][8] = PriceMeta.C04_08; Meta[4][9] = PriceMeta.C04_09; Meta[4][10] = PriceMeta.C04_10; Meta[4][11] = PriceMeta.C04_11; Meta[4][12] = PriceMeta.C04_12; Meta[4][13] = PriceMeta.C04_13; Meta[4][14] = PriceMeta.C04_14; Meta[4][15] = PriceMeta.C04_15; Meta[4][16] = PriceMeta.C04_16; Meta[4][17] = PriceMeta.C04_17; Meta[4][18] = PriceMeta.C04_18; Meta[4][19] = PriceMeta.C04_19; Meta[4][20] = PriceMeta.C04_20; Meta[4][21] = PriceMeta.C04_21; Meta[4][22] = PriceMeta.C04_22; Meta[4][23] = PriceMeta.C04_23;
                Meta[5][0] = PriceMeta.C05_00; Meta[5][1] = PriceMeta.C05_01; Meta[5][2] = PriceMeta.C05_02; Meta[5][3] = PriceMeta.C05_03; Meta[5][4] = PriceMeta.C05_04; Meta[5][5] = PriceMeta.C05_05; Meta[5][6] = PriceMeta.C05_06; Meta[5][7] = PriceMeta.C05_07; Meta[5][8] = PriceMeta.C05_08; Meta[5][9] = PriceMeta.C05_09; Meta[5][10] = PriceMeta.C05_10; Meta[5][11] = PriceMeta.C05_11; Meta[5][12] = PriceMeta.C05_12; Meta[5][13] = PriceMeta.C05_13; Meta[5][14] = PriceMeta.C05_14; Meta[5][15] = PriceMeta.C05_15; Meta[5][16] = PriceMeta.C05_16; Meta[5][17] = PriceMeta.C05_17; Meta[5][18] = PriceMeta.C05_18; Meta[5][19] = PriceMeta.C05_19; Meta[5][20] = PriceMeta.C05_20; Meta[5][21] = PriceMeta.C05_21; Meta[5][22] = PriceMeta.C05_22; Meta[5][23] = PriceMeta.C05_23;
                Meta[6][0] = PriceMeta.C06_00; Meta[6][1] = PriceMeta.C06_01; Meta[6][2] = PriceMeta.C06_02; Meta[6][3] = PriceMeta.C06_03; Meta[6][4] = PriceMeta.C06_04; Meta[6][5] = PriceMeta.C06_05; Meta[6][6] = PriceMeta.C06_06; Meta[6][7] = PriceMeta.C06_07; Meta[6][8] = PriceMeta.C06_08; Meta[6][9] = PriceMeta.C06_09; Meta[6][10] = PriceMeta.C06_10; Meta[6][11] = PriceMeta.C06_11; Meta[6][12] = PriceMeta.C06_12; Meta[6][13] = PriceMeta.C06_13; Meta[6][14] = PriceMeta.C06_14; Meta[6][15] = PriceMeta.C06_15; Meta[6][16] = PriceMeta.C06_16; Meta[6][17] = PriceMeta.C06_17; Meta[6][18] = PriceMeta.C06_18; Meta[6][19] = PriceMeta.C06_19; Meta[6][20] = PriceMeta.C06_20; Meta[6][21] = PriceMeta.C06_21; Meta[6][22] = PriceMeta.C06_22; Meta[6][23] = PriceMeta.C06_23;
                Meta[7][0] = PriceMeta.C07_00; Meta[7][1] = PriceMeta.C07_01; Meta[7][2] = PriceMeta.C07_02; Meta[7][3] = PriceMeta.C07_03; Meta[7][4] = PriceMeta.C07_04; Meta[7][5] = PriceMeta.C07_05; Meta[7][6] = PriceMeta.C07_06; Meta[7][7] = PriceMeta.C07_07; Meta[7][8] = PriceMeta.C07_08; Meta[7][9] = PriceMeta.C07_09; Meta[7][10] = PriceMeta.C07_10; Meta[7][11] = PriceMeta.C07_11; Meta[7][12] = PriceMeta.C07_12; Meta[7][13] = PriceMeta.C07_13; Meta[7][14] = PriceMeta.C07_14; Meta[7][15] = PriceMeta.C07_15; Meta[7][16] = PriceMeta.C07_16; Meta[7][17] = PriceMeta.C07_17; Meta[7][18] = PriceMeta.C07_18; Meta[7][19] = PriceMeta.C07_19; Meta[7][20] = PriceMeta.C07_20; Meta[7][21] = PriceMeta.C07_21; Meta[7][22] = PriceMeta.C07_22; Meta[7][23] = PriceMeta.C07_23;
                Meta[8][0] = PriceMeta.C08_00; Meta[8][1] = PriceMeta.C08_01; Meta[8][2] = PriceMeta.C08_02; Meta[8][3] = PriceMeta.C08_03; Meta[8][4] = PriceMeta.C08_04; Meta[8][5] = PriceMeta.C08_05; Meta[8][6] = PriceMeta.C08_06; Meta[8][7] = PriceMeta.C08_07; Meta[8][8] = PriceMeta.C08_08; Meta[8][9] = PriceMeta.C08_09; Meta[8][10] = PriceMeta.C08_10; Meta[8][11] = PriceMeta.C08_11; Meta[8][12] = PriceMeta.C08_12; Meta[8][13] = PriceMeta.C08_13; Meta[8][14] = PriceMeta.C08_14; Meta[8][15] = PriceMeta.C08_15; Meta[8][16] = PriceMeta.C08_16; Meta[8][17] = PriceMeta.C08_17; Meta[8][18] = PriceMeta.C08_18; Meta[8][19] = PriceMeta.C08_19; Meta[8][20] = PriceMeta.C08_20; Meta[8][21] = PriceMeta.C08_21; Meta[8][22] = PriceMeta.C08_22; Meta[8][23] = PriceMeta.C08_23;
                Meta[9][0] = PriceMeta.C09_00; Meta[9][1] = PriceMeta.C09_01; Meta[9][2] = PriceMeta.C09_02; Meta[9][3] = PriceMeta.C09_03; Meta[9][4] = PriceMeta.C09_04; Meta[9][5] = PriceMeta.C09_05; Meta[9][6] = PriceMeta.C09_06; Meta[9][7] = PriceMeta.C09_07; Meta[9][8] = PriceMeta.C09_08; Meta[9][9] = PriceMeta.C09_09; Meta[9][10] = PriceMeta.C09_10; Meta[9][11] = PriceMeta.C09_11; Meta[9][12] = PriceMeta.C09_12; Meta[9][13] = PriceMeta.C09_13; Meta[9][14] = PriceMeta.C09_14; Meta[9][15] = PriceMeta.C09_15; Meta[9][16] = PriceMeta.C09_16; Meta[9][17] = PriceMeta.C09_17; Meta[9][18] = PriceMeta.C09_18; Meta[9][19] = PriceMeta.C09_19; Meta[9][20] = PriceMeta.C09_20; Meta[9][21] = PriceMeta.C09_21; Meta[9][22] = PriceMeta.C09_22; Meta[9][23] = PriceMeta.C09_23;
                Meta[10][0] = PriceMeta.C10_00; Meta[10][1] = PriceMeta.C10_01; Meta[10][2] = PriceMeta.C10_02; Meta[10][3] = PriceMeta.C10_03; Meta[10][4] = PriceMeta.C10_04; Meta[10][5] = PriceMeta.C10_05; Meta[10][6] = PriceMeta.C10_06; Meta[10][7] = PriceMeta.C10_07; Meta[10][8] = PriceMeta.C10_08; Meta[10][9] = PriceMeta.C10_09; Meta[10][10] = PriceMeta.C10_10; Meta[10][11] = PriceMeta.C10_11; Meta[10][12] = PriceMeta.C10_12; Meta[10][13] = PriceMeta.C10_13; Meta[10][14] = PriceMeta.C10_14; Meta[10][15] = PriceMeta.C10_15; Meta[10][16] = PriceMeta.C10_16; Meta[10][17] = PriceMeta.C10_17; Meta[10][18] = PriceMeta.C10_18; Meta[10][19] = PriceMeta.C10_19; Meta[10][20] = PriceMeta.C10_20; Meta[10][21] = PriceMeta.C10_21; Meta[10][22] = PriceMeta.C10_22; Meta[10][23] = PriceMeta.C10_23;
                Meta[11][0] = PriceMeta.C11_00; Meta[11][1] = PriceMeta.C11_01; Meta[11][2] = PriceMeta.C11_02; Meta[11][3] = PriceMeta.C11_03; Meta[11][4] = PriceMeta.C11_04; Meta[11][5] = PriceMeta.C11_05; Meta[11][6] = PriceMeta.C11_06; Meta[11][7] = PriceMeta.C11_07; Meta[11][8] = PriceMeta.C11_08; Meta[11][9] = PriceMeta.C11_09; Meta[11][10] = PriceMeta.C11_10; Meta[11][11] = PriceMeta.C11_11; Meta[11][12] = PriceMeta.C11_12; Meta[11][13] = PriceMeta.C11_13; Meta[11][14] = PriceMeta.C11_14; Meta[11][15] = PriceMeta.C11_15; Meta[11][16] = PriceMeta.C11_16; Meta[11][17] = PriceMeta.C11_17; Meta[11][18] = PriceMeta.C11_18; Meta[11][19] = PriceMeta.C11_19; Meta[11][20] = PriceMeta.C11_20; Meta[11][21] = PriceMeta.C11_21; Meta[11][22] = PriceMeta.C11_22; Meta[11][23] = PriceMeta.C11_23;
                Meta[12][0] = PriceMeta.C12_00; Meta[12][1] = PriceMeta.C12_01; Meta[12][2] = PriceMeta.C12_02; Meta[12][3] = PriceMeta.C12_03; Meta[12][4] = PriceMeta.C12_04; Meta[12][5] = PriceMeta.C12_05; Meta[12][6] = PriceMeta.C12_06; Meta[12][7] = PriceMeta.C12_07; Meta[12][8] = PriceMeta.C12_08; Meta[12][9] = PriceMeta.C12_09; Meta[12][10] = PriceMeta.C12_10; Meta[12][11] = PriceMeta.C12_11; Meta[12][12] = PriceMeta.C12_12; Meta[12][13] = PriceMeta.C12_13; Meta[12][14] = PriceMeta.C12_14; Meta[12][15] = PriceMeta.C12_15; Meta[12][16] = PriceMeta.C12_16; Meta[12][17] = PriceMeta.C12_17; Meta[12][18] = PriceMeta.C12_18; Meta[12][19] = PriceMeta.C12_19; Meta[12][20] = PriceMeta.C12_20; Meta[12][21] = PriceMeta.C12_21; Meta[12][22] = PriceMeta.C12_22; Meta[12][23] = PriceMeta.C12_23;

                getBasePrice(SiteID, fueltypeId, pricetypeId);
            }
            else {
                Meta = 0;
                return;
            }
        })
        .fail(function (error) {
            alert(error);
        });
    }
    function getBasePrice(SiteId, FuelTypeId, PricetypeId) {
        var PriceCode;
        if (FuelTypeId == 1) {
            PriceCode = "P022";
            /*       
            var dataSource = new DevExpress.data.DataSource({
                store: new DevExpress.data.ODataStore({
                    url: endpointSelector + "/BemsSitePriceHistory"
                }),
                expand: ['BemsPriceCode', 'BemsPriceType'],
                requireTotalCount: true,
                pageSize: 1
            });
            dataSource.filter([
                    ["SiteId", "=", SiteId],
                    "and",
                    ["PriceTypeId", "=", PricetypeId],
                    "and",
                    ["PriceCode", "=", PriceCode]
            ]);
            dataSource.sort({ getter: "EndDate", desc: true });
            dataSource.load()
            .done(function (result) {
                if (fueltypeId == 1) {
                    if (result.length != 0) {
                        $("#BasePrice").dxTextBox({
                            placeholder: "기본요금"
                        });
                        baseprice = result[0].PriceValue;
                        $("#BasePrice").dxTextBox('instance').option('value', "\\" + numberWithCommas(baseprice));
                    }
                    else {
                        $("#BasePrice").dxTextBox({
                            placeholder: "기본요금"
                        });
                        baseprice = 0;
                        $("#BasePrice").dxTextBox('instance').option('value', null);
                        utils.toast.show("기본요금 정보가 없습니다");
                        return;
                    }
                    $("#gasBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
                    $("#waterBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
                    $("#powerBtn").css("background-image", "linear-gradient(180deg,#9babc3 0%,#41618c 100%)");
                    $("#textbox").dxTextBox('instance').option('visible', true);
                    $("#BasePrice").dxTextBox('instance').option('visible', true);
                    $("#ApplyBtn").dxButton('instance').option('visible', true);
                }
            })
            .fail(function (error) {
                alert(error);
            });
            */
        }
        else if (FuelTypeId == 2) {
            var dataSource = new DevExpress.data.DataSource({
                store: new DevExpress.data.ODataStore({
                    url: endpointSelector + "/BemsEnergyCost"
                }),
                requireTotalCount: true,
                pageSize: 10
            });
            dataSource.filter([
                    ["GasPriceTypeId", "=", PricetypeId],
                    "and",
                    ["IsUse", "=", true]
            ]);
            dataSource.load()
            .done(function (result) {
                gasheatquantity = 0, gaspricetotal = 0;
                gaspricetotal = result.length;
                gasheatquantity = result[0].GasHeatQuantity;
            })
            .fail(function (error) {
                alert(error);
            });
            $("#powerBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
            $("#waterBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
            $("#gasBtn").css("background-image", "linear-gradient(180deg,#9babc3 0%,#41618c 100%)");
            //$("#textbox").dxTextBox('instance').option('visible', false);
            //$("#BasePrice").dxTextBox('instance').option('visible', false);
            //$("#ApplyBtn").dxButton('instance').option('visible', false);
        }
        else {
            PriceCode = "W001";
        }
    }
    function numberWithCommas(x) {
        return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    }

    var searchViewOptions = {

    };

    function handleSearchInSearchView() {

    }

    var viewModel = $.extend(BWA.CommonView.create(params, viewInfo, searchViewOptions, ko.observable(null), handleViewShown, null, handleSearchInSearchView),
        {
            viewShowing: handleViewShowing,
            powerButtonClicked: function () {
                selectEnergy = "전력";
                fueltypeId = 1;
                $("#powerBtn").css("background-image", "linear-gradient(180deg,#9babc3 0%,#41618c 100%)");
                $("#gasBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");

                //$("#waterBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)"); 
                //$("#textbox").dxTextBox('instance').option('visible', false);   //disvisible
                //$("#BasePrice").dxTextBox('instance').option('visible', false);//disvisible
                //$("#ApplyBtn").dxButton('instance').option('visible', false);//disvisible
                init = false;
                setTabData(SiteID, 1, 'P038');
                //getChartData();
            }, gasButtonClicked: function () {
                selectEnergy = "가스";
                fueltypeId = 2;
                $("#powerBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
                $("#gasBtn").css("background-image", "linear-gradient(180deg,#9babc3 0%,#41618c 100%)");
                //$("#waterBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
                //$("#textbox").dxTextBox('instance').option('visible', false);
                //$("#BasePrice").dxTextBox('instance').option('visible', false);
                //$("#ApplyBtn").dxButton('instance').option('visible', false);
                init = false;
                setTabData(SiteID, 2, 'G005');
                //getChartData();
            }, waterButtonClicked: function () {
                selectEnergy = "수도";
                fueltypeId = 3;
                $("#powerBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
                $("#gasBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
                $("#waterBtn").css("background-image", "linear-gradient(180deg,#9babc3 0%,#41618c 100%)");
                init = false;
                setTabData(SiteID, 3, 'W006');
                //getChartData();
            },
            //applyButtonClicked: function () {
            //    var temp_baseprice = $("#BasePrice").dxTextBox('instance').option('value');
            //    temp_baseprice = temp_baseprice.replace(/[^0-9\.]+/g, "");

            //    var datasource = options.dataSource;
            //    var datasource_temp = [];
            //    var start_point = 13;
            //    var end_point = 0;
            //    var end_point_temp = 0;
            //    var changed = true;

            //    for (var i = 0; i < datasource.length; i++) {
            //        if (datasource[i].Value != null) {
            //            if (changed) {
            //                start_point = i
            //                changed = false;
            //            }
            //            end_point = i;
            //        }
            //    }
            //    for (var i = start_point; i <= end_point; i++) {
            //        datasource_temp.push({
            //            DateTime: datasource[i].DateTime,
            //            basic: Math.round(temp_baseprice)
            //        });
            //    }
            //    for (var i = start_point; i <= end_point; i++) {
            //        datasource_temp.push({
            //            DateTime: datasource[i].DateTime,
            //            Value: datasource[i].Value,
            //        });
            //    }
            //    options.dataSource = datasource_temp;
            //    chart().option(options);
            //},
            tabOptions: {
                dataSource: tabsData,
                height: 20,
                selectedIndex: 0,
                onSelectionChanged: function (e) {
                    if (init) {
                        if (selectEnergy == "전력") {
                            fueltypeId = 1;
                        } else if (selectEnergy == "가스") {
                            fueltypeId = 2;
                        } else if (selectEnergy == "수도") {
                            fueltypeId = 3;
                        } else {
                            utils.toast.show("에너지원이 선택되지 않았습니다.");
                        }
                        if (init && PublishDate != null) {
                            pricetypeId = e.addedItems[0].id;
                            getPriceMeta(pricetypeId); // e.addedItems[0].id = PriceTypeId
                            getChartData();
                        }
                    }
                }
            },
            startDatePicker: {
                pickerType: "calendar",
                value: firstDay,
                formatString: "yyyy년",
                maxZoomLevel: "decade",
                width: "9%",
                onValueChanged: function (e) {
                    if (selectEnergy == "전력") {
                        fueltypeId = 1;
                    } else if (selectEnergy == "가스") {
                        fueltypeId = 2;
                    } else if (selectEnergy == "수도") {
                        fueltypeId = 3;
                    } else {
                        utils.toast.show("에너지원이 선택되지 않았습니다.");
                    }
                    var PublishDateInit = $("#PublishDate").dxDateBox("instance").option('value');
                    selectdate = PublishDateInit;
                    getChartData();
                }
            }
        });
    return viewModel;
};