SPPAC00200_진료비세부산정내역관리.xfdl 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPPAC00200" position="absolute 0 0 250 203" titletext="진료비세부산정내역관리" onload="SPPAC00200_onload" onbeforeclose="SPPAC00200_onbeforeclose">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption1" class="tit_1" position="absolute 0 0 177 25" style="align:left middle;" text="진료비세부산정내역출력"/>
  8. <Button id="button1" class="btn2" taborder="3" position="absolute 203 180 245 199" style="" text="저장" onclick="button1_onclick" anchor="bottom"/>
  9. <Edit id="input1" taborder="1" position="absolute 77 32 150 51" style="" anchor="default" imemode="hangul"/>
  10. <Static id="caption2" class="cell_1" position="absolute 5 31 75 51" style="" text="성명_관계"/>
  11. <Static id="caption3" position="absolute 0 181 145 201" style="color:#ff0000;" text="※ 서명저장 시 자동출력" anchor="bottom"/>
  12. <Button id="button2" class="btn2" taborder="4" position="absolute 148 180 201 199" style="" text="재서명" onclick="button2_onclick" anchor="bottom"/>
  13. <Edit id="input2" position="absolute 215 32 235 51" style="align:center ;" anchor="default"/>
  14. <Static id="caption4" position="absolute 235 34 250 54" style="" text="부"/>
  15. <Static id="caption5" position="absolute 63 106 197 126" style="align:center ;" text="미리보기 상태"/>
  16. <Div id="import1" url="pam_pamcomnxp::SPPAO02102_전자서명입력_OCX.xfdl" position="absolute 5 56 245 176" style="" anchor="all">
  17. <Layouts>
  18. <Layout width="240" height="120"/>
  19. <Layout/>
  20. <Layout/>
  21. <Layout/>
  22. <Layout/>
  23. <Layout/>
  24. </Layouts>
  25. </Div>
  26. <Combo id="Combo00" taborder="5" position="absolute 152 31 212 51" index="-1" innerdataset="@ds_init_P0016list" datacolumn="cdnm" codecolumn="cdid" class="combo_default"/>
  27. </Layout>
  28. </Layouts>
  29. <Objects>
  30. <Dataset id="ds_main_rex_ioscllist" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  31. <ColumnInfo>
  32. <Column id="ioscl_snglcalcscorcls" type="STRING" size="256" sumtext="항목분류"/>
  33. <Column id="ioscl_snglcalcscorcd" type="STRING" size="256" sumtext="항목"/>
  34. <Column id="ioscl_ordhngnm" type="STRING" size="256" sumtext="명칭"/>
  35. <Column id="ioscl_calcqty" type="STRING" size="256" sumtext="수량"/>
  36. <Column id="ioscl_calctims" type="STRING" size="256" sumtext="횟수"/>
  37. <Column id="ioscl_calcdays" type="STRING" size="256" sumtext="일수"/>
  38. <Column id="ioscl_unitamt" type="STRING" size="256" sumtext="금액"/>
  39. <Column id="ioscl_totamt" type="STRING" size="256" sumtext="총액"/>
  40. <Column id="ioscl_prcpdd" type="STRING" size="256" sumtext="처방일자"/>
  41. <Column id="ioscl_execdd" type="STRING" size="256" sumtext="일자"/>
  42. <Column id="ioscl_insuedicd" type="STRING" size="256" sumtext="EDI코드"/>
  43. <Column id="ioscl_estmcd" type="STRING" size="256" sumtext="산정코드"/>
  44. <Column id="ioscl_calcpayflag" type="STRING" size="256" sumtext="급여구분"/>
  45. <Column id="ioscl_payownbamt" type="STRING" size="256" sumtext="급여본인부담금"/>
  46. <Column id="ioscl_payinsubamt" type="STRING" size="256" sumtext="급여공단부담금"/>
  47. <Column id="ioscl_allownownbamt" type="STRING" size="256" sumtext="전액본인부담"/>
  48. <Column id="ioscl_nopyownbamt" type="STRING" size="256" sumtext="비급여"/>
  49. <Column id="ioscl_specownbamt" type="STRING" size="256" sumtext="선택진료"/>
  50. <Column id="ioscl_execrid" type="STRING" size="256"/>
  51. </ColumnInfo>
  52. </Dataset>
  53. <Dataset id="ds_tmp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  54. <ColumnInfo>
  55. <Column id="tmp" type="STRING" size="256"/>
  56. </ColumnInfo>
  57. <Rows>
  58. <Row>
  59. <Col id="tmp"/>
  60. </Row>
  61. </Rows>
  62. </Dataset>
  63. <Dataset id="ds_main_rex_baseinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  64. <ColumnInfo>
  65. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  66. <Column id="pid" type="STRING" size="256" sumtext="환자등록번호"/>
  67. <Column id="hngnm" type="STRING" size="256" sumtext="환자성명"/>
  68. <Column id="insukindnm" type="STRING" size="256" sumtext="환자구분"/>
  69. <Column id="suppkindnm" type="STRING" size="256" sumtext="보조유형"/>
  70. <Column id="rrgstno" type="STRING" size="256" sumtext="주민번호"/>
  71. <Column id="age" type="STRING" size="256" sumtext="나이"/>
  72. <Column id="sex" type="STRING" size="256" sumtext="성별"/>
  73. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과"/>
  74. <Column id="orddrid" type="STRING" size="256" sumtext="진료의사"/>
  75. <Column id="roomcd" type="STRING" size="256" sumtext="병실"/>
  76. <Column id="disccd" type="STRING" size="256" sumtext="감면계정"/>
  77. <Column id="orddd" type="STRING" size="256" sumtext="진료기간"/>
  78. <Column id="insucd" type="STRING" size="256" sumtext="조합기호"/>
  79. <Column id="indays" type="STRING" size="256" sumtext="재원일수"/>
  80. <Column id="fromdd" type="STRING" size="256" sumtext="시작일자"/>
  81. <Column id="todd" type="STRING" size="256" sumtext="종료일자"/>
  82. <Column id="chgroomhist" type="STRING" size="256" sumtext="전실내역"/>
  83. <Column id="hospnm" type="STRING" size="256" sumtext="요양기관명칭"/>
  84. <Column id="prsdnm" type="STRING" size="256" sumtext="대표자"/>
  85. <Column id="brateflag" type="STRING" size="256" sumtext="요율"/>
  86. </ColumnInfo>
  87. </Dataset>
  88. <Dataset id="ds_comport" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  89. <ColumnInfo>
  90. <Column id="comport" type="STRING" size="256"/>
  91. </ColumnInfo>
  92. </Dataset>
  93. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  94. <ColumnInfo>
  95. <Column id="ordtype" type="STRING" size="256"/>
  96. <Column id="pid" type="STRING" size="256"/>
  97. <Column id="orddd" type="STRING" size="256"/>
  98. <Column id="cretno" type="STRING" size="256"/>
  99. <Column id="fromdd" type="STRING" size="256"/>
  100. <Column id="todd" type="STRING" size="256"/>
  101. <Column id="rcptdd" type="STRING" size="256"/>
  102. <Column id="rcptno" type="STRING" size="256"/>
  103. <Column id="rcptseqno" type="STRING" size="256"/>
  104. <Column id="prntcnt" type="STRING" size="256"/>
  105. <Column id="payflag" type="STRING" size="256"/>
  106. <Column id="minflag" type="STRING" size="256"/>
  107. <Column id="calcfromdd" type="STRING" size="256"/>
  108. <Column id="calctodd" type="STRING" size="256"/>
  109. <Column id="rcpttm" type="STRING" size="256"/>
  110. </ColumnInfo>
  111. <Rows>
  112. <Row/>
  113. </Rows>
  114. </Dataset>
  115. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  116. <ColumnInfo>
  117. <Column id="hidden" type="STRING" size="256"/>
  118. </ColumnInfo>
  119. <Rows>
  120. <Row>
  121. <Col id="hidden"/>
  122. </Row>
  123. </Rows>
  124. </Dataset>
  125. <Dataset id="ds_main_ordlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  126. <ColumnInfo>
  127. <Column id="ordtype" type="STRING" size="256" sumtext="구분"/>
  128. <Column id="pid" type="STRING" size="256" sumtext="등록번호"/>
  129. <Column id="orddd" type="STRING" size="256" sumtext="진료일자"/>
  130. <Column id="cretno" type="STRING" size="256" sumtext="생성번호"/>
  131. <Column id="fromdd" type="STRING" size="256" sumtext="시작일자"/>
  132. <Column id="todd" type="STRING" size="256" sumtext="종료일자"/>
  133. <Column id="rcptdd" type="STRING" size="256" sumtext="수납일자"/>
  134. <Column id="rcptno" type="STRING" size="256" sumtext="수납번호"/>
  135. <Column id="rcptseqno" type="STRING" size="256" sumtext="수납일련번호"/>
  136. <Column id="rcpttm" type="STRING" size="256"/>
  137. </ColumnInfo>
  138. <Rows>
  139. <Row>
  140. <Col id="ordtype"/>
  141. </Row>
  142. </Rows>
  143. </Dataset>
  144. <Dataset id="ds_send_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  145. <ColumnInfo>
  146. <Column id="pid" type="STRING" size="256"/>
  147. <Column id="orddd" type="STRING" size="256"/>
  148. <Column id="cretno" type="STRING" size="256"/>
  149. <Column id="ordtype" type="STRING" size="256"/>
  150. <Column id="seqno" type="STRING" size="256"/>
  151. <Column id="histcd" type="STRING" size="256"/>
  152. <Column id="gubun" type="STRING" size="256"/>
  153. <Column id="receivernm" type="STRING" size="256"/>
  154. <Column id="receiverrela" type="STRING" size="256"/>
  155. <Column id="elctsignkey" type="STRING" size="256"/>
  156. <Column id="elctsigncnts" type="STRING" size="256"/>
  157. <Column id="printusernm" type="STRING" size="256"/>
  158. </ColumnInfo>
  159. <Rows>
  160. <Row>
  161. <Col id="pid"/>
  162. <Col id="orddd"/>
  163. <Col id="cretno"/>
  164. <Col id="ordtype"/>
  165. <Col id="seqno"/>
  166. <Col id="histcd"/>
  167. <Col id="gubun"/>
  168. <Col id="receivernm"/>
  169. <Col id="receiverrela"/>
  170. <Col id="elctsignkey"/>
  171. <Col id="elctsigncnts"/>
  172. <Col id="printusernm"/>
  173. </Row>
  174. </Rows>
  175. </Dataset>
  176. <Dataset id="ds_init_P0016list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  177. <ColumnInfo>
  178. <Column id="cdid" type="STRING" size="256"/>
  179. <Column id="cdnm" type="STRING" size="256"/>
  180. </ColumnInfo>
  181. </Dataset>
  182. <Dataset id="ds_main_rex_amtsuminfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="keep">
  183. <ColumnInfo>
  184. <Column id="totamt" type="STRING" size="256" sumtext="총진료비"/>
  185. <Column id="payamt" type="STRING" size="256" sumtext="급여총액"/>
  186. <Column id="payinsubamt" type="STRING" size="256" sumtext="공단부담금"/>
  187. <Column id="payownbamt" type="STRING" size="256" sumtext="본인부담금"/>
  188. <Column id="allownownbamt" type="STRING" size="256" sumtext="전액본인부담"/>
  189. <Column id="nopyownbamt" type="STRING" size="256" sumtext="비급여"/>
  190. <Column id="specownbamt" type="STRING" size="256" sumtext="선택진료료"/>
  191. <Column id="discamt" type="STRING" size="256" sumtext="감면액"/>
  192. <Column id="bloddiscamt" type="STRING" size="256" sumtext="수혈보상액"/>
  193. <Column id="payownblimamt" type="STRING" size="256" sumtext="상한초과액"/>
  194. <Column id="suppamt" type="STRING" size="256" sumtext="대불금"/>
  195. <Column id="totownbamt" type="STRING" size="256" sumtext="본인부담총액"/>
  196. <Column id="taxamt" type="STRING" size="256" sumtext="부가가치세"/>
  197. <Column id="payinsurestamt" type="STRING" size="256" sumtext="끝수처리조정금액"/>
  198. <Column id="rcptamt" type="STRING" size="256" sumtext="수납금액"/>
  199. </ColumnInfo>
  200. </Dataset>
  201. </Objects>
  202. <Bind>
  203. <BindItem id="item0" compid="input1" propid="value" datasetid="ds_send_savedata" columnid="receivernm"/>
  204. <BindItem id="item2" compid="input2" propid="value" datasetid="ds_send" columnid="prntcnt"/>
  205. <BindItem id="item1" compid="Combo00" propid="value" datasetid="ds_send_savedata" columnid="receiverrela"/>
  206. </Bind>
  207. <Script type="xscript4.0"><![CDATA[include "com_commonxp::comm_main.xjs"
  208. include "com_basiccodexp::ZBC001.xjs";
  209. var root_comport = "";
  210. var arErrorCode = new HashArray();
  211. function SPPAC00200_onload(obj:Form, e:LoadEventInfo)
  212. {
  213. trace("SPPAC00200_onload ");
  214. //세부내역서와 낱장영수증을 뽑을때 title 변경 by 설승민
  215. var specSingle =opener.frmf_getParameter("SPPAC00200_specSingle");
  216. if(specSingle == "Y"){
  217. caption1.text = "세부내역서/낱장영수증출력";
  218. }
  219. // 초기화
  220. frmf_initForm(obj);
  221. appf_getCodeList([
  222. { dsNm: "ds_init_P0016list", cdGrpId: "P0016" }
  223. ]);
  224. import1.fsignpad_init(); //초기화
  225. // 수진이력 및 수납이력 동기화
  226. dsf_setCSVToDs("ds_main_ordlist", opener.frmf_getParameter("SPPAC00200_VALUES"));
  227. // 출력자 성명
  228. ds_send_savedata.setColumn( 0, "receivernm", opener.frmf_getParameter("SPPAC00200_HNGNM"));
  229. ds_send_savedata.setColumn( 0, "receiverrela", "1"); // 기본값 설정(1:본인)
  230. // 출력 부수
  231. var iPrintCount = opener.frmf_getParameter("SPPAC00200_PRNTCNT");
  232. // 출력부수가 비정상적인경우 1로 보정
  233. if (utlf_isNull(iPrintCount) || iPrintCount < 1) {
  234. ds_send.setColumn( 0, "prntcnt", 1);
  235. } else {
  236. ds_send.setColumn( 0, "prntcnt", iPrintCount);
  237. }
  238. // 급비구분
  239. var sPayflag = opener.frmf_getParameter("SPPAC00200_PAYFLAG")
  240. if (utlf_isNull(sPayflag)) {
  241. ds_send.setColumn( 0, "payflag", "-','0','1','2','5"); // 0:급여, 1:전액본인, 2:비급여, 5:선택진료
  242. } else {
  243. ds_send.setColumn( 0, "payflag", sPayflag);
  244. }
  245. ds_send.setColumn( 0, "minflag", opener.frmf_getParameter("SPPAC00200_MINFLAG"));
  246. var sPreview = opener.frmf_getParameter("SPPAC00200_PREVIEW"); // 미리보기
  247. var sGubun = opener.frmf_getParameter("SPPAC00200_GUBUN"); // 업무용
  248. // 정상케이스
  249. if (utlf_isNull(sPreview) && utlf_isNull(sGubun))
  250. {
  251. import1.fsignpad_request(); // 서명입력요청
  252. // 미리보기 or 업무용출력 시
  253. } else {
  254. import1.visible = false; // 서명모듈 숨기기
  255. import1.enable = false; // 서명모듈
  256. button2.enable = false; // 재서명
  257. button1.enable = false; // 저장
  258. fPrintRcptDetl(sPreview, sGubun);
  259. }
  260. }
  261. /**
  262. 재서명 버튼 클릭이벤트
  263. */
  264. function button2_onclick(obj:Button, e:ClickEventInfo)
  265. {
  266. import1.fsignpad_init();
  267. ds_send_savedata.setColumn( 0, "elctsignkey" , "");
  268. ds_send_savedata.setColumn( 0, "elctsigncnts" , "");
  269. import1.fsignpad_request();
  270. }
  271. /**
  272. 저장 버튼 클릭이벤트
  273. */
  274. function button1_onclick(obj:Button, e:ClickEventInfo) {
  275. this.enable = false;
  276. if (utlf_isNull(ds_send_savedata.getColumn(0, "receivernm").getTrim())){
  277. sysf_messageBox("성명이 입력되지 않았습니다.", "E999");
  278. return false;
  279. }
  280. if (utlf_isNull(ds_send_savedata.getColumn(0, "receiverrela").getTrim())){
  281. sysf_messageBox("관계가 선택되지 않았습니다.", "E999");
  282. return false;
  283. }
  284. // 서명 적용
  285. var flag = utlf_transNullToEmpty(ds_send_savedata.getColumn(0, "elctsigncnts"));
  286. if (flag.getTrim() == "" || flag == "-") {
  287. var signData = import1.fsignpad_save();
  288. if (!utlf_isNull(signData)) {
  289. ds_send_savedata.setColumn(0, "elctsignkey", signData.key);
  290. ds_send_savedata.setColumn(0, "elctsigncnts", signData.img);
  291. flag = signData.img;
  292. } else {
  293. flag = "";
  294. }
  295. }
  296. if (flag == "" && sysf_messageBox("서명을 하지 않았습니다. 서명없이 저장 하시겠습니까?", "Q999") != "6") {
  297. this.enable = true;
  298. return false;
  299. } else {
  300. // 진료비세부산정내역 출력
  301. fPrintRcptDetl();
  302. }
  303. }
  304. /**
  305. 진료비세부산정내역서 출력 로직
  306. */
  307. function fPrintRcptDetl(preview, gubun) {
  308. // 프린터 설정
  309. var objExt = new ExtCommon();
  310. var prtNm = "";
  311. var prtList = objExt.getPrinterList();
  312. var dfPrtNm = objExt.getDefaultPrinter();
  313. for (var i = 0; i < prtList.length; i++) {
  314. if (prtList[i] == dfPrtNm) {
  315. prtNm = dfPrtNm;
  316. break;
  317. }
  318. }
  319. // 미리보기 설정 시, 출력 전 출력물 확인할 수 있도록 수정함. 2019-03-21 이아영
  320. var directprint = "";
  321. if(preview == "Y")
  322. {
  323. directprint = "0";
  324. }
  325. else
  326. {
  327. directprint = "1";
  328. }
  329. if (utlf_isNull(preview) && utlf_isNull(prtNm)) {
  330. sysf_messageBox("출력 할 수 없습니다.\n [제어판]에서 프린터 설정을 확인해 주십시오.", "I");
  331. directprint = "0";
  332. }
  333. var option = "open=1;save=1;directprint=" + directprint + ";printdialog=0;print=1;zoom=0";
  334. // var copiesValue = utlf_transNullToEmpty(ds_send.getColumn(0, "prntcnt"));
  335. // copiesValue = (copiesValue == '') ? '0' : copiesValue;
  336. var prtOption = "printername=" + prtNm;
  337. // 출력이력 저장 : 수진이력만큼 처리
  338. // 내역서 출력 : 출력부수만큼 처리
  339. var tCnt = ds_main_ordlist.rowcount;
  340. for (var i = 0; i < ds_main_ordlist.rowcount; i++) {
  341. // 미리보기 제어
  342. // 출력
  343. if (utlf_isNull(preview) && utlf_isNull(gubun)) {
  344. // 1. 출력이력 처리
  345. ds_send_savedata.setColumn(0, "pid", ds_main_ordlist.getColumn(i, "pid"));
  346. ds_send_savedata.setColumn(0, "orddd", ds_main_ordlist.getColumn(i, "orddd"));
  347. ds_send_savedata.setColumn(0, "cretno", ds_main_ordlist.getColumn(i, "cretno"));
  348. ds_send_savedata.setColumn(0, "ordtype", ds_main_ordlist.getColumn(i, "ordtype"));
  349. ds_send_savedata.setColumn(0, 'seqno', "0"); // default 처리
  350. ds_send_savedata.setColumn(0, "histcd", "O");
  351. ds_send_savedata.setColumn(0, "gubun", "1"); // 1:내역서, 2:영수증
  352. ds_send_savedata.setColumn(0, "printusernm", sysf_getUserInfo("usernm"));
  353. // 출력이력 저장
  354. var oParam = {};
  355. oParam.id = "TXPAC00201";
  356. oParam.service = "pamcomnapp.PamComn";
  357. oParam.method = "reqSetSignInfo";
  358. oParam.inds = "req=ds_send_savedata";
  359. oParam.outds = "ds_=item";
  360. oParam.async = false;
  361. tranf_submit(oParam);
  362. }
  363. // 2. 진료비세부산정내역 처리
  364. // 세부내역서 조회용 데이터 설정
  365. ds_send.setColumn(0, "ordtype", ds_main_ordlist.getColumn(i, "ordtype"));
  366. // 외래(수납이력 기준)
  367. if (ds_main_ordlist.getColumn(i, "ordtype") == "O") {
  368. ds_send.setColumn(0, "pid", ds_main_ordlist.getColumn(i, "pid"));
  369. ds_send.setColumn(0, "rcptdd", ds_main_ordlist.getColumn(i, "rcptdd"));
  370. ds_send.setColumn(0, "rcptno", ds_main_ordlist.getColumn(i, "rcptno"));
  371. ds_send.setColumn(0, "rcptseqno", ds_main_ordlist.getColumn(i, "rcptseqno"));
  372. ds_send.setColumn(0, "rcpttm", ds_main_ordlist.getColumn(i, "rcpttm"));
  373. // 입원(수진이력 기준)
  374. } else {
  375. ds_send.setColumn(0, "pid", ds_main_ordlist.getColumn(i, "pid"));
  376. ds_send.setColumn(0, "orddd", ds_main_ordlist.getColumn(i, "orddd"));
  377. ds_send.setColumn(0, "cretno", ds_main_ordlist.getColumn(i, "cretno"));
  378. ds_send.setColumn(0, "fromdd", ds_main_ordlist.getColumn(i, "fromdd"));
  379. ds_send.setColumn(0, "todd", ds_main_ordlist.getColumn(i, "todd"));
  380. ds_send.setColumn(0, "calcfromdd", ds_main_ordlist.getColumn(i, "calcfromdd"));
  381. ds_send.setColumn(0, "calctodd", ds_main_ordlist.getColumn(i, "calctodd"));
  382. }
  383. // 진료비세부산정내역 조회
  384. var oParam = {};
  385. oParam.id = "TRPAC00200";
  386. oParam.service = "pamcomnapp.ReceiptApp";
  387. oParam.method = "reqGetRcptAmtDetlInfo";
  388. oParam.inds = "req=ds_send";
  389. oParam.outds = "ds_main_rex_baseinfo=baseinfo "
  390. + "ds_main_rex_amtsuminfo=amtsuminfo "
  391. + "ds_main_rex_ioscllist=ioscllist";
  392. oParam.async = false;
  393. oParam.callback = "cf_TRPAC00200";
  394. tranf_submit(oParam);
  395. // 정상조회 시
  396. if (arErrorCode.pop("TRPAC00200") > -1) {
  397. // oscl / iscl 검증처리
  398. if (ds_main_rex_ioscllist.rowcount < 1) {
  399. alert(ds_main_ordlist.getColumn(i, "orddd") + " 진료일 세부내역 조회에 실패하였습니다.\r\n해당일자 내역 확인하시기 바랍니다.");
  400. continue;
  401. }
  402. // 민원구분용
  403. if (!utlf_isNull(ds_send.getColumn(0, 'minflag'))) {
  404. ds_main_rex_baseinfo.addColumn('minflag', 'string');
  405. ds_main_rex_baseinfo.setColumn(0, 'minflag', ds_send.getColumn(0, 'minflag'));
  406. }
  407. // 진료비세부산정내역서
  408. var objDOM = rptf_createDOM(); // DOM 객체 설정
  409. var objParam = new Object();
  410. rptf_setNodeListToDOM(objDOM, "root/main/rex/baseinfo" , ds_main_rex_baseinfo);
  411. rptf_setNodeListToDOM(objDOM, "root/main/rex/amtsuminfo" , ds_main_rex_amtsuminfo);
  412. rptf_setNodeListToDOM(objDOM, "root/main/rex/ioscllist/ioscl" , ds_main_rex_ioscllist);
  413. objParam.xml_data_XML1 = objDOM.documentElement.source;
  414. // 미리보기 제어
  415. //미리보기가 아니거나 업무용일 때는 창 닫기도록 수정 20191011 임승주
  416. if (utlf_isNull(preview) && !utlf_isNull(gubun))
  417. {
  418. for (var j = 0; j < parseInt(ds_send.getColumn(0, "prntcnt")); j++)
  419. {
  420. if (i==tCnt-1) {
  421. option += ";callback=cbf_close2";
  422. }
  423. rptf_exeReportPreview30(["RPPAC00200"], [objParam], option, prtOption);
  424. }
  425. }
  426. else if(utlf_isNull(preview) || utlf_isNull(gubun))
  427. {
  428. for (var j = 0; j < parseInt(ds_send.getColumn(0, "prntcnt")); j++)
  429. {
  430. // if (i==tCnt-1) {
  431. // option += ";callback=cbf_close2";
  432. // }
  433. rptf_exeReportPreview30(["RPPAC00200"], [objParam], option, prtOption);
  434. }
  435. }
  436. else
  437. {
  438. // if (i==tCnt-1) {
  439. // option += ";callback=cbf_close";
  440. // }
  441. rptf_exeReportPreview30(["RPPAC00200"], [objParam], "open=1;save=1;directprint=0;printdialog=0;print=1;zoom=0");
  442. // 미리보기 이후 창 닫기
  443. //this.close();
  444. }
  445. // 미리보기
  446. } else {
  447. sysf_messageBox("데이터 조회 오류,", "E999");
  448. }
  449. }
  450. //세부내역서와 낱장영수증 같이 출려하기 위한 로직 추가 by 설승민
  451. var specSingle =opener.frmf_getParameter("SPPAC00200_specSingle");
  452. if(specSingle == "Y"){
  453. opener.group6_button4_onclick();
  454. opener.specSingle = "N";
  455. }
  456. // 안내문출력
  457. //업무용일 때 출력안되게 수정 20191011 임승주
  458. //if (utlf_isNull(preview) || !utlf_isNull(gubun))
  459. if (utlf_isNull(preview) && !utlf_isNull(gubun))
  460. {
  461. }
  462. else if (utlf_isNull(preview) || utlf_isNull(gubun) )
  463. {
  464. // 안내문의 경우 최종적으로 1부 출력
  465. var objDOM = rptf_createDOM();
  466. var objParam = new Object();
  467. //trace('안내문'+ds_main_rex_baseinfo.saveXML());
  468. trace('안내문');
  469. rptf_setNodeListToDOM(objDOM, "root/main/rex/baseinfo", ds_main_rex_baseinfo);
  470. objParam.xml_data_XML1 = objDOM.documentElement.source;
  471. option += ";callback=cbf_close2";
  472. rptf_exeReportPreview30(["RPPAC00201"], [objParam], option, prtOption);
  473. //업무용 출력 후 창닫기
  474. if (!utlf_isNull(gubun))
  475. {
  476. //this.close();
  477. }
  478. }
  479. else
  480. {
  481. }
  482. }
  483. function cbf_close(){
  484. var fso = inff_fileSystemObject();
  485. // 이미지 삭제
  486. if (fso.FileExists("c:\\receipt\\outfile.bmp")) {
  487. fso.DeleteFile("c:\\receipt\\outfile.bmp");
  488. }
  489. // 싸인패드 닫기
  490. import1.fsignpad_close();
  491. this.close();
  492. }
  493. function cbf_close2(){
  494. trace('close');
  495. //this.close();
  496. cbf_close();
  497. }
  498. /**
  499. 진료비세부산정내역 조회결과
  500. */
  501. function cf_TRPAC00200(sSvcId, nErrorCode, sErrorMsg) {
  502. arErrorCode.push(sSvcId, nErrorCode);
  503. }
  504. /**
  505. 닫기 이벤트
  506. */
  507. function SPPAC00200_onbeforeclose(obj:Form, e:CloseEventInfo)
  508. {
  509. // 싸인패드 닫기
  510. import1.fsignpad_close();
  511. }]]></Script>
  512. </Form>
  513. </FDL>