SMMNB01810_2.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. /*
  2. (SMMNW01810_이송요원 호출 정보 추가/수정.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. /**
  7. * @group :
  8. * @ver : 2007.07.26
  9. * @by : 김 진 명
  10. * @---------------------------------------------------
  11. * @type : function
  12. * @access : public
  13. * @desc : 이송요원 추가삭제 - 초기화
  14. * @param :
  15. * @return :
  16. * @---------------------------------------------------
  17. */
  18. function fInit(){
  19. var curtDate = getCurrentDate();
  20. var curtYYMM = curtDate.substr(0, 8);
  21. model.setValue("/root/main/tranempinfo/rsrvdd", curtYYMM);
  22. var iNode = "/root/main/tranempinfo";
  23. var instcd = getUserInfo("dutplceinstcd");
  24. var dutplcecd = getUserInfo("dutplcecd");
  25. var standard_yn = "orduseyn";
  26. var ord_deptflag = "W";
  27. var rslt_ref = "/root/hidden/orddeptlist";
  28. var sort_field = "depthngnm";
  29. var sort_method = "asc";
  30. zbcfGetDeptCodeList(instcd, standard_yn, ord_deptflag, rslt_ref, sort_field, sort_method);
  31. if( checkOpener() ) {
  32. var calldeptflag;
  33. var status = opener.javascript.getParameter("status");
  34. model.setValue("/root/main/cond/status", status);//추가 인지 수정인지 체크(I: 추가, U: 수정, CA:처방호출, RD:영상의학과, OP:수술)
  35. if( (status == "I")||(status == "U")||(status == "CA")||(status == "OP") ) {
  36. calldeptflag = "A";//일반병도
  37. }
  38. if( status == "RD" ) {
  39. calldeptflag = opener.javascript.getParameter("calldeptflag");//각 부서별 리스트 구분
  40. }
  41. model.setValue("/root/main/tranempinfo/calldeptflag", calldeptflag);
  42. model.makeValue("/root/send/reqdata/calldeptflag", calldeptflag);
  43. model.makeValue("/root/send/reqdata/status", "2");//이동수단, 간호리마크 콤보용으로 조회
  44. submit("TRMNB01811");
  45. //submit("TRMNB01812");//호출번호, 병동전화번호 끌어오기
  46. ipt_remark.visible = false;
  47. cmb_remark.visible = true;
  48. model.setValue( iNode + "/" + "startposcd", dutplcecd ); //로그인한 사용자 부서코드 셋팅
  49. if( status == "U" ) {
  50. model.setValue( iNode + "/" + "pid", opener.javascript.getParameter("pid"));
  51. model.setValue( iNode + "/" + "patnm", opener.javascript.getParameter("patnm"));
  52. model.setValue( iNode + "/" + "prcpnm", opener.javascript.getParameter("prcpnm"));
  53. model.setValue( iNode + "/" + "wardcd", opener.javascript.getParameter("wardcd"));
  54. model.setValue( iNode + "/" + "wardtel", opener.javascript.getParameter("wardtel"));
  55. model.setValue( iNode + "/" + "roomcd", opener.javascript.getParameter("roomcd"));
  56. model.setValue( iNode + "/" + "kind", opener.javascript.getParameter("kind"));
  57. model.setValue( iNode + "/" + "startposcd", opener.javascript.getParameter("startposcd"));
  58. model.setValue( iNode + "/" + "arvposcd", opener.javascript.getParameter("arvposcd"));
  59. model.setValue( iNode + "/" + "rsrvdt", opener.javascript.getParameter("rsrvdt"));
  60. model.setValue( iNode + "/" + "movewayno", opener.javascript.getParameter("movewayno"));
  61. var startposnm = opener.javascript.getParameter("startposnm");
  62. var startrgstflag = opener.javascript.getParameter("startrgstflag");
  63. if( startrgstflag == "N" ) {
  64. addComboItem("cmb_startpos", startposnm, opener.javascript.getParameter("startposcd"), "below");
  65. }
  66. var arvposnm = opener.javascript.getParameter("arvposnm");
  67. var arvrgstflag = opener.javascript.getParameter("arvrgstflag");
  68. if( arvrgstflag == "N" ) {
  69. addComboItem("cmb_arvpos", arvposnm, opener.javascript.getParameter("arvposcd"), "below");
  70. }
  71. var remarkno = opener.javascript.getParameter("remarkno");
  72. if( remarkno == "" ) {
  73. model.setValue( iNode + "/" + "freetext", opener.javascript.getParameter("remark"));
  74. model.setValue( iNode + "/" + "freeflag", "1");
  75. ipt_remark.visible = true;
  76. cmb_remark.visible = false;
  77. }else {
  78. model.setValue( iNode + "/" + "remark", remarkno);
  79. }
  80. model.setValue( iNode + "/" + "pdabpno", opener.javascript.getParameter("pdabpno"));
  81. model.setValue( iNode + "/" + "trno", opener.javascript.getParameter("trno"));
  82. model.setValue( iNode + "/" + "trposstm", opener.javascript.getParameter("posstm"));
  83. model.setValue( iNode + "/" + "prcsstat", opener.javascript.getParameter("prcsstat"));
  84. var updtflag = opener.javascript.getParameter("updtflag");
  85. if( updtflag == "N" ) {
  86. model.setValue("/root/main/cond/status", "I"); //예약리스트를 수정호출하는 경우 Insert를 한다.
  87. model.setValue( iNode + "/" + "rsrvyn", "0");
  88. }
  89. }else if( status == "CA" ) {//병동메인에서 호출
  90. var pid = opener.javascript.getParameter("pid");
  91. var prcpexecdeptcd = opener.javascript.getParameter("prcpexecdeptcd");
  92. model.setValue( iNode + "/" + "pid", pid);
  93. if( pid != "" ) {
  94. model.copyNode("/root/send/reqdata", "/root/main/tranempinfo");
  95. submit("TRMNB01814");
  96. model.setValue( iNode + "/" + "patnm", model.getValue("/root/temp/patinfo/patnm"));
  97. model.setValue( iNode + "/" + "wardcd", model.getValue("/root/temp/patinfo/wardcd"));
  98. model.setValue( iNode + "/" + "roomcd", model.getValue("/root/temp/patinfo/roomcd"));
  99. model.setValue( iNode + "/" + "prcpnm", opener.javascript.getParameter("prcpnm"));
  100. model.setValue( iNode + "/" + "kind", opener.javascript.getParameter("kind"));
  101. model.setValue( iNode + "/" + "arvposcd", opener.javascript.getParameter("prcpexecdeptcd"));
  102. }
  103. var rsrvdt = opener.javascript.getParameter("rsrvdt");
  104. if( rsrvdt != "" ) {
  105. model.setValue( iNode + "/" + "rsrvdt", rsrvdt);
  106. model.setValue( iNode + "/" + "rsrvyn", "1");
  107. }else {
  108. model.setValue( iNode + "/" + "rsrvyn", "0");
  109. }
  110. }else if( status == "RD" ) {//영상의학과에서 호출
  111. var pid = opener.javascript.getParameter("pid");
  112. //var arvposcd = opener.javascript.getParameter("arvposcd");
  113. model.setValue( iNode + "/" + "pid", pid);
  114. if( pid != "" ) {
  115. model.copyNode("/root/send/reqdata", "/root/main/tranempinfo");
  116. submit("TRMNB01814");
  117. model.setValue( iNode + "/" + "patnm", model.getValue("/root/temp/patinfo/patnm"));
  118. model.setValue( iNode + "/" + "wardcd", model.getValue("/root/temp/patinfo/wardcd"));
  119. model.setValue( iNode + "/" + "roomcd", model.getValue("/root/temp/patinfo/roomcd"));
  120. model.setValue( iNode + "/" + "prcpnm", opener.javascript.getParameter("prcpnm"));
  121. model.setValue( iNode + "/" + "kind", opener.javascript.getParameter("kind"));
  122. model.setValue( iNode + "/" + "arvposcd", opener.javascript.getParameter("arvposcd"));
  123. model.setValue( iNode + "/" + "startposcd", opener.javascript.getParameter("startposcd"));
  124. }
  125. var rsrvdt = opener.javascript.getParameter("rsrvdt");
  126. if( rsrvdt != "" ) {
  127. model.setValue( iNode + "/" + "rsrvdt", rsrvdt);
  128. model.setValue( iNode + "/" + "rsrvyn", "1");
  129. }else {
  130. model.setValue( iNode + "/" + "rsrvyn", "0");
  131. }
  132. }else if( status == "OP" ) {//수술실에서 호출
  133. var pid = opener.javascript.getParameter("pid");
  134. //var arvposcd = opener.javascript.getParameter("arvposcd");
  135. model.setValue( iNode + "/" + "pid", pid);
  136. if( pid != "" ) {
  137. model.copyNode("/root/send/reqdata", "/root/main/tranempinfo");
  138. submit("TRMNB01814");
  139. model.setValue( iNode + "/" + "patnm", model.getValue("/root/temp/patinfo/patnm"));
  140. model.setValue( iNode + "/" + "wardcd", model.getValue("/root/temp/patinfo/wardcd"));
  141. model.setValue( iNode + "/" + "roomcd", model.getValue("/root/temp/patinfo/roomcd"));
  142. model.setValue( iNode + "/" + "prcpnm", opener.javascript.getParameter("prcpnm"));
  143. model.setValue( iNode + "/" + "kind", opener.javascript.getParameter("kind"));
  144. model.setValue( iNode + "/" + "arvposcd", opener.javascript.getParameter("arvposcd"));
  145. model.setValue( iNode + "/" + "startposcd", opener.javascript.getParameter("startposcd"));
  146. }
  147. var rsrvdt = opener.javascript.getParameter("rsrvdt");
  148. if( rsrvdt != "" ) {
  149. model.setValue( iNode + "/" + "rsrvdt", rsrvdt);
  150. model.setValue( iNode + "/" + "rsrvyn", "1");
  151. }else {
  152. model.setValue( iNode + "/" + "rsrvyn", "0");
  153. }
  154. }
  155. model.refresh();
  156. ipt_trposstm.disabled = true;
  157. model.setFocus("ipt_pid");
  158. }
  159. }
  160. /**
  161. * @group :
  162. * @ver : 2007.07.26
  163. * @by : 김 진 명
  164. * @---------------------------------------------------
  165. * @type : function
  166. * @access : public
  167. * @desc : 처방 이송요원 호출 함수
  168. * @param :
  169. * @return :
  170. * @---------------------------------------------------
  171. */
  172. function fInsTranCallInfo(pid, prcpnm, kind, rsrvdt, prcpexecdeptcd){
  173. setParameter("status", "CA");
  174. setParameter("pid", pid);
  175. setParameter("prcpnm", prcpnm);
  176. setParameter("kind", kind);
  177. setParameter("rsrvdt", rsrvdt);
  178. setParameter("prcpexecdeptcd", prcpexecdeptcd);
  179. modal("SMMNB01810" ,"", "300", "150", "SMMNB01810", "", "");
  180. }
  181. /**
  182. * @group :
  183. * @ver : 2007.07.26
  184. * @by : 김 진 명
  185. * @---------------------------------------------------
  186. * @type : function
  187. * @access : public
  188. * @desc : 영상학과 이송요원 호출 함수
  189. * @param :
  190. * @return :
  191. * @---------------------------------------------------
  192. */
  193. function fInsTranCallRD(pid, prcpnm, kind, rsrvdt, calldeptflag, arvposcd, startposcd){
  194. setParameter("status", "RD");
  195. setParameter("pid", pid);
  196. setParameter("prcpnm", prcpnm);
  197. setParameter("kind", kind);
  198. setParameter("rsrvdt", rsrvdt);
  199. setParameter("calldeptflag", calldeptflag);
  200. setParameter("arvposcd", arvposcd);
  201. setParameter("startposcd", startposcd);
  202. modal("SMMNB01810" ,"", "300", "150", "SMMNB01810", "", "");
  203. }
  204. /**
  205. * @group :
  206. * @ver : 2007.09.03
  207. * @by : 김진명
  208. * @---------------------------------------------------
  209. * @type : function
  210. * @access : public
  211. * @desc : 이송요원 저장 함수 호출
  212. * @param :
  213. * @return :
  214. * @---------------------------------------------------
  215. */
  216. function fExeSaveTranCall() {
  217. var startposnm = cmb_startpos.label;
  218. var arvposnm = cmb_arvpos.label;
  219. model.setValue("/root/main/tranempinfo/startposnm", startposnm);
  220. model.setValue("/root/main/tranempinfo/arvposnm", arvposnm);
  221. if( model.getValue("/root/main/tranempinfo/pid") == "" ) {//등록번호가 없을 때
  222. messageBox("환자를 선택하지", "E007");
  223. model.setFocus("ipt_pid");
  224. }else if( model.getValue("/root/main/tranempinfo/kind") == "") {//종류가 없을 때
  225. messageBox("종류를 선택하지 ", "E007");
  226. model.setFocus("cmb_kind");
  227. }else if( model.getValue("/root/main/tranempinfo/startposcd") == "") {//출발지
  228. messageBox("출발지를 선택하지 ", "E007");
  229. model.setFocus("cmb_startpos");
  230. }else if( model.getValue("/root/main/tranempinfo/arvposcd") == "") {//도착지
  231. messageBox("도착지를 선택하지 ", "E007");
  232. model.setFocus("cmb_arvpos");
  233. }else if( model.getValue("/root/main/tranempinfo/movewayno") == "") {//이동수단
  234. messageBox("이동수단을 선택하지 ", "E007");
  235. model.setFocus("cmb_moveway");
  236. }else if( model.getValue("/root/main/tranempinfo/pdabpno") == "") {//호출번호
  237. messageBox("호출번호를 입력하지 ", "E007");
  238. model.setFocus("ipt_callno");
  239. }else if( model.getValue("/root/main/tranempinfo/wardtel") == "") {//병동전화
  240. messageBox("병동전화번호를 입력하지 ", "E007");
  241. model.setFocus("ipt_wardtel");
  242. }else {
  243. var rsrvdt = model.getValue("/root/main/tranempinfo/rsrvdt");
  244. if( rsrvdt != "" ) {
  245. model.setValue("/root/main/tranempinfo/rsrvyn", "1");
  246. //model.setValue("/root/main/tranempinfo/rsrvdt");
  247. }else {
  248. model.setValue("/root/main/tranempinfo/rsrvyn", "0");
  249. }
  250. if( ( model.getValue("/root/main/cond/status") == "I" )||( model.getValue("/root/main/cond/status") == "CA" )||( model.getValue("/root/main/cond/status") == "RD" )||( model.getValue("/root/main/cond/status") == "OP" ) ) { //추가 및 병동메인에서 호출
  251. if( model.getValue("/root/main/tranempinfo/callflag") == "" ) {
  252. messageBox("호출하기를 선택하지", "E007");
  253. }else {
  254. var rsrvdt = model.getValue("/root/main/tranempinfo/rsrvdt");
  255. var rsrvdd = model.getValue("/root/main/tranempinfo/rsrvdd");
  256. if( rsrvdt != "") { //예약시간이 있을때
  257. model.setValue("/root/main/tranempinfo/rsrvdt", rsrvdd + rsrvdt );
  258. }
  259. model.copyNode("/root/send/savedata", "/root/main/tranempinfo");
  260. model.makeValue("/root/send/savedata/status", "I");
  261. model.makeValue("/root/send/savedata/movewaynm", cmb_moveway.label);
  262. submit("TXMNB01811");
  263. window.close();
  264. }
  265. }else if(model.getValue("/root/main/cond/status") == "U" ) {//수정일때
  266. model.copyNode("/root/send/savedata", "/root/main/tranempinfo");
  267. model.makeValue("/root/send/savedata/status", "U");
  268. submit("TXMNB01811");
  269. window.close();
  270. }
  271. }
  272. }