SMMNR01900.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606
  1. /*
  2. 진술문 분류 체계 관리(SMMNR01900.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var xClsListPath = "root/main/detlgrup/detlgruplist"
  7. var xlrgListPath = "root/main/lrggrup/lrggruplist"
  8. var xCondPath = "/root/main/cond";
  9. var xClsListBKPath = "/root/hidden/main/detlgrup/detlgruplist";
  10. var xHardCodeList = "/root/code/codeinfo/codelist";
  11. var gAuthYN = "";
  12. var MGFlag = ""; // 메뉴그룹 구분 (C:중앙사용자, I:기관사용자) 2010-06-24 안도영
  13. var ableFlag = "N"; // 객체 활성화 구분 -default로 '상황별'이 설정되므로 N값 설정 (Y:활성화, N:비활성화) 2010-06-25 안도영
  14. /**
  15. * @group :
  16. * @ver : 2007.03.27
  17. * @by : 신혁춘
  18. * @---------------------------------------------------
  19. * @type : function
  20. * @access : public
  21. * @desc : 트리 구조 만들기
  22. * @param :
  23. * @return :
  24. * @---------------------------------------------------
  25. */
  26. function fMakeTreeView(){
  27. var sRowCnt = grd_detlgrup.rows-grd_detlgrup.fixedRows;
  28. for(var i=1; i<= sRowCnt; i++){
  29. grd_detlgrup.IsSubtotal(i)=true;
  30. grd_detlgrup.outlinelevel(i)=model.getValue(xClsListPath+"["+i+"]/depth");
  31. }
  32. grd_detlgrup.OutlineCol = 3; //연결선이 표현되는 컬럼
  33. grd_detlgrup.OutlineBar = 4; //연결선 형태 설정 (+ , - , 사각형 안보이게 하려면 0 으로 세팅)
  34. grd_detlgrup.TreeColor="gray";
  35. }
  36. /**
  37. * @group :
  38. * @ver : 2007.03.27
  39. * @by : 신혁춘
  40. * @---------------------------------------------------
  41. * @type : function
  42. * @access : public
  43. * @desc : 동일 레벨의 항목 추가
  44. * @param :
  45. * @return :
  46. * @---------------------------------------------------
  47. */
  48. function fAddSameLevlItem(){
  49. //debugger;
  50. var iRow = grd_detlgrup.row;
  51. var iLrgGrupRow = grd_lrggrup.row;
  52. var sDepth = model.getValue(xClsListPath+"["+iRow+"]/depth");
  53. var sRowChngYN = false;
  54. if(sDepth < 2 || iRow < 1){
  55. if(iRow < 1){
  56. grd_detlgrup.addItem();
  57. }else{
  58. var sRowCnt = grd_detlgrup.rows-grd_detlgrup.fixedRows;
  59. // 하위레벨 아래에 행을 추가하기 위해서 체크함.
  60. for(var i=iRow+1; i<=sRowCnt; i++){
  61. if(model.getValue(xClsListPath+"["+i+"]/depth") <= sDepth){
  62. iRow = i-1;
  63. sRowChngYN = true;
  64. break;
  65. }
  66. }
  67. // 선택된 컬럼보다 하위레벨만 데이터가 존재하는 경우 체크함.
  68. if(sRowChngYN == false && sDepth < model.getValue(xClsListPath+"["+sRowCnt+"]/depth")){
  69. iRow = sRowCnt;
  70. }
  71. grd_detlgrup.insertitem(iRow,"after")
  72. }
  73. iRow++;
  74. model.setValue(xClsListPath+"["+iRow+"]/stat","I"); // 상태
  75. model.setValue(xClsListPath+"["+iRow+"]/depth",1); // 트리 depth
  76. model.setValue(xClsListPath+"["+iRow+"]/supcd",model.getValue(xCondPath+"/lrggrupcd")); // 상위코드
  77. model.setValue(xClsListPath+"["+iRow+"]/todd", "99991231235959"); // 종료일자
  78. model.setValue(xClsListPath+"["+iRow+"]/refseq",0); // 정렬순서
  79. model.setValue(xClsListPath+"["+iRow+"]/grupflag", model.getValue(xlrgListPath+"["+iLrgGrupRow+"]/grupflag")); // 그룹 구분
  80. }else{
  81. var sSupCd = model.getValue(xClsListPath+"["+iRow+"]/supcd");
  82. var sGrupFlag = model.getValue(xClsListPath+"["+iRow+"]/grupflag");
  83. var sSupGrupCd = model.getValue(xClsListPath +"[grupcd ='"+sSupCd+"']/grupcd");
  84. if(model.getValue(xClsListPath+"[grupcd = '"+sSupGrupCd+"']/stat") == "I"){
  85. messageBox("선택하신 상위코드는 저장상태가 아니라 하위코드 요소를 포함할 수 없습니다. 저장 후", "C001");
  86. return;
  87. }
  88. for(var i=iRow+1; i<= grd_detlgrup.rows-grd_detlgrup.fixedrows; i++){
  89. if(model.getValue(xClsListPath+"["+i+"]/depth") <= sDepth){
  90. iRow = i-1;
  91. break;
  92. }
  93. }
  94. grd_detlgrup.insertitem(iRow,"after");
  95. iRow++;
  96. model.setValue(xClsListPath+"["+iRow+"]/stat","I"); // 상태
  97. model.setValue(xClsListPath+"["+iRow+"]/depth",sDepth); // 트리 depth
  98. model.setValue(xClsListPath+"["+iRow+"]/supcd",sSupCd); // 상위코드
  99. model.setValue(xClsListPath+"["+iRow+"]/todd", "99991231235959"); // 종료일자
  100. model.setValue(xClsListPath+"["+iRow+"]/refseq",0); // 정렬순서
  101. model.setValue(xClsListPath+"["+iRow+"]/grupflag", model.getValue(xlrgListPath+"["+iLrgGrupRow+"]/grupflag")); // 그룹 구분
  102. if(sDepth>1 && (sGrupFlag == 3 || sGrupFlag == 5)){
  103. model.setValue(xClsListPath+"["+iRow+"]/deptcd", model.getValue(xClsListPath+"[grupcd='"+sSupCd+"']/deptcd"));
  104. model.setValue(xClsListPath+"["+iRow+"]/deptnm", model.getValue(xClsListPath+"[grupcd='"+sSupCd+"']/deptnm"));
  105. grd_detlgrup.isreadonly(iRow,6)=true;
  106. }
  107. }
  108. //grd_detlgrup.rebuild();
  109. //fMakeTreeView(); // 트리구조 만들기
  110. }
  111. /**
  112. * @group :
  113. * @ver : 2007.03.28
  114. * @by : 신혁춘
  115. * @---------------------------------------------------
  116. * @type : function
  117. * @access : public
  118. * @desc : 하위 항목을 추가
  119. * @param :
  120. * @return :
  121. * @---------------------------------------------------
  122. */
  123. function fAddInfLevlItem(){
  124. var iRow = grd_detlgrup.row;
  125. var sDepth = model.getValue(xClsListPath+"["+iRow+"]/depth");
  126. var sSupCd = model.getValue(xClsListPath+"["+iRow+"]/grupcd");
  127. var sGrupFlag = model.getValue(xClsListPath+"["+iRow+"]/grupflag");
  128. if(model.getValue(xClsListPath+"[grupcd='"+sSupCd+"']/stat") == "I"){
  129. messageBox("선택하신 상위코드는 저장상태가 아니라 하위코드 요소를 포함할 수 없습니다. 저장후", "C001");
  130. return;
  131. }
  132. grd_detlgrup.insertitem(iRow,"after");
  133. iRow++;
  134. model.setValue(xClsListPath+"["+iRow+"]/stat","I"); // 상태
  135. model.setValue(xClsListPath+"["+iRow+"]/depth",++sDepth); // 트리 depth
  136. model.setValue(xClsListPath+"["+iRow+"]/supcd",sSupCd); // 상위코드
  137. model.setValue(xClsListPath+"["+iRow+"]/todd", "99991231235959"); // 종료일자
  138. model.setValue(xClsListPath+"["+iRow+"]/refseq",0); // 정렬순서
  139. model.setValue(xClsListPath+"["+iRow+"]/grupflag", sGrupFlag); // 그룹 구분
  140. if(sGrupFlag == 3 || sGrupFlag == 5){
  141. model.setValue(xClsListPath+"["+iRow+"]/deptcd", model.getValue(xClsListPath+"[grupcd='"+sSupCd+"']/deptcd"));
  142. model.setValue(xClsListPath+"["+iRow+"]/deptnm", model.getValue(xClsListPath+"[grupcd='"+sSupCd+"']/deptnm"));
  143. grd_detlgrup.isreadonly(iRow,6)=true;
  144. }
  145. //grd_detlgrup.rebuild();
  146. //fMakeTreeView(); // 트리구조 만들기
  147. }
  148. /**
  149. * @group :
  150. * @ver : 2007.03.28
  151. * @by : 신혁춘
  152. * @---------------------------------------------------
  153. * @type : function
  154. * @access : public
  155. * @desc : 항목 삭제
  156. * @param :
  157. * @return :
  158. * @---------------------------------------------------
  159. */
  160. function fDelItem(){
  161. var iRow = grd_detlgrup.row;
  162. var iCol = grd_detlgrup.col;
  163. if ( gAuthYN != "Y" ){
  164. grd_detlgrup.colDisabled(iCol) = true;
  165. return;
  166. }else {
  167. grd_detlgrup.colDisabled(iCol) = false;
  168. }
  169. if(iRow < 1) return;
  170. if(model.getValue(xClsListPath+"["+iRow+"]/stat")=="I"){
  171. grd_detlgrup.deleteitem(iRow);
  172. }else if(model.getValue(xClsListPath+"["+iRow+"]/stat")=="D"){
  173. model.setValue(xClsListPath+"["+iRow+"]/stat","-");
  174. }else {
  175. model.setValue(xClsListPath+"["+iRow+"]/stat","D");
  176. }
  177. //grd_detlgrup.rebuild();
  178. //fMakeTreeView(); // 트리구조 만들기
  179. }
  180. /**
  181. * @group :
  182. * @ver : 2007.03.30
  183. * @by : 신혁춘
  184. * @---------------------------------------------------
  185. * @type : function
  186. * @access : public
  187. * @desc : 저장
  188. * @param :
  189. * @return :
  190. * @---------------------------------------------------
  191. */
  192. function fSave(){
  193. var sRowCnt = grd_detlgrup.rows-grd_detlgrup.fixedrows;
  194. var sLrgGrupRow = grd_lrggrup.row;
  195. model.removenode("/root/send");
  196. model.makeValue("/root/send/detlgrup",grd_detlgrup.getupdatedataAll("i"));
  197. var sGrupFlag = 0;
  198. if(sRowCnt < 0){
  199. messageBox("처리할 데이터가 ","I004");
  200. return;
  201. }
  202. for(var i=1; i<= sRowCnt; i++){
  203. if(model.getValue(xClsListPath+"["+i+"]/hngnm") == ""){
  204. messageBox("한글이름은 필수 입력","E008");
  205. return;
  206. }
  207. }
  208. if(messageBox("","Q002") != 6) return;
  209. model.makeValue("/root/send/lrggrupcd", model.getValue(xCondPath+"/lrggrupcd"));
  210. if(submit("TXMNR01902")){
  211. model.copyNode("/root/hidden/main","/root/main");
  212. //grd_detlgrup.rebuild();
  213. //fMakeTreeView(); // 트리구조 만들기
  214. sGrupFlag = model.getValue(xlrgListPath+"["+sLrgGrupRow+"]/grupflag");
  215. if(sGrupFlag==3 || sGrupFlag == 5){
  216. fSettingReadOnlyGrid();
  217. }
  218. // 15.09.02 - 추가
  219. detlinfo();
  220. }
  221. }
  222. /**
  223. * @group :
  224. * @ver : 2007.03.30
  225. * @by : 신혁춘
  226. * @---------------------------------------------------
  227. * @type : function
  228. * @access : public
  229. * @desc : 대분류 초기화
  230. * @param :
  231. * @return :
  232. * @---------------------------------------------------
  233. */
  234. function startopen(){
  235. // 간호하드코딩 테이블 조회_20090604 김홍점 수정권한자
  236. var pCode = "'097'"; // 조회할 CdGrupID 코드정보
  237. var pDate = getCurrentDate(); // 조회기준일자
  238. fGetNursHardCdInfo(pCode, pDate);
  239. grd_lrggrup.allowSelection = false; // 멀티 선택 여부.
  240. grd_detlgrup.allowSelection = false;
  241. model.makeValue("/root/send/supcd","********");
  242. if(submit("TRMNR01903")){
  243. if(grd_lrggrup.rows-grd_lrggrup.fixedrows > 0){
  244. grd_lrggrup.row =1;
  245. detlinfo();
  246. }
  247. }
  248. }
  249. /**
  250. * @group :
  251. * @ver : 2007.03.31
  252. * @by : 신혁춘
  253. * @---------------------------------------------------
  254. * @type : function
  255. * @access : public
  256. * @desc : 대분류 클릭시
  257. * @param :
  258. * @return :
  259. * @---------------------------------------------------
  260. */
  261. function detlinfo(){
  262. var iRow = grd_lrggrup.row;
  263. if(iRow < 1) return;
  264. model.removenode("/root/send");
  265. model.setValue(xCondPath+"/lrghngnm",model.getValue(xlrgListPath+"["+iRow+"]/hngnm"));
  266. model.setValue(xCondPath+"/lrggrupcd", model.getValue(xlrgListPath+"["+iRow+"]/grupcd"));
  267. model.makeNode("/root/send");
  268. model.copyNode("/root/send", xCondPath);
  269. if(model.getValue(xlrgListPath+"["+iRow+"]/grupflag") != 3 && model.getValue(xlrgListPath+"["+iRow+"]/grupflag") != 5 ){ // 부서별이 아닌 경우에는 입력이 필요 없음.
  270. grd_detlgrup.colHidden(6) = true;
  271. }else{
  272. grd_detlgrup.colHidden(6) = false;
  273. }
  274. if(submit("TRMNR01904")){
  275. model.copyNode("/root/hidden/main", "/root/main");
  276. grd_detlgrup.rebuild();
  277. setTree(grd_detlgrup, grd_detlgrup.colRef("depth"), grd_detlgrup.colRef("hngnm"),true);
  278. //fMakeTreeView(); // 트리구조 만들기
  279. if(model.getValue(xlrgListPath+"["+iRow+"]/grupflag")==3 || model.getValue(xlrgListPath+"["+iRow+"]/grupflag")==5){
  280. fSettingReadOnlyGrid();
  281. }
  282. }
  283. setBtnAut(); // 중앙/기관별 관리 메뉴그룹에 따른 버튼 권한 부여 2010-06-28 안도영
  284. }
  285. /**
  286. * @group :
  287. * @ver : 2007.04.02
  288. * @by : 신혁춘
  289. * @---------------------------------------------------
  290. * @type : function
  291. * @access : public
  292. * @desc : 상세분류의 컬럼 변경시..
  293. * @param :
  294. * @return :
  295. * @---------------------------------------------------
  296. */
  297. function fChangedGridCol(){
  298. if ( gAuthYN != "Y" ){
  299. return;
  300. }
  301. var sDetlGrupRow = grd_detlgrup.row;
  302. var sDetlGrupBKRow=0;
  303. if(model.getValue(xClsListPath+"["+sDetlGrupRow+"]/stat") != "-"){
  304. return;
  305. }
  306. // 데이터 변경 여부 check
  307. var grupcd = model.getValue(xClsListPath+"["+sDetlGrupRow+"]/grupcd");
  308. for(var i=1; i<= getNodesetCount(xClsListBKPath); i++){
  309. if(model.getValue(xClsListBKPath+"["+i+"]/grupcd") == grupcd){
  310. sDetlGrupBKRow = i;
  311. break;
  312. }
  313. }
  314. if(instance1.selectSingleNode(xClsListPath+"["+sDetlGrupRow+"]").xml != instance1.selectSingleNode(xClsListBKPath+"["+sDetlGrupBKRow+"]").xml){
  315. model.setValue(xClsListPath+"["+sDetlGrupRow+"]/stat","U");
  316. //grd_detlgrup.rebuild();
  317. //fMakeTreeView(); // 트리구조 만들기
  318. }
  319. }
  320. /**
  321. * @group :
  322. * @ver : 2007.04.02
  323. * @by : 신혁춘
  324. * @---------------------------------------------------
  325. * @type : function
  326. * @access : public
  327. * @desc : grid의 닫침효과
  328. * @param :
  329. * @return :
  330. * @---------------------------------------------------
  331. */
  332. function closegroup(){
  333. var sDepth = 0;
  334. for(var i = grd_detlgrup.fixedRows; i <= grd_detlgrup.rows; i++){
  335. sDepth = eval(model.getValue(xClsListPath+"["+i+"]/depth"));
  336. if(sDepth > 0){
  337. grd_detlgrup.iscollapsed(i)=true
  338. }
  339. }
  340. grd_detlgrup.refresh();
  341. }
  342. /**
  343. * @group :
  344. * @ver : 2007.04.02
  345. * @by : 신혁춘
  346. * @---------------------------------------------------
  347. * @type : function
  348. * @access : public
  349. * @desc : grid의 열림효과
  350. * @param :
  351. * @return :
  352. * @---------------------------------------------------
  353. */
  354. function opengroup(){
  355. for(var i = grd_detlgrup.fixedRows; i <= grd_detlgrup.rows; i++){
  356. grd_detlgrup.iscollapsed(i)=false
  357. }
  358. grd_detlgrup.refresh();
  359. }
  360. /**
  361. * @group :
  362. * @ver : 2007.04.04
  363. * @by : 이은영
  364. * @---------------------------------------------------
  365. * @type : function
  366. * @access : public
  367. * @desc : grid의 mouse down
  368. * @param :
  369. * @return :
  370. * @---------------------------------------------------
  371. */
  372. function fMouseDownGridRow(){
  373. //debugger;
  374. if ( gAuthYN != "Y" ){
  375. return;
  376. }
  377. var iLrgGrupRow = grd_lrggrup.row;
  378. var iDetlGrupRow = grd_detlgrup.mouseRow;
  379. var sGrupFlag = model.getValue(xlrgListPath+"["+iLrgGrupRow+"]/grupflag");
  380. var sDepth = model.getValue(xClsListPath+"["+iDetlGrupRow+"]/depth");
  381. if(event.button == 1){ // LButton
  382. var iRow = grd_detlgrup.mouseRow;
  383. if(iRow < 0) grd_detlgrup.row = 0;
  384. }
  385. if(event.button == 3){ // RButton
  386. if(grd_detlgrup.rows <= grd_detlgrup.fixedrows ){
  387. var iRow = grd_detlgrup.mouseRow;//grd_detlgrup.row;
  388. if(iRow < 0) grd_detlgrup.row = 0;
  389. window.setPopupMenu(true, "/root/hidden/detlgrup_samelevl_popmenu/menu", "name", "func", false);
  390. }else{
  391. if(grd_detlgrup.isCell(event.target) && grd_detlgrup.mouseRow >= grd_detlgrup.fixedrows){
  392. // 부서별의 경우는 3 레벨, 그외의 대분류의 경우는 2레벨 이후로는 하위항목 추가 메뉴를 보여주지 않는다.
  393. //용도(부서)별의 경우는 2레벨이후로는 하위항목 추가메뉴를 보여주지 않는다. 20080701 김홍점 20080617요구사항
  394. if(((sGrupFlag == 3 ) && sDepth >= 3)
  395. || ((sGrupFlag != 3 ) && sDepth >= 2) ){
  396. window.setPopupMenu(true, "/root/hidden/detlgrup_samelevl_popmenu/menu", "name", "func", false);
  397. }else {
  398. window.setPopupMenu(true, "/root/hidden/detlgrup_sameinflevl_popmenu/menu", "name", "func", false);
  399. }
  400. }else{
  401. window.setPopupMenu(false);
  402. }
  403. }
  404. }
  405. }
  406. /**
  407. * @group :
  408. * @ver : 2007.04.17
  409. * @by : 이은영
  410. * @---------------------------------------------------
  411. * @type : function
  412. * @access : public
  413. * @desc : 부서 팝업
  414. * @param :
  415. * @return :
  416. * @---------------------------------------------------
  417. */
  418. function fCallDeptInfo(){
  419. var iCol = grd_detlgrup.col;
  420. var iRow = grd_detlgrup.row;
  421. if ( gAuthYN != "Y" ){
  422. return;
  423. }
  424. if(iCol == 6){
  425. var sGrupCD = model.getValue(xClsListPath+"["+iRow+"]/grupcd");
  426. var sGrupFlag = model.getValue(xClsListPath+"["+iRow+"]/grupflag");
  427. if(sGrupCD!="" && model.getValue(xClsListPath+"[supcd='"+sGrupCD+"']/supcd") != ""){
  428. messageBox("하위항목이 존재하여 변경","E001");
  429. return;
  430. }
  431. var sSupCD = model.getValue(xClsListPath+"["+iRow+"]/supcd");
  432. if(sSupCD!="" && model.getValue(xClsListPath+"[grupcd='"+sSupCD+"']/grupcd") != ""){
  433. messageBox("상위항목이 존재하여 변경","E001");
  434. return;
  435. }
  436. if(sGrupFlag < 5){//20080701 김홍점 20080617 김영림 샘 요구사항 부서용도는 부서등록필요없음.
  437. zbcfOpenInstDeptCodeList("deptnm", model.getValue(xClsListPath+"["+iRow+"]/deptnm"), xClsListPath+"["+iRow+"]/deptcd", xClsListPath+"["+iRow+"]/deptnm", "orduseyn", "");
  438. }
  439. }
  440. }
  441. /**
  442. * @group :
  443. * @ver : 2007.04.19
  444. * @by : 이은영
  445. * @---------------------------------------------------
  446. * @type : function
  447. * @access : public
  448. * @desc : 그리드 부서조회 팝업 읽기전용 설정
  449. * @param :
  450. * @return :
  451. * @---------------------------------------------------
  452. */
  453. function fSettingReadOnlyGrid(){
  454. var sDeltGrupCnt = grd_detlgrup.rows-grd_detlgrup.fixedrows;
  455. grd_detlgrup.isreadonly(1,6,sDeltGrupCnt,6) = true; // 전체 읽기전용 설정
  456. for(var iRow=grd_detlgrup.fixedrows; iRow<=sDeltGrupCnt; iRow++){
  457. if(eval(model.getValue(xClsListPath+"["+iRow+"]/depth")) == 1){
  458. grd_detlgrup.isreadonly(iRow,6) = false; // 최상위 항목만 쓰기 가능
  459. }
  460. }
  461. }
  462. /**
  463. * @group :
  464. * @ver : 2010.06.24
  465. * @by : 안도영
  466. * @---------------------------------------------------
  467. * @type : function
  468. * @access : public
  469. * @desc : 중앙/기관별 관리 메뉴그룹 구분을 위한 함수
  470. * @param :
  471. * @return :
  472. * @---------------------------------------------------
  473. */
  474. /* 메뉴그룹코드 가져오기(from 간호하드코딩 테이블) 2010-06-24 안도영 */
  475. function chkInstMG(){
  476. //debugger;
  477. grd_lrggrup.allowSelection = false; // 멀티 선택 여부.
  478. grd_detlgrup.allowSelection = false; // 다중선택 해지
  479. model.makeValue("/root/send/supcd","********");
  480. if(submit("TRMNR01903")){
  481. if(grd_lrggrup.rows-grd_lrggrup.fixedrows > 0){
  482. grd_lrggrup.row =1;
  483. detlinfo();
  484. }
  485. }
  486. var pCode = "'208'"; // 조회할 CdGrupID 코드정보
  487. var pDate = getCurrentDate(); //조회기준일자
  488. var pTime = getCurrentTime().substring(0,4); //조회기준시간
  489. //var mainPath = "/root/temp/shifttimeinfo/shifttimelist";
  490. var initPath = "/root/code/codeinfo/codelist";
  491. fGetNursHardCdInfo(pCode, pDate); // 간호공통관리 메뉴그룹코드 조회
  492. var str = getGlobalVariable("menugroupcd");
  493. var currentMG = "";
  494. // 현재의 메뉴그룹코드 추출
  495. for(i=0; i < str.length; i++){
  496. if(str.charAt(i) == "|") break;
  497. currentMG = currentMG + str.charAt(i);
  498. }
  499. // 중앙, 기관별 관리자 메뉴그룹 구분
  500. if(model.getValue(initPath+"[supcdid = '1' and cdid = '"+currentMG+"']/cdid")){
  501. MGFlag = "C"; // 중앙
  502. }
  503. else if(model.getValue(initPath+"[supcdid = '2' and cdid = '"+currentMG+"']/cdid")){
  504. MGFlag = "I"; // 기관별
  505. }else{ // 둘다 해당하지 않을시 default로 기관별 사용자 (2010-06-29 서울성모 김숙인샘 요청)
  506. MGFlag = "I";
  507. }
  508. // 초기 버튼 disable
  509. var datapath = "/root/main/lrggrup/lrggruplist";
  510. var currentRow = model.getValue(datapath + "["+grd_lrggrup.Row + "]/grupflag");
  511. if(MGFlag == "I" && (currentRow == "1" || currentRow == "2")){ // default로 '상황별'이나 '질환별' 조회될 시 기관별사용자일 경우 버튼 disable
  512. btn_del.disabled = true;
  513. btn_save.disabled = true;
  514. }
  515. }
  516. /**
  517. * @group :
  518. * @ver : 2010.06.24
  519. * @by : 안도영
  520. * @---------------------------------------------------
  521. * @type : function
  522. * @access : public
  523. * @desc : 중앙/기관별 관리 메뉴그룹에 따른 버튼 권한 부여
  524. * @param :
  525. * @return :
  526. * @---------------------------------------------------
  527. */
  528. function setBtnAut(){
  529. if(MGFlag == "I"){
  530. var datapath = "/root/main/lrggrup/lrggruplist";
  531. var currentRow = model.getValue(datapath + "["+grd_lrggrup.Row + "]/grupflag");
  532. if(currentRow == "1" || currentRow == "2"){ // 상황별, 질환별 대분류
  533. btn_del.disabled = true;
  534. btn_save.disabled = true;
  535. ableFlag = "N";
  536. gAuthYN = "N";
  537. }else{
  538. btn_del.disabled = false;
  539. btn_save.disabled = false;
  540. ableFlag = "Y";
  541. gAuthYN = "Y";
  542. }
  543. }else{
  544. btn_del.disabled = false;
  545. btn_save.disabled = false;
  546. gAuthYN = "Y";
  547. }
  548. }