SPMNH03800_후원금 멀티 입금.xrw 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <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">
  4. <xhtml:head>
  5. <xhtml:title>기부금 멀티 입금</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <aidmtlist>
  11. <memno/>
  12. <membnm/>
  13. <paymthdflag/>
  14. <paybankflag/>
  15. <acntno/>
  16. <payindd/>
  17. <aidamt/>
  18. </aidmtlist>
  19. <aidmtmultilist>
  20. <chk/>
  21. <payym/>
  22. <payyn/>
  23. <memno/>
  24. <membnm/>
  25. <aidamt/>
  26. </aidmtmultilist>
  27. </main>
  28. <send>
  29. </send>
  30. <init>
  31. <A00001>
  32. <cdid/>
  33. <cdnm/>
  34. </A00001>
  35. <A00002>
  36. <cdid/>
  37. <cdnm/>
  38. </A00002>
  39. <acntno>
  40. <cdid/>
  41. <cdnm/>
  42. </acntno>
  43. <mondetl>
  44. <monamt/>
  45. </mondetl>
  46. </init>
  47. <temp>
  48. <acntno/>
  49. </temp>
  50. </root>
  51. </instance>
  52. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  53. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  54. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  55. <script type="javascript" src="../../../emr/agonalcareweb/js/SMMNH00001.js"/>
  56. <script type="javascript" ev:event="xforms-ready">
  57. <![CDATA[
  58. submit("TRMNH02401");
  59. fGetCodeList( new Array("A00001","A00002"), new Array("/root/init","/root/init"));//호스피스 코드 조회
  60. fRemoveNode(new Array("A00001","A00002"));//콤보 공백 제거
  61. grd_aidmtmultilist.fixedcellcheckbox(0,0) = true;
  62. var memno = opener.javascript.getParameter("memno");
  63. var membnm = opener.javascript.getParameter("membnm");
  64. var paymthdflag = opener.javascript.getParameter("paymthdflag");
  65. var paybankflag = opener.javascript.getParameter("paybankflag");
  66. var acntno = opener.javascript.getParameter("acntno");
  67. payyy = opener.javascript.getParameter("payyy");
  68. var payindd = getCurrentDate();
  69. grd_aidmtlist.valueMatrix(1,0) = memno;
  70. grd_aidmtlist.valueMatrix(1,1) = membnm;
  71. grd_aidmtlist.valueMatrix(1,2) = paymthdflag;
  72. grd_aidmtlist.valueMatrix(1,3) = paybankflag;
  73. grd_aidmtlist.valueMatrix(1,4) = acntno;
  74. grd_aidmtlist.valueMatrix(1,5) = payindd;
  75. model.removenode("/root/main/aidmtmultilist");
  76. model.removenode("/root/send");
  77. model.makeValue("/root/send/membno",memno);
  78. model.makeValue("/root/send/membnm", membnm);
  79. model.makeValue("/root/send/payyy", payyy);
  80. if(submit("TRMNH03801")){
  81. for(i=1 ; i < grd_aidmtmultilist.rows ; i++){
  82. if(model.getValue('/root/main/aidmtmultilist' + '[' + i + ']/chk')=="true"){
  83. grd_aidmtmultilist.isReadOnly(i, 0) = true;
  84. grd_aidmtmultilist.isReadOnly(i, 5) = true;
  85. }else{
  86. grd_aidmtmultilist.isReadOnly(i, 0) = false;
  87. grd_aidmtmultilist.isReadOnly(i, 5) = false;
  88. }
  89. }
  90. }
  91. ]]>
  92. </script>
  93. <submission id="TRMNH00001" mediatype="application/x-www-form-urlencoded" method="post"/>
  94. <submission id="TRMNH02401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/acntno"/>
  95. <submission id="TRMNH03801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/aidmtmultilist"/>
  96. <submission id="TRMNH04001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/mondetl"/>
  97. <submission id="TXMNH03801" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send"/>
  98. </model>
  99. <script type="javascript">
  100. <![CDATA[
  101. var payyy;
  102. ]]>
  103. </script>
  104. </xhtml:head>
  105. <xhtml:body pagewidth="664" pageheight="470" guideline="2,343;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  106. <button id="btn_cancel" class="btn4_letter2" navindex="9" style="left:550px; top:7px; width:56px; height:22px; ">
  107. <caption>닫기</caption>
  108. <script type="javascript" ev:event="DOMActivate">
  109. <![CDATA[
  110. window.close();
  111. ]]>
  112. </script>
  113. </button>
  114. <datagrid id="grd_aidmtlist" nodeset="/root/main/aidmtlist" caption="회원번호^회원명^납부방법^입금은행^계좌(지로)번호^입금일^입금액" colsep="^" colwidth="79, 70, 84, 89, 120, 90, 70" dataheight="23" defaultrows="2" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" navindex="7" style="left:1px; top:35px; width:605px; height:48px; ">
  115. <col ref="memno" style="text-align:center; "/>
  116. <col ref="membnm" style="text-align:center; "/>
  117. <col ref="paymthdflag" type="combo" style="text-align:center; ">
  118. <choices>
  119. <itemset nodeset="/root/init/A00002">
  120. <label ref="cdnm"/>
  121. <value ref="cdid"/>
  122. </itemset>
  123. </choices>
  124. </col>
  125. <col ref="paybankflag" type="combo">
  126. <choices>
  127. <itemset nodeset="/root/init/A00001">
  128. <label ref="cdnm"/>
  129. <value ref="cdid"/>
  130. </itemset>
  131. </choices>
  132. </col>
  133. <col ref="acntno" style="text-align:center; "/>
  134. <col ref="payindd" type="inputdate" maxlength="8"/>
  135. <col ref="aidamt" type="input" format="#,###,###,###" maxlength="10" style="text-align:center; "/>
  136. <script type="javascript" ev:event="xforms-value-changed">
  137. <![CDATA[
  138. if(grd_aidmtlist.col == 3){
  139. grd_aidmtlist.valueMatrix( grd_aidmtlist.row,4) = "";
  140. model.removenode("/root/send");
  141. model.makeValue("/root/send/bankflagcd", grd_aidmtlist.valueMatrix( grd_aidmtlist.row,3));
  142. submit("TRMNH02401");
  143. }
  144. if(grd_aidmtlist.col == 2){
  145. if(grd_aidmtlist.valueMatrix(1,2)=="01"){
  146. messageBox("지로 납부는 멀티 후원금 입금을", "E001");
  147. grd_aidmtlist.valueMatrix(1,2) = "";
  148. return;
  149. }
  150. }else if(grd_aidmtlist.col == 3){
  151. if(grd_aidmtlist.valueMatrix(1,3)=="99"){
  152. messageBox("지로 납부는 멀티 후원금 입금을", "E001");
  153. grd_aidmtlist.valueMatrix(1,3) = "";
  154. return;
  155. }
  156. }else if(grd_aidmtlist.col == 5){
  157. if(grd_aidmtlist.valueMatrix(1,5)==getCurrentDate()){
  158. messageBox("기부금 입금일이 같으면 추가 입금을", "E001");
  159. grd_aidmtlist.valueMatrix(1,5) = "";
  160. return;
  161. }
  162. }
  163. ]]>
  164. </script>
  165. <script type="javascript" ev:event="onclick">
  166. <![CDATA[
  167. if(isDataCell()){
  168. if(grd_aidmtlist.col == 4){
  169. //group2.attribute("left") = event.ScreenX-window.screenleft;
  170. //group2.attribute("top") = event.ScreenY-window.screenTop;
  171. rdo_acntno.value = grd_aidmtlist.valueMatrix( grd_aidmtlist.row, 4);
  172. model.refresh();
  173. group2.visible = true;
  174. }
  175. }
  176. ]]>
  177. </script>
  178. </datagrid>
  179. <caption id="caption1" class="tit_2" style="left:1px; top:13px; width:131px; height:15px; ">기부금 멀티 입금</caption>
  180. <line id="line1" class="line_1" style="x1:0px; y1:30px; x2:605px; y2:30px; "/>
  181. <button id="button1" class="btn4_letter2" navindex="9" style="left:492px; top:7px; width:56px; height:22px; ">
  182. <caption>저장</caption>
  183. <script type="javascript" ev:event="DOMActivate">
  184. <![CDATA[
  185. var acntno = grd_aidmtlist.valueMatrix(1, grd_aidmtlist.colRef("acntno"));
  186. if(acntno == null || acntno == "") {
  187. messageBox("계좌(지로)번호를 입력하십시오.", "E");
  188. return;
  189. }
  190. if(messageBox("","Q002") != 6) return;
  191. if(grd_aidmtlist.valueMatrix(1,5) == ""){
  192. messageBox("입금일은", "I003");
  193. return;
  194. }
  195. if(grd_aidmtlist.valueMatrix(1,6) == ""){
  196. messageBox("입금액은", "I003");
  197. return;
  198. }
  199. var xAmtPath = "/root/main/aidmtmultilist";
  200. var sAmtData =
  201. "membno"
  202. + "▦payym"
  203. + "▦payindd"
  204. + "▦paymthdflag"
  205. + "▦paybankflag"
  206. + "▦acntno"
  207. + "▦aidamt"
  208. + "▦orgaidamt"
  209. + "▩" ;
  210. for(i=1 ; i<grd_aidmtmultilist.rows; i++ ){
  211. if((grd_aidmtmultilist.valueMatrix(i,0)=='true') &&
  212. (grd_aidmtmultilist.valueMatrix(i,2)=='N')
  213. ){
  214. sAmtData +=
  215. model.getValue(xAmtPath + "["+ i + "]/memno" )
  216. + "▦" + model.getValue(xAmtPath + "["+ i + "]/payym" )
  217. + "▦" + grd_aidmtlist.valueMatrix(1,5)
  218. + "▦" + grd_aidmtlist.valueMatrix(1,2)
  219. + "▦" + grd_aidmtlist.valueMatrix(1,3)
  220. + "▦" + grd_aidmtlist.valueMatrix(1,4)
  221. + "▦" + model.getValue(xAmtPath + "["+ i + "]/aidamt" )
  222. + "▦" + model.getValue(xAmtPath + "["+ i + "]/aidamt" )
  223. + "▩" ;
  224. }
  225. }
  226. model.removenode("/root/send");
  227. model.makeNode("/root/send");
  228. model.makeValue("/root/send/sAmtData" ,sAmtData );
  229. submit("TXMNH03801");
  230. window.close();
  231. ]]>
  232. </script>
  233. </button>
  234. <datagrid id="grd_aidmtmultilist" nodeset="/root/main/aidmtmultilist" caption="^납부 년월^납부 여부^회원번호^회원명^입금액" colsep="^" colwidth="40, 100, 100, 120, 122, 120" dataheight="23" defaultrows="2" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" navindex="7" style="left:0px; top:122px; width:605px; height:303px; ">
  235. <col ref="chk" type="checkbox"/>
  236. <col ref="payym" format="yyyy-mm" style="text-align:center; "/>
  237. <col ref="payyn" style="text-align:center; "/>
  238. <col ref="memno" style="text-align:center; "/>
  239. <col ref="membnm" style="text-align:center; "/>
  240. <col ref="aidamt" type="input" format="#,###,###,###" maxlength="10" style="text-align:center; "/>
  241. <script type="javascript" ev:event="xforms-value-changed">
  242. <![CDATA[
  243. if(grd_aidmtlist.col == 2){
  244. if(grd_aidmtlist.valueMatrix(1,2)=="01"){
  245. grd_aidmtlist.isReadOnly(1, 7) = false;
  246. }else{
  247. grd_aidmtlist.isReadOnly(1, 7) = true;
  248. }
  249. }else if(grd_aidmtlist.col == 5){
  250. if(grd_aidmtlist.valueMatrix(1,5)==getCurrentDate()){
  251. messageBox("후원금 입금일이 같으면 추가 입금을", "E001");
  252. grd_aidmtlist.valueMatrix(1,5) = "";
  253. return;
  254. }
  255. }
  256. ]]>
  257. </script>
  258. </datagrid>
  259. <caption id="caption2" class="tit_2" style="left:0px; top:100px; width:131px; height:14px; ">납부년월 체크</caption>
  260. <line id="line2" class="line_1" style="x1:-1px; y1:117px; x2:604px; y2:117px; "/>
  261. <button id="button6" class="btn2_letter7" style="left:507px; top:97px; width:97px; height:19px; ">
  262. <caption>약정금액 계산</caption>
  263. <script type="javascript" ev:event="DOMActivate">
  264. <![CDATA[
  265. var cnt = 0;
  266. var tempamt = 0;
  267. //입금액
  268. amt = Number(grd_aidmtlist.valueMatrix(1,6));
  269. tempamt = amt;
  270. if(amt==""){
  271. messageBox("입금액을", "C001");
  272. return;
  273. }
  274. model.removenode("/root/send");
  275. model.makeValue("/root/send/membno",grd_aidmtlist.valueMatrix(1,0));
  276. model.makeValue("/root/send/amtyy", payyy);
  277. submit("TRMNH04001");
  278. //월약정금액
  279. monamt = Number(model.getValue('/root/init/mondetl/monamt'));
  280. if(monamt == ""){//약정 금액이 없을 때에는 체크한 개월수로 입급을 나눈 값 셋팅
  281. lastCnt = 0;
  282. for(i=1 ; i<grd_aidmtmultilist.rows; i++ ){
  283. if((grd_aidmtmultilist.valueMatrix(i,0)=='true') && (grd_aidmtmultilist.valueMatrix(i,2)=='N')) {
  284. lastCnt++;
  285. }
  286. }
  287. if(lastCnt == 0){
  288. messageBox("납부년월을", "C002");
  289. return;
  290. }
  291. for(i=1 ; i<grd_aidmtmultilist.rows; i++ ){
  292. if((grd_aidmtmultilist.valueMatrix(i,0)=='true') && (grd_aidmtmultilist.valueMatrix(i,2)=='N') ) {
  293. tempamt = tempamt - parseInt(amt/lastCnt);
  294. cnt++;
  295. if( cnt == lastCnt ) {
  296. grd_aidmtmultilist.valueMatrix(i,5) = (amt/lastCnt)+tempamt;
  297. }else {
  298. grd_aidmtmultilist.valueMatrix(i,5) = (amt/lastCnt);
  299. }
  300. }
  301. }
  302. }else {
  303. lastCnt = 0;
  304. for(i=1 ; i<grd_aidmtmultilist.rows; i++ ){
  305. if((grd_aidmtmultilist.valueMatrix(i,0)=='true') &&
  306. (grd_aidmtmultilist.valueMatrix(i,2)=='N')
  307. ){
  308. lastCnt = i;
  309. }
  310. }
  311. if(lastCnt == 0){
  312. messageBox("납부년월을", "C002");
  313. return;
  314. }
  315. for(i=1 ; i<grd_aidmtmultilist.rows; i++ ){
  316. if((grd_aidmtmultilist.valueMatrix(i,0)=='true') &&
  317. (grd_aidmtmultilist.valueMatrix(i,2)=='N')
  318. ){
  319. if(amt >= monamt){
  320. if(i == lastCnt){
  321. grd_aidmtmultilist.valueMatrix(i,5) = amt;
  322. }else{
  323. grd_aidmtmultilist.valueMatrix(i,5) = monamt;
  324. }
  325. amt = amt - monamt;
  326. }else{
  327. grd_aidmtmultilist.valueMatrix(i,5) = amt;
  328. amt = amt - amt;
  329. }
  330. }
  331. }
  332. }
  333. ]]>
  334. </script>
  335. </button>
  336. <group id="group2" visibility="hidden" style="left:325px; top:60px; width:160px; height:170px; background-color:#87CEFA; ">
  337. <caption id="caption5" class="tit_2" style="left:0px; top:5px; width:108px; height:13px; ">계좌(지로)번호</caption>
  338. <select1 id="rdo_acntno" ref="/root/temp/acntno" class="radio_search" navindex="31" appearance="full" cols="1" overflow="visible" style="left:10px; top:25px; width:140px; height:130px; background-color:transparent; border-style:none; ">
  339. <choices>
  340. <itemset nodeset="/root/init/acntno">
  341. <label ref="cdnm"/>
  342. <value ref="cdid"/>
  343. </itemset>
  344. </choices>
  345. <script type="javascript" ev:event="onclick">
  346. <![CDATA[
  347. grd_aidmtlist.valueMatrix( grd_aidmtlist.row, 4) = rdo_acntno.value;
  348. group2.visible = false;
  349. ]]>
  350. </script>
  351. <script type="javascript" ev:event="onkeydown">
  352. <![CDATA[
  353. if( event.keyCode == 27) {
  354. group2.visible = false;
  355. }
  356. ]]>
  357. </script>
  358. </select1>
  359. <button id="button8" class="btn5_letter2" navindex="22" style="left:113px; top:3px; width:42px; height:19px; ">
  360. <caption>닫기</caption>
  361. <script type="javascript" ev:event="DOMActivate">
  362. <![CDATA[
  363. group2.visible = false;
  364. ]]>
  365. </script>
  366. </button>
  367. </group>
  368. <button id="button2" class="btn2_letter4" style="left:440px; top:97px; width:64px; height:19px; ">
  369. <caption>엑셀저장</caption>
  370. <script type="javascript" ev:event="DOMActivate">
  371. <![CDATA[
  372. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  373. grd_aidmtmultilist.saveExcel(fileName, "sheetname:sheet1;colhiddenextend:false;rowhiddenextend:false;exportfalsecols:8;");
  374. ]]>
  375. </script>
  376. </button>
  377. </xhtml:body>
  378. </xhtml:html>