SMPMI03500_응급재원환자현황판.xfdl 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMPMI03500" position="absolute 0 0 1024 694" titletext="응급 재원 환자 현황판" onload="SMPMI03500_onload" ontimer="SMPMI03500_ontimer" onkeyup="SMPMI03500_onkeyup" scrollbars="none">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 17 1005 651" id="grp_biz" scrollbars="none">
  8. <Layouts>
  9. <Layout>
  10. <Div position="absolute 0 0 1004 40" align="align:center top;" id="group1" class="div_SA2" visible="false" anchor="default">
  11. <Layouts>
  12. <Layout width="1004" height="40">
  13. <Shape position="absolute 914 9 920 31" linetype="vertical" id="line13" class="line_4" visible="false" anchor="default"/>
  14. <Button position="absolute 933 9 989 31" id="btn_select" class="btn1" taborder="1" visible="false" text="조회" anchor="default" onclick="grp_biz_group1_btn_select_onclick"/>
  15. <Calendar position="absolute 45 10 145 29" id="ipt_dlivdd" class="output" taborder="2" visible="false" autoselect="true" autoskip="true" dateformat="yyyy-MM-dd" value="null" anchor="default"/>
  16. </Layout>
  17. </Layouts>
  18. </Div>
  19. <Grid position="absolute 0 43 1005 604" align="align:center middle;" id="grd_list" class="datagrid_btype" scrollbars="none" binddataset="ds_main_empatlist_empatinfo" anchor="default">
  20. <Formats>
  21. <Format id="default">
  22. <Columns>
  23. <Column size="111"/>
  24. <Column size="154"/>
  25. <Column size="149"/>
  26. <Column size="221"/>
  27. <Column size="184"/>
  28. <Column size="199"/>
  29. </Columns>
  30. <Rows>
  31. <Row size="54" band="head"/>
  32. <Row size="74"/>
  33. </Rows>
  34. <Band id="head">
  35. <Cell style="background:#99ccffff;background2:#99ccffff;color:#808000ff;color2:#808000ff;font:휴먼엑스포,25;controlborder:1 solid #c0c0c0ff #c0c0c0ff;" text="bed"/>
  36. <Cell col="1" style="background:#99ccffff;background2:#99ccffff;color:#808000ff;color2:#808000ff;font:휴먼엑스포,25;controlborder:1 solid #c0c0c0ff #c0c0c0ff;" text="성명"/>
  37. <Cell col="2" style="background:#99ccffff;background2:#99ccffff;color:#808000ff;color2:#808000ff;font:휴먼엑스포,25;controlborder:1 solid #c0c0c0ff #c0c0c0ff;" text="성별/나이"/>
  38. <Cell col="3" style="background:#99ccffff;background2:#99ccffff;color:#808000ff;color2:#808000ff;font:휴먼엑스포,25;controlborder:1 solid #c0c0c0ff #c0c0c0ff;" text="진료과"/>
  39. <Cell col="4" style="background:#99ccffff;background2:#99ccffff;color:#808000ff;color2:#808000ff;font:휴먼엑스포,25;controlborder:1 solid #c0c0c0ff #c0c0c0ff;" text="입원정보"/>
  40. <Cell col="5" style="background:#99ccffff;background2:#99ccffff;color:#808000ff;color2:#808000ff;font:휴먼엑스포,25;controlborder:1 solid #c0c0c0ff #c0c0c0ff;" text="퇴원정보"/>
  41. </Band>
  42. <Band id="body">
  43. <Cell style="font:휴먼엑스포,20;" text="bind:bed"/>
  44. <Cell col="1" style="font:휴먼엑스포,20;" text="bind:hngnm"/>
  45. <Cell col="2" style="font:휴먼엑스포,20;" text="bind:age"/>
  46. <Cell col="3" style="font:휴먼엑스포,20;" text="bind:orddeptcd" wordwrap="char"/>
  47. <Cell col="4" style="font:휴먼엑스포,20;" text="bind:ininfo"/>
  48. <Cell col="5" style="font:휴먼엑스포,20;" text="bind:dscinfo" wordwrap="char"/>
  49. </Band>
  50. </Format>
  51. </Formats>
  52. </Grid>
  53. <Edit id="caption8" taborder="1" position="absolute 103 611 903 636" enable="false" style="background:stretch 5,5; :disabled {color:black;align:center middle;font:휴먼엑스포,17;}"/>
  54. </Layout>
  55. </Layouts>
  56. </Div>
  57. <Shape position="absolute 0 56 1005 62" linetype="horizontal" id="line1" class="line_1" style="strokepen:3 solid #33bbbbff;"/>
  58. <Shape position="absolute 0 621 1005 627" linetype="horizontal" id="line2" class="line_1" style="strokepen:3 solid #33bbbbff;"/>
  59. <Button position="absolute 945 628 1001 650" id="button2" class="btn4" text="종료" onclick="button2_onclick"/>
  60. <Static text="응급 재원 환자 현황판" position="absolute 100 3 900 53" align="align:center middle;" id="lbl_header" style="color:#3366ffff;align:center middle;font:휴먼엑스포,36,bold;"/>
  61. </Layout>
  62. </Layouts>
  63. <Objects>
  64. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  65. <ColumnInfo>
  66. <Column id="emindd" type="STRING" size="256"/>
  67. <Column id="oppartrtndd" type="STRING" size="256"/>
  68. </ColumnInfo>
  69. <Rows>
  70. <Row/>
  71. </Rows>
  72. </Dataset>
  73. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  74. <ColumnInfo>
  75. <Column id="emindd" type="STRING" size="256"/>
  76. </ColumnInfo>
  77. <Rows>
  78. <Row/>
  79. </Rows>
  80. </Dataset>
  81. <Dataset id="ds_main_oppatlist_oppatinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  82. <ColumnInfo>
  83. <Column id="roomcd" type="STRING" size="256" sumtext="병실"/>
  84. <Column id="patnm" type="STRING" size="256" sumtext="환자명"/>
  85. <Column id="orddept" type="STRING" size="256" sumtext="진료과(보호자)"/>
  86. <Column id="opstatnm" type="STRING" size="256" sumtext="수술및분만진행상황"/>
  87. <Column id="patposplcecd" type="STRING" size="256" sumtext="환자이동위치(분만결과)"/>
  88. <Column id="oprsrvno" type="STRING" size="256" sumtext="수술예약번호"/>
  89. <Column id="opstatcd" type="STRING" size="256" sumtext="수술및분만진행상황코드"/>
  90. </ColumnInfo>
  91. </Dataset>
  92. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  93. <ColumnInfo>
  94. <Column id="grdStatus" type="STRING" size="256"/>
  95. <Column id="msgStatus" type="STRING" size="256"/>
  96. <Column id="grdStatus1" type="STRING" size="256"/>
  97. <Column id="msgStatus1" type="STRING" size="256"/>
  98. </ColumnInfo>
  99. <Rows>
  100. <Row>
  101. <Col id="grdStatus"/>
  102. <Col id="msgStatus"/>
  103. <Col id="grdStatus1"/>
  104. <Col id="msgStatus1"/>
  105. </Row>
  106. </Rows>
  107. </Dataset>
  108. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  109. <ColumnInfo>
  110. <Column id="title" type="STRING" size="256"/>
  111. <Column id="time" type="STRING" size="256"/>
  112. <Column id="callmsg" type="STRING" size="256"/>
  113. </ColumnInfo>
  114. <Rows>
  115. <Row>
  116. <Col id="title">응급 재원 환자 현황판</Col>
  117. <Col id="time"/>
  118. <Col id="callmsg"/>
  119. </Row>
  120. </Rows>
  121. </Dataset>
  122. <Dataset id="ds_main_empatlist_empatinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  123. <ColumnInfo>
  124. <Column id="bed" type="STRING" size="256" sumtext="bed"/>
  125. <Column id="hngnm" type="STRING" size="256" sumtext="성명"/>
  126. <Column id="sex" type="STRING" size="256" sumtext="성별"/>
  127. <Column id="age" type="STRING" size="256" sumtext="나이"/>
  128. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과"/>
  129. <Column id="ininfo" type="STRING" size="256" sumtext="입원정보"/>
  130. <Column id="dscinfo" type="STRING" size="256" sumtext="퇴원정보"/>
  131. </ColumnInfo>
  132. </Dataset>
  133. </Objects>
  134. <Bind>
  135. <BindItem id="item0" compid="grp_biz.group1.ipt_dlivdd" propid="value" datasetid="ds_main_cond" columnid="emindd"/>
  136. <BindItem id="item1" compid="grp_biz.caption8" propid="value" datasetid="ds_hidden" columnid="time"/>
  137. </Bind>
  138. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  139. * System Name :
  140. * Job Name :
  141. * Creator :
  142. * Make Date : 2016-11-17
  143. * Description :
  144. *---------------------------------------------------------------------------------------
  145. * Modify Date Modifier Modify Description
  146. *---------------------------------------------------------------------------------------
  147. * 2016-11-17 Live Converter TF->XP
  148. *
  149. *---------------------------------------------------------------------------------------
  150. ****************************************************************************************/
  151. //=======================================================================================
  152. // Lib Include
  153. //---------------------------------------------------------------------------------------
  154. include 'com_commonxp::comm_main.xjs';
  155. include 'emr_opanstxp::SMMNP06200.xjs';
  156. var arErrorCode = new HashArray();
  157. var clockID = 1111;
  158. var grdintervalID = 1112; // 그리드 조회 interval
  159. var msgintervalID = 1113; // msg 조회 interval
  160. //=======================================================================================
  161. // Local methods
  162. //---------------------------------------------------------------------------------------
  163. /**
  164. * [fInitialize description]
  165. * @return {[type]} [description]
  166. */
  167. function fInitialize() {
  168. ds_main_empatlist_empatinfo.clearData();
  169. //ds_main_msglist_msginfo.clearData();
  170. ds_main_cond.setColumn(0, "emindd", utlf_getCurrentDate());
  171. fSetGrdTimer();
  172. //lbl_header.setFocus();
  173. grp_biz.caption8.setFocus();
  174. }
  175. /**
  176. * [fSetGrdTimer description]
  177. * @return {[type]} [description]
  178. */
  179. function fSetGrdTimer() {
  180. var submitIntervalTime = 5 * 1000;
  181. //시간은 1초 단위로 갱신: 무한루프=> 0.1로 변경
  182. //clockID = window.setInterval("clock();", 1000);
  183. //clockID = window.setInterval("clock();", 100); //0.1초
  184. this.setTimer(clockID, 100);
  185. //메시지 5초: 무한루프시켜야 함(그리드 test용으로 막음)
  186. // msgintervalID = window.setInterval("fGetCallMessage();", submitIntervalTime); //5초
  187. //그리드 5초(상단으로 이동):무한루프시켜야 함
  188. // grdintervalID = window.setInterval("fGetOpPartrtnPatList();", submitIntervalTime); //5초
  189. this.setTimer(grdintervalID, submitIntervalTime);
  190. }
  191. /**
  192. * [fGetOpPartrtnPatList description]
  193. * @return {[type]} [description]
  194. */
  195. function fGetOpPartrtnPatList() {
  196. if (ds_main_empatlist_empatinfo.rowcount == 0) {
  197. //(20080211) oppatinfo까지 된것을 막음)
  198. ds_main_empatlist_empatinfo.clearData();
  199. ds_send_reqdata.setColumn(0, "emindd", ds_main_cond.getColumn(0, 'emindd'));
  200. sysf_setErrorMsg(false);
  201. ds_main_empatlist_empatinfo.clearData();
  202. var oParam = {};
  203. oParam.id = "TRPMI03500";
  204. oParam.service = "ipatmngtapp.ErRgst";
  205. oParam.method = "reqGetEmPatInfoList";
  206. oParam.inds = "req=ds_send_reqdata";
  207. oParam.outds = "ds_main_empatlist_empatinfo=empatinfo";
  208. oParam.async = false;
  209. oParam.callback = "callback";
  210. tranf_submit(oParam);
  211. ds_main_empatlist_empatinfo.rowposition = -1;
  212. if (arErrorCode.pop("TRPMI03500") > -1) {
  213. ds_init.setColumn(0, "grdStatus", "grd:정상");
  214. ds_init.setColumn(0, "grdStatus1", "조회");
  215. if (ds_main_empatlist_empatinfo.rowcount > 0) {
  216. // setGridColor() ;
  217. /*
  218. //5초간격으로 자료를 상단으로 올리는 기능
  219. var TimerID = window.setInterval('window.setinterval("", 5000) ;'
  220. + 'model.removenode("/root/main/oppatlist/oppatinfo[1]") ;'
  221. + 'setGridColor() ;'
  222. + 'model.refresh() ;', showGrdTime) ;
  223. */
  224. this.setTimer(grdintervalIDTop, showGrdTime);
  225. //grdintervalIDTop = this.setInterval("fGetOpPartrtnPatListSub1()", showGrdTime); //100) ; //7초
  226. }
  227. }
  228. else {
  229. ds_init.setColumn(0, "grdStatus", "grd:장애");
  230. ds_main_empatlist_empatinfo.clearData();
  231. }
  232. sysf_setErrorMsg(true);
  233. }
  234. }
  235. //----------------------------
  236. // 자료를 상단으로 올리는 기능1
  237. //----------------------------
  238. function lfGetOpPartrtnPatListSub1() {
  239. // var timerID = window.setinterval("", 5000) ; //상단올리기 지연시킴
  240. ds_main_empatlist_empatinfo.deleteRow(0);
  241. ds_main_empatlist_empatinfo.rowposition = -1;
  242. //setGridColor();
  243. ds_init.setColumn(0, "grdStatus1", ds_main_empatlist_empatinfo.rowcount);
  244. if (ds_main_empatlist_empatinfo.rowcount == 0) {
  245. ds_init.setColumn(0, "grdStatus1", "E:" + grdintervalIDTop);
  246. this.killTimer(grdintervalIDTop);
  247. }
  248. }
  249. /**
  250. * submit 후 호출 될 공통 콜백
  251. * @param {[type]} sSvcId [description]
  252. * @param {[type]} nErrorCode [description]
  253. * @param {[type]} sErrorMsg [description]
  254. * @return {Function} [description]
  255. */
  256. function callback(sSvcId, nErrorCode, sErrorMsg){
  257. arErrorCode.push(sSvcId, nErrorCode);
  258. }
  259. //=======================================================================================
  260. // Events
  261. //---------------------------------------------------------------------------------------
  262. /**
  263. * onload 이벤트 발생 시 호출
  264. * @param {[type]} obj:Form [description]
  265. * @param {[type]} e:LoadEventInfo [description]
  266. */
  267. function SMPMI03500_onload(obj: Form, e: LoadEventInfo) {
  268. frmf_initForm(obj);
  269. fInitialize();
  270. }
  271. /**
  272. * 폼 타이머 호출 이벤트
  273. * @param {[type]} obj:Form [description]
  274. * @param {[type]} e:TimerEventInfo [description]
  275. */
  276. function SMPMI03500_ontimer(obj: Form, e: TimerEventInfo) {
  277. switch (e.timerid) {
  278. case clockID:
  279. clock();
  280. break;
  281. case msgintervalID:
  282. fGetOpPartrtnPatList();
  283. break;
  284. case grdintervalID:
  285. fGetOpPartrtnPatList();
  286. break;
  287. case msgintervalIDTop:
  288. fGetCallMessageSub1();
  289. break;
  290. case grdintervalIDTop:
  291. lfGetOpPartrtnPatListSub1();
  292. break;
  293. }
  294. }
  295. /**
  296. * 조회 버튼 클릭 이벤트
  297. * @param {[type]} obj: Button [description]
  298. * @param {[type]} e: ClickEventInfo [description]
  299. * @return {[type]} [description]
  300. */
  301. function grp_biz_group1_btn_select_onclick(obj: Button, e: ClickEventInfo) {
  302. fGetOpPartrtnPatList();
  303. }
  304. /**
  305. * 폼 키보드 입력 이벤트
  306. * @param {[type]} obj: Form [description]
  307. * @param {[type]} e: KeyEventInfo [description]
  308. */
  309. function SMPMI03500_onkeyup(obj: Form, e: KeyEventInfo) {
  310. fClearTimer(e.keycode);
  311. }
  312. function button2_onclick(obj:Button, e:ClickEventInfo)
  313. {
  314. this.close();
  315. }
  316. ]]></Script>
  317. </Form>
  318. </FDL>