SMAYA02000.js 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. /* --------------------------------------------------------
  2. 회의록 등록 관리 (SMAYA02000.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By 임여원
  6. : 2015.05.02
  7. -------------------------------------------------------- */
  8. /**
  9. * @group :
  10. * @ver : 2007.11.26
  11. * @by : Lim YeoWon
  12. * @-----------------------------------------------------------
  13. * @type : function
  14. * @access : public
  15. * @desc : 회의록 등록 관리의 초기화 함수
  16. * @-----------------------------------------------------------
  17. */
  18. function fInit(){
  19. model.setValue("/root/main/cond/condinfo/status","i"); //상태값 i로 입력 가능하게 셋팅
  20. model.removeNodeset("/root/main/grdlist/itemlist");
  21. model.removeNodeset("/root/init/chrgconslrlist/chrgconslrlistinfo");
  22. model.removeNodeset("/root/main/conslrlist/conslrlistinfo");
  23. grd_conslrlist.fixedcellcheckbox(0,1)=true; //체크박스 위에 전체 선택 하는 콤보 셋팅
  24. //사용자명 (입력자 또는 로그인한 사용자명)
  25. var usernm = getUserInfo("usernm");
  26. model.setValue(opt_rgstnm.attribute("ref"), usernm);
  27. var CurrentDate=getCurrentDate();
  28. model.setValue("/root/main/search/searchlilst/fromdd", CurrentDate.substr(0,6)+ "01"); //조회시작기간 1일로 세팅
  29. model.setValue("/root/main/search/searchlilst/todd", CurrentDate); //조회종료기간 오늘날짜로 세팅
  30. model.makeValue("/root/send/reqdata/joblncd", "B");
  31. submit("TRAYA02002", false); //화면뜰때 원목자 리스트 가져오는 서브미션
  32. model.makeValue("/root/send/reqdata/joblncd", "B");
  33. submit("TRAYA02801", false); //콤보 박스에 원목자 리스트 가져오는 서브미션
  34. addComboItem("cmb_conslrnm", "","","above"); //원목자에도 전체 뜨도록 셋팅
  35. zbcfGetCodeList( new Array("A0453"), new Array("/root/hidden/init/comcd") ); //관계코드 2개 설정
  36. zbcfGetCodeList( new Array("A0453"), new Array("/root/hidden/init/comcd1") );
  37. addComboItem("cmb_confflagcd", "","","above"); //화면 오픈시 구분 콤보 2개에 전체 뜨도록 셋팅
  38. addComboItem("cmb_confdetlflagcd", "","","above");
  39. model.refresh();
  40. }
  41. /* --------------------------------------------------------------------------*/
  42. /* type : function */
  43. /* access : public */
  44. /* desc : 회의록 등록관리 조회 함수 */
  45. /* --------------------------------------------------------------------------*/
  46. function fConfRgstListRef(){
  47. model.removeNodeset("/root/send/reqdata"); //보낼 데이타 초기화
  48. model.makeNode("/root/send/reqdata"); //보낼 데이타 다시 만들어줌
  49. model.copyNode("/root/send/reqdata", "/root/main/search"); //조회할 데이터를 REQDATA에 카피한 후에
  50. if( submit("TRAYA02001")==true)
  51. {
  52. fConfInfoReset();
  53. } //회의록 데이터는 초기화
  54. var CurrentDate=getCurrentDate();
  55. model.setValue("/root/main/cond/condinfo/confdd", CurrentDate); //조회기간 오늘날짜로 세팅
  56. model.setFocus("cmb_confflagcd1");
  57. model.refresh();
  58. }
  59. /* --------------------------------------------------------------------------*/
  60. /* type : function */
  61. /* access : public */
  62. /* desc : 회의록 리스트 클릭시 회의록 입력창에 세부 정보 나타내는 함수 */
  63. /* --------------------------------------------------------------------------*/
  64. function fConfInfoListRef() {
  65. var idxRow=grd_itemlist.row; //행의 정보를 변수에 저장
  66. var idxRows=grd_itemlist.rows;
  67. if(idxRow==0)
  68. {
  69. fConfInfoReset();
  70. return;
  71. }
  72. model.removeNodeset("/root/send/reqdata");
  73. model.makeNode("/root/send/reqdata");
  74. model.copyNode("/root/send/reqdata","/root/main/grdlist/itemlist["+idxRow+"]"); //그리드에 선택된 값을 reqdata로 카피
  75. if (submit("TRAYA02003") == true)
  76. { //선택한 회의 정보 가져오는 서브미션
  77. var supcdid = model.getValue("/root/main/cond/condinfo/confflagcd"); //상위코드 값 받아서 관계코드 셋팅
  78. var sortfield = "cdnm";
  79. var sortmethod = "asc";
  80. var minimum = "true";
  81. zbcfGetSubCodeList("A0453", supcdid, "A0454", sortfield, sortmethod, minimum, "/root/hidden/init/comcd1");
  82. //상위코드에 따른 하위코드 이름을 셋팅
  83. cmb_confflagcd1.disabled=true; //수정시 회의구분,세부구분,일자는 비활성
  84. cmb_confdetlflagcd1.disabled=true;
  85. ipt_confdd.disabled=true;
  86. //마지막으로 수정한 사용자명
  87. var usernm = getUserInfo("usernm");
  88. model.setValue(opt_rgstnm.attribute("ref"), usernm);
  89. //submit("TRAYA02002", false); //화면뜰때 원목자 리스트 가져오는 서브미션
  90. };
  91. model.refresh();
  92. }
  93. /* --------------------------------------------------------------------------*/
  94. /* type : function */
  95. /* access : public */
  96. /* desc : 화면 클릭시 원목자 클릭된 정보 나타내는 함수 */
  97. /* --------------------------------------------------------------------------*/
  98. function fConslrDetailList() {
  99. var idxRow=grd_itemlist.row; //클릭한 그리드
  100. model.removeNodeset("/root/send/reqdata");
  101. model.makeNode("/root/send/reqdata");
  102. model.copyNode("/root/send/reqdata","/root/main/grdlist/itemlist["+idxRow+"]"); //그리드에 선택된 값을 reqdata로 카피
  103. submit("TRAYA02004");
  104. model.refresh();
  105. }
  106. /* --------------------------------------------------------------------------*/
  107. /* type : function */
  108. /* access : public */
  109. /* desc : 회의록 등록 및 수정 함수 */
  110. /* --------------------------------------------------------------------------*/
  111. function fConfRgstSave() {
  112. var status1=model.getValue("/root/main/cond/condinfo/status"); //상태값을 받아 변수에 저장한다.
  113. var attntrqty1=model.getValue("/root/main/cond/condinfo/attntrqty"); //참석자 수 받아 변수에 저장
  114. var fromtm1=model.getValue("/root/main/cond/condinfo/fromtm"); //들어가는 시간받아 변수에 저장
  115. var totm1=model.getValue("/root/main/cond/condinfo/totm"); //회의 시작 시간 받아 변수에 저장
  116. if(attntrqty1 =='') //참석자 수가 없을때
  117. model.setValue("/root/main/cond/condinfo/attntrqty","0"); //0을 셋팅해준다
  118. if(status1=='i') //상태값이 i 일때
  119. {
  120. var confflagcd1= model.getValue("/root/main/cond/condinfo/confflagcd"); //confflagcd에 있는 값을 받아 변수에 저장
  121. var confdetlflagcd1=model.getValue("/root/main/cond/condinfo/confdetlflagcd");
  122. var confdd1=model.getValue("/root/main/cond/condinfo/confdd");
  123. if(confflagcd1=='') //비었으면 메시지 박스 출력
  124. {
  125. messageBox("회의구분은","I003");
  126. model.setFocus("cmb_confflagcd1");
  127. return;
  128. }
  129. else if(confdetlflagcd1 == '' )
  130. {
  131. messageBox("회의세부구분은","I003");
  132. model.setFocus("cmb_confdetlflagcd1");
  133. return;
  134. }
  135. else if(confdd1 == '')
  136. {
  137. messageBox("회의일자는","I003");
  138. model.setFocus("ipt_confdd");
  139. return;
  140. }
  141. else
  142. {
  143. var chkdata= 'chk' //원목자 체크 정보 받을 파리채 생성
  144. + '▦conslrnm'
  145. + '▦conslrid'
  146. + '▦status'
  147. + '▩' ;
  148. var idxRow=grd_conslrlist.rows;
  149. for(var i=1;i<idxRow;i++) //원목자 수만큼 for문을 돌려서
  150. {
  151. var chkFlag=model.getValue('/root/main/conslrlist/conslrlistinfo'+'['+i+']/chk')
  152. if(chkFlag=='1') //체크되어 있는 값들을
  153. {
  154. chkdata+= chkFlag // 체크플래그 값 1을 받아 파리채에 저장
  155. + '▦' + model.getValue('/root/main/conslrlist/conslrlistinfo'+'['+i+']/ conslrnm')
  156. + '▦' + model.getValue('/root/main/conslrlist/conslrlistinfo'+'['+i+']/conslrid')
  157. + '▦' +'i' //status는 i로 저장한다
  158. + '▩' ;
  159. }
  160. }
  161. model.removeNodeset("/root/send/savedata");
  162. model.makeNode("/root/send/savedata");
  163. model.makeValue("/root/main/cond/chkdata",chkdata); //파리채에 담긴 체크된 데이터들을 cond 밑에 저장
  164. model.copyNode("/root/send/savedata","root/main/cond");
  165. if(submit("TXAYA02002")==true) //서브밋 날려서 저장
  166. {
  167. if (model.getValue("/root/temp/chklist/confyn") == "Y") // 동일회의가 시간과 날짜 중복 되었지는 서버 체크(2010.0127 hhm)
  168. {
  169. messageBox("동일동시간대 데이터가" , "E006");
  170. }else{
  171. messageBox("등록이" , "I002");
  172. fConfInfoReset(); //초기화
  173. fConfRgstListRef(); //조회
  174. model.refresh();
  175. }
  176. }
  177. }
  178. }
  179. else if(status1=='u')
  180. {
  181. var idxRow=grd_conslrlist.rows;
  182. var chkdata= 'chk' //원목자 체크 정보 받을 파리채 생성
  183. + '▦conslrnm'
  184. + '▦conslrid'
  185. + '▦status'
  186. + '▦seqno'
  187. + '▩' ;
  188. for(var i=1;i<idxRow;i++) //원목자 수만큼 for문을 돌려서
  189. {
  190. var chkFlag=model.getValue('/root/main/conslrlist/conslrlistinfo'+'['+i+']/chk')
  191. chkdata+= chkFlag // 체크플래그 값 1과 0을 받아 파리채에 저장
  192. + '▦' + model.getValue('/root/main/conslrlist/conslrlistinfo'+'['+i+']/ conslrnm')
  193. + '▦' + model.getValue('/root/main/conslrlist/conslrlistinfo'+'['+i+']/conslrid')
  194. + '▦' +'u' //status는 u로 저장
  195. + '▦' + model.getValue('/root/main/conslrlist/conslrlistinfo'+'['+i+']/seqno')
  196. + '▩' ;
  197. }
  198. model.removeNodeset("/root/send/savedata");
  199. model.makeNode("/root/send/savedata");
  200. model.makeValue("/root/main/cond/chkdata",chkdata); //파리채 데이터를 root정해 저장
  201. model.copyNode("/root/send/savedata","/root/main/cond"); //수정한 파리채 데이터와 회의록 등록 데이터 서브밋으로 보냄
  202. if(submit("TXAYA02002")==true)
  203. {
  204. if (model.getValue("/root/temp/chklist/confyn") == "Y") // 동일회의가 시간과 날짜 중복 되었지는 서버 체크(2010.0127 hhm)
  205. {
  206. messageBox("동일동시간대 데이터가" , "E006");
  207. return;
  208. }else{
  209. messageBox("저장이" , "I002");
  210. fConfInfoReset(); //초기화
  211. var lastupdtrid= getUserInfo("lastupdtrid"); //최종 수정자 id를 셋팅
  212. model.setValue(opt_rgstnm.attribute("ref"), lastupdtrid);
  213. fConfRgstListRef(); //조회
  214. }
  215. }
  216. }
  217. }
  218. /* --------------------------------------------------------------------------*/
  219. /* type : function */
  220. /* access : public */
  221. /* desc : 회의록 등록 창 초기화 함수 */
  222. /* --------------------------------------------------------------------------*/
  223. function fConfInfoReset() {
  224. model.setValue("/root/main/cond/condinfo/status","i");
  225. model.resetInstanceNode("/root/main/cond/condinfo");
  226. cmb_confflagcd1.disabled=false;
  227. cmb_confdetlflagcd1.disabled=false;
  228. ipt_confdd.disabled=false;
  229. var CurrentDate=getCurrentDate();
  230. model.setValue("/root/main/cond/condinfo/confdd", CurrentDate); //조회기간 오늘날짜로 세팅
  231. model.setFocus("cmb_confflagcd1");
  232. //사용자명 (입력자 또는 로그인한 사용자명)
  233. var usernm = getUserInfo("usernm");
  234. model.setValue(opt_rgstnm.attribute("ref"), usernm);
  235. grd_conslrlist.fixedcellischeck(0,1)=false; //전체 체크박스 헤재
  236. for(var i=0;i<=grd_conslrlist.rows;i++)
  237. {
  238. model.resetInstanceNode("/root/main/conslrlist/conslrlistinfo["+i+"]/chk");
  239. }
  240. model.removeNodeset("/root/send/reqdata"); //보낼 데이타 초기화
  241. model.makeNode("/root/send/reqdata"); //보낼 데이타 다시 만들어줌
  242. model.copyNode("/root/send/reqdata", "/root/main/search"); //조회할 데이터를 REQDATA에 카피한 후에
  243. submit("TRAYA02001");
  244. model.refresh();
  245. }
  246. /* ----------------------------------------------------------------------------------*/
  247. /* type : function */
  248. /* access : public */
  249. /* desc : 회의록 창 삭제 함수 */
  250. /* ----------------------------------------------------------------------------------*/
  251. function fDelConfList() {
  252. var idxRow=grd_itemlist.row; // 클릭한 행 반환
  253. if(idxRow<1) // 클릭한 행이 존재 하지 않을 때
  254. {
  255. messageBox("삭제할 회의 내역이", "I004");
  256. }
  257. else // 클릭한 행이 존재 할때
  258. {
  259. var btn=messageBox("선택 회의 내역을","Q001");
  260. if(btn=='6')
  261. {
  262. var idxRow=grd_itemlist.row; // 클릭한 그리드 행을 변수에 저장
  263. model.setValue("/root/main/cond/condinfo/status","d"); // 회의록 상태에 d를 저장
  264. var chkdata= 'chk' // 원목자 체크 정보 받을 파리채 생성
  265. + '▦conslrnm'
  266. + '▦conslrid'
  267. + '▦status'
  268. + '▩' ;
  269. var idxRow=grd_conslrlist.rows;
  270. for(var i=1;i<idxRow;i++) //원목자 수만큼 for문을 돌려서
  271. {
  272. var chkFlag=model.getValue('/root/main/conslrlist/conslrlistinfo'+'['+i+']/chk')
  273. if(chkFlag=='1') //체크되어 있는 값들을
  274. {
  275. chkdata+= chkFlag // 체크플래그 값 1을 받아 파리채에 저장
  276. + '▦' + model.getValue('/root/main/conslrlist/conslrlistinfo'+'['+i+']/ conslrnm')
  277. + '▦' + model.getValue('/root/main/conslrlist/conslrlistinfo'+'['+i+']/conslrid')
  278. + '▦' +'d' //status는 d로 저장
  279. + '▩' ;
  280. }
  281. }
  282. model.removeNodeset("/root/send/savedata");
  283. model.makeNode("/root/send/savedata");
  284. model.makeValue("/root/main/cond/chkdata",chkdata); //파리채에 담긴 체크된 데이터들을 cond 밑에 저장
  285. model.copyNode("/root/send/savedata","root/main/cond");
  286. if(submit("TXAYA02002")==true)
  287. {
  288. messageBox("삭제가" , "I002");
  289. fConfInfoReset(); //초기화
  290. fConfRgstListRef(); //다시 조회
  291. model.refresh();
  292. }
  293. }
  294. else if(btn=='7')
  295. {
  296. return;
  297. }
  298. }
  299. }