SMRSD00401.js 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. /* ---------------------------------------------------------------------
  2. SMRSD00401_물품청구승인관리.xrw (SMRSD00400.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By Francis Choi
  6. : 2015.05.02
  7. ---------------------------------------------------------------------- */
  8. var xAuth = !(checkAuth("X"));
  9. var pAuth = !(checkAuth("P"));
  10. var vInstcd = "";
  11. var vPurcAuth = "1";
  12. // --------------------------------------------------
  13. // Tree정보 가져오기
  14. // --------------------------------------------------
  15. function fInit() {
  16. // 화면 Control을 초기화한다
  17. fCheckAuth();
  18. fInitialize();
  19. return;
  20. }
  21. //------------------------------------------------
  22. // 화면 권한관리 CHECK
  23. //------------------------------------------------
  24. function fCheckAuth() {
  25. btn_search.disabled = !checkAuth("R") ;
  26. //btn_save.disabled = !checkAuth("X") ;
  27. //btn_prt.disabled = !checkAuth("P") ;
  28. }
  29. // --------------------------------------------------------------
  30. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  31. // --------------------------------------------------------------
  32. function fInitialize() {
  33. model.resetInstanceNode("/root/send");
  34. misfGridInit(grd_reqset);
  35. misfGridInit(grd_goodreq);
  36. //기관코드, 명 설정.
  37. vInstcd = getUserInfo("dutplceinstcd");
  38. // 컴포넌트에 들어가지 않는 거 테스트하려구 많든 필드
  39. opt_instcd2.value = vInstcd;
  40. //
  41. model.setValue(opt_instcd.attribute("ref") , vInstcd);
  42. model.setValue(opt_instcdnm.attribute("ref") , getUserInfo("dutplceinstnm") );
  43. misfComboComCdList("R0093",cmb_reqpridflag ,"N"); // 청구주기
  44. model.setValue(opt_requser.attribute("ref" ) , getUserInfo("userid"));
  45. model.setValue(opt_requsernm.attribute("ref") , getUserInfo("usernm"));
  46. rszfUserReqFlagList(cmb_reqflag,getUserInfo("dutplceinstcd"),model.getValue(opt_requser.attribute("ref")), "1", "S" ); // preqpgmgubun : '1' :구매재고
  47. addComboItem("cmb_reqflag", "전체", "", "above");
  48. cmb_reqflag.Selectedindex= 0
  49. model.setValue(ipt_reqfrdd.attribute("ref") , getCurrentDate());
  50. model.setValue(ipt_reqtodd.attribute("ref") , getCurrentDate());
  51. model.setValue(rdo_acqtflag.attribute("ref") , "N");
  52. if (cmb_workflag.length> 0) cmb_workflag.Selectedindex= 0; // 작업구분
  53. model.setValue(cmb_reqpridflag.attribute("ref"), "1"); // reqpridflag = '일청구'
  54. model.setValue(cmb_workflag.attribute("ref") , "1"); // 작업구분 '':전체,1:청구,2:반납,3:상비품청구,4:상비품반납
  55. model.setValue(cmb_reqflag.attribute("ref") , ""); // 청구구분 A:의료소모품,B:일반소모품,C:의료비품
  56. var instcls = "0";
  57. if (vInstcd == "103" ) instcls = "1"; // 103:성의교정
  58. if (vInstcd == "114" ) instcls = "1"; // 114:산학협력
  59. //
  60. grd_goodreq.colwidth(grd_reqset.colRef("bugtnm" )) = 0; // 예산명
  61. grd_goodreq.colwidth(grd_reqset.colRef("remainder")) = 0; // 예산잔액
  62. //
  63. if (instcls == "1") {
  64. cmb_reqpridflag.disabled = true;
  65. grd_goodreq.colwidth(grd_goodreq.colRef("bugtnm" )) = 100; // 예산명
  66. grd_goodreq.colwidth(grd_goodreq.colRef("remainder")) = 100; // 예산잔액
  67. }
  68. //
  69. grd_reqset.fixedcellcheckbox( 0 ,grd_goodreq.colRef("chk") ,false) = true;
  70. // grd_goodreq.fixedcellcheckbox(0 ,grd_goodreq.colRef("jobstatus"),false) = true;
  71. grd_reqset.explorerbar = "sortshow";
  72. model.refresh();
  73. }
  74. // 청구상세내역
  75. function fReqDetailRead() {
  76. var sPath = "/root/send/goodreq";
  77. // grd_reqset.dispatch("onmouseup");
  78. if(grd_reqset.col !=grd_reqset.colRef("chk")){
  79. model.setValue(sPath+"/instcd" , model.getValue("/root/send/reqset/instcd" ));
  80. model.setValue(sPath+"/workflag" , model.getValue("/root/send/reqset/workflag" ));
  81. model.setValue(sPath+"/reqpridflag", model.getValue("/root/send/reqset/reqpridflag" ));
  82. model.setValue(sPath+"/deptaprvyn" , model.getValue("/root/send/reqset/deptaprvyn" ));
  83. model.setValue(sPath+"/reqflag" , grd_reqset.valueMatrix(grd_reqset.row, grd_reqset.colRef("reqflag" )));
  84. model.setValue(sPath+"/reqdd" , grd_reqset.valueMatrix(grd_reqset.row, grd_reqset.colRef("reqdd" ))) ;
  85. model.setValue(sPath+"/reqno" , grd_reqset.valueMatrix(grd_reqset.row, grd_reqset.colRef("reqno" ))) ;
  86. model.setValue(sPath+"/reqdeptcd" , grd_reqset.valueMatrix(grd_reqset.row, grd_reqset.colRef("reqdeptcd"))) ;
  87. model.setValue(sPath+"/acptflag" , "N" ) ; // 구매팀 승인 상태 [N] 승인 되지 않은 항목만 가져온다.
  88. submit("TRRSD00411");
  89. }
  90. }
  91. // 승인 승인취소
  92. function fAprvDataSave(pGrid, pCheck) {
  93. var vChk = 0;
  94. var vDeptaprvyn = (model.getValue(rdo_acqtflag.attribute("ref")) == "Y") ? "N" : "Y";
  95. for (var i = pGrid.fixedRows ; i< pGrid.rows ; i++) {
  96. if (pGrid.valueMatrix(i, pGrid.colRef(pCheck) ) == "Y" ){
  97. pGrid.addStatus(i, "update" );
  98. model.setValue(pGrid.nodeset +"[" + i + "]/deptaprvyn" , vDeptaprvyn);
  99. vChk++;
  100. } else {
  101. pGrid.removeStatus(i , "update" );
  102. }
  103. }
  104. var updtdata = getGridUpdateData(pGrid);
  105. if (updtdata == "" || vChk == 0 ) {
  106. messageBox("변경된 데이터가","I004");
  107. return;
  108. }
  109. model.setValue("/root/send/save/reqsetlist" ,pGrid.getUpdateData());
  110. submit("TXRSD00412");
  111. if(model.getValue("/root/tmp/hidden/allchk") == "Y") {
  112. model.setValue("/root/tmp/hidden/allchk","");
  113. }
  114. if (model.getValue(gvErrorMsgPath + "/type") == "error") return;
  115. btn_search.dispatch("DOMActivate");
  116. }
  117. // --------------------------------------------------------------
  118. // 불출부서 청구마지막 일자를 불러온다.청구마감일자 조회
  119. // --------------------------------------------------------------
  120. function fLastDaySearch() {
  121. model.setValue("/root/send/lastdatesearch/instcd" , model.getValue(opt_instcd.attribute("ref")) );
  122. model.setValue("/root/send/lastdatesearch/deldeptcd", model.getValue(cmb_reqdeptcd.attribute("ref")) );
  123. // model.setValue("/root/send/lastdatesearch/deldeptcd", opt_reqfinaldept.value );
  124. model.setValue("/root/send/lastdatesearch/reqym" , model.getValue(ipt_reqdd.attribute("ref")).substr(0,6));
  125. submit("TRRSC01701"); // 청구마감일자 조회 purcbaseweb
  126. ipt_todd.refresh();
  127. }
  128. // --------------------------------------------------------------
  129. // 청구일자가 불출부서의 청구마지막 일자안에 있는지 확인,
  130. // --------------------------------------------------------------
  131. function fLastDayCheck() {
  132. var fbool = false;
  133. if (model.getValue(ipt_todd.attribute("ref")) != '') {
  134. if (model.getValue(ipt_reqdd.attribute("ref")) > model.getValue(ipt_todd.attribute("ref")) ) {
  135. fbool = true;
  136. }
  137. }
  138. return fbool;
  139. }
  140. /* ------------------------------------------------- */
  141. /* ------End Of List ------------------------------- */
  142. /* -------------------------------------------------- */