SMLNP00500_건수분석자료.xfdl 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMLNP00500" position="absolute 0 0 1201 758" titletext="건수분석자료" oninit="SMLNP00500_oninit" onload="SMLNP00500_onload">
  5. <Layouts>
  6. <Layout>
  7. <Static id="caption6" text="건수분석 자료관리" class="tit_1" position="absolute 0 0 176 23"/>
  8. <Shape id="line32" class="line_6" position="absolute 0 46 1194 52" anchor="left top right"/>
  9. <Button id="button11" taborder="1" text="출력" class="btn6" position="absolute 0 25 56 47" onclick="button11_onclick"/>
  10. <Button id="btn_reset" taborder="2" text="초기화" class="btn4" position="absolute 1127 25 1195 47" anchor="top right" onclick="btn_reset_onclick"/>
  11. <Shape id="line1" class="line_10" position="absolute 0 110 1194 116" anchor="left top right"/>
  12. <Div id="group1" taborder="3" class="div_SA" position="absolute 0 50 1195 85" anchor="left top right">
  13. <Layouts>
  14. <Layout>
  15. <Shape id="line3" linetype="vertical" class="line_4" position="absolute 1105 7 1111 29" anchor="top right"/>
  16. <Button id="btn_Ref" taborder="1" text="조회" class="btn1" position="absolute 1123 7 1179 29" anchor="top right" onclick="group1_btn_Ref_onclick"/>
  17. <Static id="caption11" text="기준월 :" class="search_name" position="absolute 40 10 107 27"/>
  18. <Calendar id="input3" taborder="2" autoselect="true" autoskip="true" dateformat="yyyy-MM" class="input_default" position="absolute 125 8 215 27" mask="yyyy-mm" value="null" editformat="yyyy-MM" onchanged="group1_input3_onchanged"/>
  19. <Calendar id="input7" taborder="3" autoselect="true" autoskip="true" dateformat="yyyy-MM" class="input_default" position="absolute 241 8 331 27" mask="yyyy-mm" editformat="yyyy-MM" onchanged="group1_input7_onchanged"/>
  20. <Static id="caption8" text="~" position="absolute 221 9 233 29"/>
  21. </Layout>
  22. </Layouts>
  23. </Div>
  24. <Static id="caption3" text="건수분석 리스트" class="tit_2" position="absolute 0 94 134 116"/>
  25. <Grid id="grd_usecntlist" taborder="4" binddataset="ds_main_usecntlist" useinputpanel="false" cellsizingtype="col" autofittype="col" position="absolute 0 115 1194 721" anchor="all">
  26. <Formats>
  27. <Format id="default">
  28. <Columns>
  29. <Column size="140"/>
  30. <Column size="85"/>
  31. <Column size="85"/>
  32. <Column size="85"/>
  33. <Column size="3"/>
  34. <Column size="140"/>
  35. <Column size="85"/>
  36. <Column size="85"/>
  37. <Column size="85"/>
  38. <Column size="3"/>
  39. <Column size="140"/>
  40. <Column size="85"/>
  41. <Column size="85"/>
  42. <Column size="85"/>
  43. </Columns>
  44. <Rows>
  45. <Row size="24" band="head"/>
  46. <Row size="24"/>
  47. </Rows>
  48. <Band id="head">
  49. <Cell text="검사명"/>
  50. <Cell col="1" text="1인당 소모량"/>
  51. <Cell col="2" text="월 환자수"/>
  52. <Cell col="3" text="월 실건수"/>
  53. <Cell col="4"/>
  54. <Cell col="5" text="검사명"/>
  55. <Cell col="6" text="1인당 소모량"/>
  56. <Cell col="7" text="월 환자수"/>
  57. <Cell col="8" text="월 실건수"/>
  58. <Cell col="9"/>
  59. <Cell col="10" text="검사명"/>
  60. <Cell col="11" text="1인당 소모량"/>
  61. <Cell col="12" text="월 환자수"/>
  62. <Cell col="13" text="월 실건수"/>
  63. </Band>
  64. <Band id="body">
  65. <Cell text="bind:tclsnm"/>
  66. <Cell col="1" text="bind:avgcnt"/>
  67. <Cell col="2" text="bind:patcnt"/>
  68. <Cell col="3" text="bind:testcnt"/>
  69. <Cell col="4" text="bind:tab1"/>
  70. <Cell col="5" text="bind:tclsnm2"/>
  71. <Cell col="6" text="bind:avgcnt2"/>
  72. <Cell col="7" text="bind:patcnt2"/>
  73. <Cell col="8" text="bind:testcnt2"/>
  74. <Cell col="9" text="bind:tab2"/>
  75. <Cell col="10" text="bind:tclsnm3"/>
  76. <Cell col="11" text="bind:avgcnt3"/>
  77. <Cell col="12" text="bind:patcnt3"/>
  78. <Cell col="13" text="bind:testcnt3"/>
  79. </Band>
  80. </Format>
  81. </Formats>
  82. </Grid>
  83. <Static id="caption4" text="근무일수" class="cell_1" position="absolute 579 727 649 750" anchor="left bottom"/>
  84. <Static id="caption5" text="일평균 환자수" class="cell_1" position="absolute 724 727 815 750" anchor="left bottom"/>
  85. <Static id="caption1" text="일평균 실건수" class="cell_1" position="absolute 907 727 998 750" anchor="left bottom"/>
  86. <MaskEdit id="input1" taborder="5" mask="#.##" position="absolute 816 729 905 748" anchor="left bottom" maskchar=" " trimtype="both" type="string"/>
  87. <Edit id="input2" taborder="6" position="absolute 650 729 722 748" anchor="left bottom" onkeydown="input2_onkeydown"/>
  88. <MaskEdit id="input4" taborder="7" mask="#.##" position="absolute 999 729 1088 748" anchor="left bottom" maskchar=" " trimtype="both" type="string"/>
  89. <Shape id="line2" linetype="horizontal" class="line_3" position="absolute 83 723 1090 729" anchor="left bottom"/>
  90. <Button id="btn_excel" taborder="8" text="엑셀저장" class="btn7" position="absolute 0 729 80 749" anchor="left bottom" onclick="btn_excel_onclick"/>
  91. <Static id="caption2" text="실건수 합계" class="cell_1" position="absolute 406 727 489 750" anchor="left bottom"/>
  92. <Static id="caption7" text="환자수 합계" class="cell_1" position="absolute 232 727 315 750" anchor="left bottom"/>
  93. <Edit id="input5" taborder="9" position="absolute 316 729 403 748" anchor="left bottom"/>
  94. <Edit id="input6" taborder="10" position="absolute 490 729 577 748" anchor="left bottom"/>
  95. <Shape id="line4" linetype="horizontal" class="line_3" position="absolute 83 749 1090 755" anchor="left bottom"/>
  96. <Static id="caption9" text="검사항목수" class="cell_1" position="absolute 82 727 160 750" anchor="left bottom"/>
  97. <Edit id="input8" taborder="11" position="absolute 162 729 229 748" anchor="left bottom"/>
  98. <Button id="button1" taborder="12" text="근무일수저장" class="btn4" position="absolute 1091 727 1195 749" anchor="right bottom" onclick="button1_onclick"/>
  99. </Layout>
  100. </Layouts>
  101. <Objects>
  102. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  103. <ColumnInfo>
  104. <Column id="srchym" type="STRING" size="256"/>
  105. <Column id="srchym2" type="STRING" size="256"/>
  106. <Column id="srchbdioflag" type="STRING" size="256"/>
  107. <Column id="workday" type="STRING" size="256"/>
  108. </ColumnInfo>
  109. <Rows>
  110. <Row>
  111. <Col id="srchym"/>
  112. <Col id="srchym2"/>
  113. <Col id="srchbdioflag"/>
  114. <Col id="workday"/>
  115. </Row>
  116. </Rows>
  117. </Dataset>
  118. <Dataset id="ds_main_usecntlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  119. <ColumnInfo>
  120. <Column id="tclsnm" type="STRING" size="256" sumtext="검사명"/>
  121. <Column id="avgcnt" type="STRING" size="256" sumtext="평균"/>
  122. <Column id="patcnt" type="STRING" size="256" sumtext="환자수"/>
  123. <Column id="testcnt" type="STRING" size="256" sumtext="검사수"/>
  124. <Column id="tclsnm2" type="STRING" size="256" sumtext="검사명"/>
  125. <Column id="avgcnt2" type="STRING" size="256" sumtext="평균"/>
  126. <Column id="patcnt2" type="STRING" size="256" sumtext="환자수"/>
  127. <Column id="testcnt2" type="STRING" size="256" sumtext="검사수"/>
  128. <Column id="tclsnm3" type="STRING" size="256" sumtext="검사명"/>
  129. <Column id="avgcnt3" type="STRING" size="256" sumtext="평균"/>
  130. <Column id="patcnt3" type="STRING" size="256" sumtext="환자수"/>
  131. <Column id="testcnt3" type="STRING" size="256" sumtext="검사수"/>
  132. <Column id="allpatsum" type="STRING" size="256" sumtext="검사수"/>
  133. <Column id="alltestsum" type="STRING" size="256" sumtext="검사수"/>
  134. <Column id="testcntsum" type="STRING" size="256" sumtext="검사수"/>
  135. </ColumnInfo>
  136. </Dataset>
  137. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  138. <ColumnInfo>
  139. <Column id="workday" type="STRING" size="256"/>
  140. <Column id="daypatcnt" type="STRING" size="256"/>
  141. <Column id="daytestcnt" type="STRING" size="256"/>
  142. <Column id="allpatsum" type="STRING" size="256"/>
  143. <Column id="alltestsum" type="STRING" size="256"/>
  144. <Column id="testcntsum" type="STRING" size="256"/>
  145. </ColumnInfo>
  146. <Rows>
  147. <Row>
  148. <Col id="workday"/>
  149. <Col id="daypatcnt"/>
  150. <Col id="daytestcnt"/>
  151. <Col id="allpatsum"/>
  152. <Col id="alltestsum"/>
  153. <Col id="testcntsum"/>
  154. </Row>
  155. </Rows>
  156. </Dataset>
  157. <Dataset id="ds_main_workday" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  158. <ColumnInfo>
  159. <Column id="cnt" type="STRING" size="256"/>
  160. </ColumnInfo>
  161. </Dataset>
  162. </Objects>
  163. <Bind>
  164. <BindItem id="item0" compid="group1.input7" propid="value" datasetid="ds_send" columnid="srchym2"/>
  165. <BindItem id="item1" compid="group1.input3" propid="value" datasetid="ds_send" columnid="srchym"/>
  166. <BindItem id="item2" compid="input8" propid="value" datasetid="ds_hidden" columnid="testcntsum"/>
  167. <BindItem id="item3" compid="input5" propid="value" datasetid="ds_hidden" columnid="allpatsum"/>
  168. <BindItem id="item4" compid="input6" propid="value" datasetid="ds_hidden" columnid="alltestsum"/>
  169. <BindItem id="item5" compid="input2" propid="value" datasetid="ds_hidden" columnid="workday"/>
  170. <BindItem id="item6" compid="input1" propid="value" datasetid="ds_hidden" columnid="daypatcnt"/>
  171. <BindItem id="item7" compid="input4" propid="value" datasetid="ds_hidden" columnid="daytestcnt"/>
  172. </Bind>
  173. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  174. * System Name :
  175. * Job Name :
  176. * Creator :
  177. * Make Date : 2015-05-01
  178. * Description :
  179. *---------------------------------------------------------------------------------------
  180. * Modify Date Modifier Modify Description
  181. *---------------------------------------------------------------------------------------
  182. * 2015-05-01 Live Converter TF->XP
  183. *
  184. *---------------------------------------------------------------------------------------
  185. ****************************************************************************************/
  186. include "com_commonxp::comm_main.xjs";
  187. function SMLNP00500_oninit(obj:Form, e:InitEventInfo)
  188. {
  189. frmf_initForm(obj);
  190. }
  191. function SMLNP00500_onload(obj:Form, e:LoadEventInfo)
  192. {
  193. grdf_initGrid(grd_usecntlist);
  194. fSetInit();
  195. }
  196. function fSetInit()
  197. {
  198. ds_main_usecntlist.clearData();
  199. var toDay = utlf_getCurrentDate();
  200. var toDays = toDay.substr(0,6);
  201. ds_send.setColumn(0, "srchbdioflag", "O");
  202. ds_send.setColumn(0, "srchym", toDays);
  203. ds_send.setColumn(0, "srchym2", toDays);
  204. ds_hidden.setColumn(0, "workday", "");
  205. ds_hidden.setColumn(0, "daypatcnt", "");
  206. ds_hidden.setColumn(0, "daytestcnt", "");
  207. }
  208. function group1_input3_onchanged(obj:Calendar, e:ChangeEventInfo)
  209. {
  210. ds_send.setColumn(0, "srchym", String(obj.value).substr(0,6));
  211. }
  212. function group1_input7_onchanged(obj:Calendar, e:ChangeEventInfo)
  213. {
  214. ds_send.setColumn(0, "srchym2", String(obj.value).substr(0,6));
  215. }
  216. function group1_btn_Ref_onclick(obj:Button, e:ClickEventInfo)
  217. {
  218. fGetUseCntList();
  219. }
  220. function fGetUseCntList()
  221. {
  222. ds_hidden.setColumn(0, "workday", "");
  223. ds_hidden.setColumn(0, "daypatcnt", "");
  224. ds_hidden.setColumn(0, "daytestcnt", "");
  225. ds_main_usecntlist.clearData();
  226. var oParam = {};
  227. oParam.id = "TRLNP00501";
  228. oParam.service = "refprintmngtapp.NmedRefPrintMngt";
  229. oParam.method = "reqGetUseCntList";
  230. oParam.inds = "cond=ds_send";
  231. oParam.outds = "ds_main_usecntlist=getUseCntList ds_main_workday=getWorkDay";
  232. oParam.async = false;
  233. //oParam.callback = "cf_TRLNP00501";
  234. tranf_submit(oParam);
  235. ds_hidden.setColumn(0, "alltestsum", ds_main_usecntlist.getColumn(0, "alltestsum"));
  236. ds_hidden.setColumn(0, "allpatsum", ds_main_usecntlist.getColumn(0, "allpatsum"));
  237. ds_hidden.setColumn(0, "testcntsum", ds_main_usecntlist.getColumn(0, "testcntsum"));
  238. ds_hidden.setColumn(0, "workday", ds_main_workday.getColumn(0, "cnt"));
  239. if(!utlf_isNull(ds_hidden.getColumn(0, "workday")))
  240. {
  241. fCalcnt();
  242. }
  243. }
  244. function fCalcnt()
  245. {
  246. ds_hidden.setColumn(0, "workday", input2.value);
  247. var daypatcnt = ds_main_usecntlist.getColumn(0, "allpatsum") / ds_hidden.getColumn(0, "workday");
  248. var daytestcnt = ds_main_usecntlist.getColumn(0, "alltestsum") / ds_hidden.getColumn(0, "workday");
  249. var ext = Math.pow(10, 2);
  250. var caldaypatcnt = Math.round(daypatcnt * ext) / ext;
  251. var caldaytestcnt = Math.round(daytestcnt * ext) / ext;
  252. ds_hidden.setColumn(0, "daypatcnt", caldaypatcnt);
  253. ds_hidden.setColumn(0, "daytestcnt", caldaytestcnt);
  254. }
  255. function input2_onkeydown(obj:Edit, e:KeyEventInfo)
  256. {
  257. if(e.keycode == 13)
  258. {
  259. fCalcnt();
  260. }
  261. }
  262. function btn_excel_onclick(obj:Button, e:ClickEventInfo)
  263. {
  264. grdf_exportExcel(grd_usecntlist, "", "", false, "", "", false);
  265. }
  266. function button1_onclick(obj:Button, e:ClickEventInfo)
  267. {
  268. fSetWorkDayCnt();
  269. }
  270. function fSetWorkDayCnt()
  271. {
  272. var srchym = ds_send.getColumn(0, "srchym");
  273. var srchym2 = ds_send.getColumn(0, "srchym2");
  274. if(srchym == srchym2)
  275. {
  276. ds_send.setColumn(0, "workday", ds_hidden.getColumn(0, "workday"));
  277. var oParam = {};
  278. oParam.id = "TXLNP00501";
  279. oParam.service = "refprintmngtapp.NmedRefPrintMngt";
  280. oParam.method = "reqSetWorkDayCnt";
  281. oParam.inds = "cond=ds_send";
  282. oParam.async = false;
  283. oParam.callback = "cf_TXLNP00501";
  284. tranf_submit(oParam);
  285. }
  286. else
  287. {
  288. alert("조회된 기간이 한달이 아닙니다.");
  289. }
  290. }
  291. function btn_reset_onclick(obj:Button, e:ClickEventInfo)
  292. {
  293. fSetInit();
  294. }
  295. function button11_onclick(obj:Button, e:ClickEventInfo)
  296. {
  297. fReportPrint();
  298. }
  299. function fReportPrint()
  300. {
  301. var objDOM = rptf_createDOM();
  302. rptf_setNodeListToDOM(objDOM, "/root/main/usecntlist", ds_main_usecntlist);
  303. rptf_setNodeListToDOM(objDOM, "/root/send", ds_send);
  304. var objParam = new Object();
  305. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  306. var option = "";
  307. rptf_exeReportPreview30(["RPLNP00500"],[objParam], option);
  308. }]]></Script>
  309. </Form>
  310. </FDL>