SMMNW03.xjs 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[var arErrorCode = new HashArray();
  3. /**
  4. * @desc : 간호파트 전자동의서 처리 공통 모듈
  5. * @param : pid, cretno, indd, instcd, formcd, rexnm
  6. * @return : 없음
  7. * @authur : 김지선 2013.03.14 (TF) --> 김도형 2016.07.06 (XP)
  8. */
  9. // 전자동의서 사용시 각 화면에서 Timer 적용 필수!
  10. function fElecPrint(pid, cretno, indd, instcd, formcd, ocrtag, rexnm) {
  11. var lgv_Foldernm = system.convertRealPath("%MYDOCUMENT%") + "\KU20\\report";
  12. var flag = "";
  13. var bTimer = false;
  14. if (rexnm.length > 1) { // Rex로 만들어지는 동의서의 경우에만 이미지로 전환
  15. //기존파일 삭제
  16. // 기존파일 삭제 후 생성
  17. try{
  18. var objFileList = VirtualFile.getFileList(lgv_Foldernm, "*", VirtualFile.findFileOnly);
  19. for(var i=0; i<objFileList.length; i++){
  20. sFileName = objFileList[i].filename;
  21. bDeleteFile = VirtualFile.delete(lgv_Foldernm+"\\"+sFileName);
  22. }
  23. }catch(e){
  24. }
  25. var sFileName = lgv_Foldernm + "\\"+ pid + "_" + rexnm + ".jpg";
  26. var fileType = "jpeg"; //hwp, bmp, jpeg, pdf
  27. //전체조회시 reptdoc가 00이므로
  28. var objDOM = rptf_createDOM();
  29. var objParam = new Object();
  30. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  31. //var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;";
  32. // exeReportPreview(rexnm, "XMLSTR", "", "", "false", "false", fileType, pid+"_"+rexnm, "0", "true", "", "", "", "", "", "");
  33. var option = "open=1;save=1;export=1;exportdialog=0;exporttype=jpg;printdailog=0;print=1;zoom=0;exportfilename="+sFileName+";";
  34. rptf_exeReportPreview30([rexnm],[objParam], option);
  35. frmf_setParameter("SSMRC03160_param_imgpath", lgv_Foldernm);
  36. frmf_setParameter("SSMRC03160_param_signpageformcd","1300013787");
  37. frmf_setParameter("SSMRC03160_param_ocrtag", ocrtag);
  38. flag = "Q";
  39. this.setTimer(1, 4000);
  40. bTimer = true;
  41. } else {
  42. flag = rexnm;
  43. }
  44. frmf_setParameter("SSMRC03160_param_patid", pid);
  45. frmf_setParameter("SSMRC03160_param_cretno", cretno);
  46. frmf_setParameter("SSMRC03160_param_indate", indd);
  47. frmf_setParameter("SSMRC03160_param_instcd", instcd);
  48. frmf_setParameter("SSMRC03160_param_class", "I");
  49. frmf_setParameter("SSMRC03160_param_docucd", formcd);
  50. frmf_setParameter("SSMRC03160_param_cuser", sysf_getUserId());
  51. frmf_setParameter("SSMRC03160_param_flag", flag);
  52. frmf_setParameter("SSMRC03160_param_tmflag", "N");
  53. // open("SSMRC03160");
  54. if( bTimer == false )
  55. frmf_open("SSMRC03160", "SSMRC03160", "", "", "", "", "", "", "", "", "", "", "M");
  56. }
  57. /**
  58. * @desc : 퇴원간호계획 xp 컨버젼시 사용되는 곳이 없어서 삭제
  59. * @param : formcd, elecflag
  60. * @return : 없음
  61. * @authur : 김도형 2016.07.06
  62. */
  63. function fClickPrintBtn(formcd, elecflag) {
  64. // var pid = model.getValue("/root/temp/cond/list/pid");
  65. // var cretno = model.getValue("/root/temp/cond/list/cretno");
  66. // var indd = model.getValue("/root/temp/cond/list/indd");
  67. dsf_setTypeFormat(ds_temp_cond, "cretno:INT");
  68. var pid = grp_biz.import1.ds_temp_cond.getColumn(0, "pid");
  69. var cretno = grp_biz.import1.ds_temp_cond.getColumn(0, "cretno");
  70. var indd = grp_biz.import1.ds_temp_cond.getColumn(0, "indd");
  71. var ocrtag = "" ;
  72. // model.makeValue("/root/send/req/formcd", formcd);
  73. // model.makeValue("/root/send/req/pid", pid);
  74. // model.makeValue("/root/send/req/cretno", cretno);
  75. // model.makeValue("/root/send/req/orddd", indd);
  76. ds_send_req.clear();
  77. dsf_createDsRow("ds_send_req", [
  78. {col:"formcd", type:"STRING", size:256, val: formcd}
  79. , {col:"pid", type:"STRING", size:256, val: pid}
  80. , {col:"cretno", type:"STRING", size:256, val: cretno }
  81. , {col:"indd", type:"STRING", size:256, val: indd}
  82. ]);
  83. if (elecflag == "Y") { // 전자 동의서의 경우 무조건 신규 출력 2013.04.08 KJS
  84. fPrintDschInfo("newprint", ocrtag, elecflag);
  85. trace("YYY");
  86. } else { // 출력 동의서의 경우 규칙에 따라 (출력 유무, 스캔 유무에 따라 신규출력 or 재출력)
  87. trace("NNN");
  88. var oParam = {};
  89. oParam.id = "TRMNW15101";
  90. oParam.service = "wardcareapp.WardDschCareRec";
  91. oParam.method = "reqGetDupPrntCheck";
  92. oParam.inds = "req=ds_send_req";
  93. oParam.outds = "ds_duplorcprnt_msginfo=prntinfo";
  94. oParam.async = false;
  95. oParam.callback = "cf_TRMNW15101";
  96. tranf_submit(oParam);
  97. if (arErrorCode.pop("TRMNW15101") > -1){
  98. if(ds_duplorcprnt_msginfo.rowcount > 0 ) { // 출력했던 건인 경우
  99. if(ds_duplorcprnt_msginfo.getColumn(0, "scanyn") == "N"){ // 스캔된건이 없는경우
  100. if(ds_duplorcprnt_msginfo.getColumn(0, "statcd") == "D" || ds_duplorcprnt_msginfo.getColumn(0, "statcd") == "CP"){ // 삭제/출력취소 된 건인 경우
  101. //신규출력
  102. fPrintDschInfo("newprint", ocrtag, elecflag);
  103. }else{
  104. // 재출력
  105. ocrtag = ds_duplorcprnt_msginfo.getColumn(0, "ocrtag");
  106. fPrintDschInfo("reprint", ocrtag, elecflag);
  107. }
  108. }else if(ds_duplorcprnt_msginfo.getColumn(0, "scanyn") == "Y"){ // 스캔된건이 있는경우
  109. //신규출력
  110. var rtnval = sysf_messageBox("스캔 완료된 출력물이 있습니다. 신규출력하시겠습니까?\n(신규출력할 경우 의무기록실에 이전에 스캔된 퇴원간호계획지 삭제를 요청하시기 바랍니다.)", "Q"); // return : yes=6
  111. if(rtnval == "6"){ // yes
  112. fPrintDschInfo("newprint", ocrtag, elecflag);
  113. }else{
  114. return;
  115. }
  116. }
  117. }else{
  118. // 신규출력
  119. fPrintDschInfo("newprint", ocrtag, elecflag);
  120. }
  121. }
  122. }
  123. }
  124. function cf_TRMNW15101(sSvcId, nErrorCode, sErrorMsg) {
  125. arErrorCode.push(sSvcId, nErrorCode);
  126. }
  127. /**
  128. * @desc : 간호파트 퇴원교육확인서 OCR 처리 공통 모듈
  129. * @param : left, top, pid, indd, cretno, ordtype, formcd
  130. * @return : 없음
  131. * @authur : 김지선 2013.05.16 ( TF ) --> 김도형 2016.07.06 (XP)
  132. */
  133. function fOCRPrint(left, top, pid, indd, cretno, ordtype, formcd) {
  134. frmf_setParameter("formcd",formcd);
  135. frmf_setParameter("pid", pid);
  136. frmf_setParameter("orddd", indd);
  137. frmf_setParameter("cretno", cretno);
  138. frmf_setParameter("ordtype", ordtype);
  139. //open("SSMRF03700",1,left,top);
  140. frmf_open("SSMRF03700", "SSMRF03700", null, null, 1, left, top, null, null, null, null, null, "M");
  141. }
  142. /**
  143. * @desc : 퇴원간호계획 - 출력(환자교육출력물 포함), 환자교육출력물 클릭 시 본원 정신과 퇴원통지서 출력토록 수정
  144. * @param : 없음
  145. * @return : 없음
  146. * @authur : AYS 2017.04.21
  147. */
  148. function fPsyDschNotiPrintBtn() {
  149. var exist = ds_hidden_existinfo.getColumn(0, "exist");
  150. if(exist != "Y") {
  151. trace("PsyPrntLogic Stop - Not Saved");
  152. //sysf_messageBox("저장 안됨.", "I");
  153. return;
  154. }
  155. var deptcd = ds_temp_cond.getColumn(0, "wardcd");
  156. var userdept = sysf_getUserInfo("dutplcecd");
  157. var spiritdept = ds_codelist.lookupExpr("cdgrupid =='U31'", "cdid");
  158. if(deptcd == spiritdept && userdept == spiritdept) {
  159. trace("PsyPrntLogic Start");
  160. dsf_setTypeFormat(ds_temp_cond, "cretno:INT");
  161. var pid = grp_biz.import1.ds_temp_cond.getColumn(0, "pid");
  162. var cretno = grp_biz.import1.ds_temp_cond.getColumn(0, "cretno");
  163. var indd = grp_biz.import1.ds_temp_cond.getColumn(0, "indd");
  164. ds_send_req.clear();
  165. dsf_createDsRow("ds_send_req", [
  166. {col:"pid", type:"STRING", size:256, val: pid}
  167. , {col:"cretno", type:"STRING", size:256, val: cretno }
  168. , {col:"indd", type:"STRING", size:256, val: indd}
  169. ]);
  170. var oParam = {};
  171. oParam.id = "TRMMR09101";
  172. oParam.service = "medirecapp.ExtnMediRec";
  173. oParam.method = "reqGetProfDschYN";
  174. oParam.inds = "req=ds_send_req";
  175. oParam.outds = "ds_psydschinfo=cntlist";
  176. oParam.async = false;
  177. oParam.callback = "cf_TRMMR09101";
  178. tranf_submit(oParam);
  179. if (arErrorCode.pop("TRMMR09101") > -1){
  180. trace("PsyPrntLogic Submit OK");
  181. if(ds_psydschinfo.rowcount > 0 ) {
  182. if(ds_psydschinfo.getColumn(0, "cnt") == "1" && !utlf_isNull(ds_psydschinfo.getColumn(0, "formrecseq"))){
  183. lf_RecPrnt(ds_psydschinfo.getColumn(0, "formrecseq"))
  184. trace("PsyPrnt 출력");
  185. }else{
  186. trace("PsyPrnt 미출력");
  187. }
  188. }
  189. }
  190. }
  191. }
  192. function cf_TRMMR09101(sSvcId, nErrorCode, sErrorMsg) {
  193. arErrorCode.push(sSvcId, nErrorCode);
  194. }
  195. ]]></Script>