SPMRT01700.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543
  1. /**
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 진료 - 암환자용어검색( SPMRT01700_암환자용어검색.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. **/
  8. var xTophoinfoPath = "/root/main/tophlginfo/tophlglist";
  9. var xMophoinfoPath = "/root/main/diagcdinfo/kcd4m";
  10. var xDiaginfoPath = "/root/main/deptdiagcdlist/deptdiagcdinfo";
  11. var xSelectTophoinfoPath = "/root/param/topho/tophoinfo"; //선택 Tophology코드
  12. var xSelectMophoinfoPath = "/root/param/mopho/mophoinfo"; //선택 Mophology 코드
  13. var xSelectDiaginfoPath = "/root/param/selectdiaginfo/selectdiaglist"; //선택 진단코드
  14. /**
  15. * @group :
  16. * @ver : 2008-12-03
  17. * @by : 이창록
  18. * @---------------------------------------------------
  19. * @type : function
  20. * @access : public
  21. * @desc : 화면 초기화
  22. * @param :
  23. * @return :
  24. * @---------------------------------------------------
  25. */
  26. function fInitialize_SPMRT01700()
  27. {
  28. // KNUH_20101207_박성호_start_의무기록 부서코드 가져오기
  29. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/temp/dutplcecd", 5502);
  30. // KNUH_20101207_박성호_end
  31. model.removeNodeset(xDiaginfoPath);
  32. model.removeNodeset(xMophoinfoPath);
  33. model.removeNodeset(xSelectDiaginfoPath);
  34. model.removeNodeset(xSelectMophoinfoPath);
  35. model.removeNodeset(xTophoinfoPath);
  36. model.removeNodeset(xSelectTophoinfoPath);
  37. if(checkOpener()){
  38. var search = opener.javascript.getParameter("SPMRT01700_SEARCHDATA"); // parameter 용어코드
  39. var flag = opener.javascript.getParameter("SPMRT01700_FLAG"); //용어 구분
  40. var stndd = opener.javascript.getParameter("stndd"); //용어 기준일자
  41. model.makeValue("/root/hidden/search/flag", flag);
  42. if(flag == "1"){
  43. if (search.length > 0){
  44. model.setValue("/root/main/cond/tophodata", search);
  45. fDiagSearch();
  46. }
  47. }else if(flag == "2"){
  48. if (search.length > 0){
  49. model.setValue("/root/main/cond/mophodata", search);
  50. fDiagSearch();
  51. }
  52. }else if(flag == "3"){
  53. if (search.length > 0){
  54. model.setValue("/root/main/cond/reqdata", search);
  55. fDiagSearch();
  56. }
  57. }
  58. }else{
  59. model.removeNodeset("/root/hidden/search");
  60. }
  61. //2013/06/19 Start
  62. fGethardcdArrayList(new Array('hardcd5940|5940'), new Array('/root/init'));
  63. //2013/06/19 End
  64. model.refresh();
  65. }
  66. /**
  67. * @group :
  68. * @ver :
  69. * @by : 이창록
  70. * @---------------------------------------------------
  71. * @type : function
  72. * @access : public
  73. * @desc : Tophology/Morphology/icd10 코드 조회
  74. * @param :
  75. * @return :
  76. * @---------------------------------------------------
  77. */
  78. function fDiagSearch(){
  79. var flag = model.getValue("/root/hidden/search/flag");
  80. if(flag==1){
  81. var cond1 = model.getValue("/root/main/cond/tophosrchflag");
  82. var cond5 = model.getValue("/root/main/cond/tophodata");
  83. if(cond5.length < 1){
  84. messageBox("검색어를 ", "C002");
  85. return;
  86. }
  87. model.removenode("/root/send");
  88. model.makeNode("/root/send");
  89. model.makeValue("/root/send/indxflag", "1");
  90. if(cond1 == "code"){//코드로 검색
  91. model.makeValue("/root/send/diagflag", "C");
  92. model.makeValue("/root/send/srchnm", cond5.toUpperCase());
  93. }else{
  94. model.makeValue("/root/send/diagflag", "WORD");
  95. }
  96. if(cond1 == "word"){
  97. if((cond5 != "") && (fIsHangul(cond5) == "E")){
  98. model.makeValue("/root/send/diagflag", "E");
  99. model.makeValue("/root/send/srchnm", cond5);
  100. }else if((cond5 != "") && (fIsHangul(cond5) == "H")){
  101. model.makeValue("/root/send/diagflag", "H");
  102. model.makeValue("/root/send/srchnm", cond5);
  103. }
  104. }
  105. model.makeValue("/root/send/flag", "srch");
  106. var stndd = opener.javascript.getParameter("stndd");
  107. if(stndd!=""){
  108. model.makeValue("/root/send/stndd",stndd);
  109. }
  110. submit("TRMRT00502");
  111. }else if(flag ==2)//mophology
  112. {
  113. var cond1 = model.getValue("/root/main/cond/mophosrchflag");
  114. var cond5 = model.getValue("/root/main/cond/mophodata");
  115. if(cond5.length < 1){
  116. messageBox("검색어를 ", "C002");
  117. return;
  118. }
  119. model.removenode("/root/send");
  120. model.makeNode("/root/send");
  121. if(cond1 == "code"){//코드로 검색
  122. model.makeValue("/root/send/srchflag", "C");
  123. model.makeValue("/root/send/srchnm", cond5.toUpperCase());
  124. }else{
  125. model.makeValue("/root/send/srchflag", "");
  126. }
  127. if(cond1 == "word"){
  128. if((cond5 != "") && (fIsHangul(cond5) == "E")){
  129. model.makeValue("/root/send/srchflag", "E");
  130. model.makeValue("/root/send/srchnm", cond5);
  131. }else if((cond5 != "") && (fIsHangul(cond5) == "H")){
  132. model.makeValue("/root/send/srchflag", "H");
  133. model.makeValue("/root/send/srchnm", cond5);
  134. }
  135. }
  136. var stndd = opener.javascript.getParameter("stndd");
  137. if(stndd!=""){
  138. model.makeValue("/root/send/stndd",stndd);
  139. }
  140. // ICDO3로 변경 2009-05-29
  141. //submit("TRMRT00209");
  142. submit("TRMRT01701");
  143. }else if(flag==3){//진단용어
  144. var cond1 = model.getValue("/root/main/cond/srchflag");
  145. var cond5 = model.getValue("/root/main/cond/reqdata");
  146. if(cond5.length < 1){
  147. messageBox("검색어를 ", "C002");
  148. return;
  149. }
  150. model.removenode("/root/send");
  151. model.makeNode("/root/send");
  152. model.makeValue("/root/send/indxcd", "null");
  153. model.makeValue("/root/send/indxflag", "0");
  154. // KNUH_20101207_박성호_start_의무기록 부서코드 가져오기
  155. var dutplcecd = model.getValue("/root/temp/dutplcecd/hardcd/hardcd");
  156. //model.makeValue("/root/send/deptcd", "3230000000");//의료정보팀 진단용어만
  157. model.makeValue("/root/send/deptcd", dutplcecd);//의료정보팀 진단용어만
  158. // KNUH_20101207_박성호_end
  159. if(cond1 == "code"){
  160. model.makeValue("/root/send/srchflag", "C");
  161. Srchnm = cond5.toUpperCase();
  162. model.makeValue("/root/send/srchnm", Srchnm);
  163. }else{
  164. model.makeValue("/root/send/srchnm", "");
  165. }
  166. if(cond1 == "word"){
  167. if((cond5 != "") && (fIsHangul(cond5) == "E")){
  168. model.makeValue("/root/send/srchflag", "E");
  169. model.makeValue("/root/send/srchnm", cond5);
  170. }else if((cond5 != "") && (fIsHangul(cond5) == "H")){
  171. model.makeValue("/root/send/srchflag", "H");
  172. model.makeValue("/root/send/srchnm", cond5);
  173. }
  174. }
  175. var stndd = opener.javascript.getParameter("stndd");
  176. if(stndd!=""){
  177. model.makeValue("/root/send/stndd",stndd);
  178. }
  179. submit("TRMRT01600");
  180. }
  181. }
  182. /**
  183. * @desc : 더블클릭시 그리드로 내리기
  184. * @
  185. * @param ://diag
  186. * @return :
  187. * @author : 이창록
  188. * @---------------------------------------------------
  189. */
  190. function fAddDiagHist(dgRow)
  191. {
  192. var sDiagCD = model.getValue("/root/main/deptdiagcdlist/deptdiagcdinfo[" + dgRow + "]/termcd");
  193. var sDiagEngNM = model.getValue("/root/main/deptdiagcdlist/deptdiagcdinfo[" + dgRow + "]/termengnm");
  194. var sDiagHngNM = model.getValue("/root/main/deptdiagcdlist/deptdiagcdinfo[" + dgRow + "]/termhngnm");
  195. var iFndRow = grd_selectdiag.findRow(sDiagCD, 1, 0, "true", "true");//중복한 행선택시
  196. var diagflag = model.getValue("/root/temp/diaginfo/diagflag");
  197. if(iFndRow < 0){
  198. if(diagflag=="Y"){
  199. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/diagcd" , sDiagCD);
  200. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/dispdiagcd", sDiagCD);
  201. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/diagengnm" , sDiagEngNM);
  202. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/diaghngnm" , sDiagHngNM);
  203. }else{
  204. grd_selectdiag.addRow(false);
  205. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/diagcd" , sDiagCD);
  206. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/dispdiagcd", sDiagCD);
  207. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/diagengnm" , sDiagEngNM);
  208. model.setValue("/root/param/selectdiaginfo/selectdiaglist[" + grd_selectdiag.row + "]/diaghngnm" , sDiagHngNM);
  209. }
  210. }else if(iFndRow > 0)
  211. {
  212. messageBox("이미 선택하신 코드","E008");
  213. return;
  214. }
  215. model.refresh();
  216. model.removeNodeset("/root/temp/diaginfo/diagflag");
  217. }
  218. /**
  219. * @desc : 더블클릭시 그리드로 내리기
  220. * @
  221. * @param ://mophology
  222. * @return :
  223. * @author : 이창록
  224. * @---------------------------------------------------
  225. */
  226. function fAddMophoHist(mRow){
  227. var kcd4mseqno = model.getValue(xMophoinfoPath + "[" + mRow + "]/kcd4mseqno");
  228. var kcd4mengnm = model.getValue(xMophoinfoPath + "[" + mRow + "]/kcd4mengnm");
  229. var kcd4mhngnm = model.getValue(xMophoinfoPath + "[" + mRow + "]/kcd4mhngnm");
  230. var morphlgccd = model.getValue(xMophoinfoPath + "[" + mRow + "]/morphlgccd");
  231. var iFndRow1 = grd_mophoinfo.findRow(morphlgccd, 1, 0, "true", "true");//중복한 행선택시
  232. var iFndRow2 = grd_mophoinfo.findRow(kcd4mseqno, 1, 4, "true", "true");//중복한 행선택시
  233. var diagflag = model.getValue("/root/temp/diaginfo/diagflag");
  234. if((iFndRow1 > 0) && (iFndRow2 > 0)){
  235. messageBox("이미선택하신코드","E008");
  236. return;
  237. }else{
  238. if(diagflag=="Y"){
  239. model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/diagcd" , morphlgccd);
  240. model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/dispdiagcd" , morphlgccd);
  241. model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/diagengnm" , kcd4mengnm);
  242. model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/diaghngnm" , kcd4mhngnm);
  243. model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/seqno" , kcd4mseqno);
  244. }else{
  245. grd_mophoinfo.addRow(false);
  246. model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/diagcd" , morphlgccd);
  247. model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/dispdiagcd" , morphlgccd);
  248. model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/diagengnm" , kcd4mengnm);
  249. model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/diaghngnm" , kcd4mhngnm);
  250. model.setValue(xSelectMophoinfoPath + "[" + grd_mophoinfo.row + "]/seqno" , kcd4mseqno);
  251. }
  252. }
  253. model.refresh();
  254. model.removeNodeset("/root/temp/diaginfo/diagflag");
  255. }
  256. function fAddTophoHist(toRow)
  257. {
  258. var Seqno = model.getValue(xTophoinfoPath + "[" + toRow + "]/seqno");
  259. var sTophologyCD= model.getValue(xTophoinfoPath + "[" + toRow + "]/tophlgcd");
  260. var sToEngNM = model.getValue(xTophoinfoPath + "[" + toRow + "]/engnm");
  261. var sToHngNM = model.getValue(xTophoinfoPath + "[" + toRow + "]/hngnm");
  262. var iFndRow1 = grd_tophoinfo.findRow(Seqno, 1, 1, "true", "true");//중복한 행선택시
  263. var iFndRow2 = grd_tophoinfo.findRow(sTophologyCD, 1, 2, "true", "true");//중복한 행선택시
  264. var diagflag = model.getValue("/root/temp/diaginfo/diagflag");
  265. if((iFndRow1 > 0)&&(iFndRow2 > 0)){
  266. messageBox("이미 선택하신 코드","E008");
  267. return;
  268. }else{
  269. if(diagflag=="Y"){
  270. model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/seqno" , Seqno);
  271. model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/tophlgcd" , sTophologyCD);
  272. model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/engnm" , sToEngNM);
  273. model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/hngnm" , sToHngNM);
  274. }else{
  275. grd_tophoinfo.addRow(false);
  276. model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/seqno" , Seqno);
  277. model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/tophlgcd" , sTophologyCD);
  278. model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/engnm" , sToEngNM);
  279. model.setValue("/root/param/topho/tophoinfo[" + grd_tophoinfo.row + "]/hngnm" , sToHngNM);
  280. }
  281. }
  282. model.refresh();
  283. model.removeNodeset("/root/temp/diaginfo/diagflag");
  284. }
  285. /**
  286. * @desc : 용어 추가 버튼 클릭시
  287. * :
  288. * @
  289. * @param :
  290. * @return :
  291. * @author : 이창록
  292. * @---------------------------------------------------
  293. */
  294. function fAddBtnTerm(pGrid)
  295. {
  296. var flag = model.getValue("/root/hidden/search/flag");
  297. if(pGrid=="grd_tophlglist")
  298. {
  299. var diagRow = grd_tophlglist.selectedRows;
  300. for(var i = 0; i < diagRow; i++){
  301. var toRow = grd_tophlglist.selectedRow(i);
  302. fAddTophoHist(toRow);
  303. }
  304. }else if(pGrid=="grd_icdo3list")
  305. {
  306. var mrow = grd_icdo3list.selectedRows;
  307. for(var i = 0; i < mrow; i++){
  308. var mRow = grd_icdo3list.selectedRow(i);
  309. fAddMophoHist(mRow);
  310. }
  311. }else if(pGrid=="grd_diaglist"){
  312. var totrow = grd_diaglist.selectedRows;
  313. for(var i = 0; i < totrow; i++){
  314. var dgRow = grd_diaglist.selectedRow(i);
  315. fAddDiagHist(dgRow);
  316. }
  317. }
  318. }
  319. /**
  320. * @desc : 초기화 버튼 클릭시
  321. * :
  322. * @
  323. * @param :,
  324. * @return :
  325. * @author : 이창록 btn_Cdiag
  326. * @---------------------------------------------------
  327. */
  328. function fCleanTerm(flag)
  329. {
  330. if(flag == "T"){
  331. model.removeNodeset(xTophoinfoPath);
  332. model.removeNodeset(xSelectTophoinfoPath);
  333. grd_tophlglist.rebuild();
  334. grd_tophoinfo.rebuild();
  335. }else if(flag == "M"){
  336. model.removeNodeset(xMophoinfoPath);
  337. model.removeNodeset(xSelectMophoinfoPath);
  338. grd_icdo3list.rebuild();
  339. grd_mophoinfo.rebuild();
  340. }else if(flag=="D"){
  341. model.removeNodeset(xDiaginfoPath);
  342. model.removeNodeset(xSelectDiaginfoPath);
  343. grd_diaglist.rebuild();
  344. grd_selectdiag.rebuild();
  345. }
  346. model.refresh();
  347. }
  348. /**
  349. * @desc : 선택 용어 행추가
  350. * @id :
  351. * @event :
  352. * @return : void
  353. * @authur :
  354. */
  355. function fAddRow_Termlist(tGrid)
  356. {
  357. model.makeNode("/root/temp/diaginfo/diagflag");
  358. model.makeValue("/root/temp/diaginfo/diagflag","Y");
  359. if(tGrid=="grd_tophoinfo"){
  360. var toRow = grd_tophoinfo.row - grd_tophoinfo.fixedRows + 1;
  361. if(toRow < 1){
  362. grd_tophoinfo.addRow();
  363. }else if(toRow >= 1){
  364. grd_tophoinfo.insertRow( toRow, "below", true);
  365. }
  366. }else if(tGrid=="grd_mophoinfo"){
  367. var mRow = grd_mophoinfo.row - grd_mophoinfo.fixedRows + 1;
  368. if(mRow < 1){
  369. grd_mophoinfo.addRow();
  370. }else if(mRow >= 1){
  371. grd_mophoinfo.insertRow( mRow, "below", true);
  372. }
  373. }else if(tGrid=="grd_selectdiag"){
  374. var diagRow = grd_selectdiag.row - grd_selectdiag.fixedRows + 1;
  375. if(diagRow < 1){
  376. grd_selectdiag.addRow();
  377. }else if(diagRow >= 1){
  378. grd_selectdiag.insertRow( diagRow, "below", true);
  379. }
  380. }
  381. model.refresh();
  382. }
  383. /**
  384. * @desc : 선택 용어 행삭제
  385. * @id :
  386. * @event : selectedRows->선택한 행의 갯수 반환
  387. * @return : void
  388. * @authur :
  389. */
  390. function fDelRow_Termlist(tGrid)
  391. {
  392. model.removeNodeset("/root/temp/diaginfo/diagflag");
  393. if(tGrid=="grd_tophoinfo") //진단코드 삭제
  394. {
  395. if(grd_tophoinfo.row < 0)
  396. {
  397. messageBox("삭제할 행이 ", "I004")
  398. return;
  399. }
  400. if (grd_tophoinfo.selectedRows > 0) {
  401. var selectedRows = Array(grd_tophoinfo.selectedRows);//선택한 행의 갯수을 배열로 지정
  402. for(i=0;i<grd_tophoinfo.selectedRows;i++) {
  403. selectedRows[i] = grd_tophoinfo.selectedRow(i);
  404. }
  405. }
  406. var rowIdx;
  407. for ( var i= selectedRows.length ; i >= 0 ; i--)
  408. {
  409. rowIdx = selectedRows[i];
  410. grd_tophoinfo.deleteRow( rowIdx , false);
  411. }
  412. }else if(tGrid=="grd_mophoinfo"){
  413. if(grd_mophoinfo.row < 0)
  414. {
  415. messageBox("삭제할 행이 ", "I004")
  416. return;
  417. }
  418. if (grd_mophoinfo.selectedRows > 0) {
  419. var selectedRows = Array(grd_mophoinfo.selectedRows);
  420. for(i=0;i<grd_mophoinfo.selectedRows;i++) {
  421. selectedRows[i] = grd_mophoinfo.selectedRow(i);
  422. }
  423. }
  424. var rowIdx;
  425. for ( var i= selectedRows.length ; i >= 0 ; i--)
  426. {
  427. rowIdx = selectedRows[i];
  428. grd_mophoinfo.deleteRow( rowIdx , false);
  429. }
  430. }else if(tGrid=="grd_selectdiag"){
  431. if(grd_selectdiag.row < 0)
  432. {
  433. messageBox("삭제할 행이 ", "I004")
  434. return;
  435. }
  436. if (grd_selectdiag.selectedRows > 0) {
  437. var selectedRows = Array(grd_selectdiag.selectedRows);
  438. for(i=0;i<grd_selectdiag.selectedRows;i++) {
  439. selectedRows[i] = grd_selectdiag.selectedRow(i);
  440. }
  441. }
  442. var rowIdx;
  443. for ( var i= selectedRows.length ; i >= 0 ; i--)
  444. {
  445. rowIdx = selectedRows[i];
  446. grd_selectdiag.deleteRow( rowIdx , false);
  447. }
  448. }
  449. model.refresh();
  450. }
  451. /**
  452. * @group :
  453. * @ver :
  454. * @by : 이창록
  455. * @---------------------------------------------------
  456. * @type : function
  457. * @access : public
  458. * @desc : 더블클릭및 확인버튼클릭시 그리드와 연계(parameter)
  459. * @param :
  460. * @return :
  461. * @---------------------------------------------------
  462. */
  463. function fSendTermCd()
  464. {
  465. if(checkOpener()){//자신을 Open한 opener의 현재 UID가 자신을 open한 시점의 UID와 비교하여 변경되었는지 여부를 반환
  466. var nodepath = opener.javascript.getParameter("SPMRT01700_param_nodepath");//parameter nodepath 설정
  467. if(nodepath == ""){
  468. var selectNode1 = opener.instance1.selectSingleNode("/root/temp");
  469. if(selectNode1 == null){
  470. opener.model.makeNode("/root/temp");
  471. }
  472. copyNodeset("/root/temp/terminfo/tplinfo" , "/root/param/topho/tophoinfo", "replace", opener.model, model);
  473. copyNodeset("/root/temp/terminfo/icdo3info" , "/root/param/mopho/mophoinfo", "replace", opener.model, model);
  474. copyNodeset("/root/temp/terminfo/icd10info" , "/root/param/selectdiaginfo/selectdiaglist", "replace", opener.model, model);
  475. }else{
  476. var selectnode = opener.instance1.selectSingleNode(nodepath);
  477. if(selectnode == null){
  478. opener.model.makeNode(nodepath);
  479. }
  480. copyNodeset(nodepath, "/root/param/topho/tophoinfo", "replace", opener.model, model);
  481. copyNodeset(nodepath, "/root/param/mopho/mophoinfo", "replace", opener.model, model);
  482. copyNodeset(nodepath, "/root/param/topho/icd10info", "replace", opener.model, model);
  483. }
  484. }else{
  485. messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  486. }
  487. //2013/06/19 Start
  488. ftcodecheck();
  489. //2013/06/19 End
  490. window.close();
  491. }
  492. /**
  493. * @desc : T-CODE체크
  494. */
  495. function ftcodecheck(){
  496. var screenid=opener.window.javascript.getScreenID()
  497. if(screenid!="SMMRD00100"){
  498. return;
  499. }else{
  500. var event_target=opener.window.javascript.event.target;
  501. if(event_target=="ipt_tophcd"){
  502. var tcode=grd_tophoinfo.valuematrix(1, grd_tophoinfo.colref("tophlgcd"));
  503. var tcount = getNodeSetCnt("/root/init/hardcd5940/hardcd");
  504. if(tcode!="" && tcode!=null){
  505. for(var i=0; i<tcount; i++){
  506. var thardcd=model.getValue("/root/init/hardcd5940/hardcd["+i+"]/hardcd");
  507. if(tcode==thardcd){
  508. opener.model.setValue("/root/main/cncrpatrgst/diaginfo/laterality", "99");
  509. opener.combo2.disabled=false;
  510. break;
  511. }else{
  512. opener.model.setValue("/root/main/cncrpatrgst/diaginfo/laterality", "0");
  513. opener.combo2.disabled=true;
  514. continue;
  515. }
  516. }
  517. }
  518. }
  519. }
  520. }