SMPMC06503.xjs 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type ="xscript4.0"><![CDATA[//초기화
  3. function fReady(){
  4. // 초기정보 취득
  5. // submit("TRPMC06550");
  6. var oParam = {};
  7. oParam.id = "TRPMC06550";
  8. oParam.service = "patinfomngtapp.SpecAppFrm";
  9. oParam.method = "reqGetSpecInitCd";
  10. oParam.inds = "req=ds_";
  11. oParam.outds = "ds_=orddeptcd ds_=orddrid ds_=wardcd ds_=P0018 ds_=P0059 ds_=P0032 ds_=P0022";
  12. oParam.async = false;
  13. oParam.callback = "cf_TRPMC06550";
  14. tranf_submit(oParam);
  15. /*
  16. function cf_TRPMC06550(sSvcId, nErrorCode, sErrorMsg) {
  17. if(nErrorCode < 0) return;
  18. }
  19. function cf_TRPMC06550(sSvcId, nErrorCode, sErrorMsg) {
  20. arErrorCode.push(sSvcId, nErrorCode);
  21. }
  22. arErrorCode.pop("TRPMC06550") > -1
  23. arErrorCode.pop("TRPMC06550") < 0
  24. */
  25. // 진료과_병동 풀다운 세팅
  26. copyNodesetType("ds_hidden_orddrid", "ds_init_orddrid");
  27. copyNodesetType("ds_hidden_specdrid", "ds_init_orddrid");
  28. frmf_addComboItem("cmb_orddeptcd", "전체", "", "above");
  29. frmf_addComboItem("cmb_wardcd", "전체", "", "above");
  30. // 진료의 풀다운 세팅
  31. frmf_addComboItem("cmb_orddrid", "전체", "", "above");
  32. frmf_addComboItem("cmb_specdrid", "전체", "", "above");
  33. // 진료일자 및 신청일자 기본값 설정
  34. ds_send_cond.setColumn( 0, "ordddfrom", utlf_getCurrentDate().toDate().getAddDate(-1,"D").getDateFormat());
  35. ds_send_cond.setColumn( 0, "ordddto", utlf_getCurrentDate());
  36. //ds_send_cond.setColumn( 0, "appddfrom", utlf_getCurrentDate().toDate().getAddDate(-3,"M").getDateFormat());
  37. //ds_send_cond.setColumn( 0, "appddto", utlf_getCurrentDate());
  38. // 일괄출력기능 제어
  39. if (sysf_getUserId() == "09166") {
  40. ds_send_cond.setColumn( 0, "returnyn", "N");
  41. checkbox5.visible = true;
  42. group5.visible = true;
  43. }
  44. //model.refresh();
  45. // 타화면에서 popup으로 호출된 경우
  46. if (frmf_checkOpener()) {
  47. var pid = opener.javascript.frmf_getParameter("SMPMC06503_PARM_PID");
  48. if (pid != null && pid != "") {
  49. ds_send_cond.setColumn( 0, "pid", pid);
  50. ds_send_cond.setColumn( 0, "ordddfrom", "");
  51. ds_send_cond.setColumn( 0, "ordddto", "");
  52. fSearch();
  53. } else {
  54. // 간호화면에서 호출된 경우
  55. var node = sysf_getGlobalVariable("paminfo");
  56. if( node != '' && node != null){
  57. dsf_makeValue( ds_temp, "paminfo", "string", "" );
  58. dsf_setCSVToDs("ds_temp_paminfo", node);
  59. var pid = ds_temp_paminfo_list.getColumn(0, "pid");
  60. if (pid != null && pid != "") {
  61. ds_send_cond.setColumn( 0, "pid", pid);
  62. ds_send_cond.setColumn( 0, "ordddfrom", "");
  63. ds_send_cond.setColumn( 0, "ordddto", "");
  64. fSearch();
  65. }
  66. }
  67. }
  68. }
  69. }
  70. /* 진료과 선택시 진료과의사 설정 */
  71. function fSetOrdDrid() {
  72. var ordDeptCd = ds_send_cond.getColumn(0, "orddeptcd");
  73. if (ordDeptCd != null && ordDeptCd != "") {
  74. copyNodesetType("ds_hidden_orddrid", "ds_init_orddrid[dp=" + ordDeptCd + "]"); // [accptyn='Y']
  75. } else {
  76. copyNodesetType("ds_hidden_orddrid", "ds_init_orddrid");
  77. }
  78. frmf_addComboItem("cmb_orddrid" , "전체", "", "above");
  79. //model.refresh();
  80. }
  81. /* 선택진료과 선택시 선택진료과의사 설정 */
  82. function fSetSpecDrid() {
  83. var specDeptCd = ds_send_cond.getColumn(0, "specdeptcd");
  84. if (specDeptCd != null && specDeptCd != "") {
  85. copyNodesetType("ds_hidden_specdrid", "ds_init_orddrid[dp=" + specDeptCd + "]"); // [accptyn='Y']
  86. } else {
  87. copyNodesetType("ds_hidden_specdrid", "ds_init_orddrid");
  88. }
  89. frmf_addComboItem("cmb_specdrid" , "전체", "", "above");
  90. //model.refresh();
  91. }
  92. function fSearch() {
  93. if(fValidForm()) {
  94. // 트리구조의 경우, 이전데이터가 남아있어서 문제가 되는것 같음으로
  95. // 검색직전에 해당 리스트를 초기화하고 검색실시
  96. ds_main_spiflist.clearData(); ds_main_spiflist.addRow();
  97. //model.refresh();
  98. // submit("TRPMC06531");
  99. var oParam = {};
  100. oParam.id = "TRPMC06531";
  101. oParam.service = "patinfomngtapp.SpecAppFrm";
  102. oParam.method = "reqGetSpifList";
  103. oParam.inds = "req=ds_";
  104. oParam.outds = "ds_=spiflist";
  105. oParam.async = false;
  106. oParam.callback = "cf_TRPMC06531";
  107. tranf_submit(oParam);
  108. /*
  109. function cf_TRPMC06531(sSvcId, nErrorCode, sErrorMsg) {
  110. if(nErrorCode < 0) return;
  111. }
  112. function cf_TRPMC06531(sSvcId, nErrorCode, sErrorMsg) {
  113. arErrorCode.push(sSvcId, nErrorCode);
  114. }
  115. arErrorCode.pop("TRPMC06531") > -1
  116. arErrorCode.pop("TRPMC06531") < 0
  117. */
  118. setTree(grd_spif , grd_spif.colref("hidden"), grd_spif.colref("hidden"), true);
  119. //grd_spif.refresh();
  120. // 결과건수확인용
  121. if (grd_spif.rows < 2) {
  122. alert("검색결과가 존재하지 않습니다.");
  123. }
  124. }
  125. }
  126. /* 검색조건검증 */
  127. function fValidForm() {
  128. var strErrMsg = "";
  129. var hasErr = false;
  130. // 진료일자 NULL체크는 pid / ocrtag가 없을 때만
  131. if (utlf_isNull(ds_send_cond.getColumn(0, "pid"))
  132. && utlf_isNull(ds_send_cond.getColumn(0, "ocrtag"))) {
  133. if(utlf_isNull(ds_send_cond.getColumn(0, "ordddfrom"))) {
  134. strErrMsg += "\r\n진료일자(FROM)"
  135. hasErr = true;
  136. }
  137. if (utlf_isNull(ds_send_cond.getColumn(0, "ordddto"))) {
  138. strErrMsg += "\r\n진료일자(TO)"
  139. hasErr = true;
  140. }
  141. }
  142. if (hasErr) {
  143. alert("다음 항목은 필수입니다." + strErrMsg);
  144. return false;
  145. } else {
  146. return true;
  147. }
  148. }
  149. /* 초기화 */
  150. function fInit() {
  151. ds_main_spiflist.clearData(); ds_main_spiflist.addRow();
  152. ds_main_rexpert_patappinfo1.clearData(); ds_main_rexpert_patappinfo1.addRow();
  153. ds_main_rexpert_patappinfo2.clearData(); ds_main_rexpert_patappinfo2.addRow();
  154. ds_main_rexpert_patappinfo3.clearData(); ds_main_rexpert_patappinfo3.addRow();
  155. // ds_main_prnpatinfo.clearData(); ds_main_prnpatinfo.addRow();
  156. //ds_send_cond.clearData(); ds_send_cond.addRow();
  157. ds_send_spifdesc.clearData(); ds_send_spifdesc.addRow();
  158. ds_temp.clearData(); ds_temp.addRow();
  159. //model.refresh();
  160. }
  161. /* 그리드 더블클릭 시 동작 */
  162. function fSelectPatData() {
  163. if (grd_spif.rows < 2) {
  164. return;
  165. }
  166. var ocrtag = ds_main_spiflist.getColumn(grd_spif.row, "ocrtag"));
  167. for (i = 1; i < grd_spif.rows; i++) {
  168. if (ocrtag == ds_main_spiflist.getColumn(i, "ocrtag")) {
  169. ds_main.setColumn( i , "chk", "true");
  170. } else {
  171. ds_main.setColumn( i , "chk", "false");
  172. }
  173. }
  174. //model.refresh();
  175. }
  176. /* 그리드 선택해제 */
  177. function fDeselectPapData() {
  178. for (i = 1; i < grd_spif.rows; i++) {
  179. ds_main.setColumn( i , "chk", "false");
  180. }
  181. }
  182. /* 선택진료신청서 출력 */
  183. function fPrint() {
  184. // 출력대상화면 구분
  185. var isScaned = false;
  186. // 출력대상유무구분
  187. var hasData = false;
  188. // 서명구분
  189. var signFlag;
  190. // 출력대상 선정
  191. for (i = 1; i < grd_spif.rows; i++) {
  192. // SCAN여부 설정
  193. if ("true" == ds_main_spiflist.getColumn(i, "chk")
  194. && "Y" == ds_main_spiflist.getColumn(i, "scanyn")) {
  195. isScaned = true;
  196. }
  197. // 출력용 데이터 설정
  198. if ("true" == ds_main_spiflist.getColumn(i, "chk")) {
  199. hasData = true;
  200. ds_main_rexpert_patappinfo1.clearData();
  201. signFlag = ds_main_spiflist.getColumn(i, "signflag");
  202. // 신청서 재출력용
  203. dsf_makeValue( ds_main_rexpert_patappinfo1, "pid", "string", ds_main_spiflist.getColumn(i, "pid"));
  204. dsf_makeValue( ds_main_rexpert_patappinfo1, "hngnm", "string", ds_main_spiflist.getColumn(i, "hngnm"));
  205. dsf_makeValue( ds_main_rexpert_patappinfo1, "zipcdaddr", "string", ds_main_spiflist.getColumn(i, "zipcdaddr"));
  206. dsf_makeValue( ds_main_rexpert_patappinfo1, "detladdr", "string", ds_main_spiflist.getColumn(i, "detladdr"));
  207. dsf_makeValue( ds_main_rexpert_patappinfo1, "tel", "string", ds_main_spiflist.getColumn(i, "tel"));
  208. dsf_makeValue( ds_main_rexpert_patappinfo1, "rrgstno1", "string", ds_main_spiflist.getColumn(i, "rrgstno1"));
  209. dsf_makeValue( ds_main_rexpert_patappinfo1, "rrgstno2", "string", ds_main_spiflist.getColumn(i, "rrgstno2"));
  210. dsf_makeValue( ds_main_rexpert_patappinfo1, "ocrtag", "string", ds_main_spiflist.getColumn(i, "ocrtag"));
  211. dsf_makeValue( ds_main_rexpert_patappinfo1, "usernm", "string", ds_main_spiflist.getColumn(i, "usernm"));
  212. dsf_makeValue( ds_main_rexpert_patappinfo1, "hospnm", "string", ds_main_spiflist.getColumn(i, "hospnm"));
  213. dsf_makeValue( ds_main_rexpert_patappinfo1, "choiflag", "string", ds_main_spiflist.getColumn(i, "choiflag"));
  214. dsf_makeValue( ds_main_rexpert_patappinfo1, "orddeptkind", "string", ds_main_spiflist.getColumn(i, "orddeptkind"));
  215. // OCR연동용
  216. dsf_makeValue( ds_main_rexpert_patappinfo1, "orddd", "string", ds_main_spiflist.getColumn(i, "orddd"));
  217. dsf_makeValue( ds_main_rexpert_patappinfo1, "orddeptcd", "string", ds_main_spiflist.getColumn(i, "orddeptcd"));
  218. dsf_makeValue( ds_main_rexpert_patappinfo1, "orddeptnm", "string", ds_main_spiflist.getColumn(i, "orddeptnm"));
  219. dsf_makeValue( ds_main_rexpert_patappinfo1, "orddrnm", "string", ds_main_spiflist.getColumn(i, "orddrnm"));
  220. dsf_makeValue( ds_main_rexpert_patappinfo1, "orddrid", "string", ds_main_spiflist.getColumn(i, "orddrid"));
  221. dsf_makeValue( ds_main_rexpert_patappinfo1, "specordyn", "string", ds_main_spiflist.getColumn(i, "specordyn"));
  222. dsf_makeValue( ds_main_rexpert_patappinfo1, "ioflag", "string", ds_main_spiflist.getColumn(i, "ioflag"));
  223. dsf_makeValue( ds_main_rexpert_patappinfo1, "deptengabbr", "string", ds_main_spiflist.getColumn(i, "deptengabbr"));
  224. dsf_makeValue( ds_main_rexpert_patappinfo1, "appdd", "string", ds_main_spiflist.getColumn(i, "appdd"));
  225. dsf_makeValue( ds_main_rexpert_patappinfo1, "cretno", "string", ds_main_spiflist.getColumn(i, "cretno"));
  226. dsf_makeValue( ds_main_rexpert_patappinfo1, "formcd", "string", ds_main_spiflist.getColumn(i, "formcd"));
  227. dsf_makeValue( ds_main_rexpert_patappinfo1, "fromdd", "string", ds_main_spiflist.getColumn(i, "fromdd"));
  228. dsf_makeValue( ds_main_rexpert_patappinfo1, "todd", "string", ds_main_spiflist.getColumn(i, "todd"));
  229. dsf_makeValue( ds_main_rexpert_patappinfo1, "ocrtag", "string", ds_main_spiflist.getColumn(i, "ocrtag"));
  230. ds_main_rexpert_patappinfo2.clearData();
  231. ds_send_spifdesc.clearData();
  232. dsf_makeValue( ds_send_spifdesc, "pid", "string", ds_main_spiflist.getColumn(i, "pid"));
  233. dsf_makeValue( ds_send_spifdesc, "ocrtag", "string", ds_main_spiflist.getColumn(i, "ocrtag"));
  234. // 선택진료지원항목
  235. // submit("TRPMC06532");
  236. var oParam = {};
  237. oParam.id = "TRPMC06532";
  238. oParam.service = "patinfomngtapp.SpecAppFrm";
  239. oParam.method = "reqGetSpifDesc";
  240. oParam.inds = "req=ds_";
  241. oParam.outds = "ds_=patappinfo2";
  242. oParam.async = false;
  243. oParam.callback = "cf_TRPMC06532";
  244. tranf_submit(oParam);
  245. /*
  246. function cf_TRPMC06532(sSvcId, nErrorCode, sErrorMsg) {
  247. if(nErrorCode < 0) return;
  248. }
  249. function cf_TRPMC06532(sSvcId, nErrorCode, sErrorMsg) {
  250. arErrorCode.push(sSvcId, nErrorCode);
  251. }
  252. arErrorCode.pop("TRPMC06532") > -1
  253. arErrorCode.pop("TRPMC06532") < 0
  254. */
  255. dsf_makeValue( ds_main_rexpert_patappinfo1, "maindrnm", "string", ds_main_rexpert_patappinfo2.getColumn(1, "maindrnm"));
  256. break;
  257. }
  258. }
  259. if (!hasData) {
  260. alert("출력할 대상이 존재하지 않거나, 주진료과가 존재하지 않습니다.");
  261. return;
  262. }
  263. // 전자서명의 경우, 기존의 선택진료신청관리화면을 호출
  264. if (signFlag == "E") {
  265. frmf_modal("SMPMC06501", "", ""-"", "", "", "", "", "", "", "", "", "", "M");
  266. } else {
  267. // 스캔여부에 따라 해당화면 호출
  268. if (isScaned) {
  269. // 동의서 및 기타출력서식화면
  270. fOpenOcr()
  271. } else {
  272. // 선택구분에 해당하는 양식 출력
  273. /*
  274. if ("B" == ds_main_rexpert_patappinfo1.getColumn(0, "choiflag")) {
  275. // 위임 동의서 재출력
  276. var objDOM = rptf_createDOM();
  277. var objParam = new Object();
  278. rptf_setNodeListToDOM(objDOM, "/root/XXX" , ds_XXX);
  279. objParam.xml_data_XML1 = objDOM.documentElement.source;
  280. var option = "open=1;save=1;directprint=0;printdialog=1;print=1;zoom=0";
  281. rptf_exeReportPreview30(["RPPMC06504"],[objParam], option);
  282. } else {
  283. // 선택 동의서 재출력
  284. var objDOM = rptf_createDOM();
  285. var objParam = new Object();
  286. rptf_setNodeListToDOM(objDOM, "/root/XXX" , ds_XXX);
  287. objParam.xml_data_XML1 = objDOM.documentElement.source;
  288. var option = "open=1;save=1;directprint=0;printdialog=1;print=1;zoom=0";
  289. rptf_exeReportPreview30(["RPPMC06505"],[objParam], option);
  290. }
  291. */
  292. // 선택진료 신청서 재출력
  293. if (signFlag == 'O') {
  294. var objDOM = rptf_createDOM();
  295. var objParam = new Object();
  296. rptf_setNodeListToDOM(objDOM, "/root/XXX" , ds_XXX);
  297. objParam.xml_data_XML1 = objDOM.documentElement.source;
  298. var option = "open=1;save=1;directprint=0;printdialog=1;print=1;zoom=0";
  299. rptf_exeReportPreview30(["RPPMC06505"],[objParam], option);
  300. // 선택진료 변경신청서 재출력
  301. } else {
  302. fSPIFChangeForm()
  303. //exeReportPreview("RPPMI02704", "XMLSTR", "ds_main_rexpert", "", "true", "", "", "", "", "true");
  304. }
  305. }
  306. }
  307. }
  308. /* 선택진료신청서 사본 출력 */
  309. function fCopyPrint() {
  310. ds_main_rexpert_patappinfo3.clearData();
  311. ds_send_spifdesc.clearData();
  312. dsf_makeValue( ds_send_spifdesc, "pid", "string", ds_main_rexpert_patappinfo1.getColumn(0, "pid"));
  313. dsf_makeValue( ds_send_spifdesc, "orddd", "string", ds_main_rexpert_patappinfo1.getColumn(0, "orddd"));
  314. dsf_makeValue( ds_send_spifdesc, "ioflag", "string", ds_main_rexpert_patappinfo1.getColumn(0, "ioflag"));
  315. // 선택진료지원항목 정보
  316. // submit("TRPMC06533");
  317. var oParam = {};
  318. oParam.id = "TRPMC06533";
  319. oParam.service = "patinfomngtapp.SpecAppFrm";
  320. oParam.method = "reqGetSpifCopyData";
  321. oParam.inds = "req=ds_";
  322. oParam.outds = "ds_=patappinfo3";
  323. oParam.async = false;
  324. oParam.callback = "cf_TRPMC06533";
  325. tranf_submit(oParam);
  326. /*
  327. function cf_TRPMC06533(sSvcId, nErrorCode, sErrorMsg) {
  328. if(nErrorCode < 0) return;
  329. }
  330. function cf_TRPMC06533(sSvcId, nErrorCode, sErrorMsg) {
  331. arErrorCode.push(sSvcId, nErrorCode);
  332. }
  333. arErrorCode.pop("TRPMC06533") > -1
  334. arErrorCode.pop("TRPMC06533") < 0
  335. */
  336. var objDOM = rptf_createDOM();
  337. var objParam = new Object();
  338. rptf_setNodeListToDOM(objDOM, "/root/XXX" , ds_XXX);
  339. objParam.xml_data_XML1 = objDOM.documentElement.source;
  340. var option = "open=1;save=1;directprint=0;printdialog=1;print=1;zoom=0";
  341. rptf_exeReportPreview30(["RPPMC06506"],[objParam], option);
  342. }
  343. /* 동의서 및 기타출력서식화면 호출 */
  344. function fOpenOcr() {
  345. ds_send_iemr.clearData(); ds_send_iemr.addRow();
  346. dsf_makeValue( ds_send_iemr, "ocrcode", "string", ds_main_rexpert_patappinfo1.getColumn(0, "ocrtag"));
  347. if((window.children.item("imgemrviewer") == null)
  348. && (ds_send_iemr.getColumn(0, "ocrcode") != "")) {
  349. window.load("../../.._emr_imgemrweb_xrw_SSMRC03130.xrw", "modeless", "imgemrviewer", "", "ds_send_iemr", "ds_hidden_temp");
  350. window.children.item("imgemrviewer").document.title = "Image EMR Viewer";
  351. }
  352. fCopyPrint();
  353. }
  354. /* OCR제출확인 */
  355. function fSetReturnYN() {
  356. var hasData = false;
  357. ds_send_spifdesc.clearData(); ds_send_spifdesc.addRow();
  358. // 출력대상 선정
  359. for (i = 1; i < grd_spif.rows; i++) {
  360. // SCAN여부 설정
  361. if ("true" == ds_main_spiflist.getColumn(i, "chk")
  362. && "N" == ds_main_spiflist.getColumn(i, "returnyn")) {
  363. hasData = true;
  364. dsf_makeValue( ds_send_spifdesc, "pid", "string", ds_main_spiflist.getColumn(i, "pid"));
  365. dsf_makeValue( ds_send_spifdesc, "signflag", "string", ds_main_spiflist.getColumn(i, "signflag"));
  366. dsf_makeValue( ds_send_spifdesc, "ocrtag", "string", ds_main_spiflist.getColumn(i, "ocrtag"));
  367. dsf_makeValue( ds_send_spifdesc, "userid", "string", sysf_getUserId());
  368. break;
  369. }
  370. }
  371. // 제출확인
  372. if (hasData) {
  373. // if (submit("TXPMC06532")) {
  374. var oParam = {};
  375. oParam.id = "TXPMC06532";
  376. oParam.service = "patinfomngtapp.SpecAppFrm";
  377. oParam.method = "reqSetReturnYN";
  378. oParam.inds = "req=ds_";
  379. oParam.outds = "";
  380. oParam.async = false;
  381. oParam.callback = "cf_TXPMC06532";
  382. tranf_submit(oParam);
  383. /*
  384. function cf_TXPMC06532(sSvcId, nErrorCode, sErrorMsg) {
  385. if(nErrorCode < 0) return;
  386. }
  387. function cf_TXPMC06532(sSvcId, nErrorCode, sErrorMsg) {
  388. arErrorCode.push(sSvcId, nErrorCode);
  389. }
  390. arErrorCode.pop("TXPMC06532") > -1
  391. arErrorCode.pop("TXPMC06532") < 0
  392. */
  393. alert("제출확인 처리가 완료되었습니다.");
  394. // 리스트 재조회
  395. // submit("TRPMC06531");
  396. var oParam = {};
  397. oParam.id = "TRPMC06531";
  398. oParam.service = "patinfomngtapp.SpecAppFrm";
  399. oParam.method = "reqGetSpifList";
  400. oParam.inds = "req=ds_";
  401. oParam.outds = "ds_=spiflist";
  402. oParam.async = false;
  403. oParam.callback = "cf_TRPMC06531";
  404. tranf_submit(oParam);
  405. /*
  406. function cf_TRPMC06531(sSvcId, nErrorCode, sErrorMsg) {
  407. if(nErrorCode < 0) return;
  408. }
  409. function cf_TRPMC06531(sSvcId, nErrorCode, sErrorMsg) {
  410. arErrorCode.push(sSvcId, nErrorCode);
  411. }
  412. arErrorCode.pop("TRPMC06531") > -1
  413. arErrorCode.pop("TRPMC06531") < 0
  414. */
  415. }
  416. } else {
  417. alert("이미 제출되어있거나, 제출확인할 대상이 존재하지 않습니다.");
  418. }
  419. }
  420. function fSetBcode() {
  421. ds_send_cond.setColumn( 0, "ordddfrom", "");
  422. ds_send_cond.setColumn( 0, "ordddto", "");
  423. obj.updateToDataset();
  424. ds_send_cond.setColumn( 0, "ocrtag", ds_send_cond.getColumn(0, "ocrtag").substring(0,13));
  425. //input1.refresh();
  426. btn_search.dispatch("onkeypress");
  427. }
  428. function fSetWardDisable() {
  429. var ioflag = ds_send_cond.getColumn(0, "ioflag");
  430. if (ioflag == "I") {
  431. cmb_wardcd.enable = true;
  432. } else {
  433. cmb_wardcd.enable = false;
  434. ds_send_cond.setColumn( 0, "wardcd", "");
  435. }
  436. }
  437. // 선택진료 변경_해지 신청서 재출력
  438. function fSPIFChangeForm() {
  439. dsf_makeValue( ds_main_prnpatinfo, "seq", "string", ds_main_rexpert_patappinfo1.getColumn(0, "ocrtag"));
  440. dsf_makeValue( ds_hidden_original_icdr, "icdr_pid", "string", ds_main_rexpert_patappinfo1.getColumn(0, "pid"));
  441. dsf_makeValue( ds_send, "hngnm", "string", ds_main_rexpert_patappinfo1.getColumn(0, "hngnm"));
  442. dsf_makeValue( ds_main_prnpatinfo, "orddeptabbr", "string", ds_main_rexpert_patappinfo1.getColumn(0, "deptengabbr"));
  443. dsf_makeValue( ds_main_prnpatinfo, "rrgstno1", "string", ds_main_rexpert_patappinfo1.getColumn(0, "rrgstno1"));
  444. dsf_makeValue( ds_main_prnpatinfo, "rrgstno2", "string", ds_main_rexpert_patappinfo1.getColumn(0, "rrgstno2"));
  445. dsf_makeValue( ds_send_req, "orddd", "string", ds_main_rexpert_patappinfo1.getColumn(0, "orddd"));
  446. dsf_makeValue( ds_send_req, "address", "string", ds_main_rexpert_patappinfo1.getColumn(0, "zipcdaddr") + " " + ds_main_rexpert_patappinfo1.getColumn(0, "detladdr"));
  447. dsf_makeValue( ds_send_req, "telno", "string", ds_main_rexpert_patappinfo1.getColumn(0, "tel"));
  448. dsf_makeValue( ds_send_req, "hospnm", "string", ds_main_rexpert_patappinfo1.getColumn(0, "hospnm") + "장 귀하");
  449. dsf_makeValue( ds_send_req, "curdate", "string", utlf_getCurrentDate());
  450. dsf_makeValue( ds_send_req, "curtm", "string", utlf_getCurrentTime());
  451. dsf_makeValue( ds_send_req, "usernm", "string", sysf_getUserName());
  452. var objDOM = rptf_createDOM();
  453. var objParam = new Object();
  454. rptf_setNodeListToDOM(objDOM, "/root/XXX" , ds_XXX);
  455. objParam.xml_data_XML1 = objDOM.documentElement.source;
  456. var option = "open=1;save=1;directprint=0;printdialog=1;print=1;zoom=0";
  457. rptf_exeReportPreview30(["RPPMI02704"],[objParam], option);
  458. }
  459. // 선택진료신청서 일괄출력
  460. function fPrintAll() {
  461. var currOcrTag;
  462. var lastOcrTag;
  463. // 데이터 구분용 플래그
  464. var isNewData = true;
  465. // 전체 신청서를 출력
  466. // 출력단위는 OCRTAG로 처리
  467. for (i = 1; i < grd_spif.rows; i++) {
  468. // ocrtag 취득
  469. currOcrTag = ds_main_spiflist.getColumn(i, "ocrtag");
  470. // 출력단위제어
  471. if (!utlf_isNull(lastOcrTag) && currOcrTag == lastOcrTag) {
  472. // 과거OCR태그가 null이거나 현재OCR태그와 동일하다면 스킵
  473. continue;
  474. }
  475. ds_main_rexpert_patappinfo1.clearData();
  476. // 신청서 재출력용
  477. dsf_makeValue( ds_main_rexpert_patappinfo1, "pid", "string", ds_main_spiflist.getColumn(i, "pid"));
  478. dsf_makeValue( ds_main_rexpert_patappinfo1, "hngnm", "string", ds_main_spiflist.getColumn(i, "hngnm"));
  479. dsf_makeValue( ds_main_rexpert_patappinfo1, "zipcdaddr", "string", ds_main_spiflist.getColumn(i, "zipcdaddr"));
  480. dsf_makeValue( ds_main_rexpert_patappinfo1, "detladdr", "string", ds_main_spiflist.getColumn(i, "detladdr"));
  481. dsf_makeValue( ds_main_rexpert_patappinfo1, "tel", "string", ds_main_spiflist.getColumn(i, "tel"));
  482. dsf_makeValue( ds_main_rexpert_patappinfo1, "rrgstno1", "string", ds_main_spiflist.getColumn(i, "rrgstno1"));
  483. dsf_makeValue( ds_main_rexpert_patappinfo1, "rrgstno2", "string", ds_main_spiflist.getColumn(i, "rrgstno2"));
  484. dsf_makeValue( ds_main_rexpert_patappinfo1, "ocrtag", "string", ds_main_spiflist.getColumn(i, "ocrtag"));
  485. // 입원 / 외래구분하여 출력
  486. if (ds_main_spiflist.getColumn(i, "ioflag") == "O") {
  487. dsf_makeValue( ds_main_rexpert_patappinfo1, "usernm", "string", ds_main_spiflist.getColumn(i, "returnrnm"));
  488. var printdt = ds_main_spiflist.getColumn(i, "returntm").toDate("YYYYMMDDhhmmss");
  489. var sprintdt = printdt.getAddDate(-103, "s").getDateFormat("YYYYMMDDhhmmss");
  490. dsf_makeValue( ds_main_rexpert_patappinfo1, "printdt", "string", sprintdt);
  491. } else {
  492. dsf_makeValue( ds_main_rexpert_patappinfo1, "usernm", "string", ds_main_spiflist.getColumn(i, "fstrgstrnm"));
  493. dsf_makeValue( ds_main_rexpert_patappinfo1, "printdt", "string", ds_main_spiflist.getColumn(i, "fstrgstdt"));
  494. }
  495. dsf_makeValue( ds_main_rexpert_patappinfo1, "hospnm", "string", ds_main_spiflist.getColumn(i, "hospnm"));
  496. dsf_makeValue( ds_main_rexpert_patappinfo1, "choiflag", "string", ds_main_spiflist.getColumn(i, "choiflag"));
  497. dsf_makeValue( ds_main_rexpert_patappinfo1, "orddeptkind", "string", ds_main_spiflist.getColumn(i, "orddeptkind"));
  498. // OCR연동용
  499. dsf_makeValue( ds_main_rexpert_patappinfo1, "orddd", "string", ds_main_spiflist.getColumn(i, "orddd"));
  500. dsf_makeValue( ds_main_rexpert_patappinfo1, "orddeptcd", "string", ds_main_spiflist.getColumn(i, "orddeptcd"));
  501. dsf_makeValue( ds_main_rexpert_patappinfo1, "orddeptnm", "string", ds_main_spiflist.getColumn(i, "orddeptnm"));
  502. dsf_makeValue( ds_main_rexpert_patappinfo1, "orddrnm", "string", ds_main_spiflist.getColumn(i, "orddrnm"));
  503. dsf_makeValue( ds_main_rexpert_patappinfo1, "orddrid", "string", ds_main_spiflist.getColumn(i, "orddrid"));
  504. dsf_makeValue( ds_main_rexpert_patappinfo1, "specordyn", "string", ds_main_spiflist.getColumn(i, "specordyn"));
  505. dsf_makeValue( ds_main_rexpert_patappinfo1, "ioflag", "string", ds_main_spiflist.getColumn(i, "ioflag"));
  506. dsf_makeValue( ds_main_rexpert_patappinfo1, "deptengabbr", "string", ds_main_spiflist.getColumn(i, "deptengabbr"));
  507. dsf_makeValue( ds_main_rexpert_patappinfo1, "appdd", "string", ds_main_spiflist.getColumn(i, "appdd"));
  508. dsf_makeValue( ds_main_rexpert_patappinfo1, "cretno", "string", ds_main_spiflist.getColumn(i, "cretno"));
  509. dsf_makeValue( ds_main_rexpert_patappinfo1, "formcd", "string", ds_main_spiflist.getColumn(i, "formcd"));
  510. dsf_makeValue( ds_main_rexpert_patappinfo1, "fromdd", "string", ds_main_spiflist.getColumn(i, "fromdd"));
  511. dsf_makeValue( ds_main_rexpert_patappinfo1, "todd", "string", ds_main_spiflist.getColumn(i, "todd"));
  512. dsf_makeValue( ds_main_rexpert_patappinfo1, "ocrtag", "string", ds_main_spiflist.getColumn(i, "ocrtag"));
  513. ds_main_rexpert_patappinfo2.clearData();
  514. ds_send_spifdesc.clearData();
  515. dsf_makeValue( ds_send_spifdesc, "pid", "string", ds_main_spiflist.getColumn(i, "pid"));
  516. dsf_makeValue( ds_send_spifdesc, "ocrtag", "string", ds_main_spiflist.getColumn(i, "ocrtag"));
  517. // 선택진료지원항목
  518. // submit("TRPMC06532");
  519. var oParam = {};
  520. oParam.id = "TRPMC06532";
  521. oParam.service = "patinfomngtapp.SpecAppFrm";
  522. oParam.method = "reqGetSpifDesc";
  523. oParam.inds = "req=ds_";
  524. oParam.outds = "ds_=patappinfo2";
  525. oParam.async = false;
  526. oParam.callback = "cf_TRPMC06532";
  527. tranf_submit(oParam);
  528. /*
  529. function cf_TRPMC06532(sSvcId, nErrorCode, sErrorMsg) {
  530. if(nErrorCode < 0) return;
  531. }
  532. function cf_TRPMC06532(sSvcId, nErrorCode, sErrorMsg) {
  533. arErrorCode.push(sSvcId, nErrorCode);
  534. }
  535. arErrorCode.pop("TRPMC06532") > -1
  536. arErrorCode.pop("TRPMC06532") < 0
  537. */
  538. dsf_makeValue( ds_main_rexpert_patappinfo1, "maindrnm", "string", ds_main_rexpert_patappinfo2.getColumn(1, "maindrnm"));
  539. // 출력
  540. var objDOM = rptf_createDOM();
  541. var objParam = new Object();
  542. rptf_setNodeListToDOM(objDOM, "/root/XXX" , ds_XXX);
  543. objParam.xml_data_XML1 = objDOM.documentElement.source;
  544. var option = "open=1;save=1;directprint=0;printdialog=1;print=1;zoom=0";
  545. rptf_exeReportPreview30(["RPPMC06508"],[objParam], option);
  546. // 현재태그를 과거태그로 처리
  547. lastOcrTag = currOcrTag;
  548. }
  549. }
  550. ]]></Script>