SPMRT01500.xjs 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. /**
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. 진료 - 용어검색( SPMRT01500_용어검색.xfdl - JScript )
  6. - Version :
  7. 1) : Ver.1.00.01
  8. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  9. **/
  10. var xCondPath = "/root/main/cond"; // 조회 조건
  11. var sICD10LIST = "/root/main/icd10info/icd10list";
  12. var sICD10Path = "/root/param/icd10/icd10info";
  13. var sDIAGCDLIST_HIDDEN = "/root/hidden/diaginfo/diagcdlist";
  14. var xMophlgPath = "/root/main/icdo3info/icdo3list"; // Mophology 정보
  15. var xTophlgPath = "/root/main/tophlginfo/tophlglist"; // Tophology 정보
  16. var sTophpPath ="/root/main/topho/tophoinfo";
  17. var sMophoPath ="/root/main/mopho/mophoinfo";
  18. var DiagPath ="/root/main/diagcdinfo/diagcd";
  19. //flag =1 ->진단용어
  20. //flag =2 ->mophology
  21. //flag =3 ->tophology
  22. //flag =4 ->icd10cd
  23. //flag =5 ->opcd
  24. /**
  25. * @group :
  26. * @ver : 2008-02-11 2008-10-10 10:00오후->수정 이창록 (수술용어 추가)
  27. * @by : 이창록
  28. * @---------------------------------------------------
  29. * @type : function
  30. * @access : public
  31. * @desc : 화면 초기화
  32. * @param :
  33. * @return :
  34. * @---------------------------------------------------
  35. */
  36. function fInitialize_SPMRT01500()
  37. {
  38. model.removeNodeset(xMophlgPath);
  39. model.removeNodeset(sICD10LIST);
  40. model.removeNodeset(sICD10Path);
  41. model.removeNodeset(xTophlgPath);
  42. model.removeNodeset(sTophpPath);
  43. model.removeNodeset(sMophoPath);
  44. model.removeNodeset(DiagPath);
  45. model.removeNodeset("/root/param/mopho/mophoinfo");
  46. model.removeNodeset("/root/param/topho/tophoinfo");
  47. model.removeNodeset("/root/param/selectdiaginfo/selectdiaglist");
  48. model.removeNodeset("/root/main/opcdinfo/opcd");
  49. model.removeNodeset("/root/param/selectopinfo/selectoplist");
  50. // 2009-04-29 오후 8:20:58 강지훈 수정 : 중앙에서 조회할경우 진단, 주호소, 수술용어는 전기관의 용어를 보여준다.
  51. // var instcd = getUserInfo("dutplceinstcd");
  52. /* if(instcd == "001"){ //중앙의료원에서 접속할경우
  53. model.setValue("/root/temp/maininstyn", "Y");
  54. }
  55. else{
  56. model.setValue("/root/temp/maininstyn", "N");
  57. } */
  58. if(checkOpener()){
  59. var oneselect = opener.javascript.getParameter("SPMRT01500__DIAGONESELECT");
  60. var search = opener.javascript.getParameter("SPMRT01500_SEARCHDATA");
  61. var flag = opener.javascript.getParameter("SPMRT01500_FLAG");
  62. var stndd = opener.javascript.getParameter("stndd");
  63. model.makeValue("/root/init/oneselect", oneselect);
  64. model.makeValue("/root/hidden/search/flag", flag);
  65. // 2009-08-03 nj 수정 화면에서 para 값을 받아서 처리
  66. var maininstyn = opener.javascript.getParameter("maininstyn");
  67. model.setValue("/root/temp/maininstyn", maininstyn);
  68. if((flag == "") || (search == "")){
  69. switch(flag){
  70. case "1":
  71. fChngDiagScrn("diag");
  72. break;
  73. case "2":
  74. fChngDiagScrn("moph");
  75. break;
  76. case "3":
  77. fChngDiagScrn("topho");
  78. break;
  79. case "4":
  80. fChngDiagScrn("icd10");
  81. case "5":
  82. fChngDiagScrn("op");
  83. break;
  84. default :
  85. }
  86. return;
  87. }
  88. if(flag == "1"){
  89. if (search.length > 0){
  90. model.setValue("/root/main/cond/reqdata", search);
  91. fDiagSearch();
  92. }
  93. fChngDiagScrn("diag");
  94. } else if(flag == "2"){
  95. if (search.length > 0){
  96. model.setValue("/root/main/cond/reqdata", search);
  97. fDiagSearch();
  98. }
  99. fChngDiagScrn("moph");
  100. } else if(flag == "3"){
  101. if (search.length > 0){
  102. model.setValue("/root/main/cond/reqdata", search);
  103. fDiagSearch();
  104. }
  105. fChngDiagScrn("toph");
  106. } else if(flag == "4"){
  107. if (search.length > 0){
  108. model.setValue("/root/main/cond/reqdata", search);
  109. fDiagSearch();
  110. }
  111. fChngDiagScrn("icd10");
  112. } else if(flag == "5"){
  113. if (search.length > 0){
  114. model.setValue("/root/main/cond/reqdata", search);
  115. fDiagSearch();
  116. }
  117. fChngDiagScrn("op");
  118. }
  119. }else{
  120. model.removeNodeset("/root/hidden/search");
  121. model.makeValue("/root/hidden/search/flag","1");
  122. fChngDiagScrn("diag");
  123. }
  124. model.refresh();
  125. }
  126. /**
  127. * @desc : 진단화면 변경
  128. * @ ( icd10 : icd10 )
  129. * @param : scrnflag - 화면구분 ( Tophology : toph )
  130. * ( Mophology : moph )
  131. * @return :
  132. * @author : 이창록
  133. * @---------------------------------------------------
  134. */
  135. function fChngDiagScrn(caseID)
  136. {
  137. if(caseID=="diag") //진단색인코드 조회
  138. {
  139. model.setValue("/root/main/cond/reqdata","");
  140. model.toggle("diag");
  141. model.toggle("diagcd");
  142. model.toggle("selectdiagcd");
  143. model.toggle("case7");
  144. btn_morphology.selected = "false";
  145. btn_diag.selected = "true";
  146. btn_tophology.selected = "false";
  147. btn_icd10.selected = "false";
  148. btn_op.selected = "false";
  149. model.removenode("/root/send/reqdata");
  150. model.makeNode("/root/send/reqdata");
  151. model.makeValue("/root/send/reqdata/indxflag", "0");
  152. model.makeValue("/root/send/reqdata/mode","E");
  153. model.makeValue("/root/send/reqdata/stnddflag","Y");
  154. submit("TRMRT00201");
  155. }else if(caseID=="toph")//Tophology선택
  156. {
  157. model.setValue("/root/main/cond/reqdata","");
  158. model.toggle("toph");
  159. model.toggle("topho");
  160. model.toggle("case2");
  161. btn_morphology.selected = "false";
  162. btn_diag.selected = "false";
  163. btn_tophology.selected = "true";
  164. btn_icd10.selected = "false";
  165. btn_op.selected = "false";
  166. model.removenode("/root/send/reqdata");
  167. model.makeNode("/root/send/reqdata");
  168. model.makeValue("/root/send/reqdata/indxflag", "1");
  169. model.makeValue("/root/send/reqdata/indxnmflag", "E");
  170. submit("TRMRT00503");
  171. }else if(caseID=="moph")//Mophology선택
  172. {
  173. model.setValue("/root/main/cond/reqdata","");
  174. model.toggle("moph");
  175. model.toggle("ICD03");
  176. model.toggle("case3");
  177. btn_morphology.selected = "true";
  178. btn_diag.selected = "false";
  179. btn_tophology.selected = "false";
  180. btn_icd10.selected = "false";
  181. btn_op.selected = "false";
  182. model.removenode("/root/send/reqdata");
  183. model.makeNode("/root/send/reqdata");
  184. model.makeValue("/root/send/reqdata/indxflag", "3");
  185. model.makeValue("/root/send/reqdata/indxnmflag", "E");
  186. submit("TRMRT00503");
  187. }else if(caseID == "icd10") //ICD10선택
  188. {
  189. model.setValue("/root/main/cond/reqdata","");
  190. model.toggle("icd10");
  191. model.toggle("icd");
  192. model.toggle("case1");
  193. btn_morphology.selected = "false";
  194. btn_diag.selected = "false";
  195. btn_tophology.selected = "false";
  196. btn_icd10.selected = "true";
  197. btn_op.selected = "false";
  198. model.removeNodeset("/root/send/reqdata");
  199. model.makeNode("/root/send/reqdata");
  200. model.makeValue("/root/send/reqdata/indxflag", "0");
  201. model.makeValue("/root/send/reqdata/indxnmflag", "E");
  202. submit("TRMRT00503");
  203. } else if(caseID == "op") //수술용어선택
  204. {
  205. model.setValue("/root/main/cond/reqdata","");
  206. model.toggle("op");
  207. model.toggle("opcd");
  208. model.toggle("case4");
  209. btn_morphology.selected = "false";
  210. btn_diag.selected = "false";
  211. btn_tophology.selected = "false";
  212. btn_icd10.selected = "false";
  213. btn_op.selected = "true";
  214. model.removeNodeset("/root/send/reqdata");
  215. model.makeNode("/root/send/reqdata");
  216. model.makeValue("/root/send/reqdata/indxflag", "9");
  217. model.makeValue("/root/send/reqdata/mode", "E");
  218. model.makeValue("/root/send/reqdata/stnddflag","Y");
  219. submit("TRMRT00701");
  220. }
  221. }
  222. /**
  223. * @desc : 트리로 해당진단코드 조회(왼쪽그리드 조회시 오른쪽 그리드 에서 나타나기)
  224. * @
  225. * @param :
  226. * @return :
  227. * @author : 이창록
  228. * @---------------------------------------------------
  229. */
  230. function fSelectDiagInfo(trvObj)
  231. {
  232. var sObjLId = trvObj.attribute("id");
  233. if(sObjLId == "trv_trvdiaglist"){
  234. var indxcd = model.getValue("/root/main/indxlist/item[" + iIndx + "]/indxcd");
  235. var depth = model.getValue("/root/main/indxlist/item[" + iIndx + "]/depth");
  236. var pathcd = model.getValue("/root/main/indxlist/item[" + iIndx + "]/pathcd");
  237. var iIndx = trvObj.value;
  238. model.removeNodeset("/root/send/reqdata");
  239. model.makeNode("/root/send/reqdata");
  240. model.makeValue("/root/send/reqdata/indxcd", iIndx);
  241. var stndd = opener.javascript.getParameter("stndd");
  242. if(stndd!=""){
  243. model.makeValue("/root/send/reqdata/stndd",stndd);
  244. }else{
  245. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  246. }
  247. //2009-04-29 오후 8:20:58 강지훈 수정 : 중앙에서 조회할경우 진단, 수술용어는 전기관의 용어를 보여준다.
  248. model.makeValue("/root/send/reqdata/maininstyn", model.getValue("/root/temp/maininstyn"));
  249. submit("TRMRT00214"); //진단코드 조회
  250. }else if(sObjLId == "trv_trvoplist"){
  251. var indxcd = model.getValue("/root/main/indxlist/item[" + iIndx + "]/indxcd");
  252. var depth = model.getValue("/root/main/indxlist/item[" + iIndx + "]/depth");
  253. var pathcd = model.getValue("/root/main/indxlist/item[" + iIndx + "]/pathcd");
  254. var iIndx = trvObj.value;
  255. model.removeNodeset("/root/send/reqdata");
  256. model.makeNode("/root/send/reqdata");
  257. model.makeValue("/root/send/reqdata/indxcd", iIndx);
  258. var stndd = opener.javascript.getParameter("stndd");
  259. if(stndd!=""){
  260. model.makeValue("/root/send/reqdata/stndd",stndd);
  261. }else{
  262. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  263. }
  264. //2009-04-29 오후 8:20:58 강지훈 수정 : 중앙에서 조회할경우 진단, 수술용어는 전기관의 용어를 보여준다.
  265. model.makeValue("/root/send/reqdata/maininstyn", model.getValue("/root/temp/maininstyn"));
  266. submit("TRMRT01501"); //수술코드 조회
  267. }else if(sObjLId == "trv_icd10indxcdlist"){
  268. var item = trvObj.item(trvObj.selectedIndex);
  269. var indxcd = trvObj.value;
  270. model.removenode("/root/send/reqdata");
  271. model.makeNode("/root/send/reqdata");
  272. model.makeValue("/root/send/reqdata/srchindxcd",indxcd);
  273. // 2009-08-01 아래 내용 수정
  274. //model.makeValue("/root/send/flag", "indx");
  275. model.makeValue("/root/send/reqdata/flag", "indx");
  276. // 2009-08-01 아래 내용 삭제 사용하지 않음
  277. // model.makeValue("/root/send/reqdata/indxflag", "0");
  278. //2009-08-01 nj 아래 내용 용어 검색시 사용하는 flag 값
  279. //model.makeValue("/root/send/reqdata/diagflag", "c");
  280. model.makeValue("/root/send/reqdata/diagflag", "");
  281. //2009-08-01 nj 아래 내용 용어 검색시 사용하는 값
  282. model.makeValue("/root/send/reqdata/srchnm", "");
  283. model.makeValue("/root/send/reqdata/valiyn", "N");
  284. //2009-08-01 nj 추가 기준일자를 넘겨서 기준일자에 맞는 용어만 조회
  285. var stndd = opener.javascript.getParameter("stndd");
  286. if(stndd!=""){
  287. model.makeValue("/root/send/reqdata/stndd",stndd);
  288. }else{
  289. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  290. }
  291. // 2009-08-01 아래 내용 삭제 사용하지 않음
  292. // model.makeValue("/root/send/reqdata/indxnmflag", "E");
  293. //model.makeValue("/root/send/reqdata/stndd", opener.javascript.getParameter("stndd"));
  294. if(submit("TRMRT00505")){
  295. }
  296. }else if(sObjLId == "trv_trvtopholist"){
  297. var item = trvObj.item(trvObj.selectedIndex);
  298. var indxcd = trvObj.value;
  299. model.removenode("/root/send/reqdata");
  300. model.makeNode("/root/send/reqdata");
  301. model.makeValue("/root/send/reqdata/srchindxcd",indxcd);
  302. //2009-08-01 nj 수정
  303. //model.makeValue("/root/send/flag", "indx");
  304. model.makeValue("/root/send/reqdata/flag", "indx");
  305. //2009-08-01 nj 아래 내용 삭제. 사용하지 않음
  306. //model.makeValue("/root/send/reqdata/indxflag", "1");
  307. //2009-08-01 nj 아래 내용 용어 검색시 사용하는 flag 값
  308. //model.makeValue("/root/send/reqdata/diagflag", "c");
  309. model.makeValue("/root/send/reqdata/diagflag", "");
  310. //2009-08-01 nj 아래 내용 용어 검색시 사용하는 값
  311. model.makeValue("/root/send/reqdata/srchnm", "");
  312. //2009-08-01 nj 추가 기준일자를 넘겨서 기준일자에 맞는 용어만 조회
  313. var stndd = opener.javascript.getParameter("stndd");
  314. if(stndd!=""){
  315. model.makeValue("/root/send/reqdata/stndd",stndd);
  316. }else{
  317. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  318. }
  319. // 2009-08-01 아래 내용 삭제 사용하지 않음
  320. //model.makeValue("/root/send/reqdata/indxnmflag", "E");
  321. if(submit("TRMRT00502")){
  322. }
  323. }else if(sObjLId=="trv_trvmopholist"){
  324. var item = trvObj.item(trvObj.selectedIndex);
  325. var indxcd = trvObj.value;
  326. /*if(item.depth == 0){ //상위index만을 클릭한 경우 return한다.
  327. return;
  328. }*/
  329. model.removenode("/root/send/reqdata");
  330. model.makeNode("/root/send/reqdata");
  331. model.makeValue("/root/send/reqdata/srchindxcd",indxcd);
  332. //2009-08-01 nj 수정
  333. //model.makeValue("/root/send/flag", "indx");
  334. model.makeValue("/root/send/reqdata/flag", "indx");
  335. //2009-08-01 nj 아래 내용 삭제. 사용하지 않음
  336. //model.makeValue("/root/send/reqdata/indxflag", "3");
  337. //2009-08-01 nj 아래 내용 용어 검색시 사용하는 flag 값
  338. //model.makeValue("/root/send/reqdata/diagflag", "c");
  339. model.makeValue("/root/send/reqdata/diagflag", "");
  340. //2009-08-01 nj 아래 내용 용어 검색시 사용하는 값
  341. model.makeValue("/root/send/reqdata/srchnm", "");
  342. model.makeValue("/root/send/reqdata/valiyn", "N");
  343. //2009-08-01 nj 추가 기준일자를 넘겨서 기준일자에 맞는 용어만 조회
  344. var stndd = opener.javascript.getParameter("stndd");
  345. if(stndd!=""){
  346. model.makeValue("/root/send/reqdata/stndd",stndd);
  347. }else{
  348. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  349. }
  350. // 2009-08-01 아래 내용 삭제 사용하지 않음
  351. // model.makeValue("/root/send/reqdata/indxnmflag", "E");
  352. if(submit("TRMRT00501")){
  353. }
  354. }
  355. }
  356. /**
  357. * @group :
  358. * @ver :
  359. * @by : 이창록
  360. * @---------------------------------------------------
  361. * @type : function
  362. * @access : public
  363. * @desc : Morphology/Tophology 진단 코드 조회
  364. * @param :
  365. * @return :
  366. * @---------------------------------------------------
  367. */
  368. function fDiagSearch(){
  369. var flag = model.getValue("/root/hidden/search/flag");
  370. if(flag==1){//진단용어
  371. var cond1 = model.getValue("/root/main/cond/srchflag");
  372. var cond5 = model.getValue("/root/main/cond/reqdata");
  373. if(cond5.length < 1){
  374. messageBox("검색어를 ", "C002");
  375. return;
  376. }
  377. model.removenode("/root/send/reqdata");
  378. model.makeNode("/root/send/reqdata");
  379. if(cond1 == "code"){
  380. model.makeValue("/root/send/reqdata/srchflag", "C");
  381. Srchnm = cond5.toUpperCase();
  382. model.makeValue("/root/send/reqdata/srchnm", Srchnm);
  383. }else{
  384. model.makeValue("/root/send/reqdata/srchflag", "");
  385. }
  386. if(cond1 == "word"){
  387. if((cond5 != "") && (fIsHangul(cond5) == "E")){
  388. model.makeValue("/root/send/reqdata/srchflag", "E");
  389. model.makeValue("/root/send/reqdata/srchnm", cond5);
  390. }else if((cond5 != "") && (fIsHangul(cond5) == "H")){
  391. model.makeValue("/root/send/reqdata/srchflag", "H");
  392. model.makeValue("/root/send/reqdata/srchnm", cond5);
  393. }
  394. }
  395. var stndd = opener.javascript.getParameter("stndd");
  396. if(stndd!=""){
  397. model.makeValue("/root/send/reqdata/stndd",stndd);
  398. } else {
  399. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  400. }
  401. //2009-04-29 오후 8:20:58 강지훈 수정 : 중앙에서 조회할경우 진단, 수술용어는 전기관의 용어를 보여준다.
  402. model.makeValue("/root/send/reqdata/maininstyn", model.getValue("/root/temp/maininstyn"));
  403. if(model.getValue("/root/temp/maininstyn") == "Y"){
  404. // 용어 마스터화면에서 대체코드 입력시 전기관의 용어가 조회가 되어야 함
  405. model.makeValue("/root/send/reqdata/selInstcd", "001");
  406. } else {
  407. model.makeValue("/root/send/reqdata/selInstcd", getUserInfo("dutplceinstcd"));
  408. }
  409. submit("TRMRT00204");
  410. }else if(flag ==2)//mophology
  411. {
  412. var cond1 = model.getValue("/root/main/cond/srchflag");
  413. var cond5 = model.getValue("/root/main/cond/reqdata");
  414. var reqflag = model.getValue("/root/main/cond/reqflag");
  415. if(cond5.length < 1){
  416. messageBox("검색어를 ", "C002");
  417. return;
  418. }
  419. model.removenode("/root/send/reqdata");
  420. model.makeNode("/root/send/reqdata");
  421. model.removenode("/root/send/flag");
  422. model.makeValue("/root/send/reqdata/indxflag", "3");
  423. if(cond1 == "code"){//코드로 검색
  424. model.makeValue("/root/send/reqdata/diagflag", "C");
  425. model.makeValue("/root/send/reqdata/srchnm", cond5.toUpperCase());
  426. }else{
  427. model.makeValue("/root/send/reqdata/diagflag", "WORD");
  428. }
  429. if(cond1 == "word"){//단어로 검색
  430. if((cond5 != "") && (fIsHangul(cond5) == "E")){
  431. model.makeValue("/root/send/reqdata/srchnm", cond5);
  432. }else{
  433. model.makeValue("/root/send/reqdata/srchnm", cond5);
  434. }
  435. }
  436. model.makeValue("/root/send/reqdata/flag", "srch");
  437. submit("TRMRT00501");
  438. }else if(flag ==3)//topholigy
  439. {
  440. var cond1 = model.getValue("/root/main/cond/srchflag");
  441. var cond5 = model.getValue("/root/main/cond/reqdata");
  442. var reqflag = model.getValue("/root/main/cond/reqflag");
  443. if(cond5.length < 1){
  444. messageBox("검색어를 ", "C002");
  445. return;
  446. }
  447. model.removenode("/root/send/reqdata");
  448. model.makeNode("/root/send/reqdata");
  449. model.removenode("/root/send/flag");
  450. model.makeValue("/root/send/reqdata/indxflag", "1");
  451. if(cond1 == "code"){//코드로 검색
  452. model.makeValue("/root/send/reqdata/diagflag", "C");
  453. model.makeValue("/root/send/reqdata/srchnm", cond5.toUpperCase());
  454. }else{
  455. model.makeValue("/root/send/reqdata/diagflag", "WORD");
  456. }
  457. if(cond1 == "word"){//단어로 검색
  458. if((cond5 != "") && (fIsHangul(cond5) == "E")){
  459. model.makeValue("/root/send/reqdata/srchnm", cond5);
  460. } else{
  461. model.makeValue("/root/send/reqdata/srchnm", cond5);
  462. }
  463. }
  464. model.makeValue("/root/send/reqdata/flag", "srch");
  465. submit("TRMRT00502");
  466. }else if(flag ==4)//icd10cd
  467. {
  468. var cond1 = model.getValue("/root/main/cond/srchflag");
  469. var cond5 = model.getValue("/root/main/cond/reqdata");
  470. var reqflag = model.getValue("/root/main/cond/reqflag");
  471. if(cond5.length < 1){
  472. messageBox("검색어를 ", "C002");
  473. return;
  474. }
  475. model.removenode("/root/send/reqdata");
  476. model.makeNode("/root/send/reqdata");
  477. model.removenode("/root/send/flag");
  478. model.makeValue("/root/send/reqdata/indxflag", "0");
  479. if(cond1 == "code"){//코드로 검색
  480. model.makeValue("/root/send/reqdata/diagflag", "C");
  481. model.makeValue("/root/send/reqdata/srchnm", cond5.toUpperCase());
  482. }else{
  483. model.makeValue("/root/send/reqdata/diagflag", "WORD");
  484. }
  485. if(cond1 == "word"){//단어로 검색
  486. if((cond5 != "") && (fIsHangul(cond5) == "E")){
  487. model.makeValue("/root/send/reqdata/srchnm", cond5);
  488. } else{
  489. model.makeValue("/root/send/reqdata/srchnm", cond5);
  490. }
  491. }
  492. model.makeValue("/root/send/reqdata/flag", "srch");
  493. submit("TRMRT00505");
  494. }else if(flag ==5)//수술용어
  495. {
  496. var cond1 = model.getValue("/root/main/cond/srchflag");
  497. var cond5 = model.getValue("/root/main/cond/reqdata");
  498. if(cond5.length < 1){
  499. messageBox("검색어를 ", "C002");
  500. return;
  501. }
  502. model.removenode("/root/send/reqdata");
  503. model.makeNode("/root/send/reqdata");
  504. if(cond1 == "code"){
  505. model.makeValue("/root/send/reqdata/srchflag", "C");
  506. Srchnm = cond5.toUpperCase();
  507. model.makeValue("/root/send/reqdata/srchnm", Srchnm);
  508. }else{
  509. model.makeValue("/root/send/reqdata/srchflag", "");
  510. }
  511. if(cond1 == "word"){
  512. if((cond5 != "") && (fIsHangul(cond5) == "E")){
  513. model.makeValue("/root/send/reqdata/srchflag", "E");
  514. model.makeValue("/root/send/reqdata/srchnm", cond5);
  515. }else if((cond5 != "") && (fIsHangul(cond5) == "H")){
  516. model.makeValue("/root/send/reqdata/srchflag", "H");
  517. model.makeValue("/root/send/reqdata/srchnm", cond5);
  518. }
  519. }
  520. var stndd = opener.javascript.getParameter("stndd");
  521. if(stndd!=""){
  522. model.makeValue("/root/send/reqdata/stndd",stndd);
  523. }else{
  524. model.makeValue("/root/send/reqdata/stndd",getCurrentDate());
  525. }
  526. //2009-04-29 오후 8:20:58 강지훈 수정 : 중앙에서 조회할경우 진단, 수술용어는 전기관의 용어를 보여준다.
  527. model.makeValue("/root/send/reqdata/maininstyn", model.getValue("/root/temp/maininstyn"));
  528. if(model.getValue("/root/temp/maininstyn") == "Y"){
  529. // 용어 마스터화면에서 대체코드 입력시 전기관의 용어가 조회가 되어야 함
  530. model.makeValue("/root/send/reqdata/selInstcd", "001");
  531. } else {
  532. model.makeValue("/root/send/reqdata/selInstcd", getUserInfo("dutplceinstcd"));
  533. }
  534. submit("TRMRT00704");
  535. }
  536. }
  537. /**
  538. * @desc : 더블클릭시 그리드로 내리기
  539. * @
  540. * @param :진단코드
  541. * @return :
  542. * @author : 이창록
  543. * @---------------------------------------------------
  544. */
  545. function fAddicd10Hist(srcRow){
  546. var icd10medireccd = model.getValue(sICD10LIST + "[" + srcRow + "]/icd10medireccd");
  547. var icd10engnm = model.getValue(sICD10LIST + "[" + srcRow + "] /icd10engnm");
  548. var icd10hngnm = model.getValue(sICD10LIST + "[" + srcRow + "] /icd10hngnm");
  549. var icd10cd = model.getValue(sICD10LIST + "[" + srcRow + "] /icd10cd");
  550. var icd10drindxcd = model.getValue(sICD10LIST + "[" + srcRow + "]/icd10drindxcd");
  551. var icd10seqno = model.getValue(sICD10LIST + "[" + srcRow + "]/icd10seqno");
  552. var iFndRow1 = grd_icd10info.findRow(icd10cd, 1, 3, "true", "true");//중복한 행선택시
  553. if(iFndRow1 > 0){
  554. messageBox("이미선택하신코드","E008");
  555. return;
  556. }else{
  557. grd_icd10info.addRow(false);
  558. desRow = grd_icd10info.row;
  559. model.setValue(sICD10Path + "[" + desRow + "]/stat" , "I");
  560. model.setValue(sICD10Path + "[" + desRow + "]/icd10cd" , icd10cd);
  561. model.setValue(sICD10Path + "[" + desRow + "]/icd10medireccd", icd10medireccd);
  562. model.setValue(sICD10Path + "[" + desRow + "]/icd10engnm" , icd10engnm);
  563. model.setValue(sICD10Path + "[" + desRow + "]/icd10hngnm" , icd10hngnm);
  564. model.setValue(sICD10Path + "[" + desRow + "]/icd10drindxcd" , icd10drindxcd);
  565. model.setValue(sICD10Path + "[" + desRow + "]/icd10seqno" , icd10seqno);
  566. }
  567. model.refresh();
  568. }
  569. /**
  570. * @desc : 더블클릭시 그리드로 내리기
  571. * @
  572. * @param ://Tophology
  573. * @return :
  574. * @author : 이창록
  575. * @---------------------------------------------------
  576. */
  577. function fAddTophoHist(toRow){
  578. var grde = model.getValue(xTophlgPath + "[" + toRow + "]/grde");
  579. var seqno = model.getValue(xTophlgPath + "[" + toRow + "]/seqno");
  580. var engnm = model.getValue(xTophlgPath + "[" + toRow + "]/engnm");
  581. var hngnm = model.getValue(xTophlgPath + "[" + toRow + "]/hngnm");
  582. var fromdd = model.getValue(xTophlgPath + "[" + toRow + "]/fromdd");
  583. var todd = model.getValue(xTophlgPath + "[" + toRow + "]/todd");
  584. var tophlgcd = model.getValue(xTophlgPath + "[" + toRow + "]/tophlgcd");
  585. var iFndRow1 = grd_tophoinfo.findRow(tophlgcd, 1, 3, "true", "true");//중복한 행선택시
  586. var iFndRow2 = grd_tophoinfo.findRow(seqno, 1, 2, "true", "true");//중복한 행선택시
  587. if((iFndRow1 > 0) && (iFndRow2 > 0)){
  588. messageBox("이미선택하신코드","E008");
  589. return;
  590. } else {
  591. grd_tophoinfo.addRow(false);
  592. desRow = grd_tophoinfo.row;
  593. var sParamTophoPath = "/root/param/topho/tophoinfo" ;
  594. model.setValue(sParamTophoPath + "[" + desRow + "]/stat" , "I");
  595. model.setValue(sParamTophoPath + "[" + desRow + "]/grde" , grde);
  596. model.setValue(sParamTophoPath + "[" + desRow + "]/seqno" , seqno);
  597. model.setValue(sParamTophoPath + "[" + desRow + "]/engnm" , engnm);
  598. model.setValue(sParamTophoPath + "[" + desRow + "]/hngnm" , hngnm);
  599. model.setValue(sParamTophoPath + "[" + desRow + "]/tophlgcd" , tophlgcd);
  600. model.setValue(sParamTophoPath + "[" + desRow + "]/fromdd" , fromdd);
  601. model.setValue(sParamTophoPath + "[" + desRow + "]/todd" , todd);
  602. }
  603. model.refresh();
  604. }
  605. //
  606. /**
  607. * @desc : 더블클릭시 그리드로 내리기
  608. * @
  609. * @param ://mophology
  610. * @return :
  611. * @author : 이창록
  612. * @---------------------------------------------------
  613. */
  614. function fAddMophoHist(mRow){
  615. var grde = model.getValue(xMophlgPath + "[" + mRow + "]/grde");
  616. var seqno = model.getValue(xMophlgPath + "[" + mRow + "]/seqno");
  617. var engnm = model.getValue(xMophlgPath + "[" + mRow + "]/engnm");
  618. var hngnm = model.getValue(xMophlgPath + "[" + mRow + "]/hngnm");
  619. var fromdd = model.getValue(xMophlgPath + "[" + mRow + "]/fromdd");
  620. var todd = model.getValue(xMophlgPath + "[" + mRow + "]/todd");
  621. var histlgccd = model.getValue(xMophlgPath + "[" + mRow + "]/histlgccd");
  622. var indxcd = model.getValue(xMophlgPath + "[" + mRow + "]/indxcd");
  623. var iFndRow1 = grd_mophoinfo.findRow(histlgccd, 1, 3, "true", "true");//중복한 행선택시
  624. var iFndRow2 = grd_mophoinfo.findRow(seqno, 1, 2, "true", "true");//중복한 행선택시
  625. if((iFndRow1 > 0) && (iFndRow2 > 0)){
  626. messageBox("이미선택하신코드","E008");
  627. return;
  628. } else {
  629. grd_mophoinfo.addRow(false);
  630. dRow = grd_mophoinfo.row;
  631. var sMophoPath="/root/param/mopho/mophoinfo";
  632. model.makeValue(sMophoPath + "[" + dRow + "]/stat" , "I");
  633. model.setValue(sMophoPath + "[" + dRow + "]/grde" , grde);
  634. model.setValue(sMophoPath + "[" + dRow + "]/seqno" , seqno);
  635. model.setValue(sMophoPath + "[" + dRow + "]/engnm" , engnm);
  636. model.setValue(sMophoPath + "[" + dRow + "]/hngnm" , hngnm);
  637. model.setValue(sMophoPath + "[" + dRow + "]/fromdd" , fromdd);
  638. model.setValue(sMophoPath + "[" + dRow + "]/todd" , todd);
  639. model.setValue(sMophoPath + "[" + dRow + "]/histlgccd" , histlgccd);
  640. model.setValue(sMophoPath + "[" + dRow + "]/indxcd" , indxcd);
  641. }
  642. model.refresh();
  643. }
  644. /**
  645. * @desc : 더블클릭시 그리드로 내리기
  646. * @
  647. * @param ://icd10
  648. * @return :
  649. * @author : 이창록
  650. * @---------------------------------------------------
  651. */
  652. function fAddDiagHist(dgRow) {
  653. var sDiagCD = model.getValue("/root/main/diagcdinfo/diagcd[" + dgRow + "]/termcd");
  654. var sDispDiagCD= model.getValue("/root/main/diagcdinfo/diagcd[" + dgRow + "]/diagattrcd");
  655. var sLglyisflag = model.getValue("/root/main/diagcdinfo/diagcd[" + dgRow + "]/lglydisflag");
  656. var sDiagEngNM = model.getValue("/root/main/diagcdinfo/diagcd[" + dgRow + "]/termengnm");
  657. var sDiagHngNM = model.getValue("/root/main/diagcdinfo/diagcd[" + dgRow + "]/termhngnm");
  658. var termfromdd = model.getValue("/root/main/diagcdinfo/diagcd[" + dgRow + "]/termfromdd");
  659. var iFndRow = grd_selectdiag.findRow(sDiagCD, 1, 0, "true", "true");//중복한 행선택시
  660. if(iFndRow < 0){
  661. grd_selectdiag.addRow(false);
  662. iCurRow = grd_selectdiag.row;
  663. model.makeValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/stat" , "I");
  664. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/diagcd" , sDiagCD);
  665. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/dispdiagcd", sDispDiagCD);
  666. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/diagengnm" , sDiagEngNM);
  667. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/diaghngnm" , sDiagHngNM);
  668. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/lglydisflag" , sLglyisflag);
  669. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + iCurRow + "]/termfromdd" , termfromdd);
  670. }else if(iFndRow > 0){
  671. messageBox("이미 선택하신 코드","E008");
  672. return;
  673. }
  674. model.refresh();
  675. }
  676. function fAddopHist(opRow){
  677. var sOpCD = model.getValue("/root/main/opcdinfo/opcd[" + opRow + "]/termcd");
  678. var sDispOpCD= model.getValue("/root/main/opcdinfo/opcd[" + opRow + "]/opattrcd");
  679. var sDiagEngNM = model.getValue("/root/main/opcdinfo/opcd[" + opRow + "]/termengnm");
  680. var sDiagHngNM = model.getValue("/root/main/opcdinfo/opcd[" + opRow + "]/termhngnm");
  681. var termfromdd = model.getValue("/root/main/opcdinfo/opcd[" + opRow + "]/termfromdd");
  682. var iFndRow = grd_selectop.findRow(sOpCD, 1, 0, "true", "true");//중복한 행선택시
  683. if(iFndRow < 0){
  684. grd_selectop.addRow(false);
  685. iCurRow = grd_selectop.row;
  686. model.makeValue("/root/param/selectopinfo/selectoplist[" + iCurRow + "]/stat", "I");
  687. model.setValue("/root/param/selectopinfo/selectoplist[" + iCurRow + "]/opcd", sOpCD);
  688. model.setValue("/root/param/selectopinfo/selectoplist[" + iCurRow + "]/dispopcd", sDispOpCD);
  689. model.setValue("/root/param/selectopinfo/selectoplist[" + iCurRow + "]/opengnm", sDiagEngNM);
  690. model.setValue("/root/param/selectopinfo/selectoplist[" + iCurRow + "]/ophngnm", sDiagHngNM);
  691. model.setValue("/root/param/selectopinfo/selectoplist[" + iCurRow + "]/termfromdd", termfromdd);
  692. }else if(iFndRow > 0){
  693. messageBox("이미 선택하신 코드","E008");
  694. return;
  695. }
  696. model.refresh();
  697. }
  698. /**
  699. * @desc : 용어 추가 버튼 클릭시
  700. * :
  701. * @
  702. * @param :
  703. * @return :
  704. * @author : 이창록
  705. * @---------------------------------------------------
  706. */
  707. function fAddBtnTerm(){
  708. var flag = model.getValue("/root/hidden/search/flag");
  709. if(flag==1){
  710. var diagRow = grd_diaglist.selectedRows;
  711. for(var i = 0; i < diagRow; i++){
  712. var dgRow = grd_diaglist.selectedRow(i);
  713. fAddDiagHist(dgRow);
  714. }
  715. }else if(flag==2){
  716. var mrow = grd_icdo3list.selectedRows;
  717. for(var i = 0; i < mrow; i++){
  718. var mRow = grd_icdo3list.selectedRow(i);
  719. fAddMophoHist(mRow);
  720. }
  721. }else if(flag==3){
  722. var torow = grd_tophlglist.selectedRows;
  723. for(var i = 0; i < torow; i++){
  724. var toRow = grd_tophlglist.selectedRow(i);
  725. fAddTophoHist(toRow);
  726. }
  727. }else if(flag==4){
  728. var totrow = grd_icd10list.selectedRows;
  729. for(var i = 0; i < totrow; i++){
  730. var dRow = grd_icd10list.selectedRow(i);
  731. fAddicd10Hist(dRow);
  732. }
  733. }else if(flag==5){
  734. var totrow = grd_oplist.selectedRows;
  735. for(var i = 0; i < totrow; i++){
  736. var opRow = grd_oplist.selectedRow(i);
  737. fAddopHist(opRow);
  738. }
  739. }
  740. }
  741. /**
  742. * @desc : 초기화 버튼 클릭시
  743. * :
  744. * @
  745. * @param :,
  746. * @return :
  747. * @author : 이창록 btn_Cdiag
  748. * @---------------------------------------------------
  749. */
  750. function fCleanTerm(){
  751. var flag = model.getValue("/root/hidden/search/flag");
  752. if(flag==1){
  753. model.removeNodeset(DiagPath);
  754. model.removeNodeset("/root/param/selectdiaginfo/selectdiaglist");
  755. grd_diaglist.rebuild();
  756. grd_selectdiag.rebuild();
  757. }else if(flag==2){
  758. model.removeNodeset(xMophlgPath);
  759. model.removeNodeset("/root/param/mopho/mophoinfo");
  760. grd_icdo3list.rebuild();
  761. grd_mophoinfo.rebuild();
  762. }else if(flag==3){
  763. model.removeNodeset(xTophlgPath);
  764. model.removeNodeset("/root/param/topho/tophoinfo");
  765. grd_tophlglist.rebuild();
  766. grd_tophoinfo.rebuild();
  767. }else if(flag==4){
  768. model.removeNodeset(sICD10LIST);
  769. model.removeNodeset("/root/param/icd10/icd10info");
  770. grd_icd10list.rebuild();
  771. grd_icd10info.rebuild();
  772. }else if(flag==5){
  773. model.removeNodeset("/root/main/opcdinfo/opcd");
  774. model.removeNodeset("/root/param/selectopinfo/selectoplist");
  775. grd_oplist.rebuild();
  776. grd_selectop.rebuild();
  777. }
  778. }
  779. /**
  780. * @desc : 오른쪽마우스클릭시 삭제
  781. * @
  782. * @param :
  783. * @return :
  784. * @author : 이창록
  785. * @---------------------------------------------------
  786. */
  787. function fdelRow_TermList(){
  788. var flag = model.getValue("/root/hidden/search/flag");
  789. if(flag==1){
  790. if(grd_selectdiag.row < 0)
  791. return;
  792. if (grd_selectdiag.selectedRows > 0) {
  793. var selectedRows = Array(grd_selectdiag.selectedRows);
  794. for(i=0;i<grd_selectdiag.selectedRows;i++) {
  795. selectedRows[i] = grd_selectdiag.selectedRow(i);
  796. }
  797. }
  798. var rowIdx;
  799. for ( var i= selectedRows.length ; i >= 0 ; i--){
  800. rowIdx = selectedRows[i];
  801. grd_selectdiag.deleteRow( rowIdx , false);
  802. }
  803. model.refresh();
  804. }else if(flag==2){
  805. if(grd_mophoinfo.row < 0)
  806. return;
  807. if (grd_mophoinfo.selectedRows > 0) {
  808. var selectedRows = Array(grd_mophoinfo.selectedRows);
  809. for(i=0;i<grd_mophoinfo.selectedRows;i++) {
  810. selectedRows[i] = grd_mophoinfo.selectedRow(i);
  811. }
  812. }
  813. var rowIdx;
  814. for ( var i= selectedRows.length ; i >= 0 ; i--){
  815. rowIdx = selectedRows[i];
  816. grd_mophoinfo.deleteRow( rowIdx , false);
  817. }
  818. model.refresh();
  819. }else if(flag==3){
  820. if(grd_tophoinfo.row < 0)
  821. return;
  822. if (grd_tophoinfo.selectedRows > 0) {
  823. var selectedRows = Array(grd_tophoinfo.selectedRows);
  824. for(i=0;i<grd_tophoinfo.selectedRows;i++) {
  825. selectedRows[i] = grd_tophoinfo.selectedRow(i);
  826. }
  827. }
  828. var rowIdx;
  829. for ( var i= selectedRows.length ; i >= 0 ; i--){
  830. rowIdx = selectedRows[i];
  831. grd_tophoinfo.deleteRow( rowIdx , false);
  832. }
  833. model.refresh();
  834. }else if(flag==4){
  835. if(grd_icd10info.row < 0)
  836. return;
  837. if (grd_icd10info.selectedRows > 0) {
  838. var selectedRows = Array(grd_icd10info.selectedRows);
  839. for(i=0;i<grd_tophoinfo.selectedRows;i++) {
  840. selectedRows[i] = grd_icd10info.selectedRow(i);
  841. }
  842. }
  843. var rowIdx;
  844. for ( var i= selectedRows.length ; i >= 0 ; i--){
  845. rowIdx = selectedRows[i];
  846. grd_icd10info.deleteRow( rowIdx , false);
  847. }
  848. model.refresh();
  849. }else if(flag==5) {
  850. if(grd_selectop.row < 0)
  851. return;
  852. if (grd_selectop.selectedRows > 0) {
  853. var selectedRows = Array(grd_selectop.selectedRows);
  854. for(i=0;i<grd_selectop.selectedRows;i++) {
  855. selectedRows[i] = grd_selectop.selectedRow(i);
  856. }
  857. }
  858. var rowIdx;
  859. for ( var i= selectedRows.length ; i >= 0 ; i--){
  860. rowIdx = selectedRows[i];
  861. grd_selectop.deleteRow( rowIdx , false);
  862. }
  863. model.refresh();
  864. }
  865. }
  866. /**
  867. * @group :
  868. * @ver :
  869. * @by : 이창록
  870. * @---------------------------------------------------
  871. * @type : function
  872. * @access : public
  873. * @desc : 더블클릭및 확인버튼클릭시 그리드와 연계(parameter)
  874. * @param :
  875. * @return :
  876. * @---------------------------------------------------
  877. */
  878. function fSendTermCd(){
  879. var flag = model.getValue("/root/hidden/search/flag");
  880. if(flag==1){
  881. if(checkOpener()){//자신을 Open한 opener의 현재 UID가 자신을 open한 시점의 UID와 비교하여 변경되었는지 여부를 반환
  882. var nodepath = opener.javascript.getParameter("SPMRT01500_param_nodepath");//parameter nodepath 설정
  883. if(nodepath == ""){
  884. var selectNode = opener.instance1.selectSingleNode("/root/temp");
  885. if(selectNode == null){
  886. opener.model.makeNode("/root/temp");//선택한 노드가 없을 시 강제 노드생성
  887. }
  888. model.copyNode(opener.root.temp, root.param.selectdiaginfo);
  889. opener.javascript.setParameter("SPMRT01500_FLAG","1");//진단용어
  890. }else{
  891. var selectnode = opener.instance1.selectSingleNode(nodepath);
  892. if(selectnode == null){
  893. opener.model.makeNode(nodepath);
  894. }
  895. opener.model.copyNode(nodepath, root.param.selectdiaginfo);
  896. opener.javascript.setParameter("SPMRT01500_FLAG","1");
  897. }
  898. }else{
  899. messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  900. }
  901. window.close();
  902. }else if(flag==2) { //Mophology
  903. if(checkOpener()){
  904. var nodepath = opener.javascript.getParameter("SPMRT01500_param_nodepath");
  905. if(nodepath == ""){
  906. var selectNode = opener.instance1.selectSingleNode("/root/temp");
  907. if(selectNode == null){
  908. opener.model.makeNode("/root/temp");
  909. }
  910. model.copyNode(opener.root.temp, root.param.mopho);
  911. opener.javascript.setParameter("SPMRT01500_FLAG","2");
  912. }else{
  913. var selectnode = opener.instance1.selectSingleNode(nodepath);
  914. if(selectnode == null){
  915. opener.model.makeNode(nodepath);
  916. }
  917. copyNodeset(nodepath, "/root/param/mopho/mophoinfo", "replace", opener.model, model);
  918. opener.javascript.setParameter("SPMRT01500_FLAG","2");
  919. }
  920. }else{
  921. messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  922. }
  923. window.close();
  924. }else if(flag==3) {
  925. if(checkOpener()){//tophology
  926. var nodepath = opener.javascript.getParameter("SPMRT01500_param_nodepath");
  927. if(nodepath == ""){
  928. var selectNode = opener.instance1.selectSingleNode("/root/temp");
  929. if(selectNode == null){
  930. opener.model.makeNode("/root/temp");
  931. }
  932. model.copyNode(opener.root.temp, root.param.topho);
  933. opener.javascript.setParameter("SPMRT01500_FLAG","3");
  934. }else{
  935. var selectnode = opener.instance1.selectSingleNode(nodepath);
  936. if(selectnode == null){
  937. opener.model.makeNode(nodepath);
  938. }
  939. copyNodeset(nodepath, "/root/param/topho/tophoinfo", "replace", opener.model, model);
  940. //opener.model.copyNode(nodepath, root.param.tophoinfo);
  941. opener.javascript.setParameter("SPMRT01500_FLAG","3");
  942. }
  943. }else{
  944. messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  945. }
  946. window.close();
  947. }else if(flag==4){
  948. if(checkOpener()){//icd10cd
  949. var nodepath = opener.javascript.getParameter("SPMRT01500_param_nodepath");
  950. if(nodepath == ""){
  951. var selectNode = opener.instance1.selectSingleNode("/root/temp");
  952. if(selectNode == null){
  953. opener.model.makeNode("/root/temp");
  954. }
  955. model.copyNode(opener.root.temp, root.param.icd10);
  956. opener.javascript.setParameter("SPMRT01500_FLAG","4");
  957. }else{
  958. var selectnode = opener.instance1.selectSingleNode(nodepath);
  959. if(selectnode == null){
  960. opener.model.makeNode(nodepath);
  961. }
  962. copyNodeset(nodepath, "/root/param/icd10/icd10info", "replace", opener.model, model);
  963. //opener.model.copyNode(nodepath, root.param.icd10);
  964. opener.javascript.setParameter("SPMRT01500_FLAG","4");
  965. }
  966. }else{
  967. messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  968. }
  969. window.close();
  970. }else if(flag==5){
  971. if(checkOpener()){//자신을 Open한 opener의 현재 UID가 자신을 open한 시점의 UID와 비교하여 변경되었는지 여부를 반환
  972. var nodepath = opener.javascript.getParameter("SPMRT01500_param_nodepath");//parameter nodepath 설정
  973. if(nodepath == ""){
  974. var selectNode = opener.instance1.selectSingleNode("/root/temp");
  975. if(selectNode == null){
  976. opener.model.makeNode("/root/temp");//선택한 노드가 없을 시 강제 노드생성
  977. }
  978. model.copyNode(opener.root.temp, root.param.selectopinfo);
  979. opener.javascript.setParameter("SPMRT01500_FLAG","5");//진단용어
  980. }else{
  981. var selectnode = opener.instance1.selectSingleNode(nodepath);
  982. if(selectnode == null){
  983. opener.model.makeNode(nodepath);
  984. }
  985. opener.model.copyNode(nodepath, root.param.selectopinfo);
  986. opener.javascript.setParameter("SPMRT01500_FLAG","5");
  987. }
  988. }else{
  989. messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  990. }
  991. window.close();
  992. }
  993. }
  994. ]]></Script>