SMAYA03700.js 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. /************************************************************************************************************************************************
  2. * @project name : ast/fthcnstweb *
  3. * @create date : 2008.01.11 *
  4. * @author : dhkim *
  5. * @see : SMAYA03700_환자추가정보조회.xrw *
  6. * @desc : 원목/상담관리/환자추가정보조회에서 사용하는 스크립트이다. *
  7. *************************************************************************************************************************************************/
  8. //전역변수선언
  9. var userid = getUserInfo("userid");
  10. var usernm = getUserInfo("usernm");
  11. var dutplcecd = getUserInfo("dutplcecd");
  12. var instcd = getUserInfo("dutplceinstcd");
  13. var xCondPath = '/root/send/cond'; //조회조건 xPath
  14. var xReqPath = '/root/send/reqdata'; //request xPath
  15. var xGridPath = '/root/main/inptinfo'; //환자추가정보Grid xPath
  16. /**
  17. * @date : 2008.01.11
  18. * @author : dhkim
  19. * @desc : 모든 조회조건 및 조회결과내역을 초기화한다.
  20. */
  21. function fInit(){
  22. //인스턴스초기화
  23. model.removeNodeset(xGridPath); //환자정보그리드
  24. model.makeNode(xGridPath);
  25. model.removeNode('/root/hidden'); //hidden필드
  26. model.makeNode('/root/hidden');
  27. //조회조건 초기화
  28. model.removeNodeset(xCondPath);
  29. model.makeValue(xCondPath + '/choice', '1'); //라디오선택
  30. model.makeNode(xCondPath + '/wardcd'); //병동콤보
  31. model.makeNode(xCondPath + '/roomcd'); //병실콤보
  32. model.makeNode(xCondPath + '/relign'); //종교콤보
  33. //전체병동정보로드
  34. model.makeNode('/root/hidden/ward');
  35. zbcfGetDeptCodeList(instcd, 'orduseyn', 'W', '/root/hidden/ward', 'depthngnm');//zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref, sort_field, sort_method)
  36. //원목자지정병동정보로드
  37. fGetConslrWard();
  38. //라디오선택에 따른 병동 콤보데이터의 변경
  39. var rdoChc = model.getValue(xCondPath + '/choice');
  40. rdoChc = (rdoChc == '' )? '2' : rdoChc;
  41. fSetCondWardCombo(rdoChc);
  42. // 원목자지정병동인 경우는 전체가 표시되어야 함
  43. // Default가 원목자 지정이기 때문에 Load되면서 무조건 전체 추가되도록 함
  44. // Default가 병동인 경우는 다른 방법으로 해야 함.
  45. //=================================================
  46. addComboItem("cmb_wardcd", "", "", "above");
  47. //종교정보로드
  48. model.makeNode('/root/hidden/relign');
  49. zbcfGetCodeList(new Array("P0157"), new Array("/root/hidden/relign"), true);
  50. model.setValue(xCondPath + '/relign', model.getValue('/root/hidden/relign/P0157[cdnm="가톨릭"]/cdid')); // 조회조건 종교콤보박스의 default값은 가톨릭이다.
  51. //종교combo 전체추가
  52. addComboItem("cmb_relign", "전체", "", "above");
  53. model.refresh();
  54. }
  55. /**
  56. * @date : 2008.01.11
  57. * @author : dhkim
  58. * ------------------------------------------------------------------------------------------------------------------------------------------------------------
  59. * @type : function
  60. * @access : public
  61. * @desc : 조회조건의 원목자지정병동 데이터 로드
  62. * 로그인한 사용자아이디에 해당되는 담당 병동을 로드 한다.
  63. * ------------------------------------------------------------------------------------------------------------------------------------------------------------
  64. */
  65. function fGetConslrWard(){
  66. model.removeNodeset(xReqPath);
  67. model.makeValue(xReqPath + '/conslrid', userid);
  68. model.removeNodeset('/root/hidden/conslrward');
  69. model.makeNode('/root/hidden/conslrward');
  70. if(submit("TRAYA03601", false)){
  71. }
  72. }
  73. /**
  74. * @date : 2008.01.11
  75. * @author : dhkim
  76. * ------------------------------------------------------------------------------------------------------------------------------------------------------------
  77. * @type : function
  78. * @access : public
  79. * @param : rdoChc - rdo_choice의 선택여부(1: 원목자지정병동, 2: 병동선택)
  80. * @desc : 조회조건의 라디오버튼(원목자지정병동, 병동선택)클릭여부에 따라 병동 콤보의 정보를 변경한다.
  81. * 병동선택의 경우 전체 병동정보가 병동콤보(cmb_wardcd)에 보여진다.
  82. * 원목자지정병동의 경우는 로그인한 원목자의 담당병동정보가 병동콤보(cmb_wardcd)에 보여진다.
  83. * ------------------------------------------------------------------------------------------------------------------------------------------------------------
  84. */
  85. function fSetCondWardCombo(rdoChc){
  86. var wardpath = (rdoChc == '1') ? '/root/hidden/conslrward/dept' : '/root/hidden/ward/dept';
  87. cmb_wardcd.choices.itemset.attribute('nodeset') = wardpath;
  88. /*
  89. //원목자지정병동
  90. if(rdoChc == '1' && model.getValue(wardpath + '[deptcd=""]/depthngnm') == '' && getNodesetCount( '/root/hidden/conslrward/dept' ) > 0){
  91. addComboItem('cmb_wardcd', '전체', '', 'above');
  92. }
  93. */
  94. if(rdoChc == '2')
  95. model.setValue(xCondPath + '/wardcd', model.getValue(wardpath + '[1]/deptcd'));
  96. else
  97. model.setValue(xCondPath + '/wardcd', model.getValue(wardpath + '[0]/deptcd'));
  98. cmb_wardcd.refresh();
  99. cmb_wardcd.dispatch('xforms-select'); //fGetRoomList()호출.
  100. }
  101. /**
  102. * @date : 2008.01.11
  103. * @author : dhkim
  104. * ------------------------------------------------------------------------------------------------------------------------------------------------------------
  105. * @type : function
  106. * @access : public
  107. * @desc : 조회조건의 병실 콤보 가져오기
  108. * ------------------------------------------------------------------------------------------------------------------------------------------------------------
  109. */
  110. function fGetRoomList(){
  111. model.resetInstanceNode(xCondPath + '/roomcd');
  112. model.removeNodeset(xReqPath);
  113. model.makeValue(xReqPath + '/conslrid', userid);
  114. model.makeValue(xReqPath + '/wardcd', cmb_wardcd.value);
  115. model.makeValue(xReqPath + '/choice', rdo_choice.value);
  116. if(submit("TRAYA03602", false)){
  117. if (model.instances(0).selectNodes("/root/hidden/roomlist/room").length == 0){
  118. model.makeNode("/root/hidden/roomlist/room");
  119. }
  120. addComboItem("cmb_roomcd", "", "", "above");
  121. }
  122. }
  123. /**
  124. * @date : 2008.01.13
  125. * @author : dhkim
  126. * ------------------------------------------------------------------------------------------------------------------------------------------------------------
  127. * @type : function
  128. * @access : public
  129. * @desc : 입원환자추가정보를 조회한다.
  130. * 현재입원중인 환자를 기준으로 검색
  131. * rdo_choice (1 : 원목자지정병동, 2 : 병동선택)
  132. * 선택에서 원목자지정병동인 경우, 로그인한 원목자의 담당병동 환자에 대해 조회한다.
  133. * 선택에서 병동선택을 한 경우, 병동조건을 필수이다.
  134. * ------------------------------------------------------------------------------------------------------------------------------------------------------------
  135. */
  136. function fSearch(){
  137. var choice = model.getValue(xCondPath + '/choice');
  138. var wardcd = model.getValue(xCondPath + '/wardcd');
  139. var roomcd = model.getValue(xCondPath + '/roomcd');
  140. var religncd = model.getValue(xCondPath + '/religncd');
  141. if(choice == '2' && wardcd == ''){//병동선택
  142. messageBox('병동을', 'C002');
  143. model.setFocus("cmb_wardcd");
  144. return false;
  145. }
  146. if(!submit('TRAYA03701')){
  147. messageBox('조회를', 'E009');
  148. }
  149. }
  150. /**
  151. * @date : 2008.01.11
  152. * @author : dhkim
  153. * ------------------------------------------------------------------------------------------------------------------------------------------------------------
  154. * @type : function
  155. * @access : public
  156. * @desc : Excel파일로 저장
  157. * ------------------------------------------------------------------------------------------------------------------------------------------------------------
  158. */
  159. function fSaveExcel(){
  160. var file = window.fileDialog("save","","true","","xls","All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  161. if(file != "") {
  162. grd_inptlist.saveExcel(file);
  163. }
  164. }
  165. /**
  166. * @date : 2008.01.11
  167. * @author : dhkim
  168. * ------------------------------------------------------------------------------------------------------------------------------------------------------------
  169. * @type : function
  170. * @access : public
  171. * @desc : 그리드에 조회된 환자추가정보결과를 rexpert로 출력
  172. * ------------------------------------------------------------------------------------------------------------------------------------------------------------
  173. */
  174. function fPrint(){
  175. //그리드에 조회된 행사일정 결과를 rexpert를 이용해 출력
  176. exeReportPreview("RPAYA03700", "XMLSTR"); //미리보기
  177. }