SMMNP06200_수술 및 분만 진행현황 전광판.xfdl 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SMMNP06200" position="absolute 0 0 1024 768" titletext="수술 및 분만 진행현황 안내" onload="SMMNP06200_onload" ontimer="SMMNP06200_ontimer" onclose="SMMNP06200_onclose">
  5. <Layouts>
  6. <Layout>
  7. <Div position="absolute 0 0 1005 13" id="grp_tle"/>
  8. <Div position="absolute 0 17 1008 715" id="grp_biz" scrollbars="autoboth">
  9. <Layouts>
  10. <Layout>
  11. <Div position="absolute 0 5 1004 45" align="align:center top;" id="group1" class="div_SA">
  12. <Layouts>
  13. <Layout>
  14. <Shape position="absolute 914 7 920 29" linetype="vertical" id="line13" class="line_4" visible="false"/>
  15. <Calendar position="absolute 45 11 161 30" id="ipt_dlivdd" class="output" taborder="2" visible="false"/>
  16. <Button position="absolute 933 8 989 30" id="btn_select" class="btn1" taborder="1" visible="false" text="조회" onclick="grp_biz_group1_btn_select_onclick"/>
  17. </Layout>
  18. </Layouts>
  19. </Div>
  20. <Grid position="absolute 0 75 1005 617" align="align:center middle;" id="grd_list" class="datagrid_btype" scrollbars="autoboth" binddataset="ds_main_oppatlist_oppatinfo" style="font:휴먼엑스포,29, bold;">
  21. <Formats>
  22. <Format id="default">
  23. <Columns>
  24. <Column size="150"/>
  25. <Column size="164"/>
  26. <Column size="284"/>
  27. <Column size="185"/>
  28. <Column size="221"/>
  29. </Columns>
  30. <Rows>
  31. <Row size="24" band="head"/>
  32. <Row size="73"/>
  33. </Rows>
  34. <Band id="head">
  35. <Cell text="병실"/>
  36. <Cell col="1" text="환자명"/>
  37. <Cell col="2" text="진료과(보호자)"/>
  38. <Cell col="3" text="상태"/>
  39. <Cell col="4" text="이동위치"/>
  40. </Band>
  41. <Band id="body">
  42. <Cell style="align:center middle;font:휴먼엑스포,22;" text="bind:roomcd"/>
  43. <Cell col="1" style="align:center middle;font:휴먼엑스포,22;" text="bind:patnm"/>
  44. <Cell col="2" style="align:center middle;font:휴먼엑스포,28;" text="bind:orddept"/>
  45. <Cell col="3" style="align:center middle;font:휴먼엑스포,28;" text="bind:opstatnm"/>
  46. <Cell col="4" style="align:center middle;font:휴먼엑스포,28;" text="bind:patposplcecd"/>
  47. </Band>
  48. </Format>
  49. </Formats>
  50. </Grid>
  51. <Static text="병실" position="absolute 0 45 151 99" align="align:center middle;" id="caption1" style="background:#99ccffff;color:#808000ff;font:휴먼엑스포,29;"/>
  52. <Static text="환자명" position="absolute 150 45 315 99" align="align:center middle;" id="caption2" style="background:#99ccffff;color:#808000ff;font:휴먼엑스포,29;"/>
  53. <Static text="진료과(보호자)" position="absolute 314 45 599 99" align="align:center middle;" id="caption3" style="background:#99ccffff;color:#808000ff;font:휴먼엑스포,29;"/>
  54. <Static text="상태" position="absolute 598 45 784 99" align="align:center middle;" id="caption4" style="background:#99ccffff;color:#808000ff;font:휴먼엑스포,29;"/>
  55. <Static text="이동위치" position="absolute 784 45 1005 99" align="align:center middle;" id="caption5" style="background:#99ccffff;color:#808000ff;font:휴먼엑스포,29;"/>
  56. <TextArea position="absolute 0 625 1005 695" align="align:left middle;" id="tar_callmsg" onkeyup="grp_biz_tar_callmsg_onkeyup" style="align:left middle;font:휴먼엑스포,25;"/>
  57. </Layout>
  58. </Layouts>
  59. </Div>
  60. <Shape position="absolute 0 55 1005 61" linetype="horizontal" id="line1" class="line_1" style="strokepen:5 solid #33bbbbff;"/>
  61. <Shape position="absolute 0 635 1005 641" linetype="horizontal" id="line2" class="line_1" style="strokepen:5 solid #33bbbbff;"/>
  62. <Static text="수술 및 분만 진행현황 안내" position="absolute 0 3 1005 53" align="align:center middle;" id="lbl_header" style="color:#3366ffff;align:center middle;font:휴먼엑스포,36;"/>
  63. <Static position="absolute 0 714 1005 739" align="align:center middle;" id="caption8" style="align:center middle;font:휴먼엑스포,20;"/>
  64. <Static position="absolute 0 715 55 740" align="align:center middle;" id="caption6" visible="false" style="background:#ffcc00ff;align:center middle;font:휴먼엑스포,10;"/>
  65. <Shape position="absolute 0 112 1006 118" linetype="horizontal" id="line3" class="line_1" style="strokepen:5 solid #33bbbbff;"/>
  66. <Static position="absolute 857 717 917 742" align="align:center middle;" id="caption9" visible="false" style="background:#ffcc00ff;align:center middle;font:휴먼엑스포,10;"/>
  67. <Static position="absolute 55 715 167 740" align="align:center middle;" id="caption10" visible="false" style="background:#ffcc00ff;align:center middle;font:휴먼엑스포,10;"/>
  68. <Static position="absolute 916 717 1006 742" align="align:center middle;" id="caption11" visible="false" style="background:#ffcc00ff;align:center middle;font:휴먼엑스포,10;"/>
  69. </Layout>
  70. </Layouts>
  71. <Objects>
  72. <Dataset id="ds_grd_list" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  73. <ColumnInfo>
  74. <Column id="roomcd" type="STRING"/>
  75. <Column id="patnm" type="STRING"/>
  76. <Column id="orddept" type="STRING"/>
  77. <Column id="opstatnm" type="STRING"/>
  78. <Column id="patposplcecd" type="STRING"/>
  79. </ColumnInfo>
  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"/>
  84. <Column id="patnm" type="STRING" size="256"/>
  85. <Column id="orddept" type="STRING" size="256"/>
  86. <Column id="opstatnm" type="STRING" size="256"/>
  87. <Column id="patposplcecd" type="STRING" size="256"/>
  88. <Column id="oprsrvno" type="STRING" size="256"/>
  89. <Column id="opstatcd" type="STRING" size="256"/>
  90. </ColumnInfo>
  91. <Rows>
  92. <Row>
  93. <Col id="roomcd"/>
  94. <Col id="patnm"/>
  95. <Col id="orddept"/>
  96. <Col id="opstatnm"/>
  97. <Col id="patposplcecd"/>
  98. <Col id="oprsrvno"/>
  99. <Col id="opstatcd"/>
  100. </Row>
  101. </Rows>
  102. </Dataset>
  103. <Dataset id="ds_main_cond" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  104. <ColumnInfo>
  105. <Column id="oppartrtndd" type="STRING" size="256"/>
  106. </ColumnInfo>
  107. </Dataset>
  108. <Dataset id="ds_main_msglist_msginfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  109. <ColumnInfo>
  110. <Column id="calltm" type="STRING" size="256"/>
  111. <Column id="callmsg" type="STRING" size="256"/>
  112. <Column id="oprsrvno" type="STRING" size="256"/>
  113. </ColumnInfo>
  114. <Rows>
  115. <Row>
  116. <Col id="calltm"/>
  117. <Col id="callmsg"/>
  118. <Col id="oprsrvno"/>
  119. </Row>
  120. </Rows>
  121. </Dataset>
  122. <Dataset id="ds_main_tmplist_tmpinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  123. <ColumnInfo>
  124. <Column id="roomcd" type="STRING" size="256"/>
  125. <Column id="patnm" type="STRING" size="256"/>
  126. <Column id="orddept" type="STRING" size="256"/>
  127. <Column id="opstatcd" type="STRING" size="256"/>
  128. <Column id="patposplcecd" type="STRING" size="256"/>
  129. <Column id="oprsrvno" type="STRING" size="256"/>
  130. </ColumnInfo>
  131. <Rows>
  132. <Row>
  133. <Col id="roomcd"/>
  134. <Col id="patnm"/>
  135. <Col id="orddept"/>
  136. <Col id="opstatcd"/>
  137. <Col id="patposplcecd"/>
  138. <Col id="oprsrvno"/>
  139. </Row>
  140. </Rows>
  141. </Dataset>
  142. <Dataset id="ds_send_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  143. <Dataset id="ds_send_savedata_oppatinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  144. <Dataset id="ds_init" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  145. <ColumnInfo>
  146. <Column id="grdStatus" type="STRING" size="256"/>
  147. <Column id="msgStatus" type="STRING" size="256"/>
  148. <Column id="grdStatus1" type="STRING" size="256"/>
  149. <Column id="msgStatus1" type="STRING" size="256"/>
  150. </ColumnInfo>
  151. <Rows>
  152. <Row>
  153. <Col id="grdStatus"/>
  154. <Col id="msgStatus"/>
  155. <Col id="grdStatus1"/>
  156. <Col id="msgStatus1"/>
  157. </Row>
  158. </Rows>
  159. </Dataset>
  160. <Dataset id="ds_hidden" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  161. <ColumnInfo>
  162. <Column id="title" type="STRING" size="256"/>
  163. <Column id="time" type="STRING" size="256"/>
  164. <Column id="callmsg" type="STRING" size="256"/>
  165. </ColumnInfo>
  166. <Rows>
  167. <Row>
  168. <Col id="title">수술 및 분만 진행현황 안내</Col>
  169. <Col id="time"/>
  170. <Col id="callmsg"/>
  171. </Row>
  172. </Rows>
  173. </Dataset>
  174. </Objects>
  175. <Bind>
  176. <BindItem id="item0" compid="grp_biz.group1.ipt_dlivdd" propid="value" datasetid="ds_main_cond" columnid="oppartrtndd"/>
  177. <BindItem id="item1" compid="grp_biz.tar_callmsg" propid="value" datasetid="ds_hidden" columnid="callmsg"/>
  178. <BindItem id="item2" compid="caption8" propid="text" datasetid="ds_hidden" columnid="time"/>
  179. <BindItem id="item3" compid="caption6" propid="text" datasetid="ds_init" columnid="grdStatus"/>
  180. <BindItem id="item4" compid="caption10" propid="text" datasetid="ds_init" columnid="grdStatus1"/>
  181. <BindItem id="item5" compid="caption9" propid="text" datasetid="ds_init" columnid="msgStatus"/>
  182. <BindItem id="item6" compid="caption11" propid="text" datasetid="ds_init" columnid="msgStatus1"/>
  183. </Bind>
  184. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  185. * System Name :
  186. * Job Name :
  187. * Creator :
  188. * Make Date : 2015-11-13
  189. * Description :
  190. *---------------------------------------------------------------------------------------
  191. * Modify Date Modifier Modify Description
  192. *---------------------------------------------------------------------------------------
  193. * 2015-11-13 Live Converter TF->XP
  194. *
  195. *---------------------------------------------------------------------------------------
  196. ****************************************************************************************/
  197. include "com_commonxp::comm_main.xjs";
  198. include "com_basiccodexp::ZBC001.xjs";
  199. //include "emr_opanstxp::SMMNP06200.xjs";
  200. /*
  201. 수술 및 분만현황 안내 진행현황판(SMMNP06200_수술 및 분만 진행현황 전광판.xrw - JScript )
  202. - Version :
  203. 1) : Ver.1.00.01
  204. - Programmer : 문창곤
  205. */
  206. var submitIntervalTime = 5 * 1000 ; // 5초
  207. //----------------(20080930)
  208. //var showGrdTime = 7 * 1000 ; // 7초
  209. //var showMsgTime = 10 * 1000 ; // 10초
  210. var showGrdTime = 4 * 1000 ; // 7초
  211. var showMsgTime = 10 * 1000 ; // 10초
  212. //----------------(20080930)
  213. var clockID ; // 하단줄의 시간 interval
  214. var grdintervalID ; // 그리드 조회 interval
  215. var grdintervalIDTop ; // 그리드 상단 올리기 interval
  216. var grdintervalIDDelay ; // 지연
  217. var msgintervalID ; // msg 조회 interval
  218. var msgintervalIDTop ; // msg 상단 올리기 interval
  219. var msgintervalIDDelay ; // 지연
  220. /**
  221. * _group :
  222. * _ver : 2007.10.09
  223. * _by : 문창곤
  224. * _---------------------------------------------------
  225. * _type : function
  226. * _access : public
  227. * _desc : 초기화 작업을 합니다.
  228. * _param :
  229. * _param :
  230. * _return :
  231. * _---------------------------------------------------
  232. */
  233. function fInitialize(){
  234. ds_main_oppatlist_oppatinfo.clearData();
  235. ds_main_msglist_msginfo.clearData();
  236. ds_main_cond.setColumn( 0, "oppartrtndd", utlf_getCurrentDate());
  237. // ds_main_cond.setColumn( 0, "oppartrtndd", "20071011");
  238. //model.refresh();
  239. // ds_send_reqdata.copyData(ds_main_cond);
  240. // setErrorOff(); //submit에서 오류가 발생해도 오류메시지가 나오지 않도록 설정
  241. // submit("TRMNP06201"); //수술환자 보호자 호출메시지 조회.
  242. // setErrorOff(); //submit에서 오류가 발생해도 오류메시지가 나오지 않도록 설정
  243. // submit("TRMNP06200"); //수술 및 분만환자 조회.[조회버튼클릭]
  244. // setGridColor() ;
  245. /*
  246. window.setInterval('model.removenode("_root_main_oppatlist_oppatinfo[1]") ;'
  247. + 'setGridColor() ;'
  248. + '//model.refresh(); ;', showGrdTime) ; // 7초
  249. window.setInterval('ds_hidden.setColumn( 0, "callmsg", ds_main_msglist_msginfo.getColumn(1, "callmsg")) ;'
  250. + 'model.removenode("_root_main_msglist_msginfo[1]") ;'
  251. + '//model.refresh(); ;', showMsgTime) ; // 10초
  252. */
  253. // window.setInterval("fshowGrdTime()", showGrdTime) ; // 7초
  254. // window.setInterval("fshowMsgTime()", showMsgTime) ; // 10초
  255. // grdTopintervalID = window.setInterval("fGetOpPartrtnPatListSub2()", showGrdTime) ; // 7초 test
  256. // msgTopintervalID = window.setInterval("fGetCallMessageSub2()", showMsgTime) ; // 10초 test
  257. fSetGrdTimer();
  258. setWindowSize(); //(20080130) 테스트중
  259. lbl_header.setFocus();
  260. }
  261. /*
  262. //--------------------------
  263. // 그리드 top row 제거 실행되는 함수
  264. //--------------------------
  265. function fshowGrdTime() {
  266. model.removenode("_root_main_oppatlist_oppatinfo[1]") ;
  267. setGridColor() ;
  268. //model.refresh(); ;
  269. }
  270. //--------------------------
  271. // Msg display 실행되는 함수
  272. //--------------------------
  273. function fshowMsgTime() {
  274. ds_hidden.setColumn( 0, "callmsg", ds_main_msglist_msginfo.getColumn(1, "callmsg")) ;
  275. model.removenode("_root_main_msglist_msginfo[1]") ;
  276. //model.refresh(); ;
  277. }
  278. */
  279. /**
  280. * _group :
  281. * _ver : 2007.10.09
  282. * _by : 문창곤
  283. * _---------------------------------------------------
  284. * _type : function
  285. * _access : public
  286. * _desc : 지정된 시간간격마다 그리드데이터 조회(화면 호출시 처음만 호출된다)
  287. * _param :
  288. * _param :
  289. * _return :
  290. * _---------------------------------------------------
  291. */
  292. function fSetGrdTimer(){
  293. //시간은 1초 단위로 갱신: 무한루프=> 0.1로 변경
  294. //clockID = window.setInterval("clock();", 1000);
  295. //clockID = window.setInterval("clock();", 100); //0.1초
  296. clockID = 0;
  297. this.setTimer(clockID, 100);
  298. //메시지 5초: 무한루프시켜야 함(그리드 test용으로 막음)
  299. //msgintervalID = window.setInterval("fGetCallMessage();", submitIntervalTime); //5초
  300. msgintervalID = 1;
  301. this.setTimer(msgintervalID, submitIntervalTime);
  302. //그리드 5초(상단으로 이동):무한루프시켜야 함
  303. //grdintervalID = window.setInterval("fGetOpPartrtnPatList();", submitIntervalTime); //5초
  304. grdintervalID = 2;
  305. this.setTimer(grdintervalID, submitIntervalTime);
  306. //메시지자료 상단으로 올리기
  307. //msgintervalIDTop = window.setInterval("fGetCallMessageSub1()", showMsgTime); //10초
  308. //그리드자료 상단으로 올리기
  309. //grdintervalIDTop = window.setInterval("fGetOpPartrtnPatListSub1()", showGrdTime); //7초
  310. }
  311. /**
  312. * _group :
  313. * _ver : 2007.10.09
  314. * _by : 문창곤
  315. * _---------------------------------------------------
  316. * _type : function
  317. * _access : public
  318. * _desc : DataTime 조회.
  319. * _param :
  320. * _param :
  321. * _return :
  322. * _---------------------------------------------------
  323. */
  324. function clock() {
  325. var datetime = utlf_getCurrentDateTime().substring(0, 4) + "년 "
  326. + utlf_getCurrentDateTime().substring(4, 6) + "월 "
  327. + utlf_getCurrentDateTime().substring(6, 8) + "일 "
  328. + utlf_getCurrentDate().toDate().getDayOfWeek("K") + "요일 "
  329. + utlf_getCurrentDateTime().substring(8, 11) + "시 "
  330. + utlf_getCurrentDateTime().substring(11, 13) + "분 "
  331. + utlf_getCurrentDateTime().substring(13, 15) + "초" ;
  332. ds_hidden.setColumn( 0, "time", datetime) ;
  333. //model.refresh();
  334. }
  335. /**
  336. * _group :
  337. * _ver : 2007.10.09
  338. * _by : 문창곤
  339. * _---------------------------------------------------
  340. * _type : function
  341. * _access : public
  342. * _desc : 수술환자 보호자 호출메시지 조회.
  343. * _param :
  344. * _param :
  345. * _return :
  346. * _---------------------------------------------------
  347. */
  348. function fGetCallMessage(){
  349. var sPath = "ds_main_msglist_msginfo";
  350. if(eval(sPath).rowcount == 0) {
  351. //ds_main_msglist_msginfo.clearData(); ;
  352. eval(sPath).clearData() ;
  353. //model.refresh();
  354. ds_send_reqdata.copyData(ds_main_cond);
  355. setErrorOff();
  356. //if ( submit("TRMNP06201",false) == true) {
  357. var oParam = {};
  358. oParam.id = "TRMNP06201";
  359. oParam.service = "opanstapp.OpAnstPatMngt";
  360. oParam.method = "reqGetOpCallMsg";
  361. oParam.inds = "req=ds_send_reqdata";
  362. oParam.outds = "ds_main_msglist_msginfo=msginfo";
  363. oParam.async = false;
  364. oParam.callback = "cf_TRMNP06201";
  365. tranf_submit(oParam);
  366. if ( arErrorCode.pop("TRMNP06201") > -1) {
  367. ds_init.setColumn( 0, "msgStatus","msg:정상");
  368. //model.refresh();
  369. ds_init.setColumn( 0, "msgStatus1", "조회" );
  370. //model.refresh();
  371. var msgCnt = eval(sPath).rowcount ;
  372. if (msgCnt > 0) {
  373. /*
  374. var TimerID = window.setInterval('window.setinterval("", 5000) ;'
  375. + 'ds_hidden.setColumn( 0, "callmsg", ds_main_msglist_msginfo.getColumn(1, "callmsg")) ;'
  376. + 'model.removenode("_root_main_msglist_msginfo[1]") ;'
  377. + '//model.refresh(); ;', showMsgTime) ;
  378. */
  379. //msgintervalIDTop = window.setInterval("fGetCallMessageSub1()", showMsgTime); //10초
  380. msgintervalIDTop = 3;
  381. this.setTimer(msgintervalIDTop, showMsgTime);
  382. }else{
  383. ds_hidden.setColumn( 0, "callmsg", "") ;
  384. //tar_callmsg.refresh();
  385. }
  386. } else {
  387. ds_init.setColumn( 0, "msgStatus","msg:장애");
  388. eval(sPath).clearData();
  389. //model.refresh();
  390. }
  391. }
  392. }
  393. function cf_TRMNP06201(sSvcId, nErrorCode, sErrorMsg) {
  394. arErrorCode.push(sSvcId, nErrorCode);
  395. }
  396. //-------------------------------
  397. // 수술환자 보호자 호출메시지 조회.
  398. //-------------------------------
  399. function fGetCallMessageSub1() {
  400. // var timerID = window.setinterval("", 5000) ; //시간지연
  401. ds_hidden.setColumn( 0, "callmsg", ds_main_msglist_msginfo.getColumn(1, "callmsg")) ;
  402. //model.removenode("_root_main_msglist_msginfo[1]") ;
  403. ds_main_msglist_msginfo.deleteRow(0);
  404. ds_init.setColumn( 0, "msgStatus1", ds_main_msglist_msginfo.rowcount;);
  405. //model.refresh();
  406. if ( ds_main_msglist_msginfo.rowcount == 0) {
  407. ds_init.setColumn( 0, "msgStatus1", "E:"+msgintervalIDTop );
  408. //model.refresh(); ;
  409. //window.clearInterval(msgintervalIDTop);
  410. this.killTimer(msgintervalIDTop);
  411. }
  412. }
  413. /**
  414. * _group :
  415. * _ver : 2007.10.09
  416. * _by : 문창곤
  417. * _---------------------------------------------------
  418. * _type : function
  419. * _access : public
  420. * _desc : 수술 및 분만환자 조회.[조회버튼클릭]
  421. * _param :
  422. * _param :
  423. * _return :
  424. * _---------------------------------------------------
  425. */
  426. function fGetOpPartrtnPatList(){
  427. var sPath = "ds_main_oppatlist_oppatinfo";
  428. if(eval(sPath).rowcount == 0)
  429. {
  430. //(20080211) oppatinfo까지 된것을 막음)
  431. eval(sPath).clearData();
  432. ds_send_reqdata.copyData(ds_main_cond);
  433. setErrorOff();
  434. //if (submit("TRMNP06200",false) == true) {
  435. var oParam = {};
  436. oParam.id = "TRMNP06200";
  437. oParam.service = "opanstapp.OpAnstPatMngt";
  438. oParam.method = "reqGetOpPartrtnPatInfoList";
  439. oParam.inds = "req=ds_send_reqdata";
  440. oParam.outds = "ds_main_oppatlist_oppatinfo=oppatinfo";
  441. oParam.async = false;
  442. oParam.callback = "cf_TRMNP06200";
  443. tranf_submit(oParam);
  444. if (arErrorCode.pop("TRMNP06200") > -1) {
  445. ds_init.setColumn( 0, "grdStatus","grd:정상");
  446. //model.refresh();
  447. ds_init.setColumn( 0, "grdStatus1", "조회" );
  448. //model.refresh(); ;
  449. var ndCnt = eval(sPath).rowcount ;
  450. if ( ndCnt > 0) {
  451. setGridColor() ;
  452. /*
  453. //5초간격으로 자료를 상단으로 올리는 기능
  454. var TimerID = window.setInterval('window.setinterval("", 5000) ;'
  455. + 'model.removenode("_root_main_oppatlist_oppatinfo[1]") ;'
  456. + 'setGridColor() ;'
  457. + '//model.refresh(); ;', showGrdTime) ;
  458. */
  459. //grdintervalIDTop = window.setInterval("fGetOpPartrtnPatListSub1()", showGrdTime); //100) ; //7초
  460. grdintervalIDTop = 4;
  461. this.setTimer(grdintervalIDTop, showGrdTime);
  462. }
  463. } else {
  464. ds_init.setColumn( 0, "grdStatus","grd:장애");
  465. eval(sPath).clearData();
  466. //model.refresh();
  467. }
  468. }
  469. }
  470. function cf_TRMNP06200(sSvcId, nErrorCode, sErrorMsg) {
  471. arErrorCode.push(sSvcId, nErrorCode);
  472. }
  473. //----------------------------
  474. // 자료를 상단으로 올리는 기능1
  475. //----------------------------
  476. function fGetOpPartrtnPatListSub1() {
  477. // var timerID = window.setinterval("", 5000) ; //상단올리기 지연시킴
  478. //model.removenode("_root_main_oppatlist_oppatinfo[1]") ;
  479. eval("ds_main_oppatlist_oppatinfo").deleteRow(0); // 첫번째 Row 를 삭제
  480. setGridColor() ;
  481. ds_init.setColumn( 0, "grdStatus1", ds_main_oppatlist_oppatinfo.rowcount;);
  482. //model.refresh(); ;
  483. if ( ds_main_oppatlist_oppatinfo.rowcount == 0) {
  484. ds_init.setColumn( 0, "grdStatus1", "E:" + grdintervalIDTop );
  485. //model.refresh(); ;
  486. //window.clearInterval(grdintervalIDTop);
  487. this.killTimer(grdintervalIDTop);
  488. }
  489. }
  490. /**
  491. * _group :
  492. * _ver : 2007.10.09
  493. * _by : 문창곤
  494. * _---------------------------------------------------
  495. * _type : function
  496. * _access : public
  497. * _desc : 수술예약번호 해당 호출메시지 검색
  498. * _param :
  499. * _param :
  500. * _return :
  501. * _---------------------------------------------------
  502. */
  503. function getCallMsg(Oprsrvno)
  504. {
  505. var msgCnt = ds_main_msglist_msginfo.rowcount;
  506. var RtnValue = "NONE" ;
  507. if(msgCnt > 0)
  508. {
  509. for(var i = 0; i < msgCnt; i++)
  510. {
  511. if(Oprsrvno == ds_main_msglist_msginfo.getColumn(i, "oprsrvno"))
  512. {
  513. RtnValue = ds_main_msglist_msginfo.getColumn(i, "callmsg") ;
  514. //model.removenode("_root_main_msglist_msginfo["+ i + "]");
  515. ds_main_msglist_msginfo.deleteRow(i);
  516. break ;
  517. }
  518. }
  519. }
  520. return RtnValue ;
  521. }
  522. /**
  523. * _group :
  524. * _ver : 2007.10.09
  525. * _by : 문창곤
  526. * _---------------------------------------------------
  527. * _type : function
  528. * _access : public
  529. * _desc : 'ESC' or 'Q' 키를 누르면 타이머 해제 및 윈도우 닫기
  530. * _param :
  531. * _param :
  532. * _return :
  533. * _---------------------------------------------------
  534. */
  535. function fClearTimer(e){
  536. var keyPressed = e.keycode ;
  537. if(keyPressed == 27 || keyPressed == 81) // 'ESC' or 'Q' 키가 눌려진 경우
  538. {
  539. var answer = sysf_messageBox("수술 및 분만 진행현황 안내 프로그램 종료를 ", "Q004") ;
  540. if(answer == 6) {
  541. //if (clockID != "") window.clearInterval(clockID);
  542. //if (msgintervalID != "") window.clearInterval(msgintervalID);
  543. //if (grdintervalID != "") window.clearInterval(grdintervalID);
  544. //if (msgintervalIDTop != "") window.clearInterval(msgintervalIDTop);
  545. //if (grdintervalIDTop != "") window.clearInterval(grdintervalIDTop);
  546. if (clockID != "") this.killTimer(clockID);
  547. if (msgintervalID != "") this.killTimer(msgintervalID);
  548. if (grdintervalID != "") this.killTimer(grdintervalID);
  549. if (msgintervalIDTop != "") this.killTimer(msgintervalIDTop);
  550. if (grdintervalIDTop != "") this.killTimer(grdintervalIDTop);
  551. this.close() ;
  552. }
  553. }
  554. }
  555. /**
  556. * _group :
  557. * _ver : 2007.10.09
  558. * _by : 문창곤
  559. * _---------------------------------------------------
  560. * _type : function
  561. * _access : public
  562. * _desc : 진행상태에 따른 글자색 설정
  563. * _param :
  564. * _param :
  565. * _return :
  566. * _---------------------------------------------------
  567. */
  568. function setGridColor()
  569. {
  570. var ndCnt = ds_main_oppatlist_oppatinfo.rowcount;
  571. var status ;
  572. for(var i = 0; i < ndCnt; i++)
  573. {
  574. status = ds_main_oppatlist_oppatinfo.getColumn(i, "opstatcd") ;
  575. if(status == "20" || status == "1") // 수술예정 또는 분만대기중 - 검정색
  576. grd_list.cellStyle("color", i, 3) = "#000000" ;
  577. else if(status == "30" || status == "2") // 수술대기 또는 진통중 - 분홍색
  578. grd_list.cellStyle("color", i, 3) = "#FF82FF" ;
  579. else if(status == "40" || status == "3") // 수술중 또는 분만중 - 빨강색
  580. grd_list.cellStyle("color", i, 3) = "#FF0000" ;
  581. else if(status == "50" || status == "4") // 수술종료 또는 분만완료- 파랑색
  582. grd_list.cellStyle("color", i, 3) = "#0000FF" ;
  583. else if(status == "60" || status == "5") // 회복중 또는 절대안정중 - 녹색
  584. grd_list.cellStyle("color", i, 3) = "#00FF00" ;
  585. else if(status == "70" || status == "6") // 퇴실 또는 안정중 - 청녹색
  586. grd_list.cellStyle("color", i, 3) = "#006600" ;
  587. }
  588. }
  589. function SMMNP06200_onload(obj:Form, e:LoadEventInfo)
  590. {
  591. frmf_initForm(obj); // 폼 초기화
  592. grdf_initGrid(this.grp_biz.grd_list); //Grid 초기화
  593. fInitialize();
  594. }
  595. function grp_biz_group1_btn_select_onclick(obj:Button, e:ClickEventInfo)
  596. {
  597. fGetOpPartrtnPatList();
  598. }
  599. function grp_biz_tar_callmsg_onkeyup(obj:TextArea, e:KeyEventInfo)
  600. {
  601. fClearTimer(e);
  602. }
  603. function SMMNP06200_ontimer(obj:Form, e:TimerEventInfo)
  604. {
  605. if(e.timerid == 0) {
  606. clock();
  607. }
  608. if(e.timerid == 1) {
  609. fGetCallMessage();
  610. }
  611. if(e.timerid == 2) {
  612. fGetOpPartrtnPatList();
  613. }
  614. if(e.timerid == 3) {
  615. fGetCallMessageSub1();
  616. }
  617. if(e.timerid == 4) {
  618. fGetOpPartrtnPatListSub1();
  619. }
  620. }
  621. function SMMNP06200_onclose(obj:Form, e:CloseEventInfo)
  622. {
  623. this.killTimer(0);
  624. this.killTimer(1);
  625. this.killTimer(2);
  626. this.killTimer(3);
  627. this.killTimer(4);
  628. }
  629. ]]></Script>
  630. </Form>
  631. </FDL>