SPAHA02120_신용카드승인.xrw 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898
  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. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <iptflag>
  20. <cardedit/>
  21. <cardallinfo/>
  22. </iptflag>
  23. <card>
  24. <totrcptamt/>
  25. <totcardamt/>
  26. </card>
  27. <card2>
  28. <card_pid/>
  29. <card_rcptdd/>
  30. <card_rcptno/>
  31. <card_rcptseqno/>
  32. <card_seqno/>
  33. <card_instcd/>
  34. <card_rcptstat/>
  35. <card_ordtype/>
  36. <card_keyinptflag/>
  37. <card_cardcmpycd/>
  38. <card_cardno/>
  39. <card_aprvflag/>
  40. <card_aprvdd/>
  41. <card_aprvtm/>
  42. <card_aprvno/>
  43. <card_vancd/>
  44. <card_allotmm/>
  45. <card_allotmm2/>
  46. <card_cardamt/>
  47. <card_valiterm/>
  48. <card_rcptexecdd/>
  49. <card_rcpttm/>
  50. <card_rcptrid/>
  51. <card_innrtretyn/>
  52. <card_preamtyn/>
  53. <card_remfact/>
  54. <card_fstrgstrid/>
  55. <card_fstrgstdt/>
  56. <card_lastupdtrid/>
  57. <card_lastupdtdt/>
  58. </card2>
  59. <h_cvan>
  60. <cvan>
  61. <cvan_pid/>
  62. <cvan_aprvflag/>
  63. <cvan_aprvdd/>
  64. <cvan_aprvtm/>
  65. <cvan_aprvno/>
  66. <cvan_instcd/>
  67. <cvan_keyinptflag/>
  68. <cvan_cardcmpycd/>
  69. <cvan_cardno/>
  70. <cvan_vancd/>
  71. <cvan_allotmm/>
  72. <cvan_cardamt/>
  73. <cvan_valiterm/>
  74. <cvan_trmnno/>
  75. <cvan_rcptexecdd/>
  76. <cvan_rcpttm/>
  77. <cvan_rcptrid/>
  78. <cvan_remfact/>
  79. <cvan_fstrgstrid/>
  80. <cvan_fstrgstdt/>
  81. <cvan_lastupdtrid/>
  82. <cvan_lastupdtdt/>
  83. </cvan>
  84. </h_cvan>
  85. <h_card>
  86. <card>
  87. <card_pid/>
  88. <card_rcptdd/>
  89. <card_rcptno/>
  90. <card_rcptseqno/>
  91. <card_seqno/>
  92. <card_instcd/>
  93. <card_rcptstat/>
  94. <card_ordtype/>
  95. <card_keyinptflag/>
  96. <card_cardcmpycd/>
  97. <card_cardno/>
  98. <card_aprvflag/>
  99. <card_aprvdd/>
  100. <card_aprvtm/>
  101. <card_aprvno/>
  102. <card_vancd/>
  103. <card_allotmm/>
  104. <card_allotmm2/>
  105. <card_cardamt/>
  106. <card_valiterm/>
  107. <card_rcptexecdd/>
  108. <card_rcpttm/>
  109. <card_rcptrid/>
  110. <card_innrtretyn/>
  111. <card_preamtyn/>
  112. <card_remfact/>
  113. <card_fstrgstrid/>
  114. <card_fstrgstdt/>
  115. <card_lastupdtrid/>
  116. <card_lastupdtdt/>
  117. </card>
  118. </h_card>
  119. <h_cvan2>
  120. <cvan>
  121. <cvan_pid/>
  122. <cvan_aprvflag/>
  123. <cvan_aprvdd/>
  124. <cvan_aprvtm/>
  125. <cvan_aprvno/>
  126. <cvan_instcd/>
  127. <cvan_keyinptflag/>
  128. <cvan_cardcmpycd/>
  129. <cvan_cardno/>
  130. <cvan_vancd/>
  131. <cvan_allotmm/>
  132. <cvan_cardamt/>
  133. <cvan_valiterm/>
  134. <cvan_trmnno/>
  135. <cvan_rcptexecdd/>
  136. <cvan_rcpttm/>
  137. <cvan_rcptrid/>
  138. <cvan_remfact/>
  139. <cvan_fstrgstrid/>
  140. <cvan_fstrgstdt/>
  141. <cvan_lastupdtrid/>
  142. <cvan_lastupdtdt/>
  143. </cvan>
  144. </h_cvan2>
  145. <m_opmi>
  146. <opmi/>
  147. </m_opmi>
  148. </main>
  149. <send>
  150. <data1/>
  151. <data2/>
  152. <data3/>
  153. <data4/>
  154. </send>
  155. <init_com>
  156. <init>
  157. <P0076list>
  158. <P0076>
  159. <cdid/>
  160. <cdnm/>
  161. </P0076>
  162. </P0076list>
  163. </init>
  164. </init_com>
  165. <init/>
  166. <hidden>
  167. <session/>
  168. <tmpvanyn/>
  169. </hidden>
  170. </root>
  171. </instance>
  172. <script type="javascript" ev:event="xforms-ready">
  173. <![CDATA[
  174. zbcfGetCodeList(
  175. new Array("P0076"),
  176. new Array("/root/init_com/init/P0076list")
  177. );
  178. fInit();
  179. fGetUserInfosSampling();
  180. if (checkOpener())
  181. {
  182. opener.javascript.setParameter("SPPAO00400_RTN","");
  183. var SPPAO00400_PARM = opener.javascript.getParameter("SPPAO00400_PARM");
  184. var array_parm = SPPAO00400_PARM.split("▦");
  185. gMulticnt = array_parm[0]; //외래등록의 멀티접수인 경우만 해당멀티건수 나머지는 default '0'으로 세팅
  186. gMultiSend = array_parm[1]; //외래등록 멀티접수인 경우만 각각의 본인부담액을 보낸다. 나머지는 '-'
  187. gRcptdd = array_parm[2];
  188. gRcptno = array_parm[3];
  189. gRcptseqno = array_parm[4];
  190. gTotrcptamt = array_parm[5];
  191. strSend = array_parm[6];
  192. strRcv = array_parm[7];
  193. if (gTotrcptamt.isNumber() != true)
  194. {
  195. messageBox("수납대상금액이 수치형이 아닙니다!","E999","");
  196. return;
  197. }
  198. else
  199. {
  200. model.setValue("/root/main/card/totrcptamt",gTotrcptamt);
  201. model.refresh();
  202. }
  203. if (strSend != null && strSend != "" && strSend != " " && strSend != "-")
  204. {
  205. copyNodesetType("/root/main/h_card", strSend, "replace", model, parent.model);
  206. grd_card.rebuild();
  207. fCardamtCalc();
  208. }
  209. if (gMultiSend != null && gMultiSend != "" && gMultiSend != " " && gMultiSend != "-")
  210. {
  211. copyNodesetType("/root/main/m_opmi", gMultiSend, "replace", model, parent.model);
  212. }
  213. model.setValue("/root/main/card2/card_cardamt",gTotrcptamt.toString());
  214. model.refresh();
  215. opener.javascript.setParameter("SPPAO00400_PARM","");
  216. if (gRcptdd != null && gRcptdd != "" && gRcptdd != " " && gRcptdd != "-" &&
  217. gRcptno != null && gRcptno != "" && gRcptno != " " && gRcptno != "-" &&
  218. gRcptseqno != null && gRcptseqno != "" && gRcptseqno != " " && gRcptseqno != "-")
  219. {
  220. model.setValue("/root/send/data1",gRcptdd);
  221. model.setValue("/root/send/data2",gRcptno);
  222. model.setValue("/root/send/data3",gRcptseqno);
  223. model.copyNode("/root/send/data4","/root/hidden/session");
  224. submit("TRPAO00401");
  225. }
  226. }
  227. ]]>
  228. </script>
  229. <submission id="TRZBC00101" method="post" mediatype="application/x-www-form-urlencoded" replace="instance"/>
  230. <submission id="TRPAO00401" ref="/root/send" method="post" mediatype="application/x-www-form-urlencoded" replace="instance" resultref="/root/main/h_cvan"/>
  231. </model>
  232. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  233. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  234. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  235. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  236. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  237. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  238. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  239. <script type="javascript" src="../../../pam/opatmngtweb/js/PMOCOM.js"/>
  240. <script type="javascript">
  241. <![CDATA[
  242. var gMulticnt, gMultiSend, gRcptdd, gRcptno, gRcptseqno, gTotrcptamt, strSend, strRcv;
  243. function fInit()
  244. {
  245. model.resetInstanceNode("/root/main/iptflag");
  246. model.resetInstanceNode("/root/main/card");
  247. model.resetInstanceNode("/root/main/card2");
  248. model.removeNodeset("/root/main/h_cvan/cvan");
  249. model.removeNodeset("/root/main/h_cvan2/cvan");
  250. model.removeNodeset("/root/main/h_card/card");
  251. model.setValue("/root/main/iptflag/cardedit","");
  252. model.setValue("/root/main/card/totrcptamt","0");
  253. model.setValue("/root/main/card/totcardamt","0");
  254. model.setValue("/root/main/iptflag/cardedit","");
  255. model.setValue("/root/main/card2/card_keyinptflag","S"); //swipe
  256. model.setValue("/root/main/card2/card_cardamt","0");
  257. model.setValue("/root/main/card2/card_valiterm","");
  258. model.setValue("/root/main/card2/card_cardcmpycd","");
  259. //임시 ***************************************************************************************************************//
  260. model.setValue("/root/hidden/tmpvanyn","Y");
  261. //임시 ***************************************************************************************************************//
  262. grd_cvan.rebuild();
  263. grd_card.rebuild();
  264. model.setFocus("ipt_cardno");
  265. model.refresh();
  266. }
  267. function fInit2()
  268. {
  269. model.resetInstanceNode("/root/main/iptflag");
  270. model.resetInstanceNode("/root/main/card2");
  271. model.setValue("/root/main/iptflag/cardedit","");
  272. model.setValue("/root/main/iptflag/cardedit","");
  273. model.setValue("/root/main/card2/card_keyinptflag","S"); //swipe
  274. model.setValue("/root/main/card2/card_cardamt","0");
  275. model.setValue("/root/main/card2/card_valiterm","");
  276. model.setValue("/root/main/card2/card_cardcmpycd","");
  277. model.setFocus("ipt_cardno");
  278. model.refresh();
  279. }
  280. function fCardamtCalc()
  281. {
  282. var rowcnt = getNodesetCount("/root/main/h_card/card");
  283. if (rowcnt > 0)
  284. {
  285. var card_cardamt = 0;
  286. var totrcptamt = model.getValue("/root/main/card/totrcptamt");
  287. for (i = 1; i <= rowcnt; i++)
  288. {
  289. card_cardamt = card_cardamt + eval(model.getValue("/root/main/h_card/card["+ i +"]/card_cardamt"));
  290. }
  291. if (eval(totrcptamt) < eval(card_cardamt))
  292. {
  293. messageBox("카드총액이 수납금액을 초과합니다!","E999","");
  294. }
  295. model.setValue("/root/main/card/totcardamt",card_cardamt);
  296. }
  297. else model.setValue("/root/main/card/totcardamt","0");
  298. model.refresh();
  299. }
  300. ]]>
  301. </script>
  302. </xhtml:head>
  303. <xhtml:body pagewidth="736" pageheight="580" guideline="1,721;1,720;" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  304. <group id="group3" scroll="auto" style="left:0px; top:0px; width:710px; height:531px; ">
  305. <group id="group1" style="left:0px; top:0px; width:120px; height:110px; ">
  306. <caption id="caption5" class="tit_2" style="left:5px; top:15px; width:111px; height:13px; ">입력구분</caption>
  307. <select1 id="rdo_keyinptflag" ref="/root/main/card2/card_keyinptflag" overflow="visible" appearance="full" vcellspacing="5" style="left:10px; top:40px; width:100px; height:40px; border-style:none; ">
  308. <choices>
  309. <item>
  310. <label>Swipe</label>
  311. <value>S</value>
  312. </item>
  313. <item>
  314. <label>Key-In</label>
  315. <value>K</value>
  316. </item>
  317. </choices>
  318. </select1>
  319. <shape id="rec_keyinptflag" class="roundrect_example" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:5px; top:33px; width:110px; height:77px; "/>
  320. <select id="chk_onlycard" ref="/root/main/iptflag/cardedit" visibility="hidden" appearance="full" style="left:10px; top:86px; width:100px; height:15px; color:#ff0000; border-style:none; ">
  321. <choices>
  322. <item>
  323. <label>강제카드결제</label>
  324. <value>Y</value>
  325. </item>
  326. </choices>
  327. </select>
  328. </group>
  329. <group id="group2" style="left:120px; top:1px; width:590px; height:109px; ">
  330. <caption id="caption10" class="cell_1" style="left:218px; top:83px; width:110px; height:23px; vertical-align:middle; ">승인일시/승인번호</caption>
  331. <caption id="caption1" class="tit_2" style="left:5px; top:15px; width:111px; height:13px; ">승인내역</caption>
  332. <line id="line3" class="line_2" style="x1:0px; y1:57px; x2:530px; y2:57px; "/>
  333. <line id="line12" class="line_1" style="x1:0px; y1:30px; x2:590px; y2:30px; "/>
  334. <line id="line1" class="line_2" style="x1:0px; y1:81px; x2:530px; y2:81px; "/>
  335. <line id="line2" class="line_3" style="x1:0px; y1:106px; x2:590px; y2:106px; "/>
  336. <caption id="caption2" class="cell_1" style="left:0px; top:35px; width:60px; height:23px; vertical-align:middle; ">카드번호</caption>
  337. <caption id="caption3" class="cell_1" style="left:0px; top:83px; width:60px; height:23px; vertical-align:middle; ">할부개월</caption>
  338. <caption id="caption6" class="cell_1" style="left:0px; top:59px; width:60px; height:23px; vertical-align:middle; ">유효기간</caption>
  339. <caption id="caption7" class="cell_1" style="left:218px; top:59px; width:110px; height:23px; vertical-align:middle; ">결제금액</caption>
  340. <caption id="caption4" style="left:113px; top:59px; width:60px; height:23px; vertical-align:middle; ">(YYMM)</caption>
  341. <input id="ipt_cardno" ref="/root/main/card2/card_cardno" class="input_default" maxlength="20" style="left:63px; top:36px; width:152px; height:19px; "/>
  342. <input id="ipt_valiterm" ref="/root/main/card2/card_valiterm" class="input_default" maxlength="4" style="left:63px; top:60px; width:47px; height:19px; "/>
  343. <select1 id="cmb_allotmm" ref="/root/main/card2/card_allotmm" class="combo_default" appearance="minimal" style="left:63px; top:85px; width:109px; height:19px; ">
  344. <choices>
  345. <item>
  346. <label/>
  347. <value/>
  348. </item>
  349. <item>
  350. <label>일시불</label>
  351. <value>01</value>
  352. </item>
  353. <item>
  354. <label>2개월</label>
  355. <value>02</value>
  356. </item>
  357. <item>
  358. <label>3개월</label>
  359. <value>03</value>
  360. </item>
  361. <item>
  362. <label>4개월</label>
  363. <value>04</value>
  364. </item>
  365. <item>
  366. <label>5개월</label>
  367. <value>05</value>
  368. </item>
  369. <item>
  370. <label>6개월</label>
  371. <value>06</value>
  372. </item>
  373. <item>
  374. <label>7개월</label>
  375. <value>07</value>
  376. </item>
  377. <item>
  378. <label>8개월</label>
  379. <value>08</value>
  380. </item>
  381. <item>
  382. <label>9개월</label>
  383. <value>09</value>
  384. </item>
  385. <item>
  386. <label>10개월</label>
  387. <value>10</value>
  388. </item>
  389. <item>
  390. <label>11개월</label>
  391. <value>11</value>
  392. </item>
  393. <item>
  394. <label>12개월</label>
  395. <value>12</value>
  396. </item>
  397. <item>
  398. <label>13개월</label>
  399. <value>13</value>
  400. </item>
  401. <item>
  402. <label>14개월</label>
  403. <value>14</value>
  404. </item>
  405. <item>
  406. <label>15개월</label>
  407. <value>15</value>
  408. </item>
  409. <item>
  410. <label>16개월</label>
  411. <value>16</value>
  412. </item>
  413. <item>
  414. <label>17개월</label>
  415. <value>17</value>
  416. </item>
  417. <item>
  418. <label>18개월</label>
  419. <value>18</value>
  420. </item>
  421. <item>
  422. <label>19개월</label>
  423. <value>19</value>
  424. </item>
  425. <item>
  426. <label>20개월</label>
  427. <value>20</value>
  428. </item>
  429. <item>
  430. <label>21개월</label>
  431. <value>21</value>
  432. </item>
  433. <item>
  434. <label>22개월</label>
  435. <value>22</value>
  436. </item>
  437. <item>
  438. <label>23개월</label>
  439. <value>23</value>
  440. </item>
  441. <item>
  442. <label>24개월</label>
  443. <value>24</value>
  444. </item>
  445. </choices>
  446. <script type="javascript" ev:event="xforms-select">
  447. <![CDATA[
  448. model.setValue("/root/main/card2/card_allotmm2",model.getValue("/root/main/card2/card_allotmm"));
  449. model.refresh();
  450. ]]>
  451. </script>
  452. </select1>
  453. <input id="ipt_allotmm" ref="/root/main/card2/card_allotmm2" class="input_default" maxlength="2" style="left:175px; top:85px; width:40px; height:19px; ">
  454. <script type="javascript" ev:event="xforms-value-changed">
  455. <![CDATA[
  456. model.setValue("/root/main/card2/card_allotmm",model.getValue("/root/main/card2/card_allotmm2"));
  457. model.refresh();
  458. ]]>
  459. </script>
  460. </input>
  461. <input id="ipt_cardamt" ref="/root/main/card2/card_cardamt" class="input_default" format="#,###" style="left:331px; top:61px; width:121px; height:19px; text-align:right; "/>
  462. <button id="btn_clear" class="btn2_letter3" style="left:400px; top:10px; width:53px; height:19px; ">
  463. <caption>초기화</caption>
  464. <script type="javascript" ev:event="DOMActivate">
  465. <![CDATA[
  466. fInit2();
  467. ]]>
  468. </script>
  469. </button>
  470. <button id="btn_cardaprv" class="btn2_letter4" style="left:456px; top:10px; width:64px; height:19px; ">
  471. <caption>카드추가</caption>
  472. <script type="javascript" ev:event="DOMActivate">
  473. <![CDATA[
  474. model.toggle("case_card");
  475. //카드번호,카드회사,유효기간,결제금액,할부개월
  476. var card_cardno = model.getValue("/root/main/card2/card_cardno");
  477. if (card_cardno == null || card_cardno == "" || card_cardno == " " || card_cardno == "-")
  478. {
  479. messageBox("카드번호가 미입력되었습니다!","E999","");
  480. return;
  481. }
  482. var card_cardcmpycd = model.getValue("/root/main/card2/card_cardcmpycd");
  483. if (card_cardcmpycd == null || card_cardcmpycd == "" || card_cardcmpycd == " " || card_cardcmpycd == "-")
  484. {
  485. messageBox("카드회사가 미입력되었습니다!","E999","");
  486. return;
  487. }
  488. var card_valiterm = model.getValue("/root/main/card2/card_valiterm");
  489. if (card_valiterm == null || card_valiterm == "" || card_valiterm == " " || card_valiterm == "-")
  490. {
  491. messageBox("유효기간이 미입력되었습니다!","E999","");
  492. return;
  493. }
  494. var card_cardamt = model.getValue("/root/main/card2/card_cardamt");
  495. if (card_cardamt == null || card_cardamt == "" || card_cardamt == " " || card_cardamt == "-")
  496. {
  497. messageBox("카드금액이 미입력되었습니다!","E999","");
  498. return;
  499. }
  500. var card_allotmm = model.getValue("/root/main/card2/card_allotmm");
  501. if (card_allotmm == null || card_allotmm == "" || card_allotmm == " " || card_allotmm == "-")
  502. {
  503. messageBox("할부개월이 미입력되었습니다!","E999","");
  504. return;
  505. }
  506. var cardallinfo = model.getValue("/root/main/iptflag/cardallinfo");
  507. if (cardallinfo == null || cardallinfo == "" || cardallinfo == " " || cardallinfo == "-")
  508. {
  509. model.setValue("/root/main/card2/card_keyinptflag","K");
  510. model.refresh();
  511. }
  512. var currow;
  513. var totrcptamt = model.getValue("/root/main/card/totrcptamt");
  514. var totcardamt = model.getValue("/root/main/card/totcardamt");
  515. var card_cardamt = model.getValue("/root/main/card2/card_cardamt");
  516. if (eval(gMulticnt) > 0)
  517. {
  518. if (totrcptamt == totcardamt)
  519. {
  520. messageBox("멀티접수시 이미 승인내역이 생성되었습니다!","E999","");
  521. return;
  522. }
  523. else if (totrcptamt > totcardamt)
  524. {
  525. if (totrcptamt > card_cardamt)
  526. {
  527. messageBox("멀티접수시 카드한건으로 대상금액 전체 결재해야 합니다!","E999","");
  528. return;
  529. }
  530. else if (totrcptamt < card_cardamt)
  531. {
  532. messageBox("결제금액이 수납대상금액을 초과합니다!","E999","");
  533. return;
  534. }
  535. }
  536. var m_opmi_cnt = getNodesetCount("/root/main/m_opmi/opmi");
  537. for (i = 1; i <= m_opmi_cnt; i++)
  538. {
  539. grd_card.addItem();
  540. currow = grd_card.row;
  541. model.copyNode("/root/main/h_card/card["+ currow +"]","/root/main/card2");
  542. model.setValue("/root/main/h_card/card["+ currow +"]/card_cardamt",model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_cashamt"));
  543. model.makeNode("/root/main/h_card/card["+ currow +"]/card_mseqno");
  544. model.setValue("/root/main/h_card/card["+ currow +"]/card_mseqno",model.getValue("/root/main/m_opmi/opmi["+ i +"]/opmi_mseqno"));
  545. model.makeNode("/root/main/h_card/card["+ currow +"]/card_rcptdd_old");
  546. model.makeNode("/root/main/h_card/card["+ currow +"]/card_rcptno_old");
  547. model.makeNode("/root/main/h_card/card["+ currow +"]/card_rcptseqno_old");
  548. //임시van정보세팅 start **********************************************************************************************************************//
  549. if (model.getValue("/root/hidden/tmpvanyn") == "Y")
  550. {
  551. model.setValue("/root/main/h_card/card["+ currow +"]/card_aprvflag","-");
  552. model.setValue("/root/main/h_card/card["+ currow +"]/card_aprvdd",PMO001_TODAY);
  553. model.setValue("/root/main/h_card/card["+ currow +"]/card_aprvtm","0000");
  554. model.setValue("/root/main/h_card/card["+ currow +"]/card_aprvno","0");
  555. model.setValue("/root/main/h_card/card["+ currow +"]/card_vancd","CM");
  556. }
  557. //임시van정보세팅 end ***********************************************************************************************************************//
  558. }
  559. }
  560. else
  561. {
  562. if (totrcptamt < card_cardamt)
  563. {
  564. messageBox("결제금액이 수납대상금액을 초과합니다!","E999","");
  565. return;
  566. }
  567. grd_card.addItem();
  568. currow = grd_card.row;
  569. model.copyNode("/root/main/h_card/card["+ currow +"]","/root/main/card2");
  570. model.makeNode("/root/main/h_card/card["+ currow +"]/card_rcptdd_old");
  571. model.makeNode("/root/main/h_card/card["+ currow +"]/card_rcptno_old");
  572. model.makeNode("/root/main/h_card/card["+ currow +"]/card_rcptseqno_old");
  573. //임시van정보세팅 start **********************************************************************************************************************//
  574. if (model.getValue("/root/hidden/tmpvanyn") == "Y")
  575. {
  576. model.setValue("/root/main/h_card/card["+ currow +"]/card_aprvflag","-");
  577. model.setValue("/root/main/h_card/card["+ currow +"]/card_aprvdd",PMO001_TODAY);
  578. model.setValue("/root/main/h_card/card["+ currow +"]/card_aprvtm","0000");
  579. model.setValue("/root/main/h_card/card["+ currow +"]/card_aprvno","0");
  580. model.setValue("/root/main/h_card/card["+ currow +"]/card_vancd","CM");
  581. }
  582. //임시van정보세팅 end ***********************************************************************************************************************//
  583. }
  584. //실제 승인받을 내역 생성
  585. grd_card.rebuild();
  586. fCardamtCalc();
  587. fInit2();
  588. ]]>
  589. </script>
  590. </button>
  591. <button id="btn_cardcncl" class="btn2_letter4" style="left:523px; top:10px; width:64px; height:19px; ">
  592. <caption>카드취소</caption>
  593. <script type="javascript" ev:event="DOMActivate">
  594. <![CDATA[
  595. var currow = grd_card.row;
  596. if (currow < 1)
  597. {
  598. messageBox("먼저 삭제할 내역을 선택하십시요!","E999","");
  599. return;
  600. }
  601. //멀티접수인 경우 카드내역 삭제시 일괄 삭제
  602. if (eval(gMulticnt) > 0)
  603. {
  604. var result = messageBox("멀티접수인 경우 카드내역 전체삭제합니다 진행","S001","");
  605. if (result == "6")
  606. {
  607. for (i = 1; i <= getNodesetCount("/root/main/h_card/card"); i++)
  608. {
  609. grd_card.deleteitem(i);
  610. }
  611. fCardamtCalc();
  612. fInit2();
  613. }
  614. else return;
  615. }
  616. else
  617. {
  618. //이미 승인된 내역인 경우 [-]발생
  619. //내역만 생성한 경우 삭제
  620. var card_aprvno = model.getValue("/root/main/card2/card_aprvno");
  621. //마이너스 금액인 경우 이미 취소된 내역이므로 리턴
  622. var card_cardamt = model.getValue("/root/main/card2/card_cardamt");
  623. card_cardamt = eval(card_cardamt);
  624. if (card_cardamt < 0)
  625. {
  626. messageBox("이미 취소된 내역입니다!","E999","");
  627. return;
  628. }
  629. if (card_aprvno != null && card_aprvno != "" && card_aprvno != " " && card_aprvno != "-")
  630. {
  631. //멀티접수 승인인 경우 동시 취소
  632. var multicnt = 0;
  633. var card_aprvno = model.getValue("/root/main/h_card/card["+ currow +"]/card_aprvno");
  634. var card_aprvno2;
  635. var card_cardamt;
  636. for (i = 1; i <= getNodesetCount("/root/main/h_card/card"); i++)
  637. {
  638. card_aprvno2 = model.getValue("/root/main/h_card/card["+ i +"]/card_aprvno");
  639. card_cardamt = model.getValue("/root/main/h_card/card["+ i +"]/card_cardamt");
  640. model.makeNode("/root/main/h_card/card["+ i +"]/card_rcptdd_old");
  641. model.makeNode("/root/main/h_card/card["+ i +"]/card_rcptno_old");
  642. model.makeNode("/root/main/h_card/card["+ i +"]/card_rcptseqno_old");
  643. if (card_aprvno == card_aprvno2 && card_cardamt > 0)
  644. {
  645. multicnt++;
  646. grd_card.addItem();
  647. model.copyNode("/root/main/h_card/card["+ grd_card.row +"]","/root/main/h_card/card["+ i +"]");
  648. card_cardamt = card_cardamt * -1;
  649. model.setValue("/root/main/h_card/card["+ grd_card.row +"]/card_cardamt",card_cardamt.toString());
  650. model.makeNode("/root/main/h_card/card["+ grd_card.row +"]/card_rcptdd_old");
  651. model.makeNode("/root/main/h_card/card["+ grd_card.row +"]/card_rcptno_old");
  652. model.makeNode("/root/main/h_card/card["+ grd_card.row +"]/card_rcptseqno_old");
  653. model.setValue("/root/main/h_card/card["+ grd_card.row +"]/card_rcptdd_old",model.getValue("/root/main/h_card/card["+ i +"]/card_rcptdd"));
  654. model.setValue("/root/main/h_card/card["+ grd_card.row +"]/card_rcptno_old",model.getValue("/root/main/h_card/card["+ i +"]/card_rcptno"));
  655. model.setValue("/root/main/h_card/card["+ grd_card.row +"]/card_rcptseqno_old",model.getValue("/root/main/h_card/card["+ i +"]/card_rcptseqno"));
  656. model.setValue("/root/main/h_card/card["+ grd_card.row +"]/card_rcptdd","-");
  657. model.setValue("/root/main/h_card/card["+ grd_card.row +"]/card_rcptno","0");
  658. model.setValue("/root/main/h_card/card["+ grd_card.row +"]/card_rcptseqno","0");
  659. }
  660. }
  661. if (multicnt > 1) messageBox("멀티접수시 승인된 내역이 존재하므로 동시취소내역 생성합니다!","E999","");
  662. }
  663. else
  664. {
  665. messageBox("승인된 내역이 아니므로 삭제합니다!","E999","");
  666. grd_card.deleteitem(currow);
  667. }
  668. //실제 승인 받을 내역 생성
  669. grd_card.rebuild();
  670. fCardamtCalc();
  671. fInit2();
  672. }
  673. ]]>
  674. </script>
  675. </button>
  676. <input id="input1" ref="/root/main/iptflag/cardallinfo" style="left:80px; top:7px; width:150px; height:19px; "/>
  677. <caption id="caption11" class="cell_1" style="left:218px; top:35px; width:110px; height:23px; vertical-align:middle; ">카드회사</caption>
  678. <select1 id="combo1" ref="/root/main/card2/card_cardcmpycd" appearance="minimal" style="left:331px; top:36px; width:257px; height:19px; ">
  679. <choices>
  680. <itemset nodeset="/root/init_com/init/P0076list/P0076">
  681. <label ref="cdnm"/>
  682. <value ref="cdid"/>
  683. </itemset>
  684. </choices>
  685. </select1>
  686. <input id="input2" ref="/root/main/card2/card_aprvdd" maxlength="8" format="yyyy-mm-dd" style="left:331px; top:84px; width:69px; height:19px; "/>
  687. <input id="input3" ref="/root/main/card2/card_aprvtm" maxlength="6" format="hh:nn:ss" style="left:403px; top:84px; width:49px; height:19px; "/>
  688. <input id="input4" ref="/root/main/card2/card_aprvno" maxlength="30" style="left:455px; top:84px; width:133px; height:19px; "/>
  689. <select id="checkbox1" ref="/root/hidden/tmpvanyn" overflow="visible" appearance="full" style="left:255px; top:10px; width:125px; height:20px; border-style:none; ">
  690. <choices>
  691. <item>
  692. <label>임시van정보세팅</label>
  693. <value>Y</value>
  694. </item>
  695. </choices>
  696. </select>
  697. </group>
  698. <caption id="caption12" class="cell_1" style="left:502px; top:506px; width:100px; height:23px; vertical-align:middle; ">카드결제금액</caption>
  699. <caption id="caption8" class="cell_1" style="left:296px; top:506px; width:100px; height:23px; vertical-align:middle; ">수납대상금액</caption>
  700. <switch id="swt_cardlist" style="left:0px; top:140px; width:705px; height:360px; border-color:#c7a3cf; border-style:solid; ">
  701. <case id="case_cvan" style="left:0px; top:0px; width:827px; height:373px; ">
  702. <datagrid id="grd_cvan" nodeset="/root/main/h_cvan/cvan" caption="구분^카드회사^카드번호^유효기간^할부^결제금액^승인번호^승인일자^시간^최종작업시간" colwidth="31, 62, 112, 55, 30, 80, 71, 76, 47, 106" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" colsep="^" style="left:5px; top:10px; width:695px; height:347px; ">
  703. <col ref="cvan_aprvflag"/>
  704. <col ref="cvan_cardcmpycd"/>
  705. <col ref="cvan_cardno"/>
  706. <col ref="cvan_valiterm"/>
  707. <col ref="cvan_allotmm"/>
  708. <col ref="cvan_cardamt"/>
  709. <col ref="cvan_aprvno"/>
  710. <col ref="cvan_aprvdd"/>
  711. <col ref="cvan_aprvtm"/>
  712. <col ref="cvan_lastupdtdt"/>
  713. </datagrid>
  714. </case>
  715. <case id="case_card" selected="true">
  716. <datagrid id="grd_card" nodeset="/root/main/h_card/card" caption="카드회사^카드번호^유효기간^승인일자^시간^승인번호^할부^결제금액^영수일자^영수번호^caption20^caption21^caption1^caption2^caption3^caption4^caption5^caption6^caption7^caption8^caption9^caption10^caption11^caption12^caption13^caption14^caption15^caption16^caption17^caption18^caption19" colwidth="63, 135, 55, 70, 46, 82, 33, 73, 66, 51, 100, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" colsep="^" style="left:5px; top:10px; width:695px; height:347px; ">
  717. <col ref="card_cardcmpycd" type="combo" disabled="true">
  718. <choices>
  719. <itemset nodeset="/root/init_com/init/P0076list/P0076">
  720. <label ref="cdnm"/>
  721. <value ref="cdid"/>
  722. </itemset>
  723. </choices>
  724. </col>
  725. <col ref="card_cardno"/>
  726. <col ref="card_valiterm"/>
  727. <col ref="card_aprvdd" format="yyyy-mm-dd"/>
  728. <col ref="card_aprvtm" format="hh:nn:ss"/>
  729. <col ref="card_aprvno"/>
  730. <col ref="card_allotmm"/>
  731. <col ref="card_cardamt" format="#,###" style="text-align:right; "/>
  732. <col ref="card_rcptdd" format="yyyy-mm-dd"/>
  733. <col ref="card_rcptno"/>
  734. <col/>
  735. <col/>
  736. <col ref="card_pid"/>
  737. <col ref="card_rcptseqno"/>
  738. <col ref="card_seqno"/>
  739. <col ref="card_instcd"/>
  740. <col ref="card_rcptstat"/>
  741. <col ref="card_ordtype"/>
  742. <col ref="card_keyinptflag"/>
  743. <col ref="card_vancd"/>
  744. <col ref="card_allotmm2"/>
  745. <col ref="card_rcptexecdd"/>
  746. <col ref="card_rcpttm"/>
  747. <col ref="card_rcptrid"/>
  748. <col ref="card_innrtretyn"/>
  749. <col ref="card_preamtyn"/>
  750. <col ref="card_remfact"/>
  751. <col ref="card_fstrgstrid"/>
  752. <col ref="card_fstrgstdt"/>
  753. <col ref="card_lastupdtrid"/>
  754. <col ref="card_lastupdtdt"/>
  755. <script type="javascript" ev:event="onclick">
  756. <![CDATA[
  757. var currow = grd_card.row;
  758. if (currow < 1) return;
  759. model.copyNode("/root/main/card2","/root/main/h_card/card["+ currow +"]");
  760. model.setValue("/root/main/card2/card_rcptdd","-");
  761. model.setValue("/root/main/card2/card_rcptno","0");
  762. model.setValue("/root/main/card2/card_rcptseqno","0");
  763. //승인취소되는 경우도 승인번호가 동일하므로 승일일자,승인시간이 없는 경우만 새로 승인을 얻어야 한다.[-]금액인 경우
  764. //금액[+][-] 승인번호,승인일자,승인시간 존재 => 승인
  765. //금액[-] 승인번호 존재 = 미승인
  766. model.setValue("/root/main/card2/card_aprvdd","-");
  767. model.setValue("/root/main/card2/card_aprvtm","-");
  768. if (instance1.selectSingleNode("/root/main/card2/card_allotmm2") == null) model.makeNode("/root/main/card2/card_allotmm2");
  769. model.setValue("/root/main/card2/card_allotmm2",model.getValue("/root/main/card2/card_allotmm"));
  770. model.refresh();
  771. ]]>
  772. </script>
  773. </datagrid>
  774. </case>
  775. </switch>
  776. <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; "/>
  777. <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; "/>
  778. <button id="btn_cardrcpt" class="btn_sw" group="tab" selected="true" style="left:59px; top:119px; width:60px; height:22px; ">
  779. <caption>수납내역</caption>
  780. <toggle case="case_card" ev:event="DOMActivate"/>
  781. </button>
  782. <button id="btn_cardvan" class="btn_sw" group="tab" selected="true" style="left:0px; top:119px; width:60px; height:22px; ">
  783. <caption>승인내역</caption>
  784. <toggle case="case_cvan" ev:event="DOMActivate"/>
  785. </button>
  786. <caption id="caption9" style="left:500px; top:120px; width:205px; height:15px; text-align:right; ">* 승인/승인취소는 수납시점에 발생!</caption>
  787. </group>
  788. <group id="grp_btn" scroll="auto" style="left:0px; top:531px; width:705px; height:27px; ">
  789. <button id="btn_cancel" class="btn4_letter2" style="left:649px; top:5px; width:56px; height:22px; ">
  790. <caption>취소</caption>
  791. <script type="javascript" ev:event="DOMActivate">
  792. <![CDATA[
  793. if (checkOpener())
  794. {
  795. opener.javascript.setParameter("SPPAO00400_RTN","N");
  796. window.close();
  797. }
  798. ]]>
  799. </script>
  800. </button>
  801. <button id="btn_confirm" class="btn4_letter2" style="left:590px; top:5px; width:56px; height:22px; ">
  802. <caption>확인</caption>
  803. <script type="javascript" ev:event="DOMActivate">
  804. <![CDATA[
  805. if (checkOpener())
  806. {
  807. opener.javascript.setParameter("SPPAO00400_RTN","Y");
  808. opener.javascript.setParameter("SPPAO00400_TotCardAmt",model.getValue("/root/main/card/totcardamt"));
  809. if (strRcv != null && strRcv != "" && strRcv != " " && strRcv != "-")
  810. {
  811. copyNodesetType(strRcv, "/root/main/h_card", "replace", parent.model, model);
  812. }
  813. window.close();
  814. }
  815. ]]>
  816. </script>
  817. </button>
  818. <line id="line88" class="line_6" style="x1:0px; y1:0px; x2:705px; y2:0px; "/>
  819. </group>
  820. </xhtml:body>
  821. </xhtml:html>