SMMNV21000.js 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. /* ---------------------------------------------------------------------
  2. 안센터 대기안내 환자진행현황 (대기안내공통 - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. :
  6. : 2010.06.14
  7. ----------------------------------------------------------------------*/
  8. var submitIntervalTime = 5 * 1000 ; // 5초
  9. var showGrdTime = 4 * 1000 ; // 7초
  10. var showMsgTime = 10 * 1000 ; // 10초
  11. var clockID ; // 하단줄의 시간 interval
  12. var grdintervalID ; // 그리드 조회 interval
  13. var grdintervalIDTop ; // 그리드 상단 올리기 interval
  14. var grdintervalIDDelay ; // 지연
  15. var msgintervalID ; // msg 조회 interval
  16. var msgintervalIDTop ; // msg 상단 올리기 interval
  17. var msgintervalIDDelay ; // 지연
  18. var vscreenid;
  19. /**
  20. * @group :
  21. * @ver :
  22. * @by :
  23. * @---------------------------------------------------
  24. * @type : function
  25. * @access : public
  26. * @desc : 대기안내 환자조회화면초기화
  27. * @param :
  28. * @param :
  29. * @return :
  30. * @---------------------------------------------------
  31. */
  32. function fInitialize(screenid){
  33. vscreenid = screenid;
  34. model.setValue("/root/main/cond/bizdd", getCurrentDate());
  35. model.setValue("/root/hidden/wgopeninfo/wgopeninfolist/ordroomnm", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/ordroomnm").replace('\n',''));
  36. model.setValue("/root/main/ordroominfo/ordroominfolist/deptnm", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/orddeptnm") + " (" + model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/ordroomnm") + ")");
  37. if(model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/centcd") == "-" ) {
  38. model.setValue("/root/main/ordroominfo/ordroominfolist/deptnm", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/orddeptnm") + " (" + model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/ordroomnm") + ")");
  39. } else if(model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/centcd") != "-" && model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/orddeptcd") == "-") {
  40. model.setValue("/root/main/ordroominfo/ordroominfolist/deptnm", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/centnm") + " (" + model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/ordroomnm") + ")");
  41. } else {
  42. model.setValue("/root/main/ordroominfo/ordroominfolist/deptnm", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/orddeptnm") + " (" + model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/ordroomnm") + ")");
  43. }
  44. model.refresh();
  45. fSetGrdTimer();
  46. }
  47. /**
  48. * @group :
  49. * @ver :
  50. * @by :
  51. * @---------------------------------------------------
  52. * @type : function
  53. * @access : public
  54. * @desc : 지정된 시간간격마다 그리드데이터 조회(화면 호출시 처음만 호출된다)
  55. * @param :
  56. * @param :
  57. * @return :
  58. * @---------------------------------------------------
  59. */
  60. function fSetGrdTimer(){
  61. clockID = window.setInterval("clock();" , 1000); //1초
  62. grdintervalID = window.setInterval("fGetOpdOrdRoomInfo();", submitIntervalTime); //5초
  63. }
  64. /* --------------------------------------------------*/
  65. /* type : function */
  66. /* access : public */
  67. /* desc : 외래 진료실 진행현황 조회 */
  68. /* --------------------------------------------------*/
  69. function fGetOpdOrdRoomInfo(){
  70. var sPath = "/root/main/opdinfo";
  71. model.removenode("/root/send");
  72. model.makeValue("/root/send/bizdd", model.getValue("/root/main/cond/bizdd"));
  73. model.makeValue("/root/send/centcd", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/centcd"));
  74. model.makeValue("/root/send/orddeptcd", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/orddeptcd"));
  75. model.makeValue("/root/send/subdeptcd", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/subdeptcd"));
  76. model.makeValue("/root/send/ordroomcd", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/ordroomcd"));
  77. model.makeValue("/root/send/orddrid", model.getValue("/root/main/ordroominfo/ordroominfolist/orddrid"));
  78. model.makeValue("/root/send/autoflag", model.getValue("/root/main/ordroominfo/ordroominfolist/autoflag"));
  79. setErrorOff();
  80. if (vscreenid == "SMMNV21200"){
  81. if (submit("TRMNV21203",false)) {
  82. model.setValue("/root/main/cond/bizdd", getCurrentDate());
  83. model.refresh();
  84. } else {
  85. model.setValue("/root/init/grdStatus","grd:장애");
  86. model.removeNodeset(sPath);
  87. model.refresh();
  88. }
  89. }
  90. else if (vscreenid == "SMMNV21300"){
  91. model.setValue("/root/main/cond/bizdd", getCurrentDate());
  92. if (submit("TRMNV21204",false)) {
  93. model.setValue("/root/main/cond/bizdd", getCurrentDate());
  94. if(model.getValue("/root/main/ordroominfo/ordroominfolist/deptnm") == "-") {
  95. model.setValue("/root/main/ordroominfo/ordroominfolist/deptnm", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/orddeptnm") + " (" + model.getValue("/root/hidden/wgopeninfo/wgopeninfolist/ordroomnm") + ")");
  96. }
  97. model.setValue("/root/main/ordroominfo/ordroominfolist/deptnm", model.getValue("/root/main/ordroominfo/ordroominfolist/deptnm").replace('\n',''));
  98. model.refresh();
  99. } else {
  100. model.setValue("/root/init/grdStatus","grd:장애");
  101. model.removeNodeset(sPath);
  102. model.refresh();
  103. }
  104. }
  105. }
  106. /**
  107. * @group :
  108. * @ver :
  109. * @by :
  110. * @---------------------------------------------------
  111. * @type : function
  112. * @access : public
  113. * @desc : DataTime 조회.
  114. * @param :
  115. * @param :
  116. * @return :
  117. * @---------------------------------------------------
  118. */
  119. function clock() {
  120. var tdate = getCurrentDateTime().substring(0, 4) + "년 "
  121. + getCurrentDateTime().substring(4, 6) + "월 "
  122. + getCurrentDateTime().substring(6, 8) + "일 "
  123. + getCurrentDate().toDate().getDayOfWeek("K") + "요일 ";
  124. var ttime = getCurrentDateTime().substring(8, 11) + ":"
  125. + getCurrentDateTime().substring(11, 13);
  126. model.setValue("/root/hidden/date", tdate) ;
  127. model.setValue("/root/hidden/time", ttime) ;
  128. model.refresh();
  129. }
  130. /**
  131. * @group :
  132. * @ver :
  133. * @by :
  134. * @---------------------------------------------------
  135. * @type : function
  136. * @access : public
  137. * @desc : 'ESC' or 'Q' 키를 누르면 타이머 해제 및 윈도우 닫기
  138. * @param :
  139. * @param :
  140. * @return :
  141. * @---------------------------------------------------
  142. */
  143. function fClearTimer(){
  144. var keyPressed = event.keyCode ;
  145. if(keyPressed == 27 || keyPressed == 81) // 'ESC' or 'Q' 키가 눌려진 경우
  146. {
  147. var answer = messageBox("진행현황 안내 프로그램 종료합니다.", "I") ;
  148. if(answer == 1) {
  149. fCloseBoard();
  150. }
  151. }
  152. }
  153. function fCloseBoard(){
  154. if (clockID != "") window.clearInterval(clockID);
  155. if (msgintervalID != "") window.clearInterval(msgintervalID);
  156. if (grdintervalID != "") window.clearInterval(grdintervalID);
  157. if (msgintervalIDTop != "") window.clearInterval(msgintervalIDTop);
  158. if (grdintervalIDTop != "") window.clearInterval(grdintervalIDTop);
  159. model.close() ;
  160. }