SPPAO00499_신용카드승인.xrw 130 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SPPAO00400_신용카드승인.xrw
  4. * 설 명 : 신용카드승인 => 승인 단계는 수납시에 처리한다[CMC]
  5. * 설 계 자 : 유정란
  6. * 작 성 자 : 유정란
  7. * 작 성 일 : 2007.05.31
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title>신용카드승인</xhtml:title>
  15. <model id="model1">
  16. <![CDATA[/>]]>
  17. <instance id="instance1">
  18. <root xmlns="">
  19. <main>
  20. <iptflag>
  21. <cardedit/>
  22. <cardallinfo/>
  23. <aprvdd/>
  24. <cvancncl/>
  25. <cardaprv/>
  26. <recardaprv/>
  27. <aprvsrchflag>-</aprvsrchflag>
  28. <ioflag/>
  29. </iptflag>
  30. <card>
  31. <totrcptamt/>
  32. <totcardamt/>
  33. <subtotalamt/>
  34. <swipedata/>
  35. <aprvcardamt/>
  36. </card>
  37. <card2>
  38. <card_pid/>
  39. <card_rcptdd/>
  40. <card_rcptno/>
  41. <card_rcptseqno/>
  42. <card_seqno/>
  43. <card_instcd/>
  44. <card_rcptstat/>
  45. <card_ordtype/>
  46. <card_keyinptflag/>
  47. <card_cardcmpycd/>
  48. <card_cardno/>
  49. <card_aprvflag/>
  50. <card_aprvdd/>
  51. <card_aprvtm/>
  52. <card_aprvno/>
  53. <card_vancd/>
  54. <card_allotmm/>
  55. <card_cardamt/>
  56. <card_valiterm/>
  57. <card_rcptexecdd/>
  58. <card_rcpttm/>
  59. <card_rcptrid/>
  60. <card_innrtretyn/>
  61. <card_preamtyn/>
  62. <card_remfact/>
  63. <card_fstrgstrid/>
  64. <card_fstrgstdt/>
  65. <card_lastupdtrid/>
  66. <card_lastupdtdt/>
  67. </card2>
  68. <h_cvan>
  69. <cvan>
  70. <cvan_pid/>
  71. <cvan_aprvflag/>
  72. <cvan_aprvdd/>
  73. <cvan_aprvtm/>
  74. <cvan_aprvno/>
  75. <cvan_instcd/>
  76. <cvan_keyinptflag/>
  77. <cvan_cardcmpycd/>
  78. <cvan_cardno/>
  79. <cvan_vancd/>
  80. <cvan_allotmm/>
  81. <cvan_valiterm/>
  82. <cvan_cardamt/>
  83. <cvan_trmnno/>
  84. <cvan_rcptexecdd/>
  85. <cvan_rcpttm/>
  86. <cvan_rcptrid/>
  87. <cvan_remfact/>
  88. <cvan_fstrgstrid/>
  89. <cvan_fstrgstdt/>
  90. <cvan_lastupdtrid/>
  91. <cvan_lastupdtdt/>
  92. </cvan>
  93. </h_cvan>
  94. <h_card>
  95. <card>
  96. <card_pid/>
  97. <card_rcptdd/>
  98. <card_rcptno/>
  99. <card_rcptseqno/>
  100. <card_seqno/>
  101. <card_instcd/>
  102. <card_rcptstat/>
  103. <card_ordtype/>
  104. <card_keyinptflag/>
  105. <card_cardcmpycd/>
  106. <card_cardno/>
  107. <card_aprvflag/>
  108. <card_aprvdd/>
  109. <card_aprvtm/>
  110. <card_aprvno/>
  111. <card_vancd/>
  112. <card_allotmm/>
  113. <card_cardamt/>
  114. <card_valiterm/>
  115. <card_rcptexecdd/>
  116. <card_rcpttm/>
  117. <card_rcptrid/>
  118. <card_innrtretyn/>
  119. <card_preamtyn/>
  120. <card_remfact/>
  121. <card_fstrgstrid/>
  122. <card_fstrgstdt/>
  123. <card_lastupdtrid/>
  124. <card_lastupdtdt/>
  125. <card_swipedata/>
  126. </card>
  127. </h_card>
  128. <c_card>
  129. <card>
  130. <card_pid/>
  131. <card_rcptdd/>
  132. <card_rcptno/>
  133. <card_rcptseqno/>
  134. <card_seqno/>
  135. <card_instcd/>
  136. <card_rcptstat/>
  137. <card_ordtype/>
  138. <card_keyinptflag/>
  139. <card_cardcmpycd/>
  140. <card_cardno/>
  141. <card_aprvflag/>
  142. <card_aprvdd/>
  143. <card_aprvtm/>
  144. <card_aprvno/>
  145. <card_vancd/>
  146. <card_allotmm/>
  147. <card_cardamt/>
  148. <card_valiterm/>
  149. <card_rcptexecdd/>
  150. <card_rcpttm/>
  151. <card_rcptrid/>
  152. <card_innrtretyn/>
  153. <card_preamtyn/>
  154. <card_remfact/>
  155. <card_fstrgstrid/>
  156. <card_fstrgstdt/>
  157. <card_lastupdtrid/>
  158. <card_lastupdtdt/>
  159. <card_swipedata/>
  160. </card>
  161. </c_card>
  162. <h_cvan2>
  163. <cvan>
  164. <cvan_pid/>
  165. <cvan_aprvflag/>
  166. <cvan_aprvdd/>
  167. <cvan_aprvtm/>
  168. <cvan_aprvno/>
  169. <cvan_instcd/>
  170. <cvan_keyinptflag/>
  171. <cvan_cardcmpycd/>
  172. <cvan_cardno/>
  173. <cvan_vancd/>
  174. <cvan_allotmm/>
  175. <cvan_cardamt/>
  176. <cvan_valiterm/>
  177. <cvan_trmnno/>
  178. <cvan_rcptexecdd/>
  179. <cvan_rcpttm/>
  180. <cvan_rcptrid/>
  181. <cvan_remfact/>
  182. <cvan_fstrgstrid/>
  183. <cvan_fstrgstdt/>
  184. <cvan_lastupdtrid/>
  185. <cvan_lastupdtdt/>
  186. </cvan>
  187. </h_cvan2>
  188. <m_opmi>
  189. <opmi/>
  190. </m_opmi>
  191. <c_otpt>
  192. <otpt/>
  193. </c_otpt>
  194. <n_cvan/>
  195. </main>
  196. <send>
  197. <data1/>
  198. <data2/>
  199. <data3/>
  200. <data4/>
  201. <data5/>
  202. <data6/>
  203. <data7/>
  204. <data8/>
  205. <data9/>
  206. <data10/>
  207. <data11/>
  208. <data12/>
  209. <data13/>
  210. </send>
  211. <init_com>
  212. <init>
  213. <P0076list>
  214. <P0076>
  215. <cdid/>
  216. <cdnm/>
  217. </P0076>
  218. </P0076list>
  219. <P0078list>
  220. <P0078>
  221. <cdid/>
  222. <cdnm/>
  223. </P0078>
  224. </P0078list>
  225. <P0390list>
  226. <P0390>
  227. <cdid/>
  228. <cdnm/>
  229. </P0390>
  230. </P0390list>
  231. <P0049list>
  232. <P0049>
  233. <cdid/>
  234. <cdnm/>
  235. </P0049>
  236. </P0049list>
  237. </init>
  238. </init_com>
  239. <init/>
  240. <hidden>
  241. <session/>
  242. </hidden>
  243. </root>
  244. </instance>
  245. <script type="javascript" ev:event="xforms-ready">
  246. <![CDATA[
  247. //self.opener = self;
  248. if (checkOpener())
  249. {
  250. gFLAG = opener.javascript.getParameter("SPPAO00400_FLAG");
  251. //opener.javascript.setParameter("SPPAO00400_FLAG", '');
  252. if( gFLAG == 'I' ){
  253. //fAutoGetCardAprv();
  254. }else if( gFLAG == 'D' ){
  255. //fAutoCnclCardAprv();
  256. }else{
  257. fInit();
  258. }
  259. }
  260. //fGetUserInfosSampling();
  261. //fInit();
  262. ]]>
  263. </script>
  264. <script type="javascript" ev:event="xforms-close">
  265. <![CDATA[
  266. if (checkOpener()){
  267. //산전은 HCARD 노드를 복사하지 않는다..
  268. if( gPregDmndYN != 'Y' ){
  269. //노드복사
  270. fCopyCardNodes();
  271. }
  272. var SPPAO00400_RTN = opener.javascript.getParameter("SPPAO00400_RTN");
  273. var totcardamt = parseInt(model.getValue("/root/main/card/totcardamt") );
  274. if( SPPAO00400_RTN != 'Y' ){
  275. if (ExistCardCount != getNodesetCount("/root/main/h_card/card/card_pid")) {
  276. messageBox("카드내역이 변경되었습니다. 변경된 내역을 메인창으로 복사합니다!", "E999", "");
  277. opener.javascript.setParameter("SPPAO00400_RTN", "Y");
  278. opener.javascript.setParameter("SPPAO00400_TotCardAmt",totcardamt);
  279. return false;
  280. }
  281. }
  282. }
  283. ]]>
  284. </script>
  285. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  286. <submission id="TRPAO00451" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/h_card"/>
  287. <submission id="TRPAO00452" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/h_card"/>
  288. <submission id="TRPAO00453" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/h_cvan"/>
  289. <submission id="TXPAO00454" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/c_card" resultref="/root/temp"/>
  290. <submission id="TXPAC00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/tmp"/>
  291. <submission id="TXPAO00455" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/n_cvan" resultref="/root/temp"/>
  292. <submission id="TRPAO00456" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/data1" resultref="/root/main/c_card"/>
  293. </model>
  294. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  295. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  296. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  297. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  298. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  299. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  300. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  301. <script type="javascript" src="../../../pam/opatmngtweb/js/PMOCOM.js"/>
  302. <script type="javascript" src="../../../pam/pamcomnweb/js/PAM.js"/>
  303. <script type="javascript">
  304. <![CDATA[
  305. var gMulticnt, gMultiSend, gRcptdd, gRcptno, gRcptseqno, gTotrcptamt,
  306. strSend, strRcv, gPid, gOrddd, gCretno, strRcvVan, gOrdtype, gOrddeptcd,
  307. gCardno, gValiterm, gAllotmm, gKeyInptFlag, gSwipeData, gFLAG, gCOTPT, gRtnType, gPregDmndYN;
  308. var ExistCardCount;
  309. //2008-01-26 이동식 추가
  310. function fForceCardAprv(flag){
  311. //카드번호,카드회사,유효기간,결제금액,할부개월
  312. var cardno = model.getValue("/root/main/card2/card_cardno");
  313. if (cardno == null || cardno == "" || cardno == " " || cardno == "-")
  314. {
  315. messageBox("카드번호가 미입력되었습니다!","E999","");
  316. return false;
  317. }
  318. var card_cardcmpycd = model.getValue("/root/main/card2/card_cardcmpycd");
  319. if (card_cardcmpycd == null || card_cardcmpycd == "" || card_cardcmpycd == " " || card_cardcmpycd == "-")
  320. {
  321. messageBox("카드회사가 미입력되었습니다!","E999","");
  322. return false;
  323. }
  324. var card_valiterm = model.getValue("/root/main/card2/card_valiterm");
  325. if (card_valiterm == null || card_valiterm == "" || card_valiterm == " " || card_valiterm == "-")
  326. {
  327. messageBox("유효기간이 미입력되었습니다!","E999","");
  328. return false;
  329. }
  330. var card_cardamt = model.getValue("/root/main/card2/card_cardamt");
  331. if (card_cardamt == null || card_cardamt == "" || card_cardamt == " " || card_cardamt == "-")
  332. {
  333. messageBox("카드금액이 미입력되었습니다!","E999","");
  334. return false;
  335. }
  336. var card_allotmm = model.getValue("/root/main/card2/card_allotmm");
  337. if (card_allotmm == null || card_allotmm == "" || card_allotmm == " " || card_allotmm == "-")
  338. {
  339. messageBox("할부개월이 미입력되었습니다!","E999","");
  340. model.setValue("/root/main/card2/card_allotmm", '00')
  341. return false;
  342. }
  343. var card_aprvdd = model.getValue("/root/main/card2/card_aprvdd");
  344. if (card_aprvdd == null || card_aprvdd == "" || card_aprvdd == " " || card_aprvdd == "-")
  345. {
  346. messageBox("승인일자가 미입력되었습니다!","E999","");
  347. model.setValue("/root/main/card2/card_aprvdd", '')
  348. return false;
  349. }
  350. var card_aprvtm = model.getValue("/root/main/card2/card_aprvtm");
  351. if (card_aprvtm == null || card_aprvtm == "" || card_aprvtm == " " || card_aprvtm == "-")
  352. {
  353. messageBox("승인시간이 미입력되었습니다!","E999","");
  354. model.setValue("/root/main/card2/card_aprvtm", '')
  355. return false;
  356. }
  357. var card_aprvno = model.getValue("/root/main/card2/card_aprvno");
  358. if (card_aprvno == null || card_aprvno == "" || card_aprvno == " " || card_aprvno == "-")
  359. {
  360. messageBox("승인번호가 미입력되었습니다!","E999","");
  361. model.setValue("/root/main/card2/card_aprvno", '')
  362. return false;
  363. }
  364. var card_keyinptflag = model.getValue("/root/main/card2/card_keyinptflag");
  365. if (card_keyinptflag == null || card_keyinptflag == "" || card_keyinptflag == " " || card_keyinptflag == "-")
  366. {
  367. model.setValue("/root/main/card2/card_keyinptflag","K");
  368. model.refresh();
  369. }
  370. if( flag == 'I' ){
  371. //카드결제액 체크
  372. var recardaprv = model.getValue("/root/main/iptflag/recardaprv");
  373. var totrcptamt = model.getValue("/root/main/card/totrcptamt");
  374. var totcardamt = model.getValue("/root/main/card/totcardamt");
  375. var card_cardamt = model.getValue("/root/main/card2/card_cardamt");
  376. if( recardaprv != 'Y' ){
  377. if( parseInt(model.getValue("/root/main/card/totrcptamt")) ==
  378. parseInt( model.getValue("/root/main/card/totcardamt")) ){
  379. if( messageBox("수납대상금액과 카드결제금액이 같습니다. 더이상 카드 수납할 금액이 없습니다. 계속 진행 하시겠습니까?", "Q999", "") != 6 ){
  380. return false;
  381. }
  382. }else if( parseInt(model.getValue("/root/main/card/totrcptamt")) <
  383. parseInt( model.getValue("/root/main/card/totcardamt")) + parseInt(model.getValue("/root/main/card2/card_cardamt")) ){
  384. if( messageBox("수납대상금액보다 카드결제금액이 많습니다. 계속 진행 하시겠습니까?", "Q999", "") != 6 ){
  385. return false;
  386. }
  387. }else if( parseInt(model.getValue("/root/main/card/totrcptamt")) <= 0 ){
  388. if( messageBox("수납대상금액이 0원 이거나 마이너스 금액입니다! 계속 진행 하시겠습니까?", "Q999", "") != 6 ){
  389. return false;
  390. }
  391. }else if( parseInt(model.getValue("/root/main/card2/card_cardamt")) == 0){
  392. messageBox("결제금액이 0원입니다. 확인하시고 다시 카드승인하세요!", "E999", "");
  393. return false;
  394. }
  395. if (eval(gMulticnt) > 1 ){ //멀티승인
  396. if (parseInt(totrcptamt) - parseInt(totcardamt) != parseInt(card_cardamt)){
  397. messageBox("멀티수납시 카드 한 건으로 수납대상금액 전체를 결제해야 합니다!","E999","");
  398. return false;
  399. }
  400. }
  401. }else if( recardaprv == 'Y'){
  402. var cardAmt = 0;
  403. var cnt = getNodesetCount("/root/main/c_card/card/card_pid");
  404. for( var i = 1; i <= cnt; i++ ){
  405. cardAmt = parseInt( cardAmt ) + parseInt( model.getValue("/root/main/c_card/card[" + i + "]/card_cardamt") );
  406. }
  407. if( cardAmt != card_cardamt ){
  408. messageBox("멀티카드수납내역을 변경/취소하기 위한 재승인인 경우에는 재승인할 카드승인금액 합과 결제 금액이 같아야 합니다.", "E999", "");
  409. return false;
  410. }
  411. }
  412. }
  413. if( flag == 'I' ){
  414. model.removeNodeset("/root/main/n_cvan/cvan");
  415. model.makeValue("/root/main/n_cvan/cvan/cvan_pid", gPid);
  416. model.makeValue("/root/main/n_cvan/cvan/cvan_aprvflag", '12');
  417. model.makeValue("/root/main/n_cvan/cvan/cvan_aprvdd", model.getValue("/root/main/card2/card_aprvdd"));
  418. model.makeValue("/root/main/n_cvan/cvan/cvan_aprvtm", model.getValue("/root/main/card2/card_aprvtm"));
  419. model.makeValue("/root/main/n_cvan/cvan/cvan_aprvno", model.getValue("/root/main/card2/card_aprvno"));
  420. model.makeValue("/root/main/n_cvan/cvan/cvan_ordtype", gOrdtype);
  421. model.makeValue("/root/main/n_cvan/cvan/cvan_instcd", model.getValue("/root/hidden/session/sess_posinstcd"));
  422. model.makeValue("/root/main/n_cvan/cvan/cvan_keyinptflag", model.getValue("/root/main/card2/card_keyinptflag"));
  423. model.makeValue("/root/main/n_cvan/cvan/cvan_cardcmpycd", model.getValue("/root/main/card2/card_cardcmpycd"));
  424. model.makeValue("/root/main/n_cvan/cvan/cvan_cardno", model.getValue("/root/main/card2/card_cardno"));
  425. model.makeValue("/root/main/n_cvan/cvan/cvan_vancd", '-');
  426. model.makeValue("/root/main/n_cvan/cvan/cvan_allotmm", model.getValue("/root/main/card2/card_allotmm"));
  427. model.makeValue("/root/main/n_cvan/cvan/cvan_cardamt", model.getValue("/root/main/card2/card_cardamt"));
  428. model.makeValue("/root/main/n_cvan/cvan/cvan_valiterm", model.getValue("/root/main/card2/card_valiterm"));
  429. model.makeValue("/root/main/n_cvan/cvan/cvan_trmnno", '');
  430. model.makeValue("/root/main/n_cvan/cvan/cvan_rcptexecdd", '-');
  431. model.makeValue("/root/main/n_cvan/cvan/cvan_rcpttm", '-');
  432. model.makeValue("/root/main/n_cvan/cvan/cvan_rcptrid", '');
  433. model.makeValue("/root/main/n_cvan/cvan/cvan_remfact", "강제카드결제(승인)");
  434. model.makeValue("/root/main/n_cvan/cvan/cvan_fstrgstrid", '');
  435. model.makeValue("/root/main/n_cvan/cvan/cvan_fstrgstdt", '');
  436. model.makeValue("/root/main/n_cvan/cvan/cvan_lastupdtrid", '');
  437. model.makeValue("/root/main/n_cvan/cvan/cvan_lastupdtdt", '');
  438. model.makeValue("/root/main/n_cvan/cvan/cvan_elctsignkey", '');
  439. model.makeValue("/root/main/n_cvan/cvan/cvan_elctsigncnts", '');
  440. model.makeValue("/root/main/n_cvan/cvan/cvan_carddepoamt", '0');
  441. model.makeValue("/root/main/n_cvan/cvan/cvan_coms", '0');
  442. model.makeValue("/root/main/n_cvan/cvan/cvan_etcflag", gPregDmndYN);
  443. // model.makeValue("/root/main/n_cvan/cvan/cvan_deporid", model.getValue(""));
  444. // model.makeValue("/root/main/n_cvan/cvan/cvan_depodd", model.getValue(""));
  445. // model.makeValue("/root/main/n_cvan/cvan/cvan_depotm", model.getValue(""));
  446. model.setValue("/root/main/card2/card_aprvflag", '12');
  447. model.setValue("/root/main/card2/card_rcptstat", 'Y');
  448. model.setValue("/root/main/card2/card_ordtype", gOrdtype);
  449. model.setValue("/root/main/card2/card_vancd", '');
  450. model.setValue("/root/main/card2/card_remfact", '강제카드결제(승인)');
  451. }else if( flag == 'D' ){
  452. model.removeNodeset("/root/main/n_cvan/cvan");
  453. model.makeValue("/root/main/n_cvan/cvan/cvan_pid", gPid);
  454. model.makeValue("/root/main/n_cvan/cvan/cvan_aprvflag", '22');
  455. model.makeValue("/root/main/n_cvan/cvan/cvan_aprvdd", model.getValue("/root/main/card2/card_aprvdd"));
  456. model.makeValue("/root/main/n_cvan/cvan/cvan_aprvtm", model.getValue("/root/main/card2/card_aprvtm"));
  457. model.makeValue("/root/main/n_cvan/cvan/cvan_aprvno", model.getValue("/root/main/card2/card_aprvno"));
  458. model.makeValue("/root/main/n_cvan/cvan/cvan_ordtype", gOrdtype);
  459. model.makeValue("/root/main/n_cvan/cvan/cvan_instcd", model.getValue("/root/hidden/session/sess_posinstcd"));
  460. model.makeValue("/root/main/n_cvan/cvan/cvan_keyinptflag", model.getValue("/root/main/card2/card_keyinptflag"));
  461. model.makeValue("/root/main/n_cvan/cvan/cvan_cardcmpycd", model.getValue("/root/main/card2/card_cardcmpycd"));
  462. model.makeValue("/root/main/n_cvan/cvan/cvan_cardno", model.getValue("/root/main/card2/card_cardno"));
  463. model.makeValue("/root/main/n_cvan/cvan/cvan_vancd", '-');
  464. model.makeValue("/root/main/n_cvan/cvan/cvan_allotmm", model.getValue("/root/main/card2/card_allotmm"));
  465. model.makeValue("/root/main/n_cvan/cvan/cvan_cardamt", model.getValue("/root/main/card2/card_cardamt"));
  466. model.makeValue("/root/main/n_cvan/cvan/cvan_valiterm", model.getValue("/root/main/card2/card_valiterm"));
  467. model.makeValue("/root/main/n_cvan/cvan/cvan_trmnno", '');
  468. model.makeValue("/root/main/n_cvan/cvan/cvan_rcptexecdd", '-');
  469. model.makeValue("/root/main/n_cvan/cvan/cvan_rcpttm", '-');
  470. model.makeValue("/root/main/n_cvan/cvan/cvan_rcptrid", '');
  471. model.makeValue("/root/main/n_cvan/cvan/cvan_remfact", "강제카드결제(취소)");
  472. model.makeValue("/root/main/n_cvan/cvan/cvan_fstrgstrid", '');
  473. model.makeValue("/root/main/n_cvan/cvan/cvan_fstrgstdt", '');
  474. model.makeValue("/root/main/n_cvan/cvan/cvan_lastupdtrid", '');
  475. model.makeValue("/root/main/n_cvan/cvan/cvan_lastupdtdt", '');
  476. model.makeValue("/root/main/n_cvan/cvan/cvan_elctsignkey", '');
  477. model.makeValue("/root/main/n_cvan/cvan/cvan_elctsigncnts", '');
  478. model.makeValue("/root/main/n_cvan/cvan/cvan_carddepoamt", '0');
  479. model.makeValue("/root/main/n_cvan/cvan/cvan_coms", '0');
  480. model.makeValue("/root/main/n_cvan/cvan/cvan_etcflag", gPregDmndYN);
  481. // model.makeValue("/root/main/n_cvan/cvan/cvan_deporid", model.getValue(""));
  482. // model.makeValue("/root/main/n_cvan/cvan/cvan_depodd", model.getValue(""));
  483. // model.makeValue("/root/main/n_cvan/cvan/cvan_depotm", model.getValue(""));
  484. model.setValue("/root/main/card2/card_aprvflag", '22');
  485. model.setValue("/root/main/card2/card_rcptstat", 'D');
  486. model.setValue("/root/main/card2/card_ordtype", gOrdtype);
  487. model.setValue("/root/main/card2/card_vancd", '');
  488. model.setValue("/root/main/card2/card_remfact", '강제카드결제(취소)');
  489. }
  490. if( ! submit("TXPAO00455") ){
  491. messageBox("VAN정보를 정상적으로 저장하지 못했습니다.", "E999","");
  492. return false;
  493. }else{
  494. //model.removeNodeset("/root/main/n_cvan/cvan");
  495. model.resetInstanceNode("/root/send");
  496. model.setValue("/root/send/data1", gPid);
  497. model.setValue("/root/send/data3", "-");
  498. model.setValue("/root/send/data4", gOrdtype);
  499. model.setValue("/root/send/data5", gPregDmndYN);
  500. if( ! submit("TRPAO00453") ){
  501. messageBox("VAN정보를 가져오지 못했습니다. 승인내역조회를 하신 후 '강제카드결제'하신 내역을 '카드내역생성'하세요.", "E999","");
  502. return false;
  503. }else{
  504. var cnt = getNodesetCount("/root/main/h_cvan/cvan/cvan_pid");
  505. var aprvflag = '';
  506. var check = true;
  507. if( flag == 'I' ){
  508. aprvflag = '12';
  509. }else{
  510. aprvflag = '22';
  511. }
  512. for( var i = 1; i <= cnt; i ++ ){
  513. if( model.getValue("/root/main/h_cvan/cvan[" + i + "]/cvan_aprvno") == model.getValue("/root/main/card2/card_aprvno")
  514. && model.getValue("/root/main/h_cvan/cvan[" + i + "]/cvan_aprvflag") == aprvflag){
  515. grd_cvan.row = i;
  516. check = true;
  517. model.setValue("/root/main/iptflag/cardedit", "Y");
  518. checkbox1.dispatch("xforms-value-changed");
  519. break;
  520. }
  521. check = false;
  522. }
  523. if( check == true ){
  524. //카드내역 생성
  525. if(fMakeCardAprvSpec()){
  526. return true;
  527. }else{
  528. return false;
  529. }
  530. }else{
  531. messageBox("VAN정보를 다시 조회하신 후 '강제카드결제'하신 카드내역을 생성하십시요.", "E999", "");
  532. //2008-09-10 이동식 수정
  533. //VAN정보 탭으로 이동
  534. swt_cardlist.selectedIndex = 0;
  535. btn_cardvan.selected = true;
  536. btn_cardrcpt.selected = false;
  537. btn_cardrcpt2.selected = false;
  538. model.setFocus("ipt_cardno");
  539. return false;
  540. }
  541. }
  542. }
  543. }
  544. function fInit()
  545. {
  546. zbcfGetCodeList(
  547. new Array("P0076","P0078","P0390", "P0049"),
  548. new Array("/root/init_com/init/P0076list"
  549. ,"/root/init_com/init/P0078list"
  550. ,"/root/init_com/init/P0390list"
  551. ,"/root/init_com/init/P0049list"
  552. )
  553. );
  554. //fGetUserInfosSampling(); //세션
  555. model.resetInstanceNode("/root/main/iptflag");
  556. model.resetInstanceNode("/root/main/card");
  557. model.resetInstanceNode("/root/main/card2");
  558. model.removeNodeset("/root/main/h_cvan/cvan");
  559. model.removeNodeset("/root/main/h_cvan2/cvan");
  560. model.removeNodeset("/root/main/h_card/card");
  561. model.removeNodeset("/root/main/c_card/card");
  562. model.removeNodeset("/root/main/c_otpt/otpt");
  563. model.removeNodeset("/root/main/m_opmi/opmi");
  564. model.setValue("/root/main/iptflag/cardedit","");
  565. checkbox1.dispatch("xforms-value-changed");
  566. model.setValue("/root/main/card/totrcptamt","0");
  567. model.setValue("/root/main/card/totcardamt","0");
  568. model.setValue("/root/main/card/subtotalamt","0");
  569. model.setValue("/root/main/card2/card_keyinptflag","S"); //swipe
  570. model.setValue("/root/main/card2/card_cardamt","0");
  571. model.setValue("/root/main/card2/card_valiterm","");
  572. model.setValue("/root/main/card2/card_cardcmpycd","");
  573. //카드내역 탭을 기본으로 선택
  574. swt_cardlist.selectedIndex = 1;
  575. btn_cardvan.selected = false;
  576. btn_cardrcpt.selected = true;
  577. btn_cardrcpt2.selected = false;
  578. model.setFocus("ipt_cardno");
  579. //2008-06-02 이동식 추가
  580. btn_makecardaprv.visible = false;
  581. btn_cardaprv.visible = true;
  582. btn_cardcncl.visible = true;
  583. // model.refresh();
  584. // if (checkOpener())
  585. // {
  586. opener.javascript.setParameter("SPPAO00400_RTN","");
  587. var SPPAO00400_PARM = opener.javascript.getParameter("SPPAO00400_PARM");
  588. gFLAG = opener.javascript.getParameter("SPPAO00400_FLAG");
  589. opener.javascript.setParameter("SPPAO00400_FLAG", '');
  590. //리턴시 노드 전체 리턴 OR 일부만 리턴여부판별
  591. gRtnType = opener.javascript.getParameter("SPPAO00400_RTNTYPE");
  592. opener.javascript.setParameter("SPPAO00400_RTNTYPE", '');
  593. var array_parm = SPPAO00400_PARM.split("▦");
  594. gMulticnt = array_parm[0]; //외래등록의 멀티접수인 경우만 해당멀티건수 나머지는 default '0'으로 세팅
  595. gMultiSend = array_parm[1]; //외래등록 멀티접수인 경우만 각각의 본인부담액을 보낸다. 나머지는 '-'
  596. gRcptdd = array_parm[2];
  597. gRcptno = array_parm[3];
  598. gRcptseqno = array_parm[4];
  599. gTotrcptamt = array_parm[5];
  600. strSend = array_parm[6];
  601. strRcv = array_parm[7];
  602. gPid = array_parm[8];
  603. gOrddd = array_parm[9];
  604. gCretno = array_parm[10];
  605. strRcvVan = array_parm[11];
  606. gOrdtype = array_parm[12];
  607. gFromDD = array_parm[13];
  608. gToDD = array_parm[14];
  609. gOrddeptcd = array_parm[15];
  610. gCardno = array_parm[16];
  611. gValiterm = array_parm[17];
  612. gAllotmm = array_parm[18];
  613. gKeyInptFlag = array_parm[19];
  614. gSwipeData = array_parm[20];
  615. gCOTPT = array_parm[21]; //멀티접수 개별 변경/취소 위해 필요 - 외래등록/수납
  616. //산전진료비지원 카드승인여부
  617. gPregDmndYN = opener.javascript.getParameter("SPPAO00400_PREGDMNDYN");
  618. opener.javascript.setParameter("SPPAO00400_PREGDMNDYN", '');
  619. //gCardAmt = array_parm[19];
  620. if( gPregDmndYN == 'Y' ){
  621. //카드내역 탭을 기본으로 선택
  622. swt_cardlist.selectedIndex = 0;
  623. btn_cardvan.selected = true;
  624. btn_cardrcpt.selected = false;
  625. btn_cardrcpt2.selected = false;
  626. btn_cardrcpt.visible = false;
  627. checkbox1.visible = false;
  628. model.setFocus("ipt_cardno");
  629. }
  630. //(-)금액을 수치형으로 인식못함
  631. //if (gTotrcptamt.isNumber() != true)
  632. //if (gTotrcptamt == "" || gTotrcptamt == " " )
  633. if (isNaN(gTotrcptamt))
  634. {
  635. messageBox("수납대상금액이 수치형이 아닙니다!","E999","");
  636. return ;
  637. }
  638. else
  639. {
  640. model.setValue("/root/main/card/totrcptamt",gTotrcptamt);
  641. fCardamtCalc();
  642. }
  643. if (strSend != null && strSend != "" && strSend != " " && strSend != "-")
  644. {
  645. copyNodesetType("/root/main/h_card", strSend, "replace", model, opener.model);
  646. //grd_card.rebuild();
  647. ExistCardCount = getNodesetCount("/root/main/h_card/card/card_pid");
  648. if( parseInt(ExistCardCount) < 1 ){
  649. model.removeNodeset("/root/main/h_card/card");
  650. }
  651. fCardamtCalc();
  652. }else{
  653. ExistCardCount = 0;
  654. }
  655. if (gMultiSend != null && gMultiSend != "" && gMultiSend != " " && gMultiSend != "-")
  656. {
  657. copyNodesetType("/root/main/m_opmi", gMultiSend, "replace", model, opener.model);
  658. if( parseInt( getNodesetCount("/root/main/m_opmi/opmi/opmi_pid") ) < 1 ){
  659. model.removeNodeset("/root/main/m_opmi/opmi");
  660. }
  661. }
  662. opener.javascript.setParameter("SPPAO00400_PARM","");
  663. //2007-12-26 이동식 추가 : 밴정보 조회
  664. //2008-01-02 이동식 수정
  665. model.setValue("/root/main/iptflag/aprvdd", getCurrentDate());
  666. //2008-06-10 이동식 추가 - 입원/외래구분
  667. if( gOrdtype.toUpperCase( ) == 'O' ){
  668. model.setValue("/root/main/iptflag/ioflag", "O");
  669. model.setValue("/root/main/iptflag/aprvsrchflag", "-"); //전체
  670. }else{
  671. model.setValue("/root/main/iptflag/aprvsrchflag", "-"); //전체
  672. }
  673. //외래/입원 카드밴 정보 조회
  674. if( gFLAG != 'I' && gFLAG != 'D' ){
  675. model.resetInstanceNode("/root/send");
  676. model.setValue("/root/send/data1", gPid);
  677. //model.setValue("/root/send/data2", model.getValue("/root/main/iptflag/aprvdd"));
  678. model.setValue("/root/send/data3", model.getValue("/root/main/iptflag/aprvsrchflag"));
  679. model.setValue("/root/send/data4", model.getValue("/root/main/iptflag/ioflag"));
  680. model.setValue("/root/send/data5", gPregDmndYN);
  681. //2008-01-16 이동식 추가 - 카드승인 전체 조회
  682. if( submit("TRPAO00453", false) ){
  683. }
  684. }
  685. //입원 카드수납내역 조회
  686. if( gOrdtype.toUpperCase( ) != 'O' && gFLAG != 'I' && gFLAG != 'D' && gFLAG != 'M' && gPregDmndYN != 'Y' ){
  687. model.setValue("/root/send/data5" ,gPid);
  688. model.setValue("/root/send/data6" ,gOrddd);
  689. model.setValue("/root/send/data7" ,gCretno);
  690. model.setValue("/root/send/data11" ,gOrdtype);
  691. model.setValue("/root/send/data12" ,gFromDD);
  692. model.setValue("/root/send/data13" ,gToDD);
  693. model.copyNode("/root/send/data4","/root/hidden/session");
  694. submit("TRPAO00452",false);
  695. ExistCardCount = getNodesetCount("/root/main/h_card/card/card_pid");
  696. fCardamtCalc();
  697. }
  698. //이동식 추가..
  699. if (gCardno != null && gCardno != "" && gCardno != " " && gCardno != "-" &&
  700. gValiterm != null && gValiterm != "" && gValiterm != " " && gValiterm != "-" &&
  701. gTotrcptamt != null && gTotrcptamt != "" && gTotrcptamt != " " && gTotrcptamt != "-" &&
  702. gAllotmm != null && gAllotmm != "" && gAllotmm != " " && gAllotmm != "-")
  703. {
  704. model.setValue("/root/main/card2/card_cardno" ,gCardno);
  705. model.setValue("/root/main/card2/card_valiterm" ,gValiterm);
  706. //model.setValue("/root/main/card2/card_cardamt" ,gTotrcptamt);
  707. model.setValue("/root/main/card2/card_allotmm" ,gAllotmm);
  708. if( gKeyInptFlag != '' && gKeyInptFlag != ' ' && gKeyInptFlag != '-' ){
  709. model.setValue("/root/main/card2/card_keyinptflag" , gKeyInptFlag);
  710. model.setValue("/root/main/card/swipedata" , gSwipeData);
  711. }else{
  712. model.setValue("/root/main/card2/card_keyinptflag" ,'K');
  713. }
  714. }
  715. model.refresh();
  716. }
  717. function fInit2()
  718. {
  719. //model.resetInstanceNode("/root/main/iptflag");
  720. model.resetInstanceNode("/root/main/card2");
  721. model.setValue("/root/main/card/swipedata", "");
  722. var subtotalamt = parseInt(model.getValue("/root/main/card/totrcptamt")) - parseInt(model.getValue("/root/main/card/totcardamt"));
  723. model.setValue("/root/main/card/subtotalamt", subtotalamt);
  724. model.setValue("/root/main/card2/card_cardamt",subtotalamt);
  725. model.setValue("/root/main/iptflag/cardedit","");
  726. checkbox1.dispatch("xforms-value-changed");
  727. model.setValue("/root/main/card2/card_keyinptflag","S"); //swipe
  728. model.setValue("/root/main/card2/card_valiterm","");
  729. model.setValue("/root/main/card2/card_cardcmpycd","");
  730. model.setValue("/root/main/iptflag/aprvdd", getCurrentDate());
  731. model.setFocus("ipt_cardno");
  732. model.refresh();
  733. }
  734. function fCardamtCalc()
  735. {
  736. var rowcnt = getNodesetCount("/root/main/h_card/card/card_pid");
  737. // var rowcnt2 = getNodesetCount("/root/main/c_card/card/card_pid");
  738. var card_cardamt = 0;
  739. // var card_cardamt2 = 0;
  740. var totrcptamt = model.getValue("/root/main/card/totrcptamt");
  741. if (rowcnt > 0)
  742. {
  743. for (var i = 1; i <= rowcnt; i++)
  744. {
  745. if( gOrdtype.toUpperCase( ) != 'O' ){
  746. if( model.getValue("/root/main/h_card/card["+ i +"]/card_rcptdd") == ''
  747. || model.getValue("/root/main/h_card/card["+ i +"]/card_rcptdd") == ' '
  748. || model.getValue("/root/main/h_card/card["+ i +"]/card_rcptdd") == '-' ){
  749. card_cardamt = card_cardamt + parseInt(model.getValue("/root/main/h_card/card["+ i +"]/card_cardamt"));
  750. }
  751. }else{
  752. card_cardamt = card_cardamt + parseInt(model.getValue("/root/main/h_card/card["+ i +"]/card_cardamt"));
  753. }
  754. }
  755. // for (var i = 1; i <= rowcnt2; i++)
  756. // {
  757. // if( gOrdtype.toUpperCase( ) == 'O' ){
  758. // if( model.getValue("/root/main/c_card/card["+ i +"]/card_newcardnode") == 'Y' ){
  759. //
  760. // card_cardamt2 = card_cardamt2 + parseInt(model.getValue("/root/main/c_card/card["+ i +"]/card_cardamt"));
  761. // }
  762. //
  763. // }00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  764. // }
  765. // card_cardamt = parseInt(card_cardamt) + parseInt(card_cardamt2);
  766. if (checkOpener()){
  767. if (eval(totrcptamt) < eval(card_cardamt))
  768. {
  769. messageBox("카드총액이 수납금액을 초과합니다!","E999","");
  770. }
  771. }
  772. model.setValue("/root/main/card/totcardamt",card_cardamt);
  773. model.setValue("/root/main/card2/card_cardamt", parseInt(totrcptamt) - parseInt(card_cardamt) );
  774. }else{
  775. model.setValue("/root/main/card/totcardamt","0");
  776. //model.setValue("/root/main/card/totcardamt",card_cardamt);
  777. model.setValue("/root/main/card2/card_cardamt", parseInt(totrcptamt) - parseInt(card_cardamt) );
  778. }
  779. model.refresh();
  780. }
  781. //2007-10-10 이동식 추가 - 카드승인
  782. function fGetCardAprv(){
  783. //카드 승인금액이 있을 경우에 승인
  784. var vCardamt = parseInt(model.getValue("/root/main/card2/card_cardamt"));
  785. // if( model.getValue("/root/main/card2/card_keyinptflag") == 'S' && model.getValue("/root/main/card/swipedata") == '' ){
  786. //
  787. // model.setValue("/root/main/card/swipedata", )
  788. // }
  789. if( vCardamt > 0 ){
  790. //카드승인
  791. //swipe 데이타 읽어, 입력구분 세팅
  792. fAppCardVanData("01" //data1 //vangb van사구분
  793. ,"11" //data2 //ordergb 거래구분
  794. ,getCurrentDate() //data3 //mdate 회계일자
  795. ,gPid //data4 //pano 등록번호
  796. ,gOrdtype //data5 //iogb 입외구분
  797. ,gOrddeptcd //data6 //deptcode 진료과코드
  798. ,gOrddd //data7 //diagdate 진료일자
  799. ,model.getValue("/root/hidden/session/sess_userid") //data8 //clientid 수납자
  800. ,model.getValue("/root/main/card2/card_keyinptflag") //data9 //entrymode 입력구분
  801. // ,'K' //data9 //entrymode 입력구분
  802. ,model.getValue("/root/main/card/swipedata") //data10 //track2data 트랙data
  803. ,model.getValue("/root/main/card2/card_cardno") //data11 //cardnumber 카드번호
  804. ,model.getValue("/root/main/card2/card_valiterm") //data12 //cardperiod 유효기간
  805. ,model.getValue("/root/main/card2/card_allotmm") //data13 //carddivide 할부개월수
  806. ,vCardamt //data14 //netamt 금액
  807. ,"" //data15 //oldappdate 원거래승인일자(취소시)
  808. ,"" //data16 //oldapptime 원거래승인시간(취소시)
  809. ,"" //data17 //oldappno 원거래승인번호(취소시)
  810. ,gPregDmndYN //data18 //gPregDmndYN 산전진료비여부
  811. );
  812. if (model.getValue("/root/tmp/appvanif/replystat") != "0000" ) {
  813. //승인에러
  814. //messageBox("카드승인실패 => "+ model.getValue("/root/tmp/appvanif/cardname") ,"E999","");
  815. return false;
  816. }else {
  817. //전자서명 처리
  818. var parm = gPid + "▦" + //PID
  819. vCardamt + "▦" + //수납대상금액
  820. "12" + "▦" + //승인구분
  821. model.getValue("/root/tmp/appvanif/approvaldate") + "▦" + //승인일자
  822. model.getValue("/root/tmp/appvanif/approvaltime") + "▦" + //승인시간
  823. model.getValue("/root/tmp/appvanif/approvalno") + "▦" +//승인번호
  824. model.getValue("/root/hidden/session/sess_posinstcd") + "▦" //기관코드
  825. ;
  826. setParameter("SPPAO02101_PARM",parm);
  827. modal("SPPAO02101", "1","400", "400", "SPPAO02101", "", "", "sysmenu:hidden;");
  828. //전자서명에 실패하더라도, 카드승인을 받았기 때문에, Continue
  829. //if (getParameter("SPPAO02101_RTN") == "N" || getParameter("SPPAO02101_RTN") == "") return;
  830. }
  831. //수납내역 별로 카드내역을 쪼갬
  832. var m_otpt = parseInt(getNodesetCount("/root/main/m_opmi/opmi/opmi_pid")); //멀티수납시 카드내역 생성을 위해서
  833. var c_card = parseInt(getNodesetCount("/root/main/c_card/card/card_pid")); //재승인대상 카드내역
  834. var recardaprv = model.getValue("/root/main/iptflag/recardaprv"); //재승인 플래그
  835. //멀티수납 카드내역 생성
  836. if( m_otpt > 0 && recardaprv != 'Y' ){
  837. for (var i=1; i <= m_otpt ; i++) {
  838. if( model.getValue("/root/main/m_opmi/opmi["+( i )+"]/opmi_cashamt") != 0 ){
  839. currow = parseInt(getNodesetCount("/root/main/h_card/card/card_pid")) + 1;
  840. model.removeNodeset("/root/main/h_card/card["+currow+"]");
  841. //카드승인정보는 추후 받아온 데이터 로 처리
  842. //model.makeValue("/root/main/h_card/card["+currow+"]/card_aprvyn", 'Y');
  843. model.makeValue("/root/main/h_card/card["+currow+"]/card_mseqno", model.getValue("/root/main/m_opmi/opmi["+( i )+"]/opmi_mseqno"));
  844. model.makeValue("/root/main/h_card/card["+currow+"]/card_pid", gPid);
  845. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcptdd", '');
  846. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcptno", '0');
  847. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcptseqno", '0');
  848. model.makeValue("/root/main/h_card/card["+currow+"]/card_seqno", '0');
  849. model.makeValue("/root/main/h_card/card["+currow+"]/card_instcd", model.getValue("/root/hidden/session/sess_posinstcd"));
  850. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcptstat", 'Y');
  851. model.makeValue("/root/main/h_card/card["+currow+"]/card_ordtype", gOrdtype);
  852. model.makeValue("/root/main/h_card/card["+currow+"]/card_keyinptflag", model.getValue("/root/main/card2/card_keyinptflag")); //키입력구분
  853. model.makeValue("/root/main/h_card/card["+currow+"]/card_cardcmpycd", model.getValue("/root/tmp/appvanif/bankid") ); //매입처코드
  854. model.makeValue("/root/main/h_card/card["+currow+"]/card_cardno", model.getValue("/root/main/card2/card_cardno") ); //카드번호
  855. model.makeValue("/root/main/h_card/card["+currow+"]/card_aprvflag", "12");//12:카드승인응답
  856. model.makeValue("/root/main/h_card/card["+currow+"]/card_aprvdd", model.getValue("/root/tmp/appvanif/approvaldate") ); //승인일자
  857. model.makeValue("/root/main/h_card/card["+currow+"]/card_aprvtm", model.getValue("/root/tmp/appvanif/approvaltime") ); //승인시간
  858. model.makeValue("/root/main/h_card/card["+currow+"]/card_aprvno", model.getValue("/root/tmp/appvanif/approvalno") ); //승인번호
  859. model.makeValue("/root/main/h_card/card["+currow+"]/card_vancd", model.getValue("/root/tmp/appvanif/vangb") ); //VAN사구분
  860. model.makeValue("/root/main/h_card/card["+currow+"]/card_allotmm", model.getValue("/root/main/card2/card_allotmm") );//할부
  861. if( m_otpt == 1 ){
  862. model.makeValue("/root/main/h_card/card["+currow+"]/card_cardamt", vCardamt); //카드금액
  863. model.setValue("/root/main/m_opmi/opmi["+( i )+"]/opmi_cashamt", parseInt(model.getValue("/root/main/m_opmi/opmi["+( i )+"]/opmi_cashamt")) - parseInt(vCardamt));
  864. }else{
  865. model.makeValue("/root/main/h_card/card["+currow+"]/card_cardamt", model.getValue("/root/main/m_opmi/opmi["+( i )+"]/opmi_cashamt")); //카드금액
  866. model.setValue("/root/main/m_opmi/opmi["+( i )+"]/opmi_cashamt", '0');
  867. }
  868. model.makeValue("/root/main/h_card/card["+currow+"]/card_valiterm", model.getValue("/root/main/card2/card_valiterm") );//유효일자
  869. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcptexecdd", '');
  870. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcpttm", '');
  871. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcptrid", '');
  872. model.makeValue("/root/main/h_card/card["+currow+"]/card_innrtretyn", "N");
  873. model.makeValue("/root/main/h_card/card["+currow+"]/card_preamtyn", "N");
  874. model.makeValue("/root/main/h_card/card["+currow+"]/card_remfact", '');
  875. model.makeValue("/root/main/h_card/card["+currow+"]/card_fstrgstrid", '');
  876. model.makeValue("/root/main/h_card/card["+currow+"]/card_fstrgstdt", '');
  877. model.makeValue("/root/main/h_card/card["+currow+"]/card_lastupdtrid", '');
  878. model.makeValue("/root/main/h_card/card["+currow+"]/card_lastupdtdt", '');
  879. }//if( model.getValue("/root/main/m_opmi/opmi["+( i )+"]/opmi_cashamt") != 0 ){
  880. }//end for (var i=0; i < m_otpt ; i++)
  881. // }else if( m_otpt > 0 && recardaprv == 'Y' && c_card > 0){
  882. //재승인 카드내역 생성
  883. }else if( recardaprv == 'Y' && c_card > 0){
  884. //alert("재승인");
  885. var card_rcptdd = '';
  886. var card_rcptno = 0;
  887. var card_rcptseqno = 0;
  888. var card_cardamt = 0;
  889. // var opmi_rcptdd = '';
  890. // var opmi_rcptno = '';
  891. // var opmi_rcptseqno = '';
  892. for (var i=1; i <= c_card ; i++) {
  893. card_rcptdd = model.getValue("/root/main/c_card/card["+ i +"]/card_rcptdd");
  894. card_rcptno = model.getValue("/root/main/c_card/card["+ i +"]/card_rcptno");
  895. card_rcptseqno = model.getValue("/root/main/c_card/card["+ i +"]/card_rcptseqno");
  896. card_cardamt = model.getValue("/root/main/c_card/card["+ i +"]/card_cardamt");
  897. //기존승인내역 취소처리
  898. model.setValue("/root/main/c_card/card["+ i +"]/card_rcptstat", 'C');
  899. //신규승인노드 추가
  900. grd_card2.addItem();
  901. currow = grd_card2.row;
  902. model.removeNodeset("/root/main/c_card/card["+currow+"]");
  903. //카드승인정보는 추후 받아온 데이터 로 처리
  904. //model.makeValue("/root/main/c_card/card["+currow+"]/card_aprvyn", 'Y');
  905. //model.makeValue("/root/main/c_card/card["+currow+"]/card_mseqno", i);
  906. model.makeValue("/root/main/c_card/card["+currow+"]/card_pid", gPid);
  907. model.makeValue("/root/main/c_card/card["+currow+"]/card_rcptdd", card_rcptdd);
  908. model.makeValue("/root/main/c_card/card["+currow+"]/card_rcptno", card_rcptno);
  909. model.makeValue("/root/main/c_card/card["+currow+"]/card_rcptseqno", card_rcptseqno);
  910. model.makeValue("/root/main/c_card/card["+currow+"]/card_seqno", '0');
  911. model.makeValue("/root/main/c_card/card["+currow+"]/card_instcd", model.getValue("/root/hidden/session/sess_posinstcd"));
  912. model.makeValue("/root/main/c_card/card["+currow+"]/card_rcptstat", 'Y');
  913. model.makeValue("/root/main/c_card/card["+currow+"]/card_ordtype", gOrdtype);
  914. model.makeValue("/root/main/c_card/card["+currow+"]/card_keyinptflag", model.getValue("/root/main/card2/card_keyinptflag")); //키입력구분
  915. model.makeValue("/root/main/c_card/card["+currow+"]/card_cardcmpycd", model.getValue("/root/tmp/appvanif/bankid") ); //매입처코드
  916. model.makeValue("/root/main/c_card/card["+currow+"]/card_cardno", model.getValue("/root/main/card2/card_cardno") ); //카드번호
  917. model.makeValue("/root/main/c_card/card["+currow+"]/card_aprvflag", "12");//12:카드승인응답
  918. model.makeValue("/root/main/c_card/card["+currow+"]/card_aprvdd", model.getValue("/root/tmp/appvanif/approvaldate") ); //승인일자
  919. model.makeValue("/root/main/c_card/card["+currow+"]/card_aprvtm", model.getValue("/root/tmp/appvanif/approvaltime") ); //승인시간
  920. model.makeValue("/root/main/c_card/card["+currow+"]/card_aprvno", model.getValue("/root/tmp/appvanif/approvalno") ); //승인번호
  921. model.makeValue("/root/main/c_card/card["+currow+"]/card_vancd", model.getValue("/root/tmp/appvanif/vangb") ); //VAN사구분
  922. model.makeValue("/root/main/c_card/card["+currow+"]/card_allotmm", model.getValue("/root/main/card2/card_allotmm") );//할부
  923. model.makeValue("/root/main/c_card/card["+currow+"]/card_cardamt", card_cardamt ); //카드금액
  924. model.makeValue("/root/main/c_card/card["+currow+"]/card_valiterm", model.getValue("/root/main/card2/card_valiterm") );//유효일자
  925. model.makeValue("/root/main/c_card/card["+currow+"]/card_rcptexecdd", '');
  926. model.makeValue("/root/main/c_card/card["+currow+"]/card_rcpttm", '');
  927. model.makeValue("/root/main/c_card/card["+currow+"]/card_rcptrid", '');
  928. model.makeValue("/root/main/c_card/card["+currow+"]/card_innrtretyn", "N");
  929. model.makeValue("/root/main/c_card/card["+currow+"]/card_preamtyn", "N");
  930. model.makeValue("/root/main/c_card/card["+currow+"]/card_remfact", '');
  931. model.makeValue("/root/main/c_card/card["+currow+"]/card_fstrgstrid", '');
  932. model.makeValue("/root/main/c_card/card["+currow+"]/card_fstrgstdt", '');
  933. model.makeValue("/root/main/c_card/card["+currow+"]/card_lastupdtrid", '');
  934. model.makeValue("/root/main/c_card/card["+currow+"]/card_lastupdtdt", '');
  935. //새로 추가된 노드인지 체크값!!
  936. model.makeValue("/root/main/c_card/card["+currow+"]/card_newcardnode", 'Y');
  937. }//end for (var i=1; i <= c_card ; i++) {
  938. //승인완료 후!!
  939. //재승인 플래그 삭제!!
  940. if( submit("TXPAO00454") ){
  941. messageBox("카드내역 저장 완료하였습니다. '카드내역' 탭으로 가셔서 작업을 계속 하십시오.", "I999", "");
  942. model.setValue("/root/main/iptflag/recardaprv", "");
  943. button2.visible = false; //저장버튼 활성화
  944. }else{
  945. button2.visible = true; //저장버튼 활성화
  946. messageBox("카드승인 정보를 서버에 저장하는데 실패했습니다. '카드내역II' 탭의 '저장' 버튼을 눌러 승인정보를 저장해 주세요!", "E999", "");
  947. return false;
  948. }
  949. //단일 승인 카드내역 생성
  950. }else if( recardaprv != 'Y' ){
  951. // grd_card.addItem();
  952. // currow = grd_card.row;
  953. currow = parseInt(getNodesetCount("/root/main/h_card/card/card_pid")) + 1;
  954. model.removeNodeset("/root/main/h_card/card["+currow+"]");
  955. //model.makeValue("/root/main/h_card/card["+currow+"]/card_aprvyn", 'Y');
  956. model.makeValue("/root/main/h_card/card["+currow+"]/card_pid", gPid);
  957. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcptdd", '');
  958. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcptdd", '');
  959. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcptno", '0');
  960. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcptseqno", '0');
  961. model.makeValue("/root/main/h_card/card["+currow+"]/card_seqno", '0');
  962. model.makeValue("/root/main/h_card/card["+currow+"]/card_instcd", model.getValue("/root/hidden/session/sess_posinstcd"));
  963. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcptstat", 'Y');
  964. model.makeValue("/root/main/h_card/card["+currow+"]/card_ordtype", gOrdtype);
  965. model.makeValue("/root/main/h_card/card["+currow+"]/card_keyinptflag", model.getValue("/root/main/card2/card_keyinptflag")); //키입력구분
  966. model.makeValue("/root/main/h_card/card["+currow+"]/card_cardcmpycd", model.getValue("/root/tmp/appvanif/bankid") ); //매입처코드
  967. model.makeValue("/root/main/h_card/card["+currow+"]/card_cardno", model.getValue("/root/main/card2/card_cardno") ); //카드번호
  968. model.makeValue("/root/main/h_card/card["+currow+"]/card_aprvflag", "12");//12:카드승인응답
  969. model.makeValue("/root/main/h_card/card["+currow+"]/card_aprvdd", model.getValue("/root/tmp/appvanif/approvaldate") ); //승인일자
  970. model.makeValue("/root/main/h_card/card["+currow+"]/card_aprvtm", model.getValue("/root/tmp/appvanif/approvaltime") ); //승인시간
  971. model.makeValue("/root/main/h_card/card["+currow+"]/card_aprvno", model.getValue("/root/tmp/appvanif/approvalno") ); //승인번호
  972. model.makeValue("/root/main/h_card/card["+currow+"]/card_vancd", model.getValue("/root/tmp/appvanif/vangb") ); //VAN사구분
  973. model.makeValue("/root/main/h_card/card["+currow+"]/card_allotmm", model.getValue("/root/main/card2/card_allotmm") );//할부
  974. model.makeValue("/root/main/h_card/card["+currow+"]/card_cardamt", vCardamt);
  975. model.makeValue("/root/main/h_card/card["+currow+"]/card_valiterm", model.getValue("/root/main/card2/card_valiterm") );//유효일자
  976. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcptexecdd", ''); //model.getValue("/root/main/card2/card_rcptexecdd"));
  977. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcpttm", ''); //model.getValue("/root/main/card2/card_rcpttm"));
  978. model.makeValue("/root/main/h_card/card["+currow+"]/card_rcptrid", ''); //model.getValue("/root/main/card2/card_rcptrid"));
  979. model.makeValue("/root/main/h_card/card["+currow+"]/card_innrtretyn", "N");
  980. model.makeValue("/root/main/h_card/card["+currow+"]/card_preamtyn", "N");
  981. model.makeValue("/root/main/h_card/card["+currow+"]/card_remfact", '');
  982. model.makeValue("/root/main/h_card/card["+currow+"]/card_fstrgstrid", '');
  983. model.makeValue("/root/main/h_card/card["+currow+"]/card_fstrgstdt", '');
  984. model.makeValue("/root/main/h_card/card["+currow+"]/card_lastupdtrid", '');
  985. model.makeValue("/root/main/h_card/card["+currow+"]/card_lastupdtdt", '');
  986. //if( getParameter("SPPAO02101_RTN") == 'Y' ){
  987. // model.makeValue("/root/main/h_card/card["+currow+"]/card_elctsignkey", getParameter("SPPAO02101_ELCTSIGNKEY"));
  988. // model.makeValue("/root/main/h_card/card["+currow+"]/card_elctsigncnts", getParameter("SPPAO02101_ELCTSIGNCNTS"));
  989. //}
  990. }
  991. }else{
  992. messageBox("카드승인금액이 잘못 입력되었습니다. 카드 승인금액을 확인하세요.", "E999", "");
  993. return false;
  994. }
  995. return true;
  996. }
  997. //END..
  998. //2007-12-10 이동식 추가
  999. //카드취소
  1000. function fCnclCardAprv(){
  1001. var cardAmt = 0;
  1002. var currow = grd_card.row;
  1003. //var aprvno = model.getValue("/root/main/h_card/card[" + currow + "]/card_aprvno");
  1004. var aprvno = model.getValue("/root/main/card2/card_aprvno");
  1005. var cVanCncl = model.getValue("/root/main/iptflag/cvancncl");
  1006. //가드 승인 취소 금액 계산!!
  1007. // if (eval(gMulticnt) > 0 && cVanCncl != 'Y'){
  1008. //
  1009. // var nodeCount = getNodesetCount("/root/main/h_card/card");
  1010. // for(var i = 1; i <= nodeCount; i++){
  1011. // if( aprvno == model.getValue("/root/main/h_card/card[" + i + "]/card_aprvno") ){
  1012. // cardAmt = parseInt( cardAmt ) + parseInt( model.getValue("/root/main/h_card/card[" + i + "]/card_cardamt") );
  1013. // //model.setValue("/root/main/h_card/card[" + i + "]/card_aprvyn", "N");
  1014. // }
  1015. // }
  1016. //
  1017. // }else{
  1018. //
  1019. // //cardAmt = parseInt( model.getValue("/root/main/h_card/card[" + currow + "]/card_cardamt") );
  1020. // cardAmt = parseInt( model.getValue("/root/main/card2/card_cardamt") );
  1021. // }
  1022. cardAmt = model.getValue("/root/main/card/aprvcardamt");
  1023. if( cardAmt != model.getValue("/root/main/card2/card_cardamt") ){
  1024. if( messageBox("멀티승인 취소: 총 승인취소 금액은 [" + cardAmt + "원] 입니다. 계속 진행하시겠습니까?", "Q999", "") != 6 ){
  1025. return false;
  1026. }
  1027. }
  1028. //카드승인 취소 처리
  1029. fAppCardVanData(model.getValue("/root/main/card2/card_vancd") //data1 //vangb van사구분 model.getValue("/root/main/h_card/card[" + currow + "]/card_vancd")
  1030. ,"21" //data2 //ordergb 거래구분-카드취소요청
  1031. ,getCurrentDate() //data3 //mdate 회계일자
  1032. ,gPid //data4 //pid 등록번호
  1033. ,gOrdtype //data5 //iogb 입외구분
  1034. ,gOrddeptcd //data6 //deptcode 진료과코드
  1035. ,gOrddd //data7 //diagdate 진료일자
  1036. ,model.getValue("/root/hidden/session/sess_userid") //data8 //clientid 수납자
  1037. // ,'K' //data9 //entrymode 입력구분
  1038. ,model.getValue("/root/main/card2/card_keyinptflag") //data9 //entrymode 입력구분
  1039. ,model.getValue("/root/main/card/swipedata") //data10 //track2data 트랙data
  1040. ,model.getValue("/root/main/card2/card_cardno") //data11 //cardnumber 카드번호 model.getValue("/root/main/h_card/card[" + currow + "]/card_cardno")
  1041. ,model.getValue("/root/main/card2/card_valiterm") //data12 //cardperiod 유효기간 model.getValue("/root/main/h_card/card[" + currow + "]/card_valiterm")
  1042. ,model.getValue("/root/main/card2/card_allotmm") //data13 //carddivide 할부개월수 model.getValue("/root/main/h_card/card[" + currow + "]/card_allotmm")
  1043. ,cardAmt //data14 //netamt 금액
  1044. ,model.getValue("/root/main/card2/card_aprvdd") //data15 //oldappdate 원거래승인일자(취소시) model.getValue("/root/main/h_card/card[" + currow + "]/card_aprvdd")
  1045. ,model.getValue("/root/main/card2/card_aprvtm") //data16 //oldapptime 원거래승인시간(취소시) model.getValue("/root/main/h_card/card[" + currow + "]/card_aprvtm")
  1046. ,model.getValue("/root/main/card2/card_aprvno") //data17 //oldappno 원거래승인번호(취소시) model.getValue("/root/main/h_card/card[" + currow + "]/card_aprvno")
  1047. ,gPregDmndYN //data18 //gPregDmndYN 산전진료비여부
  1048. );
  1049. if (model.getValue("/root/tmp/appvanif/replystat") != "0000" ) {
  1050. //messageBox("카드취소승인실패 => "+ model.getValue("/root/tmp/appvanif/cardname") ,"E999","");
  1051. return false;
  1052. }else {
  1053. //전자서명 처리
  1054. var parm = gPid + "▦" + //PID model.getValue("/root/main/h_card/card[" + currow + "]/card_pid")
  1055. cardAmt + "▦" + //수납대상금액 model.getValue("/root/main/h_card/card[" + currow + "]/card_cardamt")
  1056. "22" + "▦" + //승인구분
  1057. model.getValue("/root/tmp/appvanif/approvaldate") + "▦" + //승인일자
  1058. model.getValue("/root/tmp/appvanif/approvaltime") + "▦" + //승인시간
  1059. model.getValue("/root/tmp/appvanif/approvalno") + "▦" + //승인번호
  1060. model.getValue("/root/hidden/session/sess_posinstcd") + "▦" ; //기관코드
  1061. setParameter("SPPAO02101_PARM",parm);
  1062. modal("SPPAO02101", "1","400", "400", "SPPAO02101", "", "", "sysmenu:hidden;");
  1063. }
  1064. //2008-01-02 이동식 추가 - 승인내역취소일 경우
  1065. if( cVanCncl == 'Y' ){
  1066. return true;
  1067. }
  1068. //END...
  1069. var m_otpt = getNodesetCount("/root/main/m_opmi/opmi/opmi_pid");
  1070. var c_card = getNodesetCount("/root/main/c_card/card/card_pid");
  1071. var aprvno = model.getValue("/root/main/card2/card_aprvno");
  1072. var nodeCnt = getNodesetCount("/root/main/h_card/card/card_pid");
  1073. if( m_otpt > 0 ){
  1074. for (var i=1; i <= m_otpt ; i++) {
  1075. for( var inner = 1; inner <= nodeCnt; inner++ ){
  1076. if( model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_mseqno") == model.getValue("/root/main/h_card/card["+ inner +"]/card_mseqno")
  1077. && aprvno == model.getValue("/root/main/h_card/card["+ inner +"]/card_aprvno")
  1078. && model.getValue("/root/main/h_card/card["+ inner +"]/card_rcptstat") == 'Y' ){
  1079. //기존 카드노드 취소 처리
  1080. model.setValue("/root/main/h_card/card[" + inner + "]/card_rcptstat", "C");
  1081. //승인취소 노드 생성
  1082. currow2 = parseInt(getNodesetCount("/root/main/h_card/card/card_pid")) + 1;
  1083. model.removeNodeset("/root/main/h_card/card["+currow2+"]");
  1084. //카드승인정보는 추후 받아온 데이터 로 처리
  1085. //model.makeValue("/root/main/h_card/card["+currow2+"]/card_aprvyn", 'N');
  1086. model.makeValue("/root/main/h_card/card["+currow2+"]/card_mseqno", model.getValue("/root/main/m_opmi/opmi["+( i )+"]/opmi_mseqno"));
  1087. model.makeValue("/root/main/h_card/card["+currow2+"]/card_pid", gPid);
  1088. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcptdd", '');
  1089. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcptno", '0');
  1090. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcptseqno", '0');
  1091. model.makeValue("/root/main/h_card/card["+currow2+"]/card_seqno", '0');
  1092. model.makeValue("/root/main/h_card/card["+currow2+"]/card_instcd", model.getValue("/root/hidden/session/sess_posinstcd"));
  1093. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcptstat", 'D');
  1094. model.makeValue("/root/main/h_card/card["+currow2+"]/card_ordtype", gOrdtype );
  1095. // model.makeValue("/root/main/h_card/card["+currow2+"]/card_keyinptflag", model.getValue("/root/main/h_card/card["+ currow +"]/card_keyinptflag")); //키입력구분
  1096. model.makeValue("/root/main/h_card/card["+currow2+"]/card_keyinptflag", model.getValue("/root/main/card2/card_keyinptflag")); //키입력구분
  1097. model.makeValue("/root/main/h_card/card["+currow2+"]/card_cardcmpycd", model.getValue("/root/tmp/appvanif/bankid") ); //매입처코드
  1098. // model.makeValue("/root/main/h_card/card["+currow2+"]/card_cardno", model.getValue("/root/main/h_card/card["+ currow +"]/card_cardno") ); //카드번호
  1099. model.makeValue("/root/main/h_card/card["+currow2+"]/card_cardno", model.getValue("/root/main/card2/card_cardno") ); //카드번호
  1100. model.makeValue("/root/main/h_card/card["+currow2+"]/card_aprvflag", "22");//12:카드승인응답
  1101. model.makeValue("/root/main/h_card/card["+currow2+"]/card_aprvdd", model.getValue("/root/tmp/appvanif/approvaldate") ); //승인일자
  1102. model.makeValue("/root/main/h_card/card["+currow2+"]/card_aprvtm", model.getValue("/root/tmp/appvanif/approvaltime") ); //승인시간
  1103. model.makeValue("/root/main/h_card/card["+currow2+"]/card_aprvno", model.getValue("/root/tmp/appvanif/approvalno") ); //승인번호
  1104. model.makeValue("/root/main/h_card/card["+currow2+"]/card_vancd", model.getValue("/root/tmp/appvanif/vangb") ); //VAN사구분
  1105. // model.makeValue("/root/main/h_card/card["+currow2+"]/card_allotmm", model.getValue("/root/main/h_card/card["+ currow +"]/card_allotmm") );//할부
  1106. model.makeValue("/root/main/h_card/card["+currow2+"]/card_allotmm", model.getValue("/root/main/card2/card_allotmm") );//할부
  1107. if( m_otpt == 1 ){
  1108. model.makeValue("/root/main/h_card/card["+currow2+"]/card_cardamt", parseInt(model.getValue("/root/main/h_card/card[" + inner + "]/card_cardamt")) * -1);
  1109. model.setValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt", parseInt(model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt")) + parseInt(model.getValue("/root/main/h_card/card[" + inner + "]/card_cardamt")) );
  1110. }else{
  1111. model.makeValue("/root/main/h_card/card["+currow2+"]/card_cardamt", parseInt(model.getValue("/root/main/h_card/card[" + inner + "]/card_cardamt")) * -1);
  1112. model.setValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt", parseInt(model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt")) + parseInt(model.getValue("/root/main/h_card/card[" + inner + "]/card_cardamt")) );
  1113. }
  1114. // model.makeValue("/root/main/h_card/card["+currow2+"]/card_cardamt", parseInt(model.getValue("/root/main/h_card/card[" + inner + "]/card_cardamt")) * -1);
  1115. // model.setValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt", parseInt(model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt")) + parseInt(model.getValue("/root/main/h_card/card[" + inner + "]/card_cardamt")) );
  1116. // model.makeValue("/root/main/h_card/card["+currow2+"]/card_valiterm", model.getValue("/root/main/h_card/card["+ currow +"]/card_valiterm") );//유효일자
  1117. model.makeValue("/root/main/h_card/card["+currow2+"]/card_valiterm", model.getValue("/root/main/card2/card_valiterm") );//유효일자
  1118. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcptexecdd", '');
  1119. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcpttm", '');
  1120. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcptrid", '');
  1121. model.makeValue("/root/main/h_card/card["+currow2+"]/card_innrtretyn", "N");
  1122. model.makeValue("/root/main/h_card/card["+currow2+"]/card_preamtyn", "N");
  1123. model.makeValue("/root/main/h_card/card["+currow2+"]/card_remfact", '');
  1124. model.makeValue("/root/main/h_card/card["+currow2+"]/card_fstrgstrid", '');
  1125. model.makeValue("/root/main/h_card/card["+currow2+"]/card_fstrgstdt", '');
  1126. model.makeValue("/root/main/h_card/card["+currow2+"]/card_lastupdtrid", '');
  1127. model.makeValue("/root/main/h_card/card["+currow2+"]/card_lastupdtdt", '');
  1128. break;
  1129. }//if( model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_mseqno") == model.getValue("/root/main/h_card/card["+ inner +"]/card_mseqno")
  1130. }//for( var inner = 1; inner <= nodeCnt; inner++ ){
  1131. }//end for (var i=0; i < m_otpt ; i++)
  1132. // var nodeCount = getNodesetCount("/root/main/h_card/card");
  1133. // for(var i = 1; i <= nodeCount; i++){
  1134. // if( aprvno == model.getValue("/root/main/h_card/card[" + i + "]/card_aprvno")
  1135. // && model.getValue("/root/main/h_card/card[" + i + "]/card_rcptstat") == 'Y' ){
  1136. //
  1137. // //model.makeNode("/root/main/h_card/card[" + i + "]/card_aprvyn");
  1138. // model.setValue("/root/main/h_card/card[" + i + "]/card_rcptstat", "C");
  1139. // }
  1140. // }
  1141. }else {
  1142. currow2 = parseInt(getNodesetCount("/root/main/h_card/card/card_pid")) + 1;
  1143. model.removeNodeset("/root/main/h_card/card["+currow2+"]");
  1144. model.makeValue("/root/main/h_card/card["+currow2+"]/card_pid", gPid);
  1145. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcptdd", '');
  1146. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcptno", '0');
  1147. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcptseqno", '0');
  1148. model.makeValue("/root/main/h_card/card["+currow2+"]/card_seqno", '0');
  1149. model.makeValue("/root/main/h_card/card["+currow2+"]/card_instcd", model.getValue("/root/hidden/session/sess_posinstcd"));
  1150. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcptstat", 'D');
  1151. model.makeValue("/root/main/h_card/card["+currow2+"]/card_ordtype", gOrdtype );
  1152. // model.makeValue("/root/main/h_card/card["+currow2+"]/card_keyinptflag", model.getValue("/root/main/h_card/card["+ currow +"]/card_keyinptflag")); //키입력구분
  1153. model.makeValue("/root/main/h_card/card["+currow2+"]/card_keyinptflag", model.getValue("/root/main/card2/card_keyinptflag")); //키입력구분
  1154. model.makeValue("/root/main/h_card/card["+currow2+"]/card_cardcmpycd", model.getValue("/root/tmp/appvanif/bankid") ); //매입처코드
  1155. // model.makeValue("/root/main/h_card/card["+currow2+"]/card_cardno", model.getValue("/root/main/h_card/card["+ currow +"]/card_cardno") ); //카드번호
  1156. model.makeValue("/root/main/h_card/card["+currow2+"]/card_cardno", model.getValue("/root/main/card2/card_cardno") ); //카드번호
  1157. model.makeValue("/root/main/h_card/card["+currow2+"]/card_aprvflag", "22");//12:카드승인응답
  1158. model.makeValue("/root/main/h_card/card["+currow2+"]/card_aprvdd", model.getValue("/root/tmp/appvanif/approvaldate") ); //승인일자
  1159. model.makeValue("/root/main/h_card/card["+currow2+"]/card_aprvtm", model.getValue("/root/tmp/appvanif/approvaltime") ); //승인시간
  1160. model.makeValue("/root/main/h_card/card["+currow2+"]/card_aprvno", model.getValue("/root/tmp/appvanif/approvalno") ); //승인번호
  1161. model.makeValue("/root/main/h_card/card["+currow2+"]/card_vancd", model.getValue("/root/tmp/appvanif/vangb") ); //VAN사구분
  1162. // model.makeValue("/root/main/h_card/card["+currow2+"]/card_allotmm", model.getValue("/root/main/h_card/card["+ currow +"]/card_allotmm") );//할부
  1163. model.makeValue("/root/main/h_card/card["+currow2+"]/card_allotmm", model.getValue("/root/main/card2/card_allotmm") );//할부
  1164. // model.makeValue("/root/main/h_card/card["+currow2+"]/card_cardamt", parseInt(model.getValue("/root/main/h_card/card["+ currow +"]/card_cardamt")) * -1);
  1165. model.makeValue("/root/main/h_card/card["+currow2+"]/card_cardamt", parseInt(cardAmt) * -1);
  1166. // model.makeValue("/root/main/h_card/card["+currow2+"]/card_valiterm", model.getValue("/root/main/h_card/card["+ currow +"]/card_valiterm") );//유효일자
  1167. model.makeValue("/root/main/h_card/card["+currow2+"]/card_valiterm", model.getValue("/root/main/card2/card_valiterm") );//유효일자
  1168. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcptexecdd", '');
  1169. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcpttm", '');
  1170. model.makeValue("/root/main/h_card/card["+currow2+"]/card_rcptrid", '');
  1171. model.makeValue("/root/main/h_card/card["+currow2+"]/card_innrtretyn", "N");
  1172. model.makeValue("/root/main/h_card/card["+currow2+"]/card_preamtyn", "N");
  1173. model.makeValue("/root/main/h_card/card["+currow2+"]/card_remfact", '');
  1174. model.makeValue("/root/main/h_card/card["+currow2+"]/card_fstrgstrid", '');
  1175. model.makeValue("/root/main/h_card/card["+currow2+"]/card_fstrgstdt", '');
  1176. model.makeValue("/root/main/h_card/card["+currow2+"]/card_lastupdtrid", '');
  1177. model.makeValue("/root/main/h_card/card["+currow2+"]/card_lastupdtdt", '');
  1178. //if( getParameter("SPPAO02101_RTN") == 'Y' ){
  1179. // model.makeValue("/root/main/h_card/card["+currow2+"]/card_elctsignkey", getParameter("SPPAO02101_ELCTSIGNKEY"));
  1180. // model.makeValue("/root/main/h_card/card["+currow2+"]/card_elctsigncnts", getParameter("SPPAO02101_ELCTSIGNCNTS"));
  1181. //}
  1182. var nodeCount = getNodesetCount("/root/main/h_card/card/card_pid");
  1183. for(var i = 1; i <= nodeCount; i++){
  1184. if( aprvno == model.getValue("/root/main/h_card/card[" + i + "]/card_aprvno")
  1185. && model.getValue("/root/main/h_card/card[" + i + "]/card_rcptstat") == 'Y'){
  1186. //model.makeNode("/root/main/h_card/card[" + i + "]/card_aprvyn");
  1187. model.setValue("/root/main/h_card/card[" + i + "]/card_rcptstat", "C");
  1188. model.makeValue("/root/main/h_card/card["+currow2+"]/card_cardamt", parseInt(model.getValue("/root/main/h_card/card[" + i + "]/card_cardamt")) * -1);
  1189. }
  1190. }
  1191. }
  1192. return true;
  1193. }
  1194. //카드내역생성
  1195. function fMakeCardAprvSpec(){
  1196. //카드내역생성 - 2008-01-02 이동식
  1197. if( model.getValue("/root/main/iptflag/cardedit") == 'Y' ){
  1198. //강제승인할 van 정보가 선택되었는지 확인!
  1199. if( model.getValue("/root/main/h_cvan/cvan[" + grd_cvan.row + "]/cvan_aprvno")
  1200. != model.getValue("/root/main/card2/card_aprvno") ){
  1201. messageBox("van정보를 선택하지 않으셨습니다. 선택 후 다시 시도하세요!", "E999", "");
  1202. model.resetInstanceNode("/root/main/card2");
  1203. model.refresh();
  1204. return false;
  1205. }
  1206. //카드승인 내역일 경우
  1207. if( model.getValue("/root/main/h_cvan/cvan[" + grd_cvan.row + "]/cvan_aprvflag") == '12' ){ //신용카드승인
  1208. model.setValue("/root/main/card2/card_rcptstat", "Y");
  1209. //2008-03-14 이동식 추가 - 재승인 노드 생성
  1210. if( model.getValue("/root/main/iptflag/recardaprv") == 'Y' ){
  1211. cardNode = '/root/main/c_card/card';
  1212. nodeCnt = getNodesetCount("/root/main/c_card/card/card_pid");
  1213. //승인할 금액 계산
  1214. var cardAmt = 0;
  1215. for( var i = 1; i <= nodeCnt; i++ ){
  1216. cardAmt = parseInt( cardAmt ) + parseInt( model.getValue(cardNode + "[" + i + "]/card_cardamt"));
  1217. }
  1218. //에러 체크 - 금액이 다를 경우 리턴
  1219. if( cardAmt != model.getValue("/root/main/card2/card_cardamt") ){
  1220. messageBox("선택하신 VAN정보의 금액과 승인해야할 금액 이 다릅니다.", "E999", "");
  1221. return false;
  1222. }
  1223. //카드노드 생성
  1224. for( var i = 1; i <= nodeCnt; i++ ){
  1225. //카드 승인 노드 생성.
  1226. nodeCnt = parseInt(nodeCnt) + 1;
  1227. model.makeNode( cardNode + "[" + nodeCnt + "]");
  1228. model.copyNode( cardNode + "[" + nodeCnt + "]", "/root/main/card2");
  1229. model.setValue( cardNode + "[" + nodeCnt + "]/card_cardamt", model.getValue(cardNode + "[" + i + "]/card_cardamt"));
  1230. model.setValue( cardNode + "[" + nodeCnt + "]/card_pid", gPid);
  1231. model.setValue( cardNode + "[" + nodeCnt + "]/card_innrtretyn", 'N');
  1232. model.setValue( cardNode + "[" + nodeCnt + "]/card_preamtyn", 'N');
  1233. model.setValue( cardNode + "[" + nodeCnt + "]/card_rcptdd", model.getValue(cardNode + "[" + i + "]/card_rcptdd"));
  1234. model.setValue( cardNode + "[" + nodeCnt + "]/card_rcptno", model.getValue(cardNode + "[" + i + "]/card_rcptno"));
  1235. model.setValue( cardNode + "[" + nodeCnt + "]/card_rcptseqno", model.getValue(cardNode + "[" + i + "]/card_rcptseqno"));
  1236. //카드승인상태 취소('C')로 세팅한다.
  1237. model.setValue( cardNode + "["+ i + "]/card_rcptstat", 'C');
  1238. }
  1239. if( submit("TXPAO00454") ){
  1240. model.setValue("/root/main/iptflag/recardaprv", "");
  1241. }else{
  1242. button2.visible = true; //저장버튼 활성화
  1243. messageBox("카드승인 정보를 서버에 저장하는데 실패했습니다. '카드내역II' 탭의 '저장' 버튼을 눌러 승인정보를 저장해 주세요!", "E999", "");
  1244. return false;
  1245. }
  1246. }else{ //if( model.getValue("/root/main/iptflag/recardaprv") == 'Y' ){
  1247. //2008-03-14 이동식 수정 - 정상 카드 노드 생성
  1248. var multiCnt = 0;
  1249. var nodeCnt = getNodesetCount("/root/main/h_card/card/card_pid");
  1250. var cardNode = '/root/main/h_card/card';
  1251. if(eval(gMulticnt) > 0){
  1252. //일반 멀티 내역!!
  1253. //카드노드 생성
  1254. multiCnt = getNodesetCount("/root/main/m_opmi/opmi/opmi_pid");
  1255. var check = 'N';
  1256. for( var i = 1; i <= multiCnt; i++ ){
  1257. if( model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt") != 0 ){
  1258. for( var inner = 1; inner <= multiCnt; inner++ ){
  1259. if( model.getValue(cardNode + "[" + inner + "]/card_mseqno") == model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_mseqno")
  1260. && model.getValue(cardNode + "[" + inner + "]/card_aprvno") == model.getValue("/root/main/card2/card_aprvno") ){
  1261. check = 'Y';
  1262. break;
  1263. }else{
  1264. check = 'N';
  1265. }
  1266. }
  1267. if( check != 'N' ){
  1268. continue;
  1269. }
  1270. //카드 승인 노드 생성.
  1271. nodeCnt = parseInt(nodeCnt) + 1;
  1272. model.makeNode( cardNode + "[" + nodeCnt + "]");
  1273. model.makeValue( cardNode + "[" + nodeCnt + "]/card_mseqno", model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_mseqno"));
  1274. copyNodeType( cardNode + "[" + nodeCnt + "]", "/root/main/card2", "after");
  1275. model.setValue( cardNode + "[" + nodeCnt + "]/card_pid", gPid);
  1276. model.setValue( cardNode + "[" + nodeCnt + "]/card_innrtretyn", 'N');
  1277. model.setValue( cardNode + "[" + nodeCnt + "]/card_preamtyn", 'N');
  1278. model.setValue(cardNode + "[" + nodeCnt + "]/card_rcptdd", '');
  1279. model.setValue(cardNode + "[" + nodeCnt + "]/card_rcptno", '');
  1280. if( eval(gMulticnt) > 1 ){
  1281. model.setValue( cardNode + "[" + nodeCnt + "]/card_cardamt", model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt") );
  1282. model.setValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt", '0');
  1283. }else{
  1284. model.setValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt", parseInt(model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt")) - parseInt(model.getValue(cardNode + "[" + nodeCnt + "]/card_cardamt")));
  1285. }
  1286. }
  1287. }
  1288. }else{
  1289. nodeCnt = parseInt(nodeCnt) + 1;
  1290. model.makeNode( cardNode + "[" + nodeCnt + "]");
  1291. model.copyNode( cardNode + "[" + nodeCnt + "]", "/root/main/card2");
  1292. model.setValue( cardNode + "[" + nodeCnt + "]/card_pid", gPid);
  1293. model.setValue( cardNode + "[" + nodeCnt + "]/card_innrtretyn", 'N');
  1294. model.setValue( cardNode + "[" + nodeCnt + "]/card_preamtyn", 'N');
  1295. model.setValue(cardNode + "[" + nodeCnt + "]/card_rcptdd", '');
  1296. model.setValue(cardNode + "[" + nodeCnt + "]/card_rcptno", '');
  1297. }
  1298. } //if( model.getValue("/root/main/iptflag/recardaprv") == 'Y' ){
  1299. }else if( model.getValue("/root/main/h_cvan/cvan[" + grd_cvan.row + "]/cvan_aprvflag") == '22' ){ //신용카드취소
  1300. model.setValue("/root/main/card2/card_rcptstat", "D");
  1301. var aprvno = model.getValue("/root/main/card2/card_aprvno");
  1302. var multiCnt = 0;
  1303. var nodeCnt = getNodesetCount("/root/main/h_card/card/card_pid");
  1304. var nodeCnt2 = getNodesetCount("/root/main/h_card/card/card_pid");
  1305. if(eval(gMulticnt) > 0){
  1306. multiCnt = getNodesetCount("/root/main/m_opmi/opmi/opmi_pid");
  1307. for( var i = 1; i <= multiCnt; i++ ){
  1308. for( var inner = 1; inner <= nodeCnt2; inner++ ){
  1309. if( model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_mseqno") == model.getValue("/root/main/h_card/card["+ inner +"]/card_mseqno")
  1310. && aprvno == model.getValue("/root/main/h_card/card["+ inner +"]/card_aprvno")
  1311. && model.getValue("/root/main/h_card/card["+ inner +"]/card_rcptstat") == 'Y' ){
  1312. //기존 카드노드 취소 처리
  1313. model.setValue("/root/main/h_card/card[" + inner + "]/card_rcptstat", "C");
  1314. //승인취소 노드 생성
  1315. nodeCnt = parseInt(nodeCnt) + 1;
  1316. model.makeNode("/root/main/h_card/card[" + nodeCnt + "]");
  1317. model.makeValue( "/root/main/h_card/card[" + nodeCnt + "]/card_mseqno", model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_mseqno"));
  1318. copyNodeType( "/root/main/h_card/card[" + nodeCnt + "]", "/root/main/card2", "after");
  1319. model.setValue( "/root/main/h_card/card[" + nodeCnt + "]/card_pid", gPid);
  1320. model.setValue( "/root/main/h_card/card[" + nodeCnt + "]/card_innrtretyn", 'N');
  1321. model.setValue( "/root/main/h_card/card[" + nodeCnt + "]/card_preamtyn", 'N');
  1322. model.setValue("/root/main/h_card/card[" + nodeCnt + "]/card_rcptdd", '');
  1323. model.setValue("/root/main/h_card/card[" + nodeCnt + "]/card_rcptno", '');
  1324. if( eval(gMulticnt) == 1 ){
  1325. model.setValue("/root/main/h_card/card[" + nodeCnt + "]/card_cardamt", parseInt(model.getValue("/root/main/h_card/card["+ inner +"]/card_cardamt")) * -1 );
  1326. model.setValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt", parseInt(model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt")) - parseInt(model.getValue("/root/main/h_card/card["+ inner +"]/card_cardamt")) );
  1327. }else{
  1328. model.setValue("/root/main/h_card/card[" + nodeCnt + "]/card_cardamt", parseInt(model.getValue("/root/main/h_card/card["+ inner +"]/card_cardamt")) * -1 );
  1329. model.setValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt", parseInt(model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt")) - parseInt(model.getValue("/root/main/h_card/card["+ inner +"]/card_cardamt")) );
  1330. }
  1331. // model.setValue("/root/main/h_card/card[" + nodeCnt + "]/card_cardamt", parseInt(model.getValue("/root/main/h_card/card["+ inner +"]/card_cardamt")) * -1 );
  1332. // model.setValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt", parseInt(model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt")) - parseInt(model.getValue("/root/main/h_card/card["+ inner +"]/card_cardamt")) );
  1333. break;
  1334. }
  1335. }
  1336. }
  1337. }else{
  1338. nodeCnt = parseInt(nodeCnt) + 1;
  1339. model.makeNode("/root/main/h_card/card[" + nodeCnt + "]");
  1340. model.copyNode("/root/main/h_card/card[" + nodeCnt + "]", "/root/main/card2");
  1341. // if( parseInt( model.getValue("/root/main/card2/card_cardamt")) > 0 ){
  1342. // model.setValue("/root/main/h_card/card[" + nodeCnt + "]/card_cardamt", parseInt( model.getValue("/root/main/card2/card_cardamt")) * -1 );
  1343. // }
  1344. model.setValue("/root/main/h_card/card[" + nodeCnt + "]/card_pid", gPid);
  1345. model.setValue("/root/main/h_card/card[" + nodeCnt + "]/card_innrtretyn", 'N');
  1346. model.setValue("/root/main/h_card/card[" + nodeCnt + "]/card_preamtyn", 'N');
  1347. model.setValue("/root/main/h_card/card[" + nodeCnt + "]/card_rcptdd", '');
  1348. model.setValue("/root/main/h_card/card[" + nodeCnt + "]/card_rcptno", '');
  1349. for(var i = 1; i <= nodeCnt; i++){
  1350. if( aprvno == model.getValue("/root/main/h_card/card[" + i + "]/card_aprvno")
  1351. && parseInt(model.getValue("/root/main/h_card/card[" + i + "]/card_cardamt") ) > 0){
  1352. //model.makeNode("/root/main/h_card/card[" + i + "]/card_aprvyn");
  1353. // model.setValue("/root/main/h_card/card[" + i + "]/card_pid", gPid);
  1354. // model.setValue("/root/main/h_card/card[" + i + "]/card_innrtretyn", 'N');
  1355. // model.setValue("/root/main/h_card/card[" + i + "]/card_preamtyn", 'N');
  1356. model.setValue("/root/main/h_card/card[" + i + "]/card_rcptstat", "C");
  1357. model.setValue("/root/main/h_card/card[" + nodeCnt + "]/card_cardamt", parseInt( model.getValue("/root/main/h_card/card[" + i + "]/card_cardamt")) * -1 );
  1358. // model.setValue("/root/main/h_card/card[" + i + "]/card_rcptdd", '');
  1359. // model.setValue("/root/main/h_card/card[" + i + "]/card_rcptno", '');
  1360. // model.setValue("/root/main/h_card/card[" + i + "]/card_cardamt", parseInt(model.getValue("/root/main/h_card/card[" + i + "]/card_cardamt")) * -1 );
  1361. }
  1362. }
  1363. }
  1364. }
  1365. }//if( model.getValue("/root/main/iptflag/cardedit") == 'Y' ){
  1366. //2008-09-10 이동식 수정
  1367. if( gPregDmndYN != 'Y' ){
  1368. //카드탭으로 이동
  1369. swt_cardlist.selectedIndex = 1;
  1370. btn_cardvan.selected = false;
  1371. btn_cardrcpt.selected = true;
  1372. btn_cardrcpt2.selected = false;
  1373. model.setFocus("ipt_cardno");
  1374. }
  1375. fCardamtCalc();
  1376. fInit2();
  1377. return true;
  1378. }
  1379. function fAfterChangeCardNo(){
  1380. if ((ipt_cardno.currentText).length >16) {
  1381. //16자리보다 크면,
  1382. // "="이 있으면, swipe
  1383. if ( (ipt_cardno.currentText).indexOf("=") >0 ) {
  1384. var vSwipeData = "";
  1385. var vCardno_array = "";
  1386. var vCardno = "";
  1387. //vSwipeData = model.getValue("/root/main/outrgst/m_etc/cardno");
  1388. vSwipeData = ipt_cardno.currentText;
  1389. // swipe 시 첫글자에 ?
  1390. if ( vSwipeData.indexOf("?") >= 0 ) {
  1391. vSwipeData = (vSwipeData).substr(1,37);
  1392. }
  1393. if ( vSwipeData.indexOf("/") >= 0 ) {
  1394. vSwipeData = (vSwipeData).substr(1,37);
  1395. }
  1396. model.setValue("/root/main/card/swipedata", vSwipeData );
  1397. vCardno_array = vSwipeData.split("=");
  1398. vCardno = vCardno_array[0];
  1399. // swipe 시 첫글자에 ?
  1400. if ( vCardno.indexOf("?") >= 0 ) {
  1401. vCardno = (vCardno).substr(1,16);
  1402. }
  1403. if ( vCardno.indexOf("/") >= 0 ) {
  1404. vCardno = (vCardno).substr(1,16);
  1405. }
  1406. //유효일자
  1407. var vValiterm = (vCardno_array[1]).substr(0,4);
  1408. model.setValue("/root/main/card2/card_cardno", vCardno);
  1409. model.setValue("/root/main/card2/card_keyinptflag","S");
  1410. model.setValue("/root/main/card2/card_valiterm",vValiterm);
  1411. model.setValue("/root/main/card2/card_allotmm","00");
  1412. model.refresh();
  1413. model.setFocus("ipt_allotmm");
  1414. }
  1415. }else if ((ipt_cardno.currentText).length ==16) {
  1416. model.setValue("/root/main/card2/card_cardno",ipt_cardno.currentText);
  1417. model.setValue("/root/main/card2/card_keyinptflag","K");
  1418. model.setValue("/root/main/card2/card_allotmm","00");
  1419. model.refresh();
  1420. model.setFocus("ipt_valiterm");
  1421. }
  1422. }
  1423. //2007-12-11 이동식 추가 - 승인
  1424. function fAutoGetCardAprv(){
  1425. //btn_cardaprv.dispatch("DOMActivate");
  1426. if( ! fApproveCard() ){
  1427. return false;
  1428. }
  1429. //btn_confirm.dispatch("DOMActivate");
  1430. var totcardamt = parseInt(model.getValue("/root/main/card/totcardamt") );
  1431. opener.javascript.setParameter("SPPAO00400_RTN","Y");
  1432. opener.javascript.setParameter("SPPAO00400_TotCardAmt",totcardamt);
  1433. //노드복사
  1434. fCopyCardNodes();
  1435. return true;
  1436. }
  1437. //END..
  1438. //2008-01-22 이동식 추가 - 메인창에 카드노드 복사
  1439. function fCopyCardNodes(){
  1440. if (strRcv != null && strRcv != "" && strRcv != " " && strRcv != "-") {
  1441. //2008-01-02 이동식 추가
  1442. if( gOrdtype.toUpperCase( ) == 'O' ){
  1443. if( gRtnType == 'A' ){
  1444. copyNodesetType(strRcv, "/root/main/h_card", "replace", opener.model, model);
  1445. }else{
  1446. //copyNodesetType(strRcv, "/root/main/h_card", "replace", opener.model, model);
  1447. //외래의 경우 rcptstat = 'Y' 인 경우만 리턴.
  1448. model.removeNodeset("/root/main/h_card2");
  1449. model.makeNode("/root/main/h_card2");
  1450. var cnt = getNodesetCount("/root/main/h_card/card/card_pid");
  1451. var card2Cnt = 0;
  1452. for( var i = 1; i <= cnt; i++ ){
  1453. if( model.getValue("/root/main/h_card/card[" + i + "]/card_rcptstat") == 'Y'){
  1454. card2Cnt = parseInt(card2Cnt) + 1;
  1455. model.makeNode("/root/main/h_card2/card[" + card2Cnt + "]");
  1456. copyNodeType("/root/main/h_card2/card[" + card2Cnt + "]", "/root/main/h_card/card["+ i +"]", "after");
  1457. }
  1458. }
  1459. copyNodesetType(strRcv, "/root/main/h_card2", "replace", opener.model, model);
  1460. }
  1461. }else{
  1462. //입원의 경우 새로 승인딴 노드만 리턴.
  1463. model.makeNode("/root/main/h_card2/card");
  1464. var cnt = getNodesetCount("/root/main/h_card/card/card_pid");
  1465. var card2Cnt = 0;
  1466. for( var i = 1; i <= cnt; i++ ){
  1467. if( model.getValue("/root/main/h_card/card[" + i + "]/card_rcptdd") == ''
  1468. || model.getValue("/root/main/h_card/card[" + i + "]/card_rcptdd") == ' '
  1469. || model.getValue("/root/main/h_card/card[" + i + "]/card_rcptdd") == '-'){
  1470. card2Cnt = parseInt(card2Cnt) + 1;
  1471. model.makeNode("/root/main/h_card2/card[" + card2Cnt + "]");
  1472. copyNodeType("/root/main/h_card2/card[" + card2Cnt + "]", "/root/main/h_card/card["+ i +"]", "after");
  1473. }
  1474. }
  1475. copyNodesetType(strRcv, "/root/main/h_card2", "replace", opener.model, model);
  1476. }
  1477. }
  1478. }
  1479. //2007-12-11 이동식 추가 - 취소
  1480. function fAutoCnclCardAprv(){
  1481. rowCnt = getNodesetCount("/root/main/h_card/card");
  1482. for( var i = 1; i <= rowCnt; i++ ){
  1483. model.copyNode("/root/main/card2","/root/main/h_card/card["+ i +"]");
  1484. // grd_card.row = i;
  1485. //멀티승인내역 체크
  1486. if( fIsMultiCardArpv(i) ){
  1487. messageBox("카드팝업창에서 수동으로 작업을 진행해 주세요.", "E999", "")
  1488. return false;
  1489. }
  1490. grd_card.row = i;
  1491. //카드취소로직 호출
  1492. if( ! fCancelCard() ){
  1493. if( i == 1 ){
  1494. return false;
  1495. }else{
  1496. messageBox("카드승인취소 도중 오류가 발생했습니다. 카드팝업창에서 수동으로 작업을 진행해 주세요.", "E999", "");
  1497. //opener.ivr_cardpopup.visible = true;
  1498. return 'cnclError';
  1499. }
  1500. }else{
  1501. if (eval(gMulticnt) > 0){
  1502. break;
  1503. }
  1504. }
  1505. }
  1506. var totcardamt = parseInt(model.getValue("/root/main/card/totcardamt") );
  1507. opener.javascript.setParameter("SPPAO00400_RTN","Y");
  1508. opener.javascript.setParameter("SPPAO00400_TotCardAmt",totcardamt);
  1509. //노드 복사
  1510. fCopyCardNodes();
  1511. return true;
  1512. }
  1513. //END..
  1514. //2007-12-13 이동식 추가 : 카드취소 로직 함수 처리
  1515. function fCancelCard(){
  1516. if( model.getValue("/root/main/iptflag/cvancncl") != 'Y' ){
  1517. var currow = grd_card.row;
  1518. if (parseInt(currow) < 1)
  1519. {
  1520. messageBox("승인취소할 카드내역을 선택하십시요!","E999","");
  1521. return false;
  1522. }
  1523. //마이너스 금액인 경우 이미 취소된 내역이므로 리턴
  1524. var card_cardamt = model.getValue("/root/main/card2/card_cardamt");
  1525. card_cardamt = eval(card_cardamt);
  1526. if (model.getValue("/root/main/h_card/card[" + currow + "]/card_rcptstat") == 'D' || model.getValue("/root/main/h_card/card[" + currow + "]/card_rcptstat") == 'C'){
  1527. messageBox("이미 승인취소된 내역입니다!","E999","");
  1528. return false;
  1529. }
  1530. }
  1531. //카드번호,카드회사,유효기간,결제금액,할부개월
  1532. var card_cardno = model.getValue("/root/main/card2/card_cardno");
  1533. if (card_cardno == null || card_cardno == "" || card_cardno == " " || card_cardno == "-")
  1534. {
  1535. messageBox("카드번호가 미입력되었습니다!","E999","");
  1536. return false;
  1537. }
  1538. var card_valiterm = model.getValue("/root/main/card2/card_valiterm");
  1539. if (card_valiterm == null || card_valiterm == "" || card_valiterm == " " || card_valiterm == "-")
  1540. {
  1541. messageBox("유효기간이 미입력되었습니다!","E999","");
  1542. return false;
  1543. }
  1544. var card_aprvdd = model.getValue("/root/main/card2/card_aprvdd");
  1545. if (card_aprvdd == null || card_aprvdd == "" || card_aprvdd == " " || card_aprvdd == "-")
  1546. {
  1547. messageBox("승인일자가 미입력되었습니다!","E999","");
  1548. return false;
  1549. }else if( card_aprvdd < '20081003' ){
  1550. messageBox("nU 이전 카드 승인내역은 취소할 수 없습니다. 현금반환하세요!!","E999","");
  1551. return false;
  1552. }
  1553. var card_aprvtm = model.getValue("/root/main/card2/card_aprvtm");
  1554. if (card_aprvtm == null || card_aprvtm == "" || card_aprvtm == " " || card_aprvtm == "-")
  1555. {
  1556. messageBox("승인시간이 미입력되었습니다!","E999","");
  1557. return false;
  1558. }
  1559. var card_aprvno = model.getValue("/root/main/card2/card_aprvno");
  1560. if (card_aprvno == null || card_aprvno == "" || card_aprvno == " " || card_aprvno == "-")
  1561. {
  1562. messageBox("승인번호가 미입력되었습니다!","E999","");
  1563. return false;
  1564. }
  1565. var card_cardamt = model.getValue("/root/main/card2/card_cardamt");
  1566. if (card_cardamt == null || card_cardamt == "" || card_cardamt == " " || card_cardamt == "-")
  1567. {
  1568. messageBox("카드금액이 미입력되었습니다!","E999","");
  1569. return false;
  1570. }else if ( parseInt( card_cardamt ) < 0 ){
  1571. model.setValue("/root/main/card2/card_cardamt", parseInt(card_cardamt) * -1 );
  1572. }
  1573. var card_allotmm = model.getValue("/root/main/card2/card_allotmm");
  1574. if (card_allotmm == null || card_allotmm == "" || card_allotmm == " " || card_allotmm == "-")
  1575. {
  1576. messageBox("할부개월이 미입력되었습니다!","E999","");
  1577. model.setValue("/root/main/card2/card_allotmm", '00')
  1578. return false;
  1579. }
  1580. //실제 승인 취소
  1581. if(! fCnclCardAprv() ){
  1582. return false;
  1583. }
  1584. //END..
  1585. return true;
  1586. }
  1587. //END..
  1588. //2007-12-13 이동식 추가 : 카드승인 로직 함수 처리
  1589. function fApproveCard(){
  1590. //카드번호,카드회사,유효기간,결제금액,할부개월
  1591. var cardno = model.getValue("/root/main/card2/card_cardno");
  1592. if (cardno == null || cardno == "" || cardno == " " || cardno == "-")
  1593. {
  1594. messageBox("카드번호가 미입력되었습니다!","E999","");
  1595. return false;
  1596. }
  1597. var card_valiterm = model.getValue("/root/main/card2/card_valiterm");
  1598. if (card_valiterm == null || card_valiterm == "" || card_valiterm == " " || card_valiterm == "-")
  1599. {
  1600. messageBox("유효기간이 미입력되었습니다!","E999","");
  1601. return false;
  1602. }
  1603. var card_cardamt = model.getValue("/root/main/card2/card_cardamt");
  1604. if (card_cardamt == null || card_cardamt == "" || card_cardamt == " " || card_cardamt == "-")
  1605. {
  1606. messageBox("카드금액이 미입력되었습니다!","E999","");
  1607. return false;
  1608. }
  1609. var card_allotmm = model.getValue("/root/main/card2/card_allotmm");
  1610. if (card_allotmm == null || card_allotmm == "" || card_allotmm == " " || card_allotmm == "-")
  1611. {
  1612. messageBox("할부개월이 미입력되었습니다!","E999","");
  1613. model.setValue("/root/main/card2/card_allotmm", '00')
  1614. return false;
  1615. }
  1616. //승인금액 체크
  1617. var recardaprv = model.getValue("/root/main/iptflag/recardaprv");
  1618. var totrcptamt = model.getValue("/root/main/card/totrcptamt");
  1619. var totcardamt = model.getValue("/root/main/card/totcardamt");
  1620. var card_cardamt = model.getValue("/root/main/card2/card_cardamt");
  1621. if( recardaprv != 'Y' ){
  1622. if( parseInt(model.getValue("/root/main/card/totrcptamt")) ==
  1623. parseInt( model.getValue("/root/main/card/totcardamt")) ){
  1624. if( messageBox("수납대상금액과 카드결제금액이 같습니다. 더이상 카드 수납할 금액이 없습니다. 계속 진행 하시겠습니까?", "Q999", "") != 6 ){
  1625. return false;
  1626. }
  1627. }else if( parseInt(model.getValue("/root/main/card/totrcptamt")) <
  1628. parseInt( model.getValue("/root/main/card/totcardamt")) + parseInt(model.getValue("/root/main/card2/card_cardamt")) ){
  1629. if( messageBox("수납대상금액보다 카드결제금액이 많습니다. 계속 진행 하시겠습니까?", "Q999", "") != 6 ){
  1630. return false;
  1631. }
  1632. }else if( parseInt(model.getValue("/root/main/card/totrcptamt")) <= 0 ){
  1633. if( messageBox("수납대상금액이 0원 이거나 마이너스 금액입니다! 계속 진행 하시겠습니까?", "Q999", "") != 6 ){
  1634. return false;
  1635. }
  1636. }else if( parseInt(model.getValue("/root/main/card2/card_cardamt")) == 0){
  1637. messageBox("결제금액이 0원입니다. 확인하시고 다시 카드승인하세요!", "E999", "");
  1638. return false;
  1639. }
  1640. if (eval(gMulticnt) > 1 ){ //멀티승인
  1641. if (parseInt(totrcptamt) - parseInt(totcardamt) != parseInt(card_cardamt)){
  1642. messageBox("멀티수납시 카드 한 건으로 수납대상금액 전체를 결제해야 합니다!","E999","");
  1643. return false;
  1644. }
  1645. }
  1646. }else if( recardaprv == 'Y'){
  1647. var cardAmt = 0;
  1648. var cnt = getNodesetCount("/root/main/c_card/card/card_pid");
  1649. for( var i = 1; i <= cnt; i++ ){
  1650. cardAmt = parseInt( cardAmt ) + parseInt( model.getValue("/root/main/c_card/card[" + i + "]/card_cardamt") );
  1651. }
  1652. if( cardAmt != card_cardamt ){
  1653. messageBox("멀티카드수납내역을 변경/취소하기 위한 재승인인 경우에는 재승인할 카드승인금액 합과 결제 금액이 같아야 합니다.", "E999", "");
  1654. return false;
  1655. }
  1656. }
  1657. //실제 카드 승인 및 승인 노드 생성
  1658. if(! fGetCardAprv() ){
  1659. //messageBox("카드 승인 실패했습니다. 다시 시도해 주세요.", "E999", "");
  1660. return false;
  1661. }
  1662. //END..
  1663. return true;
  1664. }
  1665. //END..
  1666. //2008-03-10 이동식
  1667. function fIsMultiCardArpv( currow ){
  1668. model.resetInstanceNode("/root/send");
  1669. model.copyNode("/root/send/data1", "/root/main/h_card/card[" + currow + "]");
  1670. if( submit("TRPAO00456") ){
  1671. if( getNodesetCount("/root/main/c_card/card/card_pid") > 0 ){
  1672. //실 승인금액 세팅
  1673. model.setValue("/root/main/card/aprvcardamt", model.getValue("/root/main/c_card/card[1]/card_totalaprvamt"));
  1674. var cCardCnt = getNodesetCount("/root/main/c_card/card/card_pid");
  1675. var hCardCnt = getNodesetCount("/root/main/h_card/card/card_pid");
  1676. var cRcptDD = '';
  1677. var cRcptNo = '';
  1678. var cRcptSeqNo = '';
  1679. var cAprvNo = '';
  1680. var checkValue = false;
  1681. model.makeNode("/root/main/b_card");
  1682. for( var cCard = 1; cCard <= cCardCnt; cCard++ ){
  1683. cRcptDD = model.getValue("/root/main/c_card/card[" + cCard + "]/card_rcptdd");
  1684. cRcptNo = model.getValue("/root/main/c_card/card[" + cCard + "]/card_rcptno");
  1685. cRcptSeqNo = model.getValue("/root/main/c_card/card[" + cCard + "]/card_rcptseqno");
  1686. cAprvNo = model.getValue("/root/main/c_card/card[" + cCard + "]/card_aprvno");
  1687. for( var hCard = 1; hCard <= hCardCnt; hCard++ ){
  1688. if( cRcptDD == model.getValue("/root/main/h_card/card[" + hCard + "]/card_rcptdd") &&
  1689. cRcptNo == model.getValue("/root/main/h_card/card[" + hCard + "]/card_rcptno") &&
  1690. cRcptSeqNo == model.getValue("/root/main/h_card/card[" + hCard + "]/card_rcptseqno") &&
  1691. cAprvNo == model.getValue("/root/main/h_card/card[" + hCard + "]/card_aprvno") ){
  1692. //alert("true");
  1693. checkValue = true;
  1694. break;
  1695. }
  1696. }
  1697. if( checkValue != true ){
  1698. var rowCnt = parseInt(getNodesetCount("/root/main/b_card/card/card_pid")) + 1;
  1699. model.makeNode("/root/main/b_card/card[" + rowCnt + "]");
  1700. model.copyNode("/root/main/b_card/card[" + rowCnt + "]", "/root/main/c_card/card[" + cCard + "]");
  1701. //alert(getNodesetCount("/root/main/b_card/card/card_pid"));
  1702. checkValue = false;
  1703. }else{
  1704. checkValue = false;
  1705. }
  1706. }
  1707. model.copyNode("/root/main/c_card", "/root/main/b_card");
  1708. model.removeNodeset("/root/main/b_card");
  1709. }else{
  1710. var totalAprvAmt = 0;
  1711. //실제 카드승인금액 세팅
  1712. for( var i = 1; i <= getNodesetCount("/root/main/h_card/card/card_pid"); i++ ){
  1713. if( model.getValue("/root/main/h_card/card[" + currow + "]/card_aprvno") == model.getValue("/root/main/h_card/card[" + i + "]/card_aprvno") ){
  1714. totalAprvAmt = parseInt(totalAprvAmt) + parseInt( model.getValue("/root/main/h_card/card[" + i + "]/card_cardamt"));
  1715. }
  1716. }
  1717. model.setValue("/root/main/card/aprvcardamt", totalAprvAmt);
  1718. }
  1719. if( getNodesetCount("/root/main/c_card/card/card_pid") > 0 ){
  1720. messageBox("멀티 승인된 카드 내역입니다. 승인취소는 다른 승인내역들을 재 승인 후 가능합니다.", "I999", "");
  1721. //재승인카드 탭 보이게 설정
  1722. btn_cardrcpt2.visible = true;
  1723. //카드 승인할 금액세팅
  1724. var cardAmtSum = 0;
  1725. for( var i = 1; i <= getNodesetCount("/root/main/c_card/card_pid"); i++ ){
  1726. cardAmtSum = parseInt(cardAmtSum) + parseInt(model.getValue("/root/main/c_card/card[" + i + "]/card_cardamt"));
  1727. }
  1728. model.setValue("/root/main/card2/card_cardamt", cardAmtSum);
  1729. model.setValue("/root/main/card2/card_aprvdd", "");
  1730. model.setValue("/root/main/card2/card_aprvtm", "");
  1731. model.setValue("/root/main/card2/card_aprvno", "");
  1732. //재승인 플래그 세팅
  1733. model.setValue("/root/main/iptflag/recardaprv", "Y");
  1734. //재승인탭 디폴드로 선택!!
  1735. //재승인 후 취소!!
  1736. swt_cardlist.selectedIndex = 2;
  1737. btn_cardvan.selected = false;
  1738. btn_cardrcpt.selected = false;
  1739. btn_cardrcpt2.selected = true;
  1740. }else{
  1741. //재승인카드 탭 숨기기 설정
  1742. btn_cardrcpt2.visible = false;
  1743. //재승인 플래그 세팅
  1744. model.setValue("/root/main/iptflag/recardaprv", "");
  1745. model.removeNodeset("/root/send/data1");
  1746. model.makeNode("/root/send/data1");
  1747. return false;
  1748. }
  1749. }else{
  1750. //재승인카드 탭 숨기기 설정
  1751. btn_cardrcpt2.visible = false;
  1752. //재승인 플래그 세팅
  1753. model.setValue("/root/main/iptflag/recardaprv", "");
  1754. model.removeNodeset("/root/send/data1");
  1755. model.makeNode("/root/send/data1");
  1756. return false;
  1757. }
  1758. model.removeNodeset("/root/send/data1");
  1759. model.makeNode("/root/send/data1");
  1760. return true;
  1761. }
  1762. //END..
  1763. ]]>
  1764. </script>
  1765. </xhtml:head>
  1766. <xhtml:body pagewidth="736" pageheight="580" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  1767. <group id="group3" scroll="auto" style="left:0px; top:0px; width:710px; height:531px; ">
  1768. <group id="group1" style="left:0px; top:0px; width:120px; height:110px; ">
  1769. <caption id="caption5" class="tit_2" style="left:5px; top:15px; width:111px; height:13px; ">입력구분</caption>
  1770. <select1 id="rdo_keyinptflag" ref="/root/main/card2/card_keyinptflag" appearance="full" vcellspacing="5" overflow="visible" style="left:10px; top:40px; width:100px; height:40px; border-style:none; ">
  1771. <choices>
  1772. <item>
  1773. <label>Swipe</label>
  1774. <value>S</value>
  1775. </item>
  1776. <item>
  1777. <label>Key-In</label>
  1778. <value>K</value>
  1779. </item>
  1780. </choices>
  1781. </select1>
  1782. <shape id="rec_keyinptflag" class="roundrect_example" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:2px; top:33px; width:113px; height:77px; "/>
  1783. <select id="chk_onlycard" ref="/root/main/iptflag/cardaprv" appearance="full" style="left:10px; top:86px; width:100px; height:15px; color:#ff0000; border-style:none; ">
  1784. <choices>
  1785. <item>
  1786. <label>강제카드결제</label>
  1787. <value>Y</value>
  1788. </item>
  1789. </choices>
  1790. <script type="javascript" ev:event="xforms-value-changed">
  1791. <![CDATA[
  1792. var onlycard = model.getValue("/root/main/iptflag/cardaprv");
  1793. if( onlycard == 'Y' ){
  1794. messageBox("강제카드결제를 선택 하셨습니다. \nVAN정보를 정확히 입력하신 후 '카드승인' 또는 '승인취소' 버튼을 누르세요.", "I999", "");
  1795. model.setValue("/root/main/card2/card_keyinptflag", "K");
  1796. }else{
  1797. messageBox("강제카드결제를 선택해제 하셨습니다. \n실제 '카드승인' 또는 '승인취소' 합니다.", "I999", "");
  1798. }
  1799. //model.setValue("/root/main/iptflag/cardaprv", "");
  1800. model.setValue("/root/main/iptflag/cvancncl", "");
  1801. btn_cardaprv.disabled = false;
  1802. model.setValue("/root/main/iptflag/cardedit", "");
  1803. btn_makecardaprv.visible = false;
  1804. btn_cardaprv.visible = true;
  1805. btn_cardcncl.visible = true;
  1806. ]]>
  1807. </script>
  1808. </select>
  1809. </group>
  1810. <group id="group2" style="left:120px; top:1px; width:590px; height:109px; ">
  1811. <button id="btn_makecardaprv" class="btn2_letter8" style="left:458px; top:10px; width:108px; height:19px; ">
  1812. <caption>카드승인내역생성</caption>
  1813. <script type="javascript" ev:event="DOMActivate">
  1814. <![CDATA[
  1815. fMakeCardAprvSpec();
  1816. ]]>
  1817. </script>
  1818. </button>
  1819. <caption id="caption10" class="cell_1" style="left:218px; top:83px; width:110px; height:23px; vertical-align:middle; ">승인일시/승인번호</caption>
  1820. <caption id="caption1" class="tit_2" style="left:5px; top:15px; width:111px; height:13px; ">승인내역</caption>
  1821. <line id="line3" class="line_2" style="x1:0px; y1:57px; x2:590px; y2:57px; "/>
  1822. <line id="line12" class="line_1" style="x1:0px; y1:30px; x2:590px; y2:30px; "/>
  1823. <line id="line1" class="line_2" style="x1:0px; y1:81px; x2:590px; y2:81px; "/>
  1824. <line id="line2" class="line_3" style="x1:0px; y1:106px; x2:590px; y2:106px; "/>
  1825. <caption id="caption2" class="cell_1" style="left:0px; top:35px; width:60px; height:23px; vertical-align:middle; ">카드번호</caption>
  1826. <caption id="caption3" class="cell_1" style="left:0px; top:83px; width:60px; height:23px; vertical-align:middle; ">할부개월</caption>
  1827. <caption id="caption6" class="cell_1" style="left:0px; top:59px; width:60px; height:23px; vertical-align:middle; ">유효기간</caption>
  1828. <caption id="caption7" class="cell_1" style="left:218px; top:59px; width:110px; height:23px; vertical-align:middle; ">결제금액</caption>
  1829. <caption id="caption4" style="left:113px; top:59px; width:60px; height:23px; vertical-align:middle; ">(YYMM)</caption>
  1830. <input id="ipt_cardno" ref="/root/main/card2/card_cardno" class="input_default" maxlength="40" style="left:63px; top:36px; width:152px; height:19px; ">
  1831. <script type="javascript" ev:event="xforms-value-changed">
  1832. <![CDATA[
  1833. fAfterChangeCardNo();
  1834. ]]>
  1835. </script>
  1836. <script type="javascript" ev:event="onkeypress">
  1837. <![CDATA[
  1838. if (event.keyCode == "13") {
  1839. fAfterChangeCardNo();
  1840. }
  1841. ]]>
  1842. </script>
  1843. </input>
  1844. <input id="ipt_valiterm" ref="/root/main/card2/card_valiterm" class="input_default" autonext="true" maxlength="4" style="left:63px; top:60px; width:47px; height:19px; ">
  1845. <script type="javascript" ev:event="DOMFocusOut">
  1846. <![CDATA[
  1847. model.setFocus("ipt_allotmm");
  1848. ]]>
  1849. </script>
  1850. </input>
  1851. <select1 id="cmb_allotmm" ref="/root/main/card2/card_allotmm" class="combo_default" appearance="minimal" style="left:63px; top:85px; width:109px; height:19px; ">
  1852. <choices>
  1853. <itemset nodeset="/root/init_com/init/P0078list/P0078">
  1854. <label ref="cdnm"/>
  1855. <value ref="cdid"/>
  1856. </itemset>
  1857. </choices>
  1858. <script type="javascript" ev:event="xforms-select">
  1859. <![CDATA[
  1860. // model.setValue("/root/main/card2/card_allotmm2",model.getValue("/root/main/card2/card_allotmm"));
  1861. model.refresh();
  1862. ]]>
  1863. </script>
  1864. </select1>
  1865. <input id="ipt_allotmm" ref="/root/main/card2/card_allotmm" class="input_default" maxlength="2" style="left:175px; top:85px; width:40px; height:19px; ">
  1866. <script type="javascript" ev:event="xforms-value-changed">
  1867. <![CDATA[
  1868. // model.setValue("/root/main/card2/card_allotmm",model.getValue("/root/main/card2/card_allotmm2"));
  1869. model.refresh();
  1870. ]]>
  1871. </script>
  1872. </input>
  1873. <input id="ipt_cardamt" ref="/root/main/card2/card_cardamt" class="input_default" format="(-)#,###" style="left:331px; top:60px; width:131px; height:19px; text-align:right; ">
  1874. <script type="javascript" ev:event="onkeypress">
  1875. <![CDATA[
  1876. if (event.keyCode == "13") {
  1877. model.setFocus("input5");
  1878. model.setFocus("ipt_cardamt");
  1879. //if( model.getValue("/root/main/card2/card_cardamt/card_aprvflag") == '' ){
  1880. // model.setValue("/root/main/card2/card_cardamt", ipt_cardamt.currentText);
  1881. //
  1882. // var subtotalamt = parseInt(model.getValue("/root/main/card/totrcptamt"))
  1883. // - parseInt(model.getValue("/root/main/card/totcardamt"))
  1884. // - parseInt(model.getValue("/root/main/card2/card_cardamt"));
  1885. // model.setValue("/root/main/card/subtotalamt", subtotalamt);
  1886. // model.refresh();
  1887. //}
  1888. }
  1889. ]]>
  1890. </script>
  1891. <script type="javascript" ev:event="xforms-value-changed">
  1892. <![CDATA[
  1893. //if( model.getValue("/root/main/card2/card_cardamt/card_aprvflag") == '' ){
  1894. var subtotalamt = parseInt(model.getValue("/root/main/card/totrcptamt"))
  1895. - parseInt(model.getValue("/root/main/card/totcardamt"))
  1896. - parseInt(model.getValue("/root/main/card2/card_cardamt"));
  1897. model.setValue("/root/main/card/subtotalamt", subtotalamt);
  1898. model.refresh();
  1899. //}
  1900. ]]>
  1901. </script>
  1902. </input>
  1903. <button id="btn_clear" class="btn2_letter2" style="left:413px; top:10px; width:42px; height:19px; ">
  1904. <caption>입력</caption>
  1905. <script type="javascript" ev:event="DOMActivate">
  1906. <![CDATA[
  1907. fInit2();
  1908. ]]>
  1909. </script>
  1910. </button>
  1911. <button id="btn_cardaprv" class="btn2_letter4" style="left:458px; top:10px; width:64px; height:19px; ">
  1912. <caption>카드승인</caption>
  1913. <script type="javascript" ev:event="DOMActivate">
  1914. <![CDATA[
  1915. //model.toggle("case_card");
  1916. // swt_cardlist.selectedIndex = 1;
  1917. // btn_cardvan.selected = false;
  1918. // btn_cardrcpt.selected = true;
  1919. //강제카드결제 - 2008-01-25 이동식
  1920. if( model.getValue("/root/main/iptflag/cardaprv") == 'Y' ){
  1921. if( ! fForceCardAprv("I") ){
  1922. return false;
  1923. }
  1924. model.setValue("/root/main/iptflag/cardaprv", '');
  1925. model.refresh();
  1926. return true;
  1927. }
  1928. //end..
  1929. //승인내역취소 - 2008-01-02 이동식 (에러상황)
  1930. if( model.getValue("/root/main/iptflag/cvancncl") == 'Y' ){
  1931. messageBox("'승인내역취소'을 선택하고 카드승인을 할 수 없습니다. 선택 해제하고 다시 시도하세요!", "E999", "");
  1932. model.resetInstanceNode("/root/main/card2");
  1933. model.refresh();
  1934. return false;
  1935. //정상승인
  1936. }else{
  1937. //멀티접수 변경/취소 시 재승인 체크
  1938. if( model.getValue("/root/main/iptflag/recardaprv") == 'Y' ){
  1939. var row = grd_card2.row;
  1940. var col = grd_card2.col;
  1941. if( model.getValue("/root/main/card2/card_rcptdd") != model.getValue("/root/main/c_card/card[" + row + "]/card_rcptdd")
  1942. || model.getValue("/root/main/card2/card_rcptno") != model.getValue("/root/main/c_card/card[" + row + "]/card_rcptno")
  1943. || model.getValue("/root/main/card2/card_aprvno") != model.getValue("/root/main/c_card/card[" + row + "]/card_aprvno") ){
  1944. messageBox("멀티접수내역 변경/취소 시 재승인이 먼저 입니다. 재승인할 카드 노드를 정확히 선택해 주세요.", "E999", "");
  1945. return false;
  1946. }
  1947. }
  1948. if(! fApproveCard() ){
  1949. return false;
  1950. }
  1951. }
  1952. //2008-09-10 이동식 수정
  1953. //카드 승인 후 VAN정보 재조회
  1954. model.resetInstanceNode("/root/send");
  1955. model.setValue("/root/send/data1", gPid);
  1956. model.setValue("/root/send/data3", "-");
  1957. model.setValue("/root/send/data4", gOrdtype);
  1958. model.setValue("/root/send/data5", gPregDmndYN);
  1959. if( ! submit("TRPAO00453") ){
  1960. messageBox("VAN정보를 가져오지 못했습니다. 승인된 VAN내역을 확인하시려면 [VAN정보]탭의 '승인내역조회'를 해주세요.", "E999","");
  1961. return false;
  1962. }
  1963. if( gPregDmndYN != 'Y' ){
  1964. //카드탭으로 이동
  1965. swt_cardlist.selectedIndex = 1;
  1966. btn_cardvan.selected = false;
  1967. btn_cardrcpt.selected = true;
  1968. btn_cardrcpt2.selected = false;
  1969. model.setFocus("ipt_cardno");
  1970. }
  1971. fCardamtCalc();
  1972. fInit2();
  1973. ]]>
  1974. </script>
  1975. </button>
  1976. <button id="btn_cardcncl" class="btn2_letter4" style="left:525px; top:10px; width:64px; height:19px; ">
  1977. <caption>승인취소</caption>
  1978. <script type="javascript" ev:event="DOMActivate">
  1979. <![CDATA[
  1980. // swt_cardlist.selectedIndex = 1;
  1981. // btn_cardvan.selected = false;
  1982. // btn_cardrcpt.selected = true;
  1983. //강제카드결제 - 2008-01-25 이동식
  1984. if( model.getValue("/root/main/iptflag/cardaprv") == 'Y' ){
  1985. if( ! fForceCardAprv("D") ){
  1986. return false;
  1987. }
  1988. model.setValue("/root/main/iptflag/cardaprv", '');
  1989. model.refresh();
  1990. return true;
  1991. }
  1992. //end..
  1993. //멀티접수 변경/취소 시 재승인 체크
  1994. if( model.getValue("/root/main/iptflag/recardaprv") == 'Y' ){
  1995. var row = grd_card2.row;
  1996. var col = grd_card2.col;
  1997. messageBox("멀티접수내역 변경/취소 시 재승인이 먼저 입니다.", "E999", "");
  1998. return false;
  1999. }
  2000. //멀티접수인 경우 카드내역 삭제시 일괄 삭제
  2001. var aprvno = model.getValue("/root/main/h_card/card[" + grd_card.row + "]/card_aprvno");
  2002. if (eval(gMulticnt) > 1 && model.getValue("/root/main/iptflag/cvancncl") != 'Y' &&
  2003. getNodesetCount("/root/main/h_card/card[ card_aprvno = " + aprvno + "]") > 1)
  2004. {
  2005. var result = messageBox("멀티접수인 경우 카드내역 전체를 승인취소합니다 진행","S001","");
  2006. if (result != "6"){
  2007. return false;
  2008. }
  2009. }
  2010. //승인내역취소 - 2008-01-02 이동식
  2011. if( model.getValue("/root/main/iptflag/cvancncl") == 'Y' ){
  2012. //강제승인할 van 정보가 선택되었는지 확인!
  2013. if( model.getValue("/root/main/h_cvan/cvan[" + grd_cvan.row + "]/cvan_aprvno")
  2014. != model.getValue("/root/main/card2/card_aprvno") ){
  2015. messageBox("van정보를 선택하지 않으셨습니다. 선택 후 다시 시도하세요!", "E999", "");
  2016. model.resetInstanceNode("/root/main/card2");
  2017. model.refresh();
  2018. return false;
  2019. //카드승인 van 정보가 맞는지 확인한다.
  2020. }else if( model.getValue("/root/main/h_cvan/cvan[" + grd_cvan.row + "]/cvan_aprvflag") != '12' ){ //신용카드취소
  2021. messageBox("선택하신 van정보는 승인취소할 수 없습니다. 이미 승인취소된 내역인지 확인하신 후 다시 시도하세요!", "E999", "");
  2022. model.resetInstanceNode("/root/main/card2");
  2023. model.refresh();
  2024. return false;
  2025. }
  2026. //승인취소로직 호출
  2027. if(! fCancelCard() ){
  2028. return false;
  2029. }
  2030. //정상승인
  2031. }else{
  2032. //2008-01-02 이동식 추가
  2033. if( gOrdtype.toUpperCase( ) == 'O' || gFLAG == 'D'){
  2034. //승인취소로직 호출
  2035. if(! fCancelCard() ){
  2036. return false;
  2037. }
  2038. //입원일 경우 카드내역 승인취소 불가
  2039. }else{
  2040. messageBox("입원 카드내역의 승인취소는 '수납취소' 또는 '카드변경'을 이용하십시요!", "E999", "");
  2041. model.resetInstanceNode("/root/main/card2");
  2042. model.refresh();
  2043. return false;
  2044. }
  2045. }
  2046. //2008-09-10 이동식 수정
  2047. //카드 승인 후 VAN정보 재조회
  2048. model.resetInstanceNode("/root/send");
  2049. model.setValue("/root/send/data1", gPid);
  2050. model.setValue("/root/send/data3", "-");
  2051. model.setValue("/root/send/data4", gOrdtype);
  2052. model.setValue("/root/send/data5", gPregDmndYN);
  2053. if( ! submit("TRPAO00453") ){
  2054. messageBox("VAN정보를 가져오지 못했습니다. 승인된 VAN내역을 확인하시려면 [VAN정보]탭의 '승인내역조회'를 해주세요.", "E999","");
  2055. return false;
  2056. }
  2057. if( gPregDmndYN != 'Y' ){
  2058. //카드탭으로 이동
  2059. swt_cardlist.selectedIndex = 1;
  2060. btn_cardvan.selected = false;
  2061. btn_cardrcpt.selected = true;
  2062. btn_cardrcpt2.selected = false;
  2063. model.setFocus("ipt_cardno");
  2064. }
  2065. fCardamtCalc();
  2066. fInit2();
  2067. ]]>
  2068. </script>
  2069. </button>
  2070. <input id="input1" ref="/root/main/card/swipedata" visibility="hidden" style="left:80px; top:7px; width:150px; height:19px; "/>
  2071. <caption id="caption11" class="cell_1" style="left:218px; top:35px; width:110px; height:23px; vertical-align:middle; ">카드회사</caption>
  2072. <select1 id="combo1" ref="/root/main/card2/card_cardcmpycd" appearance="minimal" style="left:331px; top:36px; width:257px; height:19px; ">
  2073. <choices>
  2074. <itemset nodeset="/root/init_com/init/P0076list/P0076">
  2075. <label ref="cdnm"/>
  2076. <value ref="cdid"/>
  2077. </itemset>
  2078. </choices>
  2079. </select1>
  2080. <input id="input2" ref="/root/main/card2/card_aprvdd" maxlength="8" format="yyyy-mm-dd" style="left:331px; top:85px; width:69px; height:19px; "/>
  2081. <input id="input3" ref="/root/main/card2/card_aprvtm" maxlength="6" format="hh:nn:ss" style="left:403px; top:85px; width:59px; height:19px; "/>
  2082. <input id="input4" ref="/root/main/card2/card_aprvno" maxlength="30" style="left:465px; top:85px; width:123px; height:19px; "/>
  2083. <output id="input5" ref="/root/main/card/subtotalamt" class="output_fix" format="(-)#,###" appearance="output" maxlength="30" style="left:465px; top:60px; width:123px; height:19px; text-align:right; "/>
  2084. </group>
  2085. <caption id="caption12" class="cell_1" style="left:502px; top:506px; width:100px; height:23px; vertical-align:middle; ">카드결제금액</caption>
  2086. <caption id="caption8" class="cell_1" style="left:296px; top:506px; width:100px; height:23px; vertical-align:middle; ">수납대상금액</caption>
  2087. <switch id="swt_cardlist" style="left:0px; top:140px; width:705px; height:362px; border-color:#c7a3cf; border-style:solid; ">
  2088. <case id="case_cvan" selected="true" style="left:0px; top:0px; width:827px; height:373px; ">
  2089. <datagrid id="grd_cvan" nodeset="/root/main/h_cvan/cvan" caption="승인구분^카드&#xA;회사^카드번호^유효기간^할부^결제금액^승인번호^승인일자^시간^최종작업시간^기타&#xA;구분" colsep="^" colwidth="60, 40, 120, 56, 30, 80, 80, 80, 60, 106, 71" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:5px; top:40px; width:695px; height:317px; ">
  2090. <col disabled="true" ref="cvan_aprvflag" type="combo">
  2091. <choices>
  2092. <itemset nodeset="/root/init_com/init/P0390list/P0390">
  2093. <label ref="cdnm"/>
  2094. <value ref="cdid"/>
  2095. </itemset>
  2096. </choices>
  2097. </col>
  2098. <col disabled="true" ref="cvan_cardcmpycd" type="combo">
  2099. <choices>
  2100. <itemset nodeset="/root/init_com/init/P0076list/P0076">
  2101. <label ref="cdnm"/>
  2102. <value ref="cdid"/>
  2103. </itemset>
  2104. </choices>
  2105. </col>
  2106. <col ref="cvan_cardno"/>
  2107. <col ref="cvan_valiterm"/>
  2108. <col ref="cvan_allotmm"/>
  2109. <col ref="cvan_cardamt" format="(-)#,###" style="text-align:right; "/>
  2110. <col ref="cvan_aprvno" style="left:446px; top:23px; width:100px; height:23px; "/>
  2111. <col ref="cvan_aprvdd" format="yyyy-mm-dd"/>
  2112. <col ref="cvan_aprvtm" format="hh:nn:ss"/>
  2113. <col ref="cvan_lastupdtdt" visibility="hidden"/>
  2114. <col disabled="false" ref="cvan_etcflag" type="combo">
  2115. <choices>
  2116. <item>
  2117. <label>산전지원금</label>
  2118. <value>Y</value>
  2119. </item>
  2120. </choices>
  2121. </col>
  2122. <script type="javascript" ev:event="onclick">
  2123. <![CDATA[
  2124. var currow = grd_cvan.row;
  2125. if( currow < 1 || ! isDataCell() ){
  2126. return false;
  2127. }
  2128. var onlyCard = model.getValue("/root/main/iptflag/cardedit");
  2129. var cVanCncl = model.getValue("/root/main/iptflag/cvancncl");
  2130. //승인내역취소!!
  2131. if( cVanCncl == 'Y' ){
  2132. if( model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_aprvflag") == '22' ){
  2133. messageBox("승인취소 내역은 '승인내역취소' 불가능합니다.", "E999", "");
  2134. return false;
  2135. }
  2136. }
  2137. if( onlyCard == 'Y' || cVanCncl == 'Y' ){
  2138. //카드승인내역 초기화
  2139. model.removeNodeset("/root/main/card2");
  2140. //model.makeValue("/root/main/card2/card_cvan", 'Y');
  2141. model.makeValue("/root/main/card2/card_pid", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_pid"));
  2142. model.makeValue("/root/main/card2/card_rcptdd", '');
  2143. model.makeValue("/root/main/card2/card_rcptno", '');
  2144. model.makeValue("/root/main/card2/card_rcptseqno", '');
  2145. model.makeValue("/root/main/card2/card_seqno", '');
  2146. model.makeValue("/root/main/card2/card_instcd", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_instcd"));
  2147. model.makeValue("/root/main/card2/card_rcptstat", '');
  2148. model.makeValue("/root/main/card2/card_ordtype", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_ordtype"));
  2149. model.makeValue("/root/main/card2/card_keyinptflag", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_keyinptflag"));
  2150. model.makeValue("/root/main/card2/card_cardcmpycd", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_cardcmpycd"));
  2151. model.makeValue("/root/main/card2/card_cardno", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_cardno"));
  2152. model.makeValue("/root/main/card2/card_aprvflag", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_aprvflag"));
  2153. model.makeValue("/root/main/card2/card_aprvdd", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_aprvdd"));
  2154. model.makeValue("/root/main/card2/card_aprvtm", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_aprvtm"));
  2155. model.makeValue("/root/main/card2/card_aprvno", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_aprvno"));
  2156. model.makeValue("/root/main/card2/card_vancd", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_vancd"));
  2157. model.makeValue("/root/main/card2/card_allotmm", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_allotmm"));
  2158. model.makeValue("/root/main/card2/card_cardamt", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_cardamt"));
  2159. model.makeValue("/root/main/card2/card_valiterm", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_valiterm"));
  2160. model.makeValue("/root/main/card2/card_rcptexecdd", '');
  2161. model.makeValue("/root/main/card2/card_rcpttm", '');
  2162. model.makeValue("/root/main/card2/card_rcptrid", '');
  2163. model.makeValue("/root/main/card2/card_innrtretyn", 'N');
  2164. model.makeValue("/root/main/card2/card_preamtyn", 'N');
  2165. model.makeValue("/root/main/card2/card_remfact", '');
  2166. model.makeValue("/root/main/card2/card_fstrgstrid", '');
  2167. model.makeValue("/root/main/card2/card_fstrgstdt", '');
  2168. model.makeValue("/root/main/card2/card_lastupdtrid", '');
  2169. model.makeValue("/root/main/card2/card_lastupdtdt", '');
  2170. // model.makeValue("/root/main/card2/card_elctsignkey", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_elctsignkey"));
  2171. // model.makeValue("/root/main/card2/card_elctsigncnts", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_elctsigncnts"));
  2172. //실제 카드승인금액 세팅
  2173. model.setValue("/root/main/card/aprvcardamt", model.getValue("/root/main/h_cvan/cvan[" + currow + "]/cvan_cardamt"));
  2174. model.refresh();
  2175. }
  2176. ]]>
  2177. </script>
  2178. <script type="javascript" ev:event="ondblclick">
  2179. <![CDATA[
  2180. var currow = grd_cvan.row;
  2181. if( currow < 1 || ! isDataCell() ){
  2182. return false;
  2183. }
  2184. //승인내역취소 체크 선택
  2185. model.setValue("/root/main/iptflag/cvancncl", 'Y' );
  2186. checkbox2.dispatch("xforms-value-changed");
  2187. //승인 취소는 사용자가 함
  2188. //승인취소 버튼 활성화
  2189. //btn_cardcncl.dispatch("DOMActivate");
  2190. ]]>
  2191. </script>
  2192. </datagrid>
  2193. <button id="button1" class="btn2_letter6" style="left:402px; top:13px; width:86px; height:19px; ">
  2194. <caption>승인내역조회</caption>
  2195. <script type="javascript" ev:event="DOMActivate">
  2196. <![CDATA[
  2197. //2007-12-26 이동식 추가 : 밴정보 조회
  2198. model.resetInstanceNode("/root/send");
  2199. model.setValue("/root/send/data1", gPid);
  2200. model.setValue("/root/send/data2", model.getValue("/root/main/iptflag/aprvdd"));
  2201. model.setValue("/root/send/data3", model.getValue("/root/main/iptflag/aprvsrchflag"));
  2202. model.setValue("/root/send/data4", model.getValue("/root/main/iptflag/ioflag"));
  2203. model.setValue("/root/send/data5", gPregDmndYN);
  2204. if( submit("TRPAO00453", false) ){
  2205. }
  2206. model.refresh();
  2207. ]]>
  2208. </script>
  2209. </button>
  2210. <caption id="caption9" class="cell_1" style="left:10px; top:11px; width:60px; height:23px; vertical-align:middle; ">승인일자</caption>
  2211. <input id="input6" ref="/root/main/iptflag/aprvdd" class="input_default" inputtype="date" style="left:73px; top:13px; width:90px; height:19px; "/>
  2212. <shape id="roundrect1" class="roundrect_example" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:5px; top:8px; width:695px; height:29px; "/>
  2213. <select id="checkbox1" ref="/root/main/iptflag/cardedit" overflow="visible" appearance="full" style="left:498px; top:15px; width:95px; height:15px; border-style:none; ">
  2214. <choices>
  2215. <item>
  2216. <label>카드내역생성</label>
  2217. <value>Y</value>
  2218. </item>
  2219. </choices>
  2220. <script type="javascript" ev:event="xforms-value-changed">
  2221. <![CDATA[
  2222. model.setValue("/root/main/iptflag/cardaprv", "");
  2223. model.setValue("/root/main/iptflag/cvancncl", "");
  2224. btn_cardaprv.disabled = false;
  2225. if( model.getValue("/root/main/iptflag/cardedit") == 'Y' ){
  2226. btn_makecardaprv.visible = true;
  2227. btn_cardaprv.visible = false;
  2228. btn_cardcncl.visible = false;
  2229. }else{
  2230. btn_makecardaprv.visible = false;
  2231. btn_cardaprv.visible = true;
  2232. btn_cardcncl.visible = true;
  2233. }
  2234. model.refresh();
  2235. ]]>
  2236. </script>
  2237. </select>
  2238. <select id="checkbox2" ref="/root/main/iptflag/cvancncl" overflow="visible" appearance="full" style="left:599px; top:15px; width:95px; height:15px; border-style:none; ">
  2239. <choices>
  2240. <item>
  2241. <label>승인내역취소</label>
  2242. <value>Y</value>
  2243. </item>
  2244. </choices>
  2245. <script type="javascript" ev:event="xforms-value-changed">
  2246. <![CDATA[
  2247. model.setValue("/root/main/iptflag/cardaprv", "");
  2248. model.setValue("/root/main/iptflag/cardedit", "");
  2249. btn_makecardaprv.visible = false;
  2250. btn_cardaprv.visible = true;
  2251. btn_cardcncl.visible = true;
  2252. if(model.getValue("/root/main/iptflag/cvancncl") == 'Y' ){
  2253. btn_cardaprv.disabled = true;
  2254. //btn_cardcncl.disable = true;
  2255. }else{
  2256. btn_cardaprv.disabled = false;
  2257. }
  2258. model.refresh();
  2259. ]]>
  2260. </script>
  2261. </select>
  2262. <select1 id="combo2" ref="/root/main/iptflag/aprvsrchflag" class="combo_default" appearance="minimal" style="left:325px; top:13px; width:74px; height:19px; ">
  2263. <choices>
  2264. <item>
  2265. <label>전체</label>
  2266. <value>-</value>
  2267. </item>
  2268. <item>
  2269. <label>승인내역</label>
  2270. <value>12</value>
  2271. </item>
  2272. <item>
  2273. <label>취소내역</label>
  2274. <value>22</value>
  2275. </item>
  2276. </choices>
  2277. <script type="javascript" ev:event="xforms-select">
  2278. <![CDATA[
  2279. // model.setValue("/root/main/card2/card_allotmm2",model.getValue("/root/main/card2/card_allotmm"));
  2280. model.refresh();
  2281. ]]>
  2282. </script>
  2283. </select1>
  2284. <caption id="caption14" class="cell_1" style="left:259px; top:11px; width:63px; height:23px; vertical-align:middle; ">승인/취소</caption>
  2285. <select1 id="radio1" ref="/root/main/iptflag/ioflag" appearance="full" cols="2" overflow="visible" style="left:166px; top:15px; width:90px; height:20px; border-style:none; ">
  2286. <choices>
  2287. <item>
  2288. <label>외래</label>
  2289. <value>O</value>
  2290. </item>
  2291. <item>
  2292. <label>입원</label>
  2293. <value>I</value>
  2294. </item>
  2295. </choices>
  2296. </select1>
  2297. </case>
  2298. <case id="case_card">
  2299. <datagrid id="grd_card" nodeset="/root/main/h_card/card" class="datagrid2" caption="승인상태^카드회사^카드번호^유효&#xA;기간^승인일자^시간^승인번호^할부^결제금액^영수일자^영수&#xA;번호^caption20^caption21^caption22^caption23^caption24^caption25^caption26^caption27^caption28^caption29^caption30^caption31^caption32^caption33^caption34^caption35^caption36^caption37^caption1^caption2^caption3^caption4^caption5^caption6^caption7^caption8^caption9^caption10^caption11^caption12^caption13^caption14^caption15^caption16^caption17^caption18^caption19" colsep="^" colwidth="58, 56, 112, 40, 70, 53, 77, 33, 66, 66, 40, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:5px; top:10px; width:695px; height:347px; ">
  2300. <col disabled="true" ref="card_rcptstat" type="combo">
  2301. <choices>
  2302. <itemset nodeset="/root/init_com/init/P0049list/P0049">
  2303. <label ref="cdnm"/>
  2304. <value ref="cdid"/>
  2305. </itemset>
  2306. </choices>
  2307. </col>
  2308. <col disabled="true" ref="card_cardcmpycd" type="combo">
  2309. <choices>
  2310. <itemset nodeset="/root/init_com/init/P0076list/P0076">
  2311. <label ref="cdnm"/>
  2312. <value ref="cdid"/>
  2313. </itemset>
  2314. </choices>
  2315. </col>
  2316. <col ref="card_cardno"/>
  2317. <col ref="card_valiterm"/>
  2318. <col ref="card_aprvdd" format="yyyy-mm-dd"/>
  2319. <col ref="card_aprvtm" format="hh:nn:ss"/>
  2320. <col ref="card_aprvno"/>
  2321. <col ref="card_allotmm"/>
  2322. <col ref="card_cardamt" format="(-)#,###" style="text-align:right; "/>
  2323. <col ref="card_rcptdd" format="yyyy-mm-dd"/>
  2324. <col ref="card_rcptno"/>
  2325. <col ref="card_pid" visibility="hidden"/>
  2326. <col ref="card_rcptseqno" visibility="hidden"/>
  2327. <col ref="card_seqno" visibility="hidden"/>
  2328. <col ref="card_instcd" visibility="hidden"/>
  2329. <col ref="card_rcptstat" visibility="hidden"/>
  2330. <col ref="card_ordtype" visibility="hidden"/>
  2331. <col ref="card_keyinptflag" visibility="hidden"/>
  2332. <col ref="card_vancd" visibility="hidden"/>
  2333. <col ref="card_rcptexecdd" visibility="hidden"/>
  2334. <col ref="card_rcpttm" visibility="hidden"/>
  2335. <col ref="card_rcptrid" visibility="hidden"/>
  2336. <col ref="card_innrtretyn" visibility="hidden"/>
  2337. <col ref="card_preamtyn" visibility="hidden"/>
  2338. <col ref="card_remfact" visibility="hidden"/>
  2339. <script type="javascript" ev:event="onclick">
  2340. <![CDATA[
  2341. var currow = grd_card.row;
  2342. if (currow < 1) return;
  2343. model.copyNode("/root/main/card2","/root/main/h_card/card["+ currow +"]");
  2344. if(! fIsMultiCardArpv( currow ) ){
  2345. return false;
  2346. }
  2347. model.refresh();
  2348. ]]>
  2349. </script>
  2350. </datagrid>
  2351. </case>
  2352. <case id="case_card2">
  2353. <datagrid id="grd_card2" nodeset="/root/main/c_card/card" class="datagrid2" caption="승인상태^카드회사^카드번호^유효&#xA;기간^승인일자^시간^승인번호^할부^결제금액^영수일자^영수&#xA;번호^caption20^caption21^caption22^caption23^caption24^caption25^caption26^caption27^caption28^caption29^caption30^caption31^caption32^caption33^caption34^caption35^caption36^caption37^caption1^caption2^caption3^caption4^caption5^caption6^caption7^caption8^caption9^caption10^caption11^caption12^caption13^caption14^caption15^caption16^caption17^caption18^caption19" colsep="^" colwidth="58, 56, 112, 40, 70, 53, 77, 33, 66, 66, 40, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="25" defaultrows="2" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:5px; top:30px; width:695px; height:327px; ">
  2354. <col disabled="true" ref="card_rcptstat" type="combo">
  2355. <choices>
  2356. <itemset nodeset="/root/init_com/init/P0049list/P0049">
  2357. <label ref="cdnm"/>
  2358. <value ref="cdid"/>
  2359. </itemset>
  2360. </choices>
  2361. </col>
  2362. <col disabled="true" ref="card_cardcmpycd" type="combo">
  2363. <choices>
  2364. <itemset nodeset="/root/init_com/init/P0076list/P0076">
  2365. <label ref="cdnm"/>
  2366. <value ref="cdid"/>
  2367. </itemset>
  2368. </choices>
  2369. </col>
  2370. <col ref="card_cardno"/>
  2371. <col ref="card_valiterm"/>
  2372. <col ref="card_aprvdd" format="yyyy-mm-dd"/>
  2373. <col ref="card_aprvtm" format="hh:nn:ss"/>
  2374. <col ref="card_aprvno"/>
  2375. <col ref="card_allotmm"/>
  2376. <col ref="card_cardamt" format="(-)#,###" style="text-align:right; "/>
  2377. <col ref="card_rcptdd" format="yyyy-mm-dd"/>
  2378. <col ref="card_rcptno"/>
  2379. <col ref="card_pid" visibility="hidden"/>
  2380. <col ref="card_rcptseqno" visibility="hidden"/>
  2381. <col ref="card_seqno" visibility="hidden"/>
  2382. <col ref="card_instcd" visibility="hidden"/>
  2383. <col ref="card_rcptstat" visibility="hidden"/>
  2384. <col ref="card_ordtype" visibility="hidden"/>
  2385. <col ref="card_keyinptflag" visibility="hidden"/>
  2386. <col ref="card_vancd" visibility="hidden"/>
  2387. <col ref="card_rcptexecdd" visibility="hidden"/>
  2388. <col ref="card_rcpttm" visibility="hidden"/>
  2389. <col ref="card_rcptrid" visibility="hidden"/>
  2390. <col ref="card_innrtretyn" visibility="hidden"/>
  2391. <col ref="card_preamtyn" visibility="hidden"/>
  2392. <col ref="card_remfact" visibility="hidden"/>
  2393. <script type="javascript" ev:event="onclick">
  2394. <![CDATA[
  2395. var currow = grd_card2.row;
  2396. var curcol = grd_card2.col;
  2397. var recardaprv = model.getValue("/root/main/iptflag/recardaprv");
  2398. if (currow < 1 || curcol < 1 || ! isDataCell()) return;
  2399. if( recardaprv != 'Y' ){
  2400. messageBox("이미 재승인처리가 완료되었습니다.", "I999", "");
  2401. return false;
  2402. }
  2403. model.copyNode("/root/main/card2","/root/main/c_card/card["+ currow +"]");
  2404. var cardAmt = 0;
  2405. var cnt = getNodesetCount("/root/main/c_card/card/card_pid");
  2406. for( var i = 1; i <= cnt; i++ ){
  2407. cardAmt = parseInt( cardAmt ) + parseInt( model.getValue("/root/main/c_card/card[" + i + "]/card_cardamt") );
  2408. }
  2409. model.setValue("/root/main/card2/card_cardamt", cardAmt);
  2410. model.refresh();
  2411. ]]>
  2412. </script>
  2413. </datagrid>
  2414. <select id="checkbox3" ref="/root/main/iptflag/recardaprv" disabled="true" overflow="visible" appearance="full" style="left:15px; top:9px; width:60px; height:15px; border-style:none; ">
  2415. <choices>
  2416. <item>
  2417. <label>재승인</label>
  2418. <value>Y</value>
  2419. </item>
  2420. </choices>
  2421. <script type="javascript" ev:event="xforms-value-changed">
  2422. <![CDATA[
  2423. model.setValue("/root/main/iptflag/cvancncl", "");
  2424. checkbox2.dispatch("xforms-value-changed");
  2425. model.refresh();
  2426. ]]>
  2427. </script>
  2428. </select>
  2429. <shape id="roundrect2" class="roundrect_example" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:5px; top:5px; width:74px; height:23px; "/>
  2430. <caption id="caption13" style="left:129px; top:9px; width:571px; height:20px; ">멀티접수내역을 변경/반환 하실 경우에는 변경/반환 하지 않을 내역에 대한 재승인을 먼저 하셔야합니다!!!</caption>
  2431. <button id="button2" class="btn5_letter2" style="left:83px; top:8px; width:42px; height:19px; ">
  2432. <caption>저장</caption>
  2433. <script type="javascript" ev:event="DOMActivate">
  2434. <![CDATA[
  2435. if( model.getValue("/root/main/iptflag/recardaprv") == 'Y' ){
  2436. if( submit("TXPAO00454") ){
  2437. model.setValue("/root/main/iptflag/recardaprv", "");
  2438. messageBox("카드승인 정보를 저장 완료했습니다.", "E999", "");
  2439. button2.visible = false;
  2440. }else{
  2441. messageBox("카드승인 정보를 서버에 저장하는데 실패했습니다. 잠시 후에 다시 시도하거나, 담당자에게 문의하세요!", "E999", "");
  2442. return false;
  2443. }
  2444. }
  2445. ]]>
  2446. </script>
  2447. </button>
  2448. </case>
  2449. </switch>
  2450. <output id="opt_rcptamt" ref="/root/main/card/totrcptamt" class="output_fix" format="(-)#,###" style="left:399px; top:507px; width:100px; height:19px; text-align:right; "/>
  2451. <output id="opt_cardamt" ref="/root/main/card/totcardamt" class="output_fix" format="(-)#,###" style="left:605px; top:507px; width:100px; height:19px; text-align:right; "/>
  2452. <button id="btn_cardrcpt" class="btn_sw" group="tab" selected="true" style="left:69px; top:119px; width:62px; height:22px; ">
  2453. <caption>카드내역</caption>
  2454. <toggle case="case_card" ev:event="DOMActivate"/>
  2455. </button>
  2456. <button id="btn_cardvan" class="btn_sw" group="tab" selected="true" style="left:0px; top:119px; width:70px; height:22px; ">
  2457. <caption>VAN정보</caption>
  2458. <toggle case="case_cvan" ev:event="DOMActivate"/>
  2459. </button>
  2460. <button id="btn_cardrcpt2" class="btn_sw" visibility="hidden" group="tab" selected="true" style="left:132px; top:119px; width:68px; height:22px; ">
  2461. <caption>카드내역II</caption>
  2462. <toggle case="case_card2" ev:event="DOMActivate"/>
  2463. </button>
  2464. </group>
  2465. <group id="grp_btn" scroll="auto" style="left:0px; top:531px; width:705px; height:27px; ">
  2466. <button id="btn_cancel" class="btn4_letter2" style="left:649px; top:5px; width:56px; height:22px; ">
  2467. <caption>취소</caption>
  2468. <script type="javascript" ev:event="DOMActivate">
  2469. <![CDATA[
  2470. // if (checkOpener())
  2471. // {
  2472. opener.javascript.setParameter("SPPAO00400_RTN","N");
  2473. //opener.javascript.setParameter("SPPAO00400_TotCardAmt",totcardamt);
  2474. window.close();
  2475. // }
  2476. ]]>
  2477. </script>
  2478. </button>
  2479. <button id="btn_confirm" class="btn4_letter2" style="left:591px; top:5px; width:56px; height:22px; ">
  2480. <caption>확인</caption>
  2481. <script type="javascript" ev:event="DOMActivate">
  2482. <![CDATA[
  2483. var totrcptamt = parseInt(model.getValue("/root/main/card/totrcptamt") );
  2484. var totcardamt = parseInt(model.getValue("/root/main/card/totcardamt") );
  2485. if (totrcptamt < totcardamt )
  2486. {
  2487. var retValue = messageBox("결제금액이 수납대상금액을 초과합니다! 작업을 완료하고 창을 닫으시겠습니까?","Q999","");
  2488. if( retValue != 6 ){
  2489. return false;
  2490. }
  2491. }else if (ExistCardCount == getNodesetCount("/root/main/h_card/card/card_pid")) {
  2492. //변경사항이 없을 경우!!
  2493. opener.javascript.setParameter("SPPAO00400_RTN","N");
  2494. }
  2495. opener.javascript.setParameter("SPPAO00400_RTN","Y");
  2496. opener.javascript.setParameter("SPPAO00400_TotCardAmt",totcardamt);
  2497. window.close();
  2498. ]]>
  2499. </script>
  2500. </button>
  2501. </group>
  2502. </xhtml:body>
  2503. </xhtml:html>