SPAHA02150.js 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. /************************************************************************************************
  2. @author : 채희철
  3. @version : 2007-08-27
  4. 할인 / 미수 내역을 관리한다.
  5. *************************************************************************************************/
  6. var gOrddd, gTotrcptamt, strSend, strRcv;
  7. /************************************************************************************************
  8. @author : 채희철
  9. @version : 2007-08-27
  10. 초기화
  11. *************************************************************************************************/
  12. function fInit(){
  13. model.removeNodeset("/root/main/unco");
  14. grd_unco.rebuild();
  15. model.refresh();
  16. }
  17. /************************************************************************************************
  18. @author : 채희철
  19. @version : 2007-07-01
  20. 기초정보코드들을 로드한다.
  21. ************************************************************************************************/
  22. function fGetBaseInfo(){
  23. // 계산상태, 접수상태, 수가계산상태
  24. zbcfGetCodeList( new Array("A0393"), new Array("/root/init/baseinfo") )
  25. }
  26. /************************************************************************************************
  27. @author : 채희철
  28. @version : 2007-08-27
  29. opener로 check해서 처리 ..
  30. *************************************************************************************************/
  31. function fCheckOpener(){
  32. if (checkOpener()){
  33. opener.javascript.setParameter("SPAHA02150_RTN","");
  34. var ssendPath = opener.javascript.getParameter("SPAHA02150_SENDPATH");
  35. var srcvPath = opener.javascript.getParameter("SPAHA02150_RCVPATH");
  36. var dpayinsubamt = opener.javascript.getParameter("SPAHA02150_PAYINSUBAMT");
  37. dpayinsubamt = parseFloat(dpayinsubamt==""?"0":dpayinsubamt);
  38. var dpayhealcntramt = opener.javascript.getParameter("SPAHA02150_PAYHEALCNTRAMT");
  39. dpayhealcntramt = parseFloat(dpayhealcntramt==""?"0":dpayhealcntramt);
  40. var dcmpyamt = opener.javascript.getParameter("SPAHA02150_CMPYAMT");
  41. dcmpyamt = parseFloat(dcmpyamt==""?"0":dcmpyamt);
  42. var downuncoamt = opener.javascript.getParameter("SPAHA02150_OWNUNCOAMT");
  43. downuncoamt = parseFloat(downuncoamt==""?"0":downuncoamt);
  44. var dtotuncoamt = dpayinsubamt + dpayhealcntramt + dcmpyamt + downuncoamt;
  45. var dtotamt = opener.javascript.getParameter("SPAHA02150_TOTAMT");
  46. dtotamt = eval(dtotamt==""?"0":dtotamt);
  47. model.setValue("/root/main/h_unco/totuncoamt",dtotuncoamt);
  48. model.setValue("/root/main/h_unco/totamt",dtotamt);
  49. model.refresh();
  50. if (ssendPath != null && ssendPath != "" && ssendPath != " " && ssendPath != "-")
  51. {
  52. copyNodesetType("/root/main/p_unco", ssendPath, "replace", model, parent.model);
  53. var rowcnt = getNodesetCount("/root/main/p_unco");
  54. //한건이고 한건이 값이 없으면..
  55. if ( rowcnt = 1 && model.getValue("/root/main/p_unco["+ 1+"]/uncocls") == ""){
  56. model.removeNodeset("/root/main/p_unco");
  57. }
  58. grd_unco.rebuild();
  59. }
  60. }
  61. }
  62. /************************************************************************************************
  63. @author : 채희철
  64. @version : 2007-08-27
  65. 입력된 할인 감액 금액의 SUM을 구한다.
  66. *************************************************************************************************/
  67. function fAmtCalc(){
  68. var rowcnt = getNodesetCount("/root/main/p_unco");
  69. if (rowcnt > 0){
  70. var tempamt = 0;
  71. var totuncoamt = 0;
  72. var payinsubamt = 0;
  73. var payhealcntramt = 0;
  74. var cmpyamt = 0;
  75. var ownuncoamt = 0;
  76. var tottamt = model.getValue("/root/main/h_unco/totamt");
  77. var suncocls = "";
  78. for (i = 1; i <= rowcnt; i++)
  79. {
  80. suncocls = model.getValue("/root/main/p_unco["+ i +"]/uncocls") ;
  81. tempamt = model.getValue("/root/main/p_unco["+ i +"]/uncoamt") ;
  82. tempamt = parseFloat(tempamt==""?"0":tempamt);
  83. if ( suncocls == "1" ){
  84. ownuncoamt = ownuncoamt + tempamt;
  85. }else if ( suncocls == "2" ){
  86. payinsubamt = payinsubamt + tempamt;
  87. }else if ( suncocls == "3" ){
  88. payhealcntramt = payhealcntramt + tempamt;
  89. }else if ( suncocls == "4" ){
  90. cmpyamt = cmpyamt + tempamt;
  91. }else if ( suncocls == "5" ){
  92. ownuncoamt = ownuncoamt + tempamt;
  93. }
  94. totuncoamt = totuncoamt + tempamt;
  95. }
  96. if (eval(tottamt) < eval(totuncoamt))
  97. {
  98. messageBox("미수총액이 수납금액을 초과합니다!","E999","");
  99. return;
  100. }
  101. model.setValue("/root/main/h_unco/totuncoamt", totuncoamt);
  102. model.setValue("/root/main/h_unco/payinsubamt", payinsubamt);
  103. model.setValue("/root/main/h_unco/payhealcntramt", payhealcntramt);
  104. model.setValue("/root/main/h_unco/cmpyamt", cmpyamt);
  105. model.setValue("/root/main/h_unco/ownuncoamt", ownuncoamt);
  106. }
  107. else{
  108. model.setValue("/root/main/h_unco/totuncoamt","0");
  109. model.setValue("/root/main/h_unco/payinsubamt", "0");
  110. model.setValue("/root/main/h_unco/payhealcntramt", "0");
  111. model.setValue("/root/main/h_unco/cmpyamt", "0");
  112. model.setValue("/root/main/h_unco/ownuncoamt", "0");
  113. }
  114. model.refresh();
  115. }
  116. /************************************************************************************************
  117. @author : 채희철
  118. @version : 2007-08-27
  119. 하나의 row를 추가한다.
  120. *************************************************************************************************/
  121. function fAddRow(){
  122. grd_unco.additem();
  123. var currow = grd_unco.row;
  124. model.setValue("/root/main/p_unco["+ currow + "]/uncoamt","0");
  125. grd_unco.rebuild();
  126. }
  127. /************************************************************************************************
  128. @author : 채희철
  129. @version : 2007-08-27
  130. 하나의 row를 삭제한다.
  131. *************************************************************************************************/
  132. function fDeleteRow(){
  133. var currow = grd_unco.row;
  134. if (currow < 1)
  135. {
  136. messageBox("먼저 삭제할 내역을 선택하십시요!","E999","");
  137. return;
  138. }
  139. grd_unco.deleteitem(currow);
  140. fAmtCalc();
  141. }
  142. /************************************************************************************************
  143. @author : 채희철
  144. @version : 2007-08-27
  145. 확인버튼을 클릭한다.
  146. *************************************************************************************************/
  147. function fConfirm(){
  148. // 확인시점에 다시 재 계산한다.
  149. fAmtCalc();
  150. var uncocls;
  151. var uncoamt;
  152. var sRcvPath = opener.javascript.getParameter("SPAHA02150_RCVPATH");
  153. for(i = 1; i <= getNodesetCount("/root/main/p_unco"); i++)
  154. {
  155. uncocls = model.getValue("/root/main/p_unco["+ i +"]/uncocls");
  156. uncoamt = model.getValue("/root/main/p_unco["+ i +"]/uncoamt");
  157. if (uncocls == null || uncocls == "" || uncocls == " " || uncocls == "-")
  158. {
  159. messageBox("미수유형이 미선택된 행이 존재합니다!","E999","");
  160. return;
  161. }
  162. /*
  163. if (uncoamt() != true){
  164. messageBox("미수 중 수치형이 아닌 행이 존재합니다!","E999","");
  165. return;
  166. }
  167. */
  168. }
  169. if (checkOpener())
  170. {
  171. opener.javascript.setParameter("SPAHA02150_RTN","Y");
  172. opener.javascript.setParameter("SPAHA02150_TOTUNCOAMT",model.getValue("/root/main/h_unco/totuncoamt"));
  173. opener.javascript.setParameter("SPAHA02150_PAYINSUBAMT",model.getValue("/root/main/h_unco/payinsubamt"));
  174. opener.javascript.setParameter("SPAHA02150_PAYHEALCNTRAMT",model.getValue("/root/main/h_unco/payhealcntramt"));
  175. opener.javascript.setParameter("SPAHA02150_CMPYAMT",model.getValue("/root/main/h_unco/cmpyamt"));
  176. opener.javascript.setParameter("SPAHA02150_OWNUNCOAMT",model.getValue("/root/main/h_unco/ownuncoamt"));
  177. if (sRcvPath != null && sRcvPath != "" && sRcvPath != " " && sRcvPath != "-")
  178. {
  179. copyNodesetType(sRcvPath, "/root/main/p_unco", "replace", parent.model, model);
  180. }
  181. window.close();
  182. }
  183. }
  184. /************************************************************************************************
  185. @author : 채희철
  186. @version : 2007-08-27
  187. 취소버튼을 클릭한다.
  188. *************************************************************************************************/
  189. function fCancel(){
  190. if (checkOpener()){
  191. opener.javascript.setParameter("SPAHA02150_RTN","N");
  192. window.close();
  193. }
  194. }