SMAYA00500.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. /**
  2. * 파일명 : SMAYA00500.js
  3. * 최초작성일 : 2007.11.28
  4. * 작성자 : dhkim
  5. * 교육관리에서 사용하는 js
  6. */
  7. var currentdate = getCurrentDate();//현재일자
  8. var currentYearMonthDate = currentdate.substring(0, 6) + '01';//현재년월의 시작일
  9. /**
  10. * 초기화한다.
  11. */
  12. function fInit(){
  13. //조회기간에 들어갈 값을 초기화한다.
  14. model.setValue("/root/main/cond/reffromdd", currentYearMonthDate);//조회시작일
  15. model.setValue("/root/main/cond/reftodd", currentdate); //조회종료일
  16. //원목자 교육 리스트 트리구조를 조회한다.
  17. fEducclsListSearch();
  18. }
  19. /*
  20. * 신규버튼 클릭시 트리에 있는 교육리스트의 교육코드, 교육명을 인자값으로 넘겨 교육일정등록 관리 화면을 호출한다.
  21. * 트리에서 최하위레벨의 교육코드만 파라메터값으로 넘길 수 있다.
  22. */
  23. function fNewEducSche() {
  24. var clscd = model.getValue("/root/main/cond/clscd"); //조회조건에 선택되어진 교육코드
  25. var clsnm = model.getValue("/root/main/cond/clsnm"); //조회조건에 선택되어진 교육명
  26. var clsflag = model.getValue("/root/main/treeeducclslist/educclslistinfo[clscd='" + clscd + "']/clsflag"); //'분류구분 교육(A), 행사(B), 성사 및 미사(C), 교직원 단체(D)'
  27. //'화면코드 * 교육 : A1 , 행사 : B1, 성사 및 미사 : 세례성사/견진성사(C1), 기타성사(C2), 축복식(C3), 미사(C4) , 교직원 단체 : D1, XX코드가 부여된 것은 세부사항 입력이 불가능함'
  28. var scrncd = model.getValue("/root/main/treeeducclslist/educclslistinfo[clscd='" + clscd + "']/scrncd"); //트리의 화면 코드(scrncd)가 XX이면 하위레벨의 값이 존재한다.
  29. //팝업 등록화면으로 가져가는 parameter값을 set한다.
  30. setParameter("condclsnm", model.getValue("/root/main/cond/clsnm"));//교육명
  31. setParameter("condclscd", model.getValue("/root/main/cond/clscd")); //교육코드
  32. setParameter("scrnstatus", 'ins'); //저장상태값(ins : INSERT, updt : UPDATE)
  33. if (clscd == '' || clsnm == "") {
  34. //교육코드, 교육명 초기화
  35. model.setValue('/root/main/cond/clscd', '');
  36. model.setValue('/root/main/cond/clsnm', '');
  37. model.refresh();
  38. messageBox("등록할 교육명을 교육리스트에서", "C002");//교육명을 선택하지 않았을 경우
  39. } else if(clscd != '' && (scrncd.charAt(0) != clsflag)){
  40. messageBox("'" + clsnm + "' 하위에 교육이 존재합니다. 최하위 교육을", "C002");//최하위 레벨이 아닐경우
  41. return false;
  42. } else if(clscd != '' && (scrncd.charAt(0) == clsflag)){
  43. modal("SPAYA00600",1,100,100);//교육일정 등록 팝업 화면 호출
  44. //교육일정을 조회한다.
  45. fEducscheListSearch();
  46. }
  47. }
  48. /*
  49. * 수정버튼 클릭하거나 그리드를 더블클릭시 선택된 포커스의 그리드의 교육코드, 교육명을 인자값으로 넘겨 교육일정등록 관리 화면을 호출한다.
  50. */
  51. function fUpdtEducSche() {
  52. var idxRow = grd_educschelist.row ; //그리드에서 해당 교육 선택
  53. var clscd = model.getValue("/root/main/cond/clscd");
  54. setParameter("grd_clscd", model.getValue("/root/main/educschelist/educschelistinfo[" + idxRow + "]/clscd"));
  55. setParameter("grd_seqno", model.getValue("/root/main/educschelist/educschelistinfo[" + idxRow + "]/seqno"));
  56. setParameter("scrncd", model.getValue("/root/main/treeeducclslist/educclslistinfo[clscd='" + clscd + "']/scrncd")); //팝업 등록화면으로 화면코드 값 가져가기
  57. setParameter("scrnstatus", 'updt'); //팝업 등록화면으로 상태 값 가져가기
  58. if (idxRow > 0 ) {
  59. modal("SPAYA00600",1,100,100);
  60. //교육일정을 조회한다.
  61. fEducscheListSearch();
  62. } else {
  63. messageBox("수정할 교육일정을","C002");
  64. return;
  65. }
  66. }
  67. //삭제버튼 클릭시
  68. function fDelEducSche() {
  69. var idxRow = grd_educschelist.row; //그리드에서 해당 교육 선택
  70. if(model.getValue("/root/main/educschelist/educschelistinfo[" + idxRow + "]/clscd") != ""){
  71. //var btn = messageBox("선택하신 '" + model.getValue("/root/main/educschelist/educschelistinfo[" + idxRow + "]/titlnm") + "' 일정을 ", "Q001");
  72. var btn = messageBox("선택하신 일정을 ", "Q001");
  73. if (btn == '6') {
  74. //삭제할 교육데이타
  75. var deleteData ="clscd" //01.분류코드
  76. + "▦seqno" //03.일련번호
  77. + "▦deldd" //04.삭제일자
  78. + "▦status" //05.i,u,d상태플래그
  79. + "▩" ;
  80. deleteData += model.getValue("/root/main/educschelist/educschelistinfo[" + idxRow + "]/clscd") //01.분류코드
  81. + "▦" + model.getValue("/root/main/educschelist/educschelistinfo[" + idxRow + "]/seqno") //03.일련번호
  82. + "▦" + currentdate //04.삭제일자
  83. + "▦" + 'd' //05.i,u,d상태플래그
  84. + "▩" ;
  85. model.removenode("/root/send");
  86. model.makeNode("/root/send/removedata");
  87. model.setValue("/root/send/removedata", deleteData);
  88. if(submit("TXAYA00501")){
  89. fEducscheListSearch();
  90. }
  91. } else if (btn == '7') {
  92. return;
  93. }
  94. } else {
  95. messageBox("삭제할 일정을", "C002");
  96. }
  97. }
  98. /**
  99. * 원목자 교육 리스트 트리구조를 조회한다.
  100. */
  101. function fEducclsListSearch(){
  102. //원목자 교육 리스트 트리구조를 조회한다.
  103. model.makeValue("/root/init/clsflag",'A'); //clsflag값을 'A'로 넘기기 ('분류구분 교육(A), 행사(B), 성사 및 미사(C), 교직원 단체(D)')
  104. submit("TRAYA00501");
  105. }
  106. /**
  107. * 교육일정을 조회한다.
  108. */
  109. function fEducscheListSearch(){
  110. if(fValid()){
  111. model.removeNodeset("/root/main/educschelist/educschelistinfo");
  112. submit("TRAYA00502");
  113. }
  114. }
  115. /**
  116. * 조회 전 유효성 체크한다.
  117. */
  118. function fValid(){
  119. //조회 완성후 교육명에 상위 분류도 조회할수 있도록 수정할것..
  120. if(model.getValue("/root/main/cond/clscd") == '' || model.getValue("/root/main/cond/clscd") == 'A0000'){
  121. model.setValue("/root/main/cond/clscd", 'A0000');
  122. model.setValue('/root/main/cond/clsnm', '교육');
  123. model.setValue('/root/main/cond/scrncd', 'XX');
  124. }
  125. //조회시작일 초기화
  126. if(model.getValue('/root/main/cond/reffromdd') == ''){
  127. model.setValue('/root/main/cond/reffromdd', sdate);
  128. }
  129. //조회종료일 초기화
  130. if(model.getValue('/root/main/cond/reftodd') == ''){
  131. model.setValue('/root/main/cond/reftodd', currentdate);
  132. }
  133. return true;
  134. }
  135. /**
  136. * 그리드에서 조회한 교육일정 리스트를 출력한다.
  137. */
  138. function fPrint(){
  139. }