SPPAO00402_신용카드변경.xfdl 94 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPPAO00402" position="absolute 0 0 1126 743" titletext="신용카드승인" onload="SPPAO00402_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 712 713 739" id="grp_btn" visible="false" scrollbars="autoboth" anchor="left bottom">
  8. <Layouts>
  9. <Layout>
  10. <Button position="absolute 654 3 710 25" id="btn_cancel" class="btn4" text="취소" onclick="grp_btn_btn_cancel_onclick" anchor="left bottom"/>
  11. <Button position="absolute 596 3 652 25" id="btn_confirm" class="btn4" text="확인" onclick="grp_btn_btn_confirm_onclick" anchor="left bottom"/>
  12. </Layout>
  13. </Layouts>
  14. </Div>
  15. <Button position="absolute 606 628 710 650" id="button4" class="btn4" text="카드전표출력" onclick="button4_onclick" anchor="left bottom"/>
  16. <Static text="카드 변경에만 사용하세요!!&#13;&#10;예1) LG카드 -&gt; BC카드&#13;&#10;예2) 일시불 -&gt; 3개월" position="absolute 725 15 1123 150" id="caption12" style="linespace:5;color:red;font:Dotum,24;"/>
  17. <Static id="caption5" text="입력구분" class="tit_2" position="absolute 0 14 111 30"/>
  18. <Button id="btn_makecardaprv" taborder="3" text="카드승인내역생성" class="btn2" position="absolute 579 8 687 30" onclick="btn_makecardaprv_onclick"/>
  19. <Static id="caption10" text="승인일시/승인번호" class="cell_1" position="absolute 339 87 449 110" style="padding:0 0 0 3;"/>
  20. <Static id="caption1" text="승인정보" class="tit_2" position="absolute 121 14 232 30"/>
  21. <Shape id="line3" linetype="horizontal" class="line_2" position="absolute 121 57 709 63"/>
  22. <Shape id="line12" linetype="horizontal" class="line_1" position="absolute 121 30 709 36" style="strokepen:3 solid #33bbbbff;"/>
  23. <Shape id="line1" linetype="horizontal" class="line_2" position="absolute 121 83 709 89"/>
  24. <Static id="caption2" text="카드번호" class="cell_1" position="absolute 121 35 181 58" style="padding:0 0 0 3;"/>
  25. <Static id="caption3" text="할부개월" class="cell_1" position="absolute 121 87 181 110" style="padding:0 0 0 3;"/>
  26. <Static id="caption6" text="유효기간" class="cell_1" position="absolute 121 61 181 84" style="padding:0 0 0 3;"/>
  27. <Static id="caption7" text="결제금액" class="cell_1" position="absolute 339 61 449 84" style="padding:0 0 0 3;"/>
  28. <Static id="caption4" text="(YYMM)" position="absolute 234 61 294 84"/>
  29. <Edit id="ipt_cardno" taborder="4" class="input_default" position="absolute 184 37 336 56" onkeydown="ipt_cardno_onkeydown"/>
  30. <Edit id="ipt_valiterm" taborder="5" class="input_default" position="absolute 184 63 231 82" onkillfocus="ipt_valiterm_onkillfocus"/>
  31. <Combo id="cmb_allotmm" taborder="6" innerdataset="@ds_init_com_P0078list" codecolumn="cdid" datacolumn="cdnm" class="combo_default" position="absolute 184 89 293 108"/>
  32. <Edit id="ipt_allotmm" taborder="7" class="input_default" position="absolute 296 89 336 108"/>
  33. <MaskEdit id="ipt_cardamt" taborder="8" mask="(-)#,###" class="input_default" position="absolute 452 63 583 82" onkeydown="ipt_cardamt_onkeydown"/>
  34. <Button id="btn_clear" taborder="9" text="입력" class="btn2" position="absolute 534 8 576 30" onclick="btn_clear_onclick"/>
  35. <Button id="btn_cardaprv" taborder="10" text="카드승인" class="btn2" position="absolute 579 8 643 30" onclick="btn_cardaprv_onclick"/>
  36. <Button id="btn_cardcncl" taborder="11" text="승인취소" class="btn2" position="absolute 646 8 710 30" onclick="btn_cardcncl_onclick"/>
  37. <Edit id="input1" taborder="12" visible="false" position="absolute 201 7 351 26"/>
  38. <Static id="caption11" text="카드회사" class="cell_1" position="absolute 339 35 449 58" style="padding:0 0 0 3;"/>
  39. <Combo id="combo1" taborder="13" innerdataset="@ds_init_com_P0076list" codecolumn="cdid" datacolumn="cdnm" position="absolute 452 37 709 56"/>
  40. <MaskEdit id="input2" taborder="14" mask="yyyy-mm-dd" position="absolute 452 89 521 108"/>
  41. <MaskEdit id="input3" taborder="15" mask="hh:nn:ss" position="absolute 524 89 583 108"/>
  42. <Edit id="input4" taborder="16" position="absolute 586 89 709 108"/>
  43. <MaskEdit id="input5" taborder="17" readonly="true" mask="(-)#,###" visible="false" position="absolute 586 63 709 82"/>
  44. <Grid id="grd_cvan" class="datagrid2" taborder="19" binddataset="ds_grd_cvan" useinputpanel="false" position="absolute 0 174 710 348" oncellclick="grd_cvan_oncellclick">
  45. <Formats>
  46. <Format id="default">
  47. <Columns>
  48. <Column size="25"/>
  49. <Column size="20"/>
  50. <Column size="60"/>
  51. <Column size="80"/>
  52. <Column size="120"/>
  53. <Column size="38"/>
  54. <Column size="35"/>
  55. <Column size="69"/>
  56. <Column size="100"/>
  57. <Column size="80"/>
  58. <Column size="63"/>
  59. <Column size="0"/>
  60. </Columns>
  61. <Rows>
  62. <Row size="30" band="head"/>
  63. <Row size="24"/>
  64. </Rows>
  65. <Band id="head">
  66. <Cell/>
  67. <Cell col="1"/>
  68. <Cell col="2" text="승인구분"/>
  69. <Cell col="3" text="카드회사"/>
  70. <Cell col="4" text="카드번호"/>
  71. <Cell col="5" text="유효&#10;기간"/>
  72. <Cell col="6" text="할부"/>
  73. <Cell col="7" text="결제금액"/>
  74. <Cell col="8" text="승인번호"/>
  75. <Cell col="9" text="승인일자"/>
  76. <Cell col="10" text="시간"/>
  77. <Cell col="11" text="최종작업시간"/>
  78. </Band>
  79. <Band id="body">
  80. <Cell celltype="head" expr="expr:currow + 1"/>
  81. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:cvan_check"/>
  82. <Cell col="2" displaytype="combo" text="bind:cvan_aprvflag" combodataset="ds_init_com_P0390list" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  83. <Cell col="3" displaytype="combo" text="bind:cvan_cardcmpycd" combodataset="ds_init_com_P0076list" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  84. <Cell col="4" text="bind:cvan_cardno"/>
  85. <Cell col="5" text="bind:cvan_valiterm"/>
  86. <Cell col="6" text="bind:cvan_allotmm"/>
  87. <Cell col="7" displaytype="number" text="bind:cvan_cardamt" mask="9,999"/>
  88. <Cell col="8" text="bind:cvan_aprvno"/>
  89. <Cell col="9" displaytype="date" text="bind:cvan_aprvdd" mask="yyyy-MM-dd" calendardisplaynulltype="none"/>
  90. <Cell col="10" displaytype="expr:utlf_isNull(cvan_aprvtm) ? 'none' : 'normal'" text="bind:cvan_aprvtm" mask="##:##:##"/>
  91. <Cell col="11" text="bind:cvan_lastupdtdt"/>
  92. </Band>
  93. </Format>
  94. </Formats>
  95. </Grid>
  96. <CheckBox id="checkbox1" taborder="20" position="absolute 513 153 608 168" text="카드내역생성" falsevalue="N" truevalue="Y" onclick="checkbox1_onclick"/>
  97. <CheckBox id="checkbox2" taborder="21" position="absolute 614 153 709 168" text="승인내역취소" onclick="checkbox2_onclick" falsevalue="N" truevalue="Y"/>
  98. <Shape id="roundrect2" type="roundrectangle" class="roundrect_example" position="absolute 210 480 284 503"/>
  99. <Button id="button2" taborder="25" text="저장" class="btn5" position="absolute 155 350 197 372" onclick="button2_onclick"/>
  100. <Grid id="grd_card2" class="datagrid2" taborder="26" binddataset="ds_grd_card2" useinputpanel="false" position="absolute 0 377 710 623" oncellclick="grd_card2_oncellclick" anchor="left top bottom">
  101. <Formats>
  102. <Format id="default">
  103. <Columns>
  104. <Column size="25"/>
  105. <Column size="58"/>
  106. <Column size="56"/>
  107. <Column size="112"/>
  108. <Column size="40"/>
  109. <Column size="70"/>
  110. <Column size="53"/>
  111. <Column size="77"/>
  112. <Column size="33"/>
  113. <Column size="66"/>
  114. <Column size="66"/>
  115. <Column size="40"/>
  116. <Column size="0"/>
  117. <Column size="0"/>
  118. <Column size="0"/>
  119. <Column size="0"/>
  120. <Column size="0"/>
  121. <Column size="0"/>
  122. <Column size="0"/>
  123. <Column size="0"/>
  124. <Column size="0"/>
  125. <Column size="0"/>
  126. <Column size="0"/>
  127. <Column size="0"/>
  128. <Column size="0"/>
  129. <Column size="0"/>
  130. </Columns>
  131. <Rows>
  132. <Row size="30" band="head"/>
  133. <Row size="24"/>
  134. </Rows>
  135. <Band id="head">
  136. <Cell/>
  137. <Cell col="1" text="승인상태"/>
  138. <Cell col="2" text="카드회사"/>
  139. <Cell col="3" text="카드번호"/>
  140. <Cell col="4" text="유효&#10;기간"/>
  141. <Cell col="5" text="승인일자"/>
  142. <Cell col="6" text="시간"/>
  143. <Cell col="7" text="승인번호"/>
  144. <Cell col="8" text="할부"/>
  145. <Cell col="9" text="결제금액"/>
  146. <Cell col="10" text="영수일자"/>
  147. <Cell col="11" text="영수&#10;번호"/>
  148. <Cell col="12" text="caption20"/>
  149. <Cell col="13" text="caption21"/>
  150. <Cell col="14" text="caption22"/>
  151. <Cell col="15" text="caption23"/>
  152. <Cell col="16" text="caption24"/>
  153. <Cell col="17" text="caption25"/>
  154. <Cell col="18" text="caption26"/>
  155. <Cell col="19" text="caption27"/>
  156. <Cell col="20" text="caption28"/>
  157. <Cell col="21" text="caption29"/>
  158. <Cell col="22" text="caption30"/>
  159. <Cell col="23" text="caption31"/>
  160. <Cell col="24" text="caption32"/>
  161. <Cell col="25" text="caption33"/>
  162. </Band>
  163. <Band id="body">
  164. <Cell celltype="head" expr="expr:currow + 1"/>
  165. <Cell col="1" displaytype="combo" text="bind:card_rcptstat" combodataset="ds_init_com_P0049list" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  166. <Cell col="2" displaytype="combo" text="bind:card_cardcmpycd" combodataset="ds_init_com_P0076list" combocodecol="cdid" combodatacol="cdnm" enable="false"/>
  167. <Cell col="3" text="bind:card_cardno"/>
  168. <Cell col="4" text="bind:card_valiterm"/>
  169. <Cell col="5" displaytype="date" text="bind:card_aprvdd" mask="yyyy-MM-dd" calendardisplaynulltype="none"/>
  170. <Cell col="6" displaytype="expr:utlf_isNull(card_aprvtm) ? 'none' : 'normal'" text="bind:card_aprvtm" mask="##:##:##"/>
  171. <Cell col="7" text="bind:card_aprvno"/>
  172. <Cell col="8" text="bind:card_allotmm"/>
  173. <Cell col="9" displaytype="decoratetext" style="align:right middle;" text="bind:card_cardamt" mask="9,999"/>
  174. <Cell col="10" displaytype="date" text="bind:card_rcptdd" mask="yyyy-MM-dd" calendardisplaynulltype="none"/>
  175. <Cell col="11" text="bind:card_rcptno"/>
  176. <Cell col="12" text="bind:card_pid"/>
  177. <Cell col="13" text="bind:card_rcptseqno"/>
  178. <Cell col="14" text="bind:card_seqno"/>
  179. <Cell col="15" text="bind:card_instcd"/>
  180. <Cell col="16" text="bind:card_rcptstat"/>
  181. <Cell col="17" text="bind:card_ordtype"/>
  182. <Cell col="18" text="bind:card_keyinptflag"/>
  183. <Cell col="19" text="bind:card_vancd"/>
  184. <Cell col="20" text="bind:card_rcptexecdd"/>
  185. <Cell col="21" text="bind:card_rcpttm"/>
  186. <Cell col="22" text="bind:card_rcptrid"/>
  187. <Cell col="23" text="bind:card_innrtretyn"/>
  188. <Cell col="24" text="bind:card_preamtyn"/>
  189. <Cell col="25" text="bind:card_remfact"/>
  190. </Band>
  191. </Format>
  192. </Formats>
  193. </Grid>
  194. <CheckBox id="checkbox3" taborder="27" enable="false" position="absolute 95 355 155 370" text="재승인" onclick="checkbox3_onclick"/>
  195. <Static id="caption13" text="TIP!!&#13;&#10;1. 등록번호로 VAN 정보를 조회&#13;&#10;2. 카드변경 할 VAN 승인정보를 체크 선택&#13;&#10;3. 변경 할 카드로 동일 금액을 승인&#13;&#10;4. 이전 승인내역을 승인취소('승인내역취소' 선택 할 것!)" position="absolute 10 630 485 725" style="font:Dotum,9,bold;" anchor="left bottom"/>
  196. <Static id="caption119" text="CARD 내역" class="tit_2" position="absolute 0 356 94 373"/>
  197. <Shape id="line125" linetype="horizontal" class="line_1" position="absolute 0 372 710 378" style="strokepen:3 solid #33bbbbff;"/>
  198. <Static id="caption15" text="VAN 정보" class="tit_2" position="absolute 0 153 144 169"/>
  199. <Shape id="line4" linetype="horizontal" class="line_1" position="absolute 0 169 710 175" style="strokepen:3 solid #33bbbbff;"/>
  200. <Div id="div_type" taborder="29" position="absolute 0 32 116 112" style="border:1 solid #9ebed4ff ;bordertype:round 4 4 ;">
  201. <Layouts>
  202. <Layout>
  203. <Radio id="rdo_keyinptflag" taborder="0" columncount="0" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 3 8 103 48" anchor="default">
  204. <Dataset id="innerdataset">
  205. <ColumnInfo>
  206. <Column id="codecolumn"/>
  207. <Column id="datacolumn"/>
  208. </ColumnInfo>
  209. <Rows>
  210. <Row>
  211. <Col id="codecolumn">S</Col>
  212. <Col id="datacolumn">Swipe</Col>
  213. </Row>
  214. <Row>
  215. <Col id="codecolumn">K</Col>
  216. <Col id="datacolumn">Key-In</Col>
  217. </Row>
  218. </Rows>
  219. </Dataset>
  220. </Radio>
  221. <CheckBox id="chk_onlycard" taborder="1" position="absolute 5 54 105 69" anchor="default" text="강제카드결제" onclick="div_type_chk_onlycard_onclick" falsevalue="N" truevalue="Y"/>
  222. </Layout>
  223. </Layouts>
  224. </Div>
  225. <Div id="div_register" taborder="30" position="absolute 0 114 709 145" style="border:1 solid #9ebed4ff ;bordertype:round 4 4 ;">
  226. <Layouts>
  227. <Layout width="709" height="29">
  228. <Edit id="ipt_pid" taborder="0" class="input_essential" position="absolute 69 5 173 24" anchor="default" onkeydown="div_register_ipt_pid_onkeydown" onkillfocus="div_register_ipt_pid_onkillfocus"/>
  229. <Static id="caption8" text="등록번호" class="cell_1" position="absolute 6 3 66 26" anchor="default" style="padding:0 0 0 3;"/>
  230. <Calendar id="input6" taborder="1" class="input_default" position="absolute 241 5 331 24" anchor="default" autoselect="true" autoskip="true" dateformat="yyyy-MM-dd" value="null"/>
  231. <Static id="caption9" text="승인일자" class="cell_1" position="absolute 178 3 238 26" anchor="default" style="padding:0 0 0 3;"/>
  232. <Static id="caption14" text="승인/취소" class="cell_1" position="absolute 427 3 490 26" anchor="default" style="padding:0 0 0 3;"/>
  233. <Radio id="radio1" taborder="2" columncount="-1" rowcount="-1" codecolumn="codecolumn" datacolumn="datacolumn" position="absolute 334 5 424 25" anchor="default" onitemchanged="div_register_radio1_onitemchanged">
  234. <Dataset id="innerdataset">
  235. <ColumnInfo>
  236. <Column id="codecolumn"/>
  237. <Column id="datacolumn"/>
  238. </ColumnInfo>
  239. <Rows>
  240. <Row>
  241. <Col id="codecolumn">O</Col>
  242. <Col id="datacolumn">외래</Col>
  243. </Row>
  244. <Row>
  245. <Col id="codecolumn">I</Col>
  246. <Col id="datacolumn">입원</Col>
  247. </Row>
  248. </Rows>
  249. </Dataset>
  250. </Radio>
  251. <Combo id="combo2" taborder="3" codecolumn="codecolumn" datacolumn="datacolumn" class="combo_default" position="absolute 493 5 567 24" anchor="default">
  252. <Dataset id="innerdataset">
  253. <ColumnInfo>
  254. <Column id="codecolumn"/>
  255. <Column id="datacolumn"/>
  256. </ColumnInfo>
  257. <Rows>
  258. <Row>
  259. <Col id="codecolumn">-</Col>
  260. <Col id="datacolumn">전체</Col>
  261. </Row>
  262. <Row>
  263. <Col id="codecolumn">12</Col>
  264. <Col id="datacolumn">승인내역</Col>
  265. </Row>
  266. <Row>
  267. <Col id="codecolumn">22</Col>
  268. <Col id="datacolumn">취소내역</Col>
  269. </Row>
  270. </Rows>
  271. </Dataset>
  272. </Combo>
  273. <Button id="button1" taborder="4" text="승인내역조회" class="btn2" position="absolute 570 4 656 26" anchor="default" onclick="div_register_button1_onclick"/>
  274. </Layout>
  275. </Layouts>
  276. </Div>
  277. <Shape id="line2" class="line_3" position="absolute 121 109 709 115"/>
  278. </Layout>
  279. </Layouts>
  280. <Objects>
  281. <Dataset id="ds_init_com_P0076list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  282. <ColumnInfo>
  283. <Column id="cdid" type="STRING" size="256"/>
  284. <Column id="cdnm" type="STRING" size="256"/>
  285. </ColumnInfo>
  286. </Dataset>
  287. <Dataset id="ds_init_com_P0078list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  288. <ColumnInfo>
  289. <Column id="cdid" type="STRING" size="256"/>
  290. <Column id="cdnm" type="STRING" size="256"/>
  291. </ColumnInfo>
  292. </Dataset>
  293. <Dataset id="ds_init_com_P0390list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  294. <ColumnInfo>
  295. <Column id="cdid" type="STRING" size="256"/>
  296. <Column id="cdnm" type="STRING" size="256"/>
  297. </ColumnInfo>
  298. </Dataset>
  299. <Dataset id="ds_init_com_P0049list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  300. <ColumnInfo>
  301. <Column id="cdid" type="STRING" size="256"/>
  302. <Column id="cdnm" type="STRING" size="256"/>
  303. </ColumnInfo>
  304. </Dataset>
  305. <Dataset id="ds_main_iptflag" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  306. <ColumnInfo>
  307. <Column id="cardedit" type="STRING" size="256"/>
  308. <Column id="cardallinfo" type="STRING" size="256"/>
  309. <Column id="aprvdd" type="STRING" size="256"/>
  310. <Column id="cvancncl" type="STRING" size="256"/>
  311. <Column id="cardaprv" type="STRING" size="256"/>
  312. <Column id="recardaprv" type="STRING" size="256"/>
  313. <Column id="aprvsrchflag" type="STRING" size="256"/>
  314. <Column id="ioflag" type="STRING" size="256"/>
  315. <Column id="pid" type="STRING" size="256"/>
  316. </ColumnInfo>
  317. <Rows>
  318. <Row>
  319. <Col id="cardedit"/>
  320. <Col id="cardallinfo"/>
  321. <Col id="aprvdd"/>
  322. <Col id="cvancncl"/>
  323. <Col id="cardaprv"/>
  324. <Col id="recardaprv"/>
  325. <Col id="aprvsrchflag">-</Col>
  326. <Col id="ioflag"/>
  327. <Col id="pid"/>
  328. </Row>
  329. </Rows>
  330. </Dataset>
  331. <Dataset id="ds_main_card" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  332. <ColumnInfo>
  333. <Column id="totrcptamt" type="STRING" size="256"/>
  334. <Column id="totcardamt" type="STRING" size="256"/>
  335. <Column id="subtotalamt" type="STRING" size="256"/>
  336. <Column id="swipedata" type="STRING" size="256"/>
  337. <Column id="aprvcardamt" type="STRING" size="256"/>
  338. </ColumnInfo>
  339. <Rows>
  340. <Row>
  341. <Col id="totrcptamt"/>
  342. <Col id="totcardamt"/>
  343. <Col id="subtotalamt"/>
  344. <Col id="swipedata"/>
  345. <Col id="aprvcardamt"/>
  346. </Row>
  347. </Rows>
  348. </Dataset>
  349. <Dataset id="ds_main_card2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  350. <ColumnInfo>
  351. <Column id="card_pid" type="STRING" size="256"/>
  352. <Column id="card_rcptdd" type="STRING" size="256"/>
  353. <Column id="card_rcptno" type="STRING" size="256"/>
  354. <Column id="card_rcptseqno" type="STRING" size="256"/>
  355. <Column id="card_seqno" type="STRING" size="256"/>
  356. <Column id="card_instcd" type="STRING" size="256"/>
  357. <Column id="card_rcptstat" type="STRING" size="256"/>
  358. <Column id="card_ordtype" type="STRING" size="256"/>
  359. <Column id="card_keyinptflag" type="STRING" size="256"/>
  360. <Column id="card_cardcmpycd" type="STRING" size="256"/>
  361. <Column id="card_cardno" type="STRING" size="256"/>
  362. <Column id="card_aprvflag" type="STRING" size="256"/>
  363. <Column id="card_aprvdd" type="STRING" size="256"/>
  364. <Column id="card_aprvtm" type="STRING" size="256"/>
  365. <Column id="card_aprvno" type="STRING" size="256"/>
  366. <Column id="card_vancd" type="STRING" size="256"/>
  367. <Column id="card_allotmm" type="STRING" size="256"/>
  368. <Column id="card_cardamt" type="STRING" size="256"/>
  369. <Column id="card_valiterm" type="STRING" size="256"/>
  370. <Column id="card_rcptexecdd" type="STRING" size="256"/>
  371. <Column id="card_rcpttm" type="STRING" size="256"/>
  372. <Column id="card_rcptrid" type="STRING" size="256"/>
  373. <Column id="card_innrtretyn" type="STRING" size="256"/>
  374. <Column id="card_preamtyn" type="STRING" size="256"/>
  375. <Column id="card_remfact" type="STRING" size="256"/>
  376. <Column id="card_fstrgstrid" type="STRING" size="256"/>
  377. <Column id="card_fstrgstdt" type="STRING" size="256"/>
  378. <Column id="card_lastupdtrid" type="STRING" size="256"/>
  379. <Column id="card_lastupdtdt" type="STRING" size="256"/>
  380. </ColumnInfo>
  381. <Rows>
  382. <Row>
  383. <Col id="card_pid"/>
  384. <Col id="card_rcptdd"/>
  385. <Col id="card_rcptno"/>
  386. <Col id="card_rcptseqno"/>
  387. <Col id="card_seqno"/>
  388. <Col id="card_instcd"/>
  389. <Col id="card_rcptstat"/>
  390. <Col id="card_ordtype"/>
  391. <Col id="card_keyinptflag"/>
  392. <Col id="card_cardcmpycd"/>
  393. <Col id="card_cardno"/>
  394. <Col id="card_aprvflag"/>
  395. <Col id="card_aprvdd"/>
  396. <Col id="card_aprvtm"/>
  397. <Col id="card_aprvno"/>
  398. <Col id="card_vancd"/>
  399. <Col id="card_allotmm"/>
  400. <Col id="card_cardamt"/>
  401. <Col id="card_valiterm"/>
  402. <Col id="card_rcptexecdd"/>
  403. <Col id="card_rcpttm"/>
  404. <Col id="card_rcptrid"/>
  405. <Col id="card_innrtretyn"/>
  406. <Col id="card_preamtyn"/>
  407. <Col id="card_remfact"/>
  408. <Col id="card_fstrgstrid"/>
  409. <Col id="card_fstrgstdt"/>
  410. <Col id="card_lastupdtrid"/>
  411. <Col id="card_lastupdtdt"/>
  412. </Row>
  413. </Rows>
  414. </Dataset>
  415. <Dataset id="ds_main_h_cvan" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  416. <Dataset id="ds_main_h_cvan2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  417. <Dataset id="ds_main_h_card" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  418. <Dataset id="ds_main_c_card" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  419. <ColumnInfo>
  420. <Column id="card_pid" type="STRING" size="256" sumtext="환자의 고유ID"/>
  421. <Column id="card_rcptdd" type="STRING" size="256" sumtext="영수증 처리일자"/>
  422. <Column id="card_rcptno" type="STRING" size="256" sumtext="영수증번호"/>
  423. <Column id="card_rcptseqno" type="STRING" size="256" sumtext="영수증일련번호"/>
  424. <Column id="card_seqno" type="STRING" size="256" sumtext="영수증번호별 일련번호"/>
  425. <Column id="card_instcd" type="STRING" size="256" sumtext="기관코드"/>
  426. <Column id="card_rcptstat" type="STRING" size="256" sumtext="수납상태"/>
  427. <Column id="card_ordtype" type="STRING" size="256" sumtext="진료형태"/>
  428. <Column id="card_keyinptflag" type="STRING" size="256" sumtext="키입력구분"/>
  429. <Column id="card_cardcmpycd" type="STRING" size="256" sumtext="카드사코드"/>
  430. <Column id="card_cardno" type="STRING" size="256" sumtext="카드번호"/>
  431. <Column id="card_aprvflag" type="STRING" size="256" sumtext="승인구분"/>
  432. <Column id="card_aprvdd" type="STRING" size="256" sumtext="승인일자"/>
  433. <Column id="card_aprvtm" type="STRING" size="256" sumtext="승인시간"/>
  434. <Column id="card_aprvno" type="STRING" size="256" sumtext="승인번호"/>
  435. <Column id="card_vancd" type="STRING" size="256" sumtext="VAN코드"/>
  436. <Column id="card_allotmm" type="STRING" size="256" sumtext="할부개월수(02,03)"/>
  437. <Column id="card_cardamt" type="STRING" size="256" sumtext="카드 결제금액"/>
  438. <Column id="card_valiterm" type="STRING" size="256" sumtext="유효기간(YYYYMM)"/>
  439. <Column id="card_rcptexecdd" type="STRING" size="256" sumtext="수납수행일자"/>
  440. <Column id="card_rcpttm" type="STRING" size="256" sumtext="수납시간"/>
  441. <Column id="card_rcptrid" type="STRING" size="256" sumtext="수납자ID"/>
  442. <Column id="card_innrtretyn" type="STRING" size="256" sumtext="내부처리여부"/>
  443. <Column id="card_preamtyn" type="STRING" size="256" sumtext="선수금여부"/>
  444. <Column id="card_remfact" type="STRING" size="256" sumtext="참고사항"/>
  445. <Column id="card_fstrgstrid" type="STRING" size="256" sumtext="최초등록자ID"/>
  446. <Column id="card_fstrgstdt" type="STRING" size="256" sumtext="최초등록일시"/>
  447. <Column id="card_lastupdtrid" type="STRING" size="256" sumtext="최종수정자ID"/>
  448. <Column id="card_lastupdtdt" type="STRING" size="256" sumtext="최종수정일시"/>
  449. </ColumnInfo>
  450. </Dataset>
  451. <Dataset id="ds_main_c_otpt" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  452. <Dataset id="ds_main_m_opmi" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  453. <Dataset id="ds_main_n_cvan" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  454. <Dataset id="ds_hidden_session" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  455. <Dataset id="ds_temp_h_cvan" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  456. <Dataset id="ds_tmp_appvanif" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  457. </Objects>
  458. <Bind>
  459. <BindItem id="item0" compid="div_type.rdo_keyinptflag" propid="value" datasetid="ds_main_card2" columnid="card_keyinptflag"/>
  460. <BindItem id="item1" compid="div_type.chk_onlycard" propid="value" datasetid="ds_main_iptflag" columnid="cardaprv"/>
  461. <BindItem id="item2" compid="input1" propid="value" datasetid="ds_main_card" columnid="swipedata"/>
  462. <BindItem id="item3" compid="ipt_cardamt" propid="value" datasetid="ds_main_card2" columnid="card_cardamt"/>
  463. <BindItem id="item4" compid="combo1" propid="value" datasetid="ds_main_card2" columnid="card_cardcmpycd"/>
  464. <BindItem id="item5" compid="ipt_cardno" propid="value" datasetid="ds_main_card2" columnid="card_cardno"/>
  465. <BindItem id="item6" compid="ipt_valiterm" propid="value" datasetid="ds_main_card2" columnid="card_valiterm"/>
  466. <BindItem id="item7" compid="cmb_allotmm" propid="value" datasetid="ds_main_card2" columnid="card_allotmm"/>
  467. <BindItem id="item8" compid="ipt_allotmm" propid="value" datasetid="ds_main_card2" columnid="card_allotmm"/>
  468. <BindItem id="item9" compid="input2" propid="value" datasetid="ds_main_card2" columnid="card_aprvdd"/>
  469. <BindItem id="item10" compid="input3" propid="value" datasetid="ds_main_card2" columnid="card_aprvtm"/>
  470. <BindItem id="item11" compid="input4" propid="value" datasetid="ds_main_card2" columnid="card_aprvno"/>
  471. <BindItem id="item12" compid="input5" propid="value" datasetid="ds_main_card" columnid="subtotalamt"/>
  472. <BindItem id="item13" compid="div_register.ipt_pid" propid="value" datasetid="ds_main_iptflag" columnid="pid"/>
  473. <BindItem id="item14" compid="div_register.input6" propid="value" datasetid="ds_main_iptflag" columnid="aprvdd"/>
  474. <BindItem id="item15" compid="div_register.radio1" propid="value" datasetid="ds_main_iptflag" columnid="ioflag"/>
  475. <BindItem id="item16" compid="div_register.combo2" propid="value" datasetid="ds_main_iptflag" columnid="aprvsrchflag"/>
  476. <BindItem id="item17" compid="checkbox1" propid="value" datasetid="ds_main_iptflag" columnid="cardedit"/>
  477. <BindItem id="item18" compid="checkbox3" propid="value" datasetid="ds_main_iptflag" columnid="recardaprv"/>
  478. </Bind>
  479. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  480. * System Name :
  481. * Job Name :
  482. * Creator :
  483. * Make Date : 2016-05-24
  484. * Description :
  485. *---------------------------------------------------------------------------------------
  486. * Modify Date Modifier Modify Description
  487. *---------------------------------------------------------------------------------------
  488. * 2016-05-24 Live Converter TF->XP
  489. *
  490. *---------------------------------------------------------------------------------------
  491. ****************************************************************************************/
  492. //=======================================================================================
  493. // Lib Include
  494. //---------------------------------------------------------------------------------------
  495. include 'com_commonxp::comm_main.xjs';
  496. include 'pam_pamcomnxp::PAM.xjs';
  497. var arErrorCode = new HashArray();
  498. var gPid, gOrdtype;
  499. var ExistCardCount;
  500. var gMulticnt; // dbs227, 좌변값으로 사용되는 부분은 없으나, 우변값으로 사용됨.
  501. //=======================================================================================
  502. // Local methods
  503. //---------------------------------------------------------------------------------------
  504. /**
  505. * fInit
  506. * @return {[type]} [description]
  507. */
  508. function fInit() {
  509. appf_getCodeList([
  510. { dsNm: 'ds_init_com_P0076list', cdGrpId: 'P0076' },
  511. { dsNm: 'ds_init_com_P0078list', cdGrpId: 'P0078' },
  512. { dsNm: 'ds_init_com_P0390list', cdGrpId: 'P0390' },
  513. { dsNm: 'ds_init_com_P0049list', cdGrpId: 'P0049' }
  514. ]);
  515. //fGetUserInfosSampling(); //세션
  516. ds_main_iptflag.clearData();
  517. ds_main_iptflag.addRow();
  518. ds_main_card.clearData();
  519. ds_main_card.addRow();
  520. ds_main_card2.clearData();
  521. ds_main_card2.addRow();
  522. ds_main_h_cvan.clearData();
  523. ds_main_h_cvan2.clearData();
  524. ds_main_h_card.clearData();
  525. ds_main_c_card.clearData();
  526. ds_main_c_otpt.clearData();
  527. ds_main_m_opmi.clearData();
  528. ds_main_iptflag.setColumn(0, "cardedit", "");
  529. frmf_inputEnterKey("checkbox1", "onclick", new ClickEventInfo);
  530. ds_main_card.setColumn(0, "totrcptamt", "0");
  531. ds_main_card.setColumn(0, "totcardamt", "0");
  532. ds_main_card.setColumn(0, "subtotalamt", "0");
  533. ds_main_card2.setColumn(0, "card_keyinptflag", "S"); //swipe
  534. ds_main_card2.setColumn(0, "card_cardamt", "0");
  535. ds_main_card2.setColumn(0, "card_valiterm", "");
  536. ds_main_card2.setColumn(0, "card_cardcmpycd", "");
  537. ds_main_iptflag.setColumn(0, "aprvdd", utlf_getCurrentDate());
  538. ds_main_iptflag.setColumn(0, "aprvsrchflag", "-");
  539. ds_main_iptflag.setColumn(0, "ioflag", "O");
  540. gOrdtype = 'O';
  541. ds_main_card2.setColumn(0, "card_cardcmpycd", "");
  542. div_register.ipt_pid.setFocus();
  543. //2008-06-02 이동식 추가
  544. btn_makecardaprv.visible = false;
  545. btn_cardaprv.visible = true;
  546. btn_cardcncl.visible = true;
  547. }
  548. /**
  549. * [fInit2 description]
  550. * @return {[type]} [description]
  551. */
  552. function fInit2() {
  553. ds_main_card2.clearData();
  554. ds_main_card2.addRow();
  555. ds_main_card.setColumn(0, "swipedata", "");
  556. ds_main_iptflag.setColumn(0, "cardedit", "");
  557. frmf_inputEnterKey("checkbox1", "onclick", new ClickEventInfo);
  558. ds_main_card2.setColumn(0, "card_keyinptflag", "S"); //swipe
  559. ds_main_card2.setColumn(0, "card_valiterm", "");
  560. ds_main_card2.setColumn(0, "card_cardcmpycd", "");
  561. ds_main_iptflag.setColumn(0, "aprvdd", utlf_getCurrentDate());
  562. }
  563. function eraseFixed(target: Dataset, fixedStr){
  564. if(target.rowcount < 1 || target.colcount){
  565. return;
  566. }
  567. for(var i = 0; i < target.colcount; i++){
  568. var colId = String(target.getColID(i)).replace(fixedStr, '');
  569. target.updateColID(i, colId);
  570. }
  571. }
  572. /**
  573. * [fForceCardAprv description]
  574. * @param {[type]} flag [description]
  575. * @return {[type]} [description]
  576. */
  577. function fForceCardAprv(flag) {
  578. //카드번호,카드회사,유효기간,결제금액,할부개월
  579. var cardno = utlf_transNullToEmpty(ds_main_card2.getColumn(0, "card_cardno"));
  580. if (cardno == "" || cardno == " " || cardno == "-") {
  581. sysf_messageBox("카드번호가 미입력되었습니다!", "E999", "");
  582. return false;
  583. }
  584. var card_cardcmpycd = utlf_transNullToEmpty(ds_main_card2.getColumn(0, "card_cardcmpycd"));
  585. if (card_cardcmpycd == "" || card_cardcmpycd == " " || card_cardcmpycd == "-") {
  586. sysf_messageBox("카드회사가 미입력되었습니다!", "E999", "");
  587. return false;
  588. }
  589. var card_valiterm = utlf_transNullToEmpty(ds_main_card2.getColumn(0, "card_valiterm"));
  590. if (card_valiterm == "" || card_valiterm == " " || card_valiterm == "-") {
  591. sysf_messageBox("유효기간이 미입력되었습니다!", "E999", "");
  592. return false;
  593. }
  594. var card_cardamt = utlf_transNullToEmpty(ds_main_card2.getColumn(0, "card_cardamt"));
  595. if (card_cardamt == "" || card_cardamt == " " || card_cardamt == "-") {
  596. sysf_messageBox("카드금액이 미입력되었습니다!", "E999", "");
  597. return false;
  598. }
  599. var card_allotmm = utlf_transNullToEmpty(ds_main_card2.getColumn(0, "card_allotmm"));
  600. if (card_allotmm == "" || card_allotmm == " " || card_allotmm == "-") {
  601. sysf_messageBox("할부개월이 미입력되었습니다!", "E999", "");
  602. ds_main_card2.setColumn(0, "card_allotmm", '00')
  603. return false;
  604. }
  605. var card_aprvdd = utlf_transNullToEmpty(ds_main_card2.getColumn(0, "card_aprvdd"));
  606. if (card_aprvdd == "" || card_aprvdd == " " || card_aprvdd == "-") {
  607. sysf_messageBox("승인일자가 미입력되었습니다!", "E999", "");
  608. ds_main_card2.setColumn(0, "card_aprvdd", '')
  609. return false;
  610. }
  611. var card_aprvtm = utlf_transNullToEmpty(ds_main_card2.getColumn(0, "card_aprvtm"));
  612. if (card_aprvtm == "" || card_aprvtm == " " || card_aprvtm == "-") {
  613. sysf_messageBox("승인시간이 미입력되었습니다!", "E999", "");
  614. ds_main_card2.setColumn(0, "card_aprvtm", '')
  615. return false;
  616. }
  617. var card_aprvno = utlf_transNullToEmpty(ds_main_card2.getColumn(0, "card_aprvno"));
  618. if (card_aprvno == "" || card_aprvno == " " || card_aprvno == "-") {
  619. sysf_messageBox("승인번호가 미입력되었습니다!", "E999", "");
  620. ds_main_card2.setColumn(0, "card_aprvno", '')
  621. return false;
  622. }
  623. var card_keyinptflag = utlf_transNullToEmpty(ds_main_card2.getColumn(0, "card_keyinptflag"));
  624. if (card_keyinptflag == "" || card_keyinptflag == " " || card_keyinptflag == "-") {
  625. ds_main_card2.setColumn(0, "card_keyinptflag", "K");
  626. }
  627. if (flag == 'I') {
  628. //카드결제액 체크
  629. var recardaprv = ds_main_iptflag.getColumn(0, "recardaprv");
  630. var totrcptamt = ds_main_card.getColumn(0, "totrcptamt");
  631. var totcardamt = ds_main_card.getColumn(0, "totcardamt");
  632. var card_cardamt = ds_main_card2.getColumn(0, "card_cardamt");
  633. if (recardaprv != 'Y') {
  634. if (parseInt(ds_main_card.getColumn(0, "totrcptamt")) ==
  635. parseInt(ds_main_card.getColumn(0, "totcardamt"))) {
  636. if (sysf_messageBox("수납대상금액과 카드결제금액이 같습니다. 더이상 카드 수납할 금액이 없습니다. 계속 진행 하시겠습니까?", "Q999", "") != 6) {
  637. return false;
  638. }
  639. }
  640. else if (parseInt(ds_main_card.getColumn(0, "totrcptamt")) <
  641. parseInt(ds_main_card.getColumn(0, "totcardamt")) + parseInt(ds_main_card2.getColumn(0, "card_cardamt"))) {
  642. if (sysf_messageBox("수납대상금액보다 카드결제금액이 많습니다. 계속 진행 하시겠습니까?", "Q999", "") != 6) {
  643. return false;
  644. }
  645. }
  646. else if (parseInt(ds_main_card.getColumn(0, "totrcptamt")) <= 0) {
  647. if (sysf_messageBox("수납대상금액이 0원 이거나 마이너스 금액입니다! 계속 진행 하시겠습니까?", "Q999", "") != 6) {
  648. return false;
  649. }
  650. }
  651. else if (parseInt(ds_main_card2.getColumn(0, "card_cardamt")) == 0) {
  652. sysf_messageBox("결제금액이 0원입니다. 확인하시고 다시 카드승인하세요!", "E999", "");
  653. return false;
  654. }
  655. if (gMulticnt > 1) { //멀티승인
  656. if (parseInt(totrcptamt) - parseInt(totcardamt) != parseInt(card_cardamt)) {
  657. sysf_messageBox("멀티수납시 카드 한 건으로 수납대상금액 전체를 결제해야 합니다!", "E999", "");
  658. return false;
  659. }
  660. }
  661. }
  662. else if (recardaprv == 'Y') {
  663. var cardAmt = 0;
  664. var cnt = ds_main_c_card.rowcount;
  665. for (var i = 0; i < cnt; i++) {
  666. cardAmt = parseInt(cardAmt) + parseInt(ds_main_c_card.getColumn(0, "card_cardamt"));
  667. }
  668. if (cardAmt != card_cardamt) {
  669. sysf_messageBox("멀티카드수납내역을 변경/취소하기 위한 재승인인 경우에는 재승인할 카드승인금액 합과 결제 금액이 같아야 합니다.", "E999", "");
  670. return false;
  671. }
  672. }
  673. }
  674. if (flag == 'I') {
  675. ds_main_n_cvan.clearData();
  676. dsf_makeValue(ds_main_n_cvan, "cvan_pid", 'string', ds_main_iptflag.getColumn(0, "pid"));
  677. dsf_makeValue(ds_main_n_cvan, "cvan_aprvflag", 'string', '12');
  678. dsf_makeValue(ds_main_n_cvan, "cvan_aprvdd", 'string', ds_main_card2.getColumn(0, "card_aprvdd"));
  679. dsf_makeValue(ds_main_n_cvan, "cvan_aprvtm", 'string', ds_main_card2.getColumn(0, "card_aprvtm"));
  680. dsf_makeValue(ds_main_n_cvan, "cvan_aprvno", 'string', ds_main_card2.getColumn(0, "card_aprvno"));
  681. dsf_makeValue(ds_main_n_cvan, "cvan_ordtype", 'string', gOrdtype);
  682. dsf_makeValue(ds_main_n_cvan, "cvan_instcd", 'string', ds_hidden_session.getColumn(0, "sess_posinstcd"));
  683. dsf_makeValue(ds_main_n_cvan, "cvan_keyinptflag", 'string', ds_main_card2.getColumn(0, "card_keyinptflag"));
  684. dsf_makeValue(ds_main_n_cvan, "cvan_cardcmpycd", 'string', ds_main_card2.getColumn(0, "card_cardcmpycd"));
  685. dsf_makeValue(ds_main_n_cvan, "cvan_cardno", 'string', ds_main_card2.getColumn(0, "card_cardno"));
  686. dsf_makeValue(ds_main_n_cvan, "cvan_vancd", 'string', '-');
  687. dsf_makeValue(ds_main_n_cvan, "cvan_allotmm", 'string', ds_main_card2.getColumn(0, "card_allotmm"));
  688. dsf_makeValue(ds_main_n_cvan, "cvan_cardamt", 'string', ds_main_card2.getColumn(0, "card_cardamt"));
  689. dsf_makeValue(ds_main_n_cvan, "cvan_valiterm", 'string', ds_main_card2.getColumn(0, "card_valiterm"));
  690. dsf_makeValue(ds_main_n_cvan, "cvan_trmnno", 'string', '');
  691. dsf_makeValue(ds_main_n_cvan, "cvan_rcptexecdd", 'string', '-');
  692. dsf_makeValue(ds_main_n_cvan, "cvan_rcpttm", 'string', '-');
  693. dsf_makeValue(ds_main_n_cvan, "cvan_rcptrid", 'string', '');
  694. dsf_makeValue(ds_main_n_cvan, "cvan_remfact", 'string', "강제카드결제(승인)");
  695. dsf_makeValue(ds_main_n_cvan, "cvan_fstrgstrid", 'string', '');
  696. dsf_makeValue(ds_main_n_cvan, "cvan_fstrgstdt", 'string', '');
  697. dsf_makeValue(ds_main_n_cvan, "cvan_lastupdtrid", 'string', '');
  698. dsf_makeValue(ds_main_n_cvan, "cvan_lastupdtdt", 'string', '');
  699. dsf_makeValue(ds_main_n_cvan, "cvan_elctsignkey", 'string', '');
  700. dsf_makeValue(ds_main_n_cvan, "cvan_elctsigncnts", 'string', '');
  701. dsf_makeValue(ds_main_n_cvan, "cvan_carddepoamt", 'string', '0');
  702. dsf_makeValue(ds_main_n_cvan, "cvan_coms", 'string', '0');
  703. ds_main_card2.setColumn(0, "card_aprvflag", '12');
  704. ds_main_card2.setColumn(0, "card_rcptstat", 'Y');
  705. ds_main_card2.setColumn(0, "card_ordtype", gOrdtype);
  706. ds_main_card2.setColumn(0, "card_vancd", '');
  707. ds_main_card2.setColumn(0, "card_remfact", '강제카드결제(승인)');
  708. }
  709. else if (flag == 'D') {
  710. ds_main_n_cvan.clearData();
  711. dsf_makeValue(ds_main_n_cvan, "cvan_pid", 'string', ds_main_iptflag.getColumn(0, "pid"));
  712. dsf_makeValue(ds_main_n_cvan, "cvan_aprvflag", 'string', '22');
  713. dsf_makeValue(ds_main_n_cvan, "cvan_aprvdd", 'string', ds_main_card2.getColumn(0, "card_aprvdd"));
  714. dsf_makeValue(ds_main_n_cvan, "cvan_aprvtm", 'string', ds_main_card2.getColumn(0, "card_aprvtm"));
  715. dsf_makeValue(ds_main_n_cvan, "cvan_aprvno", 'string', ds_main_card2.getColumn(0, "card_aprvno"));
  716. dsf_makeValue(ds_main_n_cvan, "cvan_ordtype", 'string', gOrdtype);
  717. dsf_makeValue(ds_main_n_cvan, "cvan_instcd", 'string', ds_hidden_session.getColumn(0, "sess_posinstcd"));
  718. dsf_makeValue(ds_main_n_cvan, "cvan_keyinptflag", 'string', ds_main_card2.getColumn(0, "card_keyinptflag"));
  719. dsf_makeValue(ds_main_n_cvan, "cvan_cardcmpycd", 'string', ds_main_card2.getColumn(0, "card_cardcmpycd"));
  720. dsf_makeValue(ds_main_n_cvan, "cvan_cardno", 'string', ds_main_card2.getColumn(0, "card_cardno"));
  721. dsf_makeValue(ds_main_n_cvan, "cvan_vancd", 'string', '-');
  722. dsf_makeValue(ds_main_n_cvan, "cvan_allotmm", 'string', ds_main_card2.getColumn(0, "card_allotmm"));
  723. dsf_makeValue(ds_main_n_cvan, "cvan_cardamt", 'string', ds_main_card2.getColumn(0, "card_cardamt"));
  724. dsf_makeValue(ds_main_n_cvan, "cvan_valiterm", 'string', ds_main_card2.getColumn(0, "card_valiterm"));
  725. dsf_makeValue(ds_main_n_cvan, "cvan_trmnno", 'string', '');
  726. dsf_makeValue(ds_main_n_cvan, "cvan_rcptexecdd", 'string', '-');
  727. dsf_makeValue(ds_main_n_cvan, "cvan_rcpttm", 'string', '-');
  728. dsf_makeValue(ds_main_n_cvan, "cvan_rcptrid", 'string', '');
  729. dsf_makeValue(ds_main_n_cvan, "cvan_remfact", 'string', "강제카드결제(취소)");
  730. dsf_makeValue(ds_main_n_cvan, "cvan_fstrgstrid", 'string', '');
  731. dsf_makeValue(ds_main_n_cvan, "cvan_fstrgstdt", 'string', '');
  732. dsf_makeValue(ds_main_n_cvan, "cvan_lastupdtrid", 'string', '');
  733. dsf_makeValue(ds_main_n_cvan, "cvan_lastupdtdt", 'string', '');
  734. dsf_makeValue(ds_main_n_cvan, "cvan_elctsignkey", 'string', '');
  735. dsf_makeValue(ds_main_n_cvan, "cvan_elctsigncnts", 'string', '');
  736. dsf_makeValue(ds_main_n_cvan, "cvan_carddepoamt", 'string', '0');
  737. dsf_makeValue(ds_main_n_cvan, "cvan_coms", 'string', '0');
  738. ds_main_card2.setColumn(0, "card_aprvflag", '22');
  739. ds_main_card2.setColumn(0, "card_rcptstat", 'D');
  740. ds_main_card2.setColumn(0, "card_ordtype", gOrdtype);
  741. ds_main_card2.setColumn(0, "card_vancd", '');
  742. ds_main_card2.setColumn(0, "card_remfact", '강제카드결제(취소)');
  743. }
  744. dsf_createDs('ds_req');
  745. ds_req.copyData(ds_main_n_cvan, false);
  746. eraseFixed(ds_req, 'cvan_');
  747. ds_temp_h_cvan.clearData();
  748. var oParam = {};
  749. oParam.id = "TXPAO00455";
  750. oParam.service = "pamcomnapp.PamComn";
  751. oParam.method = "reqInsCVan";
  752. oParam.inds = "req=ds_req";
  753. oParam.outds = "ds_temp_h_cvan=h_cvan";
  754. oParam.async = false;
  755. oParam.callback = "callback";
  756. tranf_submit(oParam);
  757. if (arErrorCode.pop("TXPAO00455") < 0) {
  758. sysf_messageBox("VAN정보를 정상적으로 저장하지 못했습니다.", "E999", "");
  759. return false;
  760. }
  761. dsf_createDsRow('ds_send', [
  762. { col: 'cvan_pid', type: 'string', size: 256, val: ds_main_iptflag.getColumn(0, "pid") },
  763. { col: 'cvan_aprvdd', type: 'string', size: 256, val: ds_main_iptflag.getColumn(0, "aprvdd") },
  764. { col: 'cvan_aprvsrchflag', type: 'string', size: 256, val: "-" },
  765. { col: 'cvan_ioflag', type: 'string', size: 256, val: ds_main_iptflag.getColumn(0, "ioflag") }
  766. ], false);
  767. ds_main_h_cvan.clearData();
  768. var oParam = {};
  769. oParam.id = "TRPAO00453";
  770. oParam.service = "pamcomnapp.PamComn";
  771. oParam.method = "reqGetCardVanNew";
  772. oParam.inds = "req=ds_send";
  773. oParam.outds = "ds_main_h_cvan=h_cvan";
  774. oParam.async = false;
  775. oParam.callback = "callback";
  776. tranf_submit(oParam);
  777. if (arErrorCode.pop("TRPAO00453") < 0) {
  778. sysf_messageBox("VAN정보를 가져오지 못했습니다. 승인내역조회를 하신 후 '강제카드결제'하신 내역을 '카드내역생성'하세요.", "E999", "");
  779. return false;
  780. }
  781. else {
  782. var cnt = ds_main_h_cvan.rowcount;
  783. var aprvflag = '';
  784. var check = true;
  785. if (flag == 'I') {
  786. aprvflag = '12';
  787. }
  788. else {
  789. aprvflag = '22';
  790. }
  791. for (var i = 0; i < cnt; i++) {
  792. if (ds_main_h_cvan.getColumn(i, "cvan_aprvno") == ds_main_card2.getColumn(0, "card_aprvno") &&
  793. ds_main_h_cvan.getColumn(i, "cvan_aprvflag") == aprvflag) {
  794. ds_main_h_cvan.rowposition = i;
  795. check = true;
  796. ds_main_iptflag.setColumn(0, "cardedit", "Y");
  797. frmf_inputEnterKey("checkbox1", "onclick", new ClickEventInfo);
  798. break;
  799. }
  800. check = false;
  801. }
  802. if (check) {
  803. //카드내역 생성
  804. if (fMakeCardAprvSpec()) {
  805. return true;
  806. }
  807. else {
  808. return false;
  809. }
  810. }
  811. else {
  812. sysf_messageBox("VAN정보를 다시 조회하신 후 '강제카드결제'하신 카드내역을 생성하십시요.", "E999", "");
  813. return false;
  814. }
  815. }
  816. }
  817. /**
  818. * [fApproveCard description]
  819. * @return {[type]} [description]
  820. */
  821. function fApproveCard() {
  822. //카드번호,카드회사,유효기간,결제금액,할부개월
  823. var cardno = ds_main_card2.getColumn(0, "card_cardno");
  824. if (cardno == "" || cardno == " " || cardno == "-") {
  825. sysf_messageBox("카드번호가 미입력되었습니다!", "E999", "");
  826. return false;
  827. }
  828. var card_valiterm = ds_main_card2.getColumn(0, "card_valiterm");
  829. if (card_valiterm == "" || card_valiterm == " " || card_valiterm == "-") {
  830. sysf_messageBox("유효기간이 미입력되었습니다!", "E999", "");
  831. return false;
  832. }
  833. var card_cardamt = ds_main_card2.getColumn(0, "card_cardamt");
  834. if (card_cardamt == "" || card_cardamt == " " || card_cardamt == "-") {
  835. sysf_messageBox("카드금액이 미입력되었습니다!", "E999", "");
  836. return false;
  837. }
  838. var card_allotmm = ds_main_card2.getColumn(0, "card_allotmm");
  839. if (card_allotmm == "" || card_allotmm == " " || card_allotmm == "-") {
  840. sysf_messageBox("할부개월이 미입력되었습니다!", "E999", "");
  841. ds_main_card2.setColumn(0, "card_allotmm", '00')
  842. return false;
  843. }
  844. //승인금액 체크
  845. var recardaprv = ds_main_iptflag.getColumn(0, "recardaprv");
  846. var totrcptamt = ds_main_card.getColumn(0, "totrcptamt");
  847. var totcardamt = ds_main_card.getColumn(0, "totcardamt");
  848. var card_cardamt = ds_main_card2.getColumn(0, "card_cardamt");
  849. if (recardaprv != 'Y') {
  850. if (parseInt(ds_main_card.getColumn(0, "totrcptamt")) ==
  851. parseInt(ds_main_card.getColumn(0, "totcardamt"))) {
  852. if (sysf_messageBox("수납대상금액과 카드결제금액이 같습니다. 더이상 카드 수납할 금액이 없습니다. 계속 진행 하시겠습니까?", "Q999", "") != 6) {
  853. return false;
  854. }
  855. }
  856. else if (parseInt(ds_main_card.getColumn(0, "totrcptamt")) <
  857. parseInt(ds_main_card.getColumn(0, "totcardamt")) + parseInt(ds_main_card2.getColumn(0, "card_cardamt"))) {
  858. if (sysf_messageBox("수납대상금액보다 카드결제금액이 많습니다. 계속 진행 하시겠습니까?", "Q999", "") != 6) {
  859. return false;
  860. }
  861. }
  862. else if (parseInt(ds_main_card.getColumn(0, "totrcptamt")) <= 0) {
  863. if (sysf_messageBox("수납대상금액이 0원 이거나 마이너스 금액입니다! 계속 진행 하시겠습니까?", "Q999", "") != 6) {
  864. return false;
  865. }
  866. }
  867. else if (parseInt(ds_main_card2.getColumn(0, "card_cardamt")) == 0) {
  868. sysf_messageBox("결제금액이 0원입니다. 확인하시고 다시 카드승인하세요!", "E999", "");
  869. return false;
  870. }
  871. if (gMulticnt > 1) { //멀티승인
  872. if (parseInt(totrcptamt) - parseInt(totcardamt) != parseInt(card_cardamt)) {
  873. sysf_messageBox("멀티수납시 카드 한 건으로 수납대상금액 전체를 결제해야 합니다!", "E999", "");
  874. return false;
  875. }
  876. }
  877. }
  878. else if (recardaprv == 'Y') {
  879. if (ds_main_c_card.getSum('card_cardamt') != card_cardamt) {
  880. sysf_messageBox("멀티카드수납내역을 변경/취소하기 위한 재승인인 경우에는 재승인할 카드승인금액 합과 결제 금액이 같아야 합니다.", "E999", "");
  881. return false;
  882. }
  883. }
  884. //실제 카드 승인 및 승인 노드 생성
  885. if (!fGetCardAprv()) {
  886. //messageBox("카드 승인 실패했습니다. 다시 시도해 주세요.", "E999", "");
  887. return false;
  888. }
  889. //END..
  890. return true;
  891. }
  892. /**
  893. * [fMakeCardAprvSpec description]
  894. * @return {[type]} [description]
  895. */
  896. function fMakeCardAprvSpec() {
  897. //카드내역생성 - 2008-01-02 이동식
  898. if (ds_main_iptflag.getColumn(0, "cardedit") == 'Y') {
  899. //강제승인할 van 정보가 선택되었는지 확인!
  900. var cvanRow = grd_cvan.currentrow;
  901. if (ds_main_h_cvan.getColumn(cvanRow, "cvan_aprvno") !=
  902. ds_main_card2.getColumn(0, "card_aprvno")) {
  903. sysf_messageBox("van정보를 선택하지 않으셨습니다. 선택 후 다시 시도하세요!", "E999", "");
  904. ds_main_card2.clearData();
  905. return false;
  906. }
  907. //카드승인 내역일 경우
  908. if (ds_main_h_cvan.getColumn(cvanRow, "cvan_aprvflag") == '12') { //신용카드승인
  909. ds_main_card2.setColumn(0, "card_rcptstat", "Y");
  910. //2008-03-14 이동식 추가 - 재승인 노드 생성
  911. if (ds_main_iptflag.getColumn(0, "recardaprv") == 'Y') {
  912. // cardNode = '/root/main/c_card/card';
  913. nodeCnt = ds_main_c_card.rowcount;
  914. //승인할 금액 계산
  915. var cardAmt = ds_main_card.getColumn(0, "aprvcardamt");
  916. //에러 체크 - 금액이 다를 경우 리턴
  917. if (cardAmt != ds_main_card2.getColumn(0, "card_cardamt")) {
  918. sysf_messageBox("선택하신 VAN정보의 금액과 승인해야할 금액 이 다릅니다.", "E999", "");
  919. return false;
  920. }
  921. //카드노드 생성
  922. for (var i = 0; i < nodeCnt; i++) {
  923. //카드 승인 노드 생성.
  924. var idx = ds_main_c_card.addRow();
  925. ds_main_c_card.copyRow(idx, ds_main_card2, 0);
  926. ds_main_c_card.setColumn(idx, "card_cardamt", ds_main_c_card.getColumn(i, "card_cardamt"));
  927. ds_main_c_card.setColumn(idx, "card_pid", ds_main_iptflag.getColumn(0, "pid"));
  928. ds_main_c_card.setColumn(idx, "card_innrtretyn", 'N');
  929. ds_main_c_card.setColumn(idx, "card_preamtyn", 'N');
  930. ds_main_c_card.setColumn(idx, "card_rcptdd", ds_main_c_card.getColumn(i, "card_rcptdd"));
  931. ds_main_c_card.setColumn(idx, "card_rcptno", ds_main_c_card.getColumn(i, "card_rcptno"));
  932. ds_main_c_card.setColumn(idx, "card_rcptseqno", ds_main_c_card.getColumn(i, "card_rcptseqno"));
  933. //카드승인상태 취소('C')로 세팅한다.
  934. ds_main_c_card.setColumn(i, "card_rcptstat", 'C');
  935. }
  936. var oParam = {};
  937. oParam.id = "TXPAO00454";
  938. oParam.service = "opatmngtapp.OPatMngt";
  939. oParam.method = "reqSetMultiCard";
  940. oParam.inds = "req=ds_main_c_card";
  941. oParam.outds = "";
  942. oParam.async = false;
  943. oParam.callback = "callback";
  944. tranf_submit(oParam);
  945. if (arErrorCode.pop("TXPAO00454") > -1) {
  946. ds_main_iptflag.setColumn(0, "recardaprv", "");
  947. sysf_messageBox("정상적으로 재승인 처리되었습니다! 이전 승인내역을 취소하세요!", "I999", "");
  948. return true;
  949. }
  950. else {
  951. sysf_messageBox("카드승인 정보를 서버에 저장하는데 실패했습니다. '카드내역II' 탭의 '저장' 버튼을 눌러 승인정보를 저장해 주세요!", "E999", "");
  952. return false;
  953. }
  954. }
  955. else { //if( ds_main_iptflag.getColumn(0, "recardaprv") == 'Y' ){
  956. //2008-03-14 이동식 수정 - 정상 카드 노드 생성
  957. var multiCnt = 0;
  958. var nodeCnt = ds_main_h_card.rowcount;
  959. // var cardNode = '/root/main/h_card/card';
  960. if (gMulticnt > 0) {
  961. //일반 멀티 내역!!
  962. //카드노드 생성
  963. multiCnt = ds_main_m_opmi.rowcount;
  964. var check = 'N';
  965. for (var i = 0; i < multiCnt; i++) {
  966. if (ds_main_m_opmi.getColumn(i, "opmi_cashamt") != 0) {
  967. for (var inner = 0; inner < multiCnt; inner++) {
  968. if (ds_main_h_card.getColumn(inner, "card_mseqno") == ds_main_m_opmi.getColumn(i, "opmi_mseqno") &&
  969. ds_main_h_card.getColumn(inner, "card_aprvno") == ds_main_card2.getColumn(0, "card_aprvno")) {
  970. check = 'Y';
  971. break;
  972. }
  973. else {
  974. check = 'N';
  975. }
  976. }
  977. if (check != 'N') {
  978. continue;
  979. }
  980. //카드 승인 노드 생성.
  981. // nodeCnt = parseInt(nodeCnt) + 1;
  982. var idx = ds_main_h_card.addRow();
  983. dsf_makeValue(ds_main_h_card, "card_mseqno", 'string', ds_main_m_opmi.getColumn(i, "opmi_mseqno"), idx);
  984. ds_main_h_card.appendData(ds_main_card2, true);
  985. ds_main_h_card.setColumn(idx, "card_pid", ds_main_iptflag.getColumn(0, "pid"));
  986. ds_main_h_card.setColumn(idx, "card_innrtretyn", 'N');
  987. ds_main_h_card.setColumn(idx, "card_preamtyn", 'N');
  988. ds_main_h_card.setColumn(idx, "card_rcptdd", '');
  989. ds_main_h_card.setColumn(idx, "card_rcptno", '');
  990. if (eval(gMulticnt) > 1) {
  991. ds_main_h_card.setColumn(idx, "card_cardamt", ds_main_m_opmi.getColumn(i, "opmi_cashamt"));
  992. }
  993. }
  994. }
  995. }
  996. else {
  997. ds_main_h_card.appendData(ds_main_card2, true);
  998. // 추가된 젤 마지막 행을 선택한다
  999. var idx = ds_main_h_card.rowcount - 1;
  1000. ds_main_h_card.setColumn(idx, "card_pid", ds_main_iptflag.getColumn(0, "pid"));
  1001. ds_main_h_card.setColumn(idx, "card_innrtretyn", 'N');
  1002. ds_main_h_card.setColumn(idx, "card_preamtyn", 'N');
  1003. ds_main_h_card.setColumn(idx, "card_rcptdd", '');
  1004. ds_main_h_card.setColumn(idx, "card_rcptno", '');
  1005. }
  1006. }
  1007. }
  1008. else if (ds_main_h_cvan.getColumn(cvanRow, "cvan_aprvflag") == '22') { //신용카드취소
  1009. sysf_messageBox("취소이력은 카드내역 복사 할 수 없습니다.!!", "E999", "");
  1010. return false;
  1011. }
  1012. }
  1013. fInit2();
  1014. return true;
  1015. }
  1016. /**
  1017. * [fCnclCardAprv description]
  1018. * @return {[type]} [description]
  1019. */
  1020. function fCnclCardAprv() {
  1021. var cardAmt = 0;
  1022. var aprvno = ds_main_card2.getColumn(0, "card_aprvno");
  1023. var cVanCncl = ds_main_iptflag.getColumn(0, "cvancncl");
  1024. cardAmt = ds_main_card.getColumn(0, "aprvcardamt");
  1025. if (cardAmt != ds_main_card2.getColumn(0, "card_cardamt")) {
  1026. if (sysf_messageBox("총 승인취소 금액은 [" + cardAmt + "원] 입니다. 계속 진행하시겠습니까?", "Q999", "") != 6) {
  1027. return false;
  1028. }
  1029. }
  1030. //카드승인 취소 처리
  1031. fAppCardVanData(ds_main_card2.getColumn(0, "card_vancd") //data1 //vangb van사구분 model.getValue("/root/main/h_card/card[" + currow + "]/card_vancd")
  1032. , "21" //data2 //ordergb 거래구분-카드취소요청
  1033. , utlf_getCurrentDate() //data3 //mdate 회계일자
  1034. , ds_main_iptflag.getColumn(0, "pid") //data4 //pano 등록번호
  1035. , ds_main_iptflag.getColumn(0, "ioflag") //data5 //iogb 입외구분
  1036. , '' //data6 //deptcode 진료과코드
  1037. , ds_main_h_cvan.getColumn(0, "cvan_aprvdd") //data7 //diagdate 진료일자
  1038. , ds_hidden_session.getColumn(0, "sess_userid") //data8 //clientid 수납자
  1039. // ,'K' //data9 //entrymode 입력구분
  1040. , ds_main_card2.getColumn(0, "card_keyinptflag") //data9 //entrymode 입력구분
  1041. , ds_main_card.getColumn(0, "swipedata") //data10 //track2data 트랙data
  1042. , ds_main_card2.getColumn(0, "card_cardno") //data11 //cardnumber 카드번호 model.getValue("/root/main/h_card/card[" + currow + "]/card_cardno")
  1043. , ds_main_card2.getColumn(0, "card_valiterm") //data12 //cardperiod 유효기간 model.getValue("/root/main/h_card/card[" + currow + "]/card_valiterm")
  1044. , ds_main_card2.getColumn(0, "card_allotmm") //data13 //carddivide 할부개월수 model.getValue("/root/main/h_card/card[" + currow + "]/card_allotmm")
  1045. , cardAmt //data14 //netamt 금액
  1046. , ds_main_card2.getColumn(0, "card_aprvdd") //data15 //oldappdate 원거래승인일자(취소시) model.getValue("/root/main/h_card/card[" + currow + "]/card_aprvdd")
  1047. , ds_main_card2.getColumn(0, "card_aprvtm") //data16 //oldapptime 원거래승인시간(취소시) model.getValue("/root/main/h_card/card[" + currow + "]/card_aprvtm")
  1048. , ds_main_card2.getColumn(0, "card_aprvno") //data17 //oldappno 원거래승인번호(취소시) model.getValue("/root/main/h_card/card[" + currow + "]/card_aprvno")
  1049. );
  1050. if (ds_tmp_appvanif.getColumn(0, "replystat") != "0000") {
  1051. //messageBox("카드취소승인실패 => "+ ds_tmp_appvanif.getColumn(0, "cardname") ,"E999","");
  1052. return false;
  1053. }
  1054. else {
  1055. //전자서명 처리
  1056. var parm = ds_main_iptflag.getColumn(0, "pid") + "▦" + //PID model.getValue("/root/main/h_card/card[" + currow + "]/card_pid")
  1057. cardAmt + "▦" + //수납대상금액 model.getValue("/root/main/h_card/card[" + currow + "]/card_cardamt")
  1058. "22" + "▦" + //승인구분
  1059. ds_tmp_appvanif.getColumn(0, "approvaldate") + "▦" + //승인일자
  1060. ds_tmp_appvanif.getColumn(0, "approvaltime") + "▦" + //승인시간
  1061. ds_tmp_appvanif.getColumn(0, "approvalno") + "▦" + //승인번호
  1062. ds_hidden_session.getColumn(0, "sess_posinstcd") + "▦"; //기관코드
  1063. frmf_setParameter("SPPAO02101_PARM", parm);
  1064. frmf_modal("SPPAO02101", "SPPAO02101", "", "", "", "", "", "", "", "", "", "", "M");
  1065. }
  1066. //2008-01-02 이동식 추가 - 승인내역취소일 경우
  1067. if (cVanCncl == 'Y') {
  1068. return true;
  1069. }
  1070. //END...
  1071. var m_otpt = ds_main_m_opmi.rowcount;
  1072. var c_card = ds_main_c_card.rowcount;
  1073. var aprvno = ds_main_card2.getColumn(0, "card_aprvno");
  1074. var nodeCnt = ds_main_h_card.rowcount;
  1075. if (m_otpt > 0) {
  1076. for (var i = 0; i < m_otpt; i++) {
  1077. for (var inner = 0; inner <= nodeCnt; inner++) {
  1078. if (ds_main_m_opmi.getColumn(i, "opmi_mseqno") == ds_main_h_card.getColumn(inner, "card_mseqno") &&
  1079. aprvno == ds_main_h_card.getColumn(inner, "card_aprvno") &&
  1080. ds_main_h_card.getColumn(inner, "card_rcptstat") == 'Y') {
  1081. //기존 카드노드 취소 처리
  1082. ds_main_h_card.setColumn(inner, "card_rcptstat", "C");
  1083. //승인취소 노드 생성
  1084. currow2 = ds_main_h_card.addRow();
  1085. //카드승인정보는 추후 받아온 데이터 로 처리
  1086. dsf_makeValue(ds_main_h_card, "card_mseqno", 'string', ds_main_m_opmi.getColumn(i, "opmi_mseqno"), currow2);
  1087. dsf_makeValue(ds_main_h_card, "card_pid", 'string', ds_main_iptflag.getColumn(0, "pid"), currow2);
  1088. dsf_makeValue(ds_main_h_card, "card_rcptdd", 'string', '', currow2);
  1089. dsf_makeValue(ds_main_h_card, "card_rcptno", 'string', '0', currow2);
  1090. dsf_makeValue(ds_main_h_card, "card_rcptseqno", 'string', '0', currow2);
  1091. dsf_makeValue(ds_main_h_card, "card_seqno", 'string', '0', currow2);
  1092. dsf_makeValue(ds_main_h_card, "card_instcd", 'string', ds_hidden_session.getColumn(0, "sess_posinstcd"), currow2);
  1093. dsf_makeValue(ds_main_h_card, "card_rcptstat", 'string', 'D', currow2);
  1094. dsf_makeValue(ds_main_h_card, "card_ordtype", 'string', gOrdtype, currow2);
  1095. //키입력구분
  1096. dsf_makeValue(ds_main_h_card, "card_keyinptflag", 'string', ds_main_card2.getColumn(0, "card_keyinptflag"), currow2);
  1097. //매입처코드
  1098. dsf_makeValue(ds_main_h_card, "card_cardcmpycd", 'string', ds_tmp_appvanif.getColumn(0, "bankid"), currow2);
  1099. //카드번호
  1100. dsf_makeValue(ds_main_h_card, "card_cardno", 'string', ds_main_card2.getColumn(0, "card_cardno"), currow2);
  1101. //12:카드승인응답
  1102. dsf_makeValue(ds_main_h_card, "card_aprvflag", 'string', "22", currow2);
  1103. //승인일자
  1104. dsf_makeValue(ds_main_h_card, "card_aprvdd", 'string', ds_tmp_appvanif.getColumn(0, "approvaldate"), currow2);
  1105. //승인시간
  1106. dsf_makeValue(ds_main_h_card, "card_aprvtm", 'string', ds_tmp_appvanif.getColumn(0, "approvaltime"), currow2);
  1107. //승인번호
  1108. dsf_makeValue(ds_main_h_card, "card_aprvno", 'string', ds_tmp_appvanif.getColumn(0, "approvalno"), currow2);
  1109. //VAN사구분
  1110. dsf_makeValue(ds_main_h_card, "card_vancd", 'string', ds_tmp_appvanif.getColumn(0, "vangb"), currow2);
  1111. //할부
  1112. dsf_makeValue(ds_main_h_card, "card_allotmm", 'string', ds_main_card2.getColumn(0, "card_allotmm"), currow2);
  1113. if (m_otpt == 1) {
  1114. dsf_makeValue(ds_main_h_card, "card_cardamt", 'string', parseInt(cardAmt) * -1, currow2);
  1115. }
  1116. else {
  1117. dsf_makeValue(ds_main_h_card, "card_cardamt", 'string', parseInt(ds_main_m_opmi.getColumn(i, "opmi_cashamt")) * -1, currow2);
  1118. }
  1119. //유효일자
  1120. dsf_makeValue(ds_main_h_card, "card_valiterm", 'string', ds_main_card2.getColumn(0, "card_valiterm"), currow2);
  1121. dsf_makeValue(ds_main_h_card, "card_rcptexecdd", 'string', '', currow2);
  1122. dsf_makeValue(ds_main_h_card, "card_rcpttm", 'string', '', currow2);
  1123. dsf_makeValue(ds_main_h_card, "card_rcptrid", 'string', '', currow2);
  1124. dsf_makeValue(ds_main_h_card, "card_innrtretyn", 'string', "N", currow2);
  1125. dsf_makeValue(ds_main_h_card, "card_preamtyn", 'string', "N", currow2);
  1126. dsf_makeValue(ds_main_h_card, "card_remfact", 'string', '', currow2);
  1127. dsf_makeValue(ds_main_h_card, "card_fstrgstrid", 'string', '', currow2);
  1128. dsf_makeValue(ds_main_h_card, "card_fstrgstdt", 'string', '', currow2);
  1129. dsf_makeValue(ds_main_h_card, "card_lastupdtrid", 'string', '', currow2);
  1130. dsf_makeValue(ds_main_h_card, "card_lastupdtdt", 'string', '', currow2);
  1131. break;
  1132. } //if( model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_mseqno") == model.getValue("/root/main/h_card/card["+ inner +"]/card_mseqno")
  1133. } //for( var inner = 1; inner <= nodeCnt; inner++ ){
  1134. } //end for (var i=0; i < m_otpt ; i++)
  1135. }
  1136. else {
  1137. currow2 = ds_main_h_card.addRow();;
  1138. dsf_makeValue(ds_main_h_card, "card_pid", 'string', ds_main_iptflag.getColumn(0, "pid"), currow2);
  1139. dsf_makeValue(ds_main_h_card, "card_rcptdd", 'string', '', currow2);
  1140. dsf_makeValue(ds_main_h_card, "card_rcptno", 'string', '0', currow2);
  1141. dsf_makeValue(ds_main_h_card, "card_rcptseqno", 'string', '0', currow2);
  1142. dsf_makeValue(ds_main_h_card, "card_seqno", 'string', '0', currow2);
  1143. dsf_makeValue(ds_main_h_card, "card_instcd", 'string', ds_hidden_session.getColumn(0, "sess_posinstcd"), currow2);
  1144. dsf_makeValue(ds_main_h_card, "card_rcptstat", 'string', 'D', currow2);
  1145. dsf_makeValue(ds_main_h_card, "card_ordtype", 'string', gOrdtype, currow2);
  1146. //키입력구분
  1147. dsf_makeValue(ds_main_h_card, "card_keyinptflag", 'string', ds_main_card2.getColumn(0, "card_keyinptflag"), currow2);
  1148. //매입처코드
  1149. dsf_makeValue(ds_main_h_card, "card_cardcmpycd", 'string', ds_tmp_appvanif.getColumn(0, "bankid"), currow2);
  1150. //카드번호
  1151. dsf_makeValue(ds_main_h_card, "card_cardno", 'string', ds_main_card2.getColumn(0, "card_cardno"), currow2);
  1152. //12:카드승인응답
  1153. dsf_makeValue(ds_main_h_card, "card_aprvflag", 'string', "22", currow2);
  1154. //승인일자
  1155. dsf_makeValue(ds_main_h_card, "card_aprvdd", 'string', ds_tmp_appvanif.getColumn(0, "approvaldate"), currow2);
  1156. //승인시간
  1157. dsf_makeValue(ds_main_h_card, "card_aprvtm", 'string', ds_tmp_appvanif.getColumn(0, "approvaltime"), currow2);
  1158. //승인번호
  1159. dsf_makeValue(ds_main_h_card, "card_aprvno", 'string', ds_tmp_appvanif.getColumn(0, "approvalno"), currow2);
  1160. //VAN사구분
  1161. dsf_makeValue(ds_main_h_card, "card_vancd", 'string', ds_tmp_appvanif.getColumn(0, "vangb"), currow2);
  1162. //할부
  1163. dsf_makeValue(ds_main_h_card, "card_allotmm", 'string', ds_main_card2.getColumn(0, "card_allotmm"), currow2);
  1164. dsf_makeValue(ds_main_h_card, "card_cardamt", 'string', parseInt(cardAmt) * -1, currow2);
  1165. //유효일자
  1166. dsf_makeValue(ds_main_h_card, "card_valiterm", 'string', ds_main_card2.getColumn(0, "card_valiterm"), currow2);
  1167. dsf_makeValue(ds_main_h_card, "card_rcptexecdd", 'string', '', currow2);
  1168. dsf_makeValue(ds_main_h_card, "card_rcpttm", 'string', '', currow2);
  1169. dsf_makeValue(ds_main_h_card, "card_rcptrid", 'string', '', currow2);
  1170. dsf_makeValue(ds_main_h_card, "card_innrtretyn", 'string', "N", currow2);
  1171. dsf_makeValue(ds_main_h_card, "card_preamtyn", 'string', "N", currow2);
  1172. dsf_makeValue(ds_main_h_card, "card_remfact", 'string', '', currow2);
  1173. dsf_makeValue(ds_main_h_card, "card_fstrgstrid", 'string', '', currow2);
  1174. dsf_makeValue(ds_main_h_card, "card_fstrgstdt", 'string', '', currow2);
  1175. dsf_makeValue(ds_main_h_card, "card_lastupdtrid", 'string', '', currow2);
  1176. dsf_makeValue(ds_main_h_card, "card_lastupdtdt", 'string', '', currow2);
  1177. var nodeCount = ds_main_h_card.rowcount;
  1178. for (var i = 0; i < nodeCount; i++) {
  1179. if (aprvno == ds_main_h_card.getColumn(i, "card_aprvno") &&
  1180. ds_main_h_card.getColumn(i, "card_rcptstat") == 'Y') {
  1181. ds_main_h_card.setColumn(i, "card_rcptstat", "C");
  1182. dsf_makeValue(ds_main_h_card, "card_cardamt", 'string', parseInt(ds_main_h_card.getColumn(i, "card_cardamt")) * -1);
  1183. }
  1184. }
  1185. }
  1186. return true;
  1187. }
  1188. /**
  1189. * [fAfterChangeCardNo description]
  1190. * @return {[type]} [description]
  1191. */
  1192. function fAfterChangeCardNo() {
  1193. var cardno = String(ds_main_card2.getColumn(0, 'card_cardno'));
  1194. if (cardno.length > 16) {
  1195. //16자리보다 크면,
  1196. // "="이 있으면, swipe
  1197. if (cardno.indexOf("=") > 0) {
  1198. var vSwipeData = "";
  1199. var vCardno_array = "";
  1200. var vCardno = "";
  1201. vSwipeData = cardno;
  1202. // swipe 시 첫글자에 ?
  1203. if (vSwipeData.indexOf("?") >= 0) {
  1204. vSwipeData = (vSwipeData).substr(1, 37);
  1205. }
  1206. if (vSwipeData.indexOf("/") >= 0) {
  1207. vSwipeData = (vSwipeData).substr(1, 37);
  1208. }
  1209. ds_main_card.setColumn(0, "swipedata", vSwipeData);
  1210. vCardno_array = vSwipeData.split("=");
  1211. vCardno = String(vCardno_array[0]);
  1212. // swipe 시 첫글자에 ?
  1213. if (vCardno.indexOf("?") >= 0) {
  1214. vCardno = (vCardno).substr(1, 16);
  1215. }
  1216. if (vCardno.indexOf("/") >= 0) {
  1217. vCardno = (vCardno).substr(1, 16);
  1218. }
  1219. //유효일자
  1220. var vValiterm = String(vCardno_array[1]).substr(0, 4);
  1221. ds_main_card2.setColumn(0, "card_cardno", vCardno);
  1222. ds_main_card2.setColumn(0, "card_keyinptflag", "S");
  1223. ds_main_card2.setColumn(0, "card_valiterm", vValiterm);
  1224. ds_main_card2.setColumn(0, "card_allotmm", "00");
  1225. ipt_allotmm.setFocus();
  1226. }
  1227. }
  1228. else if ((ipt_cardno.currentText).length == 16) {
  1229. ds_main_card2.setColumn(0, "card_cardno", cardno);
  1230. ds_main_card2.setColumn(0, "card_keyinptflag", "K");
  1231. ds_main_card2.setColumn(0, "card_allotmm", "00");
  1232. ipt_valiterm.setFocus();
  1233. }
  1234. }
  1235. /**
  1236. * submit 후 호출 될 공통 콜백
  1237. * @param {[type]} sSvcId [description]
  1238. * @param {[type]} nErrorCode [description]
  1239. * @param {[type]} sErrorMsg [description]
  1240. * @return {Function} [description]
  1241. */
  1242. function callback(sSvcId, nErrorCode, sErrorMsg){
  1243. arErrorCode.push(sSvcId, nErrorCode);
  1244. }
  1245. //=======================================================================================
  1246. // Events
  1247. //---------------------------------------------------------------------------------------
  1248. /**
  1249. * onload 이벤트 발생 시 호출
  1250. * @param {[type]} obj:Form [description]
  1251. * @param {[type]} e:LoadEventInfo [description]
  1252. */
  1253. function SPPAO00402_onload(obj: Form, e: LoadEventInfo) {
  1254. frmf_initForm(obj);
  1255. fInit();
  1256. }
  1257. /**
  1258. * [입력구분] 강제카드결제 체크박스 클릭 이벤트
  1259. * @param {[type]} obj: CheckBox [description]
  1260. * @param {[type]} e: ClickEventInfo [description]
  1261. * @return {[type]} [description]
  1262. */
  1263. function div_type_chk_onlycard_onclick(obj: CheckBox, e: ClickEventInfo) {
  1264. var onlycard = ds_main_iptflag.getColumn(0, "cardaprv");
  1265. if (onlycard == 'Y') {
  1266. sysf_messageBox("강제카드결제를 선택 하셨습니다. \nVAN정보를 정확히 입력하신 후 '카드승인' 또는 '승인취소' 버튼을 누르세요.", "I999", "");
  1267. ds_main_card2.setColumn(0, "card_keyinptflag", "K");
  1268. }
  1269. else {
  1270. sysf_messageBox("강제카드결제를 선택해제 하셨습니다. \n실제 '카드승인' 또는 '승인취소' 합니다.", "I999", "");
  1271. }
  1272. ds_main_iptflag.setColumn(0, "cvancncl", "");
  1273. btn_cardaprv.enable = true;
  1274. ds_main_iptflag.setColumn(0, "cardedit", "");
  1275. btn_makecardaprv.visible = false;
  1276. btn_cardaprv.visible = true;
  1277. btn_cardcncl.visible = true;
  1278. }
  1279. /**
  1280. * 입력 버튼 클릭 이벤트
  1281. * @param {[type]} obj: Button [description]
  1282. * @param {[type]} e: ClickEventInfo [description]
  1283. * @return {[type]} [description]
  1284. */
  1285. function btn_clear_onclick(obj: Button, e: ClickEventInfo) {
  1286. fInit2();
  1287. }
  1288. /**
  1289. * 카드승인 버튼 클릭 이벤트
  1290. * @param {[type]} obj: Button [description]
  1291. * @param {[type]} e: ClickEventInfo [description]
  1292. * @return {[type]} [description]
  1293. */
  1294. function btn_cardaprv_onclick(obj: Button, e: ClickEventInfo) {
  1295. var pid = utlf_transNullToEmpty(ds_main_iptflag.getColumn(0, 'pid'));
  1296. if (pid == '' || pid == '-' || ds_main_h_cvan.rowcount < 1) {
  1297. sysf_messageBox("환자번호를 입력하여 VAN 정보를 조회하세요!!", "E999", "");
  1298. return false;
  1299. }
  1300. else if (grd_cvan.currentrow < 0 && ds_main_c_card.rowcount < 1) {
  1301. sysf_messageBox("카드 변경할 VAN 정보를 선택하세요!!", "E999", "");
  1302. return false;
  1303. }
  1304. if (ds_main_card.getColumn(0, "aprvcardamt") != ds_main_card2.getColumn(0, "card_cardamt")) {
  1305. sysf_messageBox("승인할 총 합이랑 현재 승인금액이랑 다릅니다! 금액을 확인 후 다시 시도하세요!", "E999", "");
  1306. return false;
  1307. }
  1308. //강제카드결제 - 2008-01-25 이동식
  1309. if (ds_main_iptflag.getColumn(0, "cardaprv") == 'Y') {
  1310. if (!fForceCardAprv("I")) {
  1311. return false;
  1312. }
  1313. ds_main_iptflag.setColumn(0, "cardaprv", '');
  1314. return true;
  1315. }
  1316. //end..
  1317. //승인내역취소 - 2008-01-02 이동식 (에러상황)
  1318. if (ds_main_iptflag.getColumn(0, "cvancncl") == 'Y') {
  1319. sysf_messageBox("'승인내역취소'을 선택하고 카드승인을 할 수 없습니다. 선택 해제하고 다시 시도하세요!", "E999", "");
  1320. ds_main_card2.clearData();
  1321. ds_main_card2.addRow();
  1322. return false;
  1323. //정상승인
  1324. }
  1325. else {
  1326. //멀티접수 변경/취소 시 재승인 체크
  1327. if (ds_main_iptflag.getColumn(0, "recardaprv") == 'Y') {
  1328. // do nothing
  1329. }
  1330. if (!fApproveCard()) {
  1331. return false;
  1332. }
  1333. }
  1334. fInit2();
  1335. }
  1336. /**
  1337. * 카드승인내역생성 버튼 클릭 이벤트
  1338. * @param {[type]} obj: Button [description]
  1339. * @param {[type]} e: ClickEventInfo [description]
  1340. * @return {[type]} [description]
  1341. */
  1342. function btn_makecardaprv_onclick(obj: Button, e: ClickEventInfo) {
  1343. fMakeCardAprvSpec();
  1344. }
  1345. /**
  1346. * 승인취소 버튼 클릭 이벤트
  1347. * @param {[type]} obj: Button [description]
  1348. * @param {[type]} e: ClickEventInfo [description]
  1349. * @return {[type]} [description]
  1350. */
  1351. function btn_cardcncl_onclick(obj: Button, e: ClickEventInfo) {
  1352. var value = utlf_transNullToEmpty(ds_main_iptflag.getColumn(0, 'pid'));
  1353. if (value == '' || value == '-' || ds_main_h_cvan.rowcount < 1) {
  1354. sysf_messageBox("환자번호를 입력하여 VAN 정보를 조회하세요!!", "E999", "");
  1355. return false;
  1356. }
  1357. else if (grd_cvan.currentrow < 0 && ds_main_c_card.rowcount < 1) {
  1358. sysf_messageBox("카드 변경할 VAN 정보를 선택하세요!!", "E999", "");
  1359. return false;
  1360. }
  1361. if (ds_main_iptflag.getColumn(0, "cvancncl") != 'Y') {
  1362. sysf_messageBox("[승인내역취소] 체크 선택하시고 취소할 VAN 정보를 선택하신 후 다시 [승인취소]하세요!", "E999", "");
  1363. return false;
  1364. }
  1365. //강제카드결제 - 2008-01-25 이동식
  1366. if (ds_main_iptflag.getColumn(0, "cardaprv") == 'Y') {
  1367. if (!fForceCardAprv("D")) {
  1368. return false;
  1369. }
  1370. ds_main_iptflag.setColumn(0, "cardaprv", '');
  1371. return true;
  1372. }
  1373. //end..
  1374. //멀티접수 변경/취소 시 재승인 체크
  1375. if (ds_main_iptflag.getColumn(0, "recardaprv") == 'Y') {
  1376. if (sysf_messageBox("카드변경 변경시 재승인이 먼저 입니다. 계속 하시겠습니까?", "Q999", "") != 6) {
  1377. return false;
  1378. }
  1379. }
  1380. //승인내역취소 - 2008-01-02 이동식
  1381. if (ds_main_iptflag.getColumn(0, "cvancncl") == 'Y') {
  1382. //강제승인할 van 정보가 선택되었는지 확인!
  1383. var cvanRow = grd_cvan.currentrow;
  1384. if (ds_main_h_cvan.getColumn(cvanRow, "cvan_aprvno") !=
  1385. ds_main_card2.getColumn(0, "card_aprvno")) {
  1386. sysf_messageBox("van정보를 선택하지 않으셨습니다. 선택 후 다시 시도하세요!", "E999", "");
  1387. ds_main_card2.clearData();
  1388. ds_main_card2.addRow();
  1389. return false;
  1390. //카드승인 van 정보가 맞는지 확인한다.
  1391. }
  1392. else if (ds_main_h_cvan.getColumn(cvanRow, "cvan_aprvflag") != '12') { //신용카드취소
  1393. sysf_messageBox("선택하신 van정보는 승인취소할 수 없습니다. 이미 승인취소된 내역인지 확인하신 후 다시 시도하세요!", "E999", "");
  1394. ds_main_card2.clearData();
  1395. ds_main_card2.addRow();
  1396. return false;
  1397. }
  1398. //승인취소로직 호출
  1399. if (!fCancelCard()) {
  1400. return false;
  1401. }
  1402. }
  1403. //2008-09-10 이동식 수정
  1404. //카드 승인 후 VAN정보 재조회
  1405. dsf_createDsRow('ds_send', [
  1406. {col: 'cvan_pid', type: 'string', size: 256, val: ds_main_iptflag.getColumn(0, "pid") },
  1407. {col: 'cvan_aprvdd', type: 'string', size: 256, val: ds_main_iptflag.getColumn(0, "aprvdd") },
  1408. {col: 'cvan_aprvsrchflag', type: 'string', size: 256, val: '-' },
  1409. {col: 'cvan_ioflag', type: 'string', size: 256, val: ds_main_iptflag.getColumn(0, "ioflag") }
  1410. ], false);
  1411. ds_main_h_cvan.clearData();
  1412. var oParam = {};
  1413. oParam.id = "TRPAO00453";
  1414. oParam.service = "pamcomnapp.PamComn";
  1415. oParam.method = "reqGetCardVanNew";
  1416. oParam.inds = "req=ds_send";
  1417. oParam.outds = "ds_main_h_cvan=h_cvan";
  1418. oParam.async = false;
  1419. oParam.callback = "callback";
  1420. tranf_submit(oParam);
  1421. if (arErrorCode.pop("TRPAO00453") < 0) {
  1422. sysf_messageBox("VAN정보를 가져오지 못했습니다. 승인된 VAN내역을 확인하시려면 [VAN정보]탭의 '승인내역조회'를 해주세요.", "E999", "");
  1423. return false;
  1424. }
  1425. fInit2();
  1426. }
  1427. /**
  1428. * [승인정보] 카드번호 키보드 입력 이벤트
  1429. * @param {[type]} obj: Edit [description]
  1430. * @param {[type]} e: KeyEventInfo [description]
  1431. * @return {[type]} [description]
  1432. */
  1433. function ipt_cardno_onkeydown(obj: Edit, e: KeyEventInfo) {
  1434. if (e.keycode == 13) {
  1435. obj.updateToDataset();
  1436. fAfterChangeCardNo();
  1437. }
  1438. }
  1439. /**
  1440. * [승인정보] 유효기간 포커스 상실 후 이벤트
  1441. * @param {[type]} obj:Edit [description]
  1442. * @param {[type]} e:KillFocusEventInfo [description]
  1443. * @return {[type]} [description]
  1444. */
  1445. function ipt_valiterm_onkillfocus(obj: Edit, e: KillFocusEventInfo) {
  1446. ipt_allotmm.setFocus();
  1447. }
  1448. /**
  1449. * [승인구분] 결제금액 ipt_cardamt 키보드 입력 이벤트
  1450. * @param {[type]} obj: MaskEdit [description]
  1451. * @param {[type]} e: KeyEventInfo [description]
  1452. * @return {[type]} [description]
  1453. */
  1454. function ipt_cardamt_onkeydown(obj: MaskEdit, e: KeyEventInfo) {
  1455. if (e.keycode == 13) {
  1456. obj.updateToDataset();
  1457. var subtotalamt = parseInt(ds_main_card.getColumn(0, "totrcptamt")) -
  1458. parseInt(ds_main_card.getColumn(0, "totcardamt")) -
  1459. parseInt(ds_main_card2.getColumn(0, "card_cardamt"));
  1460. ds_main_card.setColumn(0, "subtotalamt", subtotalamt);
  1461. input5.setFocus();
  1462. ipt_cardamt.setFocus();
  1463. }
  1464. }
  1465. /**
  1466. * [div_register] 등록번호 키보드 입력 이벤트
  1467. * @param {[type]} obj: Edit [description]
  1468. * @param {[type]} e: KeyEventInfo [description]
  1469. * @return {[type]} [description]
  1470. */
  1471. function div_register_ipt_pid_onkeydown(obj: Edit, e: KeyEventInfo) {
  1472. if (e.keycode == 13) {
  1473. obj.updateToDataset();
  1474. div_register.button1.click();
  1475. }
  1476. }
  1477. /**
  1478. * [div_register] 포커스 상실 이벤트
  1479. * @param {[type]} obj: Edit [description]
  1480. * @param {[type]} e: KillFocusEventInfo [description]
  1481. * @return {[type]} [description]
  1482. */
  1483. function div_register_ipt_pid_onkillfocus(obj: Edit, e: KillFocusEventInfo) {
  1484. gPid = ds_main_iptflag.getColumn(0, "pid");
  1485. }
  1486. /**
  1487. * [div_register] radio1 아이템 변경 후 이벤트
  1488. * @param {[type]} obj: Radio [description]
  1489. * @param {[type]} e: ItemChangeEventInfo [description]
  1490. * @return {[type]} [description]
  1491. */
  1492. function div_register_radio1_onitemchanged(obj: Radio, e: ItemChangeEventInfo) {
  1493. gOrdtype = e.postvalue;
  1494. }
  1495. /**
  1496. * [div_register] 승인내역조회 버튼 클릭 이벤트
  1497. * @param {[type]} obj: Button [description]
  1498. * @param {[type]} e: ClickEventInfo [description]
  1499. * @return {[type]} [description]
  1500. */
  1501. function div_register_button1_onclick(obj: Button, e: ClickEventInfo) {
  1502. //2007-12-26 이동식 추가 : 밴정보 조회
  1503. dsf_createDsRow('ds_send', [
  1504. { col: 'cvan_pid', type: 'string', size: 256, val: ds_main_iptflag.getColumn(0, "pid") },
  1505. { col: 'cvan_aprvdd', type: 'string', size: 256, val: ds_main_iptflag.getColumn(0, "aprvdd") },
  1506. { col: 'cvan_aprvsrchflag', type: 'string', size: 256, val: ds_main_iptflag.getColumn(0, "aprvsrchflag") },
  1507. { col: 'cvan_ioflag', type: 'string', size: 256, val: ds_main_iptflag.getColumn(0, "ioflag") },
  1508. { col: 'cvan_pregdmndyn', type: 'string', size: 256, val: '' }
  1509. ], false);
  1510. ds_main_h_cvan.clearData();
  1511. var oParam = {};
  1512. oParam.id = "TRPAO00453";
  1513. oParam.service = "pamcomnapp.PamComn";
  1514. oParam.method = "reqGetCardVanNew";
  1515. oParam.inds = "req=ds_send";
  1516. oParam.outds = "ds_main_h_cvan=h_cvan";
  1517. oParam.async = false;
  1518. tranf_submit(oParam);
  1519. }
  1520. /**
  1521. * checkbox1 아이템 클릭 이벤트
  1522. * @param {[type]} obj: CheckBox [description]
  1523. * @param {[type]} e: ClickEventInfo [description]
  1524. * @return {[type]} [description]
  1525. */
  1526. function checkbox1_onclick(obj: CheckBox, e: ClickEventInfo) {
  1527. obj.updateToDataset();
  1528. ds_main_iptflag.setColumn(0, "cardaprv", "");
  1529. ds_main_iptflag.setColumn(0, "cvancncl", "");
  1530. btn_cardaprv.enable = true;
  1531. if (ds_main_iptflag.getColumn(0, "cardedit") == 'Y') {
  1532. btn_makecardaprv.visible = true;
  1533. btn_cardaprv.visible = false;
  1534. btn_cardcncl.visible = false;
  1535. }
  1536. else {
  1537. btn_makecardaprv.visible = false;
  1538. btn_cardaprv.visible = true;
  1539. btn_cardcncl.visible = true;
  1540. }
  1541. }
  1542. /**
  1543. * checkbox2 아이템 클릭 이벤트
  1544. * @param {[type]} obj: CheckBox [description]
  1545. * @param {[type]} e: ClickEventInfo [description]
  1546. * @return {[type]} [description]
  1547. */
  1548. function checkbox2_onclick(obj: CheckBox, e: ClickEventInfo) {
  1549. obj.updateToDataset();
  1550. ds_main_iptflag.setColumn(0, "cardaprv", "");
  1551. ds_main_iptflag.setColumn(0, "cvancncl", "");
  1552. btn_makecardaprv.visible = false;
  1553. btn_cardaprv.visible = true;
  1554. btn_cardcncl.visible = true;
  1555. if (ds_main_iptflag.getColumn(0, "cvancncl") == 'Y') {
  1556. btn_cardaprv.enable = false;
  1557. //btn_cardcncl.disable = true;
  1558. }
  1559. else {
  1560. btn_cardaprv.enable = true;
  1561. }
  1562. }
  1563. /**
  1564. * 재승인 체크박스 아이템 클릭 이벤트
  1565. * @param {[type]} obj: CheckBox [description]
  1566. * @param {[type]} e: ClickEventInfo [description]
  1567. * @return {[type]} [description]
  1568. */
  1569. function checkbox3_onclick(obj: CheckBox, e: ClickEventInfo) {
  1570. ds_main_iptflag.setColumn(0, "cvancncl", "");
  1571. frmf_inputEnterKey("checkbox2", "onclick", new ClickEventInfo);
  1572. }
  1573. /**
  1574. * [CARD 내역] 저장 버튼 클릭 이벤트
  1575. * @param {[type]} obj: Button [description]
  1576. * @param {[type]} e: ClickEventInfo [description]
  1577. * @return {[type]} [description]
  1578. */
  1579. function button2_onclick(obj: Button, e: ClickEventInfo) {
  1580. if (ds_main_c_card.getCaseCount("card_rcptstat == 'C'") < 1) {
  1581. sysf_messageBox("아직 새로운 카드로 승인하지 않았습니다! 승인 후 저장하세요!", "E999", "");
  1582. return false;
  1583. }
  1584. if (ds_main_iptflag.getColumn(0, "recardaprv") == 'Y') {
  1585. var oParam = {};
  1586. oParam.id = "TXPAO00454";
  1587. oParam.service = "opatmngtapp.OPatMngt";
  1588. oParam.method = "reqSetMultiCard";
  1589. oParam.inds = "req=ds_main_c_card";
  1590. oParam.outds = "";
  1591. oParam.async = false;
  1592. oParam.callback = "callback";
  1593. tranf_submit(oParam);
  1594. if (arErrorCode.pop("TXPAO00454") > -1) {
  1595. ds_main_iptflag.setColumn(0, "recardaprv", "");
  1596. sysf_messageBox("정상적으로 재승인 처리되었습니다! 이전 승인내역을 취소하세요!", "I999", "");
  1597. return true;
  1598. }
  1599. else {
  1600. sysf_messageBox("카드승인 정보를 서버에 저장하는데 실패했습니다. 잠시 후에 다시 시도하거나, 담당자에게 문의하세요!", "E999", "");
  1601. return false;
  1602. }
  1603. }
  1604. }
  1605. /**
  1606. * [VAN정보] 그리드 셀 클릭 이벤트
  1607. * @param {[type]} obj: Grid [description]
  1608. * @param {[type]} e: GridClickEventInfo [description]
  1609. * @return {[type]} [description]
  1610. */
  1611. function grd_cvan_oncellclick(obj: Grid, e: GridClickEventInfo) {
  1612. if (e.col < 2) {
  1613. return false;
  1614. }
  1615. var currow = e.row;
  1616. var onlyCard = ds_main_iptflag.getColumn(0, "cardedit");
  1617. var cVanCncl = ds_main_iptflag.getColumn(0, "cvancncl");
  1618. //승인내역취소!!
  1619. if (cVanCncl == 'Y') {
  1620. if (ds_main_h_cvan.getColumn(currow, "cvan_aprvflag") == '22') {
  1621. sysf_messageBox("승인취소 내역은 '승인내역취소' 불가능합니다.", "E999", "");
  1622. return false;
  1623. }
  1624. }
  1625. if (onlyCard == 'Y' || cVanCncl == 'Y') {
  1626. //카드승인내역 초기화
  1627. ds_main_card2.clearData();
  1628. var idx = ds_main_card2.addRow();
  1629. dsf_makeValue(ds_main_card2, "card_pid", 'string', ds_main_h_cvan.getColumn(currow, "cvan_pid"), idx);
  1630. dsf_makeValue(ds_main_card2, "card_rcptdd", 'string', '', idx);
  1631. dsf_makeValue(ds_main_card2, "card_rcptno", 'string', '', idx);
  1632. dsf_makeValue(ds_main_card2, "card_rcptseqno", 'string', '', idx);
  1633. dsf_makeValue(ds_main_card2, "card_seqno", 'string', '', idx);
  1634. dsf_makeValue(ds_main_card2, "card_instcd", 'string', ds_main_h_cvan.getColumn(currow, "cvan_instcd"), idx);
  1635. dsf_makeValue(ds_main_card2, "card_rcptstat", 'string', '', idx);
  1636. dsf_makeValue(ds_main_card2, "card_ordtype", 'string', ds_main_h_cvan.getColumn(currow, "cvan_ordtype"), idx);
  1637. dsf_makeValue(ds_main_card2, "card_keyinptflag", 'string', ds_main_h_cvan.getColumn(currow, "cvan_keyinptflag"), idx);
  1638. dsf_makeValue(ds_main_card2, "card_cardcmpycd", 'string', ds_main_h_cvan.getColumn(currow, "cvan_cardcmpycd"), idx);
  1639. dsf_makeValue(ds_main_card2, "card_cardno", 'string', ds_main_h_cvan.getColumn(currow, "cvan_cardno"), idx);
  1640. dsf_makeValue(ds_main_card2, "card_aprvflag", 'string', ds_main_h_cvan.getColumn(currow, "cvan_aprvflag"), idx);
  1641. dsf_makeValue(ds_main_card2, "card_aprvdd", 'string', ds_main_h_cvan.getColumn(currow, "cvan_aprvdd"), idx);
  1642. dsf_makeValue(ds_main_card2, "card_aprvtm", 'string', ds_main_h_cvan.getColumn(currow, "cvan_aprvtm"), idx);
  1643. dsf_makeValue(ds_main_card2, "card_aprvno", 'string', ds_main_h_cvan.getColumn(currow, "cvan_aprvno"), idx);
  1644. dsf_makeValue(ds_main_card2, "card_vancd", 'string', ds_main_h_cvan.getColumn(currow, "cvan_vancd"), idx);
  1645. dsf_makeValue(ds_main_card2, "card_allotmm", 'string', ds_main_h_cvan.getColumn(currow, "cvan_allotmm"), idx);
  1646. dsf_makeValue(ds_main_card2, "card_cardamt", 'string', ds_main_h_cvan.getColumn(currow, "cvan_cardamt"), idx);
  1647. dsf_makeValue(ds_main_card2, "card_valiterm", 'string', ds_main_h_cvan.getColumn(currow, "cvan_valiterm"), idx);
  1648. dsf_makeValue(ds_main_card2, "card_rcptexecdd", 'string', '', idx);
  1649. dsf_makeValue(ds_main_card2, "card_rcpttm", 'string', '', idx);
  1650. dsf_makeValue(ds_main_card2, "card_rcptrid", 'string', '', idx);
  1651. dsf_makeValue(ds_main_card2, "card_innrtretyn", 'string', 'N', idx);
  1652. dsf_makeValue(ds_main_card2, "card_preamtyn", 'string', 'N', idx);
  1653. dsf_makeValue(ds_main_card2, "card_remfact", 'string', '', idx);
  1654. dsf_makeValue(ds_main_card2, "card_fstrgstrid", 'string', '', idx);
  1655. dsf_makeValue(ds_main_card2, "card_fstrgstdt", 'string', '', idx);
  1656. dsf_makeValue(ds_main_card2, "card_lastupdtrid", 'string', '', idx);
  1657. dsf_makeValue(ds_main_card2, "card_lastupdtdt", 'string', '', idx);
  1658. //실제 카드승인금액 세팅
  1659. ds_main_card.setColumn(0, "aprvcardamt", ds_main_h_cvan.getColumn(currow, "cvan_cardamt"));
  1660. }
  1661. }
  1662. /**
  1663. * [grd_card2_oncellclick description]
  1664. * @param {[type]} obj: Grid [description]
  1665. * @param {[type]} e: GridClickEventInfo [description]
  1666. * @return {[type]} [description]
  1667. */
  1668. function grd_card2_oncellclick(obj: Grid, e: GridClickEventInfo) {
  1669. var currow = e.row;
  1670. if (e.col < 1) {
  1671. return;
  1672. }
  1673. var recardaprv = ds_main_iptflag.getColumn(0, "recardaprv");
  1674. if (recardaprv != 'Y') {
  1675. sysf_messageBox("이미 재승인처리가 완료되었습니다.", "I999", "");
  1676. return false;
  1677. }
  1678. ds_main_card2.clearData();
  1679. ds_main_card2.copyData(ds_main_card2.addRow(), ds_main_c_card, currow);
  1680. ds_main_card2.setColumn(0, "card_cardamt", ds_main_c_card.getSum('card_cardamt'));
  1681. }
  1682. /**
  1683. * 카드전표출력 버튼 클릭 이벤트
  1684. * @param {[type]} obj: Button [description]
  1685. * @param {[type]} e: ClickEventInfo [description]
  1686. * @return {[type]} [description]
  1687. */
  1688. function button4_onclick(obj: Button, e: ClickEventInfo) {
  1689. frmf_setParameter("SPPAO00401_PID_PARM", ds_main_iptflag.getColumn(0, "pid"));
  1690. frmf_modal("SPPAO00401", "SPPAO00401", "", "", "", "", "", "", "", "", "", "", "M");
  1691. }
  1692. /**
  1693. * 확인 버튼 클릭 이벤트
  1694. * @param {[type]} obj: Button [description]
  1695. * @param {[type]} e: ClickEventInfo [description]
  1696. * @return {[type]} [description]
  1697. */
  1698. function grp_btn_btn_confirm_onclick(obj: Button, e: ClickEventInfo) {
  1699. var totrcptamt = parseInt(ds_main_card.getColumn(0, "totrcptamt"));
  1700. var totcardamt = parseInt(ds_main_card.getColumn(0, "totcardamt"));
  1701. if (totrcptamt < totcardamt) {
  1702. var retValue = sysf_messageBox("결제금액이 수납대상금액을 초과합니다! 작업을 완료하고 창을 닫으시겠습니까?", "Q999", "");
  1703. if (retValue != 6) {
  1704. return false;
  1705. }
  1706. }
  1707. else if (ExistCardCount == ds_main_h_card.rowcount) {
  1708. //변경사항이 없을 경우!!
  1709. opener.frmf_setParameter("SPPAO00400_RTN", "N");
  1710. }
  1711. opener.frmf_setParameter("SPPAO00400_RTN", "Y");
  1712. opener.frmf_setParameter("SPPAO00400_TotCardAmt", totcardamt);
  1713. this.close();
  1714. }
  1715. /**
  1716. * 취소 버튼 클릭 이벤트
  1717. * @param {[type]} obj: Button [description]
  1718. * @param {[type]} e: ClickEventInfo [description]
  1719. * @return {[type]} [description]
  1720. */
  1721. function grp_btn_btn_cancel_onclick(obj: Button, e: ClickEventInfo) {
  1722. opener.frmf_setParameter("SPPAO00400_RTN", "N");
  1723. this.close();
  1724. }
  1725. ]]></Script>
  1726. </Form>
  1727. </FDL>