SPMRT01600.xjs 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/**
  3. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  4. 진료 - 진단및수술처치검사용어검색( SPMRT01600_진단및수술처치검사용어검색.xrw - JScript )
  5. - Version :
  6. 1) : Ver.1.00.01
  7. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  8. **/
  9. var xDiaginfoPath = ds_main_deptdiagcdlist_deptdiagcdinfo;
  10. var xMophoinfoPath = ds_main_diagcdinfo_kcd4m;
  11. var xSelectDiaginfoPath = ds_param_selectdiaginfo_selectdiaglist; //선택 진단코드
  12. var xSelectMophoinfoPath = "/root/param/mopho/mophoinfo";//선택 Mophology 코드
  13. var xOpcdinfoPath = ds_main_deptopcdlist_deptopcdinfo;
  14. var xSelectOpcdinfoPath = ds_param_selectopinfo_selectoplist; //선택 수술코드
  15. /**
  16. * @group :
  17. * @ver : 2008-11-22
  18. * @by : 이창록
  19. * @---------------------------------------------------
  20. * @type : function
  21. * @access : public
  22. * @desc : 화면 초기화
  23. * @param :
  24. * @return :
  25. * @---------------------------------------------------
  26. */
  27. function fInitialize_SPMRT01600()
  28. {
  29. // KNUH_20101207_박성호_start_의무기록 부서코드 가져오기
  30. lf_getHardCDList("N", 5502, null, ds_temp_dutplcecd_hardcd);
  31. // KNUH_20101207_박성호_end
  32. ds_main_deptdiagcdlist_deptdiagcdinfo.clearData();
  33. ds_main_diagcdinfo_kcd4m.clearData();
  34. ds_param_selectdiaginfo_selectdiaglist.clearData();
  35. //model.removeNodeset(xSelectMophoinfoPath);
  36. ds_main_deptopcdlist_deptopcdinfo.clearData();
  37. ds_param_selectopinfo_selectoplist.clearData();
  38. if(frmf_checkOpener()){
  39. var search = utlf_transNullToEmpty(opener.frmf_getParameter("SPMRT01600_SEARCHDATA")); // parameter 용어코드
  40. var flag = opener.frmf_getParameter("SPMRT01600_FLAG"); //용어 구분
  41. var stndd = opener.frmf_getParameter("stndd"); //용어 기준일자
  42. ds_hidden_search.setColumn(0, "flag", flag);
  43. if(flag == "1"){
  44. if (search.length > 0){
  45. switch1.tabindex = 0;
  46. ds_main_cond.setColumn(0, "reqdata", search);
  47. fDiagSearch();
  48. }
  49. }else if(flag == "2"){
  50. if (search.length > 0){
  51. switch1.tabindex = 1;
  52. ds_main_cond.setColumn(0, "reqdata", search);
  53. fDiagSearch();
  54. }
  55. }else if(flag == "5"){
  56. if (search.length > 0){
  57. ds_main_cond.setColumn(0, "opreqdata", search);
  58. fDiagSearch();
  59. }
  60. }
  61. }else{
  62. ds_hidden_search.clearData();
  63. ds_hidden_search.addRow();
  64. }
  65. }
  66. /**
  67. * @group :
  68. * @ver :
  69. * @by : 이창록
  70. * @---------------------------------------------------
  71. * @type : function
  72. * @access : public
  73. * @desc : 진단/Morphology 코드 조회
  74. * @param :
  75. * @return :
  76. * @---------------------------------------------------
  77. */
  78. function fDiagSearch(){
  79. var flag = ds_hidden_search.getColumn(0, "flag");
  80. if(flag==1){//진단용어
  81. var cond1 = ds_main_cond.getColumn(0, "srchflag");
  82. var cond5 = utlf_transNullToEmpty(ds_main_cond.getColumn(0, "reqdata"));
  83. if(cond5.length < 1){
  84. sysf_messageBox("검색어를 ", "C002");
  85. return;
  86. }
  87. ds_send.clearData();
  88. ds_send.addRow();
  89. ds_send.setColumn(0, "indxcd", "null");
  90. ds_send.setColumn(0, "indxflag", "0");
  91. // KNUH_20101207_박성호_start_의무기록 부서코드 가져오기
  92. var dutplcecd = ds_temp_dutplcecd_hardcd.getColumn(0, "hardcd");
  93. //model.makeValue("/root/send/deptcd", "3230000000");//의료정보팀 진단용어만
  94. ds_send.setColumn(0, "deptcd", dutplcecd);//의료정보팀 진단용어만
  95. // KNUH_20101207_박성호_end
  96. ds_send.setColumn(0, "deptflag", "Y");
  97. if(cond1 == "code"){
  98. ds_send.setColumn(0, "srchflag", "C");
  99. Srchnm = cond5.toUpperCase();
  100. ds_send.setColumn(0, "srchnm", Srchnm);
  101. }else{
  102. ds_send.setColumn(0, "srchnm", "");
  103. }
  104. if(cond1 == "word"){
  105. if(!utlf_isNull(cond5) && (utlf_isHangul(cond5) == "E")){
  106. ds_send.setColumn(0, "srchflag", "E");
  107. ds_send.setColumn(0, "srchnm", cond5);
  108. }else if(!utlf_isNull(cond5) && (utlf_isHangul(cond5) == "H")){
  109. ds_send.setColumn(0, "srchflag", "H");
  110. ds_send.setColumn(0, "srchnm", cond5);
  111. }
  112. }
  113. var stndd = opener.frmf_getParameter("stndd");
  114. if(!utlf_isNull(stndd)){
  115. ds_send.setColumn(0, "stndd",stndd);
  116. }
  117. dsf_setDefaultVal(ds_send, "deptcd:3230000000");
  118. var oParam = {};
  119. oParam.id = "TRMRT01600";
  120. oParam.service = "termmngtapp.DeptSetMngt";
  121. oParam.method = "reqGetTermSearch";
  122. oParam.inds = "reqCond=ds_send";
  123. oParam.outds = "ds_main_deptdiagcdlist_deptdiagcdinfo=deptcdinfo";
  124. oParam.async = false;
  125. //oParam.callback = "cf_TRMRT01600";
  126. tranf_submit(oParam);
  127. }else if(flag ==2)//mophology
  128. {
  129. var cond1 = ds_main_cond.getColumn(0, "srchflag");
  130. var cond5 = utlf_transNullToEmpty(ds_main_cond.getColumn(0, "reqdata"));
  131. var reqflag = ds_main_cond.getColumn(0, "reqflag");
  132. if(cond5.length < 1){
  133. sysf_messageBox("검색어를 ", "C002");
  134. return;
  135. }
  136. ds_send.clearData();
  137. ds_send.addRow();
  138. //model.removenode("/root/send/flag");
  139. if(cond1 == "code"){//코드로 검색
  140. ds_send.setColumn(0, "srchflag", "C");
  141. ds_send.setColumn(0, "srchnm", cond5.toUpperCase());
  142. }else{
  143. ds_send.setColumn(0, "srchflag", "");
  144. }
  145. if(cond1 == "word"){
  146. if(!utlf_isNull(cond5) && (utlf_isHangul(cond5) == "E")){
  147. ds_send.setColumn(0, "srchflag", "E");
  148. ds_send.setColumn(0, "srchnm", cond5);
  149. }else if(!utlf_isNull(cond5) && (utlf_isHangul(cond5) == "H")){
  150. ds_send.setColumn(0, "srchflag", "H");
  151. ds_send.setColumn(0, "srchnm", cond5);
  152. }
  153. }
  154. var stndd = opener.frmf_getParameter("stndd");
  155. if(!utlf_isNull(stndd)){
  156. ds_send.setColumn(0, "stndd",stndd);
  157. }
  158. var oParam = {};
  159. oParam.id = "TRMRT00209";
  160. oParam.service = "termmngtapp.DiagTermMngt";
  161. oParam.method = "reqGetSrchKCD4MCd";
  162. oParam.inds = "req=ds_send";
  163. oParam.outds = "ds_main_diagcdinfo_icd10cd=icd10cd ds_main_diagcdinfo_diagcd=diagcd ds_main_diagcdinfo_kcd4m=kcd4m";
  164. oParam.async = false;
  165. //oParam.callback = "cf_TRMRT00209";
  166. tranf_submit(oParam);
  167. }else if(flag ==5){ //수술용어
  168. var cond1 = ds_main_cond.getColumn(0, "opsrchflag");
  169. var cond5 = utlf_transNullToEmpty(ds_main_cond.getColumn(0, "opreqdata"));
  170. if(cond5.length < 1){
  171. sysf_messageBox("검색어를 ", "C002");
  172. return;
  173. }
  174. ds_send.clearData();
  175. ds_send.addRow();
  176. ds_send.setColumn(0, "indxcd", "null");
  177. ds_send.setColumn(0, "indxflag", "9");
  178. // KNUH_20101207_박성호_start_의무기록 부서코드 가져오기
  179. var dutplcecd = ds_temp_dutplcecd_hardcd.getColumn(0, "hardcd");
  180. //model.makeValue("/root/send/deptcd", "3230000000");//의료정보팀 진단용어만
  181. ds_send.setColumn(0, "deptcd", dutplcecd);//의료정보팀 진단용어만
  182. // KNUH_20101207_박성호_end
  183. if(cond1 == "code"){
  184. ds_send.setColumn(0, "srchflag", "C");
  185. Srchnm = cond5.toUpperCase();
  186. ds_send.setColumn(0, "srchnm", Srchnm);
  187. }else{
  188. ds_send.setColumn(0, "srchflag", "");
  189. }
  190. if(cond1 == "word"){
  191. if(!utlf_isNull(cond5) && (utlf_isHangul(cond5) == "E")){
  192. ds_send.setColumn(0, "srchflag", "E");
  193. ds_send.setColumn(0, "srchnm", cond5);
  194. }else if(!utlf_isNull(cond5) && (utlf_isHangul(cond5) == "H")){
  195. ds_send.setColumn(0, "srchflag", "H");
  196. ds_send.setColumn(0, "srchnm", cond5);
  197. }
  198. }
  199. var stndd = opener.frmf_getParameter("stndd");
  200. if(!utlf_isNull(stndd)){
  201. ds_send.setColumn(0, "stndd",stndd);
  202. }
  203. var oParam = {};
  204. oParam.id = "TRMRT01601";
  205. oParam.service = "termmngtapp.DeptSetMngt";
  206. oParam.method = "reqGetTermSearch";
  207. oParam.inds = "reqCond=ds_send";
  208. oParam.outds = "ds_main_deptopcdlist_deptopcdinfo=deptcdinfo";
  209. oParam.async = false;
  210. //oParam.callback = "cf_TRMRT01601";
  211. tranf_submit(oParam);
  212. }
  213. }
  214. /**
  215. * @desc : 더블클릭시 그리드로 내리기
  216. * @
  217. * @param ://diag
  218. * @return :
  219. * @author : 이창록
  220. * @---------------------------------------------------
  221. */
  222. function fAddDiagHist(dgRow)
  223. {
  224. var sDiagCD = ds_main_deptdiagcdlist_deptdiagcdinfo.getColumn(dgRow, "termcd");
  225. var sDiagEngNM = ds_main_deptdiagcdlist_deptdiagcdinfo.getColumn(dgRow, "termengnm");
  226. var sDiagHngNM = ds_main_deptdiagcdlist_deptdiagcdinfo.getColumn(dgRow, "termhngnm");
  227. var sLglyisflag = ds_main_deptdiagcdlist_deptdiagcdinfo.getColumn(dgRow, "lglydisflag");
  228. var iFndRow = ds_param_selectdiaginfo_selectdiaglist.findRow("diagcd", sDiagCD);//중복한 행선택시
  229. var diagflag = ds_temp_diaginfo.getColumn(0, "diagflag");
  230. if(iFndRow < 0){
  231. if(diagflag=="Y"){
  232. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "diagcd" , sDiagCD);
  233. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "dispdiagcd", sDiagCD);
  234. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "diagengnm" , sDiagEngNM);
  235. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "diaghngnm" , sDiagHngNM);
  236. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "lglydisflag" ,sLglyisflag);
  237. }else{
  238. ds_param_selectdiaginfo_selectdiaglist.addRow();
  239. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "diagcd" , sDiagCD);
  240. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "dispdiagcd", sDiagCD);
  241. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "diagengnm" , sDiagEngNM);
  242. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "diaghngnm" , sDiagHngNM);
  243. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "lglydisflag" ,sLglyisflag);
  244. }
  245. }else if(iFndRow > -1)
  246. {
  247. sysf_messageBox("이미 선택하신 코드","E008");
  248. return;
  249. }
  250. ds_temp_diaginfo.setColumn(0, "diagflag", "");
  251. }
  252. /**
  253. * @desc : 더블클릭시 그리드로 내리기
  254. * @
  255. * @param ://mophology
  256. * @return :
  257. * @author : 이창록
  258. * @---------------------------------------------------
  259. */
  260. function fAddMophoHist(mRow){
  261. var kcd4mseqno = ds_main_diagcdinfo_kcd4m.getColumn(mRow, "kcd4mseqno");
  262. var kcd4mengnm = ds_main_diagcdinfo_kcd4m.getColumn(mRow, "kcd4mengnm");
  263. var kcd4mhngnm = ds_main_diagcdinfo_kcd4m.getColumn(mRow, "kcd4mhngnm");
  264. var morphlgccd = ds_main_diagcdinfo_kcd4m.getColumn(mRow, "morphlgccd");
  265. var iFndRow1 = ds_param_selectdiaginfo_selectdiaglist.findRow("diagcd", morphlgccd);//중복한 행선택시
  266. var iFndRow2 = ds_param_selectdiaginfo_selectdiaglist.findRow("seqno", kcd4mseqno);//중복한 행선택시
  267. var diagflag = ds_temp_diaginfo.getColumn(0, "diagflag");
  268. if((iFndRow1 > -1) && (iFndRow2 > -1)){
  269. sysf_messageBox("이미선택하신코드","E008");
  270. return;
  271. }else{
  272. if(diagflag=="Y"){
  273. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "diagcd" , morphlgccd);
  274. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "dispdiagcd" , morphlgccd);
  275. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "diagengnm" , kcd4mengnm);
  276. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "diaghngnm" , kcd4mhngnm);
  277. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "seqno" , kcd4mseqno);
  278. }else{
  279. ds_param_selectdiaginfo_selectdiaglist.addRow();
  280. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "diagcd" , morphlgccd);
  281. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "dispdiagcd" , morphlgccd);
  282. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "diagengnm" , kcd4mengnm);
  283. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "diaghngnm" , kcd4mhngnm);
  284. ds_param_selectdiaginfo_selectdiaglist.setColumn(ds_param_selectdiaginfo_selectdiaglist.rowposition, "seqno" , kcd4mseqno);
  285. }
  286. }
  287. ds_temp_diaginfo.setColumn(0, "diagflag", "");
  288. }
  289. function fAddopHist(opRow)
  290. {
  291. var sOpCD = ds_main_deptopcdlist_deptopcdinfo.getColumn(opRow, "termcd");
  292. var sDiagEngNM = ds_main_deptopcdlist_deptopcdinfo.getColumn(opRow, "termengnm");
  293. var sDiagHngNM = ds_main_deptopcdlist_deptopcdinfo.getColumn(opRow, "termhngnm");
  294. var iFndRow = ds_param_selectopinfo_selectoplist.findRow("dispopcd", sOpCD);//중복한 행선택시
  295. var diagflag = ds_temp_diaginfo.getColumn(0, "diagflag");
  296. if(iFndRow < 0){
  297. if(diagflag=="Y"){
  298. ds_param_selectopinfo_selectoplist.setColumn(ds_param_selectopinfo_selectoplist.rowposition, "opcd" , sOpCD);
  299. ds_param_selectopinfo_selectoplist.setColumn(ds_param_selectopinfo_selectoplist.rowposition, "dispopcd", sOpCD);
  300. ds_param_selectopinfo_selectoplist.setColumn(ds_param_selectopinfo_selectoplist.rowposition, "opengnm" , sDiagEngNM);
  301. ds_param_selectopinfo_selectoplist.setColumn(ds_param_selectopinfo_selectoplist.rowposition, "ophngnm" , sDiagHngNM);
  302. }else{
  303. ds_param_selectopinfo_selectoplist.addRow();
  304. ds_param_selectopinfo_selectoplist.setColumn(ds_param_selectopinfo_selectoplist.rowposition, "opcd" , sOpCD);
  305. ds_param_selectopinfo_selectoplist.setColumn(ds_param_selectopinfo_selectoplist.rowposition, "dispopcd", sOpCD);
  306. ds_param_selectopinfo_selectoplist.setColumn(ds_param_selectopinfo_selectoplist.rowposition, "opengnm" , sDiagEngNM);
  307. ds_param_selectopinfo_selectoplist.setColumn(ds_param_selectopinfo_selectoplist.rowposition, "ophngnm" , sDiagHngNM);
  308. }
  309. }else if(iFndRow > -1)
  310. {
  311. sysf_messageBox("이미 선택하신 코드","E008");
  312. return;
  313. }
  314. ds_temp_diaginfo.setColumn(0, "diagflag", "");
  315. }
  316. /**
  317. * @desc : 용어 추가 버튼 클릭시
  318. * :
  319. * @
  320. * @param :
  321. * @return :
  322. * @author : 이창록
  323. * @---------------------------------------------------
  324. */
  325. function fAddBtnTerm()
  326. {
  327. var flag = ds_hidden_search.getColumn(0, "flag");
  328. if(flag==1)
  329. {
  330. for( var i=0 ; i<switch1.diag.grd_diaglist.selectcount ; i++ ){
  331. for( var j=switch1.diag.grd_diaglist.selectstartrow[i] ; j<=switch1.diag.grd_diaglist.selectendrow[i] ; j++ ){
  332. fAddDiagHist(j);
  333. }
  334. }
  335. }else if(flag==2)
  336. {
  337. for( var i=0 ; i<switch1.mopho.grd_icdo3list.selectcount ; i++ ){
  338. for( var j=switch1.mopho.grd_icdo3list.selectstartrow[i] ; j<=switch1.mopho.grd_icdo3list.selectendrow[i] ; j++ ){
  339. fAddMophoHist(j);
  340. }
  341. }
  342. }
  343. }
  344. /**
  345. * @desc : 초기화 버튼 클릭시
  346. * :
  347. * @
  348. * @param :,
  349. * @return :
  350. * @author : 이창록 btn_Cdiag
  351. * @---------------------------------------------------
  352. */
  353. function fCleanTerm()
  354. { var flag = ds_hidden_search.getColumn(0, "flag");
  355. if(flag == 1){
  356. ds_main_deptdiagcdlist_deptdiagcdinfo.clearData();
  357. ds_param_selectdiaginfo_selectdiaglist.clearData();
  358. }else if(flag == 2){
  359. ds_main_diagcdinfo_kcd4m.clearData();
  360. ds_param_selectdiaginfo_selectdiaglist.clearData();
  361. }
  362. }
  363. /**
  364. * @desc : 오른쪽마우스클릭시 삭제
  365. * @
  366. * @param :
  367. * @return :
  368. * @author : 이창록
  369. * @---------------------------------------------------
  370. */
  371. function fdelRow_TermList()
  372. {
  373. var flag = ds_hidden_search.getColumn(0, "flag");
  374. if(flag==1){
  375. if(grd_selectdiag.row < 0)
  376. return;
  377. if (grd_selectdiag.selectedRows > 0) {
  378. var selectedRows = Array(grd_selectdiag.selectedRows);
  379. for(i=0;i<grd_selectdiag.selectedRows;i++) {
  380. selectedRows[i] = grd_selectdiag.selectedRow(i);
  381. }
  382. }
  383. var rowIdx;
  384. for ( var i= selectedRows.length ; i >= 0 ; i--)
  385. {
  386. rowIdx = selectedRows[i];
  387. grd_selectdiag.deleteRow( rowIdx , false);
  388. }
  389. model.refresh();
  390. }else if(flag==2)
  391. {
  392. if(grd_mophoinfo.row < 0)
  393. return;
  394. if (grd_mophoinfo.selectedRows > 0) {
  395. var selectedRows = Array(grd_mophoinfo.selectedRows);
  396. for(i=0;i<grd_mophoinfo.selectedRows;i++) {
  397. selectedRows[i] = grd_mophoinfo.selectedRow(i);
  398. }
  399. }
  400. var rowIdx;
  401. for ( var i= selectedRows.length ; i >= 0 ; i--)
  402. {
  403. rowIdx = selectedRows[i];
  404. grd_mophoinfo.deleteRow( rowIdx , false);
  405. }
  406. model.refresh();
  407. }else if(flag==5)
  408. {
  409. if(grd_selectop.row < 0)
  410. return;
  411. if (grd_selectop.selectedRows > 0) {
  412. var selectedRows = Array(grd_selectop.selectedRows);
  413. for(i=0;i<grd_selectop.selectedRows;i++) {
  414. selectedRows[i] = grd_selectop.selectedRow(i);
  415. }
  416. }
  417. var rowIdx;
  418. for ( var i= selectedRows.length ; i >= 0 ; i--)
  419. {
  420. rowIdx = selectedRows[i];
  421. grd_selectop.deleteRow( rowIdx , false);
  422. }
  423. model.refresh();
  424. }
  425. }
  426. /**
  427. * @group :
  428. * @ver :
  429. * @by : 이창록
  430. * @---------------------------------------------------
  431. * @type : function
  432. * @access : public
  433. * @desc : 그리드 up,down
  434. * @param :grdobj =해당그리드,direcflag = up,down여부, flag=구분값
  435. * @return :
  436. * @---------------------------------------------------
  437. */
  438. function fChgValueTermcdGrd(dsObj, direcflag, flag)
  439. {
  440. var srcRow = dsObj.rowposition; //(화면 그리드베이스에서 선택한 행 - 그리드 제목 줄)+1
  441. if(srcRow < 0)
  442. return;
  443. var sRow;//방향 위치가 위로 일때
  444. if(direcflag == "up"){ //위로
  445. if(srcRow == 0){ //현재 위치가 맨 위일 경우
  446. return;
  447. }
  448. sRow = srcRow - 1;//아니면 위로 올린다
  449. }else if(direcflag == "down"){ //아래로
  450. if(srcRow == dsObj.rowcount-1){ //현재 위치가 맨 아래일 경우
  451. return;
  452. }
  453. sRow = srcRow + 1;
  454. }
  455. if(flag == "1"){//진단,Mophology코드
  456. ds_temp_tmp_diaginfo.copyRow(0, ds_param_selectdiaginfo_selectdiaglist, srcRow);
  457. ds_param_selectdiaginfo_selectdiaglist.copyRow(srcRow, ds_param_selectdiaginfo_selectdiaglist, sRow);
  458. ds_param_selectdiaginfo_selectdiaglist.copyRow(sRow, ds_temp_tmp_diaginfo, 0);
  459. }else if(flag =="2"){//수술코드
  460. ds_temp_tmp_opinfo.copyRow(0, ds_param_selectopinfo_selectoplist, srcRow);
  461. ds_param_selectopinfo_selectoplist.copyRow(srcRow, ds_param_selectopinfo_selectoplist, sRow);
  462. ds_param_selectopinfo_selectoplist.copyRow(sRow, ds_temp_tmp_opinfo, 0);
  463. }
  464. return sRow;
  465. }
  466. /**
  467. * @desc : 선택 용어 행추가
  468. * @id :
  469. * @event :
  470. * @return : void
  471. * @authur :
  472. */
  473. function fAddRow_Termlist(tGrid)
  474. {
  475. ds_temp_diaginfo.setColumn(0, "diagflag","Y");
  476. if(tGrid=="grd_selectdiag"){//진단 코드
  477. var diagRow = ds_param_selectdiaginfo_selectdiaglist.rowposition;
  478. if(diagRow < 0){
  479. ds_param_selectdiaginfo_selectdiaglist.addRow();
  480. }else if(diagRow >= 0){
  481. ds_param_selectdiaginfo_selectdiaglist.insertRow(diagRow+1);
  482. }
  483. }else if("grd_selectop"){
  484. var opRow = ds_param_selectopinfo_selectoplist.rowposition;
  485. if(opRow < 0){
  486. ds_param_selectopinfo_selectoplist.addRow();
  487. }else if(opRow >= 0){
  488. ds_param_selectopinfo_selectoplist.insertRow(opRow+1);
  489. }
  490. }
  491. }
  492. /**
  493. * @desc : 선택 용어 행삭제
  494. * @id :
  495. * @event : selectedRows->선택한 행의 갯수 반환
  496. * @return : void
  497. * @authur :
  498. */
  499. function fDelRow_Termlist(tGrid)
  500. {
  501. ds_temp_diaginfo.setColumn(0, "diagflag", "");
  502. if(tGrid=="grd_selectdiag") //진단코드 삭제
  503. {
  504. if(ds_param_selectdiaginfo_selectdiaglist.rowposition < 0)
  505. {
  506. sysf_messageBox("삭제할 행이 ", "I004")
  507. return;
  508. }
  509. var selectedRows = new Array();
  510. for( var i=0 ; i<grd_selectdiag.selectcount ; i++ ){
  511. for( var j=grd_selectdiag.selectstartrow[i] ; j<=grd_selectdiag.selectendrow[i] ; j++ ){
  512. selectedRows[selectedRows.length] = j;
  513. }
  514. }
  515. for ( var i= selectedRows.length-1 ; i >= 0 ; i--)
  516. {
  517. ds_param_selectdiaginfo_selectdiaglist.deleteRow(selectedRows[i]);
  518. }
  519. }else if(tGrid=="grd_selectop"){
  520. if(ds_param_selectopinfo_selectoplist.rowposition < 0)
  521. {
  522. sysf_messageBox("삭제할 행이 ", "I004")
  523. return;
  524. }
  525. var selectedRows = new Array();
  526. for( var i=0 ; i<grd_selectop.selectcount ; i++ ){
  527. for( var j=grd_selectop.selectstartrow[i] ; j<=grd_selectop.selectendrow[i] ; j++ ){
  528. selectedRows[selectedRows.length] = j;
  529. }
  530. }
  531. for ( var i= selectedRows.length-1 ; i >= 0 ; i--)
  532. {
  533. ds_param_selectopinfo_selectoplist.deleteRow(selectedRows[i]);
  534. }
  535. }
  536. }
  537. /**
  538. * @group :
  539. * @ver :
  540. * @by : 이창록
  541. * @---------------------------------------------------
  542. * @type : function
  543. * @access : public
  544. * @desc : 더블클릭및 확인버튼클릭시 그리드와 연계(parameter)
  545. * @param :
  546. * @return :
  547. * @---------------------------------------------------
  548. */
  549. function fSendTermCd()
  550. {
  551. if(frmf_checkOpener()){//자신을 Open한 opener의 현재 UID가 자신을 open한 시점의 UID와 비교하여 변경되었는지 여부를 반환
  552. var nodepath = opener.frmf_getParameter("SPMRT01600_param_nodepath");//parameter nodepath 설정
  553. if(utlf_isNull(nodepath)){
  554. var selectNode1 = opener.objects["ds_temp_selectdiaglist"];
  555. var selectNode2 = opener.objects["ds_tmp_selectopinfo"];
  556. if(utlf_isNull(selectNode2)){
  557. opener.dsf_createDs("ds_tmp_selectopinfo");
  558. }
  559. if(utlf_isNull(selectNode1)){
  560. opener.dsf_createDs("ds_temp_selectdiaglist");
  561. }
  562. opener.ds_temp_selectdiaglist.copyData(ds_param_selectdiaginfo_selectdiaglist);
  563. opener.frmf_setParameter("SPMRT01600_FLAG","1");//진단용어
  564. opener.ds_tmp_selectopinfo.copyData(ds_param_selectopinfo_selectoplist);
  565. }else{
  566. var selectnode = opener.objects[nodepath];
  567. if(utlf_isNull(selectnode)){
  568. opener.dsf_createDs(nodepath);
  569. }
  570. eval("opener."+nodepath).copyData(ds_param_selectdiaginfo_selectdiaglist);
  571. opener.frmf_setParameter("SPMRT01600_FLAG","1");
  572. eval("opener."+nodepath).copyData(ds_param_selectopinfo_selectoplist);
  573. }
  574. }else{
  575. sysf_messageBox("상위 화면이 변경되어 데이터를 전달", "E001");
  576. }
  577. this.close();
  578. }
  579. ]]></Script>