SMMRI00900_열람내역조회.xfdl 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.4">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMRI00900" position="absolute 0 0 1200 755" titletext="열람내역조회" onload="SMMRI00900_onload" oninit="SMMRI00900_oninit">
  5. <Layouts>
  6. <Layout>
  7. <Static text="열람내역조회" position="absolute 0 0 189 25" id="caption6" class="tit_1" anchor="default"/>
  8. <!--
  9. <Div position="absolute 0 13 1195 757" id="group5" scrollbars="autoboth">
  10. <Layouts>
  11. <Layout>
  12. -->
  13. <Div position="absolute 0 25 1194 60" align="align:center top;" id="group6" class="div_SA" anchor="left top right">
  14. <Layouts>
  15. <Layout>
  16. <Static text="열람일자 :" position="absolute 6 9 92 26" id="caption21" class="search_name" anchor="default"/>
  17. <Shape position="absolute 1103 7 1109 29" linetype="vertical" id="line18" class="line_4" anchor="top right"/>
  18. <Calendar position="absolute 96 9 191 28" id="ipt_formrecdtfr" class="input_s_essential" anchor="default" autoskip="true"/>
  19. <Calendar position="absolute 270 9 365 28" id="input18" class="input_s_essential" anchor="default" autoskip="true"/>
  20. <Static text="~" position="absolute 248 9 268 29" align="align:center middle;" id="caption4" anchor="default"/>
  21. <Static text="열람자 :" position="absolute 435 9 521 26" id="caption22" class="search_name" anchor="default"/>
  22. <Static text="등록번호 :" position="absolute 650 9 736 26" id="caption34" class="search_name" anchor="default"/>
  23. <Edit position="absolute 740 9 840 28" id="ipt_pid" class="input_search" anchor="default" onkeydown="group6_ipt_pid_onkeydown"/>
  24. <Edit position="absolute 515 9 615 28" id="ipt_usernm" class="input_search" anchor="default" onkeydown="group6_ipt_usernm_onkeydown"/>
  25. <Button position="absolute 843 9 859 25" id="btn_srchpid" class="icon_search" text="" anchor="default" onclick="group6_btn_srchpid_onclick"/>
  26. <Button position="absolute 618 9 634 25" id="btn_srchuserinfo" class="icon_search" text="" anchor="default" onclick="group6_btn_srchuserinfo_onclick"/>
  27. <Button position="absolute 1122 7 1178 29" id="btn_srch" class="btn1" text="조회" anchor="top right" onclick="group6_btn_srch_onclick"/>
  28. <Static text="열람구분 :" position="absolute 880 9 966 26" id="caption23" class="search_name" anchor="default"/>
  29. <Combo position="absolute 970 9 1040 28" id="combo4" class="combo_search" codecolumn="codecolumn" datacolumn="datacolumn" anchor="default">
  30. <Dataset id="innerdataset">
  31. <ColumnInfo>
  32. <Column id="codecolumn"/>
  33. <Column id="datacolumn"/>
  34. </ColumnInfo>
  35. <Rows>
  36. <Row>
  37. <Col id="codecolumn">-</Col>
  38. <Col id="datacolumn">전체</Col>
  39. </Row>
  40. <Row>
  41. <Col id="codecolumn">R</Col>
  42. <Col id="datacolumn">조회</Col>
  43. </Row>
  44. <Row>
  45. <Col id="codecolumn">P</Col>
  46. <Col id="datacolumn">출력</Col>
  47. </Row>
  48. </Rows>
  49. </Dataset>
  50. </Combo>
  51. <MaskEdit position="absolute 195 9 245 28" id="input19" class="input_s_essential" mask="##:##" anchor="default" autoskip="true" type="string" style="align:center middle;"/>
  52. <MaskEdit position="absolute 370 9 420 28" id="input20" class="input_s_essential" mask="##:##" anchor="default" autoskip="true" type="string" style="align:center middle;"/>
  53. </Layout>
  54. </Layouts>
  55. </Div>
  56. <Shape position="absolute 0 87 1194 93" linetype="horizontal" id="line19" class="line_1" anchor="left top right"/>
  57. <Shape position="absolute 0 747 1194 753" linetype="horizontal" id="line16" class="line_2" anchor="left right bottom"/>
  58. <Button position="absolute 1135 64 1191 86" id="btn_excel" class="btn7" text="엑셀" onclick="btn_excel_onclick" anchor="top right"/>
  59. <Grid position="absolute 0 91 1194 746" id="grd_readprtlist" binddataset="ds_grd_readprtlist" cellsizingtype="col" anchor="all">
  60. <Formats>
  61. <Format id="default">
  62. <Columns>
  63. <Column size="20" band="left"/>
  64. <Column size="66"/>
  65. <Column size="90"/>
  66. <Column size="22"/>
  67. <Column size="66"/>
  68. <Column size="70"/>
  69. <Column size="80"/>
  70. <Column size="80"/>
  71. <Column size="81"/>
  72. <Column size="100"/>
  73. <Column size="150"/>
  74. <Column size="150"/>
  75. <Column size="90"/>
  76. <Column size="89"/>
  77. <Column size="100"/>
  78. <Column size="100"/>
  79. <Column size="130"/>
  80. <Column size="100"/>
  81. <Column size="160"/>
  82. <Column size="160"/>
  83. <Column size="120"/>
  84. </Columns>
  85. <Rows>
  86. <Row size="24" band="head"/>
  87. <Row size="24"/>
  88. </Rows>
  89. <Band id="head">
  90. <Cell celltype="none"/>
  91. <Cell col="1" text="열람구분"/>
  92. <Cell col="2" text="열람신청번호"/>
  93. <Cell col="3"/>
  94. <Cell col="4" text="내원구분"/>
  95. <Cell col="5" text="퇴원일"/>
  96. <Cell col="6" text="검색자ID"/>
  97. <Cell col="7" text="검색자명"/>
  98. <Cell col="8" text="직종"/>
  99. <Cell col="9" text="부서명"/>
  100. <Cell col="10" text="조회/출력사유"/>
  101. <Cell col="11" text="기타사유"/>
  102. <Cell col="12" text="등록번호"/>
  103. <Cell col="13" text="환자명"/>
  104. <Cell col="14" text="진료일"/>
  105. <Cell col="15" text="진료과"/>
  106. <Cell col="16" text="기록지명"/>
  107. <Cell col="17" text="기록일자"/>
  108. <Cell col="18" text="열람시작일시"/>
  109. <Cell col="19" text="열람종료일시"/>
  110. <Cell col="20" text="열람소요시간"/>
  111. </Band>
  112. <Band id="body">
  113. <Cell celltype="head" text="expr:currow + 1"/>
  114. <Cell col="1" text="bind:readprtflag"/>
  115. <Cell col="2" style="align:left;" text="bind:appno"/>
  116. <Cell col="3" text="bind:histno"/>
  117. <Cell col="4" text="bind:ordtype"/>
  118. <Cell col="5" text="bind:dschdd" mask="expr:dschdd == '-' ? '#' : '####-##-##'"/>
  119. <Cell col="6" text="bind:userid"/>
  120. <Cell col="7" text="bind:usernm"/>
  121. <Cell col="8" text="bind:grupjoblnnm"/>
  122. <Cell col="9" text="bind:userdeptnm"/>
  123. <Cell col="10" style="align:left;" text="bind:rsnnm"/>
  124. <Cell col="11" style="align:left;" text="bind:refremark"/>
  125. <Cell col="12" text="bind:pid"/>
  126. <Cell col="13" text="bind:hngnm"/>
  127. <Cell col="14" text="bind:orddd" mask="expr:utlf_isNull(orddd) ? '' : '####-##-##'"/>
  128. <Cell col="15" text="bind:orddeptnm"/>
  129. <Cell col="16" text="bind:formnm"/>
  130. <Cell col="17" text="bind:recdd" mask="expr:utlf_isNull(recdd) ? '' : '####-##-##'"/>
  131. <Cell col="18" text="bind:readstartdt" mask="expr:utlf_isNull(readstartdt) ? '' : '####-##-## ##:##:##'"/>
  132. <Cell col="19" text="bind:readenddt" mask="expr:utlf_isNull(readenddt) ? '' : '####-##-## ##:##:##'"/>
  133. <Cell col="20" text="bind:readtime" mask="expr:utlf_isNull(readtime) ? '' : '##:##:##'"/>
  134. </Band>
  135. </Format>
  136. </Formats>
  137. </Grid>
  138. <!--
  139. </Layout>
  140. </Layouts>
  141. </Div>
  142. -->
  143. </Layout>
  144. </Layouts>
  145. <Objects>
  146. <Dataset id="ds_grd_readprtlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  147. <ColumnInfo>
  148. <Column id="readprtflag" type="STRING" size="256"/>
  149. <Column id="appno" type="STRING" size="256"/>
  150. <Column id="histno" type="STRING" size="256"/>
  151. <Column id="ordtype" type="STRING" size="256"/>
  152. <Column id="dschdd" type="STRING" size="256"/>
  153. <Column id="userid" type="STRING" size="256"/>
  154. <Column id="usernm" type="STRING" size="256"/>
  155. <Column id="grupjoblnnm" type="STRING" size="256"/>
  156. <Column id="userdeptnm" type="STRING" size="256"/>
  157. <Column id="rsnnm" type="STRING" size="256"/>
  158. <Column id="refremark" type="STRING" size="256"/>
  159. <Column id="pid" type="STRING" size="256"/>
  160. <Column id="hngnm" type="STRING" size="256"/>
  161. <Column id="orddd" type="STRING" size="256"/>
  162. <Column id="orddeptnm" type="STRING" size="256"/>
  163. <Column id="formnm" type="STRING" size="256"/>
  164. <Column id="recdd" type="STRING" size="256"/>
  165. <Column id="readstartdt" type="STRING" size="256"/>
  166. <Column id="readenddt" type="STRING" size="256"/>
  167. <Column id="readtime" type="STRING" size="256"/>
  168. </ColumnInfo>
  169. </Dataset>
  170. <Dataset id="ds_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  171. <ColumnInfo>
  172. <Column id="srchfromdd" type="STRING" size="256"/>
  173. <Column id="srchtodd" type="STRING" size="256"/>
  174. <Column id="userid" type="STRING" size="256"/>
  175. <Column id="usernm" type="STRING" size="256"/>
  176. <Column id="pid" type="STRING" size="256"/>
  177. <Column id="hngnm" type="STRING" size="256"/>
  178. <Column id="readprtflag" type="STRING" size="256"/>
  179. <Column id="srchfromtm" type="STRING" size="256"/>
  180. <Column id="srchtotm" type="STRING" size="256"/>
  181. </ColumnInfo>
  182. <Rows>
  183. <Row>
  184. <Col id="readprtflag">-</Col>
  185. </Row>
  186. </Rows>
  187. </Dataset>
  188. <Dataset id="ds_send_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  189. <Dataset id="ds_patinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  190. <Dataset id="ds_temp_userinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  191. <ColumnInfo>
  192. <Column id="userid" type="STRING" size="256"/>
  193. <Column id="usernm" type="STRING" size="256"/>
  194. <Column id="deptcd" type="STRING" size="256"/>
  195. <Column id="instcd" type="STRING" size="256"/>
  196. <Column id="depthngnm" type="STRING" size="256"/>
  197. </ColumnInfo>
  198. <Rows>
  199. <Row/>
  200. </Rows>
  201. </Dataset>
  202. </Objects>
  203. <Bind>
  204. <BindItem id="item0" compid="group6.ipt_formrecdtfr" propid="value" datasetid="ds_cond" columnid="srchfromdd"/>
  205. <BindItem id="item1" compid="group6.input18" propid="value" datasetid="ds_cond" columnid="srchtodd"/>
  206. <BindItem id="item2" compid="group6.ipt_pid" propid="value" datasetid="ds_cond" columnid="pid"/>
  207. <BindItem id="item3" compid="group6.ipt_usernm" propid="value" datasetid="ds_cond" columnid="usernm"/>
  208. <BindItem id="item4" compid="group6.combo4" propid="value" datasetid="ds_cond" columnid="readprtflag"/>
  209. <BindItem id="item5" compid="group6.input19" propid="value" datasetid="ds_cond" columnid="srchfromtm"/>
  210. <BindItem id="item6" compid="group6.input20" propid="value" datasetid="ds_cond" columnid="srchtotm"/>
  211. </Bind>
  212. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  213. * System Name : HIT
  214. * Job Name :
  215. * File Name : .xfdl
  216. * Creator :
  217. * Make Date : 2014-02-18
  218. *
  219. * Description :
  220. *---------------------------------------------------------------------------------------
  221. * Modify Date Modifier Modify Description
  222. *---------------------------------------------------------------------------------------
  223. * 2014-02-18 HIT
  224. *
  225. *---------------------------------------------------------------------------------------
  226. ****************************************************************************************/
  227. //=======================================================================================
  228. // Lib Include
  229. //---------------------------------------------------------------------------------------
  230. include "com_commonxp::comm_main.xjs"
  231. //=======================================================================================
  232. // Global Form Variable
  233. //---------------------------------------------------------------------------------------
  234. //=======================================================================================
  235. // Function
  236. //---------------------------------------------------------------------------------------
  237. /****************************************************************************************
  238. * Argument : 01.sKey : 코드아이디
  239. * : 02.sValue : 코드명
  240. * Description : 공통코드를 가져온다.
  241. ****************************************************************************************/
  242. //=======================================================================================
  243. // Transaction Callback
  244. //---------------------------------------------------------------------------------------
  245. /****************************************************************************************
  246. * Argument : 01.sSvcId : 서비스 ID
  247. * : 02.nErrorCode : 에러코드
  248. * : 03.sErrorMsg : 에러메시지
  249. * Description : tr_getCodeList의 콜백함수
  250. ****************************************************************************************/
  251. //=======================================================================================
  252. // Event
  253. //---------------------------------------------------------------------------------------
  254. /****************************************************************************************
  255. * Components :
  256. * Components ID : button5
  257. * Event : onlbuttonup
  258. * Argument : 01.obj : Object Event has occurred
  259. * : 02.e : Event Object
  260. * Description :
  261. ****************************************************************************************/
  262. function SMMRI00900_oninit(obj:Form, e:InitEventInfo)
  263. {
  264. frmf_initForm(obj);
  265. }
  266. function SMMRI00900_onload(obj:Form, e:LoadEventInfo)
  267. {
  268. grdf_initGrid(grd_readprtlist);
  269. fInitalize();
  270. }
  271. /**
  272. * @desc : 화면초기화
  273. * @id :
  274. * @event : xforms-ready
  275. * @return : void
  276. * @authur : 이은영
  277. */
  278. function fInitalize(){
  279. var today = utlf_getCurrentDate();
  280. ds_cond.setColumn(0, "srchtodd" , today );
  281. ds_cond.setColumn(0, "srchfromdd", today );
  282. ds_cond.setColumn(0, "srchtotm" , "2359" );
  283. ds_cond.setColumn(0, "srchfromtm", "0000" );
  284. if(frmf_checkOpener()){
  285. var sParam = opener.frmf_getParameter("SMMRI00900_param");
  286. sysf_trace("***** sParam : " + sParam + " *****");
  287. if(!utlf_isNull(sParam)){
  288. ds_cond.setColumn(0, "pid", sParam);
  289. }
  290. }
  291. /* 요청번호(13756)에 따른 수정
  292. 2010-04-29 나종천 */
  293. // fSearch();
  294. }
  295. /**
  296. * @desc : 환자번호 정보조회
  297. * @id :
  298. * @event : onkeypress
  299. * @return : void
  300. * @authur :
  301. */
  302. function fPatPopUp()
  303. {
  304. dsf_deleteDataSet("ds_temp_patcond");
  305. //SPPMC02500 화면에서 전달받는 dataset이란 가정!!
  306. ds_patinfo.clearData();
  307. ds_send_cond.clearData();
  308. var objColInfo = new Array();
  309. objColInfo.push({col: "pid", type:"string", size:256, val:group6.ipt_pid.text});
  310. objColInfo.push({col: "srchcond", type:"string", size:256, val:"1"});
  311. objColInfo.push({col: "autoflag", type:"string", size:256, val:"Y"});
  312. dsf_createDsRow("ds_temp_patcond", objColInfo);
  313. var objArgs = new Object();
  314. objArgs.srchcond = utlf_isNull(ds_temp_patcond.getColumnInfo("srchcond")) ? "" : ds_temp_patcond.getColumn(0, "srchcond");
  315. objArgs.pid = utlf_isNull(ds_temp_patcond.getColumnInfo("pid")) ? "" : ds_temp_patcond.getColumn(0, "pid");
  316. objArgs.hngnm = "";
  317. objArgs.rrgstno1 = "";
  318. objArgs.rrgstno2 = "";
  319. objArgs.autoflag = utlf_isNull(ds_temp_patcond.getColumnInfo("autoflag")) ? "" : ds_temp_patcond.getColumn(0, "autoflag");
  320. frmf_modal("SPPMC02500", "SPPMC02500", objArgs, null, "1", "10", "10", null, null, null, null, null, "M");
  321. ds_cond.setColumn(0, "pid", ds_patinfo.getColumn(0, "pid"));
  322. ds_cond.setColumn(0, "hngnm", ds_patinfo.getColumn(0, "hngnm"));
  323. }
  324. /**
  325. * @desc : 사용자 검색 팝업
  326. * @id :
  327. * @event : DOMActivate
  328. * @return : void
  329. * @authur :
  330. */
  331. function fPopUpUserInfo(pGrid,srchCol,rsltCol){
  332. frmf_setParameter("reqflag", "usernm");
  333. frmf_setParameter("usernm", group6.ipt_usernm.text);
  334. frmf_setParameter("stnddd", ds_cond.getColumn(0, "srchtodd"));
  335. frmf_setParameter("autortnyn","Y");
  336. ds_temp_userinfo.clearData();
  337. ds_temp_userinfo.addRow();
  338. frmf_modal("SPMRF03200", "SPMRF03200", null, null, null, null, null, null, null, null, null, null, "M");
  339. ds_cond.setColumn(0, "userid", ds_temp_userinfo.getColumn(0, "userid"));
  340. ds_cond.setColumn(0, "usernm", ds_temp_userinfo.getColumn(0, "usernm"));
  341. }
  342. /**
  343. * @desc : 사용자 정보 얻기
  344. * @id :
  345. * @event :
  346. * @return : void
  347. * @authur :
  348. */
  349. function fGetUserInfo(userid,usernm,deptcd ,instcd){
  350. ds_temp_userinfo.setColumn(0, "userid", userid);
  351. ds_temp_userinfo.setColumn(0, "usernm", usernm.getTrim());
  352. ds_temp_userinfo.setColumn(0, "deptcd", deptcd);
  353. ds_temp_userinfo.setColumn(0, "instcd", instcd);
  354. }
  355. /**
  356. * @desc : 조회
  357. * @id :
  358. * @event : DOMActivate
  359. * @return : void
  360. * @authur :
  361. */
  362. function fSearch(){
  363. if(!utlf_isValidDateTime(ds_cond.getColumn(0, "srchfromdd"),"YYYYMMDD")){
  364. sysf_messageBox("검색 시작일자를 유효한 날짜로","C001");
  365. return;
  366. }
  367. if(!utlf_isValidDateTime(ds_cond.getColumn(0, "srchtodd"),"YYYYMMDD")){
  368. sysf_messageBox("검색 종료일자를 유효한 날짜로","C001");
  369. return;
  370. }
  371. if(!utlf_isValidDateTime(ds_cond.getColumn(0, "srchfromtm"),"hhmm")){
  372. sysf_messageBox("검색 시작시간를 유효한 시간로","C001");
  373. return;
  374. }
  375. if(!utlf_isValidDateTime(ds_cond.getColumn(0, "srchtotm"),"hhmm")){
  376. sysf_messageBox("검색 종료시간를 유효한 시간로","C001");
  377. return;
  378. }
  379. var srchfromtm = ds_cond.getColumn(0, "srchfromtm");
  380. var srchtotm = ds_cond.getColumn(0, "srchtotm");
  381. ds_cond.setColumn(0, "srchfromtm", srchfromtm.getLeftPad(4, "0"));
  382. ds_cond.setColumn(0, "srchtotm" , srchtotm.getLeftPad(4, "0"));
  383. if (utlf_isNull(ds_cond.getColumn(0, "usernm")))
  384. {
  385. ds_cond.setColumn(0, "userid", "");
  386. }
  387. if (utlf_isNull(ds_cond.getColumn(0, "pid")))
  388. {
  389. ds_cond.getColumn(0, "hngnm", "");
  390. }
  391. ds_send_cond.clearData();
  392. ds_send_cond.copyData(ds_cond);
  393. sysf_trace(ds_send_cond.saveXML());
  394. var oParam = {};
  395. oParam.id = "TRMRI00901";
  396. oParam.service = "recmngtapp.SystView";
  397. oParam.method = "reqGetReadPrtList";
  398. oParam.inds = "req=ds_send_cond";
  399. oParam.outds = "ds_grd_readprtlist=readprtinfo";
  400. oParam.async = false;
  401. //oParam.callback = "cf_TRMRI00901";
  402. tranf_submit(oParam);
  403. sysf_trace(ds_grd_readprtlist.saveXML());
  404. }
  405. function group6_ipt_pid_onkeydown(obj:Edit, e:KeyEventInfo)
  406. {
  407. if(e.keycode == "13") {
  408. fPatPopUp();
  409. }
  410. }
  411. function group6_ipt_usernm_onkeydown(obj:Edit, e:KeyEventInfo)
  412. {
  413. if(e.keycode == "13") {
  414. fPopUpUserInfo();
  415. }
  416. }
  417. function group6_btn_srchpid_onclick(obj:Button, e:ClickEventInfo)
  418. {
  419. fPatPopUp();
  420. }
  421. function group6_btn_srchuserinfo_onclick(obj:Button, e:ClickEventInfo)
  422. {
  423. fPopUpUserInfo();
  424. }
  425. function btn_excel_onclick(obj:Button, e:ClickEventInfo)
  426. {
  427. grdf_exportExcel(grd_readprtlist, "열람내역조회", "SheetName");
  428. // var fileName = window.fileDialog("save", ",", false, "열람내역조회", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  429. //
  430. // if (fileName != "")
  431. // {
  432. // grd_readprtlist.saveExcel(fileName, "SheetName", true, true, "", "", true);
  433. // }
  434. }
  435. function group6_btn_srch_onclick(obj:Button, e:ClickEventInfo)
  436. {
  437. fSearch();
  438. }
  439. ]]></Script>
  440. </Form>
  441. </FDL>