SMAYA01200.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. /**
  2. * 파일명 : SMAYA01200.js
  3. * 최초작성일 : 2007.11.12
  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. model.setValue("/root/main/cond/sort", "date");
  18. //조회조건에 출력해줄 담당 원목자리스트를 조회한다.
  19. model.makeValue("/root/send/reqdata/joblncd", "B");
  20. submit("TRAYA02801", false);
  21. addComboItem("cmb_conslrid", "전체", "", "above");
  22. //행사일정 조회 그리드, 원목자리스트 초기화
  23. model.removeNodeset("/root/main/festivschelist/festivschelistinfo");
  24. model.removeNodeset("/root/init/chrgconslrlistinfo");
  25. grd_festivschelist.refresh();
  26. //원목자 행사 리스트 트리구조를 조회한다.
  27. fFestivclsListSearch();
  28. }
  29. /*
  30. * 신규버튼 클릭시 트리에 있는 행사리스트의 행사코드, 행사명을 인자값으로 넘겨 행사일정등록 관리 화면을 호출한다.
  31. * 트리에서 최하위레벨의 행사코드만 파라메터값으로 넘길 수 있다.
  32. */
  33. function fNewFestivSche(isTreeClick) {
  34. var clscd = model.getValue("/root/main/cond/clscd"); //조회조건에 선택되어진 행사코드
  35. var clsnm = model.getValue("/root/main/cond/clsnm"); //조회조건에 선택되어진 행사명
  36. var clsflag = model.getValue("/root/main/festivclslist/festivclslistinfo[clscd='" + clscd + "']/clsflag"); //'분류구분 교육(A), 행사(B), 성사 및 미사(C), 교직원 단체(D)'
  37. //'화면코드 * 교육 : A1 , 행사 : B1, 성사 및 미사 : 세례성사/견진성사(C1), 기타성사(C2), 축복식(C3), 미사(C4) , 교직원 단체 : D1, XX코드가 부여된 것은 세부사항 입력이 불가능함'
  38. var scrncd = model.getValue("/root/main/festivclslist/festivclslistinfo[clscd='" + clscd + "']/scrncd"); //트리의 화면 코드(scrncd)가 XX이면 하위레벨의 값이 존재한다.
  39. //팝업 등록화면으로 가져가는 parameter값을 set한다.
  40. setParameter("condclsnm", model.getValue("/root/main/cond/clsnm"));//행사명
  41. setParameter("condclscd", model.getValue("/root/main/cond/clscd")); //행사코드
  42. setParameter("scrnstatus", 'ins'); //저장상태값(ins : INSERT, updt : UPDATE)
  43. if ((clscd == '' || clsnm == "" ) && !isTreeClick) {
  44. //행사코드, 행사명 초기화
  45. model.setValue('/root/main/cond/clscd', '');
  46. model.setValue('/root/main/cond/clsnm', '');
  47. model.refresh();
  48. messageBox("등록할 행사명을 행사리스트에서", "C002");//행사명을 선택하지 않았을 경우
  49. return false;
  50. } else if(clscd != '' && (scrncd.charAt(0) != clsflag) && !isTreeClick){
  51. messageBox("'" + clsnm + "' 하위에 행사가 존재합니다. 최하위 행사를", "C002");//최하위 레벨이 아닐경우
  52. return false;
  53. } else if(clscd != '' && (scrncd.charAt(0) == clsflag)){
  54. modal("SPAYA01300",1,100,100);//행사일정 등록 팝업 화면 호출
  55. //행사일정을 조회한다.
  56. fFestivscheListSearch();
  57. }
  58. }
  59. /*
  60. * 수정버튼 클릭하거나 그리드를 더블클릭시 선택된 포커스의 그리드의 행사코드, 행사명을 인자값으로 넘겨 행사일정등록 관리 화면을 호출한다.
  61. */
  62. function fUpdtFestivSche() {
  63. var idxRow = grd_festivschelist.row ; //그리드에서 해당 행사 선택
  64. var clscd = model.getValue("/root/main/cond/clscd");
  65. setParameter("grd_clscd",model.getValue("/root/main/festivschelist/festivschelistinfo[" + idxRow + "]/clscd"));
  66. setParameter("grd_seqno",model.getValue("/root/main/festivschelist/festivschelistinfo[" + idxRow + "]/seqno"));
  67. setParameter("scrncd", model.getValue("/root/main/festivclslist/festivclslistinfo[clscd='" + clscd + "']/scrncd")); //팝업 등록화면으로 화면코드 값 가져가기
  68. setParameter("scrnstatus",'updt'); //팝업 등록화면으로 상태 값 가져가기
  69. if (idxRow > 0 ) {
  70. modal("SPAYA01300",1,100,100);
  71. //행사일정을 조회한다.
  72. fFestivscheListSearch();
  73. } else {
  74. messageBox("수정할 행사일정을","C002");
  75. return;
  76. }
  77. }
  78. //삭제버튼 클릭시
  79. function fDelFestivSche() {
  80. var idxRow = grd_festivschelist.row; //그리드에서 해당 행사 선택
  81. if(model.getValue("/root/main/festivclslist/festivclslistinfo[" + idxRow + "]/clscd") != ""){
  82. var btn = messageBox("선택 일정을 ", "Q001");
  83. if (btn == '6') {
  84. //삭제할 행사데이타
  85. var deleteData ="clscd" //01.분류코드
  86. + "▦seqno" //03.일련번호
  87. + "▦deldd" //04.삭제일자
  88. + "▦status" //05.i,u,d상태플래그
  89. + "▩" ;
  90. deleteData += model.getValue("/root/main/festivschelist/festivschelistinfo[" + idxRow + "]/clscd") //01.분류코드
  91. + "▦" + model.getValue("/root/main/festivschelist/festivschelistinfo[" + idxRow + "]/seqno") //03.일련번호
  92. + "▦" + currentdate //04.삭제일자
  93. + "▦" + 'd' //05.i,u,d상태플래그
  94. + "▩" ;
  95. model.removenode("/root/send");
  96. model.makeNode("/root/send/sFestivData");
  97. model.setValue("/root/send/sFestivData", deleteData);
  98. if(submit("TXAYA01301")){
  99. fFestivscheListSearch();
  100. }
  101. } else if (btn == '7') {
  102. return;
  103. }
  104. } else {
  105. messageBox("삭제할 일정을", "C002");
  106. }
  107. }
  108. /**
  109. * 원목자 행사 리스트 트리구조를 조회한다.
  110. */
  111. function fFestivclsListSearch(){
  112. //원목자 행사 리스트 트리구조를 조회한다.
  113. model.makeValue("/root/init/clsflag",'B'); //clsflag값을 'B'로 넘기기 ('분류구분 교육(A), 행사(B), 성사 및 미사(C), 교직원 단체(D)')
  114. submit("TRAYA01201");
  115. }
  116. /**
  117. * 행사일정을 조회한다.
  118. */
  119. function fFestivscheListSearch(){
  120. if(fValid()){
  121. model.removeNodeset("/root/main/festivschelist/festivschelistinfo");
  122. submit("TRAYA01202");
  123. }
  124. }
  125. /**
  126. * 조회 전 유효성 체크한다.
  127. */
  128. function fValid(){
  129. //조회 완성후 행사명에 상위 분류도 조회할수 있도록 수정할것..
  130. if(model.getValue("/root/main/cond/clscd") == '' || model.getValue("/root/main/cond/clscd") == 'B0000'){
  131. model.setValue("/root/main/cond/clscd", 'B0000');
  132. model.setValue('/root/main/cond/clsnm', '행사');
  133. }
  134. //조회시작일 초기화
  135. if(model.getValue('/root/main/cond/reffromdd') == ''){
  136. model.setValue('/root/main/cond/reffromdd', sdate);
  137. }
  138. //조회종료일 초기화
  139. if(model.getValue('/root/main/cond/reftodd') == ''){
  140. model.setValue('/root/main/cond/reftodd', currentdate);
  141. }
  142. //정렬기준초기화
  143. if(model.getValue('/root/main/cond/sort') == ''){
  144. model.setValue('/root/main/cond/sort', 'date');
  145. }
  146. return true;
  147. }
  148. /**
  149. * 그리드에서 조회한 행사일정 리스트를 출력한다.
  150. */
  151. function fPrint(){
  152. }