12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 열람신청 및 내역조회 ( SMMRI08000_의무기록열람신청및조회.xrw - JScript )
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- /**
- * @desc : 화면 초기화
- * @
- * @param :
- * @return :
- * @author : 2010.08.16 주희경
- * @---------------------------------------------------
- */
- function fInitialize()
- {
- //mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept", "A"); //진료과 콤보 조회
-
- // 열람신청 부서 가져오기(20120204 이윤주)
- submit("TRMRI08109");
-
- //mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", getUserInfo("dutplcecd"), "0330");//사용자 콤보 조회
-
- mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", getUserInfo("dutplcecd"));//사용자 콤보 조회
- addComboInstance("/root/init/userlist" , "userid^usernm" , "-^전체", "usercombo"); //의사콤보 전체항목 추가
-
- fGetRsnsrch(); //열람목적, 통합기록조회 제한차트 사유 기준자료 테이블 조회
-
- fGetPopupDeptList(); //접근 제한 부서 영문명 조회
-
-
-
-
- //특정사용자만(원무팀 산재 담당, 진료행정팀 특정사용자) 출력신청기능 오픈(20120130 이윤주)
- model.removenode("/root/hidden/prntuser");
- mmbfGetHardCodeInfo("/root/send/reqdata", "/root/hidden/prntuser", 5565);
-
- var userid = getUserInfo("userid");
-
- var nodeCnt = getNodesetCount("/root/hidden/prntuser/hardcd");
- var chkcnt = 0;
-
-
- for( var i = 1; i <= nodeCnt ; i++ ){
- if( model.getValue("/root/hidden/prntuser/hardcd["+ i + "]/hardcd") == userid ){
- chkcnt++;
- }
- }
-
- if (chkcnt > 0)
- grd_apppatlist.colHidden(grd_apppatlist.colRef("prntstatus")) = false;
- else
- grd_apppatlist.colHidden(grd_apppatlist.colRef("prntstatus")) = true;
-
- model.setValue("/root/send/cond/appdeptcd", getUserInfo("dutplcecd"));
- model.setValue("/root/send/cond/appid" , getUserInfo("userid"));
- //btn_readapp.dispatch("DOMActivate");
- fResetData("appfromdd");
- btn_new.dispatch("DOMActivate");
-
- grd_apppatlist.frozenCols = grd_apppatlist.colRef("orddeptnm");
-
-
- // if (typeof(opener) != "undefined")
- // {
- // //열람신청화면으으로 데이터 넘기기
- // var pid = opener.window.javascript.getParameter("SMMRI08000_param_pid");
- // var pnm = opener.window.javascript.getParameter("SMMRI08000_param_pnm");
- // model.setValue("/root/excel/patinfo/pid",pid);
- // model.setValue("/root/excel/patinfo/pnm",pnm);
- // fLoadfromExcel(2);
- // }
-
- model.refresh();
-
- }
- /**
- * @desc : //[열람목적리스트] 통합기록조회 제한차트 사유 기준자료 테이블 조회
- * @
- * @param :
- * @return :
- * @author : 2010.08.16 주희경
- * @---------------------------------------------------
- */
- function fGetRsnsrch()
- {
- var sUserDeptcd = getUserInfo("dutplcecd");
- var sJobkind = getUserInfo("jobkindcd").substring(0, 2);
- var iptjobkind = "";
- if(sJobkind == "03") {
- iptjobkind = "03";
- }
- else if (sJobkind == "11") {
- iptjobkind = "05";
- }
- else {
- iptjobkind = "-";
- }
-
- model.makeValue("/root/send/rsnsrch/jobkind", iptjobkind);
- model.makeValue("/root/send/rsnsrch/deptcd", sUserDeptcd);
-
-
- /*
- if (sUserDeptcd == "4071200000" || sUserDeptcd == "4070300000" || sUserDeptcd == "2361500000" || sUserDeptcd == "3320100000" )
- {
- model.makevalue("/root/send/rsnsrch/jobkind", "-");
- model.makevalue("/root/send/rsnsrch/deptcd", sUserDeptcd);
- }
- else
- {
- var sJobkind = getUserInfo("jobkindcd").substring(0, 2);
- if(sJobkind == "03")
- {
- model.makevalue("/root/send/rsnsrch/jobkind", sJobkind);
- model.makevalue("/root/send/rsnsrch/deptcd", "-");
- }
- else if (sJobkind == "11")//간호
- {
- model.makevalue("/root/send/rsnsrch/jobkind", "05");
- model.makevalue("/root/send/rsnsrch/deptcd", "-");
- }
- else
- {
- model.makevalue("/root/send/rsnsrch/jobkind", "0");
- model.makevalue("/root/send/rsnsrch/deptcd", "0");
- }
- }
- */
-
- submit("TRMRI03102");
- }
- var POPUP_DEPTENGABBR = ""; //접근제한 사유 부서 리스트 (,)로 분리
- /**
- * @desc : 접근제한 사유 부서 리스트 조회
- * @
- * @param :
- * @return :
- * @author : 2010.08.16 주희경
- * @---------------------------------------------------
- */
- function fGetPopupDeptList()
- {
- model.makeValue("/root/send/cond/trgtno", 1100); //접근 제한 부서 하드코드 1100번 조건 설정
- model.makeValue("/root/send/cond/exno", 1110); //사유입력 제외 부서 하드코드 1110번
-
- submit("TRMRI08104"); //접근 제한 부서 영문명 조회
- var nodes = instance1.selectNodes("/root/init/hardcd/trgtdept/deptengabbr");
- for ( i=0; i<nodes.length; i++ )
- {
- POPUP_DEPTENGABBR = POPUP_DEPTENGABBR + nodes.item(i).value + ",";
- }
- POPUP_DEPTENGABBR = POPUP_DEPTENGABBR.substr(0,POPUP_DEPTENGABBR.length-1);
- }
- /**
- * @desc : 신청일, 열람희망일 셋팅
- * @
- * @param :
- * @return :
- * @author : 2010.08.16 주희경
- * @---------------------------------------------------
- */
- function fResetdd( fromdd_nodename )
- {
- var fromdd = ((getCurrentDate().toDate()).getAddDate(-3,"M")).getDateFormat(); //시작일자는 3개월 전
- var curdd = getCurrentDate(); //종료일자는 현재일자
- if ( fromdd_nodename == "appfromdd" )
- {
- model.setValue("/root/send/cond/appfromdd" , fromdd);
- model.setValue("/root/send/cond/apptodd" , curdd);
- model.setValue("/root/send/cond/appreadfromdd" , "");
- model.setValue("/root/send/cond/appreadtodd" , "");
- }
- else if ( fromdd_nodename == "appreadfromdd" )
- {
- model.setValue("/root/send/cond/appfromdd" , "");
- model.setValue("/root/send/cond/apptodd" , "");
- model.setValue("/root/send/cond/appreadfromdd" , fromdd);
- model.setValue("/root/send/cond/appreadtodd" , curdd);
- }
-
- }
- /**
- * @desc : 신규신청 버튼 클릭 시 열람신청 및 조회, 신청목록 초기화
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fSetNewReq()
- {
- btn_save.value = "신청";
- btn_save.disabled = false; //신청 버튼 활성화
- btn_resave.disabled = true; //연장/재신청 버튼 비활성화
- model.resetInstanceNode("/root/main/readappinfo/detail");
- model.setValue("/root/main/readappinfo/detail/applist/appdd", getCurrentDate()); //신청일 셋팅
- //model.setValue("/root/main/readappinfo/detail/applist/appdeptcd", getUserInfo("dutplcecd"));//신청과 셋팅
- //model.setValue("/root/main/readappinfo/detail/applist/appid" , getUserInfo("userid")); //신청자id 셋팅
- //이윤주수정(20120127)
- model.setValue("/root/main/readappinfo/detail/applist/appreadfromdd" , getCurrentDate()); //기본 희망일 세팅
-
- fResetDetailGrid();
- grp_applist.refresh();
- }
- /**
- * @desc : 화면의 데이터 모두 리셋
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fResetData( fromdd_nodename )
- {
- model.setValue("/root/send/cond/acptstatus", "-"); //처리구분 리셋
- fResetdd( fromdd_nodename ); //신청일, 열람희망일 셋팅
- //신청내역 그리드 리셋
- model.resetInstanceNode("/root/main/readappinfo/master/readapplist");
- model.removeNodeSet("/root/main/readappinfo/master/readapplist");
- grd_readapplist.rebuild();
- fResetDetailGrid();
- model.refresh();
- }
- /**
- * @desc : 오른쪽의 상세 조회 그리드 리셋
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fResetDetailGrid()
- {
- //환자 수진 그리드 리셋
- model.removeNodeset("/root/main/readappinfo/detail/orddeptlist/orddeptinfo");
- grd_orddeptlist.rebuild();
- //신청목록 그리드 리셋
- model.removeNodeset("/root/main/readappinfo/detail/apppatlist/apppatinfo");
- grd_apppatlist.rebuild();
-
- //열람신청결과 및 조회 그리드 리셋
- grd_readpatlist.rebuild();
- }
- /**
- * @desc : 환자번호 검색 및 진료과 정보조회
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fSetPatInfo()
- {
- //환자번호 검색
- modal("SPPMC02500");
-
- var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
- var hngnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
-
- model.setValue("/root/main/readappinfo/detail/pid", pid);
- model.setValue("/root/main/readappinfo/detail/pnm", hngnm);
- grp_applist2.refresh();
-
- fGetOrddeptList(pid);
- }
- /**
- * @desc : 해당 환자의 진료과정보를 조회 하여 수진과 목록에 추가
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fGetOrddeptList(pid)
- {
- model.resetInstanceNode("/root/main/readappinfo/detail/orddeptlist/orddeptinfo");
- model.removeNodeSet("/root/main/readappinfo/detail/orddeptlist/orddeptinfo");
- //model.resetInstanceNode("/root/main/readappinfo/detail/apppatlist/apppatinfo");
- //model.removeNodeSet("/root/main/readappinfo/detail/apppatlist/apppatinfo");
-
-
- grd_orddeptlist.rebuild();
-
-
- //환자의 진료과정보 조회
- model.makeValue("/root/send/cond/pid", pid);
- if ( submit("TRMRI03001") )
- {
- //환자의 진료과 정보를 그리드로 복사
- var orddeptlistcnt = parseInt(model.getXpathValue("count(/root/initinfo/dplist)"));
-
- //종이챠트 신청용(20130124 이윤주)
- if (orddeptlistcnt == 0){
- var pid = model.getValue("/root/main/readappinfo/detail/pid");
- var pnm = model.getValue("/root/main/readappinfo/detail/pnm");
- var orddeptnm = "종이";
- fAddrowAppPatList ( pid, pnm, orddeptnm);
- var addrow = grd_apppatlist.row;
- model.setValue("/root/main/readappinfo/detail/apppatlist/apppatinfo["+addrow+"]/pappyn","Y");
- return;
- }
-
- //7개컬럼에 차례로 복사
- var mod = orddeptlistcnt % 7;
- var value = parseInt(orddeptlistcnt / 7);
-
- var cnt = 0;
- for (i=0; i<value+1; i++)
- {
- grd_orddeptlist.addRow(false);
- for ( j=0; j<7; j++ )
- {
- if ( i==0 && j==0 )
- {
- grd_orddeptlist.valueMatrix( grd_orddeptlist.row, j ) = "전체";
- }
- else
- {
- cnt++;
- var deptengabbr = model.getValue("/root/initinfo/dplist["+cnt+"]/deptengabbr");
- grd_orddeptlist.valueMatrix( grd_orddeptlist.row, j ) = deptengabbr;
- }
-
- if ( orddeptlistcnt == cnt )
- break;
- }
- }
- grd_orddeptlist.rebuild();
- }
- }
- /**
- * @desc : 선택한 환자의 수진과를 신청목록으로 추가
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fCopyPatInfo()
- {
- if (fCheckEssnInput() == false) //필수 입력 체크
- {
- return;
- }
-
- var selectedCells = grd_orddeptlist.selectedCells;
- if ( selectedCells.length <= 0 )
- {
- messageBox("수진과를", "C002");
- return;
- }
- ///////////////////
- //추가하려는 수진과 중 "전체"가 포함되어 있으면 전체로 "추가" 진행
- for (var i=0; i<selectedCells.length; i++)
- {
- var cell = selectedCells.item(i);
-
- if (cell)
- {
- var orddeptnm = grd_orddeptlist.valueMatrix( cell.row, cell.col);
- if ( orddeptnm == "전체" )
- {
- fAllCopyPatInfo();
- return;
- }
- }
- }
- /////////////////
-
- /////////////////
- //멀티 선택한 셀들을 체크하여 신청목록으로 데이터 복사
- for (var i=0; i<selectedCells.length; i++)
- {
- var cell = selectedCells.item(i);
-
- if (cell)
- {
- var pid = model.getValue("/root/main/readappinfo/detail/pid");
- var pnm = model.getValue("/root/main/readappinfo/detail/pnm");
- var orddeptnm = grd_orddeptlist.valueMatrix( cell.row, cell.col);
-
- fAddrowAppPatList ( pid, pnm, orddeptnm );
- }
- }
- /////////////////
- //이윤주 수정
- //grd_apppatlist.rebuild();
- }
- /**
- * @desc : 신청목록에 환자의 신청 수진과 추가(addrow)
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fAddrowAppPatList ( pid, pnm, orddeptnm)
- {
-
- //중복 신청 제거
- var node = instance1.selectNodes("/root/main/readappinfo/detail/apppatlist/apppatinfo[pid='"+pid+"' and orddeptnm='"+orddeptnm+"']");
- if ( node.length == 1 )
- {
- return;
- }
- //행추가, 데이터 복사
- grd_apppatlist.addRow();
- grd_apppatlist.valueMatrix( grd_apppatlist.row, grd_apppatlist.colRef("pid")) = pid;
- grd_apppatlist.valueMatrix( grd_apppatlist.row, grd_apppatlist.colRef("pnm")) = pnm;
- grd_apppatlist.valueMatrix( grd_apppatlist.row, grd_apppatlist.colRef("orddeptnm")) = orddeptnm;
- grd_apppatlist.valueMatrix( grd_apppatlist.row, grd_apppatlist.colRef("prntstatus")) = "-";
-
-
- var deptabbr = getUserInfo("deptabbr");
-
- //접근제한 챠트의 경우 바탕에 빨간색 표시
- if ( POPUP_DEPTENGABBR.indexOf(orddeptnm) > -1 && orddeptnm != deptabbr )
- {
- grd_apppatlist.cellStyle("background-color", grd_apppatlist.row, 1, grd_apppatlist.row, grd_apppatlist.cols-1) = "#ff0000";
- }
- }
- /**
- * @desc : 선택한 환자의 전체 수진과를 신청목록으로 추가
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fAllCopyPatInfo()
- {
- var breakYN = false;
- var popupDeptCopyYN = true; //접근제한 차트 신청 추가 여부
- var sUserDeptcd = getUserInfo("dutplcecd");
- var iexNodeCnt = getNodesetCount(model, "/root/hardcd/exdept[trgtcd = '" + sUserDeptcd + "']"); //사유제외부서
-
- /////////////////////////////
- //전체 수진과를 대상으로 접근 제한 차트과가 검색되면 안내문구 표출
- var arr_deptnm = POPUP_DEPTENGABBR.split(",");
- for ( i=0; i<arr_deptnm.length; i++)
- {
- for(j=0; j<grd_orddeptlist.cols; j++ )
- {
- if (grd_orddeptlist.findRow(arr_deptnm[i], 1, j ) > -1)
- {
- var orddeptcd = model.getValue("root/initinfo/dplist[deptengabbr='"+arr_deptnm[i]+"']/deptcd");
-
- //사유 제외 부서가 아니거나 사용자부서와 환자수진부서가 다른경우
- if ((iexNodeCnt <= 0) && (sUserDeptcd != orddeptcd))
- {
- //" 하시려면 예(Yes)\n" + pOptMsg.split("|")[0] + " 하시려면 아니오(No)\n" + pOptMsg.split("|")[1] + " 하시려면 취소를 선택하십시오"
- var pOptMsg = "모두 신청|모두 취소";
- var rtnval = messageBox("신청목록 중 접근제한된 수진과가 포함되어 있습니다. \n\n**접근제한과 열람시 해당과에 별도 보고됩니다. 해당 버튼을 선택하십시오. \n\n접근제한과를 제외하고 신청", "S006", pOptMsg);
-
- //접근 제한과 제외 신청
- if ( rtnval == 6 )
- {
- popupDeptCopyYN = false;
- }
- //모두 신청
- else if ( rtnval == 7 )
- {
- popupDeptCopyYN = true;
- }
- else
- {
- return; //취소시
- }
- breakYN = true;
- break;
- }
- }
- }
- if ( breakYN )
- {
- break;
- }
- }
- ////////////////////////////
- //수진과 전체를 추가
- for (var i=1; i<grd_orddeptlist.rows; i++)
- {
- for( j=0; j<grd_orddeptlist.cols; j++ )
- {
- var orddeptnm = grd_orddeptlist.valueMatrix(i,j);
- var pid = model.getValue("/root/main/readappinfo/detail/pid");
- var pnm = model.getValue("/root/main/readappinfo/detail/pnm");
- if ( (i== 1 && j == 0) || orddeptnm == "" ) //전체이면 패스
- {
- continue;
- }
- //접근제한 챠트이고 사용자가 신청 동의 안했으면 패스
- if ( POPUP_DEPTENGABBR.indexOf(orddeptnm) > -1 )
- {
- if ( !popupDeptCopyYN )
- {
- continue;
- }
- }
-
- //행추가 및 데이터 복사
- fAddrowAppPatList ( pid, pnm, orddeptnm );
- }
- }
- //lyj 20111213
- //grd_apppatlist.rebuild();
- }
- /**
- * @desc : 열람신청 시 신청목록의 필수 입력 체크(엑셀 로드시 필수입력체크)
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fCheckExcelLoadInput()
- {
- for(i=1; i<grd_apppatlist.rows; i++ )
- {
- var pid = grd_apppatlist.valueMatrix( i, grd_apppatlist.colRef("pid"));
- var pnm = grd_apppatlist.valueMatrix( i, grd_apppatlist.colRef("pnm"));
- var orddeptnm = grd_apppatlist.valueMatrix( i, grd_apppatlist.colRef("orddeptnm"));
-
- if ( pid == "" )
- {
- messageBox("신청목록의 환자번호를","C001");
- return false;
- }
- if ( pnm == "" )
- {
- messageBox("신청목록의 환자성명을","C001");
- return false;
- }
- if ( orddeptnm == "" )
- {
- messageBox("신청목록의 진료과 영문명을","C001");
- return false;
- }
- }
- return true;
- }
- /**
- * @desc : 열람신청 시 필수 입력 체크
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fCheckEssnInput()
- {
- if (model.getValue("/root/main/readappinfo/detail/applist/apptel") == "")
- {
- messageBox("연락처를","C001");
- return false;
- }
-
- if (model.getValue("/root/main/readappinfo/detail/applist/apptype") == "")
- {
- messageBox("열람목적을","C001");
- return false;
- }
- if (model.getValue("/root/main/readappinfo/detail/applist/appreadfromdd") == "")
- {
- messageBox("열람희망일을","C001");
- return false;
- }
-
- var appreadfromdd = model.getValue("/root/main/readappinfo/detail/applist/appreadfromdd");
-
- if (appreadfromdd < getCurrentDate())
- {
- messageBox("열람희망일을 현재일보다 작을 날로 세팅","E001");
- return false;
- }
-
-
-
- var apptype = model.getValue("/root/main/readappinfo/detail/applist/apptype");
-
- //병원마다 기준이 다르고 코드가 다르므로 텍스트로 비교
- if ( cmb_resn.value == "F3" || cmb_resn.label.indexOf("기타") > -1 || cmb_resn.label == "연구용" || cmb_resn.label == "Conference" || cmb_resn.label == "conference" ||cmb_resn.label == "집담회용")
- {
- if ( model.getValue("/root/main/readappinfo/detail/applist/appdetail") == "" )
- {
- messageBox("열람목적에 따른 주제(상세사유)를","C001");
- return false;
- }
- }
- }
- /**
- * @desc : 열람희망일 선택 시 열람목적에 따른 열람기한으로 열람 종료일 셋팅(기준자료 의거)
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fSetAppReadtodd()
- {
- var apptype = model.getValue("/root/main/readappinfo/detail/applist/apptype");
-
- if ( apptype == "" )
- {
- messageBox("열람목적을 먼저","C002");
- model.setValue("/root/main/readappinfo/detail/applist/appreadfromdd", "");
- ipt_appreadfromdd.refresh();
- return;
- }
-
- //열람목적에 따른 열람 기한
- var readterm = parseInt(model.getValue("/root/init/resn/resnlist[rsncd = '"+apptype+"']/readterm"))-1;
- //열람희망시작일
- var appreadfromdd = model.getValue("/root/main/readappinfo/detail/applist/appreadfromdd");
- if ( appreadfromdd == "" )
- {
- return;
- }
-
- var appreadtodd = ((appreadfromdd.toDate()).getAddDate( readterm, "D")).getDateFormat();
-
- //기준자료에 따른 열람 종료일 셋팅
- model.setValue("/root/main/readappinfo/detail/applist/appreadtodd", appreadtodd);
-
- ipt_appreadtodd.refresh();
- }
- /**
- * @desc : 환자 등록번호를 통한 환자 이름 가져오기
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
-
- function fPatSrch(s_val, flag){
- if(flag == "1"){
- model.makeValue("/root/tmp/pid", s_val);
- } else if(flag == "2"){
- model.makeValue("/root/tmp/hngnm", s_val);
- }
- model.makeValue("/root/tmp/srchcond", flag);
- model.makeValue("/root/tmp/autoflag","Y"); // 1건인경우 자동으로닫힘
-
- model.resetInstanceNode("/root/main/patinfo/patinfolist");
- modal("SPPMC02500", 1,10, 10, "SPPMC02500", "/root/tmp", "/root/send");
-
- model.refresh();
- }
- /**
- * @desc : 조회
- * @id :
- * @event : DOMActivate
- * @return : void
- * @author : 2010.08.19 주희경
- */
- function fSearch()
- {
- var fromddpath = "/root/send/cond/appfromdd";
- var toddpath = "/root/send/cond/apptodd";
- if(!isValidDateTime(model.getValue(fromddpath),"YYYYMMDD")){
- messageBox("검색 시작일자를 유효한 날짜로","C001");
- return;
- }
- if(!isValidDateTime(model.getValue(toddpath),"YYYYMMDD")){
- messageBox("검색 종료일자를 유효한 날짜로","C001");
- return;
- }
- if(submit("TRMRI08101")){
-
- }
-
- }
- /**
- * @desc : 열람 신청 저장
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fSaveReadApp( histstat )
- {
- if ( grd_apppatlist.rows == 1 )
- {
- messageBox("신청목록에 데이터가 존재하지","I011");
- return;
-
- }
- if (fCheckEssnInput() == false) //필수 입력 체크
- {
- return;
- }
- if (fCheckExcelLoadInput() == false)//신청목록 필수 입력 체크
- {
- return;
- }
-
-
- if (histstat == "R" )
- {
- //신청목록의 데이터를 모두 insert 플래그 처리
- for (i=1; i<grd_apppatlist.rows ; i++)
- {
- grd_apppatlist.addStatus(i, "insert");
- }
- model.resetInstanceNode("/root/send/reqdata");
-
- }
-
- //신청자 정보 copy
- model.makeNode("/root/send/reqdata/applist");
-
- model.copyNode("/root/send/reqdata/applist", "/root/main/readappinfo/detail/applist");
-
- model.setValue("/root/send/reqdata/applist/appdd",getCurrentDate());
- model.setValue("/root/send/reqdata/applist/appid",getUserInfo("userid"));
- model.setValue("/root/send/reqdata/applist/appdeptcd",getUserInfo("dutplcecd"));
-
- //histno 설정
- var histno = model.getValue("/root/send/reqdata/applist/histno");
-
- if ( histstat == "Y" ) //신청
- {
- histno = "1";
- }
- else if (histstat == "R" ) // 재신청
- {
- submit("TRMRI08106");
- histno = model.getValue("/root/hidden/result/histno");
- }
-
- model.makeValue("/root/send/reqdata/applist/histno", histno);
-
- //histstat 설정
- model.makeValue("/root/send/reqdata/applist/histstat", histstat);
-
- //신청 환자 정보 copy
- model.makeValue("/root/send/reqdata/apppatlist", grd_apppatlist.getUpdateData());
-
- for (i= grd_apppatlist.fixedRows;i<=grd_apppatlist.rows - grd_apppatlist.fixedRows;i++)
- {
- var backcolor = grd_apppatlist.cellStyle("background-color", i, 2, i, grd_apppatlist.cols-1);
- var appdetail = grd_apppatlist.valueMatrix(i, grd_apppatlist.colRef("appdetail"));
-
- if (backcolor == "#ff0000" && appdetail == "")
- {
- messageBox("접근제한 수진과는 사유입력이","I003");
- return;
- }
-
- }
-
- if ( submit("TXMRI08101") )
- {
- var appno = model.getValue("/root/main/appinfo/appno");
- if (appno != "")
- {
- fSetNewReq();
- fSearch();
-
- messageBox("정상","I002");
- }
- else
- {
- messageBox("처리에","E009");
- }
- }
- }
- /**
- * @desc : 열람 서약 인증 및 서약서 출력
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fSetSign( appno )
- {
- setParameter("SPMRI08100_param_appno", appno);
- // ------------------jeongtaek Lee 서약서 부분 수정(20110330)------------
- // modal("SPMRI08100");
- // ------------------jeongtaek Lee 서약서 부분 수정(20110330)------------
- var signeddt = getParameter("SPMRI08100_param_signeddt");
- var pledgeflag = getParameter("SPMRI08100_param_pledgeflag");
- /** ----------------jeongtaek Lee 서약서 부분 수정(20110330)--------------
- //인증에 실패하면
- if ( signeddt == "" )
- {
- //인증도 실패하고 서약서 출력도 안했으면
- if ( pledgeflag == "N" || pledgeflag == "")
- {
-
- model.makeValue("/root/send/reqdata/applist/histstat", "X");
- }
- //서약서 출력했으면
- else if ( pledgeflag == "P")
- {
- model.makeValue("/root/send/reqdata/applist/pledgeflag", "P");
- model.makeValue("/root/send/reqdata/applist/histstat", "Y");
- }
- }
- else //인증에 성공했으면
- {
- model.makeValue("/root/send/reqdata/applist/pledgeflag", "E");
- model.makeValue("/root/send/reqdata/applist/pledgepath", signeddt);
- }
- */
- //---------------jeongtaek Lee 서약서 부분 수정(20110330)----------------
- model.makeValue("/root/send/reqdata/applist/appno", appno);
-
- //신청 변경 사항 업데이트
- if ( submit("TXMRI08103") )
- {
- }
-
- setParameter("SPMRI08100_param_appno", "");
- setParameter("SPMRI08100_param_pledgeflag", "");
- setParameter("SPMRI08100_param_signeddt", "");
-
- if ( model.getValue("/root/send/reqdata/applist/histstat") == "X" )
- {
- return false;
- }
- return true;
- }
- /**
- * @desc : 상세 기록 신청 데이터 조회
- * @
- * @param :
- * @return :
- * @author : 2010.08.19 주희경
- * @---------------------------------------------------
- */
- function fSearchDetail()
- {
- //열람신청 및 내역 조회 탭인 경우 오른쪽 화면에 신청자 정보 복사
- if ( btn_readapp.selected == true )
- {
- btn_resave.disabled = true;
- //이미 신청한 건 이므로 신청 버튼을 수정으로 텍스트 변경
- btn_save.value = "수정";
-
- //처리 상태가 신청 단계이면 수정 가능
- var acptstatus = grd_readapplist.valueMatrix(grd_readapplist.row, grd_readapplist.colRef("acptstatus"));
-
- if ( acptstatus == "01" )
- btn_save.disabled = false;
- else
- btn_save.disabled = true;
-
-
- //처리 상태가 불가,부분승인,승인,보류이면 재신청으로 버튼 변경
- if ( acptstatus == "02" || acptstatus == "03" || acptstatus == "04" || acptstatus == "05" )
- {
- // var appreadtodd = grd_readapplist.valueMatrix(grd_readapplist.row, grd_readapplist.colRef("appreadtodd"));
- //
- // if (getCurrentDate() > appreadtodd){
- // btn_resave.value = "재신청";
- // btn_resave.disabled = false;
- // }
- btn_resave.value = "재신청";
- btn_resave.disabled = false;
- }
- //열람희망일 체크 하여 연장/ 재신청으로 버튼변경
- var curdate = getCurrentDate();
- var appreadfromdd = grd_readapplist.valueMatrix(grd_readapplist.row, grd_readapplist.colRef("appreadfromdd"));
- var appreadtodd = grd_readapplist.valueMatrix(grd_readapplist.row, grd_readapplist.colRef("appreadtodd"));
-
- }
- var appno = model.getValue("/root/main/readappinfo/master/readapplist["+grd_readapplist.row+"]/appno");
- var histno = model.getValue("/root/main/readappinfo/master/readapplist["+grd_readapplist.row+"]/histno");
- model.setValue("/root/send/cond/appno", appno);
- model.setValue("/root/send/cond/histno", histno);
-
- //그리드 스타일 초기화
- if ( btn_readexe.selected == true ) //의무기록열람 탭인경우
- grd_readpatlist.rebuildStyle( 1, 1, grd_readpatlist.rows-1, grd_readpatlist.cols-1);
- else
- grd_apppatlist.rebuildStyle( 1, 1, grd_apppatlist.rows-1, grd_apppatlist.cols-1);
-
- ////////////////////////////////
-
- if(btn_readexe.selected == true) // 의무기록 열람
- {
- submit("TRMRI08102");
-
- model.copyNode("/root/main/readappinfo/detail/applist", "/root/main/readappinfo/master/readapplist["+grd_readapplist.row+"]");
-
- var rows = model.getXpathValue("count(/root/main/readappinfo/detail/apppatlist/apppatinfo)");
-
- for( i=1; i<=rows; i++ )
- {
- if ( grd_readpatlist.valueMatrix( i, grd_readpatlist.colRef("acptstatus")) == "02" )
- {
- grd_readpatlist.cellstyle("background-image", i, grd_readpatlist.colRef("search")) = "../../../com/commonweb/images/icon_list.gif";
- grd_readpatlist.cellstyle("background-position", i, grd_readpatlist.colRef("search")) = "center";
- }
- }
- }
- else
- {
- submit("TRMRI08107");
-
- model.copyNode("/root/main/readappinfo/detail/applist", "/root/main/readappinfo/master/readapplist["+grd_readapplist.row+"]");
-
- var rows = model.getXpathValue("count(/root/main/readappinfo/detail/apppatlist/apppatinfo)");
- //상세 신청 리스트에 조회 아이콘, 접근체한 차트 표시
- for( i=1; i<=rows; i++ )
- {
-
- var orddeptnm = model.getValue("/root/main/readappinfo/detail/apppatlist/apppatinfo["+i+"]/orddeptnm");
-
- var deptabbr = getUserInfo("deptabbr");
-
- //접근제한 챠트의 경우 바탕에 빨간색 표시
- if ( POPUP_DEPTENGABBR.indexOf(orddeptnm) > -1 && orddeptnm != deptabbr )
- {
- grd_apppatlist.cellStyle("background-color", i, 1, i, grd_apppatlist.cols-1) = "#ff0000";
- }
-
- if ( grd_apppatlist.valueMatrix( i, grd_apppatlist.colRef("acptstatus")) == "02" )
- {
- grd_apppatlist.cellstyle("background-image", i, grd_apppatlist.colRef("search")) = "../../../com/commonweb/images/icon_list.gif";
- grd_apppatlist.cellstyle("background-position", i, grd_apppatlist.colRef("search")) = "center";
- }
- }
-
- cmb_resn.dispatch("xforms-value-changed");
- }
-
- model.refresh();
-
- }
- /**
- * @desc : 통합기록조회 연결하여 승인된 기록만 열람가능하게 해줌
- * @id :
- * @event : DOMActivate
- * @return : void
- * @author : 2010.08.19 주희경
- */
- function fOpenSMMRI00400(datagrid)
- {
-
- var curdate = getCurrentDate();
- var appreadfromdd = grd_readapplist.valueMatrix(grd_readapplist.row, grd_readapplist.colRef("appreadfromdd"));
- var appreadtodd = grd_readapplist.valueMatrix(grd_readapplist.row, grd_readapplist.colRef("appreadtodd"));
- if (datagrid == "grd_apppatlist" && grd_apppatlist.valueMatrix(grd_apppatlist.row, grd_apppatlist.colRef("acptstatus")) != "02" ){
- messageBox("승인후 열람가능합니다","");
- return;
- }
-
-
- if ( appreadfromdd > curdate || appreadtodd < curdate )
- {
- //열람기간을 확인하십시오. I007
- messageBox("열람기간을","I007");
- return;
- }
-
- var pid;
- if (datagrid == "grd_apppatlist"){
- pid = grd_apppatlist.valueMatrix(grd_apppatlist.row, grd_apppatlist.colRef("pid"));
- }
- else {
- pid = grd_readpatlist.valueMatrix(grd_readpatlist.row, grd_readpatlist.colRef("pid"));
- }
- var appno = grd_readapplist.valueMatrix(grd_readapplist.row, grd_readapplist.colRef("appno"));
- var appid = grd_readapplist.valueMatrix(grd_readapplist.row, grd_readapplist.colRef("appid"));
- var histstat = grd_readapplist.valueMatrix(grd_readapplist.row, grd_readapplist.colRef("histstat"));
- var histno = grd_readapplist.valueMatrix(grd_readapplist.row, grd_readapplist.colRef("histno"));
-
- model.setValue("/root/send/cond/appid", appid);
- model.setValue("/root/send/cond/appno", appno);
- model.setValue("/root/send/cond/pid", pid);
- model.makeValue("/root/send/cond/histstat", histstat);
- model.makeValue("/root/send/cond/histno", histno);
-
- model.removenode("/root/main/deptengabbrinfo/deptengabbrlist");
- if(submit("TRMRI08103")){ //해당 환자의 승인된 수진과 조회
- var orddeptengabbr = "";
- var prntdeptengabbr = "";
- var deptlen = model.getXpathValue("count(/root/main/deptengabbrinfo/deptengabbrlist)");
- for ( i=1; i<= deptlen; i++)
- {
- orddeptengabbr = orddeptengabbr + model.getValue("/root/main/deptengabbrinfo/deptengabbrlist["+i+"]/deptengabbr") + ",";
-
- //출력승인된 부서
- if (model.getValue("/root/main/deptengabbrinfo/deptengabbrlist["+i+"]/prntdeptengabbr") !=""){
- prntdeptengabbr = prntdeptengabbr + model.getValue("/root/main/deptengabbrinfo/deptengabbrlist["+i+"]/prntdeptengabbr") + ",";
- }
- }
-
- if ( orddeptengabbr.length > 1 )
- {
- var openerid = "SMMRI08000";
- //var orddeptengabbr = "MD,MG,ME,AH";
- clearParameter("SMMRI00400_param_openerid");
- clearParameter("SMMRI00400_param_pid");
- clearParameter("SMMRI00400_param_orddeptengabbr");
- clearParameter("SMMRI00400_param_prntdeptengabbr");
- clearParameter("SMMRI00400_param_resncd");
- clearParameter("SMMRI00400_param_etc");
- clearParameter("SMMRI00400_param_appno");
- clearParameter("SMMRI00400_param_histno");
-
- setParameter("SMMRI00400_param_openerid", openerid); //기록승인열람 화면번호 셋팅
- setParameter("SMMRI00400_param_pid", pid); //조회할 환자번호 셋팅
- setParameter("SMMRI00400_param_orddeptengabbr", orddeptengabbr); //승인된 수진과 셋팅
- setParameter("SMMRI00400_param_prntdeptengabbr", prntdeptengabbr); //출력승인된 수진과 셋팅
-
- setParameter("SMMRI00400_param_resncd", model.getValue("/root/main/readappinfo/master/readapplist["+grd_readapplist.row+"]/apptype")); //열람목적 코드
- setParameter("SMMRI00400_param_etc", model.getValue("/root/main/readappinfo/master/readapplist["+grd_readapplist.row+"]/appdetail")); //열람목적 사유
-
- setParameter("SMMRI00400_param_appno", model.getValue("/root/main/readappinfo/master/readapplist["+grd_readapplist.row+"]/appno")); //열람신청번호
- setParameter("SMMRI00400_param_histno", model.getValue("/root/main/readappinfo/master/readapplist["+grd_readapplist.row+"]/histno")); //열람신청 HISTNO
- open("SMMRI00400"); //통합기록조회 오픈
- }
- else
- {
- messageBox("열람승인내역을","I007");
- return;
- }
- }
- }
- function fLoadExcel(){
-
- var fileName = window.fileDialog("open", ",", false, "", "xlsx", "Excel Files(*.xlsx)|*.xlsx|All Files (*.*)|*.*");
- if (fileName != ""){
- grd_pid.loadExcel(fileName);
-
- var rows = grd_pid.rows;
-
- if (rows < 2) {
- messageBox("챠트번호가 없습니다","");
- return;
- }
-
- fLoadfromExcel(rows);
-
- }
- }
- function fLoadfromExcel(rows){
- for (i = 1; i < rows; i++){
- var pid = model.getValue("/root/excel/patinfo["+i+"]/pid");
- var pnm = model.getValue("/root/excel/patinfo["+i+"]/pnm");
-
- if ( pid == "") {
- continue;
- }
- if(reqPatInfo("pid", "ptbs", pid)==true){
-
- model.setValue("/root/excel/patinfo/pid", pid);
- submit("TRMRI08108");
- var cnt = getNodesetCount( "/root/temp/patinfo" );
-
- if (cnt ==0 ) {
- var orddeptnm = "종이";
- fAddrowAppPatList ( pid, pnm, orddeptnm);
- var addrow = grd_apppatlist.row;
- model.setValue("/root/main/readappinfo/detail/apppatlist/apppatinfo["+addrow+"]/pappyn","Y");
- continue;
- }
-
- for ( j = 1; j <= cnt ; j++)
- {
- var deptnm = model.getValue("/root/temp/patinfo["+j+"]/deptengabbr");
- fAddrowAppPatList ( pid, pnm, deptnm);
- }
- }
- }
- }
|