123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.5">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SPMMO21300" position="absolute 0 0 250 133" titletext="중증체류시간" oninit="SPMMO21300_oninit" onload="SPMMO21300_onload" ontimer="SPMMO21300_ontimer" class="frm_POP">
- <Layouts>
- <Layout>
- <Edit readonly="true" position="absolute 8 51 239 80" align="align:center middle;" id="opt_doortime"/>
- <Static text="Door to Now" position="absolute 11 30 103 56" align="align:center middle;" id="caption1" style="font:돋움,9,bold;"/>
- <Edit readonly="true" position="absolute 8 96 239 125" align="align:center middle;" id="opt_activatetime"/>
- <Static text="Activate to Now" position="absolute 11 74 118 100" align="align:center middle;" id="caption2" style="font:돋움,9,bold;"/>
- <Button id="Button00" taborder="1" onclick="Button00_onclick" class="btn_POP_cls" position="absolute 230 11 244 24"/>
- <Static id="stt_titleText" text="중증체류시간" class="sta_POP_title" position="absolute 12 8 154 28"/>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_reqdata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="instcd" type="STRING" size="256"/>
- <Column id="pid" type="STRING" size="256"/>
- <Column id="indd" type="STRING" size="256"/>
- <Column id="cretno" type="STRING" size="256"/>
- <Column id="visitno" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="instcd"/>
- <Col id="pid"/>
- <Col id="indd"/>
- <Col id="cretno"/>
- <Col id="visitno"/>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_timelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="doortime" type="STRING" size="256"/>
- <Column id="activatetime" type="STRING" size="256"/>
- <Column id="curtime" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="doortime"/>
- <Col id="activatetime"/>
- <Col id="curtime"/>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_savedata" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="doortime" type="STRING" size="256"/>
- <Column id="activatetime" type="STRING" size="256"/>
- <Column id="curtime" type="STRING" size="256"/>
- <Column id="intervalid" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="doortime"/>
- <Col id="activatetime"/>
- <Col id="curtime"/>
- <Col id="intervalid"/>
- </Row>
- </Rows>
- </Dataset>
- </Objects>
- <Bind>
- <BindItem id="item0" compid="opt_doortime" propid="value" datasetid="ds_savedata" columnid="doortime"/>
- <BindItem id="item1" compid="opt_activatetime" propid="value" datasetid="ds_savedata" columnid="activatetime"/>
- </Bind>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name :
- * Job Name :
- * Creator :
- * Make Date : 2014-12-10
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2014-12-10 Live Converter TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- include "com_commonxp::comm_main.xjs";
- var arErrorCode = new HashArray();
- var intervalId;
- function fCleanIntervalId(){
- if (!utlf_isNull( ds_savedata.getColumn(0,"intervalid")) ){
- this.killTimer(intervalId );
- }
- }
- function fSetInterval(){
- //var intervalId = window.setInterval( "fCalcTime()", 1000);
- this.setTimer(intervalId, 1000);
- ds_savedata.setColumn(0,"intervalid", intervalId);
-
- }
- // 환자검색에 필요한 데이터 초기화
- // 환자검색에 필요한 환자정보 데이터를 페이지 xml값에 할당
- function fInitData(){
- var param = opener.frmf_getParameter("SPMMO21300_param");
- var paramvalue = param.split("▦");
- var pid = paramvalue[0];
- var indd = paramvalue[1];
- var cretno = paramvalue[2];
- var visitno = paramvalue[3];
-
- ds_reqdata.setColumn(0,"pid", pid);
- ds_reqdata.setColumn(0,"indd", indd);
- ds_reqdata.setColumn(0,"cretno", cretno);
- ds_reqdata.setColumn(0,"visitno", visitno);
-
- var oParam = {};
- oParam.id = "TRMMO21301";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "getDoorActivateTimeInfo";
- oParam.inds = "req=ds_reqdata";
- oParam.outds = "ds_timelist=list";
- oParam.async = false;
- oParam.callback = "cf_TRMMO21301";
- tranf_submit(oParam);
- }
- function cf_TRMMO21301(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- // 시, 분 출력시 한자리 숫자 앞에 '0'문자열을 붙여서 주는 함수
- function fAddZero(n){
- return n < 10 ? "0" + n : n;
- }
- // 날짜 문자열 형식이 'yyyymmddhh24mi'인 문자열을 Date객체로 변화해 주는 함수
- function fCvDate(time){
- var year = time.substr(0, 4);
- var month = time.substr(4, 2) - 1 ; // 1월=0 ~ 12월=11
- var day = time.substr(6, 2);
- var hours = time.substr(8, 2);
- var minutes = time.substr(10, 2);
-
- return new Date(year, month, day, hours, minutes);
- }
- // 현재 시간과 사용자가 함수에 넘겨주는 Date객체와의 시간 차이를 시, 분 단위로 출력해 주는 함수
- function fCalcPassingTimes(dbDate){
- var curClientTime = new Date();
-
- var rstMilionse = curClientTime.getTime() - dbDate.getTime();
- var passingSecond = Math.floor( (rstMilionse / 1000) % 60 );
- var passingMin = Math.floor( (rstMilionse / (1000 * 60)) % 60 );
- var passingHours = Math.floor(rstMilionse / ( 1000 * 60 * 60 ));
-
- return fAddZero(passingHours) + "시간 " + fAddZero(passingMin) + "분 " + fAddZero(passingSecond) + "초";
- }
- // 중증체류시간 계산하기 위해 가장 먼저 실행되는 함수
- function fCalcTime(){
-
- var doorTime = null;
- var activateTime = null;
-
- doorTime = ds_timelist.getColumn(0,"doortime");
- activateTime = ds_timelist.getColumn(0,"activatetime");
-
- // door to now(내원 시간 계산)
- if( !utlf_isNull( doorTime)){
- doorTime = fCvDate( ds_timelist.getColumn(0,"doortime") );
- var doorTimeSt = fCalcPassingTimes(doorTime);
- ds_savedata.setColumn(0,"doortime", doorTimeSt);
- }
- else{
- ds_savedata.setColumn(0,"doortime", "no data");
- }
-
- // activate to now(중증호출 시간 계산)
- if( !utlf_isNull( activateTime)){
- activateTime = fCvDate( ds_timelist.getColumn(0,"activatetime") );
- var activateTimeSt = fCalcPassingTimes(activateTime);
- ds_savedata.setColumn(0,"activatetime", activateTimeSt);
- }
- else{
- ds_savedata.setColumn(0,"activatetime", "no data");
- }
- }
-
- function SPMMO21300_oninit(obj:Form, e:InitEventInfo)
- {
- frmf_initForm(obj);
- }
- function SPMMO21300_onload(obj:Form, e:LoadEventInfo)
- {
- fInitData(); // 환자검색에 필요한 환자정보 opener로 부터 가져온 후, 데이터 초기화
- fCalcTime(); // doortime과 activatetime 시간계산
- fCleanIntervalId(); // window.setInterval()을 사용하기 전 기존에 사용 중인 인터벌이 있을 경우 자원 해제
- fSetInterval(); // window.setInterval()을 설정
- //window.modelessTopmost= true;
-
- }
- function SPMMO21300_ontimer(obj:Form, e:TimerEventInfo)
- {
- if( e.timerid == 0 ){
- fCalcTime();
- }
- }
- function Button00_onclick(obj:Button, e:ClickEventInfo)
- {
- this.close();
- }
- ]]></Script>
- </Form>
- </FDL>
|