MRH00700.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. var gRptCd = ''; //현재 통계번호
  2. //화면 초기화 이벤트
  3. function fInitialize() {
  4. model.resetInstanceNode("/root/send/reqdata"); //통계구분조건 초기화
  5. model.resetInstanceNode("/root/send/condition"); //검색조건 초기화
  6. model.resetInstanceNode("/root/main/statslist"); //현황 초기화
  7. fInitCond(); //초기 조건 설정
  8. var gScrParmL = getScreenMenuParameter().substr(0,2); //대분류
  9. var gScrParmM = getScreenMenuParameter().substr(2,2); //중분류
  10. var gScrParmS = getScreenMenuParameter().substr(4,2); //소분류
  11. var gScrParmR = getScreenMenuParameter().substr(6,7); //화면 ID
  12. gRptCd = gScrParmR;
  13. model.setValue("root/send/reqdata/cdflag", '04'); //
  14. model.setValue("root/send/reqdata/lrgcd", gScrParmL );
  15. model.setValue("root/send/reqdata/mdlcd", gScrParmM );
  16. model.setValue("root/send/reqdata/smlcd", gScrParmS );
  17. model.setValue("root/send/reqdata/rptcd", gScrParmR );
  18. if (submit("TRMRH00700")) {
  19. //model.setValue("/root/main/title/rptnm", model.getValue("/root/hidden/rptinfo/rptnm" ) ); //화면 이름
  20. //model.setValue("/root/main/title/listnm", model.getValue("/root/hidden/rptinfo/rptcd" )); //화면 CODE
  21. cap_title.text = model.getValue("/root/hidden/rptinfo/rptnm" ); //화면 이름
  22. lbl_list.text = model.getValue("/root/hidden/rptinfo/mdlnm")+" "+model.getValue("/root/hidden/rptinfo/smlnm");
  23. fProcGrid(gScrParmR); //그리드 처리
  24. }
  25. }
  26. /**
  27. * 조회조건 설정
  28. */
  29. function fInitCond() {
  30. var currYear = (new Date()).getFullYear();
  31. var yearsAgo = currYear-10;
  32. var nodeset = instance1.selectSingleNode(cmb_cond1.choices.itemset.attribute("nodeset"));
  33. for (var i = currYear; i > yearsAgo; i--) {
  34. var nodeLbl = instance1.createElement("lbl");
  35. var nodeVal = instance1.createElement("val");
  36. nodeLbl.value = i;
  37. nodeVal.value = i;
  38. nodeset.appendChild(nodeLbl);
  39. nodeset.appendChild(nodeVal);
  40. }
  41. model.refresh();
  42. cmb_cond1.value = currYear;
  43. }
  44. /**
  45. * 그리드 처리(caption, width, align)
  46. */
  47. function fProcGrid(rptCd) {
  48. var iCols = grd_stats.cols;
  49. var sCaption = model.getValue("/root/hidden/rptinfo/rpttitle");
  50. var sWidth = model.getValue("/root/hidden/rptinfo/rptsize");
  51. var sLeft = model.getValue("/root/hidden/rptinfo/left");
  52. var sMiddle = model.getValue("/root/hidden/rptinfo/middle");
  53. var arrCap = sCaption.split("^");
  54. var arrLeft = sLeft.split("^");
  55. var arrMid = sMiddle.split("^");
  56. var iRest = iCols - arrCap.length;
  57. grd_stats.caption = sCaption;
  58. grd_stats.attribute("colwidth") = sWidth;
  59. grd_stats.mergecells = "bycol";
  60. //현재 통계장표 컬럼 보이기 및 기본 align을 right로
  61. for (var i = 0; i < arrCap.length; i++) {
  62. if (arrCap[i] == "목표치") {
  63. grd_stats.colType(i) = "input";
  64. } else {
  65. grd_stats.colType(i) = "output";
  66. }
  67. grd_stats.mergecol(i) = false;
  68. grd_stats.colHidden(i) = false;
  69. grd_stats.colstyle(i, "data", "text-align") = "right";
  70. grd_stats.colAttribute(i, "format") = "#,###.#";
  71. grd_stats.colAttribute(i, "roundmode") = "round";
  72. grd_stats.colAttribute(i, "roundposition") = "-2";
  73. }
  74. switch (rptCd) {
  75. case 'RR00900':
  76. grd_stats.mergecol(0) = true;
  77. break;
  78. case 'RR00901':
  79. grd_stats.mergecol(0) = true;
  80. grd_stats.mergecol(1) = true;
  81. break;
  82. default:
  83. grd_stats.mergecol(0) = true;
  84. break;
  85. }
  86. //이외 컬럼 숨기기
  87. for (var i = arrCap.length; i < iCols; i++) {
  88. grd_stats.colHidden(i) = true;
  89. }
  90. //왼쪽정렬처리
  91. for (var i = 0; i < arrLeft.length; i++) {
  92. if (arrLeft[i] == "")
  93. continue;
  94. grd_stats.colstyle(arrLeft[i], "data", "text-align") = "left";
  95. grd_stats.colAttribute(arrLeft[i], "format") = "";
  96. grd_stats.colAttribute(arrLeft[i], "roundmode") = "";
  97. grd_stats.colAttribute(arrLeft[i], "roundposition") = "";
  98. }
  99. //중앙정렬처리
  100. for (var i = 0; i < arrMid.length; i++) {
  101. if (arrMid[i] == "")
  102. continue;
  103. grd_stats.colstyle(arrMid[i], "data", "text-align") = "center";
  104. grd_stats.colAttribute(arrMid[i], "format") = "";
  105. grd_stats.colAttribute(arrMid[i], "roundmode") = "";
  106. grd_stats.colAttribute(arrMid[i], "roundposition") = "";
  107. }
  108. grd_stats.refresh();
  109. }
  110. /**
  111. *
  112. */
  113. function fSrchStatsList() {
  114. model.setValue("/root/send/condition/rptcd", model.getValue("/root/hidden/rptinfo/rptcd"));
  115. submit("TRMRH00701");
  116. switch (gRptCd) {
  117. case 'RR00900':
  118. //
  119. break;
  120. case 'RR00901':
  121. //
  122. grd_stats.mergeByFree(9, 0, 12, 1);
  123. grd_stats.mergeByFree(25, 0, 28, 1);
  124. grd_stats.mergeByFree(29, 0, 32, 1);
  125. grd_stats.mergeByFree(33, 0, 36, 1);
  126. grd_stats.mergeByFree(37, 0, 40, 1);
  127. grd_stats.mergeByFree(41, 0, 44, 1);
  128. grd_stats.mergeByFree(45, 0, 48, 1);
  129. grd_stats.mergeByFree(57, 0, 57, 1);
  130. grd_stats.mergeByFree(58, 0, 58, 1);
  131. grd_stats.mergeByFree(59, 0, 59, 1);
  132. grd_stats.mergeByFree(60, 0, 60, 1);
  133. grd_stats.mergeByFree(61, 0, 61, 1);
  134. grd_stats.mergeByFree(64, 0, 64, 1);
  135. grd_stats.mergeByFree(85, 0, 86, 1);
  136. grd_stats.mergeByFree(87, 0, 88, 1);
  137. grd_stats.mergeByFree(89, 0, 89, 1);
  138. grd_stats.mergeByFree(90, 0, 90, 1);
  139. grd_stats.mergeByFree(91, 0, 91, 1);
  140. grd_stats.mergeByFree(92, 0, 92, 1);
  141. grd_stats.mergeByFree(93, 0, 96, 1);
  142. grd_stats.mergeByFree(97, 0, 97, 1);
  143. grd_stats.mergeByFree(98, 0, 98, 1);
  144. grd_stats.mergeByFree(99, 0, 99, 1);
  145. grd_stats.mergeByFree(100, 0, 100, 1);
  146. grd_stats.mergeByFree(101, 0, 101, 1);
  147. grd_stats.mergeByFree(112, 0, 112, 1);
  148. grd_stats.mergeByFree(113, 0, 113, 1);
  149. grd_stats.mergeByFree(114, 0, 114, 1);
  150. grd_stats.mergeByFree(115, 0, 115, 1);
  151. break;
  152. case 'RR00902':
  153. //
  154. break;
  155. case 'RR00903':
  156. //
  157. grd_stats.mergeByFree(17, 0, 17, 1);
  158. grd_stats.mergeByFree(18, 0, 18, 1);
  159. grd_stats.mergeByFree(19, 0, 19, 1);
  160. grd_stats.mergeByFree(20, 0, 20, 1);
  161. grd_stats.mergeByFree(21, 0, 21, 1);
  162. grd_stats.mergeByFree(22, 0, 22, 1);
  163. grd_stats.mergeByFree(23, 0, 23, 1);
  164. grd_stats.mergeByFree(24, 0, 27, 1);
  165. grd_stats.mergeByFree(28, 0, 31, 1);
  166. grd_stats.mergeByFree(32, 0, 32, 1);
  167. grd_stats.mergeByFree(33, 0, 33, 1);
  168. grd_stats.mergeByFree(34, 0, 34, 1);
  169. grd_stats.mergeByFree(35, 0, 35, 1);
  170. grd_stats.mergeByFree(36, 0, 36, 1);
  171. grd_stats.mergeByFree(37, 0, 37, 1);
  172. grd_stats.mergeByFree(38, 0, 38, 1);
  173. grd_stats.mergeByFree(39, 0, 39, 1);
  174. grd_stats.mergeByFree(40, 0, 40, 1);
  175. break;
  176. default:
  177. //
  178. break;
  179. }
  180. }
  181. /**
  182. * Excel파일 저장
  183. */
  184. function fSaveExcel(){
  185. var rptNm = model.getValue("/root/hidden/rptinfo/rptnm" )+"_"+getCurrentDate();
  186. var file = window.fileDialog("save","","true", rptNm,"xls","All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  187. if(file != "") {
  188. grd_stats.saveExcel(file, "SheetName", true, true, "", "", false);
  189. }
  190. }