SPMMO00850_상병코드조회.xfdl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO00850" position="absolute 0 0 900 570" titletext="상병 코드 조회" oninit="SPMMO00850_oninit" onload="SPMMO00850_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="Div00" taborder="1" position="absolute 0 0 900 46" class="div_SA2">
  8. <Layouts>
  9. <Layout>
  10. <Static id="caption4" text="기준일자 :" class="search_name" position="absolute 21 12 99 32" anchor="default"/>
  11. <Calendar id="ipt_basedd" taborder="1" position="absolute 110 12 195 32" mask="yyyy-mm-dd" dateformat="yyyy-MM-dd" value="null" autoselect="true"/>
  12. <Radio id="rdo_diagkind" taborder="3" columncount="2" rowcount="0" codecolumn="codecolumn" datacolumn="datacolumn" visible="false" position="absolute 110 12 210 32" anchor="default">
  13. <Dataset id="innerdataset">
  14. <ColumnInfo>
  15. <Column id="codecolumn"/>
  16. <Column id="datacolumn"/>
  17. </ColumnInfo>
  18. <Rows>
  19. <Row>
  20. <Col id="codecolumn">1</Col>
  21. <Col id="datacolumn">ICD10</Col>
  22. </Row>
  23. <Row>
  24. <Col id="codecolumn">2</Col>
  25. <Col id="datacolumn">확장</Col>
  26. </Row>
  27. </Rows>
  28. </Dataset>
  29. </Radio>
  30. <CheckBox id="bol_between" taborder="4" position="absolute 247 12 333 32" text="범위검색" falsevalue="N" truevalue="Y" onclick="Div00_bol_between_onclick"/>
  31. <Div id="case1" taborder="5" position="absolute 360 12 792 32">
  32. <Layouts>
  33. <Layout>
  34. <Static id="caption1" text="상병코드 :" class="search_name" position="absolute 0 0 78 20" anchor="default"/>
  35. <Edit id="ipt_diagcd" taborder="3" position="absolute 85 0 155 20" anchor="default" inputmode="upper" autoselect="true" onkeydown="Div00_case1_ipt_diagcd_onkeydown"/>
  36. <Static id="caption3" text="상병명 :" class="search_name" position="absolute 180 0 243 20" anchor="default"/>
  37. <Edit id="ipt_diagnm" taborder="4" position="absolute 248 0 418 20" anchor="default" autoselect="true" onkeydown="Div00_case1_ipt_diagnm_onkeydown"/>
  38. </Layout>
  39. </Layouts>
  40. </Div>
  41. <Div id="case2" taborder="6" position="absolute 360 12 634 32" visible="false">
  42. <Layouts>
  43. <Layout>
  44. <Static id="caption5" text="상병코드 :" class="search_name" position="absolute 0 0 78 20" anchor="default"/>
  45. <Edit id="ipt_from" taborder="5" position="absolute 85 0 155 20" anchor="default" inputmode="upper" onkeydown="Div00_case2_ipt_from_onkeydown" autoselect="true"/>
  46. <Static id="caption6" text="~" position="absolute 163 0 174 20" anchor="default"/>
  47. <Edit id="ipt_to" taborder="6" position="absolute 180 0 255 20" anchor="default" inputmode="upper" onkeydown="Div00_case2_ipt_to_onkeydown" autoselect="true"/>
  48. </Layout>
  49. </Layouts>
  50. </Div>
  51. <Shape id="line13" linetype="vertical" class="line_4" position="absolute 817 11 823 33"/>
  52. <Button id="btn_search" taborder="2" text="조회" class="btn1" position="absolute 830 12 886 32" anchor="default" onclick="Div00_btn_search_onclick"/>
  53. </Layout>
  54. </Layouts>
  55. </Div>
  56. <Grid id="grd_diagmast" taborder="2" binddataset="ds_listdiag" useinputpanel="false" position="absolute 0 50 900 545" autofittype="col" cellclickbound="cell" oncellclick="grd_diagmast_oncellclick" oncelldblclick="grd_diagmast_oncelldblclick">
  57. <Formats>
  58. <Format id="default">
  59. <Columns>
  60. <Column size="25"/>
  61. <Column size="25"/>
  62. <Column size="0"/>
  63. <Column size="0"/>
  64. <Column size="67"/>
  65. <Column size="0"/>
  66. <Column size="385"/>
  67. <Column size="397"/>
  68. </Columns>
  69. <Rows>
  70. <Row size="24" band="head"/>
  71. <Row size="24"/>
  72. </Rows>
  73. <Band id="head">
  74. <Cell/>
  75. <Cell col="1" text="S"/>
  76. <Cell col="2" text="시작일자"/>
  77. <Cell col="3" text="종료일자"/>
  78. <Cell col="4" text="ICD10"/>
  79. <Cell col="5" text="상병코드"/>
  80. <Cell col="6" text="영문명"/>
  81. <Cell col="7" text="한글명"/>
  82. </Band>
  83. <Band id="body">
  84. <Cell celltype="head" text="expr:currow+1"/>
  85. <Cell col="1" displaytype="checkbox" edittype="checkbox" text="bind:status" expr="expr:(status == &quot;I&quot; || status == 1) ? 1 : 0"/>
  86. <Cell col="2" displaytype="none" edittype="none" text="bind:diagfromdd" mask="yyyy-mm-dd"/>
  87. <Cell col="3" displaytype="none" edittype="none" text="bind:diagtodd" mask="yyyy-mm-dd"/>
  88. <Cell col="4" style="align:left middle;" text="bind:diagcd"/>
  89. <Cell col="5" text="bind:termcd"/>
  90. <Cell col="6" style="align:left middle;" text="bind:diagengnm"/>
  91. <Cell col="7" style="align:left middle;" text="bind:diaghngnm"/>
  92. </Band>
  93. </Format>
  94. </Formats>
  95. </Grid>
  96. <Button id="btn_init" taborder="3" text="초기화" onclick="btn_init_onclick" class="btn3" visible="false" position="absolute 681 550 749 570"/>
  97. <Button id="button1" taborder="4" text="선택" onclick="button1_onclick" class="btn4" position="absolute 784 550 840 570"/>
  98. <Button id="btn_close" taborder="5" text="닫기" onclick="btn_close_onclick" class="btn3" position="absolute 844 550 900 570"/>
  99. </Layout>
  100. </Layouts>
  101. <Objects>
  102. <Dataset id="ds_listdiag" firefirstcount="0" firenextcount="0" useclientlayout="true" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false" oncolumnchanged="ds_listdiag_oncolumnchanged">
  103. <ColumnInfo>
  104. <Column id="status" type="STRING" size="256" sumtext="선택여부"/>
  105. <Column id="diagfromdd" type="STRING" size="256" sumtext="시작일자"/>
  106. <Column id="diagtodd" type="STRING" size="256" sumtext="종료일자"/>
  107. <Column id="diagcd" type="STRING" size="256" sumtext="ICO10코드"/>
  108. <Column id="termcd" type="STRING" size="256" sumtext="확장상병코드"/>
  109. <Column id="diaghngnm" type="STRING" size="256" sumtext="한글명"/>
  110. <Column id="diagengnm" type="STRING" size="256" sumtext="영문명"/>
  111. <Column id="spclcd" type="STRING" size="256" sumtext="특정코드"/>
  112. </ColumnInfo>
  113. </Dataset>
  114. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  115. <ColumnInfo>
  116. <Column id="basedd" type="STRING" size="256"/>
  117. <Column id="diagcd" type="STRING" size="256"/>
  118. <Column id="diagnm" type="STRING" size="256"/>
  119. <Column id="selectedrdodiagkind" type="STRING" size="256"/>
  120. <Column id="flag" type="STRING" size="256"/>
  121. <Column id="between" type="STRING" size="256"/>
  122. <Column id="fromcd" type="STRING" size="256"/>
  123. <Column id="tocd" type="STRING" size="256"/>
  124. </ColumnInfo>
  125. <Rows>
  126. <Row/>
  127. </Rows>
  128. </Dataset>
  129. </Objects>
  130. <Bind>
  131. <BindItem id="item0" compid="Div00.rdo_diagkind" propid="value" datasetid="ds_send" columnid="selectedrdodiagkind"/>
  132. <BindItem id="item1" compid="Div00.ipt_basedd" propid="value" datasetid="ds_send" columnid="basedd"/>
  133. <BindItem id="item2" compid="Div00.case2.ipt_from" propid="value" datasetid="ds_send" columnid="fromcd"/>
  134. <BindItem id="item3" compid="Div00.case2.ipt_to" propid="value" datasetid="ds_send" columnid="tocd"/>
  135. <BindItem id="item4" compid="Div00.case1.ipt_diagcd" propid="value" datasetid="ds_send" columnid="diagcd"/>
  136. <BindItem id="item5" compid="Div00.case1.ipt_diagnm" propid="value" datasetid="ds_send" columnid="diagnm"/>
  137. <BindItem id="item6" compid="Div00.bol_between" propid="value" datasetid="ds_send" columnid="between"/>
  138. </Bind>
  139. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  140. * System Name :
  141. * Job Name :
  142. * Creator :
  143. * Make Date : 2014-12-10
  144. * Description :
  145. *---------------------------------------------------------------------------------------
  146. * Modify Date Modifier Modify Description
  147. *---------------------------------------------------------------------------------------
  148. * 2014-12-10 Live Converter TF->XP
  149. *
  150. *---------------------------------------------------------------------------------------
  151. ****************************************************************************************/
  152. include "com_commonxp::comm_main.xjs";
  153. function SPMMO00850_oninit(obj:Form, e:InitEventInfo)
  154. {
  155. frmf_initForm(obj);
  156. grdf_initGrid(grd_diagmast);
  157. }
  158. function SPMMO00850_onload(obj:Form, e:LoadEventInfo)
  159. {
  160. grdf_setToolTipBind(grd_diagmast);
  161. fInitialize();
  162. }
  163. function ds_listdiag_oncolumnchanged(obj:Dataset, e:DSColChangeEventInfo)
  164. {
  165. if(e.columnid == "status")
  166. obj.setColumn(e.row, e.columnid, (e.newvalue == "I" || e.newvalue == 1) ? "I" : "N");
  167. }
  168. function grd_diagmast_oncellclick(obj:Grid, e:GridClickEventInfo)
  169. {
  170. if(e.col == 1) return;
  171. var status = ds_listdiag.getColumn(e.row, "status");
  172. ds_listdiag.setColumn(e.row, "status", (status == "I" || status == 1) ? "N" : "I");
  173. }
  174. function grd_diagmast_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  175. {
  176. if(e.row < 0 || e.col < 0) return;
  177. ds_listdiag.setColumn(e.row, "status", "I");
  178. var rtn1 = dsf_getDsCSV(ds_listdiag, null, null, "status:I");
  179. opener.frmf_setParameter( "SPMMO00800_rtn", rtn1 );
  180. opener.frmf_setParameter("SPMMO00800_rtn_useyn", "Y");
  181. close();
  182. }
  183. function Div00_bol_between_onclick(obj:CheckBox, e:ClickEventInfo)
  184. {
  185. if(obj.value == "Y"){
  186. Div00.case1.visible = false;
  187. Div00.case2.visible = true;
  188. ds_send.setColumn(0, "diagcd", "");
  189. ds_send.setColumn(0, "diagnm", "");
  190. } else{
  191. Div00.case1.visible = true;
  192. Div00.case2.visible = false;
  193. ds_send.setColumn(0, "fromcd", "");
  194. ds_send.setColumn(0, "tocd", "");
  195. }
  196. }
  197. function Div00_case1_ipt_diagcd_onkeydown(obj:Edit, e:KeyEventInfo)
  198. {
  199. if(e.keycode == 13) {
  200. obj.updateToDataset();
  201. fSearchDiag();
  202. }
  203. }
  204. function Div00_case1_ipt_diagnm_onkeydown(obj:Edit, e:KeyEventInfo)
  205. {
  206. if(e.keycode == 13) {
  207. obj.updateToDataset();
  208. fSearchDiag();
  209. }
  210. }
  211. function Div00_case2_ipt_from_onkeydown(obj:Edit, e:KeyEventInfo)
  212. {
  213. if(e.keycode == 13)
  214. Div00.case2.ipt_to.setFocus();
  215. }
  216. function Div00_case2_ipt_to_onkeydown(obj:Edit, e:KeyEventInfo)
  217. {
  218. if(e.keycode == 13) {
  219. obj.updateToDataset();
  220. fSearchDiag();
  221. }
  222. }
  223. function Div00_btn_search_onclick(obj:Button, e:ClickEventInfo)
  224. {
  225. fSearchDiag();
  226. }
  227. function btn_init_onclick(obj:Button, e:ClickEventInfo)
  228. {
  229. fInitialize();
  230. }
  231. function button1_onclick(obj:Button, e:ClickEventInfo)
  232. {
  233. if ( ds_listdiag.rowcount == 0 || ds_listdiag.getCaseCount("status == 'I'") == 0 ) {
  234. sysf_messageBox ( "선택된 진단이", "I004" );
  235. } else {
  236. var rtn1 = dsf_getDsCSV(ds_listdiag, null, null, "status:I");
  237. opener.frmf_setParameter( "SPMMO00800_rtn", rtn1 );
  238. opener.frmf_setParameter( "SPMMO00800_rtn_useyn", "Y");
  239. close();
  240. }
  241. }
  242. function btn_close_onclick(obj:Button, e:ClickEventInfo)
  243. {
  244. close(); // F5 실행시 IE를 종료시킨다.
  245. }
  246. // 화면을 초기화한다.
  247. function fInitialize() {
  248. opener.frmf_setParameter( "SPMMO00800_rtn", "" );
  249. opener.frmf_setParameter( "SPMMO00800_rtn_useyn", "N");
  250. var cond1 = opener.frmf_getParameter ( "SPMMO00800_cond1" ); //검색구분(1:코드, 2:명)
  251. var cond3 = opener.frmf_getParameter ( "SPMMO00800_cond3" ); //한영구분(H: 한글, E:영문)
  252. var cond5 = opener.frmf_getParameter ( "SPMMO00800_cond5" ); //검색내용
  253. ds_send.clearData();
  254. ds_send.addRow();
  255. if (cond1 == '1') {
  256. ds_send.setColumn(0, "diagcd",cond5);
  257. } else {
  258. ds_send.setColumn(0, "diagnm",cond5);
  259. }
  260. // 기본적으로 ICD10으로 초기화
  261. ds_send.setColumn(0, "selectedrdodiagkind", "1");
  262. var today = new Date();
  263. var syear = today.getDateFormat("YYYY"); // (dateHelper.js)에서 제공하는 함수를 사용하여 해당 년를 구한다.
  264. var smonth = today.getDateFormat("MM");
  265. var sday = today.getDateFormat("DD");
  266. ds_send.setColumn(0, "basedd", syear + smonth + sday);
  267. fSearchDiag();
  268. }
  269. // 상병코드 또는 상병명을 조건으로 상병을 조회한다.
  270. function fSearchDiag() {
  271. ds_listdiag.clearData();
  272. var oParam = {};
  273. oParam.id = "TRPIZ00401";
  274. oParam.service = "insucomapp.SickAndWounded";
  275. oParam.method = "reqGetSickAndWounded";
  276. oParam.inds = "req=ds_send";
  277. oParam.outds = "ds_listdiag=listdiag";
  278. oParam.async = true;
  279. tranf_submit(oParam);
  280. }
  281. ]]></Script>
  282. </Form>
  283. </FDL>