123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597 |
- var ClickTab = false;
- var displayflag = "N";
- /**
- * @desc : 사용자의 권한을 체크하여 버튼셋팅.
- * btn_r 조회버튼, btn_x 저장 및 수정 버튼, btn_p : 출력버튼
- * @
- * @param :
- * @return :
- * @authur : 김선태 2007. 5. 8
- * @---------------------------------------------------
- */
- function fchkAuth()
- {
-
- for(var i=0; i<= document.controls.length-1 ; i++){
- if(document.controls.item(i).elementName == "xforms:button"){
- if(document.controls.item(i).attribute("id").substr(0,6) == "btn_r_"){
- document.controls.item(i).disabled = !checkAuth("R");
- }
-
- if(document.controls.item(i).attribute("id").substr(0,6) == "btn_x_"){
- document.controls.item(i).disabled = !checkAuth("X");
- }
-
- if(document.controls.item(i).attribute("id").substr(0,6) == "btn_p_"){
- document.controls.item(i).disabled = !checkAuth("P");
- }
-
- }
- }
- }
- /**
- * @desc : excel 저장 하기
- * @
- * @param :
- * @return :
- * @authur : 이은영 2008.07.14
- * @---------------------------------------------------
- */
- function fExcel(gridObj, title){
- if (title == null) { title = "" }
- var fileName = window.fileDialog("save", ",", false, title + "_" + getCurrentDate(), "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
- if (fileName != "") {
- gridObj.saveExcel(fileName, "SheetName", true, true, "", "", true);
- }
- }
- /**
- * @desc : 폼초기화
- * @
- * @param :
- * @return :
- * @authur : 이은영 2008.03.18
- * @---------------------------------------------------
- */
- function fFormInit()
- {
- // 2007.12.20. 부서코드가 의료정보(3230000000)가 아닌 경우 : 현위치조회 텝만 가능함...
- var deptcd = getUserInfo("dutplcecd");
-
- // KNUH_20101207_박성호_start_의무기록 부서코드 가져오기
- mmbfGetHardCodeInfo("/root/send/reqdata", "/root/temp/hardcd", 5501);
- //if (deptcd == "3230000000") {
- if(model.getValue("/root/temp/hardcd/hardcd[hardcd='" + deptcd + "']/hardcd") != "")
- {
- // KNUH_20101207_박성호_end
- btn_ChrtLend.visible= true ;
- btn_ChrtRtn.visible = true ;
- btn_Receipt.visible = true ;
- displayflag = "Y";
- // 체크번호생성제외 보여주기 (default : 'Y')
- chkyn.visible = true ;
- model.setValue("/root/hidden/chkyn", "Y");
- } else {
- btn_ChrtLend.visible= false ;
- btn_ChrtRtn.visible = false ;
- btn_Receipt.visible = false ;
- // 체크번호생성제외 안 보여주기 (default : '')
- chkyn.visible = false ;
- model.setValue("/root/hidden/chkyn", "");
- }
- //컨트롤 권한 설정
- fchkAuth();
-
- btn_ChrtInfo.dispatch("onclick");
-
- //공통코드 가져오기...
- //M0392:챠트미대출사유코드
- //M0412:과보관사유코드
- //M0424:차트상태(분실)코드
- zbcfGetCodeList(new Array("M0392","M0412","M0424"), new Array("/root/init/M0392","/root/init/M0412","/root/init/M0424"));
- if (displayflag == "Y") {
- // 2009.01.28. 단축키 처리를 위해 로딩 처리..
- fClickTab();
- }
- var pid ;
- if (isPopup() == true) {
- // param 환자정보
- pid = opener.javascript.getParameter("pid");
- }
- if ( pid == null || pid == "" ) {
- // 상단 환자정보
- var node = getGlobalVariable("paminfo");
- model.removeNodeset("/root/init/paminfo/list");
- setCSVToNode("/root/init/paminfo", node);
- pid = model.getValue("/root/init/paminfo/list/pid");
- }
- if ( pid == null ) { pid == ""; }
- if ( pid != "" ) {
- model.makeValue("/root/send/reqdata/pid", pid);
- model.refresh();
-
- event.keyCode = "13";
- ipt_pid.dispatch("onkeydown");
- }
- }
- /**
- * @desc : 접수 탭 클릭...
- * @
- * @param :
- * @return :
- * @authur : 이은영 2008.03.18
- * @---------------------------------------------------
- */
- function fClickTab()
- {
- if (ClickTab == false)
- {
- ClickTab = true;
- // 대출용도, 대출과, 차트과, 차트담당자, 보관장소
- model.makeValue("/root/send/reqdata/ioflag" , "A"); //2010,12,28, 주희경 입원/외래 모두 조회 하도록 변경
- model.makeValue("/root/send/reqdata/useyn" , "");
- model.makeValue("/root/send/reqdata/allwardyn", "");
- submit("TRMRC00100");
-
- // 외래차트접수현황
- iv_Receipt.src = "SSMRC03200_외래차트접수현황.xrw";
- iv_Receipt.window.javascript.fFormInit();
- // 외래차트대출
- iv_ChrtLend.src = "SSMRC03300_외래차트대출.xrw";
- iv_ChrtLend.window.javascript.fFormInit();
- // 외래차트반납
- iv_ChrtRtn.src = "SSMRC03400_외래차트반납.xrw";
- iv_ChrtRtn.window.javascript.fFormInit();
- //공통코드 가져오기...
- //M0392:챠트미대출사유코드
- copyNode(iv_Receipt.model , model, "/root/init/M0392", "/root/init/M0392");
- copyNode(iv_ChrtLend.model, model, "/root/init/M0392", "/root/init/M0392");
- //M0412:과보관사유코드
- copyNode(iv_ChrtRtn.model , model, "/root/init/M0412", "/root/init/M0412");
- //M0424:차트상태(분실)코드
- copyNode(iv_ChrtLend.model , model, "/root/init/M0424", "/root/init/M0424");
- copyNode(iv_ChrtRtn.model , model, "/root/init/M0424", "/root/init/M0424");
- //대출마스터정보 가져오기...
- copyNode(iv_Receipt.model , model, "/root/init/lendmastinfo", "/root/init/lendmastinfo");
- copyNode(iv_ChrtLend.model, model, "/root/init/lendmastinfo", "/root/init/lendmastinfo");
- copyNode(iv_ChrtRtn.model , model, "/root/init/lendmastinfo", "/root/init/lendmastinfo");
-
- // 2009.02.10. 화면 초기화..
- iv_Receipt.model.refresh();
- iv_ChrtLend.model.refresh();
- iv_ChrtRtn.model.refresh();
- }
- }
- /**
- * @desc : 현위치조회
- * @
- * @param :
- * @return :
- * @authur : 이은영 2008.03.18
- * @---------------------------------------------------
- */
- function fChartHistory()
- {
- if(isXPathTextNull("/root/send/reqdata/pid")){
- messageBox("환자번호를 입력해 주세요.", "I999", "");
- return;
- }
- model.removeNodeset("/root/main/chrtinfo/chrtlist");
- model.removeNodeset("/root/main/chrtinfo/emrlist");
- model.removeNodeset("/root/main/chrtinfo/pamlist");
- model.removeNodeset("/root/main/chrtinfo/inpam");
- model.removeNodeset("/root/main/chrtinfo/chngroom");
- model.removeNodeset("/root/main/chrtinfo/healexam");
- model.removeNodeset("/root/main/chrtinfo/chrtlendlist");
-
- var result = fCheckPid(ipt_pid, "/root/send/reqdata/pnm", "/root/send/reqdata/rrgstno");
- if (result.length > 0) {
- // 종이 차트 조회
- submit("TRMRC00144");
- // EMR 기록 조회
- submit("TRMRC00145");
- // 건진내역조회
- submit("TRMRC00146");
-
- if(grd_chrtlist.rows > 0){
- var medirecno = model.getValue("/root/main/chrtinfo/chrtlist[1]/medirecno");
- if (medirecno != "") {
- model.makeValue("/root/send/reqdata/ioflag", "O");
- model.makeValue("/root/send/reqdata/medirecno", medirecno);
- model.makeValue("/root/send/reqdata/pid", model.getValue("/root/main/chrtinfo/chrtlist[1]/pid"));
- submit("TRMRC00170");
- }
- }
- }
- // 2008.12.17. 상태에 따라 로우 색상 지정해 주기..
- initGridStyle("grd_chrtlist");
- var gridObj = grd_chrtlist;
- for ( var i = 1 ; i < gridObj.rows ; i++)
- {
- if(gridObj.valueMatrix(i , gridObj.colRef("lendyn")) == "Y"){
- gridObj.rowstyle(i, "data", "background-color") = "#ffccff"; // 대출중 (핑크색)
- }
- if(gridObj.valueMatrix(i , gridObj.colRef("chrtstat")) == "01"){
- gridObj.rowstyle(i, "data", "color") = "#ff0000"; // 분실차트 (빨간색)
- }
- }
- // 2008.12.17. 상태에 따라 로우 색상 지정해 주기..
- initGridStyle("grd_chrtlendlist");
- var gridObj = grd_chrtlendlist;
- for ( var i = 1 ; i < gridObj.rows ; i++)
- {
- if(gridObj.valueMatrix(i , gridObj.colRef("rtndt")) == ""){
- gridObj.rowstyle(i, "data", "background-color") = "#ffccff"; // 대출중 (핑크색)
- }
- }
- // 2009.06.02. 의정부인 경우.. 응급실, 건진센터 구영상 조회하기..
- var instcd = getUserInfo("dutplceinstcd");
- if (instcd == "013") {
- submit("TRMRC00147");
- var msgER = "";
- var msgAH = "";
- var dataCnt = getNodesetCnt(model, "/root/main/chrtinfo/oldimglist");
- for (var i = 1 ; i <= dataCnt ; i++)
- {
- var cls = model.getValue("/root/main/chrtinfo/oldimglist["+ i +"]/cls");
- var cnt = model.getValue("/root/main/chrtinfo/oldimglist["+ i +"]/cnt");
- // 구영상 응급의학과
- if (cls == "E") {
- msgER = "▣ 구영상 응급의학과 (" + cnt + "건)";
- }
- // 구영상 건진
- if (cls == "S") {
- msgAH = "▣ 구영상 건진 (" + cnt + "건)";
- }
- }
- model.setValue("/root/hidden/cap_oldimgER", msgER);
- cap_oldimgER.refresh();
- model.setValue("/root/hidden/cap_oldimgAH", msgAH);
- cap_oldimgAH.refresh();
- }
- }
- /**
- * @desc : 등록된 환자번호인지 체킹한다..
- * @
- * @param : iptObj - 환자번호 입력 컨트롤 (pid)
- * @return :
- * @authur : 이은영 2008.09.17
- * @---------------------------------------------------
- */
- function fGetPidNo(iptObj, ref)
- {
- var chkyn = model.getValue(ref);
- if (chkyn == "Y") {
- if (iptObj.currentText.length > 0) {
- var pid = iptObj.currentText;
- pid = getCretCheckNo(pid, getUserInfo("dutplceinstcd"));
- model.makeValue(iptObj.attribute("ref"), pid);
- iptObj.refresh();
- }
- }
- }
- /**
- * @desc : 등록된 환자번호인지 체킹한다..
- * @
- * @param : iptObj - 환자번호 입력 컨트롤 (pid)
- * @return : pnm - 환자명
- * @authur : 이은영 2008.03.18
- * @---------------------------------------------------
- */
- function fCheckPid(iptObj, refPnm, refRrgstno)
- {
- model.makeValue("/root/send/req/srchcond", "1");
- model.makeValue("/root/send/req/pid", iptObj.currentText);
-
- //환자등록번호 체크
- if(iptObj.currentText.length > 0 ){
-
- // 2008.12.11. 초기화 없애기..
- model.makeValue(refRrgstno, "");
- model.resetInstanceNode("/root/main/result/patinfo");
- model.makeNode("/root/main/result/patinfo");
-
- if(submit("TRPMC02500", "", "/root/send/req", "/root/main/result/patinfo")){
- //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
- if( getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
- model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
- //* 2009.04.07. 이중번호 메세지 ( 14257937 박용석 -> 13275912 신옥순 )
- var sBindPid = model.getValue("/root/main/result/patinfo/patinfolist/bindpid");
- if( sBindPid != '-' && sBindPid != '' && sBindPid != ' ' ){
- //합번된 등록번호 메세지 처리
- var sPid = model.getValue("/root/main/result/patinfo/patinfolist/pid");
- var sHngnm = model.getValue("/root/main/result/patinfo/patinfolist/hngnm");
- var retValue = messageBox(sPid + " (" + sHngnm + ") 환자의 등록번호가 [ " + sBindPid + " ] 로 합번 되었습니다. 합번된 등록번호로 재조회 하시겠습니까?", "Q999", "");
- if( retValue == '6' ){
- model.makeValue(iptObj.attribute("ref"), sBindPid);
- iptObj.refresh();
- fCheckPid(iptObj, refPnm, refRrgstno);
- return "";
- }
- }
- //*/
- var pid = model.getValue("/root/main/result/patinfo/patinfolist/pid");
- var pnm = model.getValue("/root/main/result/patinfo/patinfolist/hngnm");
- // 2008.12.11. 주민번호 표시하기..
- var rrgstno1 = model.getValue("/root/main/result/patinfo/patinfolist/rrgstno1");
- var rrgstno2 = model.getValue("/root/main/result/patinfo/patinfolist/rrgstno2");
- var rrgstno = rrgstno1 + "-" + rrgstno2.substring(0,3) + "****" ;
- if (refPnm != null)
- {
- model.makeValue(refPnm, pnm);
- }
- if (refRrgstno != null)
- {
- model.makeValue(refRrgstno, rrgstno);
- }
- return pnm;
- } else {
- model.resetInstanceNode("/root/main/patinfo/patinfolist");
- messageBox("없는 환자 번호 입니다.", "E999", "");
- model.refresh();
- return "";
- }
- } else { // 2009.01.14. 합본처리 에러메세지 처리후..
- return "";
- }
-
- }else{
- messageBox("환자등록번호를 정확히", "C001");
- return "";
- }
- }
- /**
- * @desc : 환자등록번호 조회 팝업
- * @
- * @param : refPid - 환자번호 참고 node path
- * refPnm - 환자명 참고 node path
- * @return :
- * @authur : 이은영 2008.03.18
- * @---------------------------------------------------
- */
- function fGetPid(refPid, refPnm, refRrgstno)
- {
- //조회건수가 1건일 경우 팝업창을 바로 닫는다.
- model.makeValue("/root/hidden/tmp/pidpopupinfo/checkfnexam", "1");
- model.makeValue("/root/hidden/tmp/pidpopupinfo/autoflag", "N");
- if( model.getValue("/root/hidden/tmp/pidpopupinfo/srchcond") == '' ){
- model.makeValue("/root/hidden/tmp/pidpopupinfo/srchcond", '2');
- }
-
- modal("SPPMC02500", "1","150", "150", "SPPMC02500", "/root/hidden/tmp/pidpopupinfo", "/root/send");
- model.resetInstanceNode("/root/source");
- //환자번호 copy
- var popupendflag = model.getValue("/root/main/popupendflag");
-
- if (popupendflag == "ok")
- {
- model.makeValue(refPid, model.getValue("/root/main/patinfo/patinfolist/pid"));
- if (refPnm == null) { refPnm = "" }
- if (refPnm != "") {
- model.makeValue(refPnm, model.getValue("/root/main/patinfo/patinfolist/hngnm"));
- }
- if (refRrgstno == null) { refRrgstno = "" }
- if (refRrgstno != "") {
- var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist/rrgstno1");
- var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist/rrgstno2");
- var rrgstno = rrgstno1 + "-" + rrgstno2.substring(0,3) + "****";
- model.makeValue(refRrgstno, rrgstno);
- }
- model.refresh();
- }
- }
- /**
- * @desc : 단축키 선택시 커서이동
- * @
- * @param :
- * @return :
- * @authur : 이은영 2009.01.28
- * @---------------------------------------------------
- */
- function fKeyDown(){
- if (displayflag == "Y")
- {
- // F7 : 118, F8 : 119 , F9 : 120, F10 : 121
- var keyCode = event.keyCode;
- if (keyCode == "118") {
- fAccessKey1();
- } else if (keyCode == "119") {
- fAccessKey2();
- } else if (keyCode == "120") {
- fAccessKey3();
- } else if (keyCode == "121") {
- fAccessKey4();
- }
- }
- }
- /**
- * @desc : 단축키 선택시 커서이동
- * @
- * @param :
- * @return :
- * @authur : 이은영 2009.01.28
- * @---------------------------------------------------
- */
- function fAccessKey1(){
- // 2009.01.28. 단축키 처리..
- model.toggle("ChrtInfo");
- btn_ChrtInfo.selected = "true";
- btn_ChrtInfo.refresh();
- // 커서위치 - 등록번호..
- model.setFocus("ipt_pid");
- ipt_pid.refresh();
- }
- /**
- * @desc : 단축키 선택시 커서이동
- * @
- * @param :
- * @return :
- * @authur : 이은영 2009.01.28
- * @---------------------------------------------------
- */
- function fAccessKey2(){
- // 2009.01.28. 단축키 처리..
- model.toggle("Receipt");
- btn_Receipt.selected = "true";
- btn_Receipt.refresh();
- // 2009.01.28. 단축키 처리..
- iv_Receipt.model.setFocus("btn_r_receipt");
- iv_Receipt.btn_r_receipt.refresh();
- // 접수이력조회
- iv_Receipt.window.javascript.fGetReqRendAppList();
- }
- /**
- * @desc : 단축키 선택시 커서이동
- * @
- * @param :
- * @return :
- * @authur : 이은영 2009.01.28
- * @---------------------------------------------------
- */
- function fAccessKey3(){
- // 2009.01.28. 단축키 처리..
- model.toggle("ChrtLend");
- btn_ChrtLend.selected = "true";
- btn_ChrtLend.refresh();
- // 커서위치 - 대출 바코드..
- iv_ChrtLend.window.javascript.fMoveCursor();
- }
- /**
- * @desc : 단축키 선택시 커서이동
- * @
- * @param :
- * @return :
- * @authur : 이은영 2009.01.28
- * @---------------------------------------------------
- */
- function fAccessKey4(){
- // 2009.01.28. 단축키 처리..
- model.toggle("ChrtRtn");
- btn_ChrtRtn.selected = "true";
- btn_ChrtRtn.refresh();
- // 커서위치 - 반납 바코드..
- iv_ChrtRtn.window.javascript.fMoveCursor();
- }
- /**
- * @desc : 하드코드 조회
- * @
- * @param : ref - reference path
- * rsltref - result reference path
- * hardcd - 하드코드
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function mmbfGetHardCodeInfo(ref, rsltref, hardcd){
- var mmb_rsltref = "/root/hidden/mmb/hardcd";
- model.removeNode(mmb_rsltref);
- model.makeNode(mmb_rsltref);
- model.removeNode(ref);
- model.makeValue(ref + "/hardcd", hardcd);
- if(submit("TRMMB04103", "false", ref, mmb_rsltref)==true){
- model.copyNode(rsltref, mmb_rsltref);
- model.removeNode(mmb_rsltref);
- }
- model.refresh();
- }
- /**
- * @desc : 영상전환 설정
- * @
- * @param :
- * @return :
- * @authur : 정창혁 20121126
- * @---------------------------------------------------
- */
- function fTransFilm() {
- if (grd_chrtlist.row < grd_chrtlist.fixedRows)
- return;
- var sMsg = "영상전환 하시겠습니까?";
- if (grd_chrtlist.valueMatrix(grd_chrtlist.row, grd_chrtlist.colRef("chrtflag")) == "I") {
- sMsg = "영상전환을 취소하시겠습니까?";
- model.makeValue("/root/send/reqtrans/transyn", "N");
- } else if (grd_chrtlist.valueMatrix(grd_chrtlist.row, grd_chrtlist.colRef("chrtflag")) == "P" || grd_chrtlist.valueMatrix(grd_chrtlist.row, grd_chrtlist.colRef("chrtflag")) == "") {
- sMsg = "영상전환 하시겠습니까?";
- model.makeValue("/root/send/reqtrans/transyn", "Y");
- } else {
- model.makeValue("/root/send/reqtrans/transyn", "");
- return;
- }
-
- model.makeValue("/root/send/reqtrans/medirecno", grd_chrtlist.valueMatrix(grd_chrtlist.row, grd_chrtlist.colRef("medirecno")));
-
- if (messageBox(sMsg, "Q000") == 7) {
- return;
- }
-
- if (submit("TXMRC00151")) {
- btn_SrchChrtInfo.dispatch("DOMActivate");
- }
- }
|