SMRSC06000.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467
  1. /* ---------------------------------------------------------------------
  2. SMRSC06000_청구자 승인자 등록.xrw (SMRSC06000.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By Francis Choi
  6. : 2015.05.02
  7. ---------------------------------------------------------------------- */
  8. var gReqFlagPath = "/root/init/reqflag_data";
  9. var gReqFlagCode = "A" + "#" // 의료소모품
  10. + "B" + "#" // 일반소모품
  11. + "C" + "#" // 의료비품
  12. + "D" + "#" // 일반비품
  13. + "E" + "#" // 약품및재료
  14. + "F" + "#" // 제제약품
  15. + "G" + "#" // 장비
  16. + "H" + "#" // 수액
  17. + "I" + "#" // 조영제
  18. + "J" + "#" // 식자재
  19. + "S" + "#" // 수리관리
  20. + "T"; // 프로그램개발
  21. var gReqFlag = gReqFlagCode.split("#");
  22. var reqAprvAuthDeptcd = "";
  23. // --------------------------------------------------
  24. // Initialize 등록 정보
  25. // --------------------------------------------------
  26. function fInitNewReqAprv() {
  27. // 화면 Control을 초기화한다
  28. // grp_newdata.disabled = true;
  29. ipt_emplno.disabled = true; // 사원번호
  30. btn_winpsn.disabled = true; // 사원번호 돋보기
  31. btn_save.disabled = true; // 저장버튼
  32. model.setValue(gReqFlagPath + "/instcd" , getUserInfo("dutplceinstcd"));
  33. model.setValue(gReqFlagPath + "/deptcd" , "");
  34. model.setValue(gReqFlagPath + "/deptnm" , "");
  35. model.setValue(gReqFlagPath + "/emplno" , "");
  36. model.setValue(gReqFlagPath + "/emplnonm", "");
  37. model.setValue(gReqFlagPath + "/reqnewyn", "0");
  38. for (var i=0; i < gReqFlag.length; i++) {
  39. model.setValue(gReqFlagPath + "/reqflag_" + gReqFlag[i],"");
  40. model.setValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i],"0");
  41. model.setValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i],"0");
  42. model.setValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i],"0");
  43. model.setValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i]+"_OLD","0");
  44. model.setValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i]+"_OLD","0");
  45. model.setValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i]+"_OLD","0");
  46. }
  47. }
  48. function fButtonBlocking(pFlag) {
  49. if (pFlag == "2") {
  50. ipt_deptcd.disabled = false; // 청구부서
  51. ipt_emplno.disabled = false; // 사원번호
  52. btn_windept.disabled = false; // 청구부서 돋보기
  53. btn_winpsn.disabled = false; // 사원번호 돋보기
  54. btn_save.disabled = false; // 저장버튼
  55. } else {
  56. ipt_deptcd.disabled = true; // 청구부서
  57. ipt_emplno.disabled = true; // 사원번호
  58. btn_windept.disabled = true; // 청구부서 돋보기
  59. btn_winpsn.disabled = true; // 사원번호 돋보기
  60. btn_save.disabled = true; // 저장버튼
  61. fInitNewReqAprv();
  62. }
  63. }
  64. function fSetAllRefFlag(pFlag) {
  65. for (var i=0; i < gReqFlag.length; i++) {
  66. if(pFlag == null || pFlag == "") {
  67. model.setValue(gReqFlagPath + "/reqflag_" + gReqFlag[i], "");
  68. model.setValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i], "0");
  69. model.setValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i], "0");
  70. model.setValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i], "0");
  71. } else {
  72. model.setValue(gReqFlagPath + "/reqflag_" + gReqFlag[i], gReqFlag[i]);
  73. model.setValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i], pFlag);
  74. model.setValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i], pFlag);
  75. model.setValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i], pFlag);
  76. }
  77. }
  78. grp_newdata.refresh();
  79. }
  80. function fResetRefFlag() {
  81. for (var i=0; i < gReqFlag.length; i++) {
  82. model.setValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i], model.getValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i]+"_OLD"));
  83. model.setValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i], model.getValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i]+"_OLD"));
  84. model.setValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i], model.getValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i]+"_OLD"));
  85. if( model.getValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i]) == "0"
  86. && model.getValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i]) == "0"
  87. && model.getValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i]) == "0") {
  88. model.setValue(gReqFlagPath + "/reqflag_" + gReqFlag[i], "");
  89. } else {
  90. model.setValue(gReqFlagPath + "/reqflag_" + gReqFlag[i], gReqFlag[i]);
  91. }
  92. }
  93. grp_newdata.refresh();
  94. }
  95. function fChangeRefFlag(pFlag) {
  96. if (model.getValue(gReqFlagPath + "/reqnewyn") != "9") {
  97. model.setValue(gReqFlagPath + "/reqnewyn", "1");
  98. }
  99. if (eval("chk_reqflag_"+pFlag).value == "") {
  100. model.setValue(gReqFlagPath + "/reqflag_" + pFlag, "");
  101. model.setValue(gReqFlagPath + "/reqaprvflag1_" + pFlag, "0");
  102. model.setValue(gReqFlagPath + "/reqaprvflag2_" + pFlag, "0");
  103. model.setValue(gReqFlagPath + "/reqaprvflag4_" + pFlag, "0");
  104. } else {
  105. model.setValue(gReqFlagPath + "/reqaprvflag1_" + pFlag, "1");
  106. model.setValue(gReqFlagPath + "/reqaprvflag2_" + pFlag, "1");
  107. model.setValue(gReqFlagPath + "/reqaprvflag4_" + pFlag, "1");
  108. }
  109. eval("chk_reqflag_" +pFlag).refresh(); // 청구구분
  110. eval("rdo_reqaprvflag1_"+pFlag).refresh(); // 승인구분
  111. eval("rdo_reqaprvflag2_"+pFlag).refresh(); // 승인구분
  112. eval("rdo_reqaprvflag4_"+pFlag).refresh(); // 승인구분
  113. }
  114. function fChangeReqaprvflag(pFlag) {
  115. var oriValue = model.getValue(gReqFlagPath + "/reqaprvflag1_" + pFlag);
  116. model.setValue(gReqFlagPath + "/reqaprvflag2_" + pFlag, oriValue);
  117. model.setValue(gReqFlagPath + "/reqaprvflag4_" + pFlag, oriValue);
  118. eval("rdo_reqaprvflag2_"+pFlag).refresh();
  119. eval("rdo_reqaprvflag4_"+pFlag).refresh();
  120. if (model.getValue(gReqFlagPath + "/reqaprvflag1_" + pFlag) == "0" &&
  121. model.getValue(gReqFlagPath + "/reqaprvflag2_" + pFlag) == "0" &&
  122. model.getValue(gReqFlagPath + "/reqaprvflag4_" + pFlag) == "0" ) {
  123. model.setValue(gReqFlagPath + "/reqflag_" + pFlag, "");
  124. } else {
  125. model.setValue(gReqFlagPath + "/reqflag_" + pFlag, pFlag);
  126. }
  127. eval("chk_reqflag_" +pFlag).refresh(); // 청구구분
  128. }
  129. function fTitleChange() {
  130. var vTitle1 = "청구부서";
  131. var vTitle2 = "사원번호";
  132. if (rdo_sortflag.value == "2") {
  133. vTitle1 = "사원번호";
  134. vTitle2 = "청구부서";
  135. }
  136. grd_reqpsnlist.valueMatrix(0,1) = vTitle1;
  137. grd_reqpsnlist.valueMatrix(0,2) = vTitle1;
  138. //grd_reqpsnlist.valueMatrix(1,1) = vTitle1;
  139. //grd_reqpsnlist.valueMatrix(1,2) = vTitle1;
  140. grd_reqpsnlist.valueMatrix(0,3) = vTitle2;
  141. grd_reqpsnlist.valueMatrix(0,4) = vTitle2;
  142. //grd_reqpsnlist.valueMatrix(1,3) = vTitle2;
  143. //grd_reqpsnlist.valueMatrix(1,4) = vTitle2;
  144. grd_reqpsnlist.refresh();
  145. }
  146. //--------------------------------------------------------------
  147. //화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  148. //--------------------------------------------------------------
  149. function fInitialize() {
  150. misfGridInit(grd_reqpsnlist); //그리드 초기화
  151. model.resetInstanceNode("/root/send");
  152. misfMsterDetailSet(grd_reqpsnlist, null, "TRRSC06002","Y"); //마스터 설정
  153. model.setValue(opt_instcd.attribute("ref") , getUserInfo("dutplceinstcd")); // 기관코드
  154. model.setValue(opt_instcdnm.attribute("ref") , getUserInfo("dutplceinstnm")); // 기관명칭
  155. // model.setValue(ipt_reqdeptcd.attribute("ref") , getUserInfo("dutplcecd")); // 부서코드
  156. // model.setValue(ipt_reqdeptnm.attribute("ref") , getUserInfo("dutplcenm")); // 부서명칭
  157. // model.setValue(ipt_search_emplno.attribute("ref") , getUserInfo("userid")); // 사용자
  158. // model.setValue(ipt_search_emplnonm.attribute("ref") , getUserInfo("usernm")); // 사용자명칭
  159. rszfReqFlagComboComCdList(getUserInfo("userid"), cmb_reqflag, "Y", opt_instcd.value); //청구구분
  160. grd_reqpsnlist.colDisabled(grd_reqpsnlist.colRef("reqflag" )) = true;
  161. grd_reqpsnlist.colDisabled(grd_reqpsnlist.colRef("reqaprvflag1")) = true;
  162. grd_reqpsnlist.colDisabled(grd_reqpsnlist.colRef("reqaprvflag1")+1)= true;
  163. grd_reqpsnlist.colDisabled(grd_reqpsnlist.colRef("reqaprvflag2")) = true;
  164. grd_reqpsnlist.colDisabled(grd_reqpsnlist.colRef("reqaprvflag2")+1)= true;
  165. grd_reqpsnlist.colDisabled(grd_reqpsnlist.colRef("reqaprvflag4")) = true;
  166. grd_reqpsnlist.colDisabled(grd_reqpsnlist.colRef("reqaprvflag4")+1)= true;
  167. reqAprvAuthDeptcd = "";
  168. model.refresh();
  169. // rdo_sortflag.select(1);
  170. btn_psnsearch.dispatch("DOMActivate");
  171. }
  172. //Grid Click
  173. function DataGridClick(){
  174. if (grd_reqpsnlist.row < grd_reqpsnlist.fixedRows) {
  175. return;
  176. }
  177. // 사번 CHECK
  178. if (model.getValue(gReqFlagPath + "/emplno") ==
  179. model.getValue(grd_reqpsnlist.nodeset+"["+(grd_reqpsnlist.row)+"]/emplno") &&
  180. model.getValue(gReqFlagPath + "/deptcd") ==
  181. model.getValue(grd_reqpsnlist.nodeset+"["+(grd_reqpsnlist.row)+"]/reqdeptcd")) {
  182. return;
  183. }
  184. // 신규 추가 작업중
  185. if (model.getValue(gReqFlagPath + "/reqnewyn") != "0") {
  186. var ret = messageBox("작업중인 내용이 있습니다. ","Q003");
  187. if (ret != 6) { // not OK
  188. return;
  189. }
  190. }
  191. // 화면 Control을 초기화한다
  192. // grp_newdata.disabled = false;
  193. ipt_emplno.disabled = true; // 사원번호
  194. btn_winpsn.disabled = true; // 사원번호 돋보기
  195. btn_save.disabled = false; // 저장버튼
  196. var Idx = grd_reqpsnlist.row;
  197. var Idx2 = grd_reqpsnlist.row;
  198. var vInstcd = model.getValue(grd_reqpsnlist.nodeset+"["+ Idx +"]/instcd" );
  199. var vReqdeptcd = model.getValue(grd_reqpsnlist.nodeset+"["+ Idx +"]/reqdeptcd");
  200. var vEmplno = model.getValue(grd_reqpsnlist.nodeset+"["+ Idx +"]/emplno" );
  201. model.setValue(gReqFlagPath + "/instcd" , vInstcd );
  202. model.setValue(gReqFlagPath + "/deptcd" , vReqdeptcd);
  203. model.setValue(gReqFlagPath + "/emplno" , vEmplno );
  204. model.setValue(gReqFlagPath + "/deptnm" , model.getValue(grd_reqpsnlist.nodeset+"["+ Idx +"]/reqdeptnm"));
  205. model.setValue(gReqFlagPath + "/emplnonm", model.getValue(grd_reqpsnlist.nodeset+"["+ Idx +"]/emplnonm" ));
  206. model.setValue(gReqFlagPath + "/reqnewyn", "0");
  207. for (var i=0; i < gReqFlag.length; i++){
  208. if (gReqFlag[i] == model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx2 +"]/reqflag")) {
  209. break;
  210. }
  211. Idx--;
  212. }
  213. // alert(Idx2+"=="+Idx);
  214. for (var i=0; i < gReqFlag.length; i++){
  215. var d_testgReqFlag = gReqFlag[i];
  216. var d_testreqflag = model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx +"]/reqflag");
  217. if( gReqFlag[i] == model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx +"]/reqflag") ) {
  218. model.setValue(gReqFlagPath + "/reqflag_" + gReqFlag[i], "");
  219. if ( model.getValue(grd_reqpsnlist.nodeset + "["+ Idx +"]/reqaprvflag1")!="0" ||
  220. model.getValue(grd_reqpsnlist.nodeset + "["+ Idx +"]/reqaprvflag2")!="0" ||
  221. model.getValue(grd_reqpsnlist.nodeset + "["+ Idx +"]/reqaprvflag4")!="0" ) {
  222. var d_reqflag = model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx +"]/reqflag");
  223. model.setValue(gReqFlagPath + "/reqflag_" + gReqFlag[i], model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx +"]/reqflag"));
  224. }
  225. var d_reqaprvflag1 = model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx +"]/reqaprvflag1");
  226. var d_reqaprvflag2 = model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx +"]/reqaprvflag2");
  227. var d_reqaprvflag4 = model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx +"]/reqaprvflag4");
  228. model.setValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i] , model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx +"]/reqaprvflag1"));
  229. model.setValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i] , model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx +"]/reqaprvflag2"));
  230. model.setValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i] , model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx +"]/reqaprvflag4"));
  231. model.setValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i]+"_OLD", model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx +"]/reqaprvflag1"));
  232. model.setValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i]+"_OLD", model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx +"]/reqaprvflag2"));
  233. model.setValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i]+"_OLD", model.getValue(grd_reqpsnlist.nodeset+ "["+ Idx +"]/reqaprvflag4"));
  234. Idx++;
  235. }
  236. }
  237. grp_newdata.refresh();
  238. fGetReqAprvAuthPsnList();
  239. }
  240. var vSaveData = ""; // Send Data
  241. //-----------------------------------
  242. // 입고 검수 확인 저장
  243. //-----------------------------------
  244. function fSaveDataConcatenate(pStat, pInstcd, pReqdeptcd, pEmplno, pReqflag, pReqprid, pReqaprvflag){
  245. vSaveData += pStat + "▦" // 01 구분
  246. + pInstcd + "▦" // 03 기관코드
  247. + pEmplno + "▦" // 04 사원번호
  248. + pReqdeptcd + "▦" // 05 청구부서
  249. + pReqflag + "▦" // 06 청구구분
  250. + pReqprid + "▦" // 07 청구주기
  251. + pReqaprvflag + "▦" // 02 승인구분
  252. + pReqprid + "▩"; // 08 청구주기OLD
  253. }
  254. //-----------------------------------
  255. // 청구권자/ 청구부서 승인자 저장
  256. //-----------------------------------
  257. function fCheckPersonSave(){
  258. if (model.getValue(gReqFlagPath + "/emplno") == "") {
  259. alert("사원번호를 입력 하십시요!!");
  260. return;
  261. }
  262. if (model.getValue(gReqFlagPath + "/emplnonm") == "") {
  263. var ret = messageBox("사원명이 없습니다. ","Q003");
  264. if (ret != 6) { // not OK
  265. return;
  266. }
  267. }
  268. var vCnt = 0 ;
  269. var vStatus = "";
  270. var tPath = "/root/send/reqpsnlists";
  271. var tPath2 = "/root/send/reqpsnlists/reqpsnlist";
  272. var vInstcd = model.getValue(gReqFlagPath + "/instcd");
  273. var vReqdeptcd = model.getValue(gReqFlagPath + "/deptcd");
  274. var vEmplno = model.getValue(gReqFlagPath + "/emplno");
  275. var vEmplnonm = model.getValue(gReqFlagPath + "/emplnonm");
  276. var vReqaprvflag= "";
  277. vSaveData = ""; // Send Data
  278. for (var i=0; i < gReqFlag.length; i++){
  279. // 일청구
  280. if (model.getValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i] ) !=
  281. model.getValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i]+"_OLD") ) {
  282. if (model.getValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i]) == "0"){
  283. vStatus = "d";
  284. vReqaprvflag = model.getValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i]+"_OLD");
  285. } else {
  286. vReqaprvflag = model.getValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i]);
  287. if (model.getValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i]) == "2") {
  288. if(!fCheckAprvAuth()) {
  289. messageBox("청구 승인","E002");
  290. return;
  291. }
  292. }
  293. if (model.getValue(gReqFlagPath + "/reqaprvflag1_" + gReqFlag[i]+"_OLD") == "0"){
  294. vStatus = "i";
  295. } else {
  296. vStatus = "u";
  297. }
  298. }
  299. fSaveDataConcatenate(vStatus, vInstcd, vReqdeptcd, vEmplno, gReqFlag[i], "1", vReqaprvflag);
  300. vCnt++;
  301. }
  302. // 주 청구
  303. if (model.getValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i] ) !=
  304. model.getValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i]+"_OLD") ) {
  305. if (model.getValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i]) == "0"){
  306. vStatus = "d";
  307. vReqaprvflag = model.getValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i]+"_OLD");
  308. } else {
  309. vReqaprvflag = model.getValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i]);
  310. if (model.getValue(gReqFlagPath + "/reqaprvflag2_" + gReqFlag[i]+"_OLD") == "0"){
  311. vStatus = "i";
  312. } else {
  313. vStatus = "u";
  314. }
  315. }
  316. fSaveDataConcatenate(vStatus, vInstcd, vReqdeptcd, vEmplno, gReqFlag[i], "2", vReqaprvflag);
  317. vCnt++;
  318. }
  319. // 월 청구
  320. if (model.getValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i] ) !=
  321. model.getValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i]+"_OLD") ) {
  322. if (model.getValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i]) == "0"){
  323. vStatus = "d";
  324. vReqaprvflag = model.getValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i]+"_OLD");
  325. } else {
  326. vReqaprvflag = model.getValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i]);
  327. if (model.getValue(gReqFlagPath + "/reqaprvflag4_" + gReqFlag[i]+"_OLD") == "0"){
  328. vStatus = "i";
  329. } else {
  330. vStatus = "u";
  331. }
  332. }
  333. fSaveDataConcatenate(vStatus, vInstcd, vReqdeptcd, vEmplno, gReqFlag[i], "4", vReqaprvflag);
  334. vCnt++;
  335. }
  336. }
  337. if (vCnt > 0) {
  338. var vSaveHead = "status" + "▦" // 01 구분
  339. + "instcd" + "▦" // 03 기관코드
  340. + "emplno" + "▦" // 04 사원번호
  341. + "reqdeptcd" + "▦" // 05 청구부서
  342. + "reqflag" + "▦" // 06 청구구분
  343. + "reqprid" + "▦" // 07 청구주기
  344. + "reqaprvflag" + "▦" // 02 승인구분
  345. + "reqpridold" + "▩"; // 08 청구주기OLD \
  346. model.removenode(tPath);
  347. model.makeValue(tPath2, vSaveHead+vSaveData);
  348. submit("TXRSC06002");
  349. btn_search.dispatch("DOMActivate");
  350. }
  351. }
  352. // 부서별 승인권한 사원 리스트 조회(해당부서 or 상위부서에 직위가 있는 사원)
  353. function fGetReqAprvAuthPsnList() {
  354. var deptcd = model.getValue("/root/init/reqflag_data/deptcd");
  355. if(reqAprvAuthDeptcd == "" || reqAprvAuthDeptcd != deptcd) {
  356. reqAprvAuthDeptcd = deptcd;
  357. if(submit("TRRSC06003")) {
  358. } else {
  359. return;
  360. }
  361. }
  362. if(fCheckAprvAuth()) {
  363. fSetAprvAuth(true);
  364. } else {
  365. fSetAprvAuth(false);
  366. }
  367. }
  368. // 승인권 권한 체크
  369. function fCheckAprvAuth() {
  370. var psnid = model.getValue("/root/init/reqflag_data/emplno");
  371. if(getUserInfo("userid") == "MIS") return true;
  372. if(instance1.selectNodes("/root/main/reqaprvauthpsnlist[userid='" + psnid + "']").length > 0) return true;
  373. return false;
  374. }
  375. // 승인권한 셋팅
  376. function fSetAprvAuth(state) {
  377. btn_allaprv.disabled = !state;
  378. var comment = "";
  379. var psnid = model.getValue("/root/init/reqflag_data/emplno");
  380. var nodepath = "/root/main/reqaprvauthpsnlist[userid='" + psnid + "']";
  381. if(instance1.selectNodes(nodepath).length > 0) {
  382. comment = "[승인권] - " + instance1.selectSingleNode(nodepath + "/deptnm").text + " " + instance1.selectSingleNode(nodepath + "/jobposnm").text;
  383. } else {
  384. comment = "[청구권]";
  385. }
  386. opt_reqaprvauth.value = comment;
  387. }
  388. /* ------------------------------------------------- */
  389. /* ------End Of List ------------------------------- */
  390. /* ------------------------------------------------- */