SSSTC00100.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. var curDate = getCurrentDate();
  2. var sORDERBY = "desc";
  3. curDate = curDate.toDate().getAddDate(-1,"D");
  4. var gBasedd = curDate.getFullYear();
  5. gBasedd = gBasedd.toString() + (( curDate.getMonth() + 1 > 9 ) ? curDate.getMonth() + 1 : "0" + (curDate.getMonth() + 1));
  6. gBasedd = gBasedd.toString() + (( curDate.getDate() > 9 ) ? curDate.getDate() : "0" + curDate.getDate()) ;
  7. var gUserid = getUserId();
  8. //화면 초기화 이벤트
  9. function fInitialize() {
  10. model.resetInstanceNode("/root/send/");
  11. model.resetInstanceNode("/root/init/rptm");
  12. model.resetInstanceNode("/root/init/rptm_cond");
  13. model.resetInstanceNode("/root/init/rptm_grid");
  14. model.resetInstanceNode("/root/init/rptInfo/rptInfoList");
  15. var gScrParmL = getScreenMenuParameter().substr(0,2); //대분류
  16. var gScrParmM = getScreenMenuParameter().substr(2,2); //중분류
  17. var gScrParmS = getScreenMenuParameter().substr(4,2); //소분류
  18. var gScrParmR = getScreenMenuParameter().substr(6,7); //화면 ID
  19. /*
  20. var gScrParmL = '02';
  21. var gScrParmM = '01';
  22. var gScrParmS = '19';
  23. var gScrParmR = 'RR00233';
  24. /*
  25. var gScrParmL = '03'
  26. var gScrParmM = '02';
  27. var gScrParmS = '01';
  28. var gScrParmR = 'RR00756';
  29. var gScrParmL = '03';
  30. var gScrParmM = '02';
  31. var gScrParmS = '01';
  32. var gScrParmR = 'RR00756';
  33. var gScrParmL = '03';
  34. var gScrParmM = '02';
  35. var gScrParmS = '03';
  36. var gScrParmR = 'RR01139';
  37. var gScrParmL = '03';
  38. var gScrParmM = '02';
  39. var gScrParmS = '05';
  40. var gScrParmR = 'RR01147';
  41. var gScrParmL = '03';
  42. var gScrParmM = '04';
  43. var gScrParmS = '03';
  44. var gScrParmR = 'RR01142';
  45. var gScrParmL = '03';
  46. var gScrParmM = '04';
  47. var gScrParmS = '02';
  48. var gScrParmR = 'RR01146';
  49. var gScrParmL = '03';
  50. var gScrParmM = '04';
  51. var gScrParmS = '03';
  52. var gScrParmR = 'RR01142';
  53. */
  54. model.setValue("root/send/in_lrgcd", gScrParmL );
  55. model.setValue("root/send/in_mdlcd", gScrParmM );
  56. model.setValue("root/send/in_smlcd", gScrParmS );
  57. model.setValue("root/send/in_rptcd", gScrParmR );
  58. submit("TRSTC00401");
  59. model.setValue("/root/init/rptm/rpt/rptcd/rptnm", model.getValue("/root/init/rptInfo/rptInfoList/rptnm" ) ); //화면 이름
  60. model.setValue("/root/init/rptm/rpt/rptcd/rptcd", model.getValue("/root/init/rptInfo/rptInfoList/rptcd" )); //화면 CODE
  61. //2011.06.17
  62. model.makeNode("/root/send/instcd");
  63. model.setValue("/root/send/instcd", model.getValue("/root/init/rptInfo/rptInfoList/instcd" ));
  64. //2011.06.17
  65. cb_rpt.dispatch("xforms-select");
  66. fGetStsRptInfo(); // 화면 초기화에 보이는 라벨이나 버튼 세팅
  67. // model.refresh();
  68. var today = getCurrentDate()
  69. model.setValue("/root/hide/etc/today",today );
  70. model.setValue("/root/send/in_fromdd",gBasedd );
  71. model.setValue("/root/send/in_todd",gBasedd );
  72. model.setValue("/root/send/in_fromdd2",gBasedd );
  73. model.setValue("/root/send/in_todd2",gBasedd );
  74. model.refresh();
  75. }
  76. function fGetStsRptInfo() {
  77. var visibilityindex = 0
  78. var gScrParmR = getScreenMenuParameter().substr(6,7);
  79. model.resetInstanceNode("/root/init/rptm_cond");
  80. for( var i = 1 ; model.getValue("/root/init/rptInfo/rptInfoList/cond" +i) != "--" ; i++){
  81. if (model.getValue("/root/init/rptInfo/rptInfoList/cond" +i) == "")
  82. break;
  83. model.resetInstanceNode("/root/init/rptm_cond/tmpcond/");
  84. var cond = model.getValue("/root/init/rptInfo/rptInfoList/cond" +i) ;
  85. model.setValue("/root/send/cond/condnum", cond);
  86. submit("TRSTC00402");
  87. model.copyNode("/root/init/rptm_cond/cond" +i , "/root/init/rptm_cond/cond");
  88. //2012/04/19 Start
  89. var rptcd=model.getValue("/root/init/rptm/rpt/rptcd/rptcd");
  90. if(rptcd=="RR00226"){ //보험유형별 입원환자현황일시에 병동이 안보이도록 수정
  91. }else if(rptcd=="RR00250"){ //응급실 보험유형별 입실현황
  92. }else{
  93. visibilityindex = i;
  94. }
  95. //2012/04/19 End
  96. }
  97. fCondVisibleYN(visibilityindex);
  98. }
  99. /**
  100. * @group :
  101. * @ver : 2008.07.30
  102. * @made by : smartselly
  103. * @---------------------------------------------------
  104. * @type : function
  105. * @access : public
  106. * @desc : combo visible
  107. * @param :
  108. * @return :
  109. * @---------------------------------------------------
  110. */
  111. function fCondVisibleYN(visibilityindex ) {
  112. // Naming Rule
  113. // Group ID : group_c[1~n]
  114. // Control ID : cb_cond[Sequence Number]_[Group ID Number]
  115. // Caption ID : cp_text[Sequence Number]_[Gropu ID Number]
  116. var activeGrp = 0;
  117. for ( var k = 1 ; k <= 50 ; k++ )
  118. {
  119. group_id = "group_c" + k;
  120. if (!document.all(group_id))
  121. {
  122. break;
  123. }
  124. ObjGrp = document.all(group_id);
  125. if (ObjGrp.attribute("visibility") == "visible" )
  126. {
  127. activeGrp = k;
  128. break;
  129. }
  130. }
  131. for ( var i = 1; i <= visibilityindex; i++ ) {
  132. cond_id = "cb_cond" + i + "_" + activeGrp;
  133. ObjCond = document.all(cond_id);
  134. ObjCond.visible = true;
  135. //
  136. if (ObjCond.attribute("class") == "combo_search")
  137. {
  138. // ObjCond.Select(0);
  139. //alert("test = " + ObjCond.Select(0));
  140. }
  141. //
  142. cond_cp = "cp_text" + i + "_" + activeGrp;
  143. ObjCond = document.all(cond_cp);
  144. ObjCond.visible = true;
  145. }
  146. /*
  147. for ( var i = 1; i <= visibilityindex; i++ ) {
  148. if ( i == 1 ) { cb_cond1.visible = true; cp_text1.visible = true; }
  149. if ( i == 2 ) { cb_cond2.visible = true; cp_text2.visible = true; }
  150. if ( i == 3 ) { cb_cond3.visible = true; cp_text3.visible = true; }
  151. if ( i == 4 ) { cb_cond4.visible = true; cp_text4.visible = true; }
  152. if ( i == 5 ) { cb_cond5.visible = true; cp_text5.visible = true; }
  153. if ( i == 6 ) { cb_cond6.visible = true; cp_text6.visible = true; }
  154. if ( i == 7 ) { cb_cond7.visible = true; cp_text7.visible = true; }
  155. if ( i == 8 ) { cb_cond8.visible = true; cp_text8.visible = true; }
  156. if ( i == 9 ) { cb_cond9.visible = true; cp_text9.visible = true; }
  157. if ( i == 10 ) { cb_cond10.visible = true; cp_text10.visible = true; }
  158. }
  159. for(var i = visibilityindex+1 ; i < 11 ; i++){
  160. if ( i == 1 ) { cb_cond1.visible = false; cp_text1.visible = false; }
  161. if ( i == 2 ) { cb_cond2.visible = false; cp_text2.visible = false; }
  162. if ( i == 3 ) { cb_cond3.visible = false; cp_text3.visible = false; }
  163. if ( i == 4 ) { cb_cond4.visible = false; cp_text4.visible = false; }
  164. if ( i == 5 ) { cb_cond5.visible = false; cp_text5.visible = false; }
  165. if ( i == 6 ) { cb_cond6.visible = false; cp_text6.visible = false; }
  166. if ( i == 7 ) { cb_cond7.visible = false; cp_text7.visible = false; }
  167. if ( i == 8 ) { cb_cond8.visible = false; cp_text8.visible = false; }
  168. if ( i == 9 ) { cb_cond9.visible = false; cp_text9.visible = false; }
  169. if ( i == 10 ) { cb_cond10.visible = false; cp_text10.visible = false; }
  170. }
  171. */
  172. fShowGridForm(visibilityindex,activeGrp);
  173. }
  174. /**
  175. * @group :
  176. * @ver : 2008.07.30
  177. * @made by : smartselly
  178. * @---------------------------------------------------
  179. * @type : function
  180. * @access : public
  181. * @desc : Grid title,size Setting
  182. * @param :
  183. * @return :
  184. * @---------------------------------------------------
  185. */
  186. function fShowGridForm(visibilityindex,activeGrp) {
  187. var iColWidth = dgrd_rpt.attribute("colwidth");
  188. var sGridTitle = model.getValue("/root/init/rptInfo/rptInfoList/rpttitle"); // 그리드의 칼럼 제목
  189. var sGridSize = model.getValue("/root/init/rptInfo/rptInfoList/rptsize"); // 그리드의 칼럼 사이즈
  190. var iOldGrdColCnt = dgrd_rpt.cols; // 기본 그리드의 칼럼 갯수
  191. var refarr = sGridTitle.split("^"); // 그리드의 칼럼제목 갯수
  192. var sizearr = sGridSize.split(","); // 그리드의 칼럼 사이즈 갯수
  193. var pid = dgrd_rpt.attribute("");
  194. dgrd_rpt.visible = "false";
  195. dgrd_rpt.caption = sGridTitle; // 그리드의 칼럼 제목을 DB에서 가져온걸로 셋팅
  196. for(var i = 0, size=refarr.length; i < size; i++) { // 루푸를 돌면서 칼럼 제목에 맞게 설정한 칼럼 사이즈를 셋팅
  197. dgrd_rpt.colWidth(i) = eval(sizearr[i]);
  198. }
  199. for (var i = sizearr.length ; i <= iOldGrdColCnt ; i++) { // 셋팅된 칼럼의 갯수보다 기본 그리드의 칼럼 갯수가 많다면 뒷쪽의 칼럼을 히든 처리
  200. dgrd_rpt.colHidden(i) = true;
  201. dgrd_rpt.deleteColumn(sizearr.length+1,false) ;
  202. }
  203. // ObjGrp = document.all("cb_cond1_1");
  204. // ObjGrp.Select(0);
  205. for ( var i = 1; i <= visibilityindex; i++ ) {
  206. cond_id = "cb_cond" + i + "_" + activeGrp;
  207. ObjCond = document.all(cond_id);
  208. ObjCond.visible = true;
  209. if (ObjCond.attribute("class") == "combo_search")
  210. {
  211. ObjCond.Select(0);
  212. //alert("test = " + ObjCond.Select(0));
  213. }
  214. cond_cp = "cp_text" + i + "_" + activeGrp;
  215. ObjCond = document.all(cond_cp);
  216. ObjCond.visible = true;
  217. }
  218. dgrd_rpt.visible = "true";
  219. // model.refresh();
  220. }
  221. /**
  222. * @group :
  223. * @ver : 2008.07.31
  224. * @made by : smartselly
  225. * @---------------------------------------------------
  226. * @type : function
  227. * @access : public
  228. * @desc : Grid Data
  229. * @param :
  230. * @return :
  231. * @---------------------------------------------------
  232. */
  233. function fGetGridData() {
  234. var sGridTitle = model.getValue("/root/init/rptInfo/rptInfoList/rpttitle");
  235. var sGridleft = model.getValue("/root/init/rptInfo/rptInfoList/left");
  236. var sGridmiddle = model.getValue("/root/init/rptInfo/rptInfoList/middle");
  237. var sGridTitle = sGridTitle.split("|");
  238. var refarr = sGridTitle[0].split("^");
  239. var col_idx;
  240. var col_num;
  241. var col_len = 0;
  242. var left = sGridleft.split("^");
  243. var middle = sGridmiddle.split("^");
  244. model.resetInstanceNode("/root/init/rptm_grid");
  245. submit("TRSTC00300");
  246. for(var i =0 ; i < refarr.length ; i++) {
  247. dgrd_rpt.colstyle(i, "data","text-align") = "right" ;
  248. }
  249. for(var i = 0 ; i < left.length ; i++) {
  250. dgrd_rpt.colstyle((left[i]-1), "data","text-align") = "left" ;
  251. }
  252. for(var i = 0 ; i < middle.length ; i++) {
  253. dgrd_rpt.colstyle((middle[i]-1), "data","text-align") = "center" ;
  254. }
  255. if ( model.getValue("/root/init/rptInfo/rptInfoList/funckind") != null ) {
  256. dgrd_rpt.attribute("frozencols") = model.getValue("/root/init/rptInfo/rptInfoList/funckind");
  257. }
  258. /*
  259. for(var i = 0, size=refarr.length ; i < size+1 ; i++) {
  260. //
  261. col_idx = model.getValue("/root/init/rptm_grid/ret[1]/col" + i);
  262. col_num = col_idx.substr(0,1);
  263. // ,
  264. if (isNaN(col_num))
  265. {
  266. dgrd_rpt.colstyle(i-1,"data","text-align") = "left";
  267. // , round 3
  268. for ( var z = dgrd_rpt.fixedRows ; z < (dgrd_rpt.rows - dgrd_rpt.fixedRows) ; z++ )
  269. {
  270. col_idx = model.getValue("/root/init/rptm_grid/ret[" + z + "]/col" + i);
  271. col_len = col_len + col_idx.length;
  272. }
  273. if ( Math.round(col_len/(dgrd_rpt.rows - dgrd_rpt.fixedRows)) <= 3 )
  274. {
  275. dgrd_rpt.colstyle(i-1,"data","text-align") = "center";
  276. }
  277. //
  278. if ( col_num == "-" && !isNaN(col_idx.substr(1,1)))
  279. {
  280. dgrd_rpt.colstyle(i-1,"data","text-align") = "right";
  281. }
  282. }
  283. else
  284. {
  285. dgrd_rpt.colstyle(i-1,"data","text-align") = "right";
  286. //
  287. if( col_idx.search("/") > 0 || col_idx.search("-") > 0 )
  288. {
  289. dgrd_rpt.colstyle(i-1,"data","text-align") = "center";
  290. }
  291. }
  292. col_len = 0;
  293. }
  294. */
  295. if( model.getValue("/root/send/in_rptcd") == "RR00233"){
  296. dgrd_rpt.colAttribute( dgrd_rpt.colRef("col2"), "format" ) = "###,###,###.##" ;
  297. dgrd_rpt.colAttribute( dgrd_rpt.colRef("col3"), "format" ) = "###,###,###.##" ;
  298. dgrd_rpt.colAttribute( dgrd_rpt.colRef("col4"), "format" ) = "###,###,###.##" ;
  299. dgrd_rpt.colAttribute( dgrd_rpt.colRef("col5"), "format" ) = "###,###,###.##" ;
  300. }
  301. }
  302. /**
  303. * @group :
  304. * @ver : 2008.11.21
  305. * @made by : syjung
  306. * @---------------------------------------------------
  307. * @type : function
  308. * @access : public
  309. * @desc : NodeList sorting
  310. * node (emr copy)
  311. * @param :
  312. * @return :
  313. * @---------------------------------------------------
  314. */
  315. function nodeListSort( nodeset, trgRef, mode ){
  316. var nodesetCnt = model.getXPathValue("count(" + nodeset + ")");
  317. if(nodesetCnt == 0) return;
  318. var tmpVal1, tmpVal2;
  319. var tmpIndx;
  320. for(var i = 1; i <= nodesetCnt; i++){
  321. for(var j = i + 1 ; j <= nodesetCnt; j++){
  322. tmpVal1 = model.getValue(nodeset + "[" + i + "]/" + trgRef);
  323. tmpVal2 = model.getValue(nodeset + "[" + j + "]/" + trgRef);
  324. if(chkNumber(tmpVal1)==true){tmpVal1 = Number(tmpVal1);}
  325. if(chkNumber(tmpVal2)==true){tmpVal2 = Number(tmpVal2);}
  326. if(mode == "desc"){
  327. if(tmpVal1 < tmpVal2){
  328. model.duplicate(instance1.selectSingleNode(nodeset).parentNode, nodeset + "[" + j + "]", "*[" + i + "]");
  329. model.removenode(nodeset + "[" + (j + 1) + "]");
  330. model.duplicate(instance1.selectSingleNode(nodeset).parentNode, nodeset + "[" + (i + 1) + "]", "*[" + j + "]");
  331. model.removenode(nodeset + "[" + (i + 1) + "]");
  332. }
  333. }else if(mode == "asc"){
  334. if(tmpVal1 > tmpVal2){
  335. model.duplicate(instance1.selectSingleNode(nodeset).parentNode, nodeset + "[" + j + "]", "*[" + i + "]");
  336. model.removenode(nodeset + "[" + (j + 1) + "]");
  337. model.duplicate(instance1.selectSingleNode(nodeset).parentNode, nodeset + "[" + (i + 1) + "]", "*[" + j + "]");
  338. model.removenode(nodeset + "[" + (i + 1) + "]");
  339. }
  340. }
  341. }
  342. }
  343. }
  344. /**
  345. * @desc :
  346. * @param : String
  347. * @return : : true , : false
  348. * @authur : 2007. 3. 27
  349. */
  350. function chkNumber(str) {
  351. str += '';
  352. str = str.replace(/^\s*|\s*$/g, '');
  353. if (str == '' || isNaN(str)) return false;
  354. return true;
  355. }