123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[
- /*
- 수술 및 분만현황 안내 진행현황판(SMMNP06200_수술 및 분만 진행현황 전광판.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- - Programmer : 문창곤
- */
- 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 = 11111; // 하단줄의 시간 interval
- var grdintervalID = 11112; // 그리드 조회 interval
- var grdintervalIDTop = 11113; // 그리드 상단 올리기 interval
- var grdintervalIDDelay = 11114; // 지연
- var msgintervalID = 11115; // msg 조회 interval
- var msgintervalIDTop = 11116; // msg 상단 올리기 interval
- var msgintervalIDDelay = 11117; // 지연
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 초기화 작업을 합니다.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize() {
- ds_main_oppatlist_oppatinfo.clearData();
- ds_main_msglist_msginfo.clearData();
- ds_main_cond.setColumn(0, "oppartrtndd", utlf_getCurrentDate());
- // model.setValue("/root/main/cond/oppartrtndd", "20071011");
- // model.copyNode("/root/send/reqdata", "/root/main/cond");
- // setErrorOff(); //submit에서 오류가 발생해도 오류메시지가 나오지 않도록 설정
- // submit("TRMNP06201"); //수술환자 보호자 호출메시지 조회.
- // setErrorOff(); //submit에서 오류가 발생해도 오류메시지가 나오지 않도록 설정
- // submit("TRMNP06200"); //수술 및 분만환자 조회.[조회버튼클릭]
- // setGridColor() ;
- /*
- window.setInterval('model.removenode("/root/main/oppatlist/oppatinfo[1]") ;'
- + 'setGridColor() ;'
- + 'model.refresh() ;', showGrdTime) ; // 7초
- window.setInterval('model.setValue("/root/hidden/callmsg", model.getValue("/root/main/msglist/msginfo[1]/callmsg")) ;'
- + 'model.removenode("/root/main/msglist/msginfo[1]") ;'
- + 'model.refresh() ;', showMsgTime) ; // 10초
- */
- // window.setInterval("fshowGrdTime()", showGrdTime) ; // 7초
- // window.setInterval("fshowMsgTime()", showMsgTime) ; // 10초
- // grdTopintervalID = window.setInterval("fGetOpPartrtnPatListSub2()", showGrdTime) ; // 7초 test
- // msgTopintervalID = window.setInterval("fGetCallMessageSub2()", showMsgTime) ; // 10초 test
- fSetGrdTimer();
- //setWindowSize(); //(20080130) 테스트중
- lbl_header.setFocus();
- }
- /*
- //--------------------------
- // 그리드 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초
- this.setTimer(clockID, 100);
- //메시지 5초: 무한루프시켜야 함(그리드 test용으로 막음)
- // msgintervalID = window.setInterval("fGetCallMessage();", submitIntervalTime); //5초
- this.setTimer(msgintervalID, submitIntervalTime);
- //그리드 5초(상단으로 이동):무한루프시켜야 함
- // grdintervalID = window.setInterval("fGetOpPartrtnPatList();", submitIntervalTime); //5초
- this.setTimer(grdintervalID, submitIntervalTime);
- //메시지자료 상단으로 올리기
- //msgintervalIDTop = window.setInterval("fGetCallMessageSub1()", showMsgTime); //10초
- //그리드자료 상단으로 올리기
- //grdintervalIDTop = window.setInterval("fGetOpPartrtnPatListSub1()", showGrdTime); //7초
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : DataTime 조회.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function clock() {
- var datetime = utlf_getCurrentDateTime().substring(0, 4) + "년 " +
- utlf_getCurrentDateTime().substring(4, 6) + "월 " +
- utlf_getCurrentDateTime().substring(6, 8) + "일 " +
- utlf_getCurrentDate().toDate().getDayOfWeek("K") + "요일 " +
- utlf_getCurrentDateTime().substring(8, 11) + "시 " +
- utlf_getCurrentDateTime().substring(11, 13) + "분 " +
- utlf_getCurrentDateTime().substring(13, 15) + "초";
- ds_hidden.setColumn(0, "time", datetime);
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 수술환자 보호자 호출메시지 조회.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetCallMessage() {
- // var sPath = "/root/main/msglist";
- if (ds_main_msglist_msginfo.rowcount == 0) {
- ds_main_msglist_msginfo.clearData();
- ds_send_reqdata.setColumn(0, "emindd", ds_main_cond.getColumn(0, 'emindd'));
- sysf_setErrorMsg(false);
- var oParam = {};
- oParam.id = "TRMNP06201";
- oParam.service = "opanstapp.OpAnstPatMngt";
- oParam.method = "reqGetOpCallMsg";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_msglist_msginfo=msginfo";
- oParam.async = false;
- oParam.callback = "cf_TRMNP06201";
- tranf_submit(oParam);
-
- if (arErrorCode.pop("TRMNP06201") > -1) {
- ds_init.setColumn(0, "msgStatus", "msg:정상");
- ds_init.setColumn(0, "msgStatus1", "조회");
- if (ds_main_msglist_msginfo.rowcount > 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초
- this.setTimer(msgintervalIDTop, showMsgTime);
- }
- else {
- ds_hidden.setColumn(0, "callmsg", "");
- }
- }
- else {
- ds_init.setColumn(0, "msgStatus", "msg:장애");
- ds_main_msglist_msginfo.clearData();
- }
- }
- }
- function cf_TRMNP06201(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //-------------------------------
- // 수술환자 보호자 호출메시지 조회.
- //-------------------------------
- function fGetCallMessageSub1() {
- // var timerID = window.setinterval("", 5000) ; //시간지연
- ds_hidden.setColumn(0, "callmsg", ds_main_msglist_msginfo.getColumn(0, "callmsg"));
- //ds_main_msglist_msginfo.setColumn(0, 'callmsg', '');
- ds_main_msglist_msginfo.deleteRow(0);
- ds_init.setColumn(0, "msgStatus1", ds_main_msglist_msginfo.rowcount);
- if (ds_main_msglist_msginfo.rowcount == 0) {
- ds_init.setColumn(0, "msgStatus1", "E:" + msgintervalIDTop);
- this.killTimer(msgintervalIDTop);
- }
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 수술 및 분만환자 조회.[조회버튼클릭]
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetOpPartrtnPatList() {
- //var sPath = "/root/main/oppatlist";
- if (ds_main_oppatlist_oppatinfo.rowcount == 0) {
- //(20080211) oppatinfo까지 된것을 막음)
- ds_send_reqdata.setColumn(0, "emindd", ds_main_cond.getColumn(0, 'emindd'));
- ds_main_oppatlist_oppatinfo.clearData();
- sysf_setErrorMsg(false);
- dsf_createDsRow('ds_TRMNP06200', [{ col: 'oppartrtndd', type: 'string', size: 256, val: '' }], false);
- var oParam = {};
- oParam.id = "TRMNP06200";
- oParam.service = "opanstapp.OpAnstPatMngt";
- oParam.method = "reqGetOpPartrtnPatInfoList";
- oParam.inds = "req=ds_TRMNP06200";
- oParam.outds = "ds_main_oppatlist_oppatinfo=oppatinfo";
- oParam.async = false;
- oParam.callback = "cf_TRMNP06200";
- tranf_submit(oParam);
- ds_main_oppatlist_oppatinfo.addColumn('bgColor', 'string');
- sysf_setErrorMsg(true);
- if (arErrorCode.pop("TRMNP06200") > -1) {
- ds_init.setColumn(0, "grdStatus", "grd:정상");
- ds_init.setColumn(0, "grdStatus1", "조회");
- if (ds_main_oppatlist_oppatinfo.rowcount > 0) {
- setGridColor();
- /*
- //5초간격으로 자료를 상단으로 올리는 기능
- var TimerID = window.setInterval('window.setinterval("", 5000) ;'
- + 'model.removenode("/root/main/oppatlist/oppatinfo[1]") ;'
- + 'setGridColor() ;'
- + 'model.refresh() ;', showGrdTime) ;
- */
- this.setTimer(grdintervalIDTop, showGrdTime); //7초
- }
- }
- else {
- ds_init.setColumn(0, "grdStatus", "grd:장애");
- ds_main_oppatlist_oppatinfo.clearData();
- }
- }
- }
- function cf_TRMNP06200(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //----------------------------
- // 자료를 상단으로 올리는 기능1
- //----------------------------
- function fGetOpPartrtnPatListSub1() {
- // var timerID = window.setinterval("", 5000) ; //상단올리기 지연시킴
- ds_main_oppatlist_oppatinfo.deleteRow(0);
- setGridColor();
- ds_init.setColumn(0, "grdStatus1", ds_main_oppatlist_oppatinfo.rowcount);
- if (ds_main_oppatlist_oppatinfo.rowcount == 0) {
- ds_init.setColumn(0, "grdStatus1", "E:" + grdintervalIDTop);
- this.killTimer(grdintervalIDTop);
- }
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 수술예약번호 해당 호출메시지 검색
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function getCallMsg(Oprsrvno) {
- var msgCnt = ds_main_msglist_msginfo.rowcount;
- var RtnValue = "NONE";
- if (msgCnt > 0) {
- for (var i = 0; i < msgCnt; i++) {
- if (Oprsrvno == ds_main_msglist_msginfo.getColumn(i, "oprsrvno")) {
- RtnValue = ds_main_msglist_msginfo.getColumn(i, "callmsg");
- ds_main_msglist_msginfo.deleteRow(i);
- break;
- }
- }
- }
- return RtnValue;
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 'ESC' or 'Q' 키를 누르면 타이머 해제 및 윈도우 닫기
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClearTimer(keycode) {
- var keyPressed = keycode;
- if (keyPressed == 27 || keyPressed == 81) // 'ESC' or 'Q' 키가 눌려진 경우
- {
- var answer = sysf_messageBox("수술 및 분만 진행현황 안내 프로그램 종료를 ", "Q004");
- if (answer == 6) {
- if (clockID != "") {
- this.killTimer(clockID);
- }
- if (msgintervalID != "") {
- this.killTimer(msgintervalID);
- }
- if (grdintervalID != "") {
- this.killTimer(grdintervalID);
- }
- if (msgintervalIDTop != "") {
- this.killTimer(msgintervalIDTop);
- }
- if (grdintervalIDTop != "") {
- this.killTimer(grdintervalIDTop);
- }
- this.close();
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 진행상태에 따른 글자색 설정
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function setGridColor() {
- var ndCnt = ds_main_oppatlist_oppatinfo.rowcount;
- var status;
- for (var i = 0; i < ndCnt; i++) {
- status = ds_main_oppatlist_oppatinfo.getColumn(i, "opstatcd");
- // 수술예정 또는 분만대기중 - 검정색
- if (status == "20" || status == "1") {
- ds_main_oppatlist_oppatinfo.setColumn(i, 'bgColor', '#000000');
- // grd_list.cellStyle("color", i, 3) = "#000000";
- }
- // 수술대기 또는 진통중 - 분홍색
- else if (status == "30" || status == "2") {
- ds_main_oppatlist_oppatinfo.setColumn(i, 'bgColor', '#FF82FF');
- // grd_list.cellStyle("color", i, 3) = "#FF82FF";
- }
- // 수술중 또는 분만중 - 빨강색
- else if (status == "40" || status == "3") {
- ds_main_oppatlist_oppatinfo.setColumn(i, 'bgColor', '#FF0000');
- // grd_list.cellStyle("color", i, 3) = "#FF0000";
- }
- // 수술종료 또는 분만완료- 파랑색
- else if (status == "50" || status == "4") {
- ds_main_oppatlist_oppatinfo.setColumn(i, 'bgColor', '#0000FF');
- // grd_list.cellStyle("color", i, 3) = "#0000FF";
- }
- // 회복중 또는 절대안정중 - 녹색
- else if (status == "60" || status == "5") {
- ds_main_oppatlist_oppatinfo.setColumn(i, 'bgColor', '#00FF00');
- // grd_list.cellStyle("color", i, 3) = "#00FF00";
- }
- // 퇴실 또는 안정중 - 청녹색
- else if (status == "70" || status == "6") {
- ds_main_oppatlist_oppatinfo.setColumn(i, 'bgColor', '#006600');
- // grd_list.cellStyle("color", i, 3) = "#006600";
- }
- }
- }
- ]]></Script>
|