SMMNR02300_약물계산기.xfdl 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMNR02300" position="absolute 0 0 1200 765" titletext="약물계산기" oninit="SMMNR02300_oninit" onload="SMMNR02300_onload" scrollbars="none" ontimer="SMMNR02300_ontimer">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 1195 25" id="group1">
  8. <Layouts>
  9. <Layout>
  10. <Static text="약물계산기" position="absolute 0 0 101 25" id="caption6" class="tit_1"/>
  11. </Layout>
  12. </Layouts>
  13. </Div>
  14. <Div position="absolute 0 762 1195 789" id="grp_btn" scrollbars="autoboth"/>
  15. <Div position="absolute 0 18 1199 762" id="group5" scrollbars="autoboth">
  16. <Layouts>
  17. <Layout width="1199" height="743">
  18. <Static text="계산항목 리스트" position="absolute 0 9 170 25" id="caption42" class="tit_2" anchor="default"/>
  19. <Shape position="absolute 0 25 616 31" linetype="horizontal" id="line18" class="line_10" anchor="default"/>
  20. <Static text="항목별 계산요소 리스트" position="absolute 620 9 782 25" id="caption1" class="tit_2" anchor="default"/>
  21. <Shape position="absolute 620 25 1195 31" linetype="horizontal" id="line1" class="line_10" anchor="default"/>
  22. <Static text="항목별 계산식" position="absolute 0 380 129 396" id="caption2" class="tit_2" anchor="default"/>
  23. <Shape position="absolute 0 396 616 402" linetype="horizontal" id="line2" class="line_10" anchor="default"/>
  24. <Static text="실행결과" position="absolute 620 700 777 716" id="caption3" class="tit_2" anchor="default"/>
  25. <Shape position="absolute 620 716 1195 722" linetype="horizontal" id="line3" class="line_10" anchor="default"/>
  26. <Shape position="absolute 620 738 1195 744" linetype="horizontal" id="line4" class="line_3" anchor="default"/>
  27. <Grid position="absolute 0 30 616 370" id="grd_itemlist" binddataset="ds_main_iteminfo_itemlist" anchor="default" oncellclick="group5_grd_itemlist_oncellclick" cellsizingtype="col">
  28. <Formats>
  29. <Format id="default">
  30. <Columns>
  31. <Column size="239"/>
  32. <Column size="358"/>
  33. <Column size="0"/>
  34. <Column size="0"/>
  35. <Column size="0"/>
  36. </Columns>
  37. <Rows>
  38. <Row size="24" band="head"/>
  39. <Row size="24"/>
  40. </Rows>
  41. <Band id="head">
  42. <Cell text="항목명"/>
  43. <Cell col="1" text="항목설명"/>
  44. <Cell col="2" text="itemcd"/>
  45. <Cell col="3" text="calform"/>
  46. <Cell col="4" text="supcd"/>
  47. </Band>
  48. <Band id="body">
  49. <Cell style="align:left middle;" text="bind:itemnm"/>
  50. <Cell col="1" style="align:left middle;" text="bind:desccnts"/>
  51. <Cell col="2" text="bind:itemcd"/>
  52. <Cell col="3" text="bind:calform"/>
  53. <Cell col="4" text="bind:supcd"/>
  54. </Band>
  55. </Format>
  56. </Formats>
  57. </Grid>
  58. <Grid position="absolute 620 30 1195 690" id="grd_elmtlist" binddataset="ds_main_elmtinfo_elmtlist" anchor="default" cellsizingtype="col" autoenter="key">
  59. <Formats>
  60. <Format id="default">
  61. <Columns>
  62. <Column size="224"/>
  63. <Column size="239"/>
  64. <Column size="88"/>
  65. <Column size="0"/>
  66. <Column size="0"/>
  67. </Columns>
  68. <Rows>
  69. <Row size="24" band="head"/>
  70. <Row size="24"/>
  71. </Rows>
  72. <Band id="head">
  73. <Cell text="요소명칭"/>
  74. <Cell col="1" text="요소설명"/>
  75. <Cell col="2" text="입력값"/>
  76. <Cell col="3" text="itemcd"/>
  77. <Cell col="4" text="supcd"/>
  78. </Band>
  79. <Band id="body">
  80. <Cell style="align:left middle;" text="bind:itemnm"/>
  81. <Cell col="1" style="align:left middle;" text="bind:desccnts"/>
  82. <Cell col="2" displaytype="normal" edittype="normal" editfilter="number" style="align:left;padding:0 2 0 2;" text="bind:itemval" maskchar="_" editimemode="none" editlimitbymask="decimal"/>
  83. <Cell col="3" text="bind:itemcd"/>
  84. <Cell col="4" text="bind:supcd"/>
  85. </Band>
  86. </Format>
  87. </Formats>
  88. </Grid>
  89. <TextArea position="absolute 0 400 616 739" id="tar_calform" enable="false" anchor="default" style="font:Dotum,18;"/>
  90. <Edit readonly="true" position="absolute 620 720 1195 739" id="opt_itemval" anchor="default" style="font:Dotum,9,bold;" class="output"/>
  91. <Button position="absolute 1153 3 1195 22" id="btn_exec" class="btn2" text="실행" anchor="default" onclick="group5_btn_exec_onclick"/>
  92. </Layout>
  93. </Layouts>
  94. </Div>
  95. </Layout>
  96. </Layouts>
  97. <Objects>
  98. <Dataset id="ds_main_iteminfo_itemlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  99. <ColumnInfo>
  100. <Column id="itemnm" type="STRING" size="256"/>
  101. <Column id="desccnts" type="STRING" size="256"/>
  102. <Column id="itemcd" type="STRING" size="256"/>
  103. <Column id="calform" type="STRING" size="256"/>
  104. <Column id="supcd" type="STRING" size="256"/>
  105. </ColumnInfo>
  106. </Dataset>
  107. <Dataset id="ds_main_elmtinfo_elmtlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  108. <ColumnInfo>
  109. <Column id="itemnm" type="STRING" size="256"/>
  110. <Column id="desccnts" type="STRING" size="256"/>
  111. <Column id="itemval" type="BIGDECIMAL" size="256"/>
  112. <Column id="itemcd" type="STRING" size="256"/>
  113. <Column id="supcd" type="STRING" size="256"/>
  114. </ColumnInfo>
  115. </Dataset>
  116. <Dataset id="ds_main_srchinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  117. <ColumnInfo>
  118. <Column id="itemcalform" type="STRING" size="256"/>
  119. <Column id="rsltval" type="STRING" size="256"/>
  120. </ColumnInfo>
  121. <Rows>
  122. <Row/>
  123. </Rows>
  124. </Dataset>
  125. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  126. </Objects>
  127. <Bind>
  128. <BindItem id="item1" compid="group5.opt_itemval" propid="value" datasetid="ds_main_srchinfo" columnid="rsltval"/>
  129. <BindItem id="item0" compid="group5.tar_calform" propid="value" datasetid="ds_main_srchinfo" columnid="itemcalform"/>
  130. </Bind>
  131. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  132. * System Name :
  133. * Job Name :
  134. * Creator :
  135. * Make Date : 2015-11-13
  136. * Description :
  137. *---------------------------------------------------------------------------------------
  138. * Modify Date Modifier Modify Description
  139. *---------------------------------------------------------------------------------------
  140. * 2015-11-13 Live Converter TF->XP
  141. *
  142. *---------------------------------------------------------------------------------------
  143. ****************************************************************************************/
  144. include "com_commonxp::comm_main.xjs";
  145. var arErrorCode = new HashArray();
  146. function cf_TRMNR02302(sSvcId, nErrorCode, sErrorMsg) {
  147. arErrorCode.push(sSvcId, nErrorCode);
  148. if(nErrorCode < 0) return;
  149. utlf_addLog("***** cf_TRMNR02302 *****");
  150. }
  151. function SMMNR02300_oninit(obj:Form, e:InitEventInfo)
  152. {
  153. frmf_initForm(obj);
  154. }
  155. function SMMNR02300_onload(obj:Form, e:LoadEventInfo)
  156. {
  157. // dsf_makeValue(ds_send,"supcd", "string", "*");
  158. //
  159. // var oParam = {};
  160. // oParam.id = "TRMNR02301";
  161. // oParam.service = "carerecapp.ClincObsRec";
  162. // oParam.method = "reqGetDrugCalcItemList";
  163. // oParam.inds = "refCond=ds_send";
  164. // oParam.outds = "ds_main_iteminfo_itemlist=itemlist";
  165. // oParam.async = false;
  166. //
  167. // tranf_submit(oParam);
  168. //
  169. // ds_main_iteminfo_itemlist.rowposition = -1;
  170. this.setTimer(0, 100);
  171. }
  172. function group5_grd_itemlist_oncellclick(obj:Grid, e:GridClickEventInfo)
  173. {
  174. var xItemtListPath = "ds_main_iteminfo_itemlist";
  175. var sItemRow = ds_main_iteminfo_itemlist.rowposition;
  176. if(sItemRow < 0) return;
  177. ds_send.clearData();
  178. dsf_makeValue(ds_send,"supcd", "string", ds_main_iteminfo_itemlist.getColumn(sItemRow, "itemcd"));
  179. var oParam = {};
  180. oParam.id = "TRMNR02302";
  181. oParam.service = "carerecapp.ClincObsRec";
  182. oParam.method = "reqGetDrugCalcItemList";
  183. oParam.inds = "refCond=ds_send";
  184. oParam.outds = "ds_main_elmtinfo_elmtlist=elmtlist";
  185. oParam.async = false;
  186. oParam.callback = "cf_TRMNR02302";
  187. tranf_submit(oParam);
  188. ds_main_elmtinfo_elmtlist.addColumn("itemval", "string");
  189. ds_main_elmtinfo_elmtlist.rowposition = -1;
  190. if(arErrorCode.pop("TRMNR02302") > -1){
  191. ds_main_srchinfo.setColumn(0, "itemcalform", ds_main_iteminfo_itemlist.getColumn(sItemRow, "calform"));
  192. ds_main_srchinfo.setColumn(0, "rsltval","");
  193. }
  194. }
  195. function group5_btn_exec_onclick(obj:Button, e:ClickEventInfo)
  196. {
  197. var xElmtListPath = "ds_main_elmtinfo_elmtlist";
  198. var sItemVal = 0;
  199. var sItemNM = "";
  200. var sCalForm = ds_main_srchinfo.getColumn(0, "itemcalform");
  201. if( utlf_isNull(sCalForm) ){
  202. sysf_messageBox("계산항목을 먼저","C002");
  203. return;
  204. }
  205. // 입력 여부 체크 및 값 설정
  206. for(var iRow = 0; iRow < ds_main_elmtinfo_elmtlist.rowcount; iRow++){
  207. if( utlf_isNull(ds_main_elmtinfo_elmtlist.getColumn(iRow, "itemval")) ){
  208. sysf_messageBox("입력값은","I003");
  209. return;
  210. }
  211. sItemNM = ds_main_elmtinfo_elmtlist.getColumn(iRow, "itemnm");
  212. sItemVal = ds_main_elmtinfo_elmtlist.getColumn(iRow, "itemval");
  213. while(sCalForm.indexOf(sItemNM) >= 0){
  214. sCalForm = sCalForm.replace(sItemNM, sItemVal);
  215. }
  216. }
  217. var sRsltVal = eval(sCalForm);
  218. ds_main_srchinfo.setColumn(0, "rsltval",sRsltVal);
  219. }
  220. function SMMNR02300_ontimer(obj:Form, e:TimerEventInfo)
  221. {
  222. if( e.timerid == 0 ){
  223. this.killTimer(0);
  224. dsf_makeValue(ds_send,"supcd", "string", "*");
  225. var oParam = {};
  226. oParam.id = "TRMNR02301";
  227. oParam.service = "carerecapp.ClincObsRec";
  228. oParam.method = "reqGetDrugCalcItemList";
  229. oParam.inds = "refCond=ds_send";
  230. oParam.outds = "ds_main_iteminfo_itemlist=itemlist";
  231. oParam.async = false;
  232. tranf_submit(oParam);
  233. ds_main_iteminfo_itemlist.rowposition = -1;
  234. }
  235. }
  236. ]]></Script>
  237. </Form>
  238. </FDL>