SMADT01102.xjs 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  3. * System Name : KNUH2.0
  4. * Job Name : EMR
  5. * Creator :
  6. * Make Date : 2015-08-31
  7. * Description :
  8. *---------------------------------------------------------------------------------------
  9. * Modify Date Modifier Modify Description
  10. *---------------------------------------------------------------------------------------
  11. * 2015-08-31 TF->XP
  12. *
  13. *---------------------------------------------------------------------------------------
  14. ****************************************************************************************/
  15. //===============================SMADT01102.xjs=======================================
  16. //====================================================================================
  17. //====================================================================================
  18. var gTimer;
  19. var gTimer1;
  20. var chk_cnt = 0;
  21. /****************************************************************************************
  22. * Argument : N/A
  23. * Description : 초기화
  24. ****************************************************************************************/
  25. function fInit() {
  26. // 날짜 초기화
  27. var curDate = new Date();
  28. ds_hidden_prcpsrch.setColumn(0,"drugdd",utlf_getCurrentDate());
  29. //원외 체크 초기화
  30. ds_hidden_prcpsrch.setColumn(0,"hosoutyn","Y");
  31. fChkHosout_YN();
  32. // 20100122_laboru
  33. ds_hidden_prcpsrch.setColumn(0,"drugno",ds_temp.getColumn(0,"drugno"));
  34. ds_hidden_prcpsrch.setColumn(0,"drugdd",ds_temp.getColumn(0,"prcpdd"));
  35. // 20101124_laboru_경북대병원_마약/향정 외래 환자 원외 처방전 출력 여부 조회(R002)
  36. var oParam = {};
  37. oParam.id = "TRADT01108";
  38. oParam.service = "pharmacyprescriptionapp.DrugPrint";
  39. oParam.method = "reqGetMdrugOutFlag";
  40. //oParam.inds = "";
  41. oParam.outds = "ds_init_mdrugflags=mdrugflags";
  42. oParam.async = false;
  43. //oParam.callback = "cf_TRADT01108";
  44. tranf_submit(oParam);
  45. if(!utlf_isNull(ds_hidden_popupinfo.getColumn(0,"drugno"))) {
  46. ds_hidden_prcpsrch.setColumn(0,"drugdd",ds_hidden_popupinfo.getColumn(0,"drugdd"));
  47. ds_hidden_prcpsrch.setColumn(0,"drugno",ds_hidden_popupinfo.getColumn(0,"drugno"));
  48. var drugno = ds_hidden_popupinfo.getColumn(0,"drugno");
  49. if((drugno > 10000 && drugno < 60001) || drugno >= 70000){
  50. dsf_makeValue(ds_hidden_prcpsrch,"lblyn" ,"string","");
  51. dsf_makeValue(ds_hidden_prcpsrch,"lblflag" ,"string","");
  52. dsf_makeValue(ds_hidden_prcpsrch,"hosinyn" ,"string","");
  53. dsf_makeValue(ds_hidden_prcpsrch,"hosinmpsflag" ,"string","");
  54. }else{
  55. ds_hidden_prcpsrch.setColumn(0,"hosoutyn","");
  56. dsf_makeValue(ds_hidden_prcpsrch,"hosoutmpsflag","string","");
  57. }
  58. }
  59. }
  60. /****************************************************************************************
  61. * Argument : N/A
  62. * Description : 원외 변경시 처리
  63. ****************************************************************************************/
  64. function fChkHosout_YN(chk) {
  65. if(utlf_isNull(chk)) chk = ds_hidden_prcpsrch.getColumn(0,"hosoutyn");
  66. if(chk == "Y"){
  67. dsf_makeValue(ds_hidden_prcpsrch,"hosoutmpsflag","string","1|2");
  68. checkbox1.setData("1|2".split("|"),null,false);
  69. } else {
  70. dsf_makeValue(ds_hidden_prcpsrch,"hosoutmpsflag","string","");
  71. checkbox1.setCheckAll(false);
  72. }
  73. }
  74. /****************************************************************************************
  75. * Argument : N/A
  76. * Description : 처방전/라벨 출력
  77. ****************************************************************************************/
  78. function fPrcpMPSPrint() {
  79. var chk_drugno = ds_hidden_prcpsrch.getColumn(0,"drugno");
  80. if(utlf_isNull(chk_drugno)) {
  81. //자동출력 또는 미출력 처방 출력은 <원내>처방과 응급실원외처방만 출력한다.
  82. ds_send_paramsrch.copyData(ds_hidden_prcpsrch);
  83. ds_send_paramsrch.setColumn(0,"autoprcp","Y");
  84. var oParam = {};
  85. oParam.id = "TRADT01101";
  86. oParam.service = "pharmacyprescriptionapp.DrugPrint";
  87. oParam.method = "reqGetParamData";
  88. oParam.inds = "req=ds_send_paramsrch";
  89. oParam.outds = "ds_main_paramdata_param=param";
  90. oParam.async = false;
  91. //oParam.callback = "cf_TRADT01101";
  92. tranf_submit(oParam);
  93. //원외 처방전 출력
  94. if (ds_hidden_prcpsrch.getColumn(0,"hosoutyn") == "Y" && ds_hidden_prcpsrch.getColumn(0,"autooutprntyn") == "Y") {
  95. fHosOutMPSPrint();
  96. }
  97. } else {
  98. //원외 처방
  99. if(isNaN(chk_drugno)){
  100. sysf_messageBox("투약번호를 숫자로","C001");
  101. ds_hidden_prcpsrch.setColumn(0,"drugno", "");
  102. input14.setFocus();
  103. return;
  104. }
  105. chk_drugno = parseInt(chk_drugno, 10);
  106. if (ds_hidden_prcpsrch.getColumn(0,"hosoutyn") == "Y" ) {
  107. if(fChkDrugNo("Y")){
  108. ds_hidden_prcpsrch.setColumn(0,"prntflag","Y");
  109. ds_send_paramsrch.copyData(ds_hidden_prcpsrch);
  110. var oParam = {};
  111. oParam.id = "TRADT01101";
  112. oParam.service = "pharmacyprescriptionapp.DrugPrint";
  113. oParam.method = "reqGetParamData";
  114. oParam.inds = "req=ds_send_paramsrch";
  115. oParam.outds = "ds_main_paramdata_param=param";
  116. oParam.async = false;
  117. //oParam.callback = "cf_TRADT01101";
  118. tranf_submit(oParam);
  119. var chkret = 0;
  120. if(ds_main_paramdata_param.getColumn(0,"drugchkstat") == "NC") {
  121. chkret = sysf_messageBox("조제보류된 처방입니다. 출력", "Q004");
  122. if(chkret != 6) {
  123. return;
  124. }
  125. }
  126. var prntdt = ds_main_paramdata_param.getColumn(0,"prntdt");
  127. if( !utlf_isNull(prntdt) && prntdt != "-" && utlf_isNull(ds_hidden_prcpsrch.getColumn(0,"reprintyn"))) {
  128. var prntdata = prntdt.substring(0,4) + "년" + prntdt.substring(4,6) + "월" + prntdt.substring(6,8) + "일" +
  129. prntdt.substring(8,10) + ":" + prntdt.substring(10,12) + ":" + prntdt.substring(12,14);
  130. result = sysf_messageBox(prntdata + "에 출력한 처방입니다. 원외처방전 재출력을","Q003");
  131. if(result == 6) {
  132. ds_hidden_prcpsrch.setColumn(0,"reprintyn","Y");
  133. }
  134. } else {
  135. result = 6;
  136. }
  137. if(result == 6) {
  138. //원외 처방전 출력
  139. fHosOutMPSPrint();
  140. }
  141. }
  142. }
  143. }
  144. }
  145. /****************************************************************************************
  146. * Argument : N/A
  147. * Description : 원외 처방전 출력
  148. ****************************************************************************************/
  149. function fHosOutMPSPrint() {
  150. // 20101124_laboru_경북대병원_마약/향정 외래 환자 원외 처방전 출력 여부 조회(R002)
  151. var mdrugflag = ds_init_mdrugflags.getColumn(0,"r002");
  152. for(var i = 0 ; i < ds_main_paramdata_param.rowcount ; i++) {
  153. var sParam = "";
  154. //2009-05-07 트레이 번호 추가 printerno
  155. sParam = "drugdd▦drugno▦pid▦orddd▦cretno▦orddeptcd▦prcpgenrflag▦hosoutmpsflag▦reprintyn▦prntflag▦printerno▩";
  156. sParam += ds_main_paramdata_param.getColumn(i,"drugdd") +"▦"+
  157. ds_main_paramdata_param.getColumn(i,"drugno") +"▦"+
  158. ds_main_paramdata_param.getColumn(i,"pid") +"▦"+
  159. ds_main_paramdata_param.getColumn(i,"orddd") +"▦"+
  160. ds_main_paramdata_param.getColumn(i,"cretno") +"▦"+
  161. ds_main_paramdata_param.getColumn(i,"orddeptcd") +"▦"+
  162. ds_main_paramdata_param.getColumn(i,"prcpgenrflag")+"▦"+
  163. ds_hidden_prcpsrch.getColumn(0,"hosoutmpsflag") +"▦"+
  164. ds_hidden_prcpsrch.getColumn(0,"reprintyn") +"▦"+
  165. "Y" +"▦"+
  166. ds_hidden_prcpsrch.getColumn(0,"stocdeptcd") +"▦"+ // 20100310_laboru_시행부서 Y 로 박히는 것 수정.
  167. ds_hidden_prcpsrch.getColumn(0,"printer") +"▦"+
  168. mdrugflag +"▩"; // 20101124_laboru_경북대병원_마약/향정 외래 환자 원외 처방전 출력 여부 조회(R002)
  169. // model.setAttribute("params", sParam);
  170. frmf_setParameter("params", sParam);
  171. frmf_modal("SPADT61100","SPADT61100", "", "", "", 200, 200, "", "", "", "", "", "M");
  172. // model.setAttribute("params", "");
  173. frmf_clearParameter("SMADT01102_params");
  174. }
  175. }
  176. /****************************************************************************************
  177. * Argument : N/A
  178. * Description : 투약번호 체크
  179. ****************************************************************************************/
  180. function fChkDrugNo(flag) {
  181. var drugno = ds_hidden_prcpsrch.getColumn(0,"drugno");
  182. var chk_in = ds_hidden_prcpsrch.getColumn(0,"hosinyn");
  183. var chk_out = ds_hidden_prcpsrch.getColumn(0,"hosoutyn");
  184. if(!utlf_isNull(drugno)) {
  185. drugno = parseInt(drugno, 10);
  186. if(flag == "Y"){
  187. // 20100127_laboru_투약번호 8만번대 추가(임상원외 출력위해서)
  188. if((drugno >= 10001 && drugno < 20001) || (drugno >= 80001 && drugno < 100000) ){
  189. } else {
  190. sysf_messageBox("원외 투약번호를", "C001");
  191. return false;
  192. }
  193. } else if(flag == "O"){
  194. if( (drugno > 10000 && drugno < 60001) || drugno >= 70000 ) {
  195. // messageBox("원내 투약번호를", "C001");
  196. return false;
  197. }
  198. }
  199. }
  200. return true;
  201. }
  202. //====================================================================================
  203. //====================================================================================
  204. //====================================================================================]]></Script>