SPPAC00200_진료비세부산정내역관리.xrw 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SPPAC00200_진료비세부산정내역관리.xrw
  4. * 설 명 : 20180302 고시 필수항목 추가로 인하여 외래/입원 세부내역서 통합
  5. * 작 성 자 : 조중래
  6. * 작 성 일 : 2018.02.12
  7. * 수정이력 :
  8. * 기 타 :
  9. -->
  10. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  11. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  12. <xhtml:head>
  13. <xhtml:title>진료비세부산정내역관리</xhtml:title>
  14. <model id="model1">
  15. <![CDATA[/>]]>
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <send>
  19. <ordtype/>
  20. <pid/>
  21. <orddd/>
  22. <cretno/>
  23. <fromdd/>
  24. <todd/>
  25. <calcfromdd/>
  26. <calctodd/>
  27. <rcptdd/>
  28. <rcptno/>
  29. <rcptseqno/>
  30. <savedata>
  31. <pid/>
  32. <orddd/>
  33. <cretno/>
  34. <ordtype/>
  35. <histcd/>
  36. <gubun/>
  37. <receivernm/>
  38. <receiverrela/>
  39. <elctsignkey/>
  40. <elctsigncnts/>
  41. <printusernm/>
  42. </savedata>
  43. <prntcnt/>
  44. <signpass/>
  45. <payflag/>
  46. <minflag/>
  47. </send>
  48. <main>
  49. <ordlist>
  50. </ordlist>
  51. <rex>
  52. <baseinfo/>
  53. <amtsuminfo/>
  54. <ioscllist>
  55. <ioscl/>
  56. </ioscllist>
  57. </rex>
  58. </main>
  59. <init>
  60. <P0016list/>
  61. </init>
  62. <hidden>
  63. </hidden>
  64. <tmp>
  65. </tmp>
  66. <comport/>
  67. </root>
  68. </instance>
  69. <submission id="TRPAC00200" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/rex"/>
  70. <submission id="TXPAC00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root/tmp"/>
  71. </model>
  72. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  73. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  74. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  75. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  76. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  77. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  78. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  79. <script type="javascript" ev:event="xforms-ready">
  80. <![CDATA[
  81. zbcfGetCodeList( new Array("P0016"), new Array("/root/init/P0016list") );
  82. fsignpad_init(); //초기화
  83. // 수진이력 및 수납이력 동기화
  84. setCSVToNode("/root/main/ordlist", opener.javascript.getParameter("SPPAC00200_VALUES"));
  85. // 출력자 성명
  86. model.setValue("/root/send/savedata/receivernm", opener.javascript.getParameter("SPPAC00200_HNGNM"))
  87. model.setValue("/root/send/savedata/receiverrela", "1"); // 기본값 설정(1:본인)
  88. // 출력 부수
  89. var iPrintCount = opener.javascript.getParameter("SPPAC00200_PRNTCNT");
  90. // 출력부수가 비정상적인경우 1로 보정
  91. if (isNull(iPrintCount) || iPrintCount < 1) {
  92. model.setValue("/root/send/prntcnt", 1)
  93. } else {
  94. model.setValue("/root/send/prntcnt", iPrintCount)
  95. }
  96. // 급비구분
  97. var sPayflag = opener.javascript.getParameter("SPPAC00200_PAYFLAG")
  98. if (isNull(sPayflag)) {
  99. model.setValue("/root/send/payflag", "-','0','2','1','5");
  100. } else {
  101. model.setValue("/root/send/payflag", sPayflag);
  102. }
  103. // 민원구분용
  104. model.setValue("/root/send/minflag", opener.javascript.getParameter("SPPAC00200_MINFLAG"));
  105. var sPreview = opener.javascript.getParameter("SPPAC00200_PREVIEW"); // 미리보기
  106. var sGubun = opener.javascript.getParameter("SPPAC00200_GUBUN"); // 업무용
  107. // 정상케이스
  108. if (isNull(sPreview) && isNull(sGubun)) {
  109. fsignpad_request(); // 서명입력요청
  110. // 미리보기 or 업무용출력 시
  111. } else {
  112. import1.visible = false; // 서명모듈 숨기기
  113. import1.disabled = true; // 서명모듈
  114. button2.disabled = true; // 재서명
  115. button1.disabled = true; // 저장
  116. fPrintRcptDetl(sPreview, sGubun);
  117. }
  118. model.refresh();
  119. ]]>
  120. </script>
  121. <script type="javascript" ev:event="xforms-close">
  122. <![CDATA[
  123. if(fso.FileExists("c:\\receipt\\outfile.bmp")) {
  124. fso.DeleteFile("c:\\receipt\\outfile.bmp");
  125. }
  126. fsignpad_close();
  127. ]]>
  128. </script>
  129. <script type="javascript">
  130. <![CDATA[
  131. function fPrintRcptDetl(preview, gubun) {
  132. // 수진이력 카운터
  133. var rowCnt = parseInt(getNodesetCount("/root/main/ordlist/list")) + 1;
  134. // 출력이력 저장 : 수진이력만큼 처리
  135. // 내역서 출력 : 출력부수만큼 처리
  136. for (var i = 1; i < rowCnt; i++) {
  137. // 미리보기 제어
  138. // 출력
  139. if (isNull(preview) && isNull(gubun)) {
  140. // 1. 출력이력 처리
  141. model.setValue("/root/send/savedata/pid", model.getValue("/root/main/ordlist/list['" + i + "']/pid"));
  142. model.setValue("/root/send/savedata/orddd", model.getValue("/root/main/ordlist/list['" + i + "']/orddd"));
  143. model.setValue("/root/send/savedata/cretno", model.getValue("/root/main/ordlist/list['" + i + "']/cretno"));
  144. model.setValue("/root/send/savedata/ordtype", model.getValue("/root/main/ordlist/list['" + i + "']/ordtype"));
  145. model.setValue("/root/send/savedata/histcd", "O");
  146. model.setValue("/root/send/savedata/gubun", "1"); // 1:내역서, 2:영수증
  147. model.setValue("/root/send/savedata/printusernm", getUserInfo("usernm"));
  148. // 출력이력 저장
  149. submit("TXPAC00201");
  150. }
  151. // 2. 진료비세부산정내역 처리
  152. // 세부내역서 조회용 데이터 설정
  153. model.setValue("/root/send/ordtype", model.getValue("/root/main/ordlist/list['" + i + "']/ordtype"));
  154. // 외래(수납이력 기준)
  155. if (model.getValue("/root/main/ordlist/list['" + i + "']/ordtype") == "O") {
  156. model.setValue("/root/send/pid", model.getValue("/root/main/ordlist/list['" + i + "']/pid"));
  157. model.setValue("/root/send/rcptdd", model.getValue("/root/main/ordlist/list['" + i + "']/rcptdd"));
  158. model.setValue("/root/send/rcptno", model.getValue("/root/main/ordlist/list['" + i + "']/rcptno"));
  159. model.setValue("/root/send/rcptseqno", model.getValue("/root/main/ordlist/list['" + i + "']/rcptseqno"));
  160. // 입원(수진이력 기준)
  161. } else {
  162. model.setValue("/root/send/pid", model.getValue("/root/main/ordlist/list['" + i + "']/pid"));
  163. model.setValue("/root/send/orddd", model.getValue("/root/main/ordlist/list['" + i + "']/orddd"));
  164. model.setValue("/root/send/cretno", model.getValue("/root/main/ordlist/list['" + i + "']/cretno"));
  165. model.setValue("/root/send/fromdd", model.getValue("/root/main/ordlist/list['" + i + "']/fromdd"));
  166. model.setValue("/root/send/todd", model.getValue("/root/main/ordlist/list['" + i + "']/todd"));
  167. model.setValue("/root/send/calcfromdd", model.getValue("/root/main/ordlist/list['" + i + "']/calcfromdd"));
  168. model.setValue("/root/send/calctodd", model.getValue("/root/main/ordlist/list['" + i + "']/calctodd"));
  169. }
  170. // 진료비세부산정내역 조회
  171. if (submit("TRPAC00200")) {
  172. // oscl / iscl 검증처리
  173. if (getNodesetCount("/root/main/rex/ioscllist/ioscl") < 1) {
  174. alert(model.getValue("/root/main/ordlist/list['" + i + "']/orddd") + " 진료일 세부내역 조회에 실패하였습니다.\r\n해당일자 내역 확인하시기 바랍니다.");
  175. continue;
  176. }
  177. // 민원구분용
  178. if (!isNull(model.getValue("/root/send/minflag"))) {
  179. model.makeValue("/root/main/rex/baseinfo/minflag", model.getValue("/root/send/minflag"));
  180. }
  181. // 미리보기 제어
  182. // 미리보기가 아니거나 업무용인 경우 자동출력
  183. if (isNull(preview) || !isNull(gubun)) {
  184. // 부수만큼 출력
  185. for (var j = 0; j < model.getValue("/root/send/prntcnt"); j++) {
  186. // 진료비세부산정내역서
  187. exeReportPreview("RPPAC00200", "XMLSTR" , "" , "" , "true" , "", "", "", "", "true");
  188. }
  189. // 미리보기
  190. } else {
  191. // 진료비세부산정내역서
  192. exeReportPreview("RPPAC00200", "XMLSTR");
  193. // 창닫기
  194. window.close();
  195. }
  196. }
  197. }
  198. // 안내문출력
  199. // 미리보기가 아니거나 업무용인 경우
  200. if (isNull(preview) || !isNull(gubun)) {
  201. exeReportPreview("RPPAC00201", "XMLSTR" , "" , "" , "true" , "", "", "", "", "true");
  202. // 업무용 출력 후 창닫기
  203. if (!isNull(gubun)) {
  204. // 창닫기
  205. window.close();
  206. }
  207. }
  208. }
  209. ]]>
  210. </script>
  211. </xhtml:head>
  212. <xhtml:body pagewidth="260" pageheight="200">
  213. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:160px; height:13px; text-align:left; vertical-align:middle; ">진료비세부산정내역출력</caption>
  214. <button id="button1" class="btn2_letter2" navindex="3" style="left:208px; top:170px; width:42px; height:19px; ">
  215. <caption>저장</caption>
  216. <script type="javascript" ev:event="DOMActivate">
  217. <![CDATA[
  218. if(model.getValue("/root/send/savedata/receivernm").getTrim()==""){
  219. messageBox("성명이 입력되지 않았습니다.", "E999");
  220. return false;
  221. }
  222. if(model.getValue("/root/send/savedata/receiverrela").getTrim()==""){
  223. messageBox("관계가 선택되지 않았습니다.", "E999");
  224. return false;
  225. }
  226. // 서명 적용
  227. fsignpad_save();
  228. model.setValue("/root/send/savedata/elctsignkey" , model.getValue("/root/send/elctsignkey"), true);
  229. model.setValue("/root/send/savedata/elctsigncnts" , model.getValue("/root/send/elctsigncnts") , true);
  230. if (model.getValue("/root/send/savedata/elctsigncnts") == ""
  231. && messageBox("서명을 하지 않았습니다. 서명없이 저장 하시겠습니까?", "Q999") != "6") {
  232. return false;
  233. } else {
  234. // 진료비세부산정내역 출력
  235. fPrintRcptDetl();
  236. }
  237. // 이미지 삭제
  238. if(fso.FileExists("c:\\receipt\\outfile.bmp")) {
  239. fso.DeleteFile("c:\\receipt\\outfile.bmp");
  240. }
  241. // 싸인패드 닫기
  242. fsignpad_close();
  243. // 창닫기
  244. window.close();
  245. ]]>
  246. </script>
  247. </button>
  248. <input id="input1" ref="/root/send/savedata/receivernm" navindex="1" imemode="hangul" style="left:77px; top:21px; width:73px; height:19px; "/>
  249. <select1 id="combo1" ref="/root/send/savedata/receiverrela" navindex="2" appearance="minimal" style="left:151px; top:21px; width:60px; height:19px; ">
  250. <choices>
  251. <itemset nodeset="/root/init/P0016list/P0016">
  252. <label ref="cdnm"/>
  253. <value ref="cdid"/>
  254. </itemset>
  255. </choices>
  256. </select1>
  257. <caption id="caption2" class="cell_1" style="left:5px; top:20px; width:70px; height:20px; ">성명/관계</caption>
  258. <caption id="caption3" style="left:5px; top:171px; width:145px; height:20px; color:#ff0000; ">※ 서명저장 시 자동출력</caption>
  259. <button id="button2" class="btn2_letter3" navindex="4" style="left:153px; top:170px; width:53px; height:19px; ">
  260. <caption>재서명</caption>
  261. <script type="javascript" ev:event="DOMActivate">
  262. <![CDATA[
  263. fsignpad_init();
  264. model.setValue("/root/send/savedata/elctsignkey" , "");
  265. model.setValue("/root/send/savedata/elctsigncnts" , "");
  266. fsignpad_request();
  267. model.refresh();
  268. ]]>
  269. </script>
  270. </button>
  271. <input id="input2" ref="/root/send/prntcnt" style="left:215px; top:21px; width:20px; height:19px; text-align:center; "/>
  272. <caption id="caption4" style="left:235px; top:23px; width:15px; height:20px; ">부</caption>
  273. <caption id="caption5" style="left:63px; top:95px; width:134px; height:20px; text-align:center; ">미리보기 상태</caption>
  274. <import id="import1" src="./../../pam/pamcomnweb/xrw/SPPAO02102_전자서명입력_OCX.xrw" style="left:10px; top:45px; width:240px; height:120px; "/>
  275. </xhtml:body>
  276. </xhtml:html>