SMMMB00600.xjs 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. /*
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. 약속SET관리 ( SMMMB00600_약속SET관리.xrw - JScript )
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. */
  8. var prevFocusIndex = 0;
  9. /**
  10. * @desc : 약속SET관리
  11. * @
  12. * @param :
  13. * @return :
  14. * @---------------------------------------------------
  15. */
  16. function fInitializeDone_SMMMB00600(){
  17. TabSet.tabPrcp.group1.position.height = 0;
  18. TabSet.tabDiag.group1.position.height = 0;
  19. TabSet.tabOp.group1.position.height = 0;
  20. lf_mmbfGetDeptCodeComboList(ds_init_orddept , "D");
  21. lf_mmbfGetDeptCodeComboList(ds_init_orddept2, "D");
  22. fClkBtnPrcpTab();
  23. }
  24. /**
  25. * @desc : 새폴더 추가
  26. * @
  27. * @param :
  28. * @return :
  29. * @---------------------------------------------------
  30. */
  31. function fAddPrmsDiagSet(){
  32. var currow = ds_prmsprcpsetlist.rowposition;
  33. if(currow < 0){return;}
  34. if (TabSet.tabindex == 0)
  35. {
  36. TabSet.tabPrcp.group1.ipt_setnm.value = "";
  37. }
  38. else if (TabSet.tabindex == 1)
  39. {
  40. TabSet.tabDiag.group1.ipt_setnm.value = "";
  41. }
  42. else if(TabSet.tabindex == 2)
  43. {
  44. TabSet.tabOp.group1.ipt_setnm.value = "";
  45. }
  46. if(fSetPrmsDiagInfo(currow, "i")!=-1){
  47. ds_hidden_prmsprcpsetlist.setColumn(0,"status","i");
  48. fShowWndIptBox();
  49. }
  50. }
  51. /**
  52. * @desc : 폴더 삭제
  53. * @
  54. * @param :
  55. * @return :
  56. * @---------------------------------------------------
  57. */
  58. function fDelPrmsDiagSet(){
  59. var currow = ds_prmsprcpsetlist.rowposition;
  60. if(currow < 0){return;}
  61. var supsetno = ds_prmsprcpsetlist.getColumn(currow, "supsetno");
  62. var setdel = fSetPrmsDiagInfo(currow, "d");
  63. sysf_trace("setdel : " + setdel);
  64. if(setdel != -1){
  65. fSavePrmsDiagSet();
  66. }
  67. iviewer1.fClrGridData();
  68. }
  69. /**
  70. * @desc : 폴더 수정
  71. * @
  72. * @param :
  73. * @return :
  74. * @---------------------------------------------------
  75. */
  76. function fUpdtPrmsDiagSet(){
  77. var currow = ds_prmsprcpsetlist.rowposition;
  78. if(currow < 0){return;}
  79. var foldernm = ds_prmsprcpsetlist.getColumn(currow, "setnm");
  80. if (TabSet.tabindex == 0)
  81. {
  82. TabSet.tabPrcp.group1.ipt_setnm.value = foldernm;
  83. }
  84. else if (TabSet.tabindex == 1)
  85. {
  86. TabSet.tabDiag.group1.ipt_setnm.value = foldernm;
  87. }
  88. else if(TabSet.tabindex == 2)
  89. {
  90. TabSet.tabOp.group1.ipt_setnm.value = foldernm;
  91. }
  92. if(fSetPrmsDiagInfo(currow, "u")!=-1){
  93. fShowWndIptBox();
  94. }
  95. }
  96. /**
  97. * @desc : 약속진단 SET저장
  98. * @
  99. * @param :
  100. * @return :
  101. * @---------------------------------------------------
  102. */
  103. function fSavePrmsDiagSet(obj:Edit){
  104. if(!utlf_isNull(obj))
  105. {
  106. var setnm = obj.text;
  107. ds_hidden_prmsprcpsetlist.setColumn(0,"setnm",setnm);
  108. }
  109. dsf_copyDs(ds_savedata,ds_hidden_prmsprcpsetlist,"replace");
  110. var oParam = {};
  111. oParam.id = "TXMMB00601";
  112. oParam.service = "prcpbaseapp.PrmsPrcpMngt";
  113. oParam.method = "reqExeSavePrmsPrcpSet";
  114. oParam.inds = "req=ds_savedata";
  115. oParam.outds = "ds_prmsprcpsetlist=prmsprcpsetlist";
  116. oParam.async = false;
  117. tranf_submit(oParam);
  118. }
  119. /**
  120. * @desc : 약속진단관리 폴더명을 입력할 InputBox를 보여줌.
  121. * @
  122. * @param :
  123. * @return :
  124. * @---------------------------------------------------
  125. */
  126. function fShowWndIptBox(){
  127. var ypos = 0;
  128. sysf_trace(system.cursory);
  129. if(system.cursory >= 600){
  130. ypos = 600;
  131. }else{
  132. ypos = system.cursory;
  133. }
  134. if (TabSet.tabindex == 0)
  135. {
  136. TabSet.tabPrcp.group1.position.top = ypos;
  137. TabSet.tabPrcp.group1.position.height = 55;
  138. TabSet.tabPrcp.group1.ipt_setnm.setFocus();
  139. }
  140. else if (TabSet.tabindex == 1)
  141. {
  142. TabSet.tabDiag.group1.position.top = ypos;
  143. TabSet.tabDiag.group1.position.height = 55;
  144. TabSet.tabDiag.group1.ipt_setnm.setFocus();
  145. }
  146. else if (TabSet.tabindex == 2)
  147. {
  148. TabSet.tabOp.group1.position.top = ypos;
  149. TabSet.tabOp.group1.position.height = 55;
  150. TabSet.tabOp.group1.ipt_setnm.setFocus();
  151. }
  152. }
  153. /**
  154. * @desc : 약속진단 SET정보 SETTING
  155. * @
  156. * @param :
  157. * @return :
  158. * @---------------------------------------------------
  159. */
  160. function fSetPrmsDiagInfo(rowpos, status){
  161. var setno = ds_prmsprcpsetlist.getColumn(rowpos,"setno");
  162. var settypecd = ds_prmsprcpsetlist.getColumn(rowpos,"settypecd");
  163. if(status == "u" && setno == 1){
  164. sysf_messageBox("선택한 폴더는 수정", "E001");
  165. return -1;
  166. }else if(status == "d" && setno == 1){
  167. sysf_messageBox("선택한 폴더는 삭제", "E001");
  168. return -1;
  169. }else if(settypecd == "E"){
  170. sysf_messageBox("선택한 폴더는 사용", "E001");
  171. return -1;
  172. }
  173. var setnm = ds_prmsprcpsetlist.getColumn(rowpos,"setnm");
  174. if(status == "d"){
  175. var rtnval = sysf_messageBox("[" + setnm + "]하위의 모든 폴더가 지워집니다. " + "[" + setnm + "]폴더를", "Q001");
  176. if(rtnval == 7){
  177. return -1;
  178. }
  179. }
  180. var levl = ds_prmsprcpsetlist.getColumn(rowpos,"levl");
  181. var supsetno = ds_prmsprcpsetlist.getColumn(rowpos,"supsetno");
  182. var setkindcd = ds_prmsprcpsetlist.getColumn(rowpos,"setkindcd");
  183. var setclscd = ds_prmsprcpsetlist.getColumn(rowpos,"setclscd");
  184. var settrgtcd = ds_prmsprcpsetlist.getColumn(rowpos,"settrgtcd");
  185. var ioflag = ds_cond.getColumn(0,"ioflag");
  186. if(settypecd == "P"){
  187. ioflag = ds_cond.getColumn(0,"ioflag");
  188. }else{
  189. ioflag = "N";
  190. }
  191. ds_hidden_prmsprcpsetlist.setColumn(0,"levl" , levl);
  192. ds_hidden_prmsprcpsetlist.setColumn(0,"setno" , setno);
  193. ds_hidden_prmsprcpsetlist.setColumn(0,"setkindcd" , setkindcd);
  194. ds_hidden_prmsprcpsetlist.setColumn(0,"setclscd" , setclscd);
  195. ds_hidden_prmsprcpsetlist.setColumn(0,"settrgtcd" , settrgtcd);
  196. ds_hidden_prmsprcpsetlist.setColumn(0,"settypecd" , settypecd);
  197. ds_hidden_prmsprcpsetlist.setColumn(0,"status" , status);
  198. ds_hidden_prmsprcpsetlist.setColumn(0,"setnm" , setnm);
  199. ds_hidden_prmsprcpsetlist.setColumn(0,"ioflag" , ioflag);
  200. if(status == "i"){
  201. ds_hidden_prmsprcpsetlist.setColumn(0,"supsetno" , setno);
  202. }else{
  203. ds_hidden_prmsprcpsetlist.setColumn(0,"supsetno" , supsetno);
  204. }
  205. return 0;
  206. }
  207. /**
  208. * @desc : 약속SET상세 조회
  209. * @
  210. * @param :
  211. * @return :
  212. * @---------------------------------------------------
  213. */
  214. function fReqPrmsDetlSet(obj:Grid){
  215. var indx = obj.currentrow;
  216. if(indx < 0 ){return;}
  217. var rowpos = ds_prmsprcpsetlist.rowposition;
  218. var levl = ds_prmsprcpsetlist.getColumn(rowpos,"levl");
  219. var setno = ds_prmsprcpsetlist.getColumn(rowpos,"setno");
  220. var settypecd = ds_prmsprcpsetlist.getColumn(rowpos,"settypecd");
  221. var setnm = ds_prmsprcpsetlist.getColumn(rowpos,"setnm");
  222. iviewer1.ds_prmsprcpsetdetlset.setColumn(0,"setno" , setno);
  223. iviewer1.ds_prmsprcpsetdetlset.setColumn(0,"settypecd", settypecd);
  224. iviewer1.ds_prmsprcpsetdetlset.setColumn(0,"setnm" , setnm);
  225. iviewer1.fReqGetPrmsSet();
  226. // obj.setTreeStatus(indx,true);
  227. }
  228. /**
  229. * @desc : 폴더명 검색할 경우 검색한 위치로 focus를 이동한다.
  230. * @
  231. * @param :
  232. * @return : void
  233. * @authur : 오지훈 2007. 4. 24
  234. * @---------------------------------------------------
  235. */
  236. function fSrchFolderNM(){
  237. var foldernm = ds_cond.getColumn(0,"foldernm");
  238. if(foldernm == ""){
  239. sysf_messageBox("검색어를", "C001");
  240. return;
  241. }
  242. for(var i=0; i < ds_prmsprcpsetlist.rowcount; i++){
  243. var setnm = ds_prmsprcpsetlist.getColumn(i,"setnm");
  244. if(setnm == foldernm){
  245. break;
  246. }
  247. }
  248. ds_prmsprcpsetlist.rowposition = i;
  249. }
  250. /**
  251. * @desc : 약속처방 SET의 처방 복사
  252. * @
  253. * @param :
  254. * @return : void
  255. * @authur : 오지훈 2007. 4. 24
  256. * @---------------------------------------------------
  257. */
  258. function fPasteCD() {
  259. if(TabSet.tabindex == 0){
  260. iviewer1.fPasteRow();
  261. }else if(TabSet.tabindex == 1 ){
  262. iviewer1.fPasteDiagCD();
  263. }else if(TabSet.tabindex == 2){
  264. iviewer1.fPasteOpCD();
  265. }
  266. }
  267. /**
  268. * @desc : 마우스 버튼 클릭 유효성 검사
  269. * : 조건1 - 콤보박스 전체 선택인 경우 불가
  270. * @
  271. * @param :
  272. * @return : true / false
  273. * @authur : 오지훈 2007. 4. 24
  274. * @---------------------------------------------------
  275. */
  276. function fChkValidMouseBtn(){
  277. var prmsflag = model.getValue("/root/main/cond/prmsflag");
  278. if(prmsflag == "T")
  279. return false;
  280. else
  281. return true;
  282. }
  283. /**
  284. * @desc : 약속SET 처방/진단/수술/프로토콜 조회
  285. * @
  286. * @param : setkindcd - SET종류코드(개인P/부서D)
  287. * : setclscd - SET분류코드(의사D)
  288. * : settypecd - SET분류코드(처방P/진단D/수술O/프로토콜C)
  289. * : procflag - 처리구분(부서SET:D)
  290. * : deptcd - 부서코드
  291. * : deptnm - 부서명
  292. * : ioflag - 외래/입원구분
  293. * @return :
  294. * @authur : 오지훈 2007. 6. 27
  295. * @---------------------------------------------------
  296. */
  297. function fReqSetTreeView(setkindcd, setclscd, settypecd, procflag, deptcd, deptnm){
  298. ds_reqdata.clear();
  299. dsf_makeValue(ds_reqdata,"setkindcd","string",setkindcd); //개인, 부서
  300. dsf_makeValue(ds_reqdata,"setclscd","string",setclscd); //의사
  301. dsf_makeValue(ds_reqdata,"settypecd","string",settypecd); //처방, 진단, 수술
  302. dsf_makeValue(ds_reqdata,"procflag","string",procflag); //처리구분(부서SET 조회시 설정)
  303. dsf_makeValue(ds_reqdata,"deptcd","string",deptcd); //부서코드(부서SET 조회시 설정)
  304. dsf_makeValue(ds_reqdata,"deptnm","string",deptnm); //부서명 (부서SET 조회시 설정)
  305. if(settypecd == "P"){ //처방인 경우, "O"로 처리
  306. var ioflag = ds_cond.getColumn(0,"ioflag");
  307. }else{
  308. var ioflag = "N";
  309. }
  310. dsf_makeValue(ds_reqdata,"ioflag","string",ioflag); //외래입원구분
  311. var oParam = {};
  312. oParam.id = "TRMMB00601";
  313. oParam.service = "prcpbaseapp.PrmsPrcpMngt";
  314. oParam.method = "reqGetPrmsPrcpSetList";
  315. oParam.inds = "req=ds_reqdata";
  316. oParam.outds = "ds_prmsprcpsetlist=prmsprcpsetlist";
  317. oParam.async = false;
  318. oParam.callback = "cf_TRMMB00601";
  319. tranf_submit(oParam);
  320. }
  321. function cf_TRMMB00601(sSvcId, nErrorCode, sErrorMsg) {
  322. if(nErrorCode < 0) return;
  323. }
  324. /**
  325. * @desc : 약속SET 처방/진단/수술 부서 조회
  326. * : 처방/진단/수술 약속SET을 등록한 부서를 조회한다.
  327. *
  328. * @param : setkindcd - SET종류코드(개인P/부서D)
  329. * : setclscd - SET분류코드(의사D)
  330. * : settypecd - SET분류코드(처방P/진단D/수술O/프로토콜C)
  331. *
  332. * @return :
  333. * @authur : 오지훈 2007. 6. 27
  334. * @---------------------------------------------------
  335. */
  336. function fReqPrmsSetDept(setkindcd, setclscd, settypecd){
  337. model.removeNodeset("/root/send/reqdata");
  338. model.makeValue("/root/send/reqdata/setkindcd", setkindcd); //개인, 부서
  339. model.makeValue("/root/send/reqdata/setclscd" , setclscd ); //의사
  340. model.makeValue("/root/send/reqdata/settypecd", settypecd); //처방, 진단, 수술, 프로토콜
  341. if(submit("TRMMB00604")){
  342. }
  343. }
  344. /**
  345. * @desc : 타과 부서 약속SET 조회(타과Combo 선택 Event)
  346. * @
  347. * @param :
  348. * @return :
  349. * @authur : 오지훈 2007. 6. 27
  350. * @---------------------------------------------------
  351. */
  352. function fSelectDeptCmb(){
  353. var diagflag = btn_diag.selected;
  354. if(diagflag == false){ //진단tab이 아닌 경우 타과 부서의 약속SET 조회
  355. var deptcd = model.getValue("/root/main/cond/deptsetcd");
  356. var settypecd = model.getValue("/root/main/cond/settypecd");
  357. fReqSetTreeView("D", "D", settypecd, "D", deptcd, cmb_deptset.label);
  358. }else if(diagflag == true){ //진단tab인 경우 타과의 과색인 조회
  359. model.removeNodeset("/root/send/reqdata");
  360. model.makeValue("/root/send/reqdata/deptindxflag", "0");
  361. model.makeValue("/root/send/reqdata/deptcd", cmb_deptset.value);
  362. model.makeValue("/root/send/reqdata/deptnm", cmb_deptset.label);
  363. if(submit("TRMMO03111")){
  364. }
  365. }
  366. }
  367. /**
  368. * @desc : 약속SET 과색인 조회
  369. * @
  370. * @param :
  371. * @return :
  372. * @authur : 오지훈 2007. 6. 27
  373. * @---------------------------------------------------
  374. */
  375. function fReqPrmsDeptIndxList(){
  376. var prmsflag = ds_cond.getColumn(0,"prmsflag");
  377. if(prmsflag == "D"){ //약속SET 과색인 조회인 경우, 부서코드는 로그인 사용자 부서
  378. var deptcd = sysf_getUserInfo("dutplcecd");
  379. }else{ //약속SET 타과색인 조회인 경우, 부서코드는 combo에 선택된 부서
  380. var deptcd = ds_cond.getColumn(0,"deptsetcd");
  381. }
  382. if(TabSet.tabindex == 1 ){ //진단
  383. var deptindxflag = 0;
  384. }else if(TabSet.tabindex == 2){ //수술
  385. var deptindxflag = 9;
  386. }
  387. iviewer1.ds_reqdata.clear();
  388. dsf_makeValue(iviewer1.ds_reqdata,"deptindxflag","string",deptindxflag);
  389. dsf_makeValue(iviewer1.ds_reqdata,"deptindxcd","string",ds_deptindxcdlist.getColumn(ds_deptindxcdlist.rowposition,"deptindxcd"));
  390. dsf_makeValue(iviewer1.ds_reqdata,"deptcd","string",deptcd);
  391. iviewer1.fReqPrmsDeptIndxList();
  392. }
  393. /**
  394. * @desc : 폴더 복사
  395. * @
  396. * @param :
  397. * @return :
  398. * @authur : 오지훈 2007. 10. 13
  399. * @---------------------------------------------------
  400. */
  401. function fFolderCopy(){
  402. var currow = ds_prmsprcpsetlist.rowposition;
  403. var levl = ds_prmsprcpsetlist.getColumn(currow,"levl");
  404. var setno = ds_prmsprcpsetlist.getColumn(currow,"setno");
  405. var settypecd = ds_prmsprcpsetlist.getColumn(currow,"settypecd");
  406. var setkindcd = ds_prmsprcpsetlist.getColumn(currow,"setkindcd");
  407. var settrgtcd = ds_prmsprcpsetlist.getColumn(currow,"settrgtcd");
  408. var setclscd = ds_prmsprcpsetlist.getColumn(currow,"setclscd");
  409. var setnm = ds_prmsprcpsetlist.getColumn(currow,"setnm");
  410. if(setno == 1){
  411. sysf_messageBox("즐겨찾기 폴더는 복사", "E001");
  412. return;
  413. }
  414. ds_copy.setColumn(0,"setno" , setno);
  415. ds_copy.setColumn(0,"settypecd", settypecd);
  416. ds_copy.setColumn(0,"setkindcd", setkindcd);
  417. ds_copy.setColumn(0,"setclscd" , setclscd);
  418. ds_copy.setColumn(0,"settrgtcd", settrgtcd);
  419. ds_copy.setColumn(0,"setnm" , setnm);
  420. }
  421. /**
  422. * @desc : 폴더 붙여넣기
  423. * @
  424. * @param :
  425. * @return :
  426. * @authur : 오지훈 2007. 10. 13
  427. * @---------------------------------------------------
  428. */
  429. function fFolderPaste(){
  430. var setno = ds_copy.getColumn(0,"setno");
  431. if(setno == ""){ //복사할 내용이 없는 경우
  432. return;
  433. }
  434. var currow = ds_prmsprcpsetlist.rowposition;
  435. var supsetno = ds_prmsprcpsetlist.getColumn(currow,"setno");
  436. var settypecd = ds_prmsprcpsetlist.getColumn(currow,"settypecd");
  437. var setkindcd = ds_prmsprcpsetlist.getColumn(currow,"setkindcd");
  438. var settrgtcd = ds_prmsprcpsetlist.getColumn(currow,"settrgtcd");
  439. var setclscd = ds_prmsprcpsetlist.getColumn(currow,"setclscd");
  440. var ioflag = ds_prmsprcpsetlist.getColumn(currow,"ioflag");
  441. ds_copy.setColumn(0,"supsetno" , supsetno);
  442. ds_copy.setColumn(0,"ioflag" , ioflag);
  443. ds_copy.setColumn(0,"trgtsettypecd", settypecd);
  444. ds_copy.setColumn(0,"trgtsetkindcd", setkindcd);
  445. ds_copy.setColumn(0,"trgtsettrgtcd", settrgtcd);
  446. ds_copy.setColumn(0,"trgtsetclscd" , setclscd);
  447. //trgtioflag는 저장 후, 재 조회시 화면의 외래/입원구분에 따라 조회하기 위해 설정
  448. ds_copy.setColumn(0,"trgtioflag" , ds_cond.getColumn(0,"ioflag"));
  449. dsf_copyDs(ds_savedata, ds_copy, "replace");
  450. var oParam = {};
  451. oParam.id = "TXMMB00607";
  452. oParam.service = "prcpbaseapp.PrmsPrcpMngt";
  453. oParam.method = "reqInsPrcpSetCopyPaste";
  454. oParam.inds = "req=ds_savedata";
  455. oParam.outds = "ds_prmsprcpsetlist=prmsprcpsetlist";
  456. oParam.async = false;
  457. oParam.callback = "cf_TXMMB00607";
  458. tranf_submit(oParam);
  459. }
  460. function cf_TXMMB00607(sSvcId, nErrorCode, sErrorMsg) {
  461. if(nErrorCode < 0) return;
  462. if (TabSet.tabindex == 0)
  463. {
  464. var indx = TabSet.tabPrcp.trv_prmsprcpsetlist.currentrow;
  465. TabSet.tabPrcp.trv_prmsprcpsetlist.setTreeStatus(indx,true);
  466. }
  467. else if (TabSet.tabindex == 1)
  468. {
  469. var indx = TabSet.tabDiag.trv_prmsprcpsetlist.currentrow;
  470. TabSet.tabDiag.trv_prmsprcpsetlist.setTreeStatus(indx,true);
  471. }
  472. else if (TabSet.tabindex == 2)
  473. {
  474. var indx = TabSet.tabOp.trv_prmsprcpsetlist.currentrow;
  475. TabSet.tabOp.trv_prmsprcpsetlist.setTreeStatus(indx,true);
  476. }
  477. }
  478. /**
  479. * @desc : 과색인 트리조회
  480. * @
  481. * @param : deptcd - 부서코드
  482. * : deptnm - 부서명
  483. * : deptindxflag - 부서indx구분
  484. * @return :
  485. * @authur : 오지훈 2007. 10. 21
  486. * @---------------------------------------------------
  487. */
  488. function fReqTreeViewDeptDiagIndx(deptcd, deptnm, deptindxflag){
  489. TabSet.tabDiag.trv_prmsprcpsetlist.visible = false;
  490. TabSet.tabDiag.trv_deptindxcdlist.visible = true;
  491. if(deptindxflag == 0){ //진단
  492. iviewer1.btn_srch.enable = false;
  493. iviewer1.btn_save.enable = false;
  494. iviewer1.btn_del.enable = false;
  495. }else if(deptindxflag == 9){ //수술
  496. iviewer1.btn_rgst.enable = false;
  497. iviewer1.btn_delopterm.enable = false;
  498. iviewer1.btn_saveprmsop.enable = false;
  499. iviewer1.btn_addop.enable = false;
  500. iviewer1.btn_delopprms.enable = false;
  501. iviewer1.btn_save.enable = false;
  502. iviewer1.btn_allchoi.enable = false;
  503. }
  504. ds_reqdata.clear();
  505. dsf_makeValue(ds_reqdata,"deptindxflag","string",deptindxflag);
  506. dsf_makeValue(ds_reqdata,"deptcd","string",deptcd);
  507. dsf_makeValue(ds_reqdata,"deptnm","string",deptnm);
  508. var oParam = {};
  509. oParam.id = "TRMMO03111";
  510. oParam.service = "prcpmngtapp.PatDiagMngt";
  511. oParam.method = "reqGetDeptIndxList";
  512. oParam.inds = "req=ds_reqdata";
  513. oParam.outds = "ds_deptindxcdlist=deptindxcdlist";
  514. oParam.async = false;
  515. oParam.callback = "cf_TRMMO03111";
  516. tranf_submit(oParam);
  517. }
  518. function cf_TRMMO03111(sSvcId, nErrorCode, sErrorMsg) {
  519. if(nErrorCode < 0) return;
  520. }
  521. /**
  522. * @desc : 처방탭 버튼 클릭
  523. * @
  524. * @param :
  525. * @return :
  526. * @authur : 오지훈 2007. 10. 21
  527. * @---------------------------------------------------
  528. */
  529. function fClkBtnPrcpTab(){
  530. this.TabSet.tabPrcp.trv_prmsprcpsetlist.visible = true;
  531. this.TabSet.tabPrcp.trv_deptindxcdlist.visible = false;
  532. this.TabSet.tabPrcp.Div01.cmb_deptset.enable= false;
  533. ds_cond.setColumn(0,"prmsflag", "P");
  534. ds_cond.setColumn(0,"ioflag", "O");
  535. this.TabSet.tabPrcp.Div01.rdoInOut.index = 0;
  536. this.TabSet.tabPrcp.Div01.rdoSetflag.index = 0;
  537. this.TabSet.tabPrcp.Div01.cmb_deptset.index = -1;
  538. ds_cond.setColumn(0,"deptsetcd", "");
  539. ds_copy.clearData();
  540. ds_copy.addRow();
  541. iviewer1.url ="SMMMB00200_약속처방SET관리.xfdl"
  542. fReqSetTreeView("P", "D", "P", "", "", "", "O");
  543. grdf_expandDepth(this.TabSet.tabPrcp.trv_prmsprcpsetlist,1 );
  544. //ds_prmsprcpsetlist.rowposition = 0;
  545. }
  546. /**
  547. * @desc : 진단탭 버튼 클릭
  548. * @
  549. * @param :
  550. * @return :
  551. * @authur : 오지훈 2007. 10. 21
  552. * @---------------------------------------------------
  553. */
  554. function fClkBtnDiagTab(){
  555. this.TabSet.tabDiag.trv_prmsprcpsetlist.visible = true;
  556. this.TabSet.tabDiag.trv_deptindxcdlist.visible = false;
  557. this.TabSet.tabDiag.Div01.cmb_deptset.enable= true;
  558. ds_cond.setColumn(0,"prmsflag", "P");
  559. ds_cond.setColumn(0,"ioflag", "");
  560. this.TabSet.tabPrcp.Div01.rdoInOut.index = 0;
  561. this.TabSet.tabPrcp.Div01.cmb_deptset.index = -1;
  562. ds_cond.setColumn(0,"deptsetcd", "");
  563. ds_copy.clearData();
  564. ds_copy.addRow();
  565. fReqSetTreeView("P", "D", "D");
  566. grdf_expandDepth(this.TabSet.tabDiag.trv_prmsprcpsetlist,1 );
  567. iviewer1.url ="SMMMB00800_약속진단관리.xfdl";
  568. }
  569. /**
  570. * @desc : 수술탭 버튼 클릭
  571. * @
  572. * @param :
  573. * @return :
  574. * @authur : 오지훈 2007. 10. 21
  575. * @---------------------------------------------------
  576. */
  577. function fClkBtnOpTab(){
  578. this.TabSet.tabOp.trv_prmsprcpsetlist.visible = true;
  579. this.TabSet.tabOp.trv_deptindxcdlist.visible = false;
  580. this.TabSet.tabOp.Div01.cmb_deptset.enable= false;
  581. ds_cond.setColumn(0,"prmsflag", "P");
  582. ds_cond.setColumn(0,"ioflag", "");
  583. ds_cond.setColumn(0,"deptsetcd", "");
  584. this.TabSet.tabPrcp.Div01.rdoInOut.index = 0;
  585. this.TabSet.tabPrcp.Div01.cmb_deptset.index = -1;
  586. ds_copy.clearData();
  587. ds_copy.addRow();
  588. fReqSetTreeView("P", "D", "O");
  589. grdf_expandDepth(this.TabSet.tabOp.trv_prmsprcpsetlist,1 );
  590. iviewer1.url="SMMMB00700_약속수술관리.xfdl";
  591. }
  592. /**
  593. * @desc : 약속SET폴더 순서 변경
  594. * @
  595. * @param :
  596. * @return :
  597. * @authur : 오지훈 2007. 10. 21
  598. * @---------------------------------------------------
  599. */
  600. function fOpenPrmsSetFolderOrderChng(){
  601. var rowpos = ds_prmsprcpsetlist.rowposition;
  602. var setkindcd = ds_prmsprcpsetlist.getColumn(rowpos, "setkindcd");
  603. var setclscd = ds_prmsprcpsetlist.getColumn(rowpos, "setclscd");
  604. var settypecd = ds_prmsprcpsetlist.getColumn(rowpos, "settypecd");
  605. var procflag = "";
  606. var deptcd = sysf_getUserInfo("dutplcecd");
  607. var deptnm = sysf_getUserInfo("dutplcenm");
  608. var ioflag = ds_cond.getColumn(0,"ioflag");
  609. var prmsflag = ds_cond.getColumn(0,"prmsflag");
  610. if(settypecd == "D" && prmsflag != "P"){
  611. sysf_messageBox("과진단은 폴서 순서를 변경", "E001");
  612. return;
  613. }
  614. if(prmsflag != "P"){
  615. procflag = "D";
  616. }
  617. var param = setkindcd + "▦" +
  618. setclscd + "▦" +
  619. settypecd + "▦" +
  620. procflag + "▦" +
  621. deptcd + "▦" +
  622. deptnm + "▦" +
  623. ioflag + "▦" +
  624. rowpos;
  625. sysf_trace("param : " + param);
  626. frmf_setParameter("SPMMB00800_param", param);
  627. frmf_modal("SPMMB00800", "SPMMB00800", "", "", "", "", "", "", "", "", "", "", "M")
  628. var rtnindx = frmf_getParameter("SPMMB00800_rtnparam");
  629. fReqSetTreeView(setkindcd, setclscd, settypecd, procflag, deptcd, deptnm);
  630. if(rtnindx != ""){
  631. ds_prmsprcpsetlist.rowposition = rtnindx;
  632. if (TabSet.tabindex == 0)
  633. {
  634. TabSet.tabPrcp.trv_prmsprcpsetlist.setTreeStatus(rowpos,true);
  635. }
  636. else if (TabSet.tabindex == 1)
  637. {
  638. TabSet.tabDiag.trv_prmsprcpsetlist.setTreeStatus(rowpos,true);
  639. }
  640. else if (TabSet.tabindex == 2)
  641. {
  642. TabSet.tabOp.trv_prmsprcpsetlist.setTreeStatus(rowpos,true);
  643. }
  644. }
  645. }
  646. /**
  647. * @desc : 엑셀저장
  648. * @
  649. * @param : sechflag S:싱글(처방리스트에서 호출) T:트리하위까지(트리에서 호출)
  650. * @return :
  651. * @author : 엄영만 (2012.01.30)
  652. * @---------------------------------------------------
  653. */
  654. function fsaveToExcelSingle(){
  655. var rowpos = ds_prmsprcpsetlist.rowposition;
  656. var setno = ds_prmsprcpsetlist.getColumn(rowpos,"setno");
  657. if(setno == "1") {
  658. return;
  659. } else {
  660. iviewer1.fsaveToExcel("S", "", ""); // S:싱글(처방리스트에서 호출) T:트리하위까지(트리에서 호출) P:개인 약속셋 전체 D:부서약속셋 전체
  661. }
  662. }
  663. /**
  664. * @desc : 엑셀저장
  665. * @
  666. * @param : sechflag S:싱글(처방리스트에서 호출) T:트리하위까지(트리에서 호출)
  667. * @return :
  668. * @author : 엄영만 (2012.01.30)
  669. * @---------------------------------------------------
  670. */
  671. function fsaveToExcelTree(){
  672. var rowpos = ds_prmsprcpsetlist.rowposition;
  673. var setno = ds_prmsprcpsetlist.getColumn(rowpos,"setno");
  674. if(setno != "1") {
  675. iviewer1.fsaveToExcel("T", "", ""); // S:싱글(처방리스트에서 호출) T:트리하위까지(트리에서 호출) P:개인 약속셋 전체 D:부서약속셋 전체
  676. } else {
  677. var prmsflag = ds_cond.getColumn(0,"prmsflag");
  678. var ioflag = ds_cond.getColumn(0,"ioflag");
  679. if(TabSet.tabindex == 0){ //약속처방
  680. if(prmsflag == "T"){ //약속처방 타과인 경우
  681. iviewer1.fsaveToExcel("D", TabSet.tabPrcp.Div01.cmb_deptset.value, ioflag); // S:싱글(처방리스트에서 호출) T:트리하위까지(트리에서 호출) P:개인 약속셋 전체 D:부서약속셋 전체
  682. }else if(prmsflag == "D"){ //약속처방 과인 경우
  683. iviewer1.fsaveToExcel("D", sysf_getUserInfo("dutplcecd"), ioflag); // S:싱글(처방리스트에서 호출) T:트리하위까지(트리에서 호출) P:개인 약속셋 전체 D:부서약속셋 전체
  684. }else{ //약속처방 개인인 경우
  685. iviewer1.fsaveToExcel("P", sysf_getUserInfo("userid"), ioflag); // S:싱글(처방리스트에서 호출) T:트리하위까지(트리에서 호출) P:개인 약속셋 전체 D:부서약속셋 전체
  686. }
  687. }
  688. }
  689. }
  690. function fReqPrmsSet_op(){
  691. var prmsflag = ds_cond.getColumn(0,"prmsflag");
  692. var ioflag = ds_cond.getColumn(0,"ioflag");
  693. if(prmsflag == "T"){ //타과 약속수술 조회
  694. TabSet.tabOp.trv_prmsprcpsetlist.visible = false;
  695. TabSet.tabOp.trv_deptindxcdlist.visible = true;
  696. lf_mmbfGetDeptCodeComboList(ds_init_orddept, "D");
  697. TabSet.tabOp.Div01.cmb_deptset.enable = true;
  698. fReqTreeViewDeptDiagIndx(TabSet.tabOp.Div01.cmb_deptset.value, TabSet.tabOp.Div01.cmb_deptset.text, 9);
  699. grdf_expandDepth(this.TabSet.tabOp.trv_deptindxcdlist,1 );
  700. iviewer1.btn_delopprms.enable = true;
  701. iviewer1.btn_save.enable = true;
  702. iviewer1.btn_addop.enable = true;
  703. iviewer1.btn_allchoi.enable = true;
  704. }else if(prmsflag == "D"){ //과 약속수술 조회
  705. TabSet.tabOp.trv_prmsprcpsetlist.visible = false;
  706. TabSet.tabOp.trv_deptindxcdlist.visible = true;
  707. TabSet.tabOp.Div01.cmb_deptset.enable = false;
  708. ds_cond.setColumn(0,"deptsetcd", "");
  709. fReqTreeViewDeptDiagIndx(sysf_getUserInfo("dutplcecd"), sysf_getUserInfo("dutplcenm"), 9);
  710. grdf_expandDepth(this.TabSet.tabOp.trv_deptindxcdlist,1 );
  711. iviewer1.btn_delopprms.enable = true;
  712. iviewer1.btn_save.enable = true;
  713. iviewer1.btn_addop.enable = true;
  714. iviewer1.btn_allchoi.enable = true;
  715. }else{ //개인 약속수술조회
  716. TabSet.tabOp.trv_prmsprcpsetlist.visible = true;
  717. TabSet.tabOp.trv_deptindxcdlist.visible = false;
  718. TabSet.tabOp.Div01.cmb_deptset.enable = false;
  719. ds_cond.setColumn(0,"deptsetcd", "");
  720. fReqSetTreeView("P", "D", "O");
  721. grdf_expandDepth(this.TabSet.tabOp.trv_prmsprcpsetlist,1 );
  722. iviewer1.btn_rgst.enable = true;
  723. iviewer1.btn_delopterm.enable = true;
  724. iviewer1.btn_saveprmsop.enable = true;
  725. iviewer1.btn_addop.enable = true;
  726. iviewer1.btn_delopprms.enable = true;
  727. iviewer1.btn_save.enable = true;
  728. iviewer1.btn_allchoi.enable = true;
  729. }
  730. iviewer1.ds_etcprmsprcpsetdetllist.clearData();
  731. iviewer1.ds_mechlist.clearData();
  732. iviewer1.ds_opprcplist.clearData();
  733. }
  734. function fReqPrmsSet_diag(){
  735. var prmsflag = TabSet.tabDiag.Div01.rdoSetflag.value;
  736. var ioflag = ds_cond.getColumn(0,"ioflag");
  737. if(prmsflag == "T"){ //타과약속 진단색인 조회
  738. TabSet.tabDiag.trv_prmsprcpsetlist.visible = false;
  739. TabSet.tabDiag.trv_deptindxcdlist.visible = true;
  740. TabSet.tabDiag.Div01.cmb_deptset.enable = true;
  741. lf_mmbfGetDeptCodeComboList(ds_init_orddept, "D");
  742. if(TabSet.tabDiag.Div01.cmb_deptset.text == ""){ //부서가 선택되지 않은 경우, combo의 첫번째 부서 선택
  743. TabSet.tabDiag.Div01.cmb_deptset.index = 0;
  744. }
  745. fReqTreeViewDeptDiagIndx(TabSet.tabDiag.Div01.cmb_deptset.value, TabSet.tabDiag.Div01.cmb_deptset.text, 0);
  746. grdf_expandDepth(this.TabSet.tabDiag.trv_deptindxcdlist,1 );
  747. }else if(prmsflag == "D"){ //과약속 진단색인 조회
  748. TabSet.tabDiag.trv_prmsprcpsetlist.visible = false;
  749. TabSet.tabDiag.trv_deptindxcdlist.visible = true;
  750. TabSet.tabDiag.Div01.cmb_deptset.enable = false;
  751. ds_cond.setColumn(0,"deptsetcd", "");
  752. fReqTreeViewDeptDiagIndx(sysf_getUserInfo("dutplcecd"), sysf_getUserInfo("dutplcenm"), 0);
  753. grdf_expandDepth(this.TabSet.tabDiag.trv_deptindxcdlist,1 );
  754. }else{ //개인약속 진단 조회
  755. TabSet.tabDiag.trv_prmsprcpsetlist.visible = true;
  756. TabSet.tabDiag.trv_deptindxcdlist.visible =false;
  757. TabSet.tabDiag.Div01.cmb_deptset.enable = false;
  758. ds_cond.setColumn(0,"deptsetcd", "");
  759. fReqSetTreeView("P", "D", "D");
  760. iviewer1.btn_srch.enable = true;
  761. iviewer1.btn_save.enable = true;
  762. iviewer1.btn_del.enable = true;
  763. grdf_expandDepth(this.TabSet.tabDiag.trv_prmsprcpsetlist,1 );
  764. }
  765. iviewer1.ds_etcprmsprcpsetdetllist.clearData();
  766. }
  767. function fReqPrmsSet_prcp(){
  768. var prmsflag = ds_cond.getColumn(0,"prmsflag");
  769. var ioflag = ds_cond.getColumn(0,"ioflag");
  770. TabSet.tabPrcp.trv_prmsprcpsetlist.visible = true;
  771. TabSet.tabPrcp.trv_deptindxcdlist.visible = false;
  772. TabSet.tabPrcp.Div01.cmb_deptset.enable = false;
  773. if(prmsflag == "T"){ //약속처방 타과인 경우
  774. TabSet.tabPrcp.Div01.cmb_deptset.enable = true;
  775. fReqSetTreeView("D", "D", "P", "D", TabSet.tabPrcp.Div01.cmb_deptset.value, TabSet.tabPrcp.Div01.cmb_deptset.text, ioflag);
  776. iviewer1.Button00.enable = false;
  777. iviewer1.btn_del.enable = false;
  778. iviewer1.btn_save.enable = false;
  779. }else if(prmsflag == "D"){ //약속처방 과인 경우
  780. ds_cond.setColumn(0,"deptsetcd", "");
  781. fReqSetTreeView("D", "D", "P", "D", sysf_getUserInfo("dutplcecd"), sysf_getUserInfo("dutplcenm"), ioflag);
  782. iviewer1.Button00.enable = true;
  783. iviewer1.btn_del.enable = true;
  784. iviewer1.btn_save.enable = true;
  785. }else{ //약속처방 개인인 경우
  786. fReqSetTreeView("P", "D", "P", "", "", "", ioflag);
  787. iviewer1.Button00.enable = true;
  788. iviewer1.btn_del.enable = true;
  789. iviewer1.btn_save.enable = true;
  790. }
  791. grdf_expandDepth(this.TabSet.tabPrcp.trv_prmsprcpsetlist,1 );
  792. }
  793. ]]></Script>