123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- /* ---------------------------------------------------------------------
-
- 입간판 전문의 진료안내
-
- - Version :
- 1) : Ver.1.00.01
- : Create By dhkim
- : 2009.09.16
- ----------------------------------------------------------------------*/
- // global변수
- var grdintervalID ; // 그리드 토글조회 interval
- var researchID ; // 재조회 interval
- var tmpflag = 1;
- var ip = app.clientIp;
- var deptcd = "";
- var centcd = "";
- var deptnm = "";
- var centnm = "";
- /**
- * @group :
- * @ver : 2009.09.16
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면초기화
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize(){
-
- model.toggle("case1");
-
- //model.removeNodeset("/root/send");
-
- // 2010.05.24 강태훈 입간판 ip기준자료 세팅
- //입간판타이틀 조회
- fGetNursHardCdInfo("'SGN'", getCurrentDate());
-
- var crtDate = getCurrentDate();
- model.makeValue("/root/send/ipaddr" , ip);
- model.makeValue("/root/send/condition", crtDate);
- model.makeValue("/root/send/signbdyn", 'Y');
- // 2010.6.14 강태훈 화면에서 진료과 받아서 세팅
- centnm = model.getValue("/root/temp/centnm");
- deptnm = model.getValue("/root/temp/deptnm");
- centcd = model.getValue("/root/temp/centcd");
- deptcd = model.getValue("/root/temp/deptcd");
-
- if(centnm == null || centnm == "" || centnm == " " || centnm == "-"){
- model.setValue("/root/main/titlinfo/titlnm", deptnm + " 전문의 진료안내");
- }else{
- model.setValue("/root/main/titlinfo/titlnm", centnm + " 전문의 진료안내");
- }
- /* // 2010.5.24 강태훈 ip체크 후 진료과 이름 세팅
- var cnt = getNodesetCount("/root/code/codeinfo/codelist");
- for(var i=1;i<=cnt;i++){
- var tmpip = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
- var tmpnm = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdnm");
- var tmpdeptcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/supcdid");
- if(ip==tmpip){
- model.setValue("/root/main/titlinfo/titlnm", tmpnm);
- model.makeValue("/root/send/centcd", tmpdeptcd);
- deptcd = tmpdeptcd;
- }
- }
- */ cap_titlnm.refresh();
-
- //센터인지 일반진료과인지 조회
- //입간판타이틀 조회
- // if(!submit('TRMNV99901')){
- // messageBox('문제가 발생하여 타이틀조회를 실패하였습니다.', 'E');
- // return false;
- // }
- fSearch();
-
- // 2010.05.28 강태훈 일정 시간간격을 두고 재조회
- var reSearchIntervalTime = 12 * 60 * 60 * 1000 ;
- researchID = window.setInterval("fReSearch()", reSearchIntervalTime);
- }
- /**
- * @group :
- * @ver : 2009.09.16
- * @by : dhkim
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 진료일정조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSearch(){
-
- model.makeNode("/root/send/centcd");
-
- // deptcd = "2361300000";
-
- if(centcd == null || centcd == "" || centcd == " " || centcd == "-"){
- model.setValue("/root/send/centcd", deptcd);
- }else{
- model.setValue("/root/send/centcd", centcd);
- }
- model.setValue("/root/send/condition", getCurrentDate());
- //진료일정조회
- if(!submit('TRMNV99902')){
- messageBox('문제가 발생하여 진료일정조회를 실패하였습니다.', 'E');
- return false;
- }else{
-
- //그리드를 머지한다.
- datagrid1.mergeCol(datagrid1.colRef("depthngnm")) = true;
- datagrid1.mergeCol(datagrid1.colRef("usernm")) = false;
- datagrid1.mergeCol(datagrid1.colRef("am")) = false;
- datagrid1.mergeCol(datagrid1.colRef("pm")) = false;
- datagrid1.mergeCol(datagrid1.colRef("ordfild")) = false;
-
- //선택진료의사를 파란색으로 칠한다.
- var specordyn;
- for(var i = 1; i <= datagrid1.rows; i++){
- specordyn = model.getValue('/root/main/signboardinfo/signboardinfolist[' + i + ']/specordyn');
- if(specordyn == 'Y'){
- datagrid1.cellStyle('background-color', i, 1) = "#ccffff";
- datagrid1.cellStyle('background-color', i, 2) = "#ccffff";
- datagrid1.cellStyle('background-color', i, 3) = "#ccffff";
- datagrid1.cellStyle('background-color', i, 4) = "#ccffff";
- }else{
- datagrid1.cellStyle('background-color', i, 1) = 'transparent';
- datagrid1.cellStyle('background-color', i, 2) = 'transparent';
- datagrid1.cellStyle('background-color', i, 3) = 'transparent';
- datagrid1.cellStyle('background-color', i, 4) = 'transparent';
- }
- }
-
- // 전광판 줄이 17줄이 넘을 경우 10초 간격으로 화면이 바뀜.
- var listRow = getNodesetCount("/root/main/signboardinfo/signboardinfolist");
- var signRow = 17;
- if( listRow > signRow ){
- // 17줄(signRow) 초과하는 건 다음 그리드로 복사
- for(var i=signRow+1;i<=listRow;i++){
- model.makeValue("/root/main/signboardinfo/signboardinfolist2["+(i-signRow)+"]/depthngnm", model.getValue("/root/main/signboardinfo/signboardinfolist["+i+"]/depthngnm"));
- model.makeValue("/root/main/signboardinfo/signboardinfolist2["+(i-signRow)+"]/usernm", model.getValue("/root/main/signboardinfo/signboardinfolist["+i+"]/usernm"));
- model.makeValue("/root/main/signboardinfo/signboardinfolist2["+(i-signRow)+"]/specordyn", model.getValue("/root/main/signboardinfo/signboardinfolist["+i+"]/specordyn"));
- model.makeValue("/root/main/signboardinfo/signboardinfolist2["+(i-signRow)+"]/am", model.getValue("/root/main/signboardinfo/signboardinfolist["+i+"]/am"));
- model.makeValue("/root/main/signboardinfo/signboardinfolist2["+(i-signRow)+"]/pm", model.getValue("/root/main/signboardinfo/signboardinfolist["+i+"]/pm"));
- model.makeValue("/root/main/signboardinfo/signboardinfolist2["+(i-signRow)+"]/ordfild", model.getValue("/root/main/signboardinfo/signboardinfolist["+i+"]/ordfild"));
- }
- // 17줄 초과하는 건 grid1에서 삭제
- for(var i=signRow+1;i<=listRow;i++){
- datagrid1.removeRow();
- }
- datagrid1.rebuild();
- datagrid2.rebuild();
-
- //선택진료의사를 파란색으로 칠한다.
- var specordyn2;
- for(var i = 1; i <= datagrid2.rows; i++){
- specordyn2 = model.getValue('/root/main/signboardinfo/signboardinfolist2[' + i + ']/specordyn');
- if(specordyn2 == 'Y'){
- datagrid2.cellStyle('background-color', i, 1) = "#ccffff";
- datagrid2.cellStyle('background-color', i, 2) = "#ccffff";
- datagrid2.cellStyle('background-color', i, 3) = "#ccffff";
- datagrid2.cellStyle('background-color', i, 4) = "#ccffff";
- }else{
- datagrid2.cellStyle('background-color', i, 1) = 'transparent';
- datagrid2.cellStyle('background-color', i, 2) = 'transparent';
- datagrid2.cellStyle('background-color', i, 3) = 'transparent';
- datagrid2.cellStyle('background-color', i, 4) = 'transparent';
- }
- }
-
- // 17줄 넘을 경우 두 화면 번갈아가며 보여줌(10초 간격)
- var submitIntervalTime = 10 * 1000 ;
- grdintervalID = window.setInterval("fMoveList()", submitIntervalTime); //10초
-
- }
- }
- model.refresh();
- }
-
-
- /**
- * @group :
- * @ver : 2010.05.28
- * @by : sonickth
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그리드 10초간격 번갈아 보여줌
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fMoveList(){
- if(tmpflag == 1){
- button2.dispatch("onclick");
- }else{
- button1.dispatch("onclick");
- }
- tmpflag = tmpflag * -1;
- // window.clearInterval(grdintervalID);
- }
- /**
- * @group :
- * @ver : 2010.05.28
- * @by : sonickth
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 정해진 시간에 재조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fReSearch(){
- fSearch();
- }
- /**
- * @group :
- * @ver :
- * @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 (researchID != "") window.clearInterval(researchID);
- if (grdintervalID != "") window.clearInterval(grdintervalID);
- model.close() ;
- }
-
|