RWY001.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. function rwyCalcBasePopUp(pGrid_Ori, pGrid_OriRef, pGrid, pRecv_list, pDefault, pNodeName) {
  2. var calcbase = model.getValue(pGrid_Ori.nodeset + "[" + (pGrid_Ori.row - pGrid_Ori.fixedRows + 1) + "]/" + pGrid_OriRef);
  3. var helpkind = "";
  4. var cdgrupid = "";
  5. if (calcbase == "EMPLNO") {
  6. helpkind = "01";
  7. cdgrupid = "";
  8. }
  9. else if (calcbase == "PAYITEM") {
  10. helpkind = "13";
  11. cdgrupid = "";
  12. }
  13. else if (calcbase == "CALCFORM") {
  14. helpkind = "03";
  15. cdgrupid = "R0125";
  16. }
  17. else if (calcbase == "PTNER") {
  18. helpkind = "03";
  19. cdgrupid = "R0233";
  20. }
  21. else if (calcbase == "MARYFML") {
  22. helpkind = "03";
  23. cdgrupid = "R0233";
  24. }
  25. else if (calcbase == "HANDSELF") {
  26. helpkind = "03";
  27. cdgrupid = "R0233";
  28. }
  29. else if (calcbase == "UNQTAX") {
  30. helpkind = "03";
  31. cdgrupid = "R0233";
  32. }
  33. else if (calcbase == "CALCBASE") {
  34. helpkind = "03";
  35. cdgrupid = "R0264";
  36. }
  37. else if (calcbase == "CALCITEM" || calcbase == "PREDUTPL" || calcbase == "CALCINPUT") {
  38. helpkind = "27";
  39. cdgrupid = "";
  40. }
  41. else {
  42. helpkind = "";
  43. cdgrupid = "";
  44. }
  45. if (helpkind.length > 0) {
  46. misfOpenPopUpList(helpkind, pGrid, cdgrupid, pRecv_list, pDefault,pNodeName);
  47. }
  48. }
  49. function rwyCalcBaseValidation(pGrid_Ori, pGrid_OriRef, pRecv_list) {
  50. var calcbase = model.getValue(pGrid_Ori.nodeset + "[" + (pGrid_Ori.row - pGrid_Ori.fixedRows + 1) + "]/" + pGrid_OriRef);
  51. var valikind = "";
  52. var cdgrupid = "";
  53. if (calcbase == "EMPLNO") {
  54. valikind = "01-1";
  55. cdgrupid = "";
  56. }
  57. else if (calcbase == "CALCFORM") {
  58. valikind = "03";
  59. cdgrupid = "R0125";
  60. }
  61. else if (calcbase == "PTNER") {
  62. valikind = "03";
  63. cdgrupid = "R0233";
  64. }
  65. else if (calcbase == "MARYFML") {
  66. valikind = "03";
  67. cdgrupid = "R0233";
  68. }
  69. else if (calcbase == "HANDSELF") {
  70. valikind = "03";
  71. cdgrupid = "R0233";
  72. }
  73. else if (calcbase == "UNQTAX") {
  74. valikind = "03";
  75. cdgrupid = "R0233";
  76. }
  77. else if (calcbase == "CALCBASE") {
  78. valikind = "03";
  79. cdgrupid = "R0264";
  80. }
  81. else {
  82. valikind = "";
  83. cdgrupid = "";
  84. }
  85. if (valikind.length > 0) {
  86. misfValidationCheck(valikind, cdgrupid, pRecv_list);
  87. }
  88. }
  89. //급여 코드 Validation Check한다.
  90. /*
  91. pvali_kind : Validation 종류
  92. "PAYITEM" : 급여항목코드
  93. psaldfrayflag : 급여지급구분
  94. "1" - 정기급여
  95. "2" - 기성회비
  96. "3" - 정근수당
  97. "4" - 지정진료수당
  98. "5" - 명절수당
  99. ppaydeduflag : 지급공제 구분
  100. "1" - 지급
  101. "2" - 공제
  102. precv_list : 자료를 받을 Instance Node(콤마로 분류해서 넘기면됨)
  103. */
  104. function rwyfValidationCheck(pvali_kind,pPrntyn,pRetireCalcyn,pInputyn, pPreDutPlceyn, pInstcd, precv_list) {
  105. var objID = event.currentTarget;
  106. var obj = document.controls(objID);
  107. if(obj != null && obj.elementName == "xforms:group") {
  108. objID = event.Target;
  109. obj = document.controls(objID);
  110. }
  111. var validation_node = "/root/send/validation";
  112. var validation_rsltnode = "/root/init/validation";
  113. var recv_node = precv_list.split(",");
  114. model.removeNodeset(validation_node);
  115. model.removeNodeset(validation_rsltnode);
  116. model.makeNode(validation_node);
  117. model.makeNode(validation_rsltnode);
  118. var result_path = "";
  119. if (obj.elementName == "xforms:datagrid") {
  120. result_path = obj.nodeset;
  121. model.makeValue(validation_node + "/getcond", model.getValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + obj.colAttribute(obj.col,"ref")));
  122. model.makeValue(validation_node + "/prntyn", pPrntyn);
  123. model.makeValue(validation_node + "/retirecalcyn", pRetireCalcyn);
  124. model.makeValue(validation_node + "/inputyn", pInputyn);
  125. model.makeValue(validation_node + "/predutplceyn", pPreDutPlceyn);
  126. model.makeValue(validation_node + "/instcd", pInstcd);
  127. }
  128. else {
  129. var node_path = obj.attribute("ref").split("/");
  130. result_path = "/root";
  131. for (var i = 2 ; i < node_path.length - 1; i++) {
  132. result_path = result_path + "/" + node_path[i];
  133. }
  134. model.makeValue(validation_node + "/getcond", model.getValue(obj.attribute("ref")));
  135. model.makeValue(validation_node + "/prntyn", pPrntyn);
  136. model.makeValue(validation_node + "/retirecalcyn", pRetireCalcyn);
  137. model.makeValue(validation_node + "/inputyn", pInputyn);
  138. model.makeValue(validation_node + "/predutplceyn", pPreDutPlceyn);
  139. model.makeValue(validation_node + "/instcd", pInstcd);
  140. }
  141. if (model.getValue(validation_node + "/getcond") == null || model.getValue(validation_node + "/getcond") == "") {
  142. for (var i = 0; i < recv_node.length; i++) {
  143. if (obj.elementName == "xforms:datagrid") {
  144. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], "");
  145. }
  146. else {
  147. model.setValue(result_path + "/" + recv_node[i], "");
  148. }
  149. }
  150. return;
  151. }
  152. var vali_kind = "";
  153. vali_kind = "27";
  154. model.removeChild("TRRWZ00302");
  155. model.createChild("xforms:submission", "id:TRRWZ00302;mediatype:application/x-www-form-urlencoded; method:post; ref:" + validation_node + "; resultref:" + validation_rsltnode + "; ");
  156. submit("TRRWZ00302");
  157. var rslt_node = new Array();
  158. var node = instance1.selectNodes(validation_rsltnode + "/calcflagcdlist" + "/*");
  159. for (var j = 0; j < node.length; j++)
  160. {
  161. if (obj.elementName == "xforms:datagrid")
  162. {
  163. rslt_node[j] = model.getValue(validation_rsltnode + "/calcflagcdlist" + "[1]/" + node.item(j).nodeName);
  164. }
  165. else
  166. {
  167. rslt_node[j] = model.getValue(validation_rsltnode + "/calcflagcdlist" + "/" + node.item(j).nodeName);
  168. }
  169. }
  170. var node1 = instance1.selectNodes(validation_rsltnode + "/*");
  171. if (node1.length != 1)
  172. {
  173. model.removeNodeset("/root/source/validation");
  174. model.makeNode("/root/source/validation")
  175. model.copyNode("/root/source/validation", validation_rsltnode);
  176. var defaultval = pPrntyn+","+pRetireCalcyn+","+pInputyn+","+pPreDutPlceyn+","+ pInstcd;
  177. var nodename = "prntyn,retirecalcyn,inputyn,predutplceyn,instcd";
  178. misfOpenPopUpList(vali_kind, obj, "", precv_list,defaultval,nodename);
  179. }
  180. else
  181. {
  182. for (var i = 0; i < recv_node.length; i++)
  183. {
  184. if (obj.elementName == "xforms:datagrid")
  185. {
  186. //alert(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i] + "*****" + rslt_node[i]);
  187. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], rslt_node[i]);
  188. }
  189. else
  190. {
  191. model.setValue(result_path + "/" + recv_node[i], rslt_node[i]);
  192. }
  193. }
  194. }
  195. }