RWC001.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579
  1. function rwcGridCaptionChange(pGrid_Ori, pGrid_OriRef, pGrid, pGrid_Ref) {
  2. var calcbase = model.getValue(pGrid_Ori.nodeset + "[" + (pGrid_Ori.row - pGrid_Ori.fixedRows + 1) + "]/" + pGrid_OriRef);
  3. var gridcol = pGrid.colref(pGrid_Ref);
  4. var gridcaption1 = pGrid.caption.split("|");
  5. var setcaption = "";
  6. for (var j = 0; j < gridcaption1.length; j++) {
  7. var gridcaption2 = gridcaption1[j].split("^");
  8. var changecaption = "";
  9. for (var i = 0; i < gridcaption2.length; i++) {
  10. if (i == 0 && (i+1) == gridcol) {
  11. if (calcbase == "OJOBGRAD") {
  12. changecaption = "직급^직급명";
  13. }
  14. else if (calcbase == "NJOBGRAD") {
  15. changecaption = "신직급^신직급명";
  16. }
  17. else if (calcbase == "JOBPOS") {
  18. changecaption = "직위^직위명";
  19. }
  20. else if (calcbase == "PAYCLS") {
  21. changecaption = "호봉^호봉명";
  22. }
  23. else if (calcbase == "EMPLNO") {
  24. changecaption = "사원번호^성명";
  25. }
  26. else if (calcbase == "DEPT") {
  27. changecaption = "부서^부서명";
  28. }
  29. else if (calcbase == "MARYYN") {
  30. changecaption = "결혼여부^결혼여부명";
  31. }
  32. else if (calcbase == "HDFAMYYN") {
  33. changecaption = "가장여부^가장여부명";
  34. }
  35. else if (calcbase == "LICN") {
  36. changecaption = "자격구분^자격구분명";
  37. }
  38. else if (calcbase == "CALCFORM") {
  39. changecaption = "급여공식코드^급여공식명";
  40. }
  41. else if (calcbase == "PRFSHIP") {
  42. changecaption = "교직구분^교직구분명";
  43. }
  44. else if (calcbase == "HOLYFLAG") {
  45. changecaption = "성직구분^성직구분명";
  46. }
  47. else if (calcbase == "GRUPLN") {
  48. changecaption = "직군^직군명";
  49. }
  50. else if (calcbase == "JOBLN") {
  51. changecaption = "위험코드^위험코드명";
  52. }
  53. else if (calcbase == "JOBRESP") {
  54. changecaption = "직책^직책명";
  55. }
  56. else if (calcbase == "JOBKIND") {
  57. changecaption = "직종^직종명";
  58. }
  59. else if (calcbase == "PAYPRF") {
  60. changecaption = "호봉교직^호봉교직명";
  61. }
  62. else if (calcbase == "PAYMAST") {
  63. changecaption = "급여자료^급여자료명";
  64. }
  65. else if (calcbase == "PTNER") {
  66. changecaption = "배우자여부^배우자여부명";
  67. }
  68. else if (calcbase == "MARYFML") {
  69. changecaption = "부녀자여부^부녀자여부명";
  70. }
  71. else if (calcbase == "HANDSELF") {
  72. changecaption = "장애자본인여부^장애자본인여부명";
  73. }
  74. else if (calcbase == "SENIR") {
  75. changecaption = "선임여부^선임여부명";
  76. }
  77. else if (calcbase == "EMPINSUYN") {
  78. changecaption = "고용보험여부^고용보험여부명";
  79. }
  80. else if (calcbase == "PRESTSTAT") {
  81. changecaption = "근무상태^근무상태";
  82. }
  83. else if (calcbase == "GVNORDCD") {
  84. changecaption = "최종발령^최종발령";
  85. }
  86. else if (calcbase == "GNDR") {
  87. changecaption = "성별^성별";
  88. }
  89. else {
  90. changecaption = "기타^기타명";
  91. }
  92. i++;
  93. }
  94. else if (i > 0 && (i+1) == gridcol) {
  95. if (calcbase == "OJOBGRAD") {
  96. changecaption = changecaption + "^" + "직급^직급명";
  97. }
  98. else if (calcbase == "NJOBGRAD") {
  99. changecaption = changecaption + "^" + "신직급^신직급명";
  100. }
  101. else if (calcbase == "JOBPOS") {
  102. changecaption = changecaption + "^" + "직위^직위명";
  103. }
  104. else if (calcbase == "PAYCLS") {
  105. changecaption = changecaption + "^" + "호봉^호봉명";
  106. }
  107. else if (calcbase == "EMPLNO") {
  108. changecaption = changecaption + "^" + "사원번호^성명";
  109. }
  110. else if (calcbase == "DEPT") {
  111. changecaption = changecaption + "^" + "부서^부서명";
  112. }
  113. else if (calcbase == "MARYYN") {
  114. changecaption = changecaption + "^" + "결혼여부^결혼여부명";
  115. }
  116. else if (calcbase == "HDFAMYYN") {
  117. changecaption = changecaption + "^" + "가장여부^가장여부명";
  118. }
  119. else if (calcbase == "LICN") {
  120. changecaption = changecaption + "^" + "자격구분^자격구분명";
  121. }
  122. else if (calcbase == "CALCFORM") {
  123. changecaption = changecaption + "^" + "급여공식코드^급여공식명";
  124. }
  125. else if (calcbase == "PRFSHIP") {
  126. changecaption = changecaption + "^" + "교직구분^교직구분명";
  127. }
  128. else if (calcbase == "HOLYFLAG") {
  129. changecaption = changecaption + "^" + "성직구분^성직구분명";
  130. }
  131. else if (calcbase == "GRUPLN") {
  132. changecaption = changecaption + "^" + "직군^직군명";
  133. }
  134. else if (calcbase == "JOBLN") {
  135. changecaption = changecaption + "^" + "위험코드^위험코드명";
  136. }
  137. else if (calcbase == "JOBRESP") {
  138. changecaption = changecaption + "^" + "직책^직책명";
  139. }
  140. else if (calcbase == "JOBKIND") {
  141. changecaption = changecaption + "^" + "직종^직종명";
  142. }
  143. else if (calcbase == "PAYPRF") {
  144. changecaption = changecaption + "^" + "호봉교직^호봉교직명";
  145. }
  146. else if (calcbase == "PAYMAST") {
  147. changecaption = changecaption + "^" + "급여자료^급여자료명";
  148. }
  149. else if (calcbase == "PTNER") {
  150. changecaption = changecaption + "^" + "배우자여부^배우자여부명";
  151. }
  152. else if (calcbase == "MARYFML") {
  153. changecaption = changecaption + "^" + "부녀자여부^부녀자여부명";
  154. }
  155. else if (calcbase == "HANDSELF") {
  156. changecaption = changecaption + "^" + "장애자본인여부^장애자본인여부명";
  157. }
  158. else if (calcbase == "SENIR") {
  159. changecaption = changecaption + "^" + "선임여부^선임여부명";
  160. }
  161. else if (calcbase == "EMPINSUYN") {
  162. changecaption = changecaption + "^" + "고용보험여부^고용보험여부명";
  163. }
  164. else if (calcbase == "PRESTSTAT") {
  165. changecaption = changecaption + "^" + "근무상태^근무상태";
  166. }
  167. else if (calcbase == "GVNORDCD") {
  168. changecaption = changecaption + "^" + "최종발령^최종발령";
  169. }
  170. else if (calcbase == "GNDR") {
  171. changecaption = changecaption + "^" + "성별^성별";
  172. }
  173. else {
  174. changecaption = changecaption + "^" + "기타^기타명";
  175. }
  176. i++;
  177. }
  178. else {
  179. if (i == 0) {
  180. changecaption = gridcaption2[i];
  181. }
  182. else {
  183. changecaption = changecaption + "^" + gridcaption2[i];
  184. }
  185. }
  186. }
  187. if (j > 0) {
  188. setcaption = setcaption + "|" + changecaption;
  189. }
  190. else {
  191. setcaption = changecaption;
  192. }
  193. }
  194. //alert(setcaption);
  195. pGrid.caption = setcaption;
  196. }
  197. function rwcCalcBasePopUp(pGrid_Ori, pGrid_OriRef, pGrid, pRecv_list, pDefault, pNodeName) {
  198. var calcbase = model.getValue(pGrid_Ori.nodeset + "[" + (pGrid_Ori.row - pGrid_Ori.fixedRows + 1) + "]/" + pGrid_OriRef);
  199. var helpkind = "";
  200. var cdgrupid = "";
  201. if (calcbase == "OJOBGRAD" || calcbase == "NJOBGRAD") {
  202. helpkind = "03";
  203. cdgrupid = "R0064";
  204. }
  205. else if (calcbase == "JOBPOS") {
  206. helpkind = "03";
  207. cdgrupid = "R0062";
  208. }
  209. else if (calcbase == "PAYCLS") {
  210. helpkind = "03";
  211. cdgrupid = "R0098";
  212. }
  213. else if (calcbase == "EMPLNO") {
  214. helpkind = "01";
  215. cdgrupid = "";
  216. }
  217. else if (calcbase == "DEPT") {
  218. helpkind = "02";
  219. cdgrupid = "";
  220. }
  221. else if (calcbase == "PAYITEM") {
  222. helpkind = "13";
  223. cdgrupid = "";
  224. }
  225. else if (calcbase == "MARYYN") {
  226. helpkind = "03";
  227. cdgrupid = "R0120";
  228. }
  229. else if (calcbase == "HDFAMYYN") {
  230. helpkind = "03";
  231. cdgrupid = "R0121";
  232. }
  233. else if (calcbase == "CALCFORM") {
  234. helpkind = "03";
  235. cdgrupid = "R0125";
  236. }
  237. else if (calcbase == "LICN") {
  238. helpkind = "03";
  239. cdgrupid = "R0126";
  240. }
  241. else if (calcbase == "PRFSHIP") {
  242. helpkind = "03";
  243. cdgrupid = "R0058";
  244. }
  245. else if (calcbase == "HOLYFLAG") {
  246. helpkind = "03";
  247. cdgrupid = "R0066";
  248. }
  249. else if (calcbase == "GRUPLN") {
  250. helpkind = "03";
  251. cdgrupid = "R0059";
  252. }
  253. else if (calcbase == "JOBLN") {
  254. helpkind = "03";
  255. cdgrupid = "R0060";
  256. }
  257. else if (calcbase == "JOBRESP") {
  258. helpkind = "03";
  259. cdgrupid = "R0063";
  260. }
  261. else if (calcbase == "JOBKIND") {
  262. helpkind = "03";
  263. cdgrupid = "R0061";
  264. }
  265. else if (calcbase == "PAYPRF") {
  266. helpkind = "03";
  267. cdgrupid = "R0097";
  268. }
  269. else if (calcbase == "PAYMAST") {
  270. helpkind = "03";
  271. cdgrupid = "R0229";
  272. }
  273. else if (calcbase == "PTNER") {
  274. helpkind = "03";
  275. cdgrupid = "R0233";
  276. }
  277. else if (calcbase == "MARYFML") {
  278. helpkind = "03";
  279. cdgrupid = "R0233";
  280. }
  281. else if (calcbase == "HANDSELF") {
  282. helpkind = "03";
  283. cdgrupid = "R0233";
  284. }
  285. else if (calcbase == "SENIR") {
  286. helpkind = "03";
  287. cdgrupid = "R0233";
  288. }
  289. else if (calcbase == "LBRUNYN") {
  290. helpkind = "03";
  291. cdgrupid = "R0233";
  292. }
  293. else if (calcbase == "EMPINSUYN") {
  294. helpkind = "03";
  295. cdgrupid = "R0233";
  296. }
  297. else if (calcbase == "PRESTSTAT") {
  298. helpkind = "03";
  299. cdgrupid = "R0146";
  300. }
  301. else if (calcbase == "GVNORDCD") {
  302. helpkind = "03";
  303. cdgrupid = "R0090";
  304. }
  305. else if (calcbase == "GNDR") {
  306. helpkind = "03";
  307. cdgrupid = "R0354";
  308. }
  309. else if (calcbase == "DAMDANG") {
  310. helpkind = "03";
  311. cdgrupid = "R0414";
  312. }
  313. else {
  314. helpkind = "";
  315. cdgrupid = "";
  316. }
  317. if (helpkind.length > 0) {
  318. misfOpenPopUpList(helpkind, pGrid, cdgrupid, pRecv_list, pDefault, pNodeName);
  319. }
  320. }
  321. function rwcCalcBaseValidation(pGrid_Ori, pGrid_OriRef, pRecv_list) {
  322. var calcbase = model.getValue(pGrid_Ori.nodeset + "[" + (pGrid_Ori.row - pGrid_Ori.fixedRows + 1) + "]/" + pGrid_OriRef);
  323. var valikind = "";
  324. var cdgrupid = "";
  325. if (calcbase == "OJOBGRAD" || calcbase == "NJOBGRAD") {
  326. valikind = "03";
  327. cdgrupid = "R0064";
  328. }
  329. else if (calcbase == "JOBPOS") {
  330. valikind = "03";
  331. cdgrupid = "R0062";
  332. }
  333. else if (calcbase == "PAYCLS") {
  334. valikind = "03";
  335. cdgrupid = "R0098";
  336. }
  337. else if (calcbase == "EMPLNO") {
  338. valikind = "01-1";
  339. cdgrupid = "";
  340. }
  341. else if (calcbase == "DEPT") {
  342. valikind = "02";
  343. cdgrupid = "";
  344. }
  345. else if (calcbase == "MARYYN") {
  346. valikind = "03";
  347. cdgrupid = "R0120";
  348. }
  349. else if (calcbase == "HDFAMYYN") {
  350. valikind = "03";
  351. cdgrupid = "R0121";
  352. }
  353. else if (calcbase == "CALCFORM") {
  354. valikind = "03";
  355. cdgrupid = "R0125";
  356. }
  357. else if (calcbase == "LICN") {
  358. valikind = "03";
  359. cdgrupid = "R0126";
  360. }
  361. else if (calcbase == "PRFSHIP") {
  362. valikind = "03";
  363. cdgrupid = "R0058";
  364. }
  365. else if (calcbase == "HOLYFLAG") {
  366. valikind = "03";
  367. cdgrupid = "R0066";
  368. }
  369. else if (calcbase == "GRUPLN") {
  370. valikind = "03";
  371. cdgrupid = "R0059";
  372. }
  373. else if (calcbase == "JOBLN") {
  374. valikind = "03";
  375. cdgrupid = "R0060";
  376. }
  377. else if (calcbase == "JOBRESP") {
  378. valikind = "03";
  379. cdgrupid = "R0063";
  380. }
  381. else if (calcbase == "JOBKIND") {
  382. valikind = "03";
  383. cdgrupid = "R0061";
  384. }
  385. else if (calcbase == "PAYPRF") {
  386. valikind = "03";
  387. cdgrupid = "R0097";
  388. }
  389. else if (calcbase == "PAYMAST") {
  390. valikind = "03";
  391. cdgrupid = "R0229";
  392. }
  393. else if (calcbase == "PTNER") {
  394. valikind = "03";
  395. cdgrupid = "R0233";
  396. }
  397. else if (calcbase == "MARYFML") {
  398. valikind = "03";
  399. cdgrupid = "R0233";
  400. }
  401. else if (calcbase == "HANDSELF") {
  402. valikind = "03";
  403. cdgrupid = "R0233";
  404. }
  405. else if (calcbase == "SENIR") {
  406. valikind = "03";
  407. cdgrupid = "R0233";
  408. }
  409. else if (calcbase == "LBRUNYN") {
  410. valikind = "03";
  411. cdgrupid = "R0233";
  412. }
  413. else if (calcbase == "EMPINSUYN") {
  414. helpkind = "03";
  415. cdgrupid = "R0233";
  416. }
  417. else if (calcbase == "PRESTSTAT") {
  418. helpkind = "03";
  419. cdgrupid = "R0146";
  420. }
  421. else if (calcbase == "GVNORDCD") {
  422. valikind = "03";
  423. cdgrupid = "R0090";
  424. }
  425. else if (calcbase == "GNDR") {
  426. valikind = "03";
  427. cdgrupid = "R0354";
  428. }
  429. else {
  430. valikind = "";
  431. cdgrupid = "";
  432. }
  433. if (valikind.length > 0) {
  434. misfValidationCheck(valikind, cdgrupid, pRecv_list);
  435. }
  436. }
  437. //급여 코드 Validation Check한다.
  438. /*
  439. pvali_kind : Validation 종류
  440. "PAYITEM" : 급여항목코드
  441. psaldfrayflag : 급여지급구분
  442. "1" - 정기급여
  443. "2" - 기성회비
  444. "3" - 정근수당
  445. "4" - 지정진료수당
  446. "5" - 명절수당
  447. ppaydeduflag : 지급공제 구분
  448. "1" - 지급
  449. "2" - 공제
  450. precv_list : 자료를 받을 Instance Node(콤마로 분류해서 넘기면됨)
  451. */
  452. function rwcfValidationCheck(pvali_kind,psaldfrayflag, ppaydeduflag, precv_list) {
  453. var objID = event.currentTarget;
  454. var obj = document.controls(objID);
  455. if(obj != null && obj.elementName == "xforms:group") {
  456. objID = event.Target;
  457. obj = document.controls(objID);
  458. }
  459. var validation_node = "/root/send/validation";
  460. var validation_rsltnode = "/root/init/validation";
  461. var recv_node = precv_list.split(",");
  462. model.removeNodeset(validation_node);
  463. model.removeNodeset(validation_rsltnode);
  464. model.makeNode(validation_node);
  465. model.makeNode(validation_rsltnode);
  466. var result_path = "";
  467. if (obj.elementName == "xforms:datagrid") {
  468. result_path = obj.nodeset;
  469. model.makeValue(validation_node + "/getcond", model.getValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + obj.colAttribute(obj.col,"ref")));
  470. model.makeValue(validation_node + "/saldfrayflag", psaldfrayflag);
  471. model.makeValue(validation_node + "/paydeduflag", ppaydeduflag);
  472. }
  473. else {
  474. var node_path = obj.attribute("ref").split("/");
  475. result_path = "/root";
  476. for (var i = 2 ; i < node_path.length - 1; i++) {
  477. result_path = result_path + "/" + node_path[i];
  478. }
  479. model.makeValue(validation_node + "/getcond", model.getValue(obj.attribute("ref")));
  480. model.makeValue(validation_node + "/saldfrayflag", psaldfrayflag);
  481. model.makeValue(validation_node + "/paydeduflag", ppaydeduflag);
  482. }
  483. if (model.getValue(validation_node + "/getcond") == null || model.getValue(validation_node + "/getcond") == "") {
  484. for (var i = 0; i < recv_node.length; i++) {
  485. if (obj.elementName == "xforms:datagrid") {
  486. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], "");
  487. }
  488. else {
  489. model.setValue(result_path + "/" + recv_node[i], "");
  490. }
  491. }
  492. return;
  493. }
  494. var vali_kind = "";
  495. if (pvali_kind == "PAYITEM") //급여항목코드
  496. {
  497. vali_kind = "13";
  498. model.removeChild("TRRWZ00201");
  499. model.createChild("xforms:submission", "id:TRRWZ00201;mediatype:application/x-www-form-urlencoded; method:post; ref:" + validation_node + "; resultref:" + validation_rsltnode + "; ");
  500. submit("TRRWZ00201");
  501. var rslt_node = new Array();
  502. var node = instance1.selectNodes(validation_rsltnode + "/payitemlist" + "/*");
  503. for (var j = 0; j < node.length; j++)
  504. {
  505. if (obj.elementName == "xforms:datagrid")
  506. {
  507. rslt_node[j] = model.getValue(validation_rsltnode + "/payitemlist" + "[1]/" + node.item(j).nodeName);
  508. }
  509. else
  510. {
  511. rslt_node[j] = model.getValue(validation_rsltnode + "/payitemlist" + "/" + node.item(j).nodeName);
  512. }
  513. }
  514. }
  515. var node1 = instance1.selectNodes(validation_rsltnode + "/*");
  516. if (node1.length != 1)
  517. {
  518. model.removeNodeset("/root/source/validation");
  519. model.makeNode("/root/source/validation")
  520. model.copyNode("/root/source/validation", validation_rsltnode);
  521. misfOpenPopUpList(vali_kind, obj, "", precv_list)
  522. }
  523. else
  524. {
  525. for (var i = 0; i < recv_node.length; i++)
  526. {
  527. if (obj.elementName == "xforms:datagrid")
  528. {
  529. //alert(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i] + "*****" + rslt_node[i]);
  530. model.setValue(result_path + "[" + (obj.row - obj.fixedRows + 1) + "]/" + recv_node[i], rslt_node[i]);
  531. }
  532. else
  533. {
  534. model.setValue(result_path + "/" + recv_node[i], rslt_node[i]);
  535. }
  536. }
  537. }
  538. }