SPMQP01600_진단코드조회.xfdl 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMQP01600" position="absolute 0 0 850 600" titletext="진단코드 조회" oninit="SPMQP01600_oninit" onload="SPMQP01600_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 385 23 850 58" id="roundrect1" class="div_SA" anchor="left top right"/>
  8. <Shape position="absolute 0 22 380 28" linetype="horizontal" id="line4" class="line_1" visible="false"/>
  9. <Div position="absolute 0 570 850 597" id="grp_btn" anchor="left right bottom">
  10. <Layouts>
  11. <Layout>
  12. <Button position="absolute 735 3 791 25" id="button10" class="btn4" text="선택" onclick="grp_btn_button10_onclick" anchor="right bottom"/>
  13. <Button position="absolute 794 3 850 25" id="button9" class="btn4" text="닫기" onclick="grp_btn_button9_onclick" anchor="right bottom"/>
  14. </Layout>
  15. </Layouts>
  16. </Div>
  17. <Edit position="absolute 529 31 723 50" id="input1" class="input_search" onkeydown="input1_onkeydown"/>
  18. <Button position="absolute 784 30 840 52" id="btn_req" class="btn1" text="조회" onclick="btn_req_onclick" anchor="top right"/>
  19. <Shape position="absolute 773 30 779 52" linetype="vertical" id="line1" anchor="top right"/>
  20. <Radio position="absolute 395 32 525 52" id="radio1" columncount="3" codecolumn="codecolumn" datacolumn="datacolumn">
  21. <Dataset id="innerdataset">
  22. <ColumnInfo>
  23. <Column id="codecolumn"/>
  24. <Column id="datacolumn"/>
  25. </ColumnInfo>
  26. <Rows>
  27. <Row>
  28. <Col id="codecolumn">A</Col>
  29. <Col id="datacolumn">전체</Col>
  30. </Row>
  31. <Row>
  32. <Col id="codecolumn">C</Col>
  33. <Col id="datacolumn">코드</Col>
  34. </Row>
  35. <Row>
  36. <Col id="codecolumn">W</Col>
  37. <Col id="datacolumn">단어</Col>
  38. </Row>
  39. </Rows>
  40. </Dataset>
  41. </Radio>
  42. <Grid position="absolute 385 62 850 570" id="grd_diagcdlist" binddataset="ds_grd_diagcdlist" oncelldblclick="grd_diagcdlist_oncelldblclick" selecttype="multirow" cellclickbound="cell" cellsizingtype="col" anchor="all">
  43. <Formats>
  44. <Format id="default">
  45. <Columns>
  46. <Column size="27"/>
  47. <Column size="75"/>
  48. <Column size="192"/>
  49. <Column size="199"/>
  50. <Column size="0"/>
  51. </Columns>
  52. <Rows>
  53. <Row size="24" band="head"/>
  54. <Row size="22"/>
  55. </Rows>
  56. <Band id="head">
  57. <Cell displaytype="checkbox" edittype="checkbox"/>
  58. <Cell col="1" text="진단코드"/>
  59. <Cell col="2" text="영문명"/>
  60. <Cell col="3" text="한글명"/>
  61. <Cell col="4" text="caption1"/>
  62. </Band>
  63. <Band id="body">
  64. <Cell displaytype="checkbox" edittype="checkbox" text="bind:check" expr="expr:(check==&quot;Y&quot;||check==1)?1:0"/>
  65. <Cell col="1" displaytype="text" text="bind:dispdiagcd"/>
  66. <Cell col="2" displaytype="text" text="bind:engnm"/>
  67. <Cell col="3" displaytype="text" text="bind:hngnm"/>
  68. <Cell col="4" text="bind:termcd"/>
  69. </Band>
  70. </Format>
  71. </Formats>
  72. </Grid>
  73. <CheckBox position="absolute 726 30 771 50" id="checkbox1" text="전체" truevalue="A"/>
  74. <Shape position="absolute 385 15 850 21" linetype="horizontal" id="line2" class="line_1" visible="false"/>
  75. <Tab id="tab_indexlist" taborder="1" tabindex="0" scrollbars="autoboth" position="absolute 0 0 380 26" onchanged="tab_indexlist_onchanged">
  76. <Tabpages>
  77. <Tabpage id="tab_icd10" text="ICD10"/>
  78. <Tabpage id="tab_termattr" text="진단코드"/>
  79. </Tabpages>
  80. </Tab>
  81. <Grid id="trv_indxlist" taborder="2" useinputpanel="false" position="absolute 1 28 382 570" binddataset="ds_indxlist" treeusecheckbox="false" selecttype="multitreecell" autosizingtype="col" oncellclick="trv_indxlist_oncellclick" autoenter="select" autofittype="col" anchor="left top bottom">
  82. <Formats>
  83. <Format id="default">
  84. <Columns>
  85. <Column size="113"/>
  86. </Columns>
  87. <Rows>
  88. <Row size="18"/>
  89. </Rows>
  90. <Band id="body">
  91. <Cell displaytype="tree" edittype="tree" style="line:0 none #808080ff ;background:white;background2:white;" text="bind:indxhngnm" treestartlevel="1" treelevel="bind:depth"/>
  92. </Band>
  93. </Format>
  94. </Formats>
  95. </Grid>
  96. </Layout>
  97. </Layouts>
  98. <Objects>
  99. <Dataset id="ds_grd_diagcdlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  100. <ColumnInfo>
  101. <Column id="check" type="STRING"/>
  102. <Column id="dispdiagcd" type="STRING"/>
  103. <Column id="engnm" type="STRING"/>
  104. <Column id="hngnm" type="STRING"/>
  105. <Column id="termcd" type="STRING"/>
  106. </ColumnInfo>
  107. </Dataset>
  108. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  109. <ColumnInfo>
  110. <Column id="reqflag" type="STRING" size="256"/>
  111. <Column id="reqdata" type="STRING" size="256"/>
  112. <Column id="srchflag" type="STRING" size="256"/>
  113. <Column id="wordflag" type="STRING" size="256"/>
  114. <Column id="trgflag" type="STRING" size="256"/>
  115. </ColumnInfo>
  116. <Rows>
  117. <Row>
  118. <Col id="srchflag">A</Col>
  119. </Row>
  120. </Rows>
  121. </Dataset>
  122. <Dataset id="ds_indxlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  123. <ColumnInfo>
  124. <Column id="depth" type="STRING" size="256"/>
  125. <Column id="indxcd" type="STRING" size="256"/>
  126. <Column id="upindxcd" type="STRING" size="256"/>
  127. <Column id="indxengnm" type="STRING" size="256"/>
  128. <Column id="indxhngnm" type="STRING" size="256"/>
  129. <Column id="path" type="STRING" size="256"/>
  130. </ColumnInfo>
  131. </Dataset>
  132. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  133. <Dataset id="ds_temp_setdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  134. <ColumnInfo>
  135. <Column id="icd10cd" type="STRING" size="256"/>
  136. <Column id="cc" type="STRING" size="256"/>
  137. <Column id="icd10hngnm" type="STRING" size="256"/>
  138. <Column id="depth" type="STRING" size="256"/>
  139. <Column id="path" type="STRING" size="256"/>
  140. </ColumnInfo>
  141. </Dataset>
  142. <Dataset id="ds_temp_getdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  143. <ColumnInfo>
  144. <Column id="grdfocus" type="STRING" size="256"/>
  145. <Column id="poolsize" type="STRING" size="256"/>
  146. <Column id="endVal" type="STRING" size="256"/>
  147. </ColumnInfo>
  148. <Rows>
  149. <Row>
  150. <Col id="poolsize">0</Col>
  151. <Col id="grdfocus"/>
  152. <Col id="endVal"/>
  153. </Row>
  154. </Rows>
  155. </Dataset>
  156. <Dataset id="ds_temp" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  157. <Dataset id="ds_temp_pool" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  158. <ColumnInfo>
  159. <Column id="cd" type="STRING" size="256"/>
  160. </ColumnInfo>
  161. </Dataset>
  162. </Objects>
  163. <Bind>
  164. <BindItem id="item0" compid="radio1" propid="value" datasetid="ds_main_cond" columnid="srchflag"/>
  165. <BindItem id="item1" compid="input1" propid="value" datasetid="ds_main_cond" columnid="reqdata"/>
  166. </Bind>
  167. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  168. * System Name :
  169. * Job Name :
  170. * Creator :
  171. * Make Date : 2015-09-23
  172. * Description :
  173. *---------------------------------------------------------------------------------------
  174. * Modify Date Modifier Modify Description
  175. *---------------------------------------------------------------------------------------
  176. * 2015-09-23 Live Converter TF->XP
  177. *
  178. *---------------------------------------------------------------------------------------
  179. ****************************************************************************************/
  180. include "com_commonxp::comm_main.xjs"
  181. var usge = "";
  182. //값을 opener에 opener에 parameter로 보낼지, opener의 인스턴스에 직접 반영할지 구분 ( IF/THEN이면 parameter, 그렇지 않으면 instance로)
  183. var condbutton = "";
  184. /****************************************************************************************
  185. * Argument :
  186. * Description : 초기화
  187. ****************************************************************************************/
  188. function SPMQP01600_oninit(obj:Form, e:InitEventInfo)
  189. {
  190. frmf_initForm(obj);
  191. }
  192. function SPMQP01600_onload(obj:Form, e:LoadEventInfo)
  193. {
  194. // SMMQP00600 CP생성기 호출
  195. try{
  196. ds_temp_getdata.setColumn(0, "grdfocus", lastrowcnt);
  197. }catch(e){}
  198. grdf_initGrid(grd_diagcdlist);
  199. var targetFlag = opener.frmf_getParameter("flag");
  200. ds_send_reqdata.addColumn("trgflag", "string", 256);
  201. ds_send_reqdata.addColumn("flag", "string", 256);
  202. var row = ds_send_reqdata.addRow();
  203. usge = opener.frmf_getParameter("usge");
  204. if( !utlf_isNull(targetFlag) ){
  205. ds_main_cond.setColumn(0, "trgflag", targetFlag);
  206. ds_send_reqdata.setColumn(row, "trgflag", targetFlag);
  207. }
  208. ds_main_cond.setColumn(0, "trgflag", "DIAG");
  209. tab_indexlist.tabindex = 1;
  210. var tabIdx = tab_indexlist.tabindex;
  211. if( tabIdx == 0 ){
  212. grd_diagcdlist.setCellProperty("Head", 1, "text", "ICD10코드");
  213. } else {
  214. grd_diagcdlist.setCellProperty("Head", 1, "text", "진단코드");
  215. }
  216. ds_send_reqdata.setColumn(row, "flag", "0");
  217. var oParam = {};
  218. oParam.id = "TRMQP01601";
  219. oParam.service = "prcpbaseapp.CpMngt";
  220. oParam.method = "reqGetIcdCdList";
  221. oParam.inds = "req=ds_send_reqdata";
  222. oParam.outds = "ds_indxlist=item";
  223. oParam.async = true;
  224. oParam.callback = "cf_TRMQP01601";
  225. tranf_submit(oParam);
  226. if( !utlf_isNull(opener) && opener.objects["ds_main_cond"] != null ){
  227. if( !utlf_isNull(opener.ds_main_cond.getColumn(0, "condbutton")) ){
  228. condbutton = opener.ds_main_cond.getColumn(0, "condbutton");
  229. }
  230. }
  231. frmf_setFocus(true);
  232. }
  233. function cf_TRMQP01601(sSvcId, nErrorCode, sErrorMsg) {
  234. if(nErrorCode < 0) return;
  235. grdf_expandDepth(trv_indxlist, 2) ;
  236. }
  237. /****************************************************************************************
  238. * Argument :
  239. * Description : Tree onCellClick
  240. ****************************************************************************************/
  241. function trv_indxlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  242. {
  243. var item = trv_indxlist.getTreeChildRow(trv_indxlist.currentrow, 0, false);
  244. if( item != -1 ){
  245. return;
  246. }
  247. ds_send_reqdata.clear();
  248. var tabIdx = tab_indexlist.tabindex;
  249. var trgflag = "";
  250. if( tabIdx == 0 ){
  251. trgflag = "ICD";
  252. grd_diagcdlist.setCellProperty("Head", 1, "text", "ICD10코드");
  253. } else {
  254. trgflag = "DIAG";
  255. grd_diagcdlist.setCellProperty("Head", 1, "text", "진단코드");
  256. }
  257. fn_reqGetTermCdList(trgflag);
  258. }
  259. /****************************************************************************************
  260. * Argument :
  261. * Description : fn_reqGetTermCdList
  262. ****************************************************************************************/
  263. function fn_reqGetTermCdList(trgflag){
  264. ds_send_reqdata.clear();
  265. ds_send_reqdata.addColumn("flag", "string", 256);
  266. ds_send_reqdata.addColumn("srchindxcd", "string", 256);
  267. ds_send_reqdata.addColumn("reqflag", "string", 256);
  268. ds_send_reqdata.addColumn("trgflag", "string", 256);
  269. var row = ds_send_reqdata.addRow();
  270. ds_send_reqdata.setColumn(row, "flag", "0");
  271. ds_send_reqdata.setColumn(row, "srchindxcd", ds_indxlist.getColumn(ds_indxlist.rowposition, "indxcd"));
  272. ds_send_reqdata.setColumn(row, "reqflag", ds_main_cond.getColumn(0, "reqflag"));
  273. ds_send_reqdata.setColumn(row, "trgflag", trgflag);
  274. ds_grd_diagcdlist.clearData();
  275. var oParam = {};
  276. oParam.id = "TRMQP01602";
  277. oParam.service = "prcpbaseapp.CpMngt";
  278. oParam.method = "reqGetTermCdList";
  279. oParam.inds = "req=ds_send_reqdata";
  280. oParam.outds = "ds_grd_diagcdlist=info";
  281. oParam.async = false;
  282. //oParam.callback = "cf_TRMQP01602";
  283. tranf_submit(oParam);
  284. }
  285. /****************************************************************************************
  286. * Argument :
  287. * Description : Tab onchanged
  288. ****************************************************************************************/
  289. function tab_indexlist_onchanged(obj:Tab, e:TabIndexChangeEventInfo)
  290. {
  291. var item = trv_indxlist.getTreeChildRow(trv_indxlist.currentrow, 0, false);
  292. var tabIdx = tab_indexlist.tabindex;
  293. var reqData = ds_main_cond.getColumn(0, "reqdata");
  294. var trgflag = "";
  295. if( utlf_isNull(reqData) ){
  296. if( tabIdx == 0 ){
  297. trgflag = "ICD";
  298. grd_diagcdlist.setCellProperty("Head", 1, "text", "ICD10코드");
  299. fn_reqGetTermCdList(trgflag);
  300. } else {
  301. if( item != 1 ){
  302. trgflag = "DIAG";
  303. grd_diagcdlist.setCellProperty("Head", 1, "text", "진단코드");
  304. fn_reqGetTermCdList(trgflag);
  305. } else {
  306. return;
  307. }
  308. }
  309. }
  310. }
  311. /****************************************************************************************
  312. * Argument :
  313. * Description : 조회 Button
  314. ****************************************************************************************/
  315. function btn_req_onclick(obj:Button, e:ClickEventInfo)
  316. {
  317. var srchStr = ds_main_cond.getColumn(0, "reqdata");
  318. if( utlf_isNull(srchStr) ){
  319. sysf_messageBox("검색어를 ", "C001");
  320. return;
  321. } else if( utlf_getStringLength(srchStr) < 3 ){
  322. sysf_messageBox("2글자 이상 ", "C001");
  323. return;
  324. } else {
  325. fn_reqDiagCD();
  326. }
  327. }
  328. /****************************************************************************************
  329. * Argument :
  330. * Description : 조회 Button
  331. ****************************************************************************************/
  332. function fn_reqDiagCD(){
  333. var reqdata = ds_main_cond.getColumn(0, "reqdata");
  334. if( reqdata.charCodeAt(0) > 255 ){
  335. ds_main_cond.setColumn(0, "wordflag", "H");
  336. } else {
  337. ds_main_cond.setColumn(0, "wordflag", "E");
  338. reqdata = reqdata.toUpperCase();
  339. }
  340. ds_send_reqdata.clear();
  341. ds_send_reqdata.copyData(ds_main_cond);
  342. ds_send_reqdata.addColumn("flag", "string", 256);
  343. ds_send_reqdata.setColumn(0, "reqdata", reqdata);
  344. ds_send_reqdata.setColumn(0, "flag", "0");
  345. var tabIdx = tab_indexlist.tabindex;
  346. if( tabIdx == 0 ){
  347. ds_send_reqdata.setColumn(0, "trgflag", "ICD");
  348. } else {
  349. ds_send_reqdata.setColumn(0, "trgflag", "DIAG");
  350. }
  351. var oParam = {};
  352. oParam.id = "TRMQP01603";
  353. oParam.service = "prcpbaseapp.CpMngt";
  354. oParam.method = "reqGetSearchTermCd";
  355. oParam.inds = "req=ds_send_reqdata";
  356. oParam.outds = "ds_grd_diagcdlist=info";
  357. oParam.async = false;
  358. //oParam.callback = "cf_TRMQP01603";
  359. tranf_submit(oParam);
  360. }
  361. /****************************************************************************************
  362. * Argument :
  363. * Description : OnKeyDown(Search)
  364. ****************************************************************************************/
  365. function input1_onkeydown(obj:Edit, e:KeyEventInfo)
  366. {
  367. if(e.keycode == 13){
  368. obj.updateToDataset();
  369. btn_req.click();
  370. }
  371. }
  372. /****************************************************************************************
  373. * Argument :
  374. * Description : List Click
  375. ****************************************************************************************/
  376. function grd_diagcdlist_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  377. {
  378. var iRow = ds_grd_diagcdlist.rowposition;
  379. ds_grd_diagcdlist.setColumn(iRow, "check", "1");
  380. if( !utlf_isNull(condbutton) ){
  381. fSetOpenerParameter();
  382. return;
  383. }
  384. if( iRow < 0 ){
  385. return;
  386. }
  387. var opWndId = opener.objects["ds_conditon"] == null ? "" : opener.ds_conditon.getColumn(0 , "wndid");
  388. sysf_trace("opWndId : " + opWndId)
  389. if( opWndId == "SMASB02300" ){
  390. fSetdbClickLglyCd(iRow);
  391. return;
  392. }else {
  393. fSetOpenerValue(iRow);
  394. }
  395. this.close();
  396. }
  397. function fSetCheckInforLglyCd(){
  398. var grdIdxs = "-";
  399. var selRowcnt = 0;
  400. for(var rowIdx=0; rowIdx < ds_grd_diagcdlist.rowcount; rowIdx++){
  401. var chFlag = ds_grd_diagcdlist.getColumn(rowIdx, "check");
  402. if( (chFlag == 1 || chFlag == "true") && selRowcnt == 0 ){
  403. grdIdxs = rowIdx;
  404. selRowcnt++;
  405. }
  406. else if( (chFlag == 1 || chFlag == "true") ){
  407. selRowcnt++;
  408. }
  409. }
  410. if( selRowcnt > 1 || selRowcnt == 0 ){
  411. return false;
  412. }
  413. else{
  414. return grdIdxs;
  415. }
  416. }
  417. function fSetdbClickLglyCd( selRow ){
  418. var param = opener.frmf_getParameter("SMASB02300_param");
  419. var paramValue = utlf_transNullToEmpty(param).split("▦");
  420. var opRow = paramValue[0];
  421. var opCol = paramValue[1];
  422. var curStatus = paramValue[2];
  423. var lglydiscd = ds_grd_diagcdlist.getColumn(selRow, "dispdiagcd");
  424. if( opCol == opener.grd_asihlgdc.getBindCellIndex("body", "fromicd10cd")){
  425. opener.ds_main_asihlgdc_list.setColumn(opRow, "fromicd10cd", lglydiscd);
  426. }
  427. else if(opCol == opener.grd_asihlgdc.getBindCellIndex("body", "toicd10cd")){
  428. opener.ds_main_asihlgdc_list.setColumn(opRow, "toicd10cd", lglydiscd);
  429. }
  430. this.close();
  431. }
  432. /****************************************************************************************
  433. * Argument :
  434. * Description : 선택 Button
  435. ****************************************************************************************/
  436. function grp_btn_button10_onclick(obj:Button, e:ClickEventInfo)
  437. {
  438. if( !utlf_isNull(condbutton) ){
  439. fSetOpenerParameter();
  440. return;
  441. }
  442. var rowCnt = ds_grd_diagcdlist.rowcount;
  443. var iRow = ds_grd_diagcdlist.rowposition;
  444. // SMASB02300_법정전염병마스터에 진단코드 및 이름 입력받기
  445. // 작성자 : 김광성 kskim
  446. // 작성일 : 2010.03.15
  447. var opWndId = opener.objects["ds_conditon"] == null ? "" : opener.ds_conditon.getColumn(0 , "wndid");
  448. if( opWndId == "SMASB02300"){
  449. var selIdx = fSetCheckInforLglyCd();
  450. if( selIdx == false){
  451. sysf_messageBox("1개의 진단을 ", "C002");
  452. }
  453. else{
  454. fSetdbClickLglyCd(selIdx);
  455. this.close();
  456. }
  457. return;
  458. }else{
  459. for(var i=0; i<rowCnt; i++){
  460. var bool = ds_grd_diagcdlist.getColumn(i, "check");
  461. if(bool == 1 || bool == true){
  462. fSetOpenerValue( i );
  463. }
  464. if(ds_temp_getdata.getColumn(0, "endVal") == "E")
  465. this.close();
  466. }
  467. }
  468. }
  469. /****************************************************************************************
  470. * Argument :
  471. * Description : fSetOpenerValue
  472. * 선택된 값을 부모창에 데이터 전달
  473. ****************************************************************************************/
  474. function fSetOpenerValue(iRow){
  475. var bool = "false";
  476. var iCnt = parseInt(ds_temp_getdata.getColumn(0, "poolsize"));
  477. var selCd = ds_grd_diagcdlist.getColumn(iRow, "termcd");
  478. if( iCnt != 0 ){
  479. for( var i=0; i < iCnt; i++ ){
  480. if( selCd == ds_temp_pool.getColumn(i, "cd") ){
  481. bool = "true";
  482. return;
  483. }
  484. }
  485. }
  486. /*
  487. SPASI03300_HIV-AIDS신고서.xfdl
  488. SPMMD06100_ClinicalRule관리.xfdl
  489. SMMQP00600_CP생성기.xfdl
  490. */
  491. var oDs = null;
  492. var oDsNm = null;
  493. if( utlf_isNull(opener) ){
  494. sysf_trace("화면의 opener 가 존재하지 않습니다.");
  495. return;
  496. }else if( opener.frmf_getScreenID() == "SPASI03300" ){
  497. oDsNm = "ds_grd_diagcdlist";
  498. }else{
  499. oDsNm = "ds_main_diaginfo_diaglist";
  500. }
  501. oDs = opener.objects[oDsNm];
  502. if( oDs == null ){
  503. opener.dsf_createDs(oDsNm, [{col:"termcd", type:"string", size:256}
  504. , {col:"termhngnm", type:"string", size:256}
  505. , {col:"termengnm", type:"string", size:256}
  506. , {col:"termflag", type:"string", size:256}
  507. , {col:"m", type:"string", size:256}]);
  508. oDs = opener.objects[oDsNm];
  509. }else if( oDs.getColumnInfo("m") == null ){
  510. oDs.addColumn("m", "string");
  511. }
  512. if( bool == "false" ){
  513. var sRow = ds_temp_getdata.getColumn(0, "grdfocus");
  514. if( utlf_isNull(sRow) ){
  515. sRow = "0";
  516. ds_temp_getdata.setColumn(0, "endVal", "E");
  517. }
  518. //sRow = parseInt(sRow) + 1;
  519. var selCd = ds_grd_diagcdlist.getColumn(iRow, "termcd");
  520. var selHNM = ds_grd_diagcdlist.getColumn(iRow, "hngnm");
  521. var selENM = ds_grd_diagcdlist.getColumn(iRow, "engnm");
  522. if( oDs.rowcount <= sRow )
  523. sRow = oDs.addRow();
  524. oDs.setColumn(sRow, "termcd", selCd);
  525. oDs.setColumn(sRow, "termhngnm", selHNM);
  526. oDs.setColumn(sRow, "termengnm", selENM);
  527. if( !utlf_isNull(usge) ){
  528. oDs.setColumn(sRow, "m", "i");
  529. }
  530. var termflag = "T01";
  531. if( ds_main_cond.getColumn(0, "trgflag") == "ICD" ){
  532. termflag = "T00";
  533. }
  534. oDs.setColumn(sRow, "termflag", termflag);
  535. ds_temp_getdata.setColumn(0, "grdfocus", parseInt(sRow) + 1);
  536. dsf_makeValue(ds_temp_pool, "cd", "string", selCd, iCnt);
  537. //ds_temp_pool.setColumn(iCnt, "cd", selCd);
  538. iCnt = parseInt(iCnt) + 1;
  539. ds_temp_getdata.setColumn(0, "poolsize", iCnt);
  540. }
  541. }
  542. /****************************************************************************************
  543. * Argument :
  544. * Description : 닫기 Button
  545. ****************************************************************************************/
  546. function grp_btn_button9_onclick(obj:Button, e:ClickEventInfo)
  547. {
  548. this.close();
  549. }
  550. ]]></Script>
  551. </Form>
  552. </FDL>