SMADT01102.js 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. /**
  2. * 파 일 명 : SMADT01102.JS
  3. * 설 명 : 원외처방전 출력 팝업(약력조회용)
  4. * 작 성 자 : 노동우
  5. * 기본 로직은 SMADT01101.JS를 기반으루 구현.
  6. * 원외처방출력에 필요한 로직만 남겨두고 기타 다른 기능들은 삭제.
  7. */
  8. var gTimer;
  9. var gTimer1;
  10. var chk_cnt = 0;
  11. /**
  12. * 초기화
  13. */
  14. function fInit() {
  15. // 날짜 초기화
  16. var curDate = new Date();
  17. model.setValue("/root/hidden/prcpsrch/drugdd", getCurrentDate());
  18. //원외 체크 초기화
  19. model.setValue("/root/hidden/prcpsrch/hosoutyn", "Y");
  20. fChkHosout_YN();
  21. //진료과 Combo 조회
  22. //model.setValue("/root/send/deptinfo/deptflag", "D");
  23. // 20100122_laboru
  24. model.setValue("/root/hidden/prcpsrch/drugno", model.getValue("/root/temp/drugno"));
  25. model.setValue("/root/hidden/prcpsrch/drugdd", model.getValue("/root/temp/prcpdd"));
  26. // 20100310_laboru_출고부서 조회, 설정
  27. /* submit("TRADT01106");
  28. var dutplceinstcd = getUserInfo("dutplceinstcd");
  29. if(dutplceinstcd == "017" || dutplceinstcd == "012" || dutplceinstcd == "011") {
  30. combo1.select(1);
  31. } else {
  32. combo1.select(0);
  33. }
  34. chk_cnt ++;
  35. model.makeValue("/root/temp/stocdeptcd", model.getValue("/root/hidden/prcpsrch/stocdeptcd"));
  36. combo1.refresh();*/
  37. // 20101124_laboru_경북대병원_마약/향정 외래 환자 원외 처방전 출력 여부 조회(R002)
  38. submit("TRADT01108");
  39. model.refresh();
  40. if(model.getValue("/root/hidden/popupinfo/drugno") != ""){
  41. model.setValue("/root/hidden/prcpsrch/drugdd",
  42. model.getValue("/root/hidden/popupinfo/drugdd"));
  43. model.setValue("/root/hidden/prcpsrch/drugno",
  44. model.getValue("/root/hidden/popupinfo/drugno"));
  45. var drugno = model.getValue("/root/hidden/popupinfo/drugno");
  46. if((drugno > 10000 && drugno < 60001) || drugno >= 70000 ){
  47. model.makeValue("/root/hidden/prcpsrch/lblyn","");
  48. model.makeValue("/root/hidden/prcpsrch/lblflag","");
  49. model.makeValue("/root/hidden/prcpsrch/hosinyn","");
  50. model.makeValue("/root/hidden/prcpsrch/hosinmpsflag","");
  51. }else{
  52. model.setValue("/root/hidden/prcpsrch/hosoutyn","");
  53. model.makeValue("/root/hidden/prcpsrch/hosoutmpsflag","");
  54. }
  55. model.refresh();
  56. }
  57. }
  58. /**
  59. * 원외 변경시 처리
  60. */
  61. function fChkHosout_YN() {
  62. var chk = model.getValue("/root/hidden/prcpsrch/hosoutyn");
  63. if(chk == "Y"){
  64. model.makeValue("/root/hidden/prcpsrch/hosoutmpsflag", "1|2");
  65. } else {
  66. model.makeValue("/root/hidden/prcpsrch/hosoutmpsflag", "");
  67. }
  68. model.refresh();
  69. }
  70. /**
  71. * 처방전/라벨 출력
  72. */
  73. function fPrcpMPSPrint() {
  74. var chk_drugno = model.getValue("/root/hidden/prcpsrch/drugno");
  75. if( chk_drugno == ""){
  76. //자동출력 또는 미출력 처방 출력은 <원내>처방과 응급실원외처방만 출력한다.
  77. model.copyNode("/root/send/paramsrch","/root/hidden/prcpsrch");
  78. model.setValue("/root/send/paramsrch/autoprcp", "Y");
  79. submit("TRADT01101");
  80. //원외 처방전 출력
  81. if (model.getValue("/root/hidden/prcpsrch/hosoutyn") == "Y" && model.getValue("/root/hidden/prcpsrch/autooutprntyn") == "Y") {
  82. fHosOutMPSPrint();
  83. }
  84. } else {
  85. //원외 처방
  86. if(isNaN(chk_drugno)){
  87. messageBox("투약번호를 숫자로","C001");
  88. model.setValue("/root/hidden/prcpsrch/drugno", "");
  89. model.setFocus("input14");
  90. model.refresh();
  91. return;
  92. }
  93. chk_drugno = parseInt(chk_drugno, 10);
  94. if (model.getValue("/root/hidden/prcpsrch/hosoutyn") == "Y" ) {
  95. if(fChkDrugNo("Y")){
  96. model.setValue("/root/hidden/prcpsrch/prntflag", "Y");
  97. model.copyNode("/root/send/paramsrch","/root/hidden/prcpsrch");
  98. submit("TRADT01101");
  99. var chkret = 0;
  100. if(model.getValue("/root/main/paramdata/param/drugchkstat") == "NC") {
  101. chkret = messageBox("조제보류된 처방입니다. 출력", "Q004");
  102. if(chkret != 6) {
  103. return;
  104. }
  105. }
  106. var prntdt = model.getValue("/root/main/paramdata/param[1]/prntdt");
  107. if( prntdt !="" && prntdt != "-" && model.getValue("/root/hidden/prcpsrch/reprintyn") == "") {
  108. var prntdata = prntdt.substring(0,4) + "년" + prntdt.substring(4,6) + "월" + prntdt.substring(6,8) + "일" +
  109. prntdt.substring(8,10) + ":" + prntdt.substring(10,12) + ":" + prntdt.substring(12,14);
  110. result = messageBox(prntdata + "에 출력한 처방입니다. 원외처방전 재출력을","Q003");
  111. if(result == 6) {
  112. model.setValue("/root/hidden/prcpsrch/reprintyn","Y");
  113. }
  114. } else {
  115. result = 6;
  116. }
  117. if(result == 6) {
  118. //원외 처방전 출력
  119. fHosOutMPSPrint();
  120. }
  121. }
  122. }
  123. }
  124. }
  125. /**
  126. * 원외 처방전 출력
  127. */
  128. function fHosOutMPSPrint() {
  129. // 20101124_laboru_경북대병원_마약/향정 외래 환자 원외 처방전 출력 여부 조회(R002)
  130. var mdrugflag = model.getValue("/root/init/mdrugflags/mdrugflags/r002");
  131. for(var i = grd_param.fixedRows; i < grd_param.rows; i++){
  132. /*model.copyNode("/root/send/prcpsrch","/root/main/paramdata/param["+i+"]");
  133. //model.makeValue("/root/send/prcpsrch/hosoutmpsflag", model.getValue("/root/hidden/prcpsrch/hosoutmpsflag"));
  134. model.makeValue("/root/send/prcpsrch/prntflag", model.getValue("/root/hidden/prcpsrch/prntflag"));
  135. model.makeValue("/root/send/prcpsrch/autoprntyn", model.getValue("/root/hidden/prcpsrch/autoprntyn"));
  136. submit("TRADT01102");
  137. model.makeValue("/root/main/prcpdata/patinfo/hosoutmpsflagnm", "(약국제출용)");
  138. exeReportPreview("RFADT01101", "XMLSTR", "", "", "true","","","","","true");
  139. model.makeValue("/root/main/prcpdata/patinfo/hosoutmpsflagnm", "(본인보관용)");
  140. exeReportPreview("RFADT01101", "XMLSTR", "", "", "true","","","","","true");
  141. */
  142. var sParam = "";
  143. //2009-05-07 트레이 번호 추가 printerno
  144. //sParam = "drugdd▦drugno▦pid▦orddd▦cretno▦orddeptcd▦prcpgenrflag▦hosoutmpsflag▦reprintyn▩";
  145. sParam = "drugdd▦drugno▦pid▦orddd▦cretno▦orddeptcd▦prcpgenrflag▦hosoutmpsflag▦reprintyn▦prntflag▦printerno▩";
  146. sParam += model.getValue("/root/main/paramdata/param["+i+"]/drugdd")+"▦"+
  147. model.getValue("/root/main/paramdata/param["+i+"]/drugno")+"▦"+
  148. model.getValue("/root/main/paramdata/param["+i+"]/pid")+"▦"+
  149. model.getValue("/root/main/paramdata/param["+i+"]/orddd")+"▦"+
  150. model.getValue("/root/main/paramdata/param["+i+"]/cretno")+"▦"+
  151. model.getValue("/root/main/paramdata/param["+i+"]/orddeptcd")+"▦"+
  152. model.getValue("/root/main/paramdata/param["+i+"]/prcpgenrflag")+"▦"+
  153. model.getValue("/root/hidden/prcpsrch/hosoutmpsflag")+"▦"+
  154. model.getValue("/root/hidden/prcpsrch/reprintyn")+"▦"+
  155. "Y"+"▦"+
  156. model.getValue("/root/hidden/prcpsrch/stocdeptcd")+"▦"+ // 20100310_laboru_시행부서 Y 로 박히는 것 수정.
  157. model.getValue("/root/hidden/prcpsrch/printer")+"▦"+
  158. mdrugflag+
  159. "▦" +
  160. "▦" +
  161. "▦" +
  162. "▦" +
  163. "▦" +
  164. "▦" + model.getValue("/root/hidden/prcpsrch/digcdskipyn") +
  165. "▩"; // 20101124_laboru_경북대병원_마약/향정 외래 환자 원외 처방전 출력 여부 조회(R002)
  166. //model.getValue("/root/hidden/prcpsrch/printer")+"▦"+
  167. //model.getValue("/root/hidden/prcpsrch/stocdeptcd")+"▩"; // 20100310_laboru_시행부서 Y 로 박히는 것 수정.
  168. //messageBox ( model.getValue("/root/hidden/prcpsrch/printer"),"Q003") ;
  169. //messageBox("fPrcpMPSPrint-->"+ sParam,"Q003") ;
  170. model.setAttribute("params", sParam);
  171. modal("SPADT61100",0,200,200,"","");
  172. model.setAttribute("params", "");
  173. }
  174. }
  175. /**
  176. * 투약번호 체크
  177. */
  178. function fChkDrugNo(flag) {
  179. var drugno = model.getValue("/root/hidden/prcpsrch/drugno");
  180. var chk_in = model.getValue("/root/hidden/prcpsrch/hosinyn");
  181. var chk_out = model.getValue("/root/hidden/prcpsrch/hosoutyn");
  182. if(drugno != ""){
  183. drugno = parseInt(drugno, 10);
  184. if(flag == "Y"){
  185. // 20100127_laboru_투약번호 8만번대 추가(임상원외 출력위해서)
  186. if((drugno >= 10001 && drugno < 20001) || (drugno >= 80001 && drugno < 100000) ){
  187. } else {
  188. messageBox("원외 투약번호를", "C001");
  189. return false;
  190. }
  191. } else if(flag == "O"){
  192. if( (drugno > 10000 && drugno < 60001) || drugno >= 70000 ) {
  193. // messageBox("원내 투약번호를", "C001");
  194. return false;
  195. }
  196. }
  197. }
  198. return true;
  199. }