SMRSC06000.xjs 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/* ---------------------------------------------------------------------
  3. SMRSC06000_청구자 승인자 등록.xrw (SMRSC06000.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. : Create By Francis Choi
  7. : 2015.05.02
  8. ---------------------------------------------------------------------- */
  9. var gReqFlagPath = "ds_init_reqflag_data";
  10. var gReqFlagCode = "A" + "#" // 의료소모품
  11. + "B" + "#" // 일반소모품
  12. + "C" + "#" // 의료비품
  13. + "D" + "#" // 일반비품
  14. + "E" + "#" // 약품및재료
  15. + "F" + "#" // 제제약품
  16. + "G" + "#" // 장비
  17. + "H" + "#" // 수액
  18. + "I" + "#" // 조영제
  19. + "J" + "#" // 식자재
  20. + "S" + "#" // 수리관리
  21. + "T"; // 프로그램개발
  22. var gReqFlag = gReqFlagCode.split("#");
  23. var reqAprvAuthDeptcd = "";
  24. var vSaveData = ""; // Send Data
  25. /****************************************************************************************
  26. * Argument : N/A
  27. * Description : 화면 Control을 초기화한다
  28. ****************************************************************************************/
  29. function fInitNewReqAprv() {
  30. group2.grp_newdata.ipt_emplno.enable = false; // 사원번호
  31. group2.grp_newdata.btn_winpsn.enable = false; // 사원번호 돋보기
  32. group2.btn_save.enable = false; // 저장버튼
  33. this.objects[gReqFlagPath].setColumn(0,"instcd",sysf_getUserInfo("dutplceinstcd"));
  34. eval(gReqFlagPath).enableevent = false;
  35. eval(gReqFlagPath).updatecontrol = false;
  36. eval(gReqFlagPath).setColumn( 0, "deptcd", "");
  37. eval(gReqFlagPath).setColumn( 0, "deptnm", "");
  38. eval(gReqFlagPath).setColumn( 0, "emplno", "");
  39. eval(gReqFlagPath).setColumn( 0, "emplnonm", "");
  40. eval(gReqFlagPath).setColumn( 0, "reqnewyn", 0);
  41. for (var i = 0; i < gReqFlag.length; i++) {
  42. eval(gReqFlagPath).setColumn(0,"reqflag_" + gReqFlag[i],"");
  43. eval(gReqFlagPath).setColumn(0,"reqaprvflag1_" + gReqFlag[i],"0");
  44. eval(gReqFlagPath).setColumn(0,"reqaprvflag2_" + gReqFlag[i],"0");
  45. eval(gReqFlagPath).setColumn(0,"reqaprvflag4_" + gReqFlag[i],"0");
  46. eval(gReqFlagPath).setColumn(0,"reqaprvflag1_" + gReqFlag[i]+"_OLD","0");
  47. eval(gReqFlagPath).setColumn(0,"reqaprvflag2_" + gReqFlag[i]+"_OLD","0");
  48. eval(gReqFlagPath).setColumn(0,"reqaprvflag4_" + gReqFlag[i]+"_OLD","0");
  49. }
  50. eval(gReqFlagPath).updatecontrol = true;
  51. eval(gReqFlagPath).enableevent = true;
  52. }
  53. /****************************************************************************************
  54. * Argument : pFlag : 사용구분 (1:사용안함 / 2:사용)
  55. * Description : 버튼 사용설정
  56. ****************************************************************************************/
  57. function fButtonBlocking(pFlag) {
  58. if (pFlag == "2") {
  59. group2.grp_newdata.ipt_deptcd.enable = true; // 청구부서
  60. group2.grp_newdata.ipt_emplno.enable = true; // 사원번호
  61. group2.grp_newdata.btn_windept.enable = true; // 청구부서 돋보기
  62. group2.grp_newdata.btn_winpsn.enable = true; // 사원번호 돋보기
  63. group2.btn_save.enable = true; // 저장버튼
  64. } else {
  65. group2.grp_newdata.ipt_deptcd.enable = false; // 청구부서
  66. group2.grp_newdata.ipt_emplno.enable = false; // 사원번호
  67. group2.grp_newdata.btn_windept.enable = false; // 청구부서 돋보기
  68. group2.grp_newdata.btn_winpsn.enable = false; // 사원번호 돋보기
  69. group2.btn_save.enable = false; // 저장버튼
  70. fInitNewReqAprv();
  71. }
  72. }
  73. /****************************************************************************************
  74. * Argument : pFlag (1:청구 / 2:승인 / empty:삭제)
  75. * Description : ref값 설정
  76. ****************************************************************************************/
  77. function fSetAllRefFlag(pFlag) {
  78. for (var i=0; i < gReqFlag.length; i++) {
  79. if(utlf_isNull(pFlag)) {
  80. eval(gReqFlagPath).setColumn(0,"reqflag_" + gReqFlag[i], "");
  81. eval(gReqFlagPath).setColumn(0,"reqaprvflag1_" + gReqFlag[i], "0");
  82. eval(gReqFlagPath).setColumn(0,"reqaprvflag2_" + gReqFlag[i], "0");
  83. eval(gReqFlagPath).setColumn(0,"reqaprvflag4_" + gReqFlag[i], "0");
  84. } else {
  85. eval(gReqFlagPath).setColumn(0,"reqflag_" + gReqFlag[i], gReqFlag[i]);
  86. eval(gReqFlagPath).setColumn(0,"reqaprvflag1_" + gReqFlag[i], pFlag);
  87. eval(gReqFlagPath).setColumn(0,"reqaprvflag2_" + gReqFlag[i], pFlag);
  88. eval(gReqFlagPath).setColumn(0,"reqaprvflag4_" + gReqFlag[i], pFlag);
  89. }
  90. }
  91. }
  92. /****************************************************************************************
  93. * Argument : N/A
  94. * Description : 값 재설정
  95. ****************************************************************************************/
  96. function fResetRefFlag() {
  97. for (var i = 0; i < gReqFlag.length; i++) {
  98. eval(gReqFlagPath).setColumn(0,"reqaprvflag1_" + gReqFlag[i], dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag1_" + gReqFlag[i]+"_OLD"));
  99. eval(gReqFlagPath).setColumn(0,"reqaprvflag2_" + gReqFlag[i], dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag2_" + gReqFlag[i]+"_OLD"));
  100. eval(gReqFlagPath).setColumn(0,"reqaprvflag4_" + gReqFlag[i], dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag4_" + gReqFlag[i]+"_OLD"));
  101. if( dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag1_" + gReqFlag[i]) == "0"
  102. && dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag2_" + gReqFlag[i]) == "0"
  103. && dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag4_" + gReqFlag[i]) == "0") {
  104. eval(gReqFlagPath).setColumn(0,"reqflag_" + gReqFlag[i], "");
  105. } else {
  106. eval(gReqFlagPath).setColumn(0,"reqflag_" + gReqFlag[i], gReqFlag[i]);
  107. }
  108. }
  109. }
  110. /****************************************************************************************
  111. * Argument : pFlag
  112. * Description : ref값 변경
  113. ****************************************************************************************/
  114. function fChangeRefFlag(pFlag) {
  115. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqnewyn") != "9") {
  116. eval(gReqFlagPath).setColumn(0,"reqnewyn", "1");
  117. }
  118. if (utlf_isNull(eval("group2.grp_newdata.chk_reqflag_"+pFlag).value)) {
  119. eval(gReqFlagPath).setColumn(0,"reqflag_" + pFlag, "");
  120. eval(gReqFlagPath).setColumn(0,"reqaprvflag1_" + pFlag, "0");
  121. eval(gReqFlagPath).setColumn(0,"reqaprvflag2_" + pFlag, "0");
  122. eval(gReqFlagPath).setColumn(0,"reqaprvflag4_" + pFlag, "0");
  123. } else {
  124. eval(gReqFlagPath).setColumn(0,"reqaprvflag1_" + pFlag, "1");
  125. eval(gReqFlagPath).setColumn(0,"reqaprvflag2_" + pFlag, "1");
  126. eval(gReqFlagPath).setColumn(0,"reqaprvflag4_" + pFlag, "1");
  127. }
  128. }
  129. /****************************************************************************************
  130. * Argument : pFlag
  131. * Description : aprv값 변경
  132. ****************************************************************************************/
  133. function fChangeReqaprvflag(pFlag) {
  134. var oriValue = dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag1_" + pFlag);
  135. eval(gReqFlagPath).setColumn(0,"reqaprvflag2_" + pFlag, oriValue);
  136. eval(gReqFlagPath).setColumn(0,"reqaprvflag4_" + pFlag, oriValue);
  137. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag1_" + pFlag) == "0" &&
  138. dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag2_" + pFlag) == "0" &&
  139. dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag4_" + pFlag) == "0" ) {
  140. eval(gReqFlagPath).setColumn(0,"reqflag_" + pFlag, "");
  141. } else {
  142. eval(gReqFlagPath).setColumn(0,"reqflag_" + pFlag, pFlag);
  143. }
  144. }
  145. /****************************************************************************************
  146. * Argument : N/A
  147. * Description : 타이틀 변경
  148. ****************************************************************************************/
  149. function fTitleChange() {
  150. var vTitle1 = "청구부서";
  151. var vTitle2 = "사원번호";
  152. if (group2.grp_sea.rdo_sortflag.value == "2") {
  153. vTitle1 = "사원번호";
  154. vTitle2 = "청구부서";
  155. }
  156. group2.grd_reqpsnlist.setCellProperty("head",1,"text",vTitle1);
  157. group2.grd_reqpsnlist.setCellProperty("head",2,"text",vTitle2);
  158. // group2.grd_reqpsnlist.setCellProperty("head",3,"text",vTitle2);
  159. // group2.grd_reqpsnlist.setCellProperty("head",4,"text",vTitle2);
  160. }
  161. /****************************************************************************************
  162. * Argument : N/A
  163. * Description : 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  164. ****************************************************************************************/
  165. function fInitialize() {
  166. misfGridInit(group2.grd_reqpsnlist); //그리드 초기화
  167. ds_send.clearData(); ds_send.addRow();
  168. //misfMsterDetailSet("group2.grd_reqpsnlist", null, "TRRSC06002","Y"); //마스터 설정
  169. group2.grp_sea.opt_instcd.value = sysf_getUserInfo("dutplceinstcd"); // 기관코드
  170. group2.grp_sea.opt_instcdnm.value = sysf_getUserInfo("dutplceinstnm"); // 기관명칭
  171. rszfReqFlagComboComCdList(sysf_getUserInfo("userid"), "group2.cmb_reqflag", "Y", group2.grp_sea.opt_instcd.value); //청구구분
  172. //rszfReqFlagComboComCdList(sysf_getUserInfo("userid"),"group3.grp_title.cmb_reqflag","Y",sysf_getUserInfo("dutplceinstcd"),"Y");
  173. group2.grd_reqpsnlist.setCellProperty("body",group2.grd_reqpsnlist.getBindCellIndex("body","reqflag"),"edittype","none");
  174. group2.grd_reqpsnlist.setCellProperty("body",group2.grd_reqpsnlist.getBindCellIndex("body","reqaprvflag1"),"edittype","none");
  175. group2.grd_reqpsnlist.setCellProperty("body",group2.grd_reqpsnlist.getBindCellIndex("body","reqaprvflag1")+1,"edittype","none");
  176. group2.grd_reqpsnlist.setCellProperty("body",group2.grd_reqpsnlist.getBindCellIndex("body","reqaprvflag2"),"edittype","none");
  177. group2.grd_reqpsnlist.setCellProperty("body",group2.grd_reqpsnlist.getBindCellIndex("body","reqaprvflag2")+1,"edittype","none");
  178. group2.grd_reqpsnlist.setCellProperty("body",group2.grd_reqpsnlist.getBindCellIndex("body","reqaprvflag4"),"edittype","none");
  179. group2.grd_reqpsnlist.setCellProperty("body",group2.grd_reqpsnlist.getBindCellIndex("body","reqaprvflag4")+1,"edittype","none");
  180. reqAprvAuthDeptcd = "";
  181. btn_psnsearch.click();
  182. }
  183. /****************************************************************************************
  184. * Argument : N/A
  185. * Description : 리스트 선택
  186. ****************************************************************************************/
  187. function DataGridClick(){
  188. var cRow = ds_main_reqpsndata.rowposition;
  189. if (cRow < 0) return;
  190. // 사번 CHECK
  191. if (eval(gReqFlagPath).getColumn(0,"emplno") == ds_main_reqpsndata.getColumn(cRow,"emplno") &&
  192. eval(gReqFlagPath).getColumn(0,"deptcd") == ds_main_reqpsndata.getColumn(cRow,"reqdeptcd")) {
  193. return;
  194. }
  195. // 신규 추가 작업중
  196. if (eval(gReqFlagPath).getColumn(0,"reqnewyn") != "0") {
  197. var ret = sysf_messageBox("작업중인 내용이 있습니다. ","Q003");
  198. if (ret != 6) { // not OK
  199. return;
  200. }
  201. }
  202. // 화면 Control을 초기화한다
  203. group2.grp_newdata.ipt_emplno.enable = false; // 사원번호
  204. group2.grp_newdata.btn_winpsn.enable = false; // 사원번호 돋보기
  205. group2.btn_save.enable = true; // 저장버튼
  206. var Idx = cRow;
  207. var Idx2 = cRow;
  208. var vInstcd = ds_main_reqpsndata.getColumn(Idx ,"instcd" );
  209. var vReqdeptcd = ds_main_reqpsndata.getColumn(Idx ,"reqdeptcd");
  210. var vEmplno = ds_main_reqpsndata.getColumn(Idx ,"emplno" );
  211. ds_init_reqflag_data.enableevent = false;
  212. ds_init_reqflag_data.updatecontrol = false;
  213. eval(gReqFlagPath).setColumn( 0, "instcd", vInstcd);
  214. eval(gReqFlagPath).setColumn( 0, "deptcd", vReqdeptcd);
  215. eval(gReqFlagPath).setColumn( 0, "emplno", vEmplno);
  216. eval(gReqFlagPath).setColumn( 0, "deptnm", ds_main_reqpsndata.getColumn(Idx ,"reqdeptnm"));
  217. eval(gReqFlagPath).setColumn( 0, "emplnonm", ds_main_reqpsndata.getColumn(Idx ,"emplnonm" ));
  218. eval(gReqFlagPath).setColumn( 0, "reqnewyn", 0);
  219. for (var i = 0; i < gReqFlag.length; i++){
  220. if (gReqFlag[i] == ds_main_reqpsndata.getColumn(Idx2 ,"reqflag")) {
  221. break;
  222. }
  223. Idx--;
  224. }
  225. for (var i = 0; i < gReqFlag.length; i++){
  226. var d_testgReqFlag = gReqFlag[i];
  227. var d_testreqflag = ds_main_reqpsndata.getColumn(Idx ,"reqflag");
  228. if( gReqFlag[i] == ds_main_reqpsndata.getColumn(Idx ,"reqflag") ) {
  229. eval(gReqFlagPath).setColumn(0,"reqflag_" + gReqFlag[i], "");
  230. if (ds_main_reqpsndata.getColumn(Idx ,"reqaprvflag1") != "0"
  231. || ds_main_reqpsndata.getColumn(Idx ,"reqaprvflag2") != "0"
  232. || ds_main_reqpsndata.getColumn(Idx ,"reqaprvflag4") != "0" ) {
  233. var d_reqflag = ds_main_reqpsndata.getColumn(Idx ,"reqflag");
  234. eval(gReqFlagPath).setColumn(0,"reqflag_" + gReqFlag[i], ds_main_reqpsndata.getColumn(Idx ,"reqflag"));
  235. }
  236. var d_reqaprvflag1 = ds_main_reqpsndata.getColumn(Idx ,"reqaprvflag1");
  237. var d_reqaprvflag2 = ds_main_reqpsndata.getColumn(Idx ,"reqaprvflag2");
  238. var d_reqaprvflag4 = ds_main_reqpsndata.getColumn(Idx ,"reqaprvflag4");
  239. eval(gReqFlagPath).setColumn(0,"reqaprvflag1_" + gReqFlag[i] , ds_main_reqpsndata.getColumn( Idx ,"reqaprvflag1"));
  240. eval(gReqFlagPath).setColumn(0,"reqaprvflag2_" + gReqFlag[i] , ds_main_reqpsndata.getColumn( Idx ,"reqaprvflag2"));
  241. eval(gReqFlagPath).setColumn(0,"reqaprvflag4_" + gReqFlag[i] , ds_main_reqpsndata.getColumn( Idx ,"reqaprvflag4"));
  242. eval(gReqFlagPath).setColumn(0,"reqaprvflag1_" + gReqFlag[i]+"_OLD", ds_main_reqpsndata.getColumn( Idx ,"reqaprvflag1"));
  243. eval(gReqFlagPath).setColumn(0,"reqaprvflag2_" + gReqFlag[i]+"_OLD", ds_main_reqpsndata.getColumn( Idx ,"reqaprvflag2"));
  244. eval(gReqFlagPath).setColumn(0,"reqaprvflag4_" + gReqFlag[i]+"_OLD", ds_main_reqpsndata.getColumn( Idx ,"reqaprvflag4"));
  245. Idx++;
  246. }
  247. }
  248. ds_init_reqflag_data.updatecontrol = true;
  249. ds_init_reqflag_data.enableevent = true;
  250. fGetReqAprvAuthPsnList();
  251. }
  252. /****************************************************************************************
  253. * Argument : N/A
  254. * Description : 입고 검수 확인 저장
  255. ****************************************************************************************/
  256. function fSaveDataConcatenate(pStat, pInstcd, pReqdeptcd, pEmplno, pReqflag, pReqprid, pReqaprvflag){
  257. vSaveData += pStat + "▦" // 01 구분
  258. + pInstcd + "▦" // 03 기관코드
  259. + pEmplno + "▦" // 04 사원번호
  260. + pReqdeptcd + "▦" // 05 청구부서
  261. + pReqflag + "▦" // 06 청구구분
  262. + pReqprid + "▦" // 07 청구주기
  263. + pReqaprvflag + "▦" // 02 승인구분
  264. + pReqprid + "▩"; // 08 청구주기OLD
  265. }
  266. /****************************************************************************************
  267. * Argument : N/A
  268. * Description : 청구권자/ 청구부서 승인자 저장
  269. ****************************************************************************************/
  270. function fCheckPersonSave(){
  271. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"emplno") == "") {
  272. alert("사원번호를 입력 하십시요!!");
  273. return;
  274. }
  275. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"emplnonm") == "") {
  276. var ret = sysf_messageBox("사원명이 없습니다. ","Q003");
  277. if (ret != 6) { // not OK
  278. return;
  279. }
  280. }
  281. var vCnt = 0 ;
  282. var vStatus = "";
  283. // var tPath = "ds_send_reqpsnlists";
  284. var tPath2 = "ds_send_reqpsnlists_reqpsnlist";
  285. var vInstcd = dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"instcd");
  286. var vReqdeptcd = dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"deptcd");
  287. var vEmplno = dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"emplno");
  288. var vEmplnonm = dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"emplnonm");
  289. var vReqaprvflag= "";
  290. vSaveData = ""; // Send Data
  291. for (var i = 0; i < gReqFlag.length; i++) {
  292. // 일청구
  293. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag1_"+ gReqFlag[i] ) !=
  294. dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag1_"+ gReqFlag[i]+"_OLD")) {
  295. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag1_" + gReqFlag[i]) == "0"){
  296. vStatus = "d";
  297. vReqaprvflag = dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag1_" + gReqFlag[i]+"_OLD");
  298. } else {
  299. vReqaprvflag = dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag1_" + gReqFlag[i]);
  300. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag1_" + gReqFlag[i]) == "2") {
  301. if(!fCheckAprvAuth()) {
  302. sysf_messageBox("청구 승인","E002");
  303. return;
  304. }
  305. }
  306. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag1_" + gReqFlag[i]+"_OLD") == "0"){
  307. vStatus = "i";
  308. } else {
  309. vStatus = "u";
  310. }
  311. }
  312. fSaveDataConcatenate(vStatus, vInstcd, vReqdeptcd, vEmplno, gReqFlag[i], "1", vReqaprvflag);
  313. vCnt++;
  314. }
  315. // 주 청구
  316. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag2_" + gReqFlag[i] ) !=
  317. dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag2_" + gReqFlag[i]+"_OLD") ) {
  318. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag2_" + gReqFlag[i]) == "0"){
  319. vStatus = "d";
  320. vReqaprvflag = dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag2_" + gReqFlag[i]+"_OLD");
  321. } else {
  322. vReqaprvflag = dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag2_" + gReqFlag[i]);
  323. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag2_" + gReqFlag[i]+"_OLD") == "0"){
  324. vStatus = "i";
  325. } else {
  326. vStatus = "u";
  327. }
  328. }
  329. fSaveDataConcatenate(vStatus, vInstcd, vReqdeptcd, vEmplno, gReqFlag[i], "2", vReqaprvflag);
  330. vCnt++;
  331. }
  332. // 월 청구
  333. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag4_" + gReqFlag[i] ) !=
  334. dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag4_" + gReqFlag[i]+"_OLD") ) {
  335. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag4_" + gReqFlag[i]) == "0") {
  336. vStatus = "d";
  337. vReqaprvflag = dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag4_" + gReqFlag[i]+"_OLD");
  338. } else {
  339. vReqaprvflag = dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag4_" + gReqFlag[i]);
  340. if (dsf_getColumnNullToEmpty(eval(gReqFlagPath),0,"reqaprvflag4_" + gReqFlag[i]+"_OLD") == "0"){
  341. vStatus = "i";
  342. } else {
  343. vStatus = "u";
  344. }
  345. }
  346. fSaveDataConcatenate(vStatus, vInstcd, vReqdeptcd, vEmplno, gReqFlag[i], "4", vReqaprvflag);
  347. vCnt++;
  348. }
  349. }
  350. if (vCnt > 0) {
  351. var vSaveHead = "status" + "▦" // 01 구분
  352. + "instcd" + "▦" // 03 기관코드
  353. + "emplno" + "▦" // 04 사원번호
  354. + "reqdeptcd" + "▦" // 05 청구부서
  355. + "reqflag" + "▦" // 06 청구구분
  356. + "reqprid" + "▦" // 07 청구주기
  357. + "reqaprvflag" + "▦" // 02 승인구분
  358. + "reqpridold" + "▩"; // 08 청구주기OLD
  359. // eval(tPath).clearData();
  360. dsf_setCSVToDs(tPath2, vSaveHead+vSaveData);
  361. var oParam = {};
  362. oParam.id = "TXRSC06002";
  363. oParam.service = "purcbaseapp.PurcBaseMngt";
  364. oParam.method = "reqExeSaveReqPsn";
  365. oParam.inds = "reqreqpsn="+tPath2;
  366. oParam.outds = "";
  367. oParam.async = false;
  368. //oParam.callback = "cf_TXRSC06002";
  369. tranf_submit(oParam);
  370. group2.grp_sea.btn_search.click();
  371. }
  372. }
  373. /****************************************************************************************
  374. * Argument : N/A
  375. * Description : 부서별 승인권한 사원 리스트 조회(해당부서 or 상위부서에 직위가 있는 사원)
  376. ****************************************************************************************/
  377. function fGetReqAprvAuthPsnList() {
  378. var deptcd = ds_init_reqflag_data.getColumn(0,"deptcd");
  379. if(utlf_isNull(reqAprvAuthDeptcd) || reqAprvAuthDeptcd != deptcd) {
  380. reqAprvAuthDeptcd = deptcd;
  381. dsf_createDs("ds_main_reqaprvauthpsnlist");
  382. var oParam = {};
  383. oParam.id = "TRRSC06003";
  384. oParam.service = "purcbaseapp.PurcBaseMngt";
  385. oParam.method = "reqGetReqAprvAuthPsnList";
  386. oParam.inds = "req=ds_init_reqflag_data";
  387. oParam.outds = "ds_main_reqaprvauthpsnlist=reqaprvauthpsnlist";
  388. oParam.async = false;
  389. oParam.callback = "cf_TRRSC06003";
  390. tranf_submit(oParam);
  391. if(arErrorCode.pop("TRRSC06003") > -1) {
  392. } else {
  393. return;
  394. }
  395. }
  396. if(fCheckAprvAuth()) {
  397. fSetAprvAuth(true);
  398. } else {
  399. fSetAprvAuth(false);
  400. }
  401. }
  402. function cf_TRRSC06003(sSvcId, nErrorCode, sErrorMsg) {
  403. arErrorCode.push(sSvcId, nErrorCode);
  404. }
  405. /****************************************************************************************
  406. * Argument : N/A
  407. * Description : 승인권 권한 체크
  408. ****************************************************************************************/
  409. function fCheckAprvAuth() {
  410. var psnid = ds_init_reqflag_data.getColumn(0, "emplno");
  411. if(sysf_getUserInfo("userid") == "MIS" || sysf_getUserInfo("userid") == "99207") return true;
  412. if(ds_main_reqaprvauthpsnlist.getCaseCount("userid=='"+psnid+"'") > 0) return true;
  413. return false;
  414. }
  415. /****************************************************************************************
  416. * Argument : state (true/false)
  417. * Description : 승인권한 셋팅
  418. ****************************************************************************************/
  419. function fSetAprvAuth(state) {
  420. group2.grp_newdata.btn_allaprv.enable = state;
  421. var comment = "";
  422. var psnid = ds_init_reqflag_data.getColumn(0, "emplno");
  423. ds_main_reqaprvauthpsnlist.filter("userid=='"+psnid+"'");
  424. dsf_createDs("ds_nodepath");
  425. ds_nodepath.copyData(ds_main_reqaprvauthpsnlist,true);
  426. ds_main_reqaprvauthpsnlist.filter("");
  427. if(ds_nodepath.rowcount > 0) {
  428. comment = "[승인권] - " + ds_nodepath.getColumn(0,"deptnm") + " " + ds_nodepath.getColumn(0,"jobposnm");
  429. } else {
  430. comment = "[청구권]";
  431. }
  432. group2.grp_newdata.opt_reqaprvauth.value = comment;
  433. }
  434. /* ------------------------------------------------- */
  435. /* ------End Of List ------------------------------- */
  436. /* ------------------------------------------------- */ ]]></Script>