123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358 |
- /* ---------------------------------------------------------------------
-
- 대기안내 환자진행현황 (대기안내공통 - JScript )
-
- - Version :
- 1) : Ver.1.00.01
- : Create By YeoWon Lim
- : 2015.05.02
- ----------------------------------------------------------------------*/
- var clockID ; // 하단줄의 시간 interval
- var grdintervalID ; // 그리드 조회 interval
- var grdToggle;
- var subdeptCount; // 표시할 세부과 갯수
- var initSubdeptCount;
- /**
- * @group :
- * @ver : 2008.02.13
- * @by : 임여원
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 대기안내 환자조회화면초기화
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize(){
- model.setValue("/root/main/cond/bizdd", getCurrentDate());
-
- // 상단에 세부 진료과명 셋팅 2010.06.09 kskim
- var dipaddr = getUserInfo("ipaddr");
- //alert(ipaddr);
- model.makeValue("/root/main/req/dipaddr", dipaddr);
- if( submit("TRMNV08002", "true", "/root/main/req", "/root/hidden/wgopeninfo") ){
- initSubdeptCount = getNodesetCount("/root/hidden/wgopeninfo/wgopeninfolist"); //emr.mnvhwgem 테이블에서 표시할 세부진료과 정보 조회 2010.06.09 kskim
- subdeptCount = initSubdeptCount;
- //alert("subdeptCount: " + subdeptCount);
- }
- model.removenode("/root/main/waitroominfo/waitroominfolist");
- model.refresh();
-
- fSetTimer();
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 지정된 시간간격마다 그리드데이터 조회(화면 호출시 처음만 호출된다)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetTimer(){
- clockID = window.setInterval("clock();" , 1000); //1초
- grdintervalID = window.setInterval("fGetOpdWaitRoomInfo();", 9000);
- grdToggle = window.setInterval("fGetOpdWaitRoomToggle();", 3000);
- }
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 외래 대기실 진행현황 조회 */
- /* --------------------------------------------------*/
- var maxGroup = 12; //대대기에 표시할 진료실 최대 개수
- var perGroup = 3; //대대기 한 화면에 표시할 진료실 개수
- var maxPatGroup = 5; //대대기 한개의 진료실에 보여질 최대 환자 수
-
- function fGetOpdWaitRoomInfo(){
- var sPath = "/root/main/opdinfo";
- model.removenode("/root/send");
- model.makeValue("/root/send/bizdd", model.getValue("/root/main/cond/bizdd"));
- model.makeValue("/root/send/subdeptcd", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist[" + subdeptCount + "]/subdeptcd"));
- model.makeValue("/root/send/centcd", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist[" + subdeptCount + "]/centcd"));
- model.makeValue("/root/send/orddeptcd", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist[" + subdeptCount + "]/orddeptcd"));
- // model.makeValue("/root/send/centcd", '-');
- // model.makeValue("/root/send/orddeptcd", '2120000000');
- model.makeValue("/root/send/ordroomcd", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist[" + subdeptCount + "]/ordroomcd"));
- //model.makeValue("/root/send/orddrid", model.getValue("/root/main/ordroominfo/ordroominfolist[" + subdeptCount + "]/orddrid"));
- // 환자조회 시 세부과코드 추가 2010.06.09 kskim
- model.makeValue("/root/send/subdeptcd", model.getValue("/root/hidden/wgopeninfo/wgopeninfolist[" + subdeptCount + "]/subdeptcd"));
-
- setErrorOff();
-
- if (submit("TRMNV08003", false, "/root/send", "/root/main/waitroominfo")) {
- // 상단 세부과 정보 셋팅 2010.06.09 kskim
- var subdeptnm = model.getValue("/root/hidden/wgopeninfo/wgopeninfolist[" + subdeptCount + "]/subdeptnm");
- var appendnm = "치과 ";
- var appendsubdeptnm = appendnm.concat(subdeptnm);
-
- model.makeValue("/root/main/waitroominfo/waitroomtitle/deptnm",appendsubdeptnm);
-
- model.setValue("/root/main/cond/bizdd", getCurrentDate());
- fClearPatMsg(); //환자개인메세지 내용 초기화 2010.06.09 kskim
- var i, z, y;
- var itemid;
- var drnm, chgdrnm;
- var patnm, chgpatnm;
-
- for(i = 1; i <= getNodesetCount("/root/main/waitroominfo/waitroominfolist") && i <= maxGroup; i++ ) {
-
- itemid = "room" + i;
- drnm = ""; //20100104-kys(세로로 표현 진료의)
- chgdrnm = ""; //20100104-kys(세로로 표현 진료의)
- patnm = ""; //환자명사이에 space를 넣어서 조회되게-20100108-kys
- chgpatnm = ""; //환자명사이에 space를 넣어서 조회되게-20100108-kys
-
- //진료실 숫자만 표기-kys-20100105
- //document.all.item(itemid+"_roomnm").value = model.getValue("/root/main/waitroominfo/waitroominfolist[" + i + "]/ordroomhngnm"); // 치과 세부 진료과 대대기 안내 진료실명 필요 없어서 추석처리 2010.06.09 kskim
- // document.all.item(itemid+"_roomnumb").value = model.getValue("/root/main/waitroominfo/waitroominfolist[" + i + "]/ordroomnumb");
- // document.all.item(itemid+"_roomnm").value = model.getValue("/root/main/waitroominfo/waitroominfolist[" + i + "]/ordroomnm");
- //document.all.item(itemid+"_drnm").value = model.getValue("/root/main/waitroominfo/waitroominfolist[" + i + "]/orddrnm");
- document.all.item(itemid+"_delytm").value = model.getValue("/root/main/waitroominfo/waitroominfolist[" + i + "]/delytm"); // 주석처리 사유: 환자 개인메세지 처리 위해 주석처리 2010.06.07 kskim
-
- drnm = model.getValue("/root/main/waitroominfo/waitroominfolist[" + i + "]/orddrnm"); //20100104-kys(세로로 표현 진료의)
- for(z = 0; z < drnm.length; z++){
- if(z + 1 == drnm.length){
- chgdrnm = chgdrnm + drnm.substring(z , z + 1);
- }else{
- chgdrnm = chgdrnm + drnm.substring(z , z + 1) + String.fromCharCode(10);
- }
- }
- document.all.item(itemid+"_drnm").value = chgdrnm;
-
- var m = 1;
- for(m = 1; m <= 5; m++ ) { //한 그룹에 표시할 환자수
- document.all.item(itemid+"_pat"+m).value = "";
- document.all.item(itemid+"_pid"+m).value = ""; //등록번호추가-kys-20091230
- }
-
- var k = 1;
-
- for(j = 1; j <= getNodesetCount("/root/main/waitroominfo/waitroompatlist"); j++ ) {
- if(model.getValue("/root/main/waitroominfo/waitroominfolist[" + i + "]/orddrid") == model.getValue("/root/main/waitroominfo/waitroompatlist[" + j + "]/orddrid") && k <=5) { //한 그룹에 표시할 환자수
- //환자명사이에 space를 넣어서 조회되게-20100108-kys
- patnm = model.getValue("/root/main/waitroominfo/waitroompatlist[" + j + "]/patnm");
- for(y = 0; y < patnm.length; y++){
- if(y + 1 == patnm.length){
- chgpatnm = chgpatnm + patnm.substring(y , y + 1);
- }else{
- chgpatnm = chgpatnm + patnm.substring(y , y + 1) + " ";
- }
- }
- document.all.item(itemid+"_pat"+k).value = chgpatnm;
- patnm = "";
- chgpatnm = "";
- //document.all.item(itemid+"_pat"+k).value = model.getValue("/root/main/waitroominfo/waitroompatlist[" + j + "]/patnm");
- document.all.item(itemid+"_pid"+k).value = model.getValue("/root/main/waitroominfo/waitroompatlist[" + j + "]/pid"); //등록번호추가-kys-20091230
- document.all.item(itemid+"_patmsg"+k).value = model.getValue("/root/main/waitroominfo/waitroompatlist[" + j + "]/patmsg"); //환자개인메세지 정보 추가 2010.06.07 kskim
- k = k+1;
- }
- }
- }
- } else {
- model.setValue("/root/init/grdStatus","grd:장애");
- model.removeNodeset(sPath);
- model.refresh();
- }
-
- // 세부진료과 정보가 두개 일 때 조회 번갈가면 정보 조회 2010.06.09 kskim
- if(subdeptCount == 2){
- subdeptCount = subdeptCount - 1;
- }
- else if(subdeptCount == 1 && initSubdeptCount == 2){
- subdeptCount = subdeptCount + 1;
- }
- }
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 외래 대기실 진행현황 조회 */
- /* --------------------------------------------------*/
- var tempTo = 1;
-
- function fGetOpdWaitRoomToggle(){
- for(i = 1; i <= maxGroup; i++ ) {
- itemid = "room" + i;
- document.all.item(itemid).visible = false;
- }
- if (getNodesetCount("/root/main/waitroominfo/waitroominfolist") <= 3 ) {
- for(i = 1; i <= getNodesetCount("/root/main/waitroominfo/waitroominfolist"); i++ ) {
- itemid = "room" + i;
- document.all.item(itemid).visible = true;
- }
- } else if (getNodesetCount("/root/main/waitroominfo/waitroominfolist") <= 6 ) {
- if (tempTo == 1 || tempTo == 3 || tempTo == 4) {
- for(i = 1; i <= getNodesetCount("/root/main/waitroominfo/waitroominfolist") && i <= 3; i++ ) {
- itemid = "room" + i;
- document.all.item(itemid).visible = true;
- }
- tempTo = 2;
- } else {
- for(i = 4; i <= getNodesetCount("/root/main/waitroominfo/waitroominfolist") && i <= 6; i++ ) {
- itemid = "room" + i;
- document.all.item(itemid).visible = true;
- }
- tempTo = 1;
- }
- } else if (getNodesetCount("/root/main/waitroominfo/waitroominfolist") <= 9) {
- if (tempTo == 1) {
- for(i = 1; i <= getNodesetCount("/root/main/waitroominfo/waitroominfolist") && i<=3; i++ ) {
- itemid = "room" + i;
- document.all.item(itemid).visible = true;
- }
- tempTo = 2;
- } else if (tempTo == 2) {
- for(i = 4; i <= getNodesetCount("/root/main/waitroominfo/waitroominfolist") && i<=6; i++ ) {
- itemid = "room" + i;
- document.all.item(itemid).visible = true;
- }
- tempTo = 3;
- } else {
- for(i = 7; i <= getNodesetCount("/root/main/waitroominfo/waitroominfolist") && i<=9; i++ ) {
- itemid = "room" + i;
- document.all.item(itemid).visible = true;
- }
- tempTo = 1;
- }
- } else {
- if (tempTo == 1) {
- for(i = 1; i <= getNodesetCount("/root/main/waitroominfo/waitroominfolist") && i<=3; i++ ) {
- itemid = "room" + i;
- document.all.item(itemid).visible = true;
- }
- tempTo = 2;
- } else if (tempTo == 2) {
- for(i = 4; i <= getNodesetCount("/root/main/waitroominfo/waitroominfolist") && i<=6; i++ ) {
- itemid = "room" + i;
- document.all.item(itemid).visible = true;
- }
- tempTo = 3;
- } else if (tempTo == 3) {
- for(i = 7; i <= getNodesetCount("/root/main/waitroominfo/waitroominfolist") && i<=9; i++ ) {
- itemid = "room" + i;
- document.all.item(itemid).visible = true;
- }
- tempTo = 4;
- } else {
- for(i = 10; i <= getNodesetCount("/root/main/waitroominfo/waitroominfolist") && i<=12; i++ ) {
- itemid = "room" + i;
- document.all.item(itemid).visible = true;
- }
- tempTo = 1;
- }
-
- }
- }
- /**
- * @group :
- * @ver : 2007.10.09
- * @by : 문창곤
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : DataTime 조회.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function clock() {
- var tdate = getCurrentDateTime().substring(0, 4) + "년 "
- + getCurrentDateTime().substring(4, 6) + "월 "
- + getCurrentDateTime().substring(6, 8) + "일 "
- + getCurrentDate().toDate().getDayOfWeek("K") + "요일 "
-
- var ttime = getCurrentDateTime().substring(8, 11) + ":"
- + getCurrentDateTime().substring(11, 13)
-
- model.setValue("/root/hidden/date", tdate) ;
- model.setValue("/root/hidden/time", ttime) ;
- model.refresh();
- }
- /**
- * @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("진행현황 안내 프로그램 종료합니다.", "I") ;
- if(answer == 1) {
- fCloseBoard();
- }
- }
- }
- function fCloseBoard(){
- if (clockID != "") window.clearInterval(clockID);
- if (grdintervalID != "") window.clearInterval(grdintervalID);
- if (grdToggle != "") window.clearInterval(grdToggle);
-
- model.close() ;
- }
- //var maxGroup = 12; //대대기에 표시할 진료실 최대 개수
- //var perGroup = 4; //대대기 한 화면에 표시할 진료실 개수
- //var maxPatGroup = 5; //대대기 한개의 진료실에 보여질 최대 환자 수
- // 메세지 내용 초기화
- function fClearPatMsg(){
- var roomid = "room";
- var msgid = "patmsg";
-
- for(var roomidx = 1; roomidx <= maxGroup; roomidx++){
- document.all.item("room" + roomidx + "_drnm").value = "";
- for(var msgidx = 1; msgidx <= maxPatGroup; msgidx++){
- document.all.item("room" + roomidx + "_pat" + msgidx).value = "";
- document.all.item("room" + roomidx + "_pid" + msgidx).value = "";
- document.all.item("room" + roomidx + "_patmsg" + msgidx).value = "";
- }
- }
-
- }
-
-
|