SPPMI03200.xjs 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/****************************************************************************************
  3. * Argument : N/A
  4. * Description : 초기화 실행
  5. ****************************************************************************************/
  6. function fInit() {
  7. ds_send_cond.clearData();
  8. ds_send_agmtdesc.clearData();
  9. ds_main_agmtlist.clearData();
  10. ds_main_printinfo.clearData();
  11. ds_main_ininfo.clearData();
  12. ds_main_agmtcount.clearData();
  13. ds_init.clearData();
  14. ds_hidden.clearData();
  15. ds_tmp.clearData();
  16. ds_send_cond.setColumn(0,"agmttype", 0); // 구분:전체
  17. ds_send_agmtdesc.setColumn(0,"ocrtype" , "S"); // O:OCR, S:전자서명
  18. ds_send_agmtdesc.setColumn(0,"agmttype" , "1");
  19. ds_send_agmtdesc.setColumn(0,"fromdd" , utlf_getCurrentDate());
  20. var todd = utlf_getNewDate();
  21. todd = todd.getAddDate(364, "D");
  22. todd = utlf_getDateTime(todd, "D");
  23. ds_send_agmtdesc.setColumn(0,"todd" , todd);
  24. cmb_type.enable = true;
  25. combo1.enable = true;
  26. }
  27. /****************************************************************************************
  28. * Argument : N/A
  29. * Description : OCRNO입력
  30. ****************************************************************************************/
  31. function fSetBcode() {
  32. // setInputNodeCurText();
  33. frmf_setInputNodeCurPid(grp_srch.input1);
  34. var sOcrTagNo = ds_send_cond.getColumn(0,"ocrtagno");
  35. if (utlf_isNull(sOcrTagNo) || sOcrTagNo.length < 13) {
  36. //messageBox("OCR코드가 정상적으로 입력되지 않았습니다.", "C000");
  37. return false;
  38. }
  39. // 검색 실시
  40. fSearch();
  41. }
  42. /*일괄등록(마감)방식을 채택함으로 인해 자동등록은 하지 않음
  43. function fAutoRgst() {
  44. var pid = model.getValue("/root/main/ininfo/pid");
  45. var indd = model.getValue("/root/main/ininfo/indd");
  46. var agmttype = model.getValue("/root/main/ininfo/agmttype");
  47. // 자동신청 확인용 메세지 - 입원결정서 있는 경우
  48. if (messageBox(model.getValue("/root/send/agmtdesc/hngnm")
  49. + "(" + pid + ")의 "
  50. + "입원일자 : " + indd + "건을 "
  51. + "약정서 (" + model.getValue("/root/send/cond/ocrtagno").substr(0, 13)
  52. + ")에 등록하시겠습니까?\r\n\r\n"
  53. + "시작일자는 " + indd + "로 설정됩니다. "
  54. , "Q000") == '6') {
  55. model.setValue("/root/send/agmtdesc/fromdd", indd);
  56. model.makeValue("/root/send/agmtdesc/updateflag", "U");
  57. model.makeValue("/root/send/agmtdesc/formcd", fGetFromCd(model.getValue("/root/send/agmtdesc/agmttype")));
  58. if (submit("TXPMI03202")) {
  59. // 의무기록 연동이 되어 있지 않은 경우 연동실시
  60. if (model.getValue("/root/send/agmtdesc/emrif") == "N") {
  61. if (fOCRSave()) {
  62. // 연동 성공시 자동 닫기
  63. model.close();
  64. }
  65. }
  66. }
  67. }
  68. }
  69. */
  70. /****************************************************************************************
  71. * Argument : pid - 환자번호
  72. : orddd - 진료일자
  73. : orddeptcd - 진료과
  74. : orddrid - 진료의
  75. : agmttype - 약정서구분(1:일반약정서, 2:기간약정서)
  76. : rsrvyn - 입원결정서유무
  77. * Description : 입원약정서 신규출력
  78. ****************************************************************************************/
  79. function fPrintAgmt(pid, orddd, orddeptcd, orddrid, agmttype, rsrvyn, roomnm, roomcnt, insukind, todd, cretno) {
  80. dsf_createDsRow("ds_send_printcond" ,[{col: "pid" , type:"string", size:256, val:pid}
  81. , {col: "orddd" , type:"string", size:256, val:orddd}
  82. , {col: "formcd" , type:"string", size:256, val:''}
  83. , {col: "orddeptcd" , type:"string", size:256, val:orddeptcd}
  84. , {col: "orddrid" , type:"string", size:256, val:orddrid}
  85. , {col: "agmttype" , type:"string", size:256, val:agmttype}
  86. , {col: "rsrvyn" , type:"string", size:256, val:rsrvyn}
  87. , {col: "ocrtype" , type:"string", size:256, val:"O"}]); // 서식종류(O:OCR, S:전자서명)
  88. ds_send_agmtdesc.setColumn(0,"ocrtype","O"); // 자동연동 시 디폴트 처리(O:OCR, S:전자서명)
  89. // 입원약정서 저장 및 OCR출력정보 취득
  90. var oParam = {};
  91. oParam.id = "TXPMI03203";
  92. oParam.service = "ipatmngtapp.InRgst";
  93. oParam.method = "reqSetInAgmtPrint";
  94. oParam.inds = "req=ds_send_printcond";
  95. oParam.outds = "ds_main_printinfo=resultlist";
  96. oParam.async = false;
  97. oParam.callback = "cf_TXPMI03203";
  98. tranf_submit(oParam);
  99. if (arErrorCode.pop("TXPMI03203") > -1) {
  100. var usernm = sysf_getUserName();
  101. var curdate = utlf_getCurrentDate();
  102. var curtm = utlf_getCurrentTime();
  103. dsf_makeValue(ds_main_printinfo,"usernm" ,"string", usernm);
  104. dsf_makeValue(ds_main_printinfo,"curdate" ,"string", curdate);
  105. dsf_makeValue(ds_main_printinfo,"curtm" ,"string", curtm);
  106. dsf_makeValue(ds_main_printinfo,"roomnm" ,"string", roomnm);
  107. dsf_makeValue(ds_main_printinfo,"roomcnt" ,"string", roomcnt);
  108. dsf_makeValue(ds_main_printinfo,"insukind" ,"string", insukind);
  109. dsf_makeValue(ds_main_printinfo,"orddd" ,"string", orddd);
  110. dsf_makeValue(ds_main_printinfo,"fromdd" ,"string", orddd);
  111. dsf_makeValue(ds_main_printinfo,"todd" ,"string", todd);
  112. dsf_makeValue(ds_main_printinfo,"rsrvyn" ,"string", rsrvyn);
  113. // 2019/08/21 동의서 마스터를 생성 후 종이 출력되도록 수정처리(이정택)
  114. if (rsrvyn == "N") {
  115. // 연동기능 구현을 위한 파라미터 설정
  116. ds_send_agmtdesc.setColumn(0,"pid", pid);
  117. ds_send_agmtdesc.setColumn(0,"ocrtagno", ds_main_printinfo.getColumn(0,"ocrtagno"));
  118. ds_send_agmtdesc.setColumn(0,"agmttype", agmttype);
  119. ds_send_agmtdesc.setColumn(0,"indd", orddd);
  120. dsf_makeValue(ds_send_agmtdesc,"emrif", "string","N");
  121. dsf_makeValue(ds_send_agmtdesc,"cretno", "string",cretno);
  122. dsf_makeValue(ds_send_agmtdesc,"orddeptcd", "string",orddeptcd);
  123. dsf_makeValue(ds_send_agmtdesc,"medispclid","string",orddrid);
  124. dsf_makeValue(ds_send_agmtdesc,"ocrtype", "string","O"); // 원무 출력 시 자동연동 처리용 ocrtype
  125. trace("OCR MASTER 정보 인서트 처리 시작");
  126. if(fOCRSave()){ // 정상적으로 emr.mrfmocrprnt에 인서트하였을시
  127. trace("OCR MASTER 정보 인서트 처리 종료");
  128. // 일반약정서
  129. if (agmttype == "1") {
  130. // exeReportPreview("RPPMI03401","XMLSTR" , "" , "" , "true" , "", "", "", "", "true");
  131. var objDOM = rptf_createDOM(); // DOM 객체 설정
  132. rptf_setNodeListToDOM(objDOM, "root/main/printinfo" , ds_main_printinfo); // 데이터셋 1
  133. var objParam = new Object();
  134. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상위노드 XML 스트링 추출
  135. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=1;";
  136. rptf_exeReportPreview30(["RPPMI03401"],[objParam], option);
  137. trace("일반 약정서 출력완료");
  138. // 기간약정서
  139. } else {
  140. // exeReportPreview("RPPMI03402","XMLSTR" , "" , "" , "true" , "", "", "", "", "true");
  141. var objDOM = rptf_createDOM(); // DOM 객체 설정
  142. rptf_setNodeListToDOM(objDOM, "root/main/printinfo" , ds_main_printinfo); // 데이터셋 1
  143. var objParam = new Object();
  144. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상위노드 XML 스트링 추출
  145. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=1;";
  146. rptf_exeReportPreview30(["RPPMI03402"],[objParam], option,"","true");
  147. trace("기간 약정서 출력완료");
  148. }
  149. }
  150. }
  151. // 2019/08/21 동의서 마스터를 생성 후 종이 출력되도록 수정처리(이정택)
  152. /*
  153. // 일반약정서
  154. if (agmttype == "1") {
  155. // exeReportPreview("RPPMI03401","XMLSTR" , "" , "" , "true" , "", "", "", "", "true");
  156. var objDOM = rptf_createDOM(); // DOM 객체 설정
  157. rptf_setNodeListToDOM(objDOM, "root/main/printinfo" , ds_main_printinfo); // 데이터셋 1
  158. var objParam = new Object();
  159. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상위노드 XML 스트링 추출
  160. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=1;";
  161. rptf_exeReportPreview30(["RPPMI03401"],[objParam], option);
  162. // 기간약정서
  163. } else {
  164. // exeReportPreview("RPPMI03402","XMLSTR" , "" , "" , "true" , "", "", "", "", "true");
  165. var objDOM = rptf_createDOM(); // DOM 객체 설정
  166. rptf_setNodeListToDOM(objDOM, "root/main/printinfo" , ds_main_printinfo); // 데이터셋 1
  167. var objParam = new Object();
  168. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상위노드 XML 스트링 추출
  169. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=1;";
  170. rptf_exeReportPreview30(["RPPMI03402"],[objParam], option,"","true");
  171. }
  172. */
  173. // 원무에서 출력하는 경우, 자동연동기능 추가(입원결정시에는 제외)
  174. // 2019/08/21 동의서 마스터를 생성 후 종이 출력되도록 수정처리(이정택)
  175. /*
  176. if (rsrvyn == "N") {
  177. // 연동기능 구현을 위한 파라미터 설정
  178. ds_send_agmtdesc.setColumn(0,"pid", pid);
  179. ds_send_agmtdesc.setColumn(0,"ocrtagno", ds_main_printinfo.getColumn(0,"ocrtagno"));
  180. ds_send_agmtdesc.setColumn(0,"agmttype", agmttype);
  181. ds_send_agmtdesc.setColumn(0,"indd", orddd);
  182. dsf_makeValue(ds_send_agmtdesc,"emrif", "string","N");
  183. dsf_makeValue(ds_send_agmtdesc,"cretno", "string",cretno);
  184. dsf_makeValue(ds_send_agmtdesc,"orddeptcd", "string",orddeptcd);
  185. dsf_makeValue(ds_send_agmtdesc,"medispclid","string",orddrid);
  186. dsf_makeValue(ds_send_agmtdesc,"ocrtype", "string","O"); // 원무 출력 시 자동연동 처리용 ocrtype
  187. fOCRSave();
  188. }
  189. */
  190. // 2019/08/21 동의서 마스터를 생성 후 종이 출력되도록 수정처리(이정택)
  191. }
  192. }
  193. function cf_TXPMI03203(sSvcId, nErrorCode, sErrorMsg) {
  194. arErrorCode.push(sSvcId, nErrorCode);
  195. }
  196. /****************************************************************************************
  197. * Argument : N/A
  198. * Description : 약정서 출력후 연동정보 저장
  199. ****************************************************************************************/
  200. function fOCRSave() {
  201. // 연동대상검증 : 대상이 선택되지 않았거나, 이미 연동이 완료된 데이터는 제외시킴
  202. if (utlf_isNull(ds_send_agmtdesc.getColumn(0,"pid"))) {
  203. sysf_messageBox("대상이 선택되지 않았습니다.", "C000");
  204. return;
  205. }
  206. if (ds_send_agmtdesc.getColumn(0,"emrif") == "Y") {
  207. sysf_messageBox("이미 연동이 완료된 데이터입니다.", "C000");
  208. return;
  209. }
  210. // 연동은 OCR 서식만 가능(전자서명 불가)
  211. if (ds_send_agmtdesc.getColumn(0,"ocrtype") != "O") {
  212. sysf_messageBox("전사서명서식은 연동 불가능합니다. (자동연동)", "C000");
  213. return ;
  214. }
  215. // formcd 설정
  216. dsf_makeValue(ds_send_agmtdesc,"formcd","string",fGetFromCd(ds_send_agmtdesc.getColumn(0,"agmttype")));
  217. dsf_createDsRow("ds_TRPMI03205" ,[
  218. {col: "pid", type: 'string', size: 256, val: '' },
  219. {col: "ocrtagno", type: 'string', size: 256, val: '' },
  220. {col: "agmttype", type: 'string', size: 256, val: '' },
  221. {col: "fromdd", type: 'string', size: 256, val: '' },
  222. {col: "seqno", type: 'string', size: 256, val: '' },
  223. {col: "todd", type: 'string', size: 256, val: '' },
  224. {col: "rmk", type: 'string', size: 256, val: '' },
  225. {col: "updateflag", type: 'string', size: 256, val: '' },
  226. {col: "emrif", type: 'string', size: 256, val: '' },
  227. {col: "indd", type: 'string', size: 256, val: '' },
  228. {col: "cretno", type: 'string', size: 256, val: '' },
  229. {col: "orddeptcd", type: 'string', size: 256, val: '' },
  230. {col: "medispclid", type: 'string', size: 256, val: '' },
  231. {col: "formcd", type: 'string', size: 256, val: '' }
  232. ]);
  233. ds_TRPMI03205.copyRow(0, ds_send_agmtdesc, 0);
  234. var oParam = {};
  235. oParam.id = "TRPMI03205";
  236. oParam.service = "ipatmngtapp.InRgst";
  237. oParam.method = "reqGetOcrInfo";
  238. oParam.inds = "req=ds_TRPMI03205";
  239. oParam.outds = "ds_main_ocrinfo=ocrinfo";
  240. oParam.async = false;
  241. //oParam.callback = "cf_TRPMI03205";
  242. tranf_submit(oParam);
  243. // 파라미터 세팅
  244. var ocrtagno = ds_main_ocrinfo.getColumn(0,"ocrtagno");
  245. var pid = ds_main_ocrinfo.getColumn(0,"pid");
  246. var orddd = ds_main_ocrinfo.getColumn(0,"orddd");
  247. var cretno = ds_main_ocrinfo.getColumn(0,"cretno");
  248. var ordtype = ds_main_ocrinfo.getColumn(0,"ordtype");
  249. var orddeptcd = ds_main_ocrinfo.getColumn(0,"orddeptcd");
  250. var orddrid = ds_main_ocrinfo.getColumn(0,"orddrid");
  251. var formcd = ds_main_ocrinfo.getColumn(0,"formcd");
  252. var formfromdt = ds_main_ocrinfo.getColumn(0,"formfromdt");
  253. var pagecnt = ds_main_ocrinfo.getColumn(0,"pagecnt");
  254. if(!fSaveOCRIF(ocrtagno, pid, orddd, cretno, ordtype, orddeptcd, orddrid, formcd, formfromdt, "", "", pagecnt)){
  255. sysf_messageBox("통합기록 연동중 오류가 발생하였습니다. ","C999");
  256. return false;
  257. } else {
  258. // 입원약정서 관리화면에서 호출한 경우만 재조회(입원등록 IF에서는 호출 제외)
  259. if (utlf_isNull(cretno)) {
  260. sysf_messageBox("정상적으로 등록되었습니다. ","I000");
  261. fSearch();
  262. // 다음데이터 입력을 위한 포커스 이동
  263. ipt_ocrtagnoif.setFocus();
  264. }
  265. return true;
  266. }
  267. }
  268. /****************************************************************************************
  269. * Argument : agmttype - 약정서 타입
  270. * Description : 의무기록 formcd GET!
  271. ****************************************************************************************/
  272. function fGetFromCd(agmttype) {
  273. var formcd;
  274. var nodeCnt = ds_init_prncd.rowcount;
  275. // 구분에 맞춰 폼코드 처리(1:일반약정서 / 2:기간약정서 / 3:개인정보이용동의서)
  276. for (i = 0; i < nodeCnt; i++) {
  277. if (agmttype == ds_init_prncd.getColumn(i,"cdseqno")) {
  278. formcd = ds_init_prncd.getColumn(i,"hardcd");
  279. break;
  280. }
  281. }
  282. return formcd;
  283. }
  284. /****************************************************************************************
  285. * Argument : N/A
  286. * Description : 검색
  287. ****************************************************************************************/
  288. function fSearch() {
  289. // 조회
  290. var oParam = {};
  291. oParam.id = "TRPMI03201";
  292. oParam.service = "ipatmngtapp.InRgst";
  293. oParam.method = "reqGetInAgmtList";
  294. oParam.inds = "req=ds_send_cond";
  295. oParam.outds = "ds_main_agmtlist=resultlist";
  296. oParam.async = false;
  297. oParam.callback = "cf_TRPMI03201";
  298. tranf_submit(oParam);
  299. if (arErrorCode.pop("TRPMI03201") > -1) {
  300. ds_send_agmtdesc.clearData();
  301. }
  302. }
  303. function cf_TRPMI03201(sSvcId, nErrorCode, sErrorMsg) {
  304. arErrorCode.push(sSvcId, nErrorCode);
  305. }
  306. /****************************************************************************************
  307. * Argument : pid - 환자번호
  308. : indd - 입원일자
  309. : agmttype - 약정서 타입
  310. * Description : ivr용 - 입원일자에 유효한 입원약정서 유무 조회(자동출력의 기준으로 사용)
  311. ****************************************************************************************/
  312. function fReqGetInAgmtCount(pid, indd, agmttype) {
  313. ds_send_cond.setColumn(0,"pid" , pid);
  314. ds_send_cond.setColumn(0,"fromdd" , indd);
  315. ds_send_cond.setColumn(0,"agmttype" , agmttype);
  316. // 조회
  317. var oParam = {};
  318. oParam.id = "TRPMI03204";
  319. oParam.service = "ipatmngtapp.InRgst";
  320. oParam.method = "reqGetInAgmtCount";
  321. oParam.inds = "req=ds_send_cond";
  322. oParam.outds = "ds_main_agmtcount=resultlist";
  323. oParam.async = false;
  324. oParam.callback = "cf_TRPMI03204";
  325. tranf_submit(oParam);
  326. if (arErrorCode.pop("TRPMI03204") > -1) {
  327. if (parseInt(ds_main_agmtcount.getColumn(0,"cnt")) > 0) {
  328. return true;
  329. } else {
  330. return false;
  331. }
  332. }
  333. }
  334. function cf_TRPMI03204(sSvcId, nErrorCode, sErrorMsg) {
  335. arErrorCode.push(sSvcId, nErrorCode);
  336. }
  337. /****************************************************************************************
  338. * Argument : N/A
  339. * Description : 약정서재출력
  340. ****************************************************************************************/
  341. function fRePrintOcr() {
  342. if (utlf_isNull(ds_send_agmtdesc.getColumn(0,"ocrtagno"))) {
  343. sysf_messageBox("약정서 정보를 선택해주십시요.", "C000");
  344. return;
  345. }
  346. if (ds_send_agmtdesc.getColumn(0,"scanyn") != "Y") {
  347. dsf_createDsRow("ds_main_printinfo" ,[{col: "instcd" ,val:ds_send_agmtdesc.getColumn(0,"instcd")}
  348. , {col: "ocrtagno" ,val:ds_send_agmtdesc.getColumn(0,"ocrtagno")}
  349. , {col: "pid" ,val:ds_send_agmtdesc.getColumn(0,"pid")}
  350. , {col: "hngnm" ,val:ds_send_agmtdesc.getColumn(0,"hngnm")}
  351. , {col: "rrgstno1" ,val:ds_send_agmtdesc.getColumn(0,"rrgstno").substr(0,6)}
  352. , {col: "rrgstno2" ,val:ds_send_agmtdesc.getColumn(0,"rrgstno").substr(6,13)}
  353. , {col: "address" ,val:ds_send_agmtdesc.getColumn(0,"address")}
  354. , {col: "hometel" ,val:ds_send_agmtdesc.getColumn(0,"hometel")}
  355. , {col: "mpphontel" ,val:ds_send_agmtdesc.getColumn(0,"mpphontel")}
  356. , {col: "hospnm" ,val:ds_send_agmtdesc.getColumn(0,"hospnm")}
  357. , {col: "ordcentnm" ,val:ds_send_agmtdesc.getColumn(0,"ordcentnm")}
  358. , {col: "orddeptnm" ,val:ds_send_agmtdesc.getColumn(0,"orddeptnm")}
  359. , {col: "usernm" ,val:sysf_getUserName()}
  360. , {col: "curdate" ,val:utlf_getCurrentDate()}
  361. , {col: "curtm" ,val:utlf_getCurrentTime()}
  362. , {col: "roomnm" ,val:ds_send_agmtdesc.getColumn(0,"roomnm")}
  363. , {col: "roomcnt" ,val:""}
  364. , {col: "insukind" ,val:ds_send_agmtdesc.getColumn(0,"insukind")}
  365. , {col: "orddd" ,val:ds_send_agmtdesc.getColumn(0,"indd")}
  366. , {col: "fromdd" ,val:ds_send_agmtdesc.getColumn(0,"fromdd")}
  367. , {col: "todd" ,val:ds_send_agmtdesc.getColumn(0,"todd")}]);
  368. // 일반약정서
  369. if (ds_send_agmtdesc.getColumn(0,"agmttype") == "1") {
  370. // exeReportPreview("RPPMI03401","XMLSTR" , "" , "" , "true" , "", "", "", "", "true");
  371. var objDOM = rptf_createDOM(); // DOM 객체 설정
  372. rptf_setNodeListToDOM(objDOM, "root/main/printinfo" , ds_main_printinfo); // 데이터셋 1
  373. var objParam = new Object();
  374. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상위노드 XML 스트링 추출
  375. var option = "open=1;save=1;directprint=1;print=1;zoom=1;show=1";
  376. rptf_exeReportPreview30(["RPPMI03401"],[objParam], option);
  377. // 기간약정서
  378. } else {
  379. // exeReportPreview("RPPMI03402","XMLSTR" , "" , "" , "true" , "", "", "", "", "true");
  380. var objDOM = rptf_createDOM(); // DOM 객체 설정
  381. rptf_setNodeListToDOM(objDOM, "root/main/printinfo" , ds_main_printinfo); // 데이터셋 1
  382. var objParam = new Object();
  383. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상위노드 XML 스트링 추출
  384. var option = "open=1;save=1;directprint=1;print=1;zoom=1;show=1";
  385. rptf_exeReportPreview30(["RPPMI03402"],[objParam], option);
  386. }
  387. } else {
  388. sysf_messageBox("스캔이 완료되었습니다. 재출력은 OCR반납화면에서 하시기 바랍니다.", "C000");
  389. return;
  390. /*
  391. // 혹시 의무기록 스캔 이후의 약정서를 출력해야 할 경우 아래의 처리 태우면 됨
  392. model.resetInstanceNode("/root/send/iemr");
  393. model.makeValue("/root/send/iemr/ocrcode", model.getValue("/root/send/agmtdesc/ocrtagno"));
  394. if((window.children.item("imgemrviewer") == null)
  395. && (model.getValue("/root/send/iemr/ocrcode") != "")) {
  396. window.load("../../../emr/imgemrweb/xrw/SSMRC03100.xrw", "modeless", "imgemrviewer", "", "/root/send/iemr", "/root/hidden/temp");
  397. window.children.item("imgemrviewer").document.title = "Image EMR Viewer";
  398. }
  399. */
  400. }
  401. }
  402. // 입원약정서 재출력 - 입원등록화면에서 재출력할 경우 사용
  403. // function rePrintAgmtPid(pid, indd) {
  404. //
  405. // // 초기화
  406. // fInit();
  407. //
  408. // model.setValue("/root/send/cond/pid", pid);
  409. // model.setValue("/root/send/cond/indd", indd);
  410. // model.setValue("/root/send/cond/agmttype", "1"); // 일반약정서
  411. //
  412. // // 약정서 조회
  413. // submit("TRPMI03201");
  414. //
  415. // // 약정서 데이터 설정
  416. // model.copyNode("/root/send/agmtdesc", "/root/main/agmtlist[1]");
  417. //
  418. // // 약정서가 없는 경우 관리화면으로 유도
  419. // if (isNull(model.getValue("/root/send/agmtdesc/ocrtagno"))) {
  420. //
  421. // messageBox("입원약정서가 재출력에 문제가 발생했습니다. 입원약정서관리화면에서 확인하세요.", "C000");
  422. // return;
  423. // }
  424. //
  425. // // 일반약정서 출력용
  426. // model.setValue("/root/send/agmtdesc/agmttype", "1");
  427. //
  428. // // 약정서 재출력
  429. // fRePrintOcr();
  430. // }
  431. ///////////////////////////////// SPPMI03200.xjs ////////////////////////////////////////]]></Script>