MRFCommon.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. function moveItemUp(grdObj, collapsed)
  2. {
  3. var selRow = grdObj.row;
  4. if(selRow <= grdObj.fixedRows)
  5. return;
  6. var degnitemno = model.getValue(grdObj.attribute("nodeset") + "[" + selRow + "]/degnitemno");
  7. var supdegnitemno = model.getValue(grdObj.attribute("nodeset") + "[" + selRow + "]/supdegnitemno");
  8. var degnitemlevlno = model.getValue(grdObj.attribute("nodeset") + "[" + selRow + "]/degnitemlevlno");
  9. var nextRow = -1;
  10. var nextItemNo = model.getValue(grdObj.attribute("nodeset") + "[degnitemlevlno <= " + degnitemlevlno + " and position() > " + selRow + "]/degnitemno");
  11. if(nextItemNo == '')
  12. nextRow = grdObj.rows;
  13. else
  14. nextRow = grdObj.findRow(nextItemNo, selRow + 1, grdObj.colRef("degnitemno"));
  15. //alert("nextRow : " + nextRow);
  16. //1. 현재 선택된 row의 그룹을 찾는다.(degnitemlevlcd를 이용)
  17. var nodeList = instance1.selectNodes(grdObj.attribute("nodeset") + "[position() >= " + selRow + " and position() < " + nextRow + "]");
  18. //alert("length : " + nodeList.length);
  19. //2. 상위 아이템의 depth를 비교해서 seq를 구한다. (degnitemlevlno를 이용.. 자신과 같을때까지 찾는다.)
  20. for(var i = selRow - 1; i > 0; i --)
  21. {
  22. if(parseInt(degnitemlevlno) > parseInt(model.getValue(grdObj.attribute("nodeset") + "[" + i + "]/degnitemlevlno")))
  23. break;
  24. for(var j = 0; j < nodeList.length; j++)
  25. {
  26. var seq = grdObj.findRow(nodeList.item(j).selectSingleNode("degnitemno").nodeValue,
  27. grdObj.fixedRows, grdObj.colRef("degnitemno"));
  28. model.setValue(grdObj.attribute("nodeset") + "[" + seq + "]/degnrowno",
  29. parseInt(nodeList.item(j).selectSingleNode("degnrowno").nodeTypedValue) - 1);
  30. }
  31. model.setValue(grdObj.attribute("nodeset") + "[" + i + "]/degnrowno",
  32. parseInt(model.getValue(grdObj.attribute("nodeset") + "[" + i + "]/degnrowno")) + parseInt(nodeList.length));
  33. if(degnitemlevlno == model.getValue(grdObj.attribute("nodeset") + "[" + i + "]/degnitemlevlno"))
  34. break;
  35. }
  36. grdObj.refresh();
  37. setCollapsed(grdObj, false);
  38. grdObj.outlinebar=0;
  39. grdObj.colsort(grdObj.colRef("degnrowno")) = "asc";
  40. //grdObj.colsort(grdObj.colRef("degnxval")) = "asc";
  41. //grdObj.sort(grdObj.fixedRows, grdObj.colRef("degnxval"), grdObj.rows - 1, grdObj.colRef("degnxval")) = "asc";
  42. grdObj.sort(grdObj.fixedRows, grdObj.colRef("degnrowno"), grdObj.rows - 1, grdObj.colRef("degnrowno")) = "asc";
  43. grdObj.gridToInstance();
  44. setTree(grdObj, grdObj.colRef("degnitemlevlno"), grdObj.colRef("degnitemcd"), collapsed);
  45. //grdObj.outlinebar = 4;
  46. var seq = grdObj.findRow(degnitemno, grdObj.fixedRows, grdObj.colRef("degnitemno"));
  47. grdObj.row = seq;
  48. }
  49. function moveItemDown(grdObj, collapsed)
  50. {
  51. var selRow = grdObj.row;
  52. if(selRow == grdObj.rows - 1)
  53. return;
  54. var degnitemno = model.getValue(grdObj.attribute("nodeset") + "[" + selRow + "]/degnitemno");
  55. var degnitemlevlno = model.getValue(grdObj.attribute("nodeset") + "[" + selRow + "]/degnitemlevlno");
  56. for(var i = selRow + 1; i < grdObj.rows; i ++)
  57. {
  58. if(degnitemlevlno == model.getValue(grdObj.attribute("nodeset") + "[" + i + "]/degnitemlevlno"))
  59. {
  60. grdObj.row = i;
  61. moveItemUp(grdObj, collapsed);
  62. break;
  63. }
  64. }
  65. var seq = grdObj.findRow(degnitemno, grdObj.fixedRows, grdObj.colRef("degnitemno"));
  66. grdObj.row = seq;
  67. }
  68. /**
  69. * @---------------------------------------------------
  70. * @desc : 문자열 앞뒤에있는 공백 제거
  71. * @param : N/A
  72. * @return : 공백을 제거한 결과 문자열
  73. * @---------------------------------------------------
  74. */
  75. String.prototype.getTrim = function()
  76. {
  77. var startPoint = 0; // subString 하기 위한 시작 포인트
  78. var endPoint = this.length; // subString 하기 위한 끝 포인트
  79. //문자열앞에 공백문자가 들어 있는 Index 추출
  80. while( (startPoint < endPoint) && (this.charCodeAt(startPoint) == 32) )
  81. {
  82. startPoint++;
  83. }
  84. //문자열뒤에 공백문자가 들어 있는 Index 추출
  85. while( (startPoint < endPoint) && (this.charCodeAt(endPoint-1) == 32) )
  86. {
  87. endPoint--;
  88. }
  89. // 공백을 제거했으면 subString하여 결과문자열을 리턴하고 제거한 내용이 없으면 그대로 리턴
  90. return ( (startPoint > 0) || (endPoint < this.length) ) ? this.substring(startPoint, endPoint) : this;
  91. }
  92. function fUserAdmin()
  93. {
  94. /*
  95. var userid = getUserId();
  96. if(userid!=""){
  97. userid = userid.getTrim();
  98. }
  99. if (userid == "97055522" || //김미선
  100. userid == "94040176" || //조은실
  101. userid == "10609872" || //손무성
  102. userid == "10612553" || //이미경
  103. userid == "10612560" || //윤혜진
  104. userid == "10410164" || //한지은
  105. userid == "10700128" || //조은실
  106. userid == "10710060" || //정인순
  107. userid == "95030068" || //이현주
  108. userid == "99031128" || //박하나
  109. userid == "10713483" //신규선
  110. )//의료정보팀
  111. {
  112. return 1 ;
  113. }
  114. else
  115. {
  116. return 0 ;
  117. }
  118. */
  119. /*
  120. if(dutplcecd == "3230000000" || dutplcecd == "3230600000")
  121. return 1;
  122. return 0;
  123. */
  124. // 2009.04.23 이경희
  125. // 의료정보팀, 의료정보분석Unit 에게만 오픈한다.
  126. var dutplcecd = getUserInfo("dutplcecd");
  127. var hardcdno = "1001"; //
  128. model.makeValue("/root/send/reqdata/hardcdno", hardcdno);
  129. submit("TRMRF03104");
  130. var hardcdlistNode = findNodeset(model, "/root/main/hardcdlist");
  131. for(var idx = 0; idx < hardcdlistNode.length; idx++)
  132. {
  133. var hardcdNode = hardcdlistNode.item(idx);
  134. if(hardcdNode != null)
  135. {
  136. if(dutplcecd == hardcdNode.selectSingleNode("trgtcd").text)
  137. {
  138. return 1;
  139. }
  140. }
  141. }
  142. return 0;
  143. }
  144. var gSendParentCallID = "";
  145. function fSendParentCallSetMaxSize()
  146. {
  147. try
  148. {
  149. parent.window.javascript.fSetTermViewMaxSize(gSendParentCallID);
  150. }
  151. catch(e)
  152. {
  153. }
  154. }