7a44f510c811a209605027e63da24ce2e13d792a.svn-base 166 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832
  1. BemsWebApplication.ViewCostByEnergy = function (params, viewInfo) {
  2. var endpointSelector = "";
  3. if (BemsWebApplication.config.mode == "production") {
  4. endpointSelector = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints).config.db.production;
  5. } else {
  6. endpointSelector = new DevExpress.EndpointSelector(BemsWebApplication.config.endpoints).config.db.local;
  7. }
  8. var init = false;
  9. var selectEnergy = "전력";
  10. var PublishDate = "";
  11. var tabsData = [
  12. {
  13. id: "0",
  14. text: "test1"
  15. },
  16. {
  17. id: "1",
  18. text: "test2"
  19. },
  20. {
  21. id: "2",
  22. text: "test3"
  23. }
  24. ];
  25. var fueltypeId = 1;
  26. var firstDay = new Date();
  27. var chart = BWA.Chart.Instance('chartViewCostByEnergy', 'dxChart');
  28. var SiteID = BWA.UserInfo.SiteId();
  29. var formulaGet = new BWA.Chart.FormulaGet(SiteID);
  30. var pointHistoryGet = new BWA.Chart.PointHistoryGet(SiteID);
  31. var selectdate;
  32. var baseprice = 0;
  33. var pricetypeId;
  34. var timeinterval = $Code.TimeType.MONTH;
  35. var PriceMeta;
  36. var Meta = new Array(13);
  37. for (var i = 1; i < 13; i++) {
  38. Meta[i] = new Array(24);
  39. }
  40. var options;
  41. var gasheatquantity;
  42. var gaspricetotal;
  43. function handleViewShowing() {
  44. chart = BWA.Chart.Instance('chartViewCostByEnergy', 'dxChart');
  45. init = false;
  46. fueltypeId = 1;
  47. //$("#BasePrice").dxTextBox({
  48. // placeholder: "기본요금"
  49. //});
  50. //$("#textbox").dxTextBox({
  51. // text: "기본요금"
  52. //});
  53. }
  54. function getChartData() {
  55. $("#LoadPanel").dxLoadPanel('instance').option('visible', true);
  56. var endday;
  57. var startday;
  58. if (selectdate == null) {
  59. endday = new Date();
  60. startday = new Date('1/1/' + endday.getFullYear());
  61. }
  62. else {
  63. if (selectdate.getFullYear() == new Date().getFullYear()) {
  64. endday = new Date();
  65. startday = new Date('1/1/' + selectdate.getFullYear());
  66. }
  67. else {
  68. endday = new Date('12/31/' + selectdate.getFullYear());
  69. startday = new Date('1/1/' + selectdate.getFullYear());
  70. }
  71. }
  72. var dataSource = new DevExpress.data.DataSource({
  73. store: new DevExpress.data.ODataStore({
  74. url: endpointSelector + "/BemsPriceFormula"
  75. }),
  76. requireTotalCount: true,
  77. pageSize: 1
  78. });
  79. dataSource.filter([
  80. ["SiteId", "=", SiteID],
  81. "and",
  82. ["PriceTypeId", "=", pricetypeId]
  83. ]);
  84. dataSource.load()
  85. .done(function (result) {
  86. if (result.length != 0) {
  87. var FacilityTypeId = result[0].FacilityTypeId;
  88. var FormulaId = result[0].FormulaId;
  89. var dataSource1 = new DevExpress.data.DataSource({
  90. store: new DevExpress.data.ODataStore({
  91. url: endpointSelector + "/BemsFormula"
  92. }),
  93. requireTotalCount: true,
  94. pageSize: 1
  95. });
  96. dataSource1.filter([
  97. ["FacilityTypeId", "=", FacilityTypeId],
  98. "and",
  99. ["FormulaId", "=", FormulaId]
  100. ]);
  101. dataSource1.load()
  102. .done(function (result) {
  103. if (result.length != 0) {
  104. if (fueltypeId == 1) { //전력
  105. var Formula = result[0].Formula;
  106. if (Formula.length == 1) {
  107. var dataSource2 = new DevExpress.data.DataSource({
  108. store: new DevExpress.data.ODataStore({
  109. url: endpointSelector + "/BemsFormulaParameter"
  110. }),
  111. requireTotalCount: true,
  112. pageSize: 1
  113. });
  114. dataSource2.filter([
  115. ["FacilityTypeId", "=", FacilityTypeId],
  116. "and",
  117. ["FormulaId", "=", FormulaId],
  118. "and",
  119. ["ParameterId", "=", Formula]
  120. ]);
  121. dataSource2.load()
  122. .done(function (result) {
  123. if (result.length != 0) {
  124. var ParameterFacilityCode = result[0].ParameterFacilityCode;
  125. var ParameterPropertyId = result[0].ParameterPropertyId;
  126. var dataSource3 = new DevExpress.data.DataSource({
  127. store: new DevExpress.data.ODataStore({
  128. url: endpointSelector + "/BemsMonitoringPointHistoryHourly"
  129. }),
  130. requireTotalCount: true,
  131. pageSize: 9000
  132. });
  133. dataSource3.filter([
  134. ["CreatedDateTime", ">=", new Date(startday.getFullYear(), startday.getMonth(), startday.getDate(), 0, 0, 0)],
  135. "and",
  136. ["CreatedDateTime", "<=", new Date(endday.getFullYear(), endday.getMonth(), endday.getDate(), 23, 59, 59)],
  137. "and",
  138. ["FacilityCode", "=", ParameterFacilityCode],
  139. "and",
  140. ["PropertyId", "=", ParameterPropertyId],
  141. ]);
  142. dataSource3.sort({ getter: "CreatedDateTime", asc: true });
  143. dataSource3.load()
  144. .done(function (result) {
  145. if (result.length != 0) {
  146. var dataArray = [];
  147. var meta_temp = Meta;
  148. if (meta_temp == 0) {
  149. options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
  150. options.dataSource = dataArray
  151. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  152. chart().option(options);
  153. utils.toast.show("BemsPriceMeta 정보가 없습니다");
  154. return;
  155. }
  156. var month_length = endday.getMonth() - startday.getMonth() + 1;
  157. var value = new Array(13);
  158. for (var k = 0; k < 13; k++) {
  159. value[k] = new Array(2);
  160. value[k][1] = 0;
  161. }
  162. for (var i = 0; i < result.length; i++) {
  163. var time = result[i].CreatedDateTime;
  164. switch (time.getMonth() + 1) {
  165. case 1:
  166. if (value[1][0] == null)
  167. value[1][0] = time; //[1][0] 날짜
  168. switch (time.getHours()) { //[1][1] 값
  169. case 0: value[1][1] += result[i].CurrentValue * meta_temp[1][0]; break;
  170. case 1: value[1][1] += result[i].CurrentValue * meta_temp[1][1]; break;
  171. case 2: value[1][1] += result[i].CurrentValue * meta_temp[1][2]; break;
  172. case 3: value[1][1] += result[i].CurrentValue * meta_temp[1][3]; break;
  173. case 4: value[1][1] += result[i].CurrentValue * meta_temp[1][4]; break;
  174. case 5: value[1][1] += result[i].CurrentValue * meta_temp[1][5]; break;
  175. case 6: value[1][1] += result[i].CurrentValue * meta_temp[1][6]; break;
  176. case 7: value[1][1] += result[i].CurrentValue * meta_temp[1][7]; break;
  177. case 8: value[1][1] += result[i].CurrentValue * meta_temp[1][8]; break;
  178. case 9: value[1][1] += result[i].CurrentValue * meta_temp[1][9]; break;
  179. case 10: value[1][1] += result[i].CurrentValue * meta_temp[1][10]; break;
  180. case 11: value[1][1] += result[i].CurrentValue * meta_temp[1][11]; break;
  181. case 12: value[1][1] += result[i].CurrentValue * meta_temp[1][12]; break;
  182. case 13: value[1][1] += result[i].CurrentValue * meta_temp[1][13]; break;
  183. case 14: value[1][1] += result[i].CurrentValue * meta_temp[1][14]; break;
  184. case 15: value[1][1] += result[i].CurrentValue * meta_temp[1][15]; break;
  185. case 16: value[1][1] += result[i].CurrentValue * meta_temp[1][16]; break;
  186. case 17: value[1][1] += result[i].CurrentValue * meta_temp[1][17]; break;
  187. case 18: value[1][1] += result[i].CurrentValue * meta_temp[1][18]; break;
  188. case 19: value[1][1] += result[i].CurrentValue * meta_temp[1][19]; break;
  189. case 20: value[1][1] += result[i].CurrentValue * meta_temp[1][20]; break;
  190. case 21: value[1][1] += result[i].CurrentValue * meta_temp[1][21]; break;
  191. case 22: value[1][1] += result[i].CurrentValue * meta_temp[1][22]; break;
  192. case 23: value[1][1] += result[i].CurrentValue * meta_temp[1][23]; break;
  193. }
  194. break;
  195. case 2:
  196. if (value[2][0] == null)
  197. value[2][0] = time; //[2][0] 날짜
  198. switch (time.getHours()) { //[2][1] 값
  199. case 0: value[2][1] += result[i].CurrentValue * meta_temp[2][0]; break;
  200. case 1: value[2][1] += result[i].CurrentValue * meta_temp[2][1]; break;
  201. case 2: value[2][1] += result[i].CurrentValue * meta_temp[2][2]; break;
  202. case 3: value[2][1] += result[i].CurrentValue * meta_temp[2][3]; break;
  203. case 4: value[2][1] += result[i].CurrentValue * meta_temp[2][4]; break;
  204. case 5: value[2][1] += result[i].CurrentValue * meta_temp[2][5]; break;
  205. case 6: value[2][1] += result[i].CurrentValue * meta_temp[2][6]; break;
  206. case 7: value[2][1] += result[i].CurrentValue * meta_temp[2][7]; break;
  207. case 8: value[2][1] += result[i].CurrentValue * meta_temp[2][8]; break;
  208. case 9: value[2][1] += result[i].CurrentValue * meta_temp[2][9]; break;
  209. case 10: value[2][1] += result[i].CurrentValue * meta_temp[2][10]; break;
  210. case 11: value[2][1] += result[i].CurrentValue * meta_temp[2][11]; break;
  211. case 12: value[2][1] += result[i].CurrentValue * meta_temp[2][12]; break;
  212. case 13: value[2][1] += result[i].CurrentValue * meta_temp[2][13]; break;
  213. case 14: value[2][1] += result[i].CurrentValue * meta_temp[2][14]; break;
  214. case 15: value[2][1] += result[i].CurrentValue * meta_temp[2][15]; break;
  215. case 16: value[2][1] += result[i].CurrentValue * meta_temp[2][16]; break;
  216. case 17: value[2][1] += result[i].CurrentValue * meta_temp[2][17]; break;
  217. case 18: value[2][1] += result[i].CurrentValue * meta_temp[2][18]; break;
  218. case 19: value[2][1] += result[i].CurrentValue * meta_temp[2][19]; break;
  219. case 20: value[2][1] += result[i].CurrentValue * meta_temp[2][20]; break;
  220. case 21: value[2][1] += result[i].CurrentValue * meta_temp[2][21]; break;
  221. case 22: value[2][1] += result[i].CurrentValue * meta_temp[2][22]; break;
  222. case 23: value[2][1] += result[i].CurrentValue * meta_temp[2][23]; break;
  223. }
  224. break;
  225. case 3:
  226. if (value[3][0] == null)
  227. value[3][0] = time; //[1][0] 날짜
  228. switch (time.getHours()) { //[1][1] 값
  229. case 0: value[3][1] += result[i].CurrentValue * meta_temp[3][0]; break;
  230. case 1: value[3][1] += result[i].CurrentValue * meta_temp[3][1]; break;
  231. case 2: value[3][1] += result[i].CurrentValue * meta_temp[3][2]; break;
  232. case 3: value[3][1] += result[i].CurrentValue * meta_temp[3][3]; break;
  233. case 4: value[3][1] += result[i].CurrentValue * meta_temp[3][4]; break;
  234. case 5: value[3][1] += result[i].CurrentValue * meta_temp[3][5]; break;
  235. case 6: value[3][1] += result[i].CurrentValue * meta_temp[3][6]; break;
  236. case 7: value[3][1] += result[i].CurrentValue * meta_temp[3][7]; break;
  237. case 8: value[3][1] += result[i].CurrentValue * meta_temp[3][8]; break;
  238. case 9: value[3][1] += result[i].CurrentValue * meta_temp[3][9]; break;
  239. case 10: value[3][1] += result[i].CurrentValue * meta_temp[3][10]; break;
  240. case 11: value[3][1] += result[i].CurrentValue * meta_temp[3][11]; break;
  241. case 12: value[3][1] += result[i].CurrentValue * meta_temp[3][12]; break;
  242. case 13: value[3][1] += result[i].CurrentValue * meta_temp[3][13]; break;
  243. case 14: value[3][1] += result[i].CurrentValue * meta_temp[3][14]; break;
  244. case 15: value[3][1] += result[i].CurrentValue * meta_temp[3][15]; break;
  245. case 16: value[3][1] += result[i].CurrentValue * meta_temp[3][16]; break;
  246. case 17: value[3][1] += result[i].CurrentValue * meta_temp[3][17]; break;
  247. case 18: value[3][1] += result[i].CurrentValue * meta_temp[3][18]; break;
  248. case 19: value[3][1] += result[i].CurrentValue * meta_temp[3][19]; break;
  249. case 20: value[3][1] += result[i].CurrentValue * meta_temp[3][20]; break;
  250. case 21: value[3][1] += result[i].CurrentValue * meta_temp[3][21]; break;
  251. case 22: value[3][1] += result[i].CurrentValue * meta_temp[3][22]; break;
  252. case 23: value[3][1] += result[i].CurrentValue * meta_temp[3][23]; break;
  253. }
  254. break;
  255. case 4:
  256. if (value[4][0] == null)
  257. value[4][0] = time; //[1][0] 날짜
  258. switch (time.getHours()) { //[1][1] 값
  259. case 0: value[4][1] += result[i].CurrentValue * meta_temp[4][0]; break;
  260. case 1: value[4][1] += result[i].CurrentValue * meta_temp[4][1]; break;
  261. case 2: value[4][1] += result[i].CurrentValue * meta_temp[4][2]; break;
  262. case 3: value[4][1] += result[i].CurrentValue * meta_temp[4][3]; break;
  263. case 4: value[4][1] += result[i].CurrentValue * meta_temp[4][4]; break;
  264. case 5: value[4][1] += result[i].CurrentValue * meta_temp[4][5]; break;
  265. case 6: value[4][1] += result[i].CurrentValue * meta_temp[4][6]; break;
  266. case 7: value[4][1] += result[i].CurrentValue * meta_temp[4][7]; break;
  267. case 8: value[4][1] += result[i].CurrentValue * meta_temp[4][8]; break;
  268. case 9: value[4][1] += result[i].CurrentValue * meta_temp[4][9]; break;
  269. case 10: value[4][1] += result[i].CurrentValue * meta_temp[4][10]; break;
  270. case 11: value[4][1] += result[i].CurrentValue * meta_temp[4][11]; break;
  271. case 12: value[4][1] += result[i].CurrentValue * meta_temp[4][12]; break;
  272. case 13: value[4][1] += result[i].CurrentValue * meta_temp[4][13]; break;
  273. case 14: value[4][1] += result[i].CurrentValue * meta_temp[4][14]; break;
  274. case 15: value[4][1] += result[i].CurrentValue * meta_temp[4][15]; break;
  275. case 16: value[4][1] += result[i].CurrentValue * meta_temp[4][16]; break;
  276. case 17: value[4][1] += result[i].CurrentValue * meta_temp[4][17]; break;
  277. case 18: value[4][1] += result[i].CurrentValue * meta_temp[4][18]; break;
  278. case 19: value[4][1] += result[i].CurrentValue * meta_temp[4][19]; break;
  279. case 20: value[4][1] += result[i].CurrentValue * meta_temp[4][20]; break;
  280. case 21: value[4][1] += result[i].CurrentValue * meta_temp[4][21]; break;
  281. case 22: value[4][1] += result[i].CurrentValue * meta_temp[4][22]; break;
  282. case 23: value[4][1] += result[i].CurrentValue * meta_temp[4][23]; break;
  283. }
  284. break;
  285. case 5:
  286. if (value[5][0] == null)
  287. value[5][0] = time; //[1][0] 날짜
  288. switch (time.getHours()) { //[1][1] 값
  289. case 0: value[5][1] += result[i].CurrentValue * meta_temp[5][0]; break;
  290. case 1: value[5][1] += result[i].CurrentValue * meta_temp[5][1]; break;
  291. case 2: value[5][1] += result[i].CurrentValue * meta_temp[5][2]; break;
  292. case 3: value[5][1] += result[i].CurrentValue * meta_temp[5][3]; break;
  293. case 4: value[5][1] += result[i].CurrentValue * meta_temp[5][4]; break;
  294. case 5: value[5][1] += result[i].CurrentValue * meta_temp[5][5]; break;
  295. case 6: value[5][1] += result[i].CurrentValue * meta_temp[5][6]; break;
  296. case 7: value[5][1] += result[i].CurrentValue * meta_temp[5][7]; break;
  297. case 8: value[5][1] += result[i].CurrentValue * meta_temp[5][8]; break;
  298. case 9: value[5][1] += result[i].CurrentValue * meta_temp[5][9]; break;
  299. case 10: value[5][1] += result[i].CurrentValue * meta_temp[5][10]; break;
  300. case 11: value[5][1] += result[i].CurrentValue * meta_temp[5][11]; break;
  301. case 12: value[5][1] += result[i].CurrentValue * meta_temp[5][12]; break;
  302. case 13: value[5][1] += result[i].CurrentValue * meta_temp[5][13]; break;
  303. case 14: value[5][1] += result[i].CurrentValue * meta_temp[5][14]; break;
  304. case 15: value[5][1] += result[i].CurrentValue * meta_temp[5][15]; break;
  305. case 16: value[5][1] += result[i].CurrentValue * meta_temp[5][16]; break;
  306. case 17: value[5][1] += result[i].CurrentValue * meta_temp[5][17]; break;
  307. case 18: value[5][1] += result[i].CurrentValue * meta_temp[5][18]; break;
  308. case 19: value[5][1] += result[i].CurrentValue * meta_temp[5][19]; break;
  309. case 20: value[5][1] += result[i].CurrentValue * meta_temp[5][20]; break;
  310. case 21: value[5][1] += result[i].CurrentValue * meta_temp[5][21]; break;
  311. case 22: value[5][1] += result[i].CurrentValue * meta_temp[5][22]; break;
  312. case 23: value[5][1] += result[i].CurrentValue * meta_temp[5][23]; break;
  313. }
  314. break;
  315. case 6:
  316. if (value[6][0] == null)
  317. value[6][0] = time; //[1][0] 날짜
  318. switch (time.getHours()) { //[1][1] 값
  319. case 0: value[6][1] += result[i].CurrentValue * meta_temp[6][0]; break;
  320. case 1: value[6][1] += result[i].CurrentValue * meta_temp[6][1]; break;
  321. case 2: value[6][1] += result[i].CurrentValue * meta_temp[6][2]; break;
  322. case 3: value[6][1] += result[i].CurrentValue * meta_temp[6][3]; break;
  323. case 4: value[6][1] += result[i].CurrentValue * meta_temp[6][4]; break;
  324. case 5: value[6][1] += result[i].CurrentValue * meta_temp[6][5]; break;
  325. case 6: value[6][1] += result[i].CurrentValue * meta_temp[6][6]; break;
  326. case 7: value[6][1] += result[i].CurrentValue * meta_temp[6][7]; break;
  327. case 8: value[6][1] += result[i].CurrentValue * meta_temp[6][8]; break;
  328. case 9: value[6][1] += result[i].CurrentValue * meta_temp[6][9]; break;
  329. case 10: value[6][1] += result[i].CurrentValue * meta_temp[6][10]; break;
  330. case 11: value[6][1] += result[i].CurrentValue * meta_temp[6][11]; break;
  331. case 12: value[6][1] += result[i].CurrentValue * meta_temp[6][12]; break;
  332. case 13: value[6][1] += result[i].CurrentValue * meta_temp[6][13]; break;
  333. case 14: value[6][1] += result[i].CurrentValue * meta_temp[6][14]; break;
  334. case 15: value[6][1] += result[i].CurrentValue * meta_temp[6][15]; break;
  335. case 16: value[6][1] += result[i].CurrentValue * meta_temp[6][16]; break;
  336. case 17: value[6][1] += result[i].CurrentValue * meta_temp[6][17]; break;
  337. case 18: value[6][1] += result[i].CurrentValue * meta_temp[6][18]; break;
  338. case 19: value[6][1] += result[i].CurrentValue * meta_temp[6][19]; break;
  339. case 20: value[6][1] += result[i].CurrentValue * meta_temp[6][20]; break;
  340. case 21: value[6][1] += result[i].CurrentValue * meta_temp[6][21]; break;
  341. case 22: value[6][1] += result[i].CurrentValue * meta_temp[6][22]; break;
  342. case 23: value[6][1] += result[i].CurrentValue * meta_temp[6][23]; break;
  343. }
  344. break;
  345. case 7:
  346. if (value[7][0] == null)
  347. value[7][0] = time; //[1][0] 날짜
  348. switch (time.getHours()) { //[1][1] 값
  349. case 0: value[7][1] += result[i].CurrentValue * meta_temp[7][0]; break;
  350. case 1: value[7][1] += result[i].CurrentValue * meta_temp[7][1]; break;
  351. case 2: value[7][1] += result[i].CurrentValue * meta_temp[7][2]; break;
  352. case 3: value[7][1] += result[i].CurrentValue * meta_temp[7][3]; break;
  353. case 4: value[7][1] += result[i].CurrentValue * meta_temp[7][4]; break;
  354. case 5: value[7][1] += result[i].CurrentValue * meta_temp[7][5]; break;
  355. case 6: value[7][1] += result[i].CurrentValue * meta_temp[7][6]; break;
  356. case 7: value[7][1] += result[i].CurrentValue * meta_temp[7][7]; break;
  357. case 8: value[7][1] += result[i].CurrentValue * meta_temp[7][8]; break;
  358. case 9: value[7][1] += result[i].CurrentValue * meta_temp[7][9]; break;
  359. case 10: value[7][1] += result[i].CurrentValue * meta_temp[7][10]; break;
  360. case 11: value[7][1] += result[i].CurrentValue * meta_temp[7][11]; break;
  361. case 12: value[7][1] += result[i].CurrentValue * meta_temp[7][12]; break;
  362. case 13: value[7][1] += result[i].CurrentValue * meta_temp[7][13]; break;
  363. case 14: value[7][1] += result[i].CurrentValue * meta_temp[7][14]; break;
  364. case 15: value[7][1] += result[i].CurrentValue * meta_temp[7][15]; break;
  365. case 16: value[7][1] += result[i].CurrentValue * meta_temp[7][16]; break;
  366. case 17: value[7][1] += result[i].CurrentValue * meta_temp[7][17]; break;
  367. case 18: value[7][1] += result[i].CurrentValue * meta_temp[7][18]; break;
  368. case 19: value[7][1] += result[i].CurrentValue * meta_temp[7][19]; break;
  369. case 20: value[7][1] += result[i].CurrentValue * meta_temp[7][20]; break;
  370. case 21: value[7][1] += result[i].CurrentValue * meta_temp[7][21]; break;
  371. case 22: value[7][1] += result[i].CurrentValue * meta_temp[7][22]; break;
  372. case 23: value[7][1] += result[i].CurrentValue * meta_temp[7][23]; break;
  373. }
  374. break;
  375. case 8:
  376. if (value[8][0] == null)
  377. value[8][0] = time; //[1][0] 날짜
  378. switch (time.getHours()) { //[1][1] 값
  379. case 0: value[8][1] += result[i].CurrentValue * meta_temp[8][0]; break;
  380. case 1: value[8][1] += result[i].CurrentValue * meta_temp[8][1]; break;
  381. case 2: value[8][1] += result[i].CurrentValue * meta_temp[8][2]; break;
  382. case 3: value[8][1] += result[i].CurrentValue * meta_temp[8][3]; break;
  383. case 4: value[8][1] += result[i].CurrentValue * meta_temp[8][4]; break;
  384. case 5: value[8][1] += result[i].CurrentValue * meta_temp[8][5]; break;
  385. case 6: value[8][1] += result[i].CurrentValue * meta_temp[8][6]; break;
  386. case 7: value[8][1] += result[i].CurrentValue * meta_temp[8][7]; break;
  387. case 8: value[8][1] += result[i].CurrentValue * meta_temp[8][8]; break;
  388. case 9: value[8][1] += result[i].CurrentValue * meta_temp[8][9]; break;
  389. case 10: value[8][1] += result[i].CurrentValue * meta_temp[8][10]; break;
  390. case 11: value[8][1] += result[i].CurrentValue * meta_temp[8][11]; break;
  391. case 12: value[8][1] += result[i].CurrentValue * meta_temp[8][12]; break;
  392. case 13: value[8][1] += result[i].CurrentValue * meta_temp[8][13]; break;
  393. case 14: value[8][1] += result[i].CurrentValue * meta_temp[8][14]; break;
  394. case 15: value[8][1] += result[i].CurrentValue * meta_temp[8][15]; break;
  395. case 16: value[8][1] += result[i].CurrentValue * meta_temp[8][16]; break;
  396. case 17: value[8][1] += result[i].CurrentValue * meta_temp[8][17]; break;
  397. case 18: value[8][1] += result[i].CurrentValue * meta_temp[8][18]; break;
  398. case 19: value[8][1] += result[i].CurrentValue * meta_temp[8][19]; break;
  399. case 20: value[8][1] += result[i].CurrentValue * meta_temp[8][20]; break;
  400. case 21: value[8][1] += result[i].CurrentValue * meta_temp[8][21]; break;
  401. case 22: value[8][1] += result[i].CurrentValue * meta_temp[8][22]; break;
  402. case 23: value[8][1] += result[i].CurrentValue * meta_temp[8][23]; break;
  403. }
  404. break;
  405. case 9:
  406. if (value[9][0] == null)
  407. value[9][0] = time; //[1][0] 날짜
  408. switch (time.getHours()) { //[1][1] 값
  409. case 0: value[9][1] += result[i].CurrentValue * meta_temp[9][0]; break;
  410. case 1: value[9][1] += result[i].CurrentValue * meta_temp[9][1]; break;
  411. case 2: value[9][1] += result[i].CurrentValue * meta_temp[9][2]; break;
  412. case 3: value[9][1] += result[i].CurrentValue * meta_temp[9][3]; break;
  413. case 4: value[9][1] += result[i].CurrentValue * meta_temp[9][4]; break;
  414. case 5: value[9][1] += result[i].CurrentValue * meta_temp[9][5]; break;
  415. case 6: value[9][1] += result[i].CurrentValue * meta_temp[9][6]; break;
  416. case 7: value[9][1] += result[i].CurrentValue * meta_temp[9][7]; break;
  417. case 8: value[9][1] += result[i].CurrentValue * meta_temp[9][8]; break;
  418. case 9: value[9][1] += result[i].CurrentValue * meta_temp[9][9]; break;
  419. case 10: value[9][1] += result[i].CurrentValue * meta_temp[9][10]; break;
  420. case 11: value[9][1] += result[i].CurrentValue * meta_temp[9][11]; break;
  421. case 12: value[9][1] += result[i].CurrentValue * meta_temp[9][12]; break;
  422. case 13: value[9][1] += result[i].CurrentValue * meta_temp[9][13]; break;
  423. case 14: value[9][1] += result[i].CurrentValue * meta_temp[9][14]; break;
  424. case 15: value[9][1] += result[i].CurrentValue * meta_temp[9][15]; break;
  425. case 16: value[9][1] += result[i].CurrentValue * meta_temp[9][16]; break;
  426. case 17: value[9][1] += result[i].CurrentValue * meta_temp[9][17]; break;
  427. case 18: value[9][1] += result[i].CurrentValue * meta_temp[9][18]; break;
  428. case 19: value[9][1] += result[i].CurrentValue * meta_temp[9][19]; break;
  429. case 20: value[9][1] += result[i].CurrentValue * meta_temp[9][20]; break;
  430. case 21: value[9][1] += result[i].CurrentValue * meta_temp[9][21]; break;
  431. case 22: value[9][1] += result[i].CurrentValue * meta_temp[9][22]; break;
  432. case 23: value[9][1] += result[i].CurrentValue * meta_temp[9][23]; break;
  433. }
  434. break;
  435. case 10:
  436. if (value[10][0] == null)
  437. value[10][0] = time; //[1][0] 날짜
  438. switch (time.getHours()) { //[1][1] 값
  439. case 0: value[10][1] += result[i].CurrentValue * meta_temp[10][0]; break;
  440. case 1: value[10][1] += result[i].CurrentValue * meta_temp[10][1]; break;
  441. case 2: value[10][1] += result[i].CurrentValue * meta_temp[10][2]; break;
  442. case 3: value[10][1] += result[i].CurrentValue * meta_temp[10][3]; break;
  443. case 4: value[10][1] += result[i].CurrentValue * meta_temp[10][4]; break;
  444. case 5: value[10][1] += result[i].CurrentValue * meta_temp[10][5]; break;
  445. case 6: value[10][1] += result[i].CurrentValue * meta_temp[10][6]; break;
  446. case 7: value[10][1] += result[i].CurrentValue * meta_temp[10][7]; break;
  447. case 8: value[10][1] += result[i].CurrentValue * meta_temp[10][8]; break;
  448. case 9: value[10][1] += result[i].CurrentValue * meta_temp[10][9]; break;
  449. case 10: value[10][1] += result[i].CurrentValue * meta_temp[10][10]; break;
  450. case 11: value[10][1] += result[i].CurrentValue * meta_temp[10][11]; break;
  451. case 12: value[10][1] += result[i].CurrentValue * meta_temp[10][12]; break;
  452. case 13: value[10][1] += result[i].CurrentValue * meta_temp[10][13]; break;
  453. case 14: value[10][1] += result[i].CurrentValue * meta_temp[10][14]; break;
  454. case 15: value[10][1] += result[i].CurrentValue * meta_temp[10][15]; break;
  455. case 16: value[10][1] += result[i].CurrentValue * meta_temp[10][16]; break;
  456. case 17: value[10][1] += result[i].CurrentValue * meta_temp[10][17]; break;
  457. case 18: value[10][1] += result[i].CurrentValue * meta_temp[10][18]; break;
  458. case 19: value[10][1] += result[i].CurrentValue * meta_temp[10][19]; break;
  459. case 20: value[10][1] += result[i].CurrentValue * meta_temp[10][20]; break;
  460. case 21: value[10][1] += result[i].CurrentValue * meta_temp[10][21]; break;
  461. case 22: value[10][1] += result[i].CurrentValue * meta_temp[10][22]; break;
  462. case 23: value[10][1] += result[i].CurrentValue * meta_temp[10][23]; break;
  463. }
  464. break;
  465. case 11:
  466. if (value[11][0] == null)
  467. value[11][0] = time; //[1][0] 날짜
  468. switch (time.getHours()) { //[1][1] 값
  469. case 0: value[11][1] += result[i].CurrentValue * meta_temp[11][0]; break;
  470. case 1: value[11][1] += result[i].CurrentValue * meta_temp[11][1]; break;
  471. case 2: value[11][1] += result[i].CurrentValue * meta_temp[11][2]; break;
  472. case 3: value[11][1] += result[i].CurrentValue * meta_temp[11][3]; break;
  473. case 4: value[11][1] += result[i].CurrentValue * meta_temp[11][4]; break;
  474. case 5: value[11][1] += result[i].CurrentValue * meta_temp[11][5]; break;
  475. case 6: value[11][1] += result[i].CurrentValue * meta_temp[11][6]; break;
  476. case 7: value[11][1] += result[i].CurrentValue * meta_temp[11][7]; break;
  477. case 8: value[11][1] += result[i].CurrentValue * meta_temp[11][8]; break;
  478. case 9: value[11][1] += result[i].CurrentValue * meta_temp[11][9]; break;
  479. case 10: value[11][1] += result[i].CurrentValue * meta_temp[11][10]; break;
  480. case 11: value[11][1] += result[i].CurrentValue * meta_temp[11][11]; break;
  481. case 12: value[11][1] += result[i].CurrentValue * meta_temp[11][12]; break;
  482. case 13: value[11][1] += result[i].CurrentValue * meta_temp[11][13]; break;
  483. case 14: value[11][1] += result[i].CurrentValue * meta_temp[11][14]; break;
  484. case 15: value[11][1] += result[i].CurrentValue * meta_temp[11][15]; break;
  485. case 16: value[11][1] += result[i].CurrentValue * meta_temp[11][16]; break;
  486. case 17: value[11][1] += result[i].CurrentValue * meta_temp[11][17]; break;
  487. case 18: value[11][1] += result[i].CurrentValue * meta_temp[11][18]; break;
  488. case 19: value[11][1] += result[i].CurrentValue * meta_temp[11][19]; break;
  489. case 20: value[11][1] += result[i].CurrentValue * meta_temp[11][20]; break;
  490. case 21: value[11][1] += result[i].CurrentValue * meta_temp[11][21]; break;
  491. case 22: value[11][1] += result[i].CurrentValue * meta_temp[11][22]; break;
  492. case 23: value[11][1] += result[i].CurrentValue * meta_temp[11][23]; break;
  493. }
  494. break;
  495. case 12:
  496. if (value[12][0] == null)
  497. value[12][0] = time; //[1][0] 날짜
  498. switch (time.getHours()) { //[1][1] 값
  499. case 0: value[12][1] += result[i].CurrentValue * meta_temp[12][0]; break;
  500. case 1: value[12][1] += result[i].CurrentValue * meta_temp[12][1]; break;
  501. case 2: value[12][1] += result[i].CurrentValue * meta_temp[12][2]; break;
  502. case 3: value[12][1] += result[i].CurrentValue * meta_temp[12][3]; break;
  503. case 4: value[12][1] += result[i].CurrentValue * meta_temp[12][4]; break;
  504. case 5: value[12][1] += result[i].CurrentValue * meta_temp[12][5]; break;
  505. case 6: value[12][1] += result[i].CurrentValue * meta_temp[12][6]; break;
  506. case 7: value[12][1] += result[i].CurrentValue * meta_temp[12][7]; break;
  507. case 8: value[12][1] += result[i].CurrentValue * meta_temp[12][8]; break;
  508. case 9: value[12][1] += result[i].CurrentValue * meta_temp[12][9]; break;
  509. case 10: value[12][1] += result[i].CurrentValue * meta_temp[12][10]; break;
  510. case 11: value[12][1] += result[i].CurrentValue * meta_temp[12][11]; break;
  511. case 12: value[12][1] += result[i].CurrentValue * meta_temp[12][12]; break;
  512. case 13: value[12][1] += result[i].CurrentValue * meta_temp[12][13]; break;
  513. case 14: value[12][1] += result[i].CurrentValue * meta_temp[12][14]; break;
  514. case 15: value[12][1] += result[i].CurrentValue * meta_temp[12][15]; break;
  515. case 16: value[12][1] += result[i].CurrentValue * meta_temp[12][16]; break;
  516. case 17: value[12][1] += result[i].CurrentValue * meta_temp[12][17]; break;
  517. case 18: value[12][1] += result[i].CurrentValue * meta_temp[12][18]; break;
  518. case 19: value[12][1] += result[i].CurrentValue * meta_temp[12][19]; break;
  519. case 20: value[12][1] += result[i].CurrentValue * meta_temp[12][20]; break;
  520. case 21: value[12][1] += result[i].CurrentValue * meta_temp[12][21]; break;
  521. case 22: value[12][1] += result[i].CurrentValue * meta_temp[12][22]; break;
  522. case 23: value[12][1] += result[i].CurrentValue * meta_temp[12][23]; break;
  523. }
  524. break;
  525. }
  526. }
  527. var start_point = 13;
  528. var end_point = 0;
  529. for (var i = 1; i <= 12; i++) {
  530. if (value[i][0] != null) {
  531. if (start_point == 13)
  532. start_point = i;
  533. end_point = i;
  534. }
  535. }
  536. //var temp_baseprice = $("#BasePrice").dxTextBox('instance').option('value');
  537. //temp_baseprice = temp_baseprice.replace(/[^0-9\.]+/g, "");
  538. for (var i = start_point; i <= end_point; i++) {
  539. if (value[i][0] != null) {
  540. dataArray.push({
  541. DateTime: BWA.Chart.getCustermTimeArgumentAxisString(timeinterval, moment(value[i][0]).toDate()),
  542. Value: Math.round(value[i][1])
  543. });
  544. //dataArray.push({
  545. // DateTime: BWA.Chart.getCustermTimeArgumentAxisString(timeinterval, moment(value[i][0]).toDate()),
  546. // basic: Math.round(temp_baseprice)
  547. //});
  548. }
  549. else
  550. month_length--;
  551. }
  552. options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
  553. options.dataSource = dataArray;
  554. if (options.dataSource.length == (end_point - start_point + 1)) {
  555. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  556. chart().option(options);
  557. }
  558. }
  559. else {
  560. utils.toast.show("[BemsMonitoringPointHistoryHourly] 정보가 없습니다");
  561. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  562. return;
  563. }
  564. }).fail(function (error) {
  565. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  566. utils.toast.show("[BemsMonitoringPointHistoryHourly] 정보를 읽어올수 없습니다.");
  567. });
  568. }
  569. else {
  570. utils.toast.show("[BemsFormulaParameter] 정보가 없습니다");
  571. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  572. return;
  573. }
  574. });
  575. }
  576. else {
  577. var Temp_Formula = Formula.split('+');
  578. var value = new Array(13);
  579. for (var k = 0; k < 13; k++) {
  580. value[k] = new Array(2);
  581. value[k][1] = 0;
  582. }
  583. var month_length = 0;
  584. var total = 1;
  585. for (var i = 0; i < Temp_Formula.length; i++) {
  586. var dataSource2 = new DevExpress.data.DataSource({
  587. store: new DevExpress.data.ODataStore({
  588. url: endpointSelector + "/BemsFormulaParameter"
  589. }),
  590. requireTotalCount: true,
  591. pageSize: 1
  592. });
  593. dataSource2.filter([
  594. ["FacilityTypeId", "=", FacilityTypeId],
  595. "and",
  596. ["FormulaId", "=", FormulaId],
  597. "and",
  598. ["ParameterId", "=", Temp_Formula[i]]
  599. ]);
  600. dataSource2.load()
  601. .done(function (result) {
  602. if (result.length != 0) {
  603. var ParameterFacilityCode = result[0].ParameterFacilityCode;
  604. var ParameterPropertyId = result[0].ParameterPropertyId;
  605. var dataSource3 = new DevExpress.data.DataSource({
  606. store: new DevExpress.data.ODataStore({
  607. url: endpointSelector + "/BemsMonitoringPointHistoryHourly"
  608. }),
  609. requireTotalCount: true,
  610. pageSize: 9000
  611. });
  612. dataSource3.filter([
  613. ["CreatedDateTime", ">=", new Date(startday.getFullYear(), startday.getMonth(), startday.getDate(), 0, 0, 0)],
  614. "and",
  615. ["CreatedDateTime", "<=", new Date(endday.getFullYear(), endday.getMonth(), endday.getDate(), 23, 59, 59)],
  616. "and",
  617. ["FacilityCode", "=", ParameterFacilityCode],
  618. "and",
  619. ["PropertyId", "=", ParameterPropertyId],
  620. ]);
  621. dataSource3.sort({ getter: "CreatedDateTime", desc: true });
  622. dataSource3.load()
  623. .done(function (result) {
  624. if (result.length != 0) {
  625. var dataArray = [];
  626. var meta_temp = Meta;
  627. if (meta_temp == 0) {
  628. options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
  629. options.dataSource = dataArray
  630. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  631. chart().option(options);
  632. utils.toast.show("BemsPriceMeta 정보가 없습니다");
  633. return;
  634. }
  635. month_length = endday.getMonth() - startday.getMonth() + 1;
  636. for (var i = 0; i < result.length; i++) {
  637. var time = result[i].CreatedDateTime;
  638. switch (time.getMonth() + 1) {
  639. case 1:
  640. if (value[1][0] == null)
  641. value[1][0] = time; //[1][0] 날짜
  642. switch (time.getHours()) { //[1][1] 값
  643. case 0: value[1][1] += result[i].CurrentValue * meta_temp[1][0]; break;
  644. case 1: value[1][1] += result[i].CurrentValue * meta_temp[1][1]; break;
  645. case 2: value[1][1] += result[i].CurrentValue * meta_temp[1][2]; break;
  646. case 3: value[1][1] += result[i].CurrentValue * meta_temp[1][3]; break;
  647. case 4: value[1][1] += result[i].CurrentValue * meta_temp[1][4]; break;
  648. case 5: value[1][1] += result[i].CurrentValue * meta_temp[1][5]; break;
  649. case 6: value[1][1] += result[i].CurrentValue * meta_temp[1][6]; break;
  650. case 7: value[1][1] += result[i].CurrentValue * meta_temp[1][7]; break;
  651. case 8: value[1][1] += result[i].CurrentValue * meta_temp[1][8]; break;
  652. case 9: value[1][1] += result[i].CurrentValue * meta_temp[1][9]; break;
  653. case 10: value[1][1] += result[i].CurrentValue * meta_temp[1][10]; break;
  654. case 11: value[1][1] += result[i].CurrentValue * meta_temp[1][11]; break;
  655. case 12: value[1][1] += result[i].CurrentValue * meta_temp[1][12]; break;
  656. case 13: value[1][1] += result[i].CurrentValue * meta_temp[1][13]; break;
  657. case 14: value[1][1] += result[i].CurrentValue * meta_temp[1][14]; break;
  658. case 15: value[1][1] += result[i].CurrentValue * meta_temp[1][15]; break;
  659. case 16: value[1][1] += result[i].CurrentValue * meta_temp[1][16]; break;
  660. case 17: value[1][1] += result[i].CurrentValue * meta_temp[1][17]; break;
  661. case 18: value[1][1] += result[i].CurrentValue * meta_temp[1][18]; break;
  662. case 19: value[1][1] += result[i].CurrentValue * meta_temp[1][19]; break;
  663. case 20: value[1][1] += result[i].CurrentValue * meta_temp[1][20]; break;
  664. case 21: value[1][1] += result[i].CurrentValue * meta_temp[1][21]; break;
  665. case 22: value[1][1] += result[i].CurrentValue * meta_temp[1][22]; break;
  666. case 23: value[1][1] += result[i].CurrentValue * meta_temp[1][23]; break;
  667. }
  668. break;
  669. case 2:
  670. if (value[2][0] == null)
  671. value[2][0] = time; //[2][0] 날짜
  672. switch (time.getHours()) { //[2][1] 값
  673. case 0: value[2][1] += result[i].CurrentValue * meta_temp[2][0]; break;
  674. case 1: value[2][1] += result[i].CurrentValue * meta_temp[2][1]; break;
  675. case 2: value[2][1] += result[i].CurrentValue * meta_temp[2][2]; break;
  676. case 3: value[2][1] += result[i].CurrentValue * meta_temp[2][3]; break;
  677. case 4: value[2][1] += result[i].CurrentValue * meta_temp[2][4]; break;
  678. case 5: value[2][1] += result[i].CurrentValue * meta_temp[2][5]; break;
  679. case 6: value[2][1] += result[i].CurrentValue * meta_temp[2][6]; break;
  680. case 7: value[2][1] += result[i].CurrentValue * meta_temp[2][7]; break;
  681. case 8: value[2][1] += result[i].CurrentValue * meta_temp[2][8]; break;
  682. case 9: value[2][1] += result[i].CurrentValue * meta_temp[2][9]; break;
  683. case 10: value[2][1] += result[i].CurrentValue * meta_temp[2][10]; break;
  684. case 11: value[2][1] += result[i].CurrentValue * meta_temp[2][11]; break;
  685. case 12: value[2][1] += result[i].CurrentValue * meta_temp[2][12]; break;
  686. case 13: value[2][1] += result[i].CurrentValue * meta_temp[2][13]; break;
  687. case 14: value[2][1] += result[i].CurrentValue * meta_temp[2][14]; break;
  688. case 15: value[2][1] += result[i].CurrentValue * meta_temp[2][15]; break;
  689. case 16: value[2][1] += result[i].CurrentValue * meta_temp[2][16]; break;
  690. case 17: value[2][1] += result[i].CurrentValue * meta_temp[2][17]; break;
  691. case 18: value[2][1] += result[i].CurrentValue * meta_temp[2][18]; break;
  692. case 19: value[2][1] += result[i].CurrentValue * meta_temp[2][19]; break;
  693. case 20: value[2][1] += result[i].CurrentValue * meta_temp[2][20]; break;
  694. case 21: value[2][1] += result[i].CurrentValue * meta_temp[2][21]; break;
  695. case 22: value[2][1] += result[i].CurrentValue * meta_temp[2][22]; break;
  696. case 23: value[2][1] += result[i].CurrentValue * meta_temp[2][23]; break;
  697. }
  698. break;
  699. case 3:
  700. if (value[3][0] == null)
  701. value[3][0] = time; //[1][0] 날짜
  702. switch (time.getHours()) { //[1][1] 값
  703. case 0: value[3][1] += result[i].CurrentValue * meta_temp[3][0]; break;
  704. case 1: value[3][1] += result[i].CurrentValue * meta_temp[3][1]; break;
  705. case 2: value[3][1] += result[i].CurrentValue * meta_temp[3][2]; break;
  706. case 3: value[3][1] += result[i].CurrentValue * meta_temp[3][3]; break;
  707. case 4: value[3][1] += result[i].CurrentValue * meta_temp[3][4]; break;
  708. case 5: value[3][1] += result[i].CurrentValue * meta_temp[3][5]; break;
  709. case 6: value[3][1] += result[i].CurrentValue * meta_temp[3][6]; break;
  710. case 7: value[3][1] += result[i].CurrentValue * meta_temp[3][7]; break;
  711. case 8: value[3][1] += result[i].CurrentValue * meta_temp[3][8]; break;
  712. case 9: value[3][1] += result[i].CurrentValue * meta_temp[3][9]; break;
  713. case 10: value[3][1] += result[i].CurrentValue * meta_temp[3][10]; break;
  714. case 11: value[3][1] += result[i].CurrentValue * meta_temp[3][11]; break;
  715. case 12: value[3][1] += result[i].CurrentValue * meta_temp[3][12]; break;
  716. case 13: value[3][1] += result[i].CurrentValue * meta_temp[3][13]; break;
  717. case 14: value[3][1] += result[i].CurrentValue * meta_temp[3][14]; break;
  718. case 15: value[3][1] += result[i].CurrentValue * meta_temp[3][15]; break;
  719. case 16: value[3][1] += result[i].CurrentValue * meta_temp[3][16]; break;
  720. case 17: value[3][1] += result[i].CurrentValue * meta_temp[3][17]; break;
  721. case 18: value[3][1] += result[i].CurrentValue * meta_temp[3][18]; break;
  722. case 19: value[3][1] += result[i].CurrentValue * meta_temp[3][19]; break;
  723. case 20: value[3][1] += result[i].CurrentValue * meta_temp[3][20]; break;
  724. case 21: value[3][1] += result[i].CurrentValue * meta_temp[3][21]; break;
  725. case 22: value[3][1] += result[i].CurrentValue * meta_temp[3][22]; break;
  726. case 23: value[3][1] += result[i].CurrentValue * meta_temp[3][23]; break;
  727. }
  728. break;
  729. case 4:
  730. if (value[4][0] == null)
  731. value[4][0] = time; //[1][0] 날짜
  732. switch (time.getHours()) { //[1][1] 값
  733. case 0: value[4][1] += result[i].CurrentValue * meta_temp[4][0]; break;
  734. case 1: value[4][1] += result[i].CurrentValue * meta_temp[4][1]; break;
  735. case 2: value[4][1] += result[i].CurrentValue * meta_temp[4][2]; break;
  736. case 3: value[4][1] += result[i].CurrentValue * meta_temp[4][3]; break;
  737. case 4: value[4][1] += result[i].CurrentValue * meta_temp[4][4]; break;
  738. case 5: value[4][1] += result[i].CurrentValue * meta_temp[4][5]; break;
  739. case 6: value[4][1] += result[i].CurrentValue * meta_temp[4][6]; break;
  740. case 7: value[4][1] += result[i].CurrentValue * meta_temp[4][7]; break;
  741. case 8: value[4][1] += result[i].CurrentValue * meta_temp[4][8]; break;
  742. case 9: value[4][1] += result[i].CurrentValue * meta_temp[4][9]; break;
  743. case 10: value[4][1] += result[i].CurrentValue * meta_temp[4][10]; break;
  744. case 11: value[4][1] += result[i].CurrentValue * meta_temp[4][11]; break;
  745. case 12: value[4][1] += result[i].CurrentValue * meta_temp[4][12]; break;
  746. case 13: value[4][1] += result[i].CurrentValue * meta_temp[4][13]; break;
  747. case 14: value[4][1] += result[i].CurrentValue * meta_temp[4][14]; break;
  748. case 15: value[4][1] += result[i].CurrentValue * meta_temp[4][15]; break;
  749. case 16: value[4][1] += result[i].CurrentValue * meta_temp[4][16]; break;
  750. case 17: value[4][1] += result[i].CurrentValue * meta_temp[4][17]; break;
  751. case 18: value[4][1] += result[i].CurrentValue * meta_temp[4][18]; break;
  752. case 19: value[4][1] += result[i].CurrentValue * meta_temp[4][19]; break;
  753. case 20: value[4][1] += result[i].CurrentValue * meta_temp[4][20]; break;
  754. case 21: value[4][1] += result[i].CurrentValue * meta_temp[4][21]; break;
  755. case 22: value[4][1] += result[i].CurrentValue * meta_temp[4][22]; break;
  756. case 23: value[4][1] += result[i].CurrentValue * meta_temp[4][23]; break;
  757. }
  758. break;
  759. case 5:
  760. if (value[5][0] == null)
  761. value[5][0] = time; //[1][0] 날짜
  762. switch (time.getHours()) { //[1][1] 값
  763. case 0: value[5][1] += result[i].CurrentValue * meta_temp[5][0]; break;
  764. case 1: value[5][1] += result[i].CurrentValue * meta_temp[5][1]; break;
  765. case 2: value[5][1] += result[i].CurrentValue * meta_temp[5][2]; break;
  766. case 3: value[5][1] += result[i].CurrentValue * meta_temp[5][3]; break;
  767. case 4: value[5][1] += result[i].CurrentValue * meta_temp[5][4]; break;
  768. case 5: value[5][1] += result[i].CurrentValue * meta_temp[5][5]; break;
  769. case 6: value[5][1] += result[i].CurrentValue * meta_temp[5][6]; break;
  770. case 7: value[5][1] += result[i].CurrentValue * meta_temp[5][7]; break;
  771. case 8: value[5][1] += result[i].CurrentValue * meta_temp[5][8]; break;
  772. case 9: value[5][1] += result[i].CurrentValue * meta_temp[5][9]; break;
  773. case 10: value[5][1] += result[i].CurrentValue * meta_temp[5][10]; break;
  774. case 11: value[5][1] += result[i].CurrentValue * meta_temp[5][11]; break;
  775. case 12: value[5][1] += result[i].CurrentValue * meta_temp[5][12]; break;
  776. case 13: value[5][1] += result[i].CurrentValue * meta_temp[5][13]; break;
  777. case 14: value[5][1] += result[i].CurrentValue * meta_temp[5][14]; break;
  778. case 15: value[5][1] += result[i].CurrentValue * meta_temp[5][15]; break;
  779. case 16: value[5][1] += result[i].CurrentValue * meta_temp[5][16]; break;
  780. case 17: value[5][1] += result[i].CurrentValue * meta_temp[5][17]; break;
  781. case 18: value[5][1] += result[i].CurrentValue * meta_temp[5][18]; break;
  782. case 19: value[5][1] += result[i].CurrentValue * meta_temp[5][19]; break;
  783. case 20: value[5][1] += result[i].CurrentValue * meta_temp[5][20]; break;
  784. case 21: value[5][1] += result[i].CurrentValue * meta_temp[5][21]; break;
  785. case 22: value[5][1] += result[i].CurrentValue * meta_temp[5][22]; break;
  786. case 23: value[5][1] += result[i].CurrentValue * meta_temp[5][23]; break;
  787. }
  788. break;
  789. case 6:
  790. if (value[6][0] == null)
  791. value[6][0] = time; //[1][0] 날짜
  792. switch (time.getHours()) { //[1][1] 값
  793. case 0: value[6][1] += result[i].CurrentValue * meta_temp[6][0]; break;
  794. case 1: value[6][1] += result[i].CurrentValue * meta_temp[6][1]; break;
  795. case 2: value[6][1] += result[i].CurrentValue * meta_temp[6][2]; break;
  796. case 3: value[6][1] += result[i].CurrentValue * meta_temp[6][3]; break;
  797. case 4: value[6][1] += result[i].CurrentValue * meta_temp[6][4]; break;
  798. case 5: value[6][1] += result[i].CurrentValue * meta_temp[6][5]; break;
  799. case 6: value[6][1] += result[i].CurrentValue * meta_temp[6][6]; break;
  800. case 7: value[6][1] += result[i].CurrentValue * meta_temp[6][7]; break;
  801. case 8: value[6][1] += result[i].CurrentValue * meta_temp[6][8]; break;
  802. case 9: value[6][1] += result[i].CurrentValue * meta_temp[6][9]; break;
  803. case 10: value[6][1] += result[i].CurrentValue * meta_temp[6][10]; break;
  804. case 11: value[6][1] += result[i].CurrentValue * meta_temp[6][11]; break;
  805. case 12: value[6][1] += result[i].CurrentValue * meta_temp[6][12]; break;
  806. case 13: value[6][1] += result[i].CurrentValue * meta_temp[6][13]; break;
  807. case 14: value[6][1] += result[i].CurrentValue * meta_temp[6][14]; break;
  808. case 15: value[6][1] += result[i].CurrentValue * meta_temp[6][15]; break;
  809. case 16: value[6][1] += result[i].CurrentValue * meta_temp[6][16]; break;
  810. case 17: value[6][1] += result[i].CurrentValue * meta_temp[6][17]; break;
  811. case 18: value[6][1] += result[i].CurrentValue * meta_temp[6][18]; break;
  812. case 19: value[6][1] += result[i].CurrentValue * meta_temp[6][19]; break;
  813. case 20: value[6][1] += result[i].CurrentValue * meta_temp[6][20]; break;
  814. case 21: value[6][1] += result[i].CurrentValue * meta_temp[6][21]; break;
  815. case 22: value[6][1] += result[i].CurrentValue * meta_temp[6][22]; break;
  816. case 23: value[6][1] += result[i].CurrentValue * meta_temp[6][23]; break;
  817. }
  818. break;
  819. case 7:
  820. if (value[7][0] == null)
  821. value[7][0] = time; //[1][0] 날짜
  822. switch (time.getHours()) { //[1][1] 값
  823. case 0: value[7][1] += result[i].CurrentValue * meta_temp[7][0]; break;
  824. case 1: value[7][1] += result[i].CurrentValue * meta_temp[7][1]; break;
  825. case 2: value[7][1] += result[i].CurrentValue * meta_temp[7][2]; break;
  826. case 3: value[7][1] += result[i].CurrentValue * meta_temp[7][3]; break;
  827. case 4: value[7][1] += result[i].CurrentValue * meta_temp[7][4]; break;
  828. case 5: value[7][1] += result[i].CurrentValue * meta_temp[7][5]; break;
  829. case 6: value[7][1] += result[i].CurrentValue * meta_temp[7][6]; break;
  830. case 7: value[7][1] += result[i].CurrentValue * meta_temp[7][7]; break;
  831. case 8: value[7][1] += result[i].CurrentValue * meta_temp[7][8]; break;
  832. case 9: value[7][1] += result[i].CurrentValue * meta_temp[7][9]; break;
  833. case 10: value[7][1] += result[i].CurrentValue * meta_temp[7][10]; break;
  834. case 11: value[7][1] += result[i].CurrentValue * meta_temp[7][11]; break;
  835. case 12: value[7][1] += result[i].CurrentValue * meta_temp[7][12]; break;
  836. case 13: value[7][1] += result[i].CurrentValue * meta_temp[7][13]; break;
  837. case 14: value[7][1] += result[i].CurrentValue * meta_temp[7][14]; break;
  838. case 15: value[7][1] += result[i].CurrentValue * meta_temp[7][15]; break;
  839. case 16: value[7][1] += result[i].CurrentValue * meta_temp[7][16]; break;
  840. case 17: value[7][1] += result[i].CurrentValue * meta_temp[7][17]; break;
  841. case 18: value[7][1] += result[i].CurrentValue * meta_temp[7][18]; break;
  842. case 19: value[7][1] += result[i].CurrentValue * meta_temp[7][19]; break;
  843. case 20: value[7][1] += result[i].CurrentValue * meta_temp[7][20]; break;
  844. case 21: value[7][1] += result[i].CurrentValue * meta_temp[7][21]; break;
  845. case 22: value[7][1] += result[i].CurrentValue * meta_temp[7][22]; break;
  846. case 23: value[7][1] += result[i].CurrentValue * meta_temp[7][23]; break;
  847. }
  848. break;
  849. case 8:
  850. if (value[8][0] == null)
  851. value[8][0] = time; //[1][0] 날짜
  852. switch (time.getHours()) { //[1][1] 값
  853. case 0: value[8][1] += result[i].CurrentValue * meta_temp[8][0]; break;
  854. case 1: value[8][1] += result[i].CurrentValue * meta_temp[8][1]; break;
  855. case 2: value[8][1] += result[i].CurrentValue * meta_temp[8][2]; break;
  856. case 3: value[8][1] += result[i].CurrentValue * meta_temp[8][3]; break;
  857. case 4: value[8][1] += result[i].CurrentValue * meta_temp[8][4]; break;
  858. case 5: value[8][1] += result[i].CurrentValue * meta_temp[8][5]; break;
  859. case 6: value[8][1] += result[i].CurrentValue * meta_temp[8][6]; break;
  860. case 7: value[8][1] += result[i].CurrentValue * meta_temp[8][7]; break;
  861. case 8: value[8][1] += result[i].CurrentValue * meta_temp[8][8]; break;
  862. case 9: value[8][1] += result[i].CurrentValue * meta_temp[8][9]; break;
  863. case 10: value[8][1] += result[i].CurrentValue * meta_temp[8][10]; break;
  864. case 11: value[8][1] += result[i].CurrentValue * meta_temp[8][11]; break;
  865. case 12: value[8][1] += result[i].CurrentValue * meta_temp[8][12]; break;
  866. case 13: value[8][1] += result[i].CurrentValue * meta_temp[8][13]; break;
  867. case 14: value[8][1] += result[i].CurrentValue * meta_temp[8][14]; break;
  868. case 15: value[8][1] += result[i].CurrentValue * meta_temp[8][15]; break;
  869. case 16: value[8][1] += result[i].CurrentValue * meta_temp[8][16]; break;
  870. case 17: value[8][1] += result[i].CurrentValue * meta_temp[8][17]; break;
  871. case 18: value[8][1] += result[i].CurrentValue * meta_temp[8][18]; break;
  872. case 19: value[8][1] += result[i].CurrentValue * meta_temp[8][19]; break;
  873. case 20: value[8][1] += result[i].CurrentValue * meta_temp[8][20]; break;
  874. case 21: value[8][1] += result[i].CurrentValue * meta_temp[8][21]; break;
  875. case 22: value[8][1] += result[i].CurrentValue * meta_temp[8][22]; break;
  876. case 23: value[8][1] += result[i].CurrentValue * meta_temp[8][23]; break;
  877. }
  878. break;
  879. case 9:
  880. if (value[9][0] == null)
  881. value[9][0] = time; //[1][0] 날짜
  882. switch (time.getHours()) { //[1][1] 값
  883. case 0: value[9][1] += result[i].CurrentValue * meta_temp[9][0]; break;
  884. case 1: value[9][1] += result[i].CurrentValue * meta_temp[9][1]; break;
  885. case 2: value[9][1] += result[i].CurrentValue * meta_temp[9][2]; break;
  886. case 3: value[9][1] += result[i].CurrentValue * meta_temp[9][3]; break;
  887. case 4: value[9][1] += result[i].CurrentValue * meta_temp[9][4]; break;
  888. case 5: value[9][1] += result[i].CurrentValue * meta_temp[9][5]; break;
  889. case 6: value[9][1] += result[i].CurrentValue * meta_temp[9][6]; break;
  890. case 7: value[9][1] += result[i].CurrentValue * meta_temp[9][7]; break;
  891. case 8: value[9][1] += result[i].CurrentValue * meta_temp[9][8]; break;
  892. case 9: value[9][1] += result[i].CurrentValue * meta_temp[9][9]; break;
  893. case 10: value[9][1] += result[i].CurrentValue * meta_temp[9][10]; break;
  894. case 11: value[9][1] += result[i].CurrentValue * meta_temp[9][11]; break;
  895. case 12: value[9][1] += result[i].CurrentValue * meta_temp[9][12]; break;
  896. case 13: value[9][1] += result[i].CurrentValue * meta_temp[9][13]; break;
  897. case 14: value[9][1] += result[i].CurrentValue * meta_temp[9][14]; break;
  898. case 15: value[9][1] += result[i].CurrentValue * meta_temp[9][15]; break;
  899. case 16: value[9][1] += result[i].CurrentValue * meta_temp[9][16]; break;
  900. case 17: value[9][1] += result[i].CurrentValue * meta_temp[9][17]; break;
  901. case 18: value[9][1] += result[i].CurrentValue * meta_temp[9][18]; break;
  902. case 19: value[9][1] += result[i].CurrentValue * meta_temp[9][19]; break;
  903. case 20: value[9][1] += result[i].CurrentValue * meta_temp[9][20]; break;
  904. case 21: value[9][1] += result[i].CurrentValue * meta_temp[9][21]; break;
  905. case 22: value[9][1] += result[i].CurrentValue * meta_temp[9][22]; break;
  906. case 23: value[9][1] += result[i].CurrentValue * meta_temp[9][23]; break;
  907. }
  908. break;
  909. case 10:
  910. if (value[10][0] == null)
  911. value[10][0] = time; //[1][0] 날짜
  912. switch (time.getHours()) { //[1][1] 값
  913. case 0: value[10][1] += result[i].CurrentValue * meta_temp[10][0]; break;
  914. case 1: value[10][1] += result[i].CurrentValue * meta_temp[10][1]; break;
  915. case 2: value[10][1] += result[i].CurrentValue * meta_temp[10][2]; break;
  916. case 3: value[10][1] += result[i].CurrentValue * meta_temp[10][3]; break;
  917. case 4: value[10][1] += result[i].CurrentValue * meta_temp[10][4]; break;
  918. case 5: value[10][1] += result[i].CurrentValue * meta_temp[10][5]; break;
  919. case 6: value[10][1] += result[i].CurrentValue * meta_temp[10][6]; break;
  920. case 7: value[10][1] += result[i].CurrentValue * meta_temp[10][7]; break;
  921. case 8: value[10][1] += result[i].CurrentValue * meta_temp[10][8]; break;
  922. case 9: value[10][1] += result[i].CurrentValue * meta_temp[10][9]; break;
  923. case 10: value[10][1] += result[i].CurrentValue * meta_temp[10][10]; break;
  924. case 11: value[10][1] += result[i].CurrentValue * meta_temp[10][11]; break;
  925. case 12: value[10][1] += result[i].CurrentValue * meta_temp[10][12]; break;
  926. case 13: value[10][1] += result[i].CurrentValue * meta_temp[10][13]; break;
  927. case 14: value[10][1] += result[i].CurrentValue * meta_temp[10][14]; break;
  928. case 15: value[10][1] += result[i].CurrentValue * meta_temp[10][15]; break;
  929. case 16: value[10][1] += result[i].CurrentValue * meta_temp[10][16]; break;
  930. case 17: value[10][1] += result[i].CurrentValue * meta_temp[10][17]; break;
  931. case 18: value[10][1] += result[i].CurrentValue * meta_temp[10][18]; break;
  932. case 19: value[10][1] += result[i].CurrentValue * meta_temp[10][19]; break;
  933. case 20: value[10][1] += result[i].CurrentValue * meta_temp[10][20]; break;
  934. case 21: value[10][1] += result[i].CurrentValue * meta_temp[10][21]; break;
  935. case 22: value[10][1] += result[i].CurrentValue * meta_temp[10][22]; break;
  936. case 23: value[10][1] += result[i].CurrentValue * meta_temp[10][23]; break;
  937. }
  938. break;
  939. case 11:
  940. if (value[11][0] == null)
  941. value[11][0] = time; //[1][0] 날짜
  942. switch (time.getHours()) { //[1][1] 값
  943. case 0: value[11][1] += result[i].CurrentValue * meta_temp[11][0]; break;
  944. case 1: value[11][1] += result[i].CurrentValue * meta_temp[11][1]; break;
  945. case 2: value[11][1] += result[i].CurrentValue * meta_temp[11][2]; break;
  946. case 3: value[11][1] += result[i].CurrentValue * meta_temp[11][3]; break;
  947. case 4: value[11][1] += result[i].CurrentValue * meta_temp[11][4]; break;
  948. case 5: value[11][1] += result[i].CurrentValue * meta_temp[11][5]; break;
  949. case 6: value[11][1] += result[i].CurrentValue * meta_temp[11][6]; break;
  950. case 7: value[11][1] += result[i].CurrentValue * meta_temp[11][7]; break;
  951. case 8: value[11][1] += result[i].CurrentValue * meta_temp[11][8]; break;
  952. case 9: value[11][1] += result[i].CurrentValue * meta_temp[11][9]; break;
  953. case 10: value[11][1] += result[i].CurrentValue * meta_temp[11][10]; break;
  954. case 11: value[11][1] += result[i].CurrentValue * meta_temp[11][11]; break;
  955. case 12: value[11][1] += result[i].CurrentValue * meta_temp[11][12]; break;
  956. case 13: value[11][1] += result[i].CurrentValue * meta_temp[11][13]; break;
  957. case 14: value[11][1] += result[i].CurrentValue * meta_temp[11][14]; break;
  958. case 15: value[11][1] += result[i].CurrentValue * meta_temp[11][15]; break;
  959. case 16: value[11][1] += result[i].CurrentValue * meta_temp[11][16]; break;
  960. case 17: value[11][1] += result[i].CurrentValue * meta_temp[11][17]; break;
  961. case 18: value[11][1] += result[i].CurrentValue * meta_temp[11][18]; break;
  962. case 19: value[11][1] += result[i].CurrentValue * meta_temp[11][19]; break;
  963. case 20: value[11][1] += result[i].CurrentValue * meta_temp[11][20]; break;
  964. case 21: value[11][1] += result[i].CurrentValue * meta_temp[11][21]; break;
  965. case 22: value[11][1] += result[i].CurrentValue * meta_temp[11][22]; break;
  966. case 23: value[11][1] += result[i].CurrentValue * meta_temp[11][23]; break;
  967. }
  968. break;
  969. case 12:
  970. if (value[12][0] == null)
  971. value[12][0] = time; //[1][0] 날짜
  972. switch (time.getHours()) { //[1][1] 값
  973. case 0: value[12][1] += result[i].CurrentValue * meta_temp[12][0]; break;
  974. case 1: value[12][1] += result[i].CurrentValue * meta_temp[12][1]; break;
  975. case 2: value[12][1] += result[i].CurrentValue * meta_temp[12][2]; break;
  976. case 3: value[12][1] += result[i].CurrentValue * meta_temp[12][3]; break;
  977. case 4: value[12][1] += result[i].CurrentValue * meta_temp[12][4]; break;
  978. case 5: value[12][1] += result[i].CurrentValue * meta_temp[12][5]; break;
  979. case 6: value[12][1] += result[i].CurrentValue * meta_temp[12][6]; break;
  980. case 7: value[12][1] += result[i].CurrentValue * meta_temp[12][7]; break;
  981. case 8: value[12][1] += result[i].CurrentValue * meta_temp[12][8]; break;
  982. case 9: value[12][1] += result[i].CurrentValue * meta_temp[12][9]; break;
  983. case 10: value[12][1] += result[i].CurrentValue * meta_temp[12][10]; break;
  984. case 11: value[12][1] += result[i].CurrentValue * meta_temp[12][11]; break;
  985. case 12: value[12][1] += result[i].CurrentValue * meta_temp[12][12]; break;
  986. case 13: value[12][1] += result[i].CurrentValue * meta_temp[12][13]; break;
  987. case 14: value[12][1] += result[i].CurrentValue * meta_temp[12][14]; break;
  988. case 15: value[12][1] += result[i].CurrentValue * meta_temp[12][15]; break;
  989. case 16: value[12][1] += result[i].CurrentValue * meta_temp[12][16]; break;
  990. case 17: value[12][1] += result[i].CurrentValue * meta_temp[12][17]; break;
  991. case 18: value[12][1] += result[i].CurrentValue * meta_temp[12][18]; break;
  992. case 19: value[12][1] += result[i].CurrentValue * meta_temp[12][19]; break;
  993. case 20: value[12][1] += result[i].CurrentValue * meta_temp[12][20]; break;
  994. case 21: value[12][1] += result[i].CurrentValue * meta_temp[12][21]; break;
  995. case 22: value[12][1] += result[i].CurrentValue * meta_temp[12][22]; break;
  996. case 23: value[12][1] += result[i].CurrentValue * meta_temp[12][23]; break;
  997. }
  998. break;
  999. }
  1000. }
  1001. if (Temp_Formula.length == total) {
  1002. var start_point = 13;
  1003. var end_point = 0;
  1004. for (var i = 1; i <= 12; i++) {
  1005. if (value[i][0] != null) {
  1006. if (start_point == 13)
  1007. start_point = i;
  1008. end_point = i;
  1009. }
  1010. }
  1011. //var temp_baseprice = $("#BasePrice").dxTextBox('instance').option('value');
  1012. //temp_baseprice = temp_baseprice.replace(/[^0-9\.]+/g, "");
  1013. for (var i = start_point; i <= end_point; i++) {
  1014. if (value[i][0] != null) {
  1015. dataArray.push({
  1016. DateTime: BWA.Chart.getCustermTimeArgumentAxisString(timeinterval, moment(value[i][0]).toDate()),
  1017. Value: Math.round(value[i][1])
  1018. });
  1019. //dataArray.push({
  1020. // DateTime: BWA.Chart.getCustermTimeArgumentAxisString(timeinterval, moment(value[i][0]).toDate()),
  1021. // basic: Math.round(temp_baseprice)
  1022. //});
  1023. }
  1024. else
  1025. month_length--;
  1026. }
  1027. options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
  1028. options.dataSource = dataArray;
  1029. if (options.dataSource.length == (end_point - start_point + 1)) {
  1030. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  1031. chart().option(options);
  1032. }
  1033. }
  1034. }
  1035. else {
  1036. utils.toast.show("[BemsMonitoringPointHistoryHourly] 정보가 없습니다");
  1037. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  1038. return;
  1039. }
  1040. total++;
  1041. })
  1042. .fail(function (error) {
  1043. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  1044. utils.toast.show("[BemsMonitoringPointHistoryHourly] 정보를 읽어올수 없습니다.");
  1045. });
  1046. }
  1047. else {
  1048. utils.toast.show("[BemsFormulaParameter] 정보가 없습니다");
  1049. return;
  1050. }
  1051. });
  1052. }
  1053. }
  1054. }
  1055. else { //가스
  1056. var Formula = result[0].Formula;
  1057. if (Formula.length == 1) {
  1058. var dataSource2 = new DevExpress.data.DataSource({
  1059. store: new DevExpress.data.ODataStore({
  1060. url: endpointSelector + "/BemsFormulaParameter"
  1061. }),
  1062. requireTotalCount: true,
  1063. pageSize: 1
  1064. });
  1065. dataSource2.filter([
  1066. ["FacilityTypeId", "=", FacilityTypeId],
  1067. "and",
  1068. ["FormulaId", "=", FormulaId],
  1069. "and",
  1070. ["ParameterId", "=", Formula]
  1071. ]);
  1072. dataSource2.load()
  1073. .done(function (result) {
  1074. if (result.length != 0) {
  1075. var ParameterFacilityCode = result[0].ParameterFacilityCode;
  1076. var ParameterPropertyId = result[0].ParameterPropertyId;
  1077. var dataSource3 = new DevExpress.data.DataSource({
  1078. store: new DevExpress.data.ODataStore({
  1079. url: endpointSelector + "/BemsEnergyCost"
  1080. }),
  1081. requireTotalCount: true,
  1082. pageSize: 1
  1083. });
  1084. dataSource3.filter([
  1085. ["FacilityCode", "=", ParameterFacilityCode],
  1086. "and",
  1087. ["GasPriceTypeId", "=", pricetypeId],
  1088. "and",
  1089. ["IsUse", "=", true]
  1090. ]);
  1091. dataSource3.load()
  1092. .done(function (result) {
  1093. if (result.length != 0) {
  1094. var FacilityCode = result[0].FacilityCode;
  1095. var FacilityTypeId = result[0].FacilityTypeId;
  1096. var dataSource4 = new DevExpress.data.DataSource({
  1097. store: new DevExpress.data.ODataStore({
  1098. url: endpointSelector + "/BemsMonitoringPointHistoryDaily"
  1099. }),
  1100. requireTotalCount: true,
  1101. pageSize: 9000
  1102. });
  1103. dataSource4.filter([
  1104. ["CreatedDateTime", ">=", new Date(startday.getFullYear(), startday.getMonth(), startday.getDate(), 0, 0, 0)],
  1105. "and",
  1106. ["CreatedDateTime", "<=", new Date(endday.getFullYear(), endday.getMonth(), endday.getDate(), 23, 59, 59)],
  1107. "and",
  1108. ["FacilityCode", "=", FacilityCode],
  1109. "and",
  1110. ["PropertyId", "=", ParameterPropertyId],
  1111. ]);
  1112. dataSource4.sort({ getter: "CreatedDateTime", asc: true });
  1113. dataSource4.load()
  1114. .done(function (result) {
  1115. if (result.length != 0) {
  1116. var dataArray = [];
  1117. var meta_temp = Meta;
  1118. if (meta_temp == 0) {
  1119. options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
  1120. options.dataSource = dataArray
  1121. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  1122. chart().option(options);
  1123. utils.toast.show("BemsPriceMeta 정보가 없습니다");
  1124. return;
  1125. }
  1126. var month_length = endday.getMonth() - startday.getMonth() + 1;
  1127. var value = new Array(13);
  1128. for (var k = 0; k < 13; k++) {
  1129. value[k] = new Array(2);
  1130. value[k][1] = 0;
  1131. }
  1132. for (var i = 0; i < result.length; i++) {
  1133. var time = result[i].CreatedDateTime;
  1134. switch (time.getMonth() + 1) {
  1135. case 1:
  1136. if (value[1][0] == null)
  1137. value[1][0] = time; //[1][0] 날짜
  1138. value[1][1] += result[i].DailyValue * meta_temp[1][0];
  1139. break;
  1140. case 2:
  1141. if (value[2][0] == null)
  1142. value[2][0] = time; //[2][0] 날짜
  1143. value[2][1] += result[i].DailyValue * meta_temp[2][0];
  1144. break;
  1145. case 3:
  1146. if (value[3][0] == null)
  1147. value[3][0] = time; //[1][0] 날짜
  1148. value[3][1] += result[i].DailyValue * meta_temp[3][0];
  1149. break;
  1150. case 4:
  1151. if (value[4][0] == null)
  1152. value[4][0] = time; //[1][0] 날짜
  1153. value[4][1] += result[i].DailyValue * meta_temp[4][0];
  1154. break;
  1155. case 5:
  1156. if (value[5][0] == null)
  1157. value[5][0] = time; //[1][0] 날짜
  1158. value[5][1] += result[i].DailyValue * meta_temp[5][0];
  1159. break;
  1160. case 6:
  1161. if (value[6][0] == null)
  1162. value[6][0] = time; //[1][0] 날짜
  1163. value[6][1] += result[i].DailyValue * meta_temp[6][0];
  1164. break;
  1165. case 7:
  1166. if (value[7][0] == null)
  1167. value[7][0] = time; //[1][0] 날짜
  1168. value[7][1] += result[i].DailyValue * meta_temp[7][0];
  1169. break;
  1170. case 8:
  1171. if (value[8][0] == null)
  1172. value[8][0] = time; //[1][0] 날짜
  1173. value[8][1] += result[i].DailyValue * meta_temp[8][0];
  1174. break;
  1175. case 9:
  1176. if (value[9][0] == null)
  1177. value[9][0] = time; //[1][0] 날짜
  1178. value[9][1] += result[i].DailyValue * meta_temp[9][0];
  1179. break;
  1180. case 10:
  1181. if (value[10][0] == null)
  1182. value[10][0] = time; //[1][0] 날짜
  1183. value[10][1] += result[i].DailyValue * meta_temp[10][0];
  1184. break;
  1185. case 11:
  1186. if (value[11][0] == null)
  1187. value[11][0] = time; //[1][0] 날짜
  1188. value[11][1] += result[i].DailyValue * meta_temp[11][0];
  1189. break;
  1190. case 12:
  1191. if (value[12][0] == null)
  1192. value[12][0] = time; //[1][0] 날짜
  1193. value[12][1] += result[i].DailyValue * meta_temp[12][0];
  1194. break;
  1195. }
  1196. }
  1197. if (fueltypeId == 2) {
  1198. for (var i = 1; i < 13; i++) {
  1199. value[i][1] = value[i][1] * gasheatquantity;
  1200. }
  1201. }
  1202. var start_point = 13;
  1203. var end_point = 0;
  1204. for (var i = 1; i <= 12; i++) {
  1205. if (value[i][0] != null) {
  1206. if (start_point == 13)
  1207. start_point = i;
  1208. end_point = i;
  1209. }
  1210. }
  1211. for (var i = start_point; i <= end_point; i++) {
  1212. if (value[i][0] != null) {
  1213. dataArray.push({
  1214. DateTime: BWA.Chart.getCustermTimeArgumentAxisString(timeinterval, moment(value[i][0]).toDate()),
  1215. Value: Math.round(value[i][1])
  1216. });
  1217. }
  1218. else
  1219. month_length--;
  1220. }
  1221. options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
  1222. options.dataSource = dataArray;
  1223. if (options.dataSource.length == (end_point - start_point + 1)) {
  1224. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  1225. chart().option(options);
  1226. }
  1227. }
  1228. else {
  1229. utils.toast.show("[BemsMonitoringPointHistoryHourly] 정보가 없습니다");
  1230. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  1231. return;
  1232. }
  1233. });
  1234. }
  1235. else {
  1236. utils.toast.show("[BemsEnergyCost] 정보가 없습니다");
  1237. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  1238. return;
  1239. }
  1240. })
  1241. .fail(function (error) {
  1242. alert(error);
  1243. });
  1244. }
  1245. });
  1246. }
  1247. else {
  1248. var Temp_Formula = Formula.split('+');
  1249. var value = new Array(13);
  1250. for (var k = 0; k < 13; k++) {
  1251. value[k] = new Array(2);
  1252. value[k][1] = 0;
  1253. }
  1254. var month_length = 0;
  1255. var total = 1;
  1256. for (var i = 0; i < Temp_Formula.length; i++) {
  1257. var dataSource2 = new DevExpress.data.DataSource({
  1258. store: new DevExpress.data.ODataStore({
  1259. url: endpointSelector + "/BemsFormulaParameter"
  1260. }),
  1261. requireTotalCount: true,
  1262. pageSize: 1
  1263. });
  1264. dataSource2.filter([
  1265. ["FacilityTypeId", "=", FacilityTypeId],
  1266. "and",
  1267. ["FormulaId", "=", FormulaId],
  1268. "and",
  1269. ["ParameterId", "=", Temp_Formula[i]]
  1270. ]);
  1271. dataSource2.load()
  1272. .done(function (result) {
  1273. if (result.length != 0) {
  1274. var ParameterFacilityCode = result[0].ParameterFacilityCode;
  1275. var ParameterPropertyId = result[0].ParameterPropertyId;
  1276. var dataSource3 = new DevExpress.data.DataSource({
  1277. store: new DevExpress.data.ODataStore({
  1278. url: endpointSelector + "/BemsEnergyCost"
  1279. }),
  1280. requireTotalCount: true,
  1281. pageSize: 1
  1282. });
  1283. dataSource3.filter([
  1284. ["FacilityCode", "=", ParameterFacilityCode],
  1285. "and",
  1286. ["GasPriceTypeId", "=", pricetypeId],
  1287. "and",
  1288. ["IsUse", "=", true]
  1289. ]);
  1290. dataSource3.load()
  1291. .done(function (result) {
  1292. if (result.length != 0) {
  1293. var FacilityCode = result[0].FacilityCode;
  1294. var FacilityTypeId = result[0].FacilityTypeId;
  1295. var dataSource4 = new DevExpress.data.DataSource({
  1296. store: new DevExpress.data.ODataStore({
  1297. url: endpointSelector + "/BemsMonitoringPointHistoryDaily"
  1298. }),
  1299. requireTotalCount: true,
  1300. pageSize: 9000
  1301. });
  1302. dataSource4.filter([
  1303. ["CreatedDateTime", ">=", new Date(startday.getFullYear(), startday.getMonth(), startday.getDate(), 0, 0, 0)],
  1304. "and",
  1305. ["CreatedDateTime", "<=", new Date(endday.getFullYear(), endday.getMonth(), endday.getDate(), 23, 59, 59)],
  1306. "and",
  1307. ["FacilityCode", "=", FacilityCode],
  1308. "and",
  1309. ["PropertyId", "=", ParameterPropertyId],
  1310. ]);
  1311. dataSource4.sort({ getter: "CreatedDateTime", desc: true });
  1312. dataSource4.load()
  1313. .done(function (result) {
  1314. if (result.length != 0) {
  1315. var dataArray = [];
  1316. var meta_temp = Meta;
  1317. if (meta_temp == 0) {
  1318. options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
  1319. options.dataSource = dataArray
  1320. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  1321. chart().option(options);
  1322. utils.toast.show("BemsPriceMeta 정보가 없습니다");
  1323. return;
  1324. }
  1325. month_length = endday.getMonth() - startday.getMonth() + 1;
  1326. for (var i = 0; i < result.length; i++) {
  1327. var time = result[i].CreatedDateTime;
  1328. switch (time.getMonth() + 1) {
  1329. case 1:
  1330. if (value[1][0] == null)
  1331. value[1][0] = time; //[1][0] 날짜
  1332. value[1][1] += result[i].DailyValue * meta_temp[1][0];
  1333. break;
  1334. case 2:
  1335. if (value[2][0] == null)
  1336. value[2][0] = time; //[2][0] 날짜
  1337. value[2][1] += result[i].DailyValue * meta_temp[2][0];
  1338. break;
  1339. case 3:
  1340. if (value[3][0] == null)
  1341. value[3][0] = time; //[1][0] 날짜
  1342. value[3][1] += result[i].DailyValue * meta_temp[3][0];
  1343. break;
  1344. case 4:
  1345. if (value[4][0] == null)
  1346. value[4][0] = time; //[1][0] 날짜
  1347. value[4][1] += result[i].DailyValue * meta_temp[4][0];
  1348. break;
  1349. case 5:
  1350. if (value[5][0] == null)
  1351. value[5][0] = time; //[1][0] 날짜
  1352. value[5][1] += result[i].DailyValue * meta_temp[5][0];
  1353. break;
  1354. case 6:
  1355. if (value[6][0] == null)
  1356. value[6][0] = time; //[1][0] 날짜
  1357. value[6][1] += result[i].DailyValue * meta_temp[6][0];
  1358. break;
  1359. case 7:
  1360. if (value[7][0] == null)
  1361. value[7][0] = time; //[1][0] 날짜
  1362. value[7][1] += result[i].DailyValue * meta_temp[7][0];
  1363. break;
  1364. case 8:
  1365. if (value[8][0] == null)
  1366. value[8][0] = time; //[1][0] 날짜
  1367. value[8][1] += result[i].DailyValue * meta_temp[8][0];
  1368. break;
  1369. case 9:
  1370. if (value[9][0] == null)
  1371. value[9][0] = time; //[1][0] 날짜
  1372. value[9][1] += result[i].DailyValue * meta_temp[9][0];
  1373. break;
  1374. case 10:
  1375. if (value[10][0] == null)
  1376. value[10][0] = time; //[1][0] 날짜
  1377. value[10][1] += result[i].DailyValue * meta_temp[10][0];
  1378. break;
  1379. case 11:
  1380. if (value[11][0] == null)
  1381. value[11][0] = time; //[1][0] 날짜
  1382. value[11][1] += result[i].DailyValue * meta_temp[11][0];
  1383. break;
  1384. case 12:
  1385. if (value[12][0] == null)
  1386. value[12][0] = time; //[1][0] 날짜
  1387. value[12][1] += result[i].DailyValue * meta_temp[12][0];
  1388. break;
  1389. }
  1390. }
  1391. if (gaspricetotal == total) {
  1392. if (fueltypeId == 2) {
  1393. for (var i = 1; i < 13; i++) {
  1394. value[i][1] = value[i][1] * gasheatquantity;
  1395. }
  1396. }
  1397. var start_point = 13;
  1398. var end_point = 0;
  1399. for (var i = 1; i <= 12; i++) {
  1400. if (value[i][0] != null) {
  1401. if (start_point == 13)
  1402. start_point = i;
  1403. end_point = i;
  1404. }
  1405. }
  1406. for (var i = start_point; i <= end_point; i++) {
  1407. if (value[i][0] != null) {
  1408. dataArray.push({
  1409. DateTime: BWA.Chart.getCustermTimeArgumentAxisString(timeinterval, moment(value[i][0]).toDate()),
  1410. Value: Math.round(value[i][1])
  1411. });
  1412. }
  1413. else
  1414. month_length--;
  1415. }
  1416. options = BWA.ChartOptions.ViewCostByEnergy.getSeriesOptions(fueltypeId, timeinterval);
  1417. options.dataSource = dataArray;
  1418. if (options.dataSource.length == (end_point - start_point + 1)) {
  1419. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  1420. chart().option(options);
  1421. }
  1422. }
  1423. }
  1424. else {
  1425. utils.toast.show("[BemsMonitoringPointHistoryHourly] 정보가 없습니다");
  1426. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  1427. return;
  1428. }
  1429. total++;
  1430. });
  1431. }
  1432. })
  1433. .fail(function (error) {
  1434. alert(error);
  1435. });
  1436. }
  1437. });
  1438. }
  1439. }
  1440. }
  1441. }
  1442. else {
  1443. utils.toast.show("[BemsFormula] 정보가 없습니다");
  1444. return;
  1445. }
  1446. });
  1447. }
  1448. else {
  1449. $("#LoadPanel").dxLoadPanel('instance').option('visible', false);
  1450. utils.toast.show("[BemsPriceFormula] 정보가 없습니다");
  1451. return;
  1452. }
  1453. });
  1454. }
  1455. function handleViewShown() {
  1456. //$("#textbox").dxTextBox({
  1457. // text: "기본요금",
  1458. // disabled: true
  1459. //});
  1460. //$("#waterBtn").dxButton({
  1461. // visible: false
  1462. //});
  1463. //$("#textbox").dxTextBox('instance').option('visible', false); //disvisible
  1464. //$("#BasePrice").dxTextBox('instance').option('visible', false);//disvisible
  1465. //$("#ApplyBtn").dxButton('instance').option('visible', false);//disvisible
  1466. fueltypeId = 1;
  1467. selectEnergy = "전력";
  1468. $("#powerBtn").css("background-image", "linear-gradient(180deg,#9babc3 0%,#41618c 100%)");
  1469. $("#gasBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
  1470. $("#LoadPanel").dxLoadPanel({
  1471. message: '로딩 중...',
  1472. showIndicator: true,
  1473. visible: false
  1474. });
  1475. setTabData(SiteID, 1, 'P038'); //초기화 전력 P038 기본요금
  1476. chart = chart(BWA.ChartOptions.ViewCostByEnergy.getChartOptions(timeinterval));
  1477. }
  1478. function setTabData(SiteID, FuelTypeId, InitPriceCode) {
  1479. var dataSource = new DevExpress.data.DataSource({
  1480. store: new DevExpress.data.ODataStore({
  1481. url: endpointSelector + "/BemsSitePrice"
  1482. }),
  1483. expand: ['BemsPriceType'],
  1484. requireTotalCount: true,
  1485. pageSize: 1000
  1486. });
  1487. dataSource.filter([
  1488. ["SiteID", "=", SiteID],
  1489. "and",
  1490. ["FuelTypeId", "=", FuelTypeId]
  1491. ]);
  1492. dataSource.sort({ getter: "FuelTypeId", asc: true });
  1493. dataSource.load()
  1494. .done(function (result) {
  1495. var tmp = [];
  1496. tmp.push({ id: result[0].BemsPriceType.PriceTypeId, text: result[0].BemsPriceType.PriceTypeIdDesc });
  1497. pricetypeId = result[0].BemsPriceType.PriceTypeId;
  1498. getChartData(); // 차트 정보 데이터 가져오기
  1499. for (var i = 0; i < result.length; i++) {
  1500. var resultCnt;
  1501. for (var j = 0; j < tmp.length; j++) {
  1502. if (tmp[j].text.indexOf(result[i].BemsPriceType.PriceTypeIdDesc) != -1) {
  1503. resultCnt++;
  1504. }
  1505. }
  1506. if (resultCnt == 0)
  1507. tmp.push({ id: result[i].BemsPriceType.PriceTypeId, text: result[i].BemsPriceType.PriceTypeIdDesc });
  1508. resultCnt = 0;
  1509. }
  1510. tabsData = tmp;
  1511. $("#tabOptions").dxTabs("instance").option('dataSource', tabsData);
  1512. if (!init) {
  1513. $("#tabOptions").dxTabs("instance").option('selectedIndex', 0);
  1514. init = true;
  1515. } else {
  1516. }
  1517. if (InitPriceCode == null)
  1518. InitPriceCode = 'P038'; //초기 PriceCode 전력 P038 청구요금
  1519. getPriceMeta(result[0].BemsPriceType.PriceTypeId);
  1520. });
  1521. }
  1522. function getPriceMeta(PriceTypeId) {
  1523. Meta = new Array(13);
  1524. for (var i = 1; i < 13; i++) {
  1525. Meta[i] = new Array(24);
  1526. }
  1527. var dataSource = new DevExpress.data.DataSource({
  1528. store: new DevExpress.data.ODataStore({
  1529. url: endpointSelector + "/BemsPriceMeta"
  1530. }),
  1531. requireTotalCount: true,
  1532. pageSize: 1
  1533. });
  1534. dataSource.filter([
  1535. ["PriceTypeId", "=", PriceTypeId]
  1536. ]);
  1537. dataSource.sort({ getter: "PublishDate", desc: true });
  1538. dataSource.load()
  1539. .done(function (result) {
  1540. if (result.length != 0) {
  1541. PriceMeta = result[0];
  1542. 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;
  1543. 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;
  1544. 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;
  1545. 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;
  1546. 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;
  1547. 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;
  1548. 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;
  1549. 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;
  1550. 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;
  1551. 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;
  1552. 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;
  1553. 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;
  1554. getBasePrice(SiteID, fueltypeId, pricetypeId);
  1555. }
  1556. else {
  1557. Meta = 0;
  1558. return;
  1559. }
  1560. })
  1561. .fail(function (error) {
  1562. alert(error);
  1563. });
  1564. }
  1565. function getBasePrice(SiteId, FuelTypeId, PricetypeId) {
  1566. var PriceCode;
  1567. if (FuelTypeId == 1) {
  1568. PriceCode = "P022";
  1569. /*
  1570. var dataSource = new DevExpress.data.DataSource({
  1571. store: new DevExpress.data.ODataStore({
  1572. url: endpointSelector + "/BemsSitePriceHistory"
  1573. }),
  1574. expand: ['BemsPriceCode', 'BemsPriceType'],
  1575. requireTotalCount: true,
  1576. pageSize: 1
  1577. });
  1578. dataSource.filter([
  1579. ["SiteId", "=", SiteId],
  1580. "and",
  1581. ["PriceTypeId", "=", PricetypeId],
  1582. "and",
  1583. ["PriceCode", "=", PriceCode]
  1584. ]);
  1585. dataSource.sort({ getter: "EndDate", desc: true });
  1586. dataSource.load()
  1587. .done(function (result) {
  1588. if (fueltypeId == 1) {
  1589. if (result.length != 0) {
  1590. $("#BasePrice").dxTextBox({
  1591. placeholder: "기본요금"
  1592. });
  1593. baseprice = result[0].PriceValue;
  1594. $("#BasePrice").dxTextBox('instance').option('value', "\\" + numberWithCommas(baseprice));
  1595. }
  1596. else {
  1597. $("#BasePrice").dxTextBox({
  1598. placeholder: "기본요금"
  1599. });
  1600. baseprice = 0;
  1601. $("#BasePrice").dxTextBox('instance').option('value', null);
  1602. utils.toast.show("기본요금 정보가 없습니다");
  1603. return;
  1604. }
  1605. $("#gasBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
  1606. $("#waterBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
  1607. $("#powerBtn").css("background-image", "linear-gradient(180deg,#9babc3 0%,#41618c 100%)");
  1608. $("#textbox").dxTextBox('instance').option('visible', true);
  1609. $("#BasePrice").dxTextBox('instance').option('visible', true);
  1610. $("#ApplyBtn").dxButton('instance').option('visible', true);
  1611. }
  1612. })
  1613. .fail(function (error) {
  1614. alert(error);
  1615. });
  1616. */
  1617. }
  1618. else if (FuelTypeId == 2) {
  1619. var dataSource = new DevExpress.data.DataSource({
  1620. store: new DevExpress.data.ODataStore({
  1621. url: endpointSelector + "/BemsEnergyCost"
  1622. }),
  1623. requireTotalCount: true,
  1624. pageSize: 10
  1625. });
  1626. dataSource.filter([
  1627. ["GasPriceTypeId", "=", PricetypeId],
  1628. "and",
  1629. ["IsUse", "=", true]
  1630. ]);
  1631. dataSource.load()
  1632. .done(function (result) {
  1633. gasheatquantity = 0, gaspricetotal = 0;
  1634. gaspricetotal = result.length;
  1635. gasheatquantity = result[0].GasHeatQuantity;
  1636. })
  1637. .fail(function (error) {
  1638. alert(error);
  1639. });
  1640. $("#powerBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
  1641. $("#waterBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
  1642. $("#gasBtn").css("background-image", "linear-gradient(180deg,#9babc3 0%,#41618c 100%)");
  1643. //$("#textbox").dxTextBox('instance').option('visible', false);
  1644. //$("#BasePrice").dxTextBox('instance').option('visible', false);
  1645. //$("#ApplyBtn").dxButton('instance').option('visible', false);
  1646. }
  1647. else {
  1648. PriceCode = "W001";
  1649. }
  1650. }
  1651. function numberWithCommas(x) {
  1652. return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  1653. }
  1654. var searchViewOptions = {
  1655. };
  1656. function handleSearchInSearchView() {
  1657. }
  1658. var viewModel = $.extend(BWA.CommonView.create(params, viewInfo, searchViewOptions, ko.observable(null), handleViewShown, null, handleSearchInSearchView),
  1659. {
  1660. viewShowing: handleViewShowing,
  1661. powerButtonClicked: function () {
  1662. selectEnergy = "전력";
  1663. fueltypeId = 1;
  1664. $("#powerBtn").css("background-image", "linear-gradient(180deg,#9babc3 0%,#41618c 100%)");
  1665. $("#gasBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
  1666. //$("#waterBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
  1667. //$("#textbox").dxTextBox('instance').option('visible', false); //disvisible
  1668. //$("#BasePrice").dxTextBox('instance').option('visible', false);//disvisible
  1669. //$("#ApplyBtn").dxButton('instance').option('visible', false);//disvisible
  1670. init = false;
  1671. setTabData(SiteID, 1, 'P038');
  1672. //getChartData();
  1673. }, gasButtonClicked: function () {
  1674. selectEnergy = "가스";
  1675. fueltypeId = 2;
  1676. $("#powerBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
  1677. $("#gasBtn").css("background-image", "linear-gradient(180deg,#9babc3 0%,#41618c 100%)");
  1678. //$("#waterBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
  1679. //$("#textbox").dxTextBox('instance').option('visible', false);
  1680. //$("#BasePrice").dxTextBox('instance').option('visible', false);
  1681. //$("#ApplyBtn").dxButton('instance').option('visible', false);
  1682. init = false;
  1683. setTabData(SiteID, 2, 'G005');
  1684. //getChartData();
  1685. }, waterButtonClicked: function () {
  1686. selectEnergy = "수도";
  1687. fueltypeId = 3;
  1688. $("#powerBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
  1689. $("#gasBtn").css("background-image", "linear-gradient(rgb(56,88,130) 0%, rgb(44,68,101)100%)");
  1690. $("#waterBtn").css("background-image", "linear-gradient(180deg,#9babc3 0%,#41618c 100%)");
  1691. init = false;
  1692. setTabData(SiteID, 3, 'W006');
  1693. //getChartData();
  1694. },
  1695. //applyButtonClicked: function () {
  1696. // var temp_baseprice = $("#BasePrice").dxTextBox('instance').option('value');
  1697. // temp_baseprice = temp_baseprice.replace(/[^0-9\.]+/g, "");
  1698. // var datasource = options.dataSource;
  1699. // var datasource_temp = [];
  1700. // var start_point = 13;
  1701. // var end_point = 0;
  1702. // var end_point_temp = 0;
  1703. // var changed = true;
  1704. // for (var i = 0; i < datasource.length; i++) {
  1705. // if (datasource[i].Value != null) {
  1706. // if (changed) {
  1707. // start_point = i
  1708. // changed = false;
  1709. // }
  1710. // end_point = i;
  1711. // }
  1712. // }
  1713. // for (var i = start_point; i <= end_point; i++) {
  1714. // datasource_temp.push({
  1715. // DateTime: datasource[i].DateTime,
  1716. // basic: Math.round(temp_baseprice)
  1717. // });
  1718. // }
  1719. // for (var i = start_point; i <= end_point; i++) {
  1720. // datasource_temp.push({
  1721. // DateTime: datasource[i].DateTime,
  1722. // Value: datasource[i].Value,
  1723. // });
  1724. // }
  1725. // options.dataSource = datasource_temp;
  1726. // chart().option(options);
  1727. //},
  1728. tabOptions: {
  1729. dataSource: tabsData,
  1730. height: 20,
  1731. selectedIndex: 0,
  1732. onSelectionChanged: function (e) {
  1733. if (init) {
  1734. if (selectEnergy == "전력") {
  1735. fueltypeId = 1;
  1736. } else if (selectEnergy == "가스") {
  1737. fueltypeId = 2;
  1738. } else if (selectEnergy == "수도") {
  1739. fueltypeId = 3;
  1740. } else {
  1741. utils.toast.show("에너지원이 선택되지 않았습니다.");
  1742. }
  1743. if (init && PublishDate != null) {
  1744. pricetypeId = e.addedItems[0].id;
  1745. getPriceMeta(pricetypeId); // e.addedItems[0].id = PriceTypeId
  1746. getChartData();
  1747. }
  1748. }
  1749. }
  1750. },
  1751. startDatePicker: {
  1752. pickerType: "calendar",
  1753. value: firstDay,
  1754. formatString: "yyyy년",
  1755. maxZoomLevel: "decade",
  1756. width: "9%",
  1757. onValueChanged: function (e) {
  1758. if (selectEnergy == "전력") {
  1759. fueltypeId = 1;
  1760. } else if (selectEnergy == "가스") {
  1761. fueltypeId = 2;
  1762. } else if (selectEnergy == "수도") {
  1763. fueltypeId = 3;
  1764. } else {
  1765. utils.toast.show("에너지원이 선택되지 않았습니다.");
  1766. }
  1767. var PublishDateInit = $("#PublishDate").dxDateBox("instance").option('value');
  1768. selectdate = PublishDateInit;
  1769. getChartData();
  1770. }
  1771. }
  1772. });
  1773. return viewModel;
  1774. };