BemsWebApplication.PlanNoticePrice = function (params, viewInfo) { var init = false; var selectEnergy = "전력"; var PublishDate = ""; var PublishDateDataSource = [{ PublishDate: '', DisplayDate : '' }]; 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 tabsData = [ { id: "0", text: "test1" }, { id: "1", text: "test2" }, { id: "2", text: "test3" } ]; var price = [{ "시간": 0 }, { "시간": 1 }, { "시간": 2 }, { "시간": 3 }, { "시간": 4 }, { "시간": 5 }, { "시간": 6 }, { "시간": 7 }, { "시간": 8 }, { "시간": 9 }, { "시간": 10 }, { "시간": 11 }, { "시간": 12 }, { "시간": 13 }, { "시간": 14 }, { "시간": 15 }, { "시간": 16 }, { "시간": 17 }, { "시간": 18 }, { "시간": 19 }, { "시간": 20 }, { "시간": 21 }, { "시간": 22 }, { "시간": 23 }]; 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 }); 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 { } //getPriceData(BWA.UserInfo.SiteId(), FuelTypeId); if (InitPriceCode == null) InitPriceCode = 'P038'; //초기 PriceCode 전력 P038 청구요금 //setFactorSelect(InitPriceCode); //getcompareData(BWA.UserInfo.SiteId(), FuelTypeId, tmpDate.getFullYear()); getPublishDate(result[0].BemsPriceType.PriceTypeId); }); } function numberWithCommas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); } function getPriceMeta(PriceTypeId, PublishDate) { var dataSource = new DevExpress.data.DataSource({ store: new DevExpress.data.ODataStore({ url: endpointSelector + "/BemsPriceMeta" }), requireTotalCount: true, pageSize: 300 }); dataSource.filter([ ["PriceTypeId", "=", PriceTypeId], "and", ["PublishDate", "=", PublishDate] //"and", //["PriceCode", "=", PriceCode] ]); dataSource.load() .done(function (result) { //setting to grid $('#BasePrice').text("\\" + numberWithCommas(result[0].BasePrice)); var tmpDataSource = [{ "시간": 0, "1월": result[0].C01_00, "2월": result[0].C02_00, "3월": result[0].C03_00, "4월": result[0].C04_00, "5월": result[0].C05_00, "6월": result[0].C06_00, "7월": result[0].C07_00, "8월": result[0].C08_00, "9월": result[0].C09_00, "10월": result[0].C10_00, "11월": result[0].C11_00, "12월": result[0].C12_00 }, { "시간": 1, "1월": result[0].C01_01, "2월": result[0].C02_01, "3월": result[0].C03_01, "4월": result[0].C04_01, "5월": result[0].C05_01, "6월": result[0].C06_01, "7월": result[0].C07_01, "8월": result[0].C08_01, "9월": result[0].C09_01, "10월": result[0].C10_01, "11월": result[0].C11_01, "12월": result[0].C12_01 }, { "시간": 2, "1월": result[0].C01_02, "2월": result[0].C02_02, "3월": result[0].C03_02, "4월": result[0].C04_02, "5월": result[0].C05_02, "6월": result[0].C06_02, "7월": result[0].C07_02, "8월": result[0].C08_02, "9월": result[0].C09_02, "10월": result[0].C10_02, "11월": result[0].C11_02, "12월": result[0].C12_02 }, { "시간": 3, "1월": result[0].C01_03, "2월": result[0].C02_03, "3월": result[0].C03_03, "4월": result[0].C04_03, "5월": result[0].C05_03, "6월": result[0].C06_03, "7월": result[0].C07_03, "8월": result[0].C08_03, "9월": result[0].C09_03, "10월": result[0].C10_03, "11월": result[0].C11_03, "12월": result[0].C12_03 }, { "시간": 4, "1월": result[0].C01_04, "2월": result[0].C02_04, "3월": result[0].C03_04, "4월": result[0].C04_04, "5월": result[0].C05_04, "6월": result[0].C06_04, "7월": result[0].C07_04, "8월": result[0].C08_04, "9월": result[0].C09_04, "10월": result[0].C10_04, "11월": result[0].C11_04, "12월": result[0].C12_04 }, { "시간": 5, "1월": result[0].C01_05, "2월": result[0].C02_05, "3월": result[0].C03_05, "4월": result[0].C04_05, "5월": result[0].C05_05, "6월": result[0].C06_05, "7월": result[0].C07_05, "8월": result[0].C08_05, "9월": result[0].C09_05, "10월": result[0].C10_05, "11월": result[0].C11_05, "12월": result[0].C12_05 }, { "시간": 6, "1월": result[0].C01_06, "2월": result[0].C02_06, "3월": result[0].C03_06, "4월": result[0].C04_06, "5월": result[0].C05_06, "6월": result[0].C06_06, "7월": result[0].C07_06, "8월": result[0].C08_06, "9월": result[0].C09_06, "10월": result[0].C10_06, "11월": result[0].C11_06, "12월": result[0].C12_06 }, { "시간": 7, "1월": result[0].C01_07, "2월": result[0].C02_07, "3월": result[0].C03_07, "4월": result[0].C04_07, "5월": result[0].C05_07, "6월": result[0].C06_07, "7월": result[0].C07_07, "8월": result[0].C08_07, "9월": result[0].C09_07, "10월": result[0].C10_07, "11월": result[0].C11_07, "12월": result[0].C12_07 }, { "시간": 8, "1월": result[0].C01_08, "2월": result[0].C02_08, "3월": result[0].C03_08, "4월": result[0].C04_08, "5월": result[0].C05_08, "6월": result[0].C06_08, "7월": result[0].C07_08, "8월": result[0].C08_08, "9월": result[0].C09_08, "10월": result[0].C10_08, "11월": result[0].C11_08, "12월": result[0].C12_08 }, { "시간": 9, "1월": result[0].C01_09, "2월": result[0].C02_09, "3월": result[0].C03_09, "4월": result[0].C04_09, "5월": result[0].C05_09, "6월": result[0].C06_09, "7월": result[0].C07_09, "8월": result[0].C08_09, "9월": result[0].C09_09, "10월": result[0].C10_09, "11월": result[0].C11_09, "12월": result[0].C12_09 }, { "시간": 10, "1월": result[0].C01_10, "2월": result[0].C02_10, "3월": result[0].C03_10, "4월": result[0].C04_10, "5월": result[0].C05_10, "6월": result[0].C06_10, "7월": result[0].C07_10, "8월": result[0].C08_10, "9월": result[0].C09_10, "10월": result[0].C10_10, "11월": result[0].C11_10, "12월": result[0].C12_10 }, { "시간": 11, "1월": result[0].C01_11, "2월": result[0].C02_11, "3월": result[0].C03_11, "4월": result[0].C04_11, "5월": result[0].C05_11, "6월": result[0].C06_11, "7월": result[0].C07_11, "8월": result[0].C08_11, "9월": result[0].C09_11, "10월": result[0].C10_11, "11월": result[0].C11_11, "12월": result[0].C12_11 }, { "시간": 12, "1월": result[0].C01_12, "2월": result[0].C02_12, "3월": result[0].C03_12, "4월": result[0].C04_12, "5월": result[0].C05_12, "6월": result[0].C06_12, "7월": result[0].C07_12, "8월": result[0].C08_12, "9월": result[0].C09_12, "10월": result[0].C10_12, "11월": result[0].C11_12, "12월": result[0].C12_12 }, { "시간": 13, "1월": result[0].C01_13, "2월": result[0].C02_13, "3월": result[0].C03_13, "4월": result[0].C04_13, "5월": result[0].C05_13, "6월": result[0].C06_13, "7월": result[0].C07_13, "8월": result[0].C08_13, "9월": result[0].C09_13, "10월": result[0].C10_13, "11월": result[0].C11_13, "12월": result[0].C12_13 }, { "시간": 14, "1월": result[0].C01_14, "2월": result[0].C02_14, "3월": result[0].C03_14, "4월": result[0].C04_14, "5월": result[0].C05_14, "6월": result[0].C06_14, "7월": result[0].C07_14, "8월": result[0].C08_14, "9월": result[0].C09_14, "10월": result[0].C10_14, "11월": result[0].C11_14, "12월": result[0].C12_14 }, { "시간": 15, "1월": result[0].C01_15, "2월": result[0].C02_15, "3월": result[0].C03_15, "4월": result[0].C04_15, "5월": result[0].C05_15, "6월": result[0].C06_15, "7월": result[0].C07_15, "8월": result[0].C08_15, "9월": result[0].C09_15, "10월": result[0].C10_15, "11월": result[0].C11_15, "12월": result[0].C12_15 }, { "시간": 16, "1월": result[0].C01_16, "2월": result[0].C02_16, "3월": result[0].C03_16, "4월": result[0].C04_16, "5월": result[0].C05_16, "6월": result[0].C06_16, "7월": result[0].C07_16, "8월": result[0].C08_16, "9월": result[0].C09_16, "10월": result[0].C10_16, "11월": result[0].C11_16, "12월": result[0].C12_16 }, { "시간": 17, "1월": result[0].C01_17, "2월": result[0].C02_17, "3월": result[0].C03_17, "4월": result[0].C04_17, "5월": result[0].C05_17, "6월": result[0].C06_17, "7월": result[0].C07_17, "8월": result[0].C08_17, "9월": result[0].C09_17, "10월": result[0].C10_17, "11월": result[0].C11_17, "12월": result[0].C12_17 }, { "시간": 18, "1월": result[0].C01_18, "2월": result[0].C02_18, "3월": result[0].C03_18, "4월": result[0].C04_18, "5월": result[0].C05_18, "6월": result[0].C06_18, "7월": result[0].C07_18, "8월": result[0].C08_18, "9월": result[0].C09_18, "10월": result[0].C10_18, "11월": result[0].C11_18, "12월": result[0].C12_18 }, { "시간": 19, "1월": result[0].C01_19, "2월": result[0].C02_19, "3월": result[0].C03_19, "4월": result[0].C04_19, "5월": result[0].C05_19, "6월": result[0].C06_19, "7월": result[0].C07_19, "8월": result[0].C08_19, "9월": result[0].C09_19, "10월": result[0].C10_19, "11월": result[0].C11_19, "12월": result[0].C12_19 }, { "시간": 20, "1월": result[0].C01_20, "2월": result[0].C02_20, "3월": result[0].C03_20, "4월": result[0].C04_20, "5월": result[0].C05_20, "6월": result[0].C06_20, "7월": result[0].C07_20, "8월": result[0].C08_20, "9월": result[0].C09_20, "10월": result[0].C10_20, "11월": result[0].C11_20, "12월": result[0].C12_20 }, { "시간": 21, "1월": result[0].C01_21, "2월": result[0].C02_21, "3월": result[0].C03_21, "4월": result[0].C04_21, "5월": result[0].C05_21, "6월": result[0].C06_21, "7월": result[0].C07_21, "8월": result[0].C08_21, "9월": result[0].C09_21, "10월": result[0].C10_21, "11월": result[0].C11_21, "12월": result[0].C12_21 }, { "시간": 22, "1월": result[0].C01_22, "2월": result[0].C02_22, "3월": result[0].C03_22, "4월": result[0].C04_22, "5월": result[0].C05_22, "6월": result[0].C06_22, "7월": result[0].C07_22, "8월": result[0].C08_22, "9월": result[0].C09_22, "10월": result[0].C10_22, "11월": result[0].C11_22, "12월": result[0].C12_22 }, { "시간": 23, "1월": result[0].C01_23, "2월": result[0].C02_23, "3월": result[0].C03_23, "4월": result[0].C04_23, "5월": result[0].C05_23, "6월": result[0].C06_23, "7월": result[0].C07_23, "8월": result[0].C08_23, "9월": result[0].C09_23, "10월": result[0].C10_23, "11월": result[0].C11_23, "12월": result[0].C12_23 }]; $("#dataGrid").dxDataGrid("instance").option('dataSource', tmpDataSource); }) .fail(function (error) { alert(error); }); } function getPublishDate(PriceTypeId) { var dataSource = new DevExpress.data.DataSource({ store: new DevExpress.data.ODataStore({ url: endpointSelector + "/BemsPriceMeta" }), requireTotalCount: true, pageSize: 300 }); dataSource.filter([ ["PriceTypeId", "=", PriceTypeId] ]); dataSource.sort({ getter: "PublishDate", desc: true }); dataSource.load() .done(function (result) { PublishDate = result[0].PublishDate; var tmpArray = []; for (var i = 0; i < result.length; i++) { var setDate = (result[i].PublishDate).getFullYear() + "년 " + ((result[i].PublishDate).getMonth() + 1) + "월 " + (result[i].PublishDate).getDate() + "일"; tmpArray.push({ PublishDate: result[i].PublishDate, DisplayDate: setDate }); } $("#PublishDate").dxSelectBox("instance").option('dataSource', tmpArray); $("#PublishDate").dxSelectBox("instance").option('displayExpr', 'DisplayDate'); $("#PublishDate").dxSelectBox("instance").option('valueExpr', 'PublishDate'); if(init && PublishDate != null){ $("#PublishDate").dxSelectBox("instance").option('value', PublishDate); getPriceMeta(tabsData[parseInt($("#tabOptions").dxTabs("instance").option('selectedIndex'))].id, PublishDate); } //$("#PublishDate").text(tmp.getFullYear() + "년 " + tmp.getMonth() + 1 + "월 " + tmp.getDate() + "일"); }) .fail(function (error) { alert(error); }); } function handleViewShown() { init = false; setTabData(BWA.UserInfo.SiteId(), 1, 'P038'); //초기화 전력 P038 청구요금 //setFactorSelect('P038'); //getPriceData(BWA.UserInfo.SiteId(), 1); //getcompareData(BWA.UserInfo.SiteId(), 1, tmpDate.getFullYear()); $("#dataGrid").dxDataGrid({ paging: { pageSize: 14, enabled: true } }); } var searchViewOptions = { }; function handleSearchInSearchView() { } var viewModel = $.extend(BWA.CommonView.create(params, viewInfo, searchViewOptions, ko.observable(null), handleViewShown, null, handleSearchInSearchView), { dataGrid: { dataSource: price, height: 530, columns: ["시간", "1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], //scrolling: { // mode: 'standard' //}, //paging: { enabled: false} }, powerButtonClicked: function () { selectEnergy == "전력" $("#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%)"); init = false; setTabData(BWA.UserInfo.SiteId(), 1, 'P038'); }, gasButtonClicked: function () { selectEnergy == "가스" $("#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%)"); init = false; setTabData(BWA.UserInfo.SiteId(), 2, 'G005'); }, waterButtonClicked: function () { selectEnergy == "수도" $("#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(BWA.UserInfo.SiteId(), 3, 'W006'); }, tabOptions: { //theme: 'CustomTheme', dataSource: tabsData, height: 20, selectedIndex: 0, onSelectionChanged: function (e) { //$("#priceSelect").dxSelectBox("instance").option('value', e.addedItems[0].id); //selectedItem = e.addedItems[0]; if (init) { var FuelTypeId; if (selectEnergy == "전력") { FuelTypeId = 1; } else if (selectEnergy == "가스") { FuelTypeId = 2; } else if (selectEnergy == "수도") { FuelTypeId = 3; } else { utils.toast.show("에너지원이 선택되지 않았습니다."); } /*var tmpDate = $("#startDatePicker").dxDateBox("instance").option('value'); var month = tmpDate.getMonth() + 1; if (month < 10) { month = "0" + month.toString(); } var endDay = 32 - new Date(tmpDate.getFullYear(), tmpDate.getMonth(), 32).getDate();*/ //setTabData(BWA.UserInfo.SiteId(), 1, 'P038'); if (init && PublishDate != null) { getPublishDate(e.addedItems[0].id); //getPriceMeta(tabsData[parseInt($("#tabOptions").dxTabs("instance").option('selectedIndex'))].id, PublishDate); } } } }, PublishDate: { dataSource: PublishDateDataSource, onValueChanged: function (e) { var FuelTypeId; if (selectEnergy == "전력") { FuelTypeId = 1; } else if (selectEnergy == "가스") { FuelTypeId = 2; } else if (selectEnergy == "수도") { FuelTypeId = 3; } else { utils.toast.show("에너지원이 선택되지 않았습니다."); } var PublishDateInit = $("#PublishDate").dxSelectBox("instance").option('value'); if (init && PublishDate != null && PublishDateInit != null) { PublishDate = $("#PublishDate").dxSelectBox("instance").option('value'); getPriceMeta(tabsData[parseInt($("#tabOptions").dxTabs("instance").option('selectedIndex'))].id, PublishDate); //getPublishDate(e.addedItems[0].id); } } } /*viewShown: function () { var endpointSelector = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints); $('#price').attr('src', endpointSelector.urlFor('partial') + '/price'); $SideMenu.showSideMenuIfWill(params.view); }*/ }); return viewModel; };