SMMNR02000.xjs 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. 표준간호과정 set 관리(SMMNR02000.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. */
  7. //var xStmtListPath = "/root/main/stmtlist/stmtinfo"; // 표준 간호 진술문
  8. //var xCondPath = "/root/main/cond"; // 조회조건
  9. //var xNursDiagInfoPath = "/root/main/nursdiaginfo"; // Nursing Diagnosis
  10. //var xRetPath = "/root/hidden/retinfo"; // 팝업 리턴 결과
  11. //var xStmtClsListPath = "/root/main/stmtclslist/stmtclsinfo"; // 표준간호과정 set 등록
  12. //var xStmtSetListPath = "/root/main/grupstmtsetinfo/stmtsetinfo/stmtsetlist"; // 진술문 분류 등록 내의 표준간호진술문
  13. //var xLrgGrupListPath = "/root/main/grupstmtsetinfo/lrggrupinfo/lrggruplist"; // 대분류
  14. //var xDetlGrupListPath = "/root/main/grupstmtsetinfo/detlgrupinfo/detlgruplist" // 상세분류
  15. //var xSetStmtInfoPath = "/root/main/setstmtinfo"; // 분류 정보
  16. //var xHardCodeList = "/root/code/codeinfo/codelist";
  17. var gAuthYN = "";
  18. var sGrupFlag = "";
  19. var MGFlag = ""; // 메뉴그룹 구분 (C:중앙사용자, I:기관사용자) 2010-06-25 안도영
  20. /**
  21. * @group :
  22. * @ver : 2007.03.28
  23. * @by : 이은영
  24. * @---------------------------------------------------
  25. * @type : function
  26. * @access : public
  27. * @desc : 화면 초기화
  28. * @param :
  29. * @return :
  30. * @---------------------------------------------------
  31. */
  32. function fInit(){
  33. // 주석처리 2010-06-25 안도영
  34. /*
  35. // 간호하드코딩 테이블 조회_20090604 김홍점 수정권한자
  36. var pCode = "'097'"; // 조회할 CdGrupID 코드정보
  37. var pDate = getCurrentDate(); // 조회기준일자
  38. fGetNursHardCdInfo(pCode, pDate);
  39. */
  40. model.setValue(xCondPath+"/dnar", "%");
  41. model.removenodeset(xStmtListPath);
  42. model.removenodeset(xStmtClsListPath);
  43. // fSearchStmtInfo();
  44. grd_lrggruplist.allowSelection = false; // 멀티 선택 여부.
  45. grd_detlgruplist.allowSelection = false;
  46. fSearchGrupInfo();
  47. // 주석처리 2010-06-25 안도영
  48. /*
  49. if ( !isNull(getUserId())
  50. && !isNull(model.getValue(xHardCodeList + "[cdid='"+ getUserId() +"']/cdid"))
  51. ){
  52. gAuthYN = "Y";
  53. btn_select.disabled = false;
  54. btn_delstndcareset.disabled = false;
  55. btn_savestndcareset.disabled = false;
  56. }else{
  57. gAuthYN = "N";
  58. btn_select.disabled = true;
  59. btn_delstndcareset.disabled = true;
  60. btn_savestndcareset.disabled = true;
  61. }
  62. */
  63. }
  64. /**
  65. * @group :
  66. * @ver : 2007.03.28
  67. * @by : 이은영
  68. * @---------------------------------------------------
  69. * @type : function
  70. * @access : public
  71. * @desc : 진술문 조회
  72. * @param :
  73. * @return :
  74. * @---------------------------------------------------
  75. */
  76. function fSearchStmtInfo(){
  77. xStmtListPath.clearData();
  78. var sSetYN = utlf_transNullToEmpty(xCondPath.getColumn(0, "setyn"));
  79. if(sSetYN == "Y"){
  80. var sStmtCD = xCondPath.getColumn(0, "nursdiagstmtcd");
  81. if(utlf_isNull(sStmtCD)){
  82. frmf_modal("SPMNR02900", "SPMNR02900", "", null, "", "", "", null, null, null, null, null, "M");
  83. xCondPath.setColumn(0, "nursdiagstmtcd", xRetPath.getColumn(0, "stmtcd"));
  84. sStmtCD = xCondPath.getColumn(0, "nursdiagstmtcd");
  85. }
  86. ds_send.clearData();
  87. dsf_makeValue(ds_send, "dnar", "string", xCondPath.getColumn(0, "dnar"));
  88. dsf_makeValue(ds_send, "stmtnm", "string", xCondPath.getColumn(0, "stmtnm"));
  89. dsf_makeValue(ds_send, "nursdiagstmtcd", "string", sStmtCD);
  90. dsf_makeValue(ds_send, "searchflag", "string", "stmt");
  91. var oParam = {};
  92. oParam.id = "TRMNR02006";
  93. oParam.service = "carerecapp.StmtMngt";
  94. oParam.method = "reqGetStmtClsList";
  95. oParam.inds = "refCond=ds_send";
  96. oParam.outds = "ds_main_stmtlist_stmtinfo=stmtinfo";
  97. oParam.async = false;
  98. tranf_submit(oParam);
  99. }else{
  100. group5.grp_sea.ipt_srchnm.updateToDataset();
  101. if(utlf_isNull(xCondPath.getColumn(0, "stmtnm"))){
  102. sysf_messageBox("검색할 단어를 먼저","C001");
  103. return;
  104. }
  105. ds_send.clearData();
  106. ds_send.copyData(xCondPath);
  107. var oParam = {};
  108. oParam.id = "TRMNR02001";
  109. oParam.service = "carerecapp.StmtMngt";
  110. oParam.method = "reqGetStmtList";
  111. oParam.inds = "refCond=ds_send";
  112. oParam.outds = "ds_main_stmtlist_stmtinfo=stmtinfo";
  113. oParam.async = false;
  114. tranf_submit(oParam);
  115. }
  116. //grd_stmtlist.colSort(grd_stmtlist.colRef("dnarflag")) = "asc";
  117. //grd_stmtlist.sort(1, grd_stmtlist.colRef("dnarflag"), grd_stmtlist.rows-1, grd_stmtlist.cols-1) = "usersort";
  118. //grd_stmtlist.gridToInstance();
  119. //grd_stmtlist.refresh();
  120. //grd_stmtlist.mergecells = "bycol";
  121. //grd_stmtlist.mergecol(2) = false;
  122. //grd_stmtlist.mergecol(3) = false;
  123. if(utlf_isNull(ds_main_stmtlist_stmtinfo.getColumnInfo("col2bkcolor"))){
  124. ds_main_stmtlist_stmtinfo.addColumn("col2bkcolor", "string");
  125. }
  126. if(utlf_isNull(ds_main_stmtlist_stmtinfo.getColumnInfo("col3bkcolor"))){
  127. ds_main_stmtlist_stmtinfo.addColumn("col3bkcolor", "string");
  128. }
  129. fSettingStmtStyle("stmtinfo"); //진술문 폰트 color 설정
  130. //grd_stmtlist.resizeCells();
  131. }
  132. /**
  133. * @group :
  134. * @ver : 2007.03.29
  135. * @by : 이은영
  136. * @---------------------------------------------------
  137. * @type : function
  138. * @access : public
  139. * @desc : 진단 진술문장 호출
  140. * @param :
  141. * @return :
  142. * @---------------------------------------------------
  143. */
  144. function fCallNursDiagInfo(){
  145. frmf_modal("SPMNR02900", "SPMNR02900", "", null, "", "", "", null, null, null, null, null, "M");
  146. dsf_makeValue(xNursDiagInfoPath, "nursdiagstmtcnts", "string", xRetPath.getColumn(0, "stmtcnts"));
  147. dsf_makeValue(xNursDiagInfoPath, "nursdiagstmtcd", "string", xRetPath.getColumn(0, "stmtcd"));
  148. if(utlf_isNull(xNursDiagInfoPath.getColumn(0, "nursdiagstmtcnts"))){
  149. return;
  150. }
  151. ds_send.clearData();
  152. dsf_makeValue(ds_send, "nursdiagstmtcd", "string", xNursDiagInfoPath.getColumn(0, "nursdiagstmtcd"));
  153. var oParam = {};
  154. oParam.id = "TRMNR02002";
  155. oParam.service = "carerecapp.StmtMngt";
  156. oParam.method = "reqGetStmtClsList";
  157. oParam.inds = "refCond=ds_send";
  158. oParam.outds = "ds_main_stmtclslist_stmtclsinfo=stmtclsinfo";
  159. oParam.async = false;
  160. oParam.callback = "cf_TRMNR02002";
  161. tranf_submit(oParam);
  162. if(arErrorCode.pop("TRMNR02002") > -1){
  163. // grd_stndcarestmtlist.mergecells = "bycol";
  164. // grd_stndcarestmtlist.mergecol(1) = false;
  165. // grd_stndcarestmtlist.mergecol(3) = false;
  166. // grd_stndcarestmtlist.mergecol(4) = false;
  167. if(utlf_isNull(ds_main_stmtclslist_stmtclsinfo.getColumnInfo("col2bkcolor"))){
  168. ds_main_stmtclslist_stmtclsinfo.addColumn("col2bkcolor", "string");
  169. }
  170. if(utlf_isNull(ds_main_stmtclslist_stmtclsinfo.getColumnInfo("col3bkcolor"))){
  171. ds_main_stmtclslist_stmtclsinfo.addColumn("col3bkcolor", "string");
  172. }
  173. fSettingStmtStyle("stndcarestmtlist"); // 진술문 폰트 color 설정
  174. //grd_stndcarestmtlist.resizeCells();
  175. }
  176. }
  177. /**
  178. * @group :
  179. * @ver : 2007.03.30
  180. * @by : 이은영
  181. * @---------------------------------------------------
  182. * @type : function
  183. * @access : public
  184. * @desc : 그리드의 항목 삭제
  185. * @param :
  186. * @return :
  187. * @---------------------------------------------------
  188. */
  189. function fDelGridRow(){
  190. if ( gAuthYN != "Y" ){
  191. return;
  192. }
  193. var icase = group5.swt_stmtset.tabindex;
  194. var iRow = 0;
  195. var sRowCnt = 0;
  196. var sStatus = "";
  197. switch(icase){
  198. case 0 : // 표준간호과정 SET등록
  199. sRowCnt = ds_main_stmtclslist_stmtclsinfo.rowcount;
  200. if(sRowCnt < 1) return;
  201. for(var iRow = 0; iRow < sRowCnt; iRow++){
  202. if(ds_main_stmtclslist_stmtclsinfo.getSelect(iRow) == true){
  203. sStatus = xStmtClsListPath.getColumn(iRow, "status");
  204. if(sStatus == "I"){
  205. ds_main_stmtclslist_stmtclsinfo.deleteRow(iRow);
  206. }else if(sStatus == "-"){
  207. xStmtClsListPath.setColumn(iRow, "status","D");
  208. }else{
  209. xStmtClsListPath.setColumn(iRow, "status","-");
  210. }
  211. }
  212. }
  213. break;
  214. case 1 : // 진술문 분류 등록
  215. sRowCnt = ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.rowcount;
  216. if(sRowCnt < 1) return;
  217. for(var iRow = 0; iRow < sRowCnt; iRow++){
  218. if(ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.getSelect(iRow) == true){
  219. sStatus = xStmtSetListPath.getColumn(iRow, "status");
  220. if(sStatus == "I"){
  221. ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.deleteRow(iRow);
  222. }else if(sStatus == "-"){
  223. xStmtSetListPath.setColumn(iRow, "status","D");
  224. }else{
  225. xStmtSetListPath.setColumn(iRow, "status","-");
  226. }
  227. }
  228. }
  229. break;
  230. }
  231. }
  232. /**
  233. * @group :
  234. * @ver : 2007.03.30
  235. * @by : 이은영
  236. * @---------------------------------------------------
  237. * @type : function
  238. * @access : public
  239. * @desc : 진술문 전송
  240. * @param :
  241. * @return :
  242. * @---------------------------------------------------
  243. */
  244. function fSendStmtInfo(){
  245. if ( gAuthYN != "Y" ){
  246. return;
  247. }
  248. var icase = group5.swt_stmtset.tabindex;
  249. var sDNARFlag = ""; // dnar 구분
  250. var sStmtCnts = ""; // 진술문장
  251. var sStmtCd = ""; // 진술문 코드
  252. var sStmtCntsAttr ="";//속성이 2개이상인 진술문 concat
  253. //var sSelectRows = group5.grd_stmtlist.selectcount;
  254. var sSelectRows = grdf_getSelectedRows(group5.grd_stmtlist).length;
  255. var iStndCareStmtRow = 0; // 표준간호과정내의 진술문 개수
  256. var iStmtSetRow = 0; // 진술문 분류내의 진술문 개수
  257. var sNursDiagStmtCd = xNursDiagInfoPath.getColumn(0, "nursdiagstmtcd");
  258. var sSmlGrupCd = xSetStmtInfoPath.getColumn(0, "smlgrupcd");
  259. if(icase == 1 && utlf_isNull(sSmlGrupCd)){ // 진술문 분류 등록 check
  260. sysf_messageBox("상세분류를 먼저","C002");
  261. return;
  262. }
  263. if(sSelectRows < 1){ // 선택된 진술문장이 없을 경우
  264. sysf_messageBox("등록을 원하는 진술문을 먼저","C002");
  265. return;
  266. }else if(sSelectRows == 1){ // 선택된 진술문장이 1인 경우
  267. var sStmtRow = ds_main_stmtlist_stmtinfo.rowposition;
  268. sDNARFlag = xStmtListPath.getColumn(sStmtRow, "dnarflag"); // dnar 구분
  269. sStmtCnts = xStmtListPath.getColumn(sStmtRow, "stmtcnts"); // 진술문장
  270. sStmtCd = xStmtListPath.getColumn(sStmtRow, "stmtcd"); // 진술문 코드
  271. switch(icase){
  272. case 0 : // 표준간호과정 SET등록
  273. if(sDNARFlag == "2N"){
  274. var sRowCnt = ds_main_stmtclslist_stmtclsinfo.rowcount;
  275. var sStatus = "";
  276. var sRtnMsg = 0;
  277. var sChngChk = "false";
  278. for(var iRow = 0; iRow < sRowCnt; iRow++){
  279. sStatus = xStmtClsListPath.getColumn(iRow, "status");
  280. if(sStatus == "I" || sStatus == "D"){
  281. sChngChk = "true";
  282. break;
  283. }
  284. }
  285. if(sChngChk == "true"){
  286. sRtnMsg = sysf_messageBox("변경된 데이터가 있습니다. 그래도", "Q003");
  287. if(sRtnMsg != 6) return;
  288. }
  289. xNursDiagInfoPath.setColumn(0, "nursdiagstmtcnts", sStmtCnts);
  290. xNursDiagInfoPath.setColumn(0, "nursdiagstmtcd",sStmtCd);
  291. ds_send.clearData();
  292. dsf_makeValue(ds_send, "nursdiagstmtcd", "string", xNursDiagInfoPath.getColumn(0, "nursdiagstmtcd"));
  293. dsf_makeValue(ds_send, "searchflag", "string", "cls");
  294. var oParam = {};
  295. oParam.id = "TRMNR02002";
  296. oParam.service = "carerecapp.StmtMngt";
  297. oParam.method = "reqGetStmtClsList";
  298. oParam.inds = "refCond=ds_send";
  299. oParam.outds = "ds_main_stmtclslist_stmtclsinfo=stmtclsinfo";
  300. oParam.async = false;
  301. oParam.callback = "cf_TRMNR02002";
  302. tranf_submit(oParam);
  303. if(arErrorCode.pop("TRMNR02002") > -1){
  304. // grd_stndcarestmtlist.mergecells = "bycol";
  305. // grd_stndcarestmtlist.mergecol(1) = false;
  306. // grd_stndcarestmtlist.mergecol(3) = false;
  307. // grd_stndcarestmtlist.mergecol(4) = false;
  308. if(utlf_isNull(ds_main_stmtclslist_stmtclsinfo.getColumnInfo("col2bkcolor"))){
  309. ds_main_stmtclslist_stmtclsinfo.addColumn("col2bkcolor", "string");
  310. }
  311. if(utlf_isNull(ds_main_stmtclslist_stmtclsinfo.getColumnInfo("col3bkcolor"))){
  312. ds_main_stmtclslist_stmtclsinfo.addColumn("col3bkcolor", "string");
  313. }
  314. fSettingStmtStyle("stndcarestmtlist"); // 진술문 폰트 color 설정
  315. //grd_stndcarestmtlist.resizeCells();
  316. }
  317. return;
  318. }
  319. if(icase == 0 && utlf_isNull(sNursDiagStmtCd)){ // 표준간호과정 SET 등록 check
  320. sysf_messageBox("Nursing Diagnosis를 먼저","C002");
  321. return;
  322. }
  323. if(!utlf_isNull(xStmtClsListPath.lookup("stmtcd", sStmtCd, "stmtcd"))){
  324. sysf_messageBox("선택하신 진술문은 이미 등록이 되어 있습니다.\n등록","E001");
  325. return;
  326. }
  327. //grd_stndcarestmtlist.addItem();
  328. ds_main_stmtclslist_stmtclsinfo.addRow();
  329. iStndCareStmtRow = ds_main_stmtclslist_stmtclsinfo.rowcount - 1;
  330. xStmtClsListPath.setColumn(iStndCareStmtRow, "status","I");
  331. xStmtClsListPath.setColumn(iStndCareStmtRow, "dnarflag",sDNARFlag);
  332. xStmtClsListPath.setColumn(iStndCareStmtRow, "stmtcnts",sStmtCnts);
  333. xStmtClsListPath.setColumn(iStndCareStmtRow, "stmtcd",sStmtCd);
  334. xStmtClsListPath.setColumn(iStndCareStmtRow, "nursdiagstmtcd",sNursDiagStmtCd);
  335. xStmtClsListPath.setColumn(iStndCareStmtRow, "todd","99991231235959");
  336. //grd_stndcarestmtlist.topRow = grd_stndcarestmtlist.rows;
  337. break;
  338. case 1 : // 진술문 분류 등록
  339. if(!utlf_isNull(xStmtSetListPath.lookup("stmtcd", sStmtCd, "stmtcd"))){
  340. sysf_messageBox("선택하신 진술문은 이미 등록이 되어 있습니다.\n등록","E001");
  341. return;
  342. }
  343. iStmtSetRow = ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.addRow();
  344. xStmtSetListPath.setColumn(iStmtSetRow, "status", "I");
  345. xStmtSetListPath.setColumn(iStmtSetRow, "dnarflag", sDNARFlag);
  346. xStmtSetListPath.setColumn(iStmtSetRow, "stmtcnts", sStmtCnts);
  347. xStmtSetListPath.setColumn(iStmtSetRow, "stmtcd", sStmtCd);
  348. xStmtSetListPath.setColumn(iStmtSetRow, "grupcd", sSmlGrupCd);
  349. xStmtSetListPath.setColumn(iStmtSetRow, "todd", "99991231235959");
  350. xStmtSetListPath.setColumn(iStmtSetRow, "dnar", fChangedDNAR(sDNARFlag));
  351. //grd_stmtsetlist.topRow = grd_stmtsetlist.rows;
  352. break;
  353. }
  354. }else{ // 선택된 진술문장이 여러 개인 경우
  355. var iStmtRowCnt = ds_main_stmtlist_stmtinfo.rowcount;
  356. sStmtCntsAttr = "";
  357. if(icase == 0 && utlf_isNull(sNursDiagStmtCd)){ // 표준간호과정 SET 등록 check
  358. sysf_messageBox("Nursing Diagnosis를 먼저","C002");
  359. return;
  360. }
  361. switch(icase){
  362. case 0 : // 표준간호과정 SET등록
  363. iStndCareStmtRow = ds_main_stmtclslist_stmtclsinfo.rowcount;
  364. for(var iStmtRow = 0; iStmtRow < iStmtRowCnt; iStmtRow++){
  365. if(ds_main_stmtlist_stmtinfo.getSelect(iStmtRow) == true){
  366. sDNARFlag = xStmtListPath.getColumn(iStmtRow, "dnarflag"); // dnar 구분
  367. sStmtCd = xStmtListPath.getColumn(iStmtRow, "stmtcd"); // 진술문 코드
  368. if(sDNARFlag == "2N") continue;
  369. if(!utlf_isNull(xStmtClsListPath.lookup("stmtcd", sStmtCd, "stmtcd"))) continue;
  370. iStndCareStmtRow = ds_main_stmtclslist_stmtclsinfo.addRow();
  371. xStmtClsListPath.setColumn(iStndCareStmtRow, "status", "I");
  372. xStmtClsListPath.setColumn(iStndCareStmtRow, "dnarflag", sDNARFlag); // dnar 구분
  373. xStmtClsListPath.setColumn(iStndCareStmtRow, "stmtcnts", xStmtListPath.getColumn(iStmtRow, "stmtcnts")); // 진술문장
  374. xStmtClsListPath.setColumn(iStndCareStmtRow, "stmtcd", sStmtCd); // 진술문 코드
  375. xStmtClsListPath.setColumn(iStndCareStmtRow, "nursdiagstmtcd", sNursDiagStmtCd);
  376. xStmtClsListPath.setColumn(iStndCareStmtRow, "todd", "99991231235959");
  377. }
  378. }
  379. // grd_stndcarestmtlist.rebuild();
  380. // grd_stndcarestmtlist.resizeCells();
  381. // grd_stndcarestmtlist.topRow = grd_stndcarestmtlist.rows;
  382. break;
  383. case 1 : // 진술문 분류 등록
  384. iStmtSetRow = ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.rowcount;
  385. for(var iStmtRow = 0; iStmtRow < iStmtRowCnt; iStmtRow++){
  386. if(ds_main_stmtlist_stmtinfo.getSelect(iStmtRow) == true){
  387. sDNARFlag = xStmtListPath.getColumn(iStmtRow, "dnarflag"); // dnar 구분
  388. sStmtCd = xStmtListPath.getColumn(iStmtRow, "stmtcd"); // 진술문 코드
  389. if(!utlf_isNull(xStmtSetListPath.lookup("stmtcd", sStmtCd, "stmtcd"))) continue;
  390. iStmtSetRow = ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.addRow();
  391. xStmtSetListPath.setColumn(iStmtSetRow, "status", "I");
  392. xStmtSetListPath.setColumn(iStmtSetRow, "dnarflag", sDNARFlag); // dnar 구분
  393. xStmtSetListPath.setColumn(iStmtSetRow, "stmtcnts", xStmtListPath.getColumn(iStmtRow, "stmtcnts")); // 진술문장
  394. xStmtSetListPath.setColumn(iStmtSetRow, "stmtcd", sStmtCd); // 진술문 코드
  395. xStmtSetListPath.setColumn(iStmtSetRow, "grupcd", sSmlGrupCd);
  396. xStmtSetListPath.setColumn(iStmtSetRow, "todd", "99991231235959");
  397. xStmtSetListPath.setColumn(iStmtSetRow, "dnar", fChangedDNAR(sDNARFlag));
  398. }
  399. }
  400. // grd_stmtsetlist.rebuild();
  401. // grd_stmtsetlist.resizeCells();
  402. // grd_stmtsetlist.topRow = grd_stmtsetlist.rows;
  403. if( !utlf_isNull(sStmtCntsAttr) ){
  404. sysf_messageBox("선택하신 진술문 중 \n"+sStmtCntsAttr+"\n 은/는 속성이 2개이상이므로 등록되지 ","E007");
  405. }
  406. break;
  407. }
  408. }
  409. }
  410. function cf_TRMNR02002(sSvcId, nErrorCode, sErrorMsg) {
  411. arErrorCode.push(sSvcId, nErrorCode);
  412. }
  413. /**
  414. * @group :
  415. * @ver : 2007.03.30
  416. * @by : 이은영
  417. * @---------------------------------------------------
  418. * @type : function
  419. * @access : public
  420. * @desc : 저장
  421. * @param :
  422. * @return :
  423. * @---------------------------------------------------
  424. */
  425. function fSave(){
  426. var icase = group5.swt_stmtset.tabindex;
  427. var iRow = 0;
  428. switch(icase){
  429. case 0 : // 표준간호과정 SET등록
  430. ds_send.clearData();
  431. dsf_makeValue(ds_send, "nursdiagstmtcd", "string", xNursDiagInfoPath.getColumn(0, "nursdiagstmtcd"));
  432. //model.makeValue("/root/send/stmtclslist",grd_stndcarestmtlist.getUpdateDataAll("i"));
  433. var updateData = grdf_getGridUpdateData(group5.swt_stmtset.StndCareSet.grd_stndcarestmtlist, "i");
  434. //grdf_setStatusColumn(updateData, "status");
  435. ds_send_stmtclslist.copyData(updateData, true);
  436. for(var i = 0; i < ds_send_stmtclslist.rowcount ;i++){
  437. if(ds_send_stmtclslist.getColumn(i, "status") == "i"){
  438. ds_send_stmtclslist.setColumn(i, "status", "I");
  439. }else if(ds_send_stmtclslist.getColumn(i, "status") == "u"){
  440. ds_send_stmtclslist.setColumn(i, "status", "U");
  441. }else if(ds_send_stmtclslist.getColumn(i, "status") == "d"){
  442. ds_send_stmtclslist.setColumn(i, "status", "D");
  443. }
  444. }
  445. var oParam = {};
  446. oParam.id = "TXMNR02001";
  447. oParam.service = "carerecapp.StmtMngt";
  448. oParam.method = "reqExeStmtClsList";
  449. oParam.inds = "refCond=ds_send stmtclslist=ds_send_stmtclslist";
  450. oParam.outds = "ds_main_stmtclslist_stmtclsinfo=stmtclsinfo";
  451. oParam.async = false;
  452. oParam.callback = "cf_TXMNR02001";
  453. tranf_submit(oParam);
  454. if(arErrorCode.pop("TXMNR02001") > -1){
  455. if(utlf_isNull(ds_main_stmtclslist_stmtclsinfo.getColumnInfo("col2bkcolor"))){
  456. ds_main_stmtclslist_stmtclsinfo.addColumn("col2bkcolor", "string");
  457. }
  458. if(utlf_isNull(ds_main_stmtclslist_stmtclsinfo.getColumnInfo("col3bkcolor"))){
  459. ds_main_stmtclslist_stmtclsinfo.addColumn("col3bkcolor", "string");
  460. }
  461. fSettingStmtStyle("stndcarestmtlist"); // 진술문 폰트 color 설정
  462. }
  463. break;
  464. case 1 : // 진술문 분류 등록
  465. ds_send.clearData();
  466. dsf_makeValue(ds_send, "grupcd", "string", xSetStmtInfoPath.getColumn(0, "smlgrupcd"));
  467. var updateData = grdf_getGridUpdateData(group5.swt_stmtset.GrupStmtSet.grd_stmtsetlist, "i");
  468. //grdf_setStatusColumn(updateData, "status");
  469. ds_send_stmtclslist.copyData(updateData, true);
  470. for(var i = 0; i < ds_send_stmtclslist.rowcount ;i++){
  471. if(ds_send_stmtclslist.getColumn(i, "status") == "i"){
  472. ds_send_stmtclslist.setColumn(i, "status", "I");
  473. }else if(ds_send_stmtclslist.getColumn(i, "status") == "u"){
  474. ds_send_stmtclslist.setColumn(i, "status", "U");
  475. }else if(ds_send_stmtclslist.getColumn(i, "status") == "d"){
  476. ds_send_stmtclslist.setColumn(i, "status", "D");
  477. }
  478. }
  479. var oParam = {};
  480. oParam.id = "TXMNR02002";
  481. oParam.service = "carerecapp.StmtMngt";
  482. oParam.method = "reqExeStmtSetList";
  483. oParam.inds = "refCond=ds_send stmtsetlist=ds_send_stmtclslist";
  484. oParam.outds = "ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist=stmtsetlist";
  485. oParam.async = false;
  486. oParam.callback = "cf_TXMNR02002";
  487. tranf_submit(oParam);
  488. if(arErrorCode.pop("TXMNR02002") > -1){
  489. fSetupLnkDiag(); // 연결진단 설정
  490. if(utlf_isNull(ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.getColumnInfo("col2bkcolor"))){
  491. ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.addColumn("col2bkcolor", "string");
  492. }
  493. if(utlf_isNull(ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.getColumnInfo("col3bkcolor"))){
  494. ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.addColumn("col3bkcolor", "string");
  495. }
  496. fSettingStmtStyle("grupstmtset"); // 진술문 폰트 color 설정
  497. }
  498. break;
  499. }
  500. }
  501. function cf_TXMNR02001(sSvcId, nErrorCode, sErrorMsg) {
  502. arErrorCode.push(sSvcId, nErrorCode);
  503. }
  504. function cf_TXMNR02002(sSvcId, nErrorCode, sErrorMsg) {
  505. arErrorCode.push(sSvcId, nErrorCode);
  506. }
  507. /**
  508. * @group :
  509. * @ver : 2007.03.30
  510. * @by : 이은영
  511. * @---------------------------------------------------
  512. * @type : function
  513. * @access : public
  514. * @desc : 그리드 클릭시
  515. * @param : pFlag ( lrggrup : 대분류, deltgrup : 상세분류정보)
  516. * @return :
  517. * @---------------------------------------------------
  518. */
  519. function fClickedGrid(pFlag){
  520. var iRow = 0;
  521. var sSelectedRow = 0; // 선택된 상세분류 코드
  522. var sRowCnt = 0;
  523. var sDepth= "";
  524. sGrupFlag = "";
  525. if(pFlag == "lrggrup"){ // 대분류
  526. sSelectedRow = ds_main_grupstmtsetinfo_lrggrupinfo_lrggruplist.rowposition;
  527. if(sSelectedRow < 0) return;
  528. xSetStmtInfoPath.setColumn(0, "laggrupnm", xLrgGrupListPath.getColumn(sSelectedRow, "hngnm"));
  529. xSetStmtInfoPath.setColumn(0, "mdlgrupnm", "");
  530. xSetStmtInfoPath.setColumn(0, "smlgrupnm", "");
  531. dsf_makeValue(xSetStmtInfoPath, "smlgrupcd", "string", "");
  532. ds_send.clearData();
  533. dsf_makeValue(ds_send, "lrggrupcd", "string", xLrgGrupListPath.getColumn(sSelectedRow, "grupcd"));
  534. var oParam = {};
  535. oParam.id = "TRMNR02003";
  536. oParam.service = "carerecapp.StmtMngt";
  537. oParam.method = "reqGetDetlGrupList";
  538. oParam.inds = "refCond=ds_send";
  539. oParam.outds = "ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist=detlgruplist";
  540. oParam.async = false;
  541. oParam.callback = "cf_TRMNR02003";
  542. tranf_submit(oParam);
  543. if(utlf_isNull(ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.getColumnInfo("fontcolor"))){
  544. ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.addColumn("fontcolor", "string");
  545. }
  546. if(utlf_isNull(ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.getColumnInfo("fontsize"))){
  547. ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.addColumn("fontsize", "string");
  548. }
  549. ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.enableevent = false;
  550. ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.updatecontrol = false;
  551. if(arErrorCode.pop("TRMNR02003") > -1){
  552. sRowCnt = ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.rowcount;
  553. for(var i = 0; i < sRowCnt; i++){
  554. sGrupFlag = xDetlGrupListPath.getColumn(i, "grupflag");
  555. sDepth = xDetlGrupListPath.getColumn(i, "depth");
  556. // grd_detlgruplist.cellStyle("color",i,1,i,1) = "#000000";
  557. // grd_detlgruplist.cellStyle("font-weight",i,1,i,1) = "";
  558. // grd_detlgruplist.IsSubtotal(i) = true;
  559. // grd_detlgruplist.outlinelevel(i) = sDepth;
  560. if((sGrupFlag == 3 || sGrupFlag == 5) && sDepth == 1){
  561. ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.setColumn(i, "fontcolor", "#0000FF");
  562. ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.setColumn(i, "fontsize", "arial,9,bold");
  563. }else{
  564. ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.setColumn(i, "fontcolor", "");
  565. ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.setColumn(i, "fontsize", "");
  566. }
  567. }
  568. ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.updatecontrol = true;
  569. ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.enableevent = true;
  570. //grd_detlgruplist.OutlineCol = 1;
  571. //grd_detlgruplist.OutlineBar = 4;
  572. //grd_detlgruplist.TreeColor = "gray";
  573. xStmtSetListPath.clearData();
  574. var iRow = ds_main_grupstmtsetinfo_lrggrupinfo_lrggruplist.rowposition;
  575. }
  576. }else if(pFlag == "detlgrup"){ // 상세분류
  577. sSelectedRow = ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.rowposition;
  578. if(sSelectedRow < 0) return;
  579. var sDeptCd = xDetlGrupListPath.getColumn(sSelectedRow, "deptcd");
  580. var sDepth = xDetlGrupListPath.getColumn(sSelectedRow, "depth");
  581. var sGrupCd = xDetlGrupListPath.getColumn(sSelectedRow, "grupcd");
  582. sGrupFlag = xDetlGrupListPath.getColumn(sSelectedRow, "grupflag");//20080701김홍점
  583. ds_send.clearData();
  584. // 최하단 그룹에서만 등록이 가능함(부서별 : 3 레벨, 그외의 대분류 : 2레벨)
  585. if((sDepth < 3 && sGrupFlag == "3" )
  586. || (sDepth < 2 && sGrupFlag != "5")
  587. || (sDepth < 2 && sGrupFlag == "5")){
  588. xSetStmtInfoPath.setColumn(0, "mdlgrupnm","");
  589. xSetStmtInfoPath.setColumn(0, "smlgrupnm","");
  590. dsf_makeValue(xSetStmtInfoPath, "smlgrupcd", "string", "");
  591. // 자식 접기 or 펼치기
  592. sDepth = eval(xDetlGrupListPath.getColumn(sSelectedRow, "depth"));
  593. sRowCnt = ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.rowcount;
  594. if(group5.swt_stmtset.GrupStmtSet.grd_detlgruplist.currentcol == 1)
  595. {
  596. if(group5.swt_stmtset.GrupStmtSet.grd_detlgruplist.userdata == 1) {
  597. group5.swt_stmtset.GrupStmtSet.grd_detlgruplist.userdata = 0;
  598. return;
  599. }
  600. var row = group5.swt_stmtset.GrupStmtSet.grd_detlgruplist.getTreeRow(ds_main_grupstmtsetinfo_detlgrupinfo_detlgruplist.rowposition);
  601. if(group5.swt_stmtset.GrupStmtSet.grd_detlgruplist.getTreeStatus(row) == 0)
  602. group5.swt_stmtset.GrupStmtSet.grd_detlgruplist.setTreeStatus(row, true);
  603. else if(group5.swt_stmtset.GrupStmtSet.grd_detlgruplist.getTreeStatus(row) == 1)
  604. group5.swt_stmtset.GrupStmtSet.grd_detlgruplist.setTreeStatus(row, false);
  605. group5.swt_stmtset.GrupStmtSet.grd_detlgruplist.userdata = 0;
  606. }
  607. return;
  608. }
  609. // 중분류 찾아오기
  610. for(var iRow = sSelectedRow - 1; iRow >= 0; iRow--){
  611. if(xDetlGrupListPath.getColumn(iRow, "depth") < sDepth){
  612. xSetStmtInfoPath.setColumn(0, "mdlgrupnm", xDetlGrupListPath.getColumn(iRow, "hngnm"));
  613. break;
  614. }
  615. }
  616. xSetStmtInfoPath.setColumn(0, "smlgrupnm", xDetlGrupListPath.getColumn(sSelectedRow, "hngnm"));
  617. dsf_makeValue(xSetStmtInfoPath, "smlgrupcd", "string", sGrupCd);
  618. dsf_makeValue(ds_send, "grupcd", "string", sGrupCd);
  619. var oParam = {};
  620. oParam.id = "TRMNR02005";
  621. oParam.service = "carerecapp.StmtMngt";
  622. oParam.method = "reqGetStmtSetList";
  623. oParam.inds = "refCond=ds_send";
  624. oParam.outds = "ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist=stmtsetlist";
  625. oParam.async = false;
  626. //oParam.callback = "cf_TRMNR02005";
  627. tranf_submit(oParam);
  628. if(arErrorCode.pop("TRMNR02005") > -1){
  629. fSetupLnkDiag(); // 연결진단 설정
  630. // grd_stmtsetlist.mergecells = "bycol";
  631. // grd_stmtsetlist.mergecol(1) = false;
  632. // grd_stmtsetlist.mergecol(3) = false;
  633. // grd_stmtsetlist.mergecol(4) = false;
  634. if(utlf_isNull(ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.getColumnInfo("col2bkcolor"))){
  635. ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.addColumn("col2bkcolor", "string");
  636. }
  637. if(utlf_isNull(ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.getColumnInfo("col3bkcolor"))){
  638. ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.addColumn("col3bkcolor", "string");
  639. }
  640. fSettingStmtStyle("grupstmtset"); // 진술문 폰트 color 설정
  641. }
  642. }
  643. }
  644. function cf_TRMNR02003(sSvcId, nErrorCode, sErrorMsg) {
  645. arErrorCode.push(sSvcId, nErrorCode);
  646. }
  647. function cf_TRMNR02005(sSvcId, nErrorCode, sErrorMsg) {
  648. arErrorCode.push(sSvcId, nErrorCode);
  649. }
  650. /**
  651. * @group :
  652. * @ver : 2007.03.30
  653. * @by : 이은영
  654. * @---------------------------------------------------
  655. * @type : function
  656. * @access : public
  657. * @desc : 진술문 분류 등록 클릭시
  658. * @param :
  659. * @return :
  660. * @---------------------------------------------------
  661. */
  662. function fSearchGrupInfo(){
  663. xLrgGrupListPath.clearData();
  664. xDetlGrupListPath.clearData();
  665. xStmtSetListPath.clearData();
  666. xSetStmtInfoPath.setColumn(0, "laggrupnm","");
  667. xSetStmtInfoPath.setColumn(0, "mdlgrupnm","");
  668. xSetStmtInfoPath.setColumn(0, "smlgrupnm","");
  669. dsf_makeValue(xSetStmtInfoPath, "smlgrupcd", "string", "");
  670. ds_send.clearData();
  671. dsf_makeValue(ds_send, "supcd", "string", "********");
  672. //submit("TRMNR02003");
  673. var oParam = {};
  674. oParam.id = "TRMNR02003";
  675. oParam.service = "carerecapp.StmtMngt";
  676. oParam.method = "reqGetLrgGrupList";
  677. oParam.inds = "refCond=ds_send";
  678. oParam.outds = "ds_main_grupstmtsetinfo_lrggrupinfo_lrggruplist=lrggruplist";
  679. oParam.async = false;
  680. tranf_submit(oParam);
  681. ds_main_grupstmtsetinfo_lrggrupinfo_lrggruplist.rowposition = -1;
  682. }
  683. /**
  684. * @group :
  685. * @ver : 2007.03.30
  686. * @by : 이은영
  687. * @---------------------------------------------------
  688. * @type : function
  689. * @access : public
  690. * @desc : DNAR 변경
  691. * @param :
  692. * @return :
  693. * @---------------------------------------------------
  694. */
  695. function fChangedDNAR(pDNAR){
  696. var sDNARFlag = "";//pDNAR;
  697. switch(pDNAR){
  698. case "1D" : sDNARFlag = "2D";
  699. break;
  700. case "2N" : sDNARFlag = "1N";
  701. break;
  702. default :
  703. sDNARFlag = pDNAR;
  704. }
  705. return sDNARFlag;
  706. }
  707. /**
  708. * @group :
  709. * @ver : 2007.04.06
  710. * @by : 이은영
  711. * @---------------------------------------------------
  712. * @type : function
  713. * @access : public
  714. * @desc : 연결 진단 설정
  715. * @param :
  716. * @return :
  717. * @---------------------------------------------------
  718. */
  719. function fSetupLnkDiag(){
  720. var sRowCnt = ds_main_grupstmtsetinfo_stmtsetinfo_stmtsetlist.rowcount;
  721. var sNursDiagInfo = null;
  722. var sLnkDiag = "";
  723. // 진단연결 설정
  724. if(utlf_isNull(xStmtSetListPath.getColumnInfo("lnkdiag"))){
  725. xStmtSetListPath.addColumn("lnkdiag", "string");
  726. }
  727. xStmtSetListPath.enableevent = false;
  728. xStmtSetListPath.updatecontrol = false;
  729. for(var iSetRow = 0; iSetRow < sRowCnt; iSetRow++){
  730. // 간호진단을 제외한 진술문의 진단연결 번호를 설정한다.
  731. if(xStmtSetListPath.getColumn(iSetRow, "dnarflag") != "2N"){
  732. sLnkDiag = "";
  733. sNursDiagInfo = utlf_transNullToEmpty(xStmtSetListPath.getColumn(iSetRow, "nursdiaginfo")).split(",");
  734. if(sNursDiagInfo.length > 0){
  735. if(!utlf_isNull(sNursDiagInfo[0])){
  736. sLnkDiag = xStmtSetListPath.lookup("stmtcd", sNursDiagInfo[0], "rownum");
  737. }
  738. for(var i = 1; i < utlf_transNullToEmpty(sNursDiagInfo).length; i++){
  739. if(!utlf_isNull(sNursDiagInfo[i])){
  740. sLnkDiag += ","+ xStmtSetListPath.lookup("stmtcd", sNursDiagInfo[i], "rownum");
  741. }
  742. }
  743. if(!utlf_isNull(sLnkDiag)){
  744. xStmtSetListPath.setColumn(iSetRow, "lnkdiag", sLnkDiag);
  745. }
  746. }
  747. }
  748. }
  749. xStmtSetListPath.updatecontrol = false;
  750. xStmtSetListPath.enableevent = false;
  751. }
  752. /**
  753. * @group :
  754. * @ver : 2007.04.19
  755. * @by : 이은영
  756. * @---------------------------------------------------
  757. * @type : function
  758. * @access : public
  759. * @desc : 진술문 폰트 color 설정 - 속성이 있는 경우 진술문 폰트 색상을 변경한다.
  760. * @param : pFlag ( stmtinfo : 표준간호진술문, grupstmtset : 진�문 분류 등록, stndcarestmtlist : 표준간호과정 SET 등록)
  761. * @return :
  762. * @---------------------------------------------------
  763. */
  764. function fSettingStmtStyle(pFlag){
  765. switch(pFlag){
  766. case "stmtinfo" : //
  767. ds_main_stmtlist_stmtinfo.enableevent = false;
  768. ds_main_stmtlist_stmtinfo.updatecontrol = false;
  769. for(var iRow = 0; iRow < ds_main_stmtlist_stmtinfo.rowcount; iRow++){
  770. if(eval(xStmtListPath.getColumn(iRow, "attrcnt")) > 0){
  771. ds_main_stmtlist_stmtinfo.setColumn(iRow, "col2bkcolor", "#33CC33");//녹색
  772. }else{
  773. ds_main_stmtlist_stmtinfo.setColumn(iRow, "col2bkcolor", "#000000");
  774. }
  775. }
  776. ds_main_stmtlist_stmtinfo.updatecontrol = true;
  777. ds_main_stmtlist_stmtinfo.enableevent = true;
  778. break;
  779. case "grupstmtset":
  780. xStmtSetListPath.enableevent = false;
  781. xStmtSetListPath.updatecontrol = false;
  782. for(var iRow = 0; iRow < xStmtSetListPath.rowcount; iRow++){
  783. if(eval(xStmtSetListPath.getColumn(iRow, "attrcnt")) > 0){
  784. xStmtSetListPath.setColumn(iRow, "col3bkcolor", "#33CC33");//녹색
  785. }else{
  786. xStmtSetListPath.setColumn(iRow, "col3bkcolor", "#000000");
  787. }
  788. }
  789. xStmtSetListPath.updatecontrol = true;
  790. xStmtSetListPath.enableevent = true;
  791. break;
  792. case "stndcarestmtlist" :
  793. xStmtClsListPath.enableevent = false;
  794. xStmtClsListPath.updatecontrol = false;
  795. for(var iRow = 0; iRow < xStmtClsListPath.rowcount; iRow++){
  796. if(eval(xStmtClsListPath.getColumn(iRow, "attrcnt")) > 0){
  797. xStmtClsListPath.setColumn(iRow, "col3bkcolor", "#33CC33");//녹색
  798. }else{
  799. xStmtClsListPath.setColumn(iRow, "col3bkcolor", "#000000");
  800. }
  801. }
  802. xStmtClsListPath.updatecontrol = true;
  803. xStmtClsListPath.enableevent = true;
  804. break;
  805. }
  806. }
  807. /**
  808. * @group :
  809. * @ver : 2010.06.24
  810. * @by : 안도영
  811. * @---------------------------------------------------
  812. * @type : function
  813. * @access : public
  814. * @desc : 중앙/기관별 관리 메뉴그룹 구분을 위한 함수
  815. * @param :
  816. * @return :
  817. * @---------------------------------------------------
  818. */
  819. /* 메뉴그룹코드 가져오기(from 간호하드코딩 테이블) 2010-06-24 안도영 */
  820. function chkInstMG(){
  821. // 초기 설정
  822. xCondPath.setColumn(0, "dnar", "%");
  823. xStmtListPath.clearData();
  824. xStmtClsListPath.clearData();
  825. //grd_lrggruplist.allowSelection = false; // 멀티 선택 여부.
  826. //grd_detlgruplist.allowSelection = false;
  827. fSearchGrupInfo();
  828. var pCode = "'208'"; // 조회할 CdGrupID 코드정보
  829. var pDate = utlf_getCurrentDate(); //조회기준일자
  830. var pTime = utlf_transNullToEmpty(utlf_getCurrentTime()).substr(0,4); //조회기준시간
  831. //var mainPath = "/root/temp/shifttimeinfo/shifttimelist";
  832. var initPath:Dataset;
  833. initPath = ds_codelist;
  834. fGetNursHardCdInfo(pCode, pDate); // 간호공통관리 메뉴그룹코드 조회
  835. var str = utlf_transNullToEmpty(sysf_getGlobalVariable("menugroupcd"));
  836. var currentMG = "";
  837. // 현재의 메뉴그룹코드 추출
  838. for(var i = 0; i < str.length; i++){
  839. if(str.charAt(i) == "|") break;
  840. currentMG = currentMG + str.charAt(i);
  841. }
  842. // 중앙, 기관별 관리자 메뉴그룹 구분
  843. if(initPath.lookupExpr("supcdid == '1' && cdid == '"+currentMG+"'", "cdid")){
  844. MGFlag = "C"; // 중앙
  845. }
  846. else if(initPath.lookupExpr("supcdid == '2' && cdid == '"+currentMG+"'", "cdid")){
  847. MGFlag = "I"; // 기관별
  848. }else{ // 둘다 해당하지 않을시 default로 기관별 사용자 (2010-06-29 서울성모 김숙인샘 요청)
  849. MGFlag = "I";
  850. }
  851. if(MGFlag == "I"){ // default로 보일 탭 설정- 기관별사용자일 경우 버튼 disable
  852. group5.btn_stndcareset.enable = false;
  853. group5.grp_stndcareset.visible = true;
  854. group5.btn_grupstmtset.setSelectStatus(true);
  855. group5.swt_stmtset.tabindex = 1;
  856. }else{
  857. group5.btn_stndcareset.setSelectStatus(true);
  858. }
  859. setBtnAuth();
  860. }
  861. /**
  862. * @group :
  863. * @ver : 2010.06.25
  864. * @by : 안도영
  865. * @---------------------------------------------------
  866. * @type : function
  867. * @access : public
  868. * @desc : 중앙/기관별 관리 메뉴그룹에 따른 버튼 권한 부여
  869. * @param :
  870. * @return :
  871. * @---------------------------------------------------
  872. */
  873. function setBtnAuth(){
  874. if(MGFlag == "I"){
  875. var datapath:Dataset;
  876. datapath = ds_main_grupstmtsetinfo_lrggrupinfo_lrggruplist;
  877. var currentRow = datapath.getColumn(ds_main_grupstmtsetinfo_lrggrupinfo_lrggruplist.rowposition, "grupflag");
  878. if(currentRow == "1" || currentRow == "2"){ // 상황별, 질환별 대분류
  879. group5.swt_stmtset.GrupStmtSet.btn_delgrupstmtset.enable = false;
  880. group5.swt_stmtset.GrupStmtSet.btn_savegrupstmtset.enable = false;
  881. gAuthYN = "N";
  882. }else{
  883. group5.swt_stmtset.GrupStmtSet.btn_delgrupstmtset.enable = true;
  884. group5.swt_stmtset.GrupStmtSet.btn_savegrupstmtset.enable = true;
  885. gAuthYN = "Y";
  886. }
  887. }else{
  888. group5.swt_stmtset.GrupStmtSet.btn_delgrupstmtset.enable = true;
  889. group5.swt_stmtset.GrupStmtSet.btn_savegrupstmtset.enable = true;
  890. gAuthYN = "Y";
  891. }
  892. }
  893. ]]></Script>