SMMMB00600.xjs 29 KB

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