123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510 |
- /* ---------------------------------------------------------------------
-
- 수술/분만/외래 대기 환자 진행 현황 전광판 (SMMNV01000_수술진행현황전광판..xfm - JScript )
-
- - Version :
- 1) : Ver.1.00.01
- : Create By YeoWon Lim
- : 2015.05.02
- ----------------------------------------------------------------------*/
- var submitIntervalTime = 5 * 1000 ; // 5초
- //----------------(20080930)
- //var showGrdTime = 7 * 1000 ; // 7초
- //var showMsgTime = 10 * 1000 ; // 10초
- var showGrdTime = 4 * 1000 ; // 7초
- var showMsgTime = 10 * 1000 ; // 10초
- //----------------(20080930)
- var clockID ; // 하단줄의 시간 interval
- var grdintervalID ; // 그리드 조회 interval
- var grdintervalIDTop ; // 그리드 상단 올리기 interval
- var grdintervalIDDelay ; // 지연
- var msgintervalID ; // msg 조회 interval
- var msgintervalIDTop ; // msg 상단 올리기 interval
- var msgintervalIDDelay ; // 지연
- /**
- * @group :
- * @ver : 2008.02.13
- * @by : 임여원
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 수술 대기 환자 조회 화면 초기화 작업
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitializeop(){
-
- model.removeNodeset("/root/main/oppatlist/oppatinfo");
- model.removeNodeset("/root/main/msglist/msginfo");
- model.setValue("/root/main/cond/oppartrtndd", getCurrentDate());
- model.makeValue("/root/main/cond/oppartrtnflag","O"); //수술 대기 환자 조회 화면 플래그 O셋팅
- model.refresh();
- fSetGrdTimer();
- setWindowSize(); //(20080130) 테스트중
-
- model.setFocus("lbl_header");
- }
- /**
- * @group :
- * @ver : 2009.02.13
- * @by : 임여원
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 분만 대기 환자 조회 화면 초기화 작업
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize(){
-
- model.removeNodeset("/root/main/oppatlist/oppatinfo");
- model.removeNodeset("/root/main/msglist/msginfo");
- model.setValue("/root/main/cond/oppartrtndd", getCurrentDate());
- model.makeValue("/root/main/cond/oppartrtnflag","P"); //분만 대기 환자 조회 화면 플래그 O셋팅
- model.refresh();
- fSetGrdTimer();
- setWindowSize(); //(20080130) 테스트중
-
- model.setFocus("lbl_header");
- }
- /*
- //--------------------------
- // 그리드 top row 제거 실행되는 함수
- //--------------------------
- function fshowGrdTime() {
- model.removenode("/root/main/oppatlist/oppatinfo[1]") ;
- setGridColor() ;
- model.refresh() ;
- }
- //--------------------------
- // Msg display 실행되는 함수
- //--------------------------
- function fshowMsgTime() {
- model.setValue("/root/hidden/callmsg", model.getValue("/root/main/msglist/msginfo[1]/callmsg")) ;
- model.removenode("/root/main/msglist/msginfo[1]") ;
- model.refresh() ;
- }
- */
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 지정된 시간간격마다 그리드데이터 조회(화면 호출시 처음만 호출된다)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetGrdTimer(){
- //시간은 1초 단위로 갱신: 무한루프=> 0.1로 변경
- //clockID = window.setInterval("clock();", 1000);
- clockID = window.setInterval("clock();", 100); //0.1초
- //메시지 5초: 무한루프시켜야 함(그리드 test용으로 막음)
- msgintervalID = window.setInterval("fGetCallMessage();", submitIntervalTime); //5초
- if(model.getValue("/root/main/cond/oppartrtnflag")=="O") //수술 화면에서 수술대기 환자 조회시
- {
- //그리드 5초(상단으로 이동):무한루프시켜야 함
- grdintervalID = window.setInterval("fGetOpPatList();", submitIntervalTime); //5초
- }
- else if(model.getValue("/root/main/cond/oppartrtnflag")=="P") //분만 화면에서 분만 대기 환자 조회시
- {
- grdintervalID = window.setInterval("fGetPartrtnPatList();", submitIntervalTime); //5초
- }
-
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : DataTime 조회.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function clock() {
- var datetime = getCurrentDateTime().substring(0, 4) + "년 "
- + getCurrentDateTime().substring(4, 6) + "월 "
- + getCurrentDateTime().substring(6, 8) + "일 "
- + getCurrentDate().toDate().getDayOfWeek("K") + "요일 "
- + getCurrentDateTime().substring(8, 11) + "시 "
- + getCurrentDateTime().substring(11, 13) + "분 "
- + getCurrentDateTime().substring(13, 15) + "초" ;
- model.setValue("/root/hidden/time", datetime) ;
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 수술환자 보호자 호출메시지 조회.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetCallMessage(){
-
- var sPath = "/root/main/msglist";
- if(getNodesetCount(sPath + "/msginfo") == 0) {
- //model.removeNodeset("/root/main/msglist/msginfo") ;
- model.removeNodeset(sPath) ;
- model.refresh();
-
- model.copyNode("/root/send/reqdata", "/root/main/cond") ;
- setErrorOff();
-
- //if ( submit("TRMNP06201",false) == true) {
- if ( submit("TRMNV02002",false) == true) {
- model.setValue("/root/init/msgStatus","msg:정상");
- model.refresh();
-
- model.setValue("/root/init/msgStatus1", "조회" );
- model.refresh();
-
- var msgCnt = getNodesetCount(sPath + "/msginfo") ;
- if (msgCnt > 0) {
- /*
- var TimerID = window.setInterval('window.setinterval("", 5000) ;'
- + 'model.setValue("/root/hidden/callmsg", model.getValue("/root/main/msglist/msginfo[1]/callmsg")) ;'
- + 'model.removenode("/root/main/msglist/msginfo[1]") ;'
- + 'model.refresh() ;', showMsgTime) ;
- */
- msgintervalIDTop = window.setInterval("fGetCallMessageSub1()", showMsgTime); //10초
- }else{
- model.setValue("/root/hidden/callmsg", "") ;
- tar_callmsg.refresh();
- }
- } else {
- model.setValue("/root/init/msgStatus","msg:장애");
- model.removeNodeset(sPath);
- model.refresh();
- }
- }
- }
- //-------------------------------
- // 수술환자 보호자 호출메시지 조회.
- //-------------------------------
- function fGetCallMessageSub1() {
-
- // var timerID = window.setinterval("", 5000) ; //시간지연
- model.setValue("/root/hidden/callmsg", model.getValue("/root/main/msglist/msginfo[1]/callmsg")) ;
- model.removenode("/root/main/msglist/msginfo[1]") ;
- model.setValue("/root/init/msgStatus1", getNodesetCount("/root/main/msglist/msginfo") );
- model.refresh();
- if ( getNodesetCount("/root/main/msglist/msginfo") == 0) {
- model.setValue("/root/init/msgStatus1", "E:"+msgintervalIDTop );
- model.refresh() ;
- window.clearInterval(msgintervalIDTop);
- }
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 수술 및 분만환자 조회.[조회버튼클릭]
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- function fGetOpPartrtnPatList(){
- var sPath = "/root/main/oppatlist";
- if(getNodesetCount(sPath + "/oppatinfo") == 0)
- {
- //(20080211) oppatinfo까지 된것을 막음)
- model.removeNodeset(sPath);
- model.refresh();
- model.copyNode("/root/send/reqdata", "/root/main/cond");
- setErrorOff();
-
- if (submit("TRMNP06200",false) == true) {
- model.setValue("/root/init/grdStatus","grd:정상");
- model.refresh();
-
- model.setValue("/root/init/grdStatus1", "조회" );
- model.refresh() ;
-
- var ndCnt = getNodesetCount(sPath + "/oppatinfo") ;
- if ( ndCnt > 0) {
- setGridColor() ;
-
- grdintervalIDTop = window.setInterval("fGetOpPartrtnPatListSub1()", showGrdTime); //100) ; //7초
- }
- } else {
- model.setValue("/root/init/grdStatus","grd:장애");
- model.removeNodeset(sPath);
- model.refresh();
- }
- }
- }
- */
- //----------------------------
- // 자료를 상단으로 올리는 기능1
- //----------------------------
- function fGetOpPartrtnPatListSub1() {
-
- // var timerID = window.setinterval("", 5000) ; //상단올리기 지연시킴
- model.removenode("/root/main/oppatlist/oppatinfo[1]") ;
- setGridColor() ;
- model.setValue("/root/init/grdStatus1", getNodesetCount("/root/main/oppatlist/oppatinfo") );
- model.refresh() ;
- if ( getNodesetCount("/root/main/oppatlist/oppatinfo") == 0) {
- model.setValue("/root/init/grdStatus1", "E:"+grdintervalIDTop );
- model.refresh() ;
- window.clearInterval(grdintervalIDTop);
- }
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 수술예약번호 해당 호출메시지 검색
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function getCallMsg(Oprsrvno)
- {
- var msgCnt = getNodesetCount("/root/main/msglist/msginfo") ;
- var RtnValue = "NONE" ;
- if(msgCnt > 0)
- {
- for(var i=1;i<=msgCnt;i++)
- {
- if(Oprsrvno == model.getValue("/root/main/msglist/msginfo["+ i + "]/oprsrvno"))
- {
- RtnValue = model.getValue("/root/main/msglist/msginfo["+ i + "]/callmsg") ;
- model.removenode("/root/main/msglist/msginfo["+ i + "]");
- break ;
- }
- }
- }
- return RtnValue ;
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 'ESC' or 'Q' 키를 누르면 타이머 해제 및 윈도우 닫기
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClearTimer(){
- var keyPressed = event.keyCode ;
- if(keyPressed == 27 || keyPressed == 81) // 'ESC' or 'Q' 키가 눌려진 경우
- {
- var answer = messageBox("수술 및 분만 진행현황 안내 프로그램 종료를 ", "Q004") ;
- if(answer == 6) {
-
- if (clockID != "") window.clearInterval(clockID);
- if (msgintervalID != "") window.clearInterval(msgintervalID);
- if (grdintervalID != "") window.clearInterval(grdintervalID);
-
- if (msgintervalIDTop != "") window.clearInterval(msgintervalIDTop);
- if (grdintervalIDTop != "") window.clearInterval(grdintervalIDTop);
- model.close() ;
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 진행상태에 따른 글자색 설정
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function setGridColor()
- {
- var ndCnt = getNodesetCount("/root/main/oppatlist/oppatinfo") ;
- var status ;
-
- for(var i=1;i<=ndCnt;i++)
- {
- status = model.getValue("/root/main/oppatlist/oppatinfo["+ i + "]/opstatcd") ;
- if(status == "20" || status == "1") // 수술예정 또는 분만대기중 - 검정색
- grd_list.cellStyle("color", i, 3) = "#000000" ;
- else if(status == "30" || status == "2") // 수술대기 또는 진통중 - 분홍색
- grd_list.cellStyle("color", i, 3) = "#FF82FF" ;
- else if(status == "40" || status == "3") // 수술중 또는 분만중 - 빨강색
- grd_list.cellStyle("color", i, 3) = "#FF0000" ;
- else if(status == "50" || status == "4") // 수술종료 또는 분만완료- 파랑색
- grd_list.cellStyle("color", i, 3) = "#0000FF" ;
- else if(status == "60" || status == "5") // 회복중 또는 절대안정중 - 녹색
- grd_list.cellStyle("color", i, 3) = "#00CC66" ;
- else if(status == "70" || status == "6") // 퇴실 또는 안정중 - 청녹색
- grd_list.cellStyle("color", i, 3) = "#006600" ;
- }
- }
-
-
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 수술 진행현황 조회 */
- /* --------------------------------------------------*/
-
- function fGetOpPatList(){
- var sPath = "/root/main/oppatlist";
- if(getNodesetCount(sPath + "/oppatinfo") == 0)
- {
- //(20080211) oppatinfo까지 된것을 막음)
- model.removeNodeset(sPath);
- model.makeValue("/root/main/cond/oppartrtnflag","O"); //수술환자 조회 플래그
-
- model.refresh();
- model.copyNode("/root/send/reqdata", "/root/main/cond");
- setErrorOff();
-
- //if (submit("TRMNP06200",false) == true) {
- if (submit("TRMNV02001",false) == true) {
- model.setValue("/root/init/grdStatus","grd:정상");
- model.refresh();
-
- model.setValue("/root/init/grdStatus1", "조회" );
- model.refresh() ;
-
- var ndCnt = getNodesetCount(sPath + "/oppatinfo") ;
- if ( ndCnt > 0) {
- setGridColor() ;
- /*
- //5초간격으로 자료를 상단으로 올리는 기능
- var TimerID = window.setInterval('window.setinterval("", 5000) ;'
- + 'model.removenode("/root/main/oppatlist/oppatinfo[1]") ;'
- + 'setGridColor() ;'
- + 'model.refresh() ;', showGrdTime) ;
- */
- grdintervalIDTop = window.setInterval("fGetOpPartrtnPatListSub1()", showGrdTime); //100) ; //7초
- }
- } else {
- model.setValue("/root/init/grdStatus","grd:장애");
- model.removeNodeset(sPath);
- model.refresh();
- }
- }
- }
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 분만 진행현황 조회 */
- /* --------------------------------------------------*/
-
- function fGetPartrtnPatList(){
- var sPath = "/root/main/oppatlist";
- if(getNodesetCount(sPath + "/oppatinfo") == 0)
- {
- //(20080211) oppatinfo까지 된것을 막음)
- model.removeNodeset(sPath);
- model.makeValue("/root/main/cond/oppartrtnflag","P"); //분만환자 조회 플래그
-
- model.refresh();
- model.copyNode("/root/send/reqdata", "/root/main/cond");
- setErrorOff();
-
- if (submit("TRMNV02001",false) == true) {
- model.setValue("/root/init/grdStatus","grd:정상");
- model.refresh();
-
- model.setValue("/root/init/grdStatus1", "조회" );
- model.refresh() ;
-
- var ndCnt = getNodesetCount(sPath + "/oppatinfo") ;
- if ( ndCnt > 0) {
- setGridColor() ;
- /*
- //5초간격으로 자료를 상단으로 올리는 기능
- var TimerID = window.setInterval('window.setinterval("", 5000) ;'
- + 'model.removenode("/root/main/oppatlist/oppatinfo[1]") ;'
- + 'setGridColor() ;'
- + 'model.refresh() ;', showGrdTime) ;
- */
- grdintervalIDTop = window.setInterval("fGetOpPartrtnPatListSub1()", showGrdTime); //100) ; //7초
- }
- } else {
- model.setValue("/root/init/grdStatus","grd:장애");
- model.removeNodeset(sPath);
- model.refresh();
- }
- }
- }
- /* ------------------------------------------------- */
- /* ------End Of List ------------------------------- */
- /* -------------------------------------------------- */
-
|