SMMNO03100.js 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. /*
  2. 외래초진예약조회 (SMMNO03100.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var xOutRsrvPatListPath = "/root/main/outrsrvpatlist";
  7. var xOutRsrvPatCodeListPath = "/root/main/outrsrvpatcodelist";
  8. var uijeongbuinstcd="", sunggainstcd="", vincentinstcd=""; // 의정부성모,부천성가, 성빈센트병원기관코드_20090606
  9. var tdayAcptYN = "N"; // 외래진료예약 시 당일접수환자포함 조회 병원 (2009.06.23 JJE)
  10. /**
  11. * @group :
  12. * @ver : 2009.10.19
  13. * @by : 김양수
  14. * @---------------------------------------------------
  15. * @type : function
  16. * @access : public
  17. * @desc : 화면 초기화
  18. * @param :
  19. * @return :
  20. * @---------------------------------------------------
  21. */
  22. function fInitialize(){
  23. //grd_OutRsrvPatList.fixedcellcheckbox(0, grd_OutRsrvPatList.colRef("chk")) = true;
  24. model.removenode("/root/main/outrsrvpatlist");
  25. model.refresh();
  26. var instcd = getUserInfo("dutplceinstcd");
  27. var standard_yn = "rcptuseyn";
  28. var ord_deptflag = 'X';
  29. var rslt_ref = "/root/init/orddept";
  30. var sort_field = "depthngnm";
  31. var sort_method = "asc";
  32. var dt = getCurrentDate();
  33. //오늘 날짜로 초기화 하는 부분.(진료일자를 default로 오늘 날짜로 선택함)
  34. model.setValue("/root/main/cond/ordfromdd", dt);
  35. model.setValue("/root/main/cond/ordtodd", dt);
  36. // 간호외래진료부서콤보 (특정하위부서를 포함- 분만실, 육아상담실, 인공신장실)
  37. zsdfGetCareOutOrderDepartmentList(instcd, rslt_ref, dt);
  38. addComboInstance("/root/init/orddept", "deptcd^depthngnm", "0000000000^전체진료과", "dept"); //진료부서 콤보 전체추가
  39. model.resetInstanceNode("/root/main/cond/orddept");
  40. // 공통코드 스크립트 호출
  41. //zbcfGetCodeList( new Array("Z0008"), new Array("/root/init/comcd"));
  42. var dutplcecd = getUserInfo("dutplcecd"); // 근무지부서코드
  43. var suporddeptcd = getUserInfo("ordsupdeptcd");
  44. if (dutplcecd != "") {
  45. model.setValue("/root/main/cond/orddeptcd", dutplcecd); // 근무지부서코드
  46. fDeptDoctSearch(); // 의사리스트조회
  47. }
  48. cbo_rsrvflag.select(0); //라디오버튼 선택
  49. /*
  50. // 간호 환경설정테이블 조회
  51. var pCode = "'065', '077', '107'"; // 조회할 CdGrupID 코드정보
  52. var pDate = getCurrentDate(); //조회기준일자
  53. fGetNursHardCdInfo(pCode, pDate);
  54. for(var i=1; i<=getNodesetCount("/root/code/codeinfo/codelist"); i++){
  55. switch (model.getValue("/root/code/codeinfo/codelist["+i+"]/cdgrupid")){
  56. case "065": // 내과
  57. MDdeptcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
  58. break;
  59. case "077": // 의정부성모병원기관코드_20090606
  60. switch(model.getValue("/root/code/codeinfo/codelist["+i+"]/supcdid")){
  61. case "02": // (01:서울성모,02:의정부성모,03:부천성가, 04:성빈센트)
  62. uijeongbuinstcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
  63. break;
  64. case "03": // (01:서울성모,02:의정부성모,03:부천성가, 04:성빈센트)
  65. sunggainstcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
  66. break;
  67. case "04": // (01:서울성모,02:의정부성모,03:부천성가, 04:성빈센트)
  68. vincentinstcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
  69. break;
  70. }
  71. case "107": // 외래진료예약 시 당일접수환자포함 조회 병원 (2009.06.23 JJE)
  72. if( model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid") == getUserInfo("dutplceinstcd") )
  73. tdayAcptYN = "Y";
  74. break;
  75. }
  76. }
  77. */
  78. model.refresh();
  79. }
  80. /**
  81. * @group :
  82. * @ver : 2007.09.17
  83. * @by : 문창곤
  84. * @---------------------------------------------------
  85. * @type : function
  86. * @access : public
  87. * @desc : 진료과의 의사 조회
  88. * @param :
  89. * @return :
  90. * @---------------------------------------------------
  91. */
  92. function fDeptDoctSearch(typegubn){
  93. cmb_orddr.disabled = false;
  94. model.removenode("/root/main/outrsrvpatlist");
  95. model.refresh();
  96. if(model.getValue("/root/main/cond/orddeptcd") == "0000000000" && model.getValue("/root/main/cond/pid") == "") {
  97. //messageBox("전체진료과는 현재 조회할 수 없습니다", "E");
  98. //return;
  99. }
  100. model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/main/cond/ordfromdd"));
  101. model.makeValue("/root/send/reqdata/orddeptcd", model.getValue("/root/main/cond/orddeptcd"));
  102. var sordclsdeptflag = model.getValue("/root/init/orddept/dept[deptcd = '"+model.getValue("/root/main/cond/orddeptcd")+"']/ordclsdeptflag"); // 센터/대표/분과/서브 구분
  103. var ssupdeptcd = model.getValue("/root/init/orddept/dept[deptcd = '"+model.getValue("/root/main/cond/orddeptcd")+"']/supdeptcd"); // 상위부서코드
  104. var sorddeptkind = model.getValue("/root/init/orddept/dept[deptcd = '"+model.getValue("/root/main/cond/orddeptcd")+"']/orddeptkind"); // 센터/대표 구분
  105. var sorddeptflag = "";
  106. if (sorddeptkind == "C") { // 센터이면
  107. sorddeptflag = "C";
  108. //} else if (sorddeptkind != "C" && sordclsdeptflag == "A") { // 센터가 아니면서 분과이면
  109. // sorddeptflag = "A";
  110. } else { // 그외에 기타과
  111. sorddeptflag = "etc";
  112. }
  113. model.setValue("/root/main/cond/ordclsdeptflag",sorddeptflag);
  114. model.setValue("/root/main/cond/supdeptcd",ssupdeptcd);
  115. model.makeValue("/root/send/reqdata/ordclsdeptflag", model.getValue("/root/main/cond/ordclsdeptflag"));
  116. model.makeValue("/root/send/reqdata/supdeptcd", model.getValue("/root/main/cond/supdeptcd"));
  117. submit("TRMNO00104");
  118. if(getNodesetCount("/root/init/orddr/orddr") > 0){
  119. for(var i = 0; i < grd_OutRsrvPatList.cols;i++) {
  120. grd_OutRsrvPatList.colsort(i) = "asc";
  121. }
  122. //addComboInstance("/root/init/orddr", "userid^usernm", "00000000^전체의사", "orddr"); //진료의콤보 전체추가
  123. addComboInstance("/root/init/orddr", "userid^userdepthngnm", "00000000^전체의사", "orddr"); //진료의콤보 전체추가
  124. model.resetInstanceNode("/root/main/cond/orddr");
  125. } else {
  126. model.makenode("/root/init/orddr");
  127. model.makenode("/root/init/orddr/orddr");
  128. model.makenode("/root/init/orddr/orddr/userid");
  129. model.makenode("/root/init/orddr/orddr/usernm");
  130. //addComboInstance("/root/init/orddr", "userid^usernm", "00000000^전체의사", "orddr"); //진료의콤보 전체추가
  131. addComboInstance("/root/init/orddr", "userid^userdepthngnm", "00000000^전체의사", "orddr"); //진료의콤보 전체추가
  132. //cmb_orddr.select(0);
  133. }
  134. model.setValue("/root/main/cond/orddeptnm", cmb_orddept.label);
  135. cmb_orddr.refresh();
  136. }
  137. /**
  138. * @group :
  139. * @ver : 2009.10.19
  140. * @by : 김양수
  141. * @---------------------------------------------------
  142. * @type : function
  143. * @access : public
  144. * @desc : 초진 환자리스트 조회
  145. * @param :
  146. * @return :
  147. * @---------------------------------------------------
  148. */
  149. function fBtnRefClicked(){
  150. model.removenode("/root/main/outrsrvpatlist");
  151. model.refresh();
  152. var sorddept = model.getValue("/root/main/cond/orddeptcd");
  153. var sorddr = model.getValue("/root/main/cond/orddr");
  154. var sRsrvFlag = model.getValue("/root/main/cond/rsrvflag");
  155. var sRrgstno2 = model.getValue("/root/main/cond/rrgstno2");
  156. var sTempRsrvYn = "";
  157. if(sRsrvFlag == "0" || sRsrvFlag == "2" || sRsrvFlag == "5"){ //예약구분이 전체, 전화예약, 인터넷예약일경우 temp테이블도 조회
  158. sTempRsrvYn = "Y";
  159. }else{
  160. sTempRsrvYn = "N";
  161. }
  162. //var sOrdfromDD = model.getValue("/root/main/cond/ordfromdd");
  163. //var sOrdtoDD = model.getValue("/root/main/cond/ordtodd");
  164. if(cmb_orddept.value == "") {
  165. messageBox("진료과를 선택하지 ","E007");
  166. return;
  167. }
  168. //진료의 확인추가(진료의선택하지않아도 전체의사조회됨)-20090910-kys
  169. if(cmb_orddr.value == "") {
  170. messageBox("진료의를 선택하지 ","E007");
  171. return;
  172. }
  173. if(model.getValue("/root/main/cond/rsrvflag") == "") {
  174. messageBox("예약경로를 선택하지 ","E007");
  175. return;
  176. }
  177. model.makenode("/root/send/req");
  178. model.copynode("/root/send/req", "/root/main/cond");
  179. if(sRrgstno2.substr(1,1) == "*"){ //2번째주민번호2번째자리가 *일경우(조회창으로 환자검색한경우) 2번째주민번호 제외
  180. model.makeValue("/root/send/req/rrgstno2", "");
  181. }
  182. model.makeValue("/root/send/req/temprsrvyn", sTempRsrvYn);
  183. //model.makeValue("/root/send/req/ordtodd", sOrdtoDD);
  184. if(submit("TRMNO03101")){
  185. model.setValue("/root/main/cond/cnt", grd_OutRsrvPatList.rows-1);
  186. opt_cnt.refresh();
  187. }
  188. model.setValue("/root/main/cond/orddrnm", cmb_orddr.label);
  189. grd_OutRsrvPatList.refresh();
  190. model.refresh();
  191. }
  192. /**
  193. * @desc : 콤보박스에 원하는 instance node와 value를 설정
  194. * @
  195. * @param :
  196. * @event :
  197. * @return :
  198. * @---------------------------------------------------
  199. */
  200. function addComboInstance(combopath, nodename, nodeval, parentnode){
  201. nodename = nodename.split("^");
  202. nodeval = nodeval.split("^");
  203. if(nodename.length != nodeval.length){
  204. return;
  205. }
  206. var label = model.instances(0).createElement(nodename[0]);
  207. var val = model.instances(0).createElement(nodename[1]);
  208. var combo = model.instances(0).createElement(parentnode);
  209. label.value = "" + nodeval[0] + "";
  210. val.value = "" + nodeval[1] + "";
  211. combo.appendChild(label);
  212. combo.appendChild(val);
  213. chkNode = model.instances(0).selectSingleNode(combopath);
  214. if(chkNode == null){
  215. model.makeNode(combopath);
  216. srcNode = model.instances(0).selectSingleNode(combopath);
  217. }else{
  218. srcNode = model.instances(0).selectSingleNode(combopath);
  219. }
  220. desNode = model.instances(0).selectSingleNode(combopath + "/" + parentnode);
  221. srcNode.insertBefore(combo, desNode);
  222. model.refresh();
  223. }