/* - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ 수술환자리스트 ( SMMMO04500_수술환자리스트.xrw - JScript ) - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */ var sOPPATLIST_PATH = "/root/main/oppatinfo/oppatlist"; var sORDERBY = ""; /** * @desc : 화면 초기화 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fInitialize_SMMMO04500(){ model.removeNodeset(sOPPATLIST_PATH); model.setValue("/root/main/cond/opcnfmdd", String(getCurrentDate())); // var openflag = model.getValue(opener.instance1.selectSingleNode("root/list/oppatlistflag")); // var reopenflag = model.getValue(opener.instance1.selectSingleNode("root/reopen/reopenflag")); //진료대상자 리스트 open여부 // var chngcolflag= model.getValue(opener.instance1.selectSingleNode("root/chngcol/chngcolflag")); //컬럼변경 여부 model.setValue("/root/main/cond/perfdeptcd", getUserInfo("dutplcecd")); //집도과 model.setValue("/root/main/cond/perfdrid", "-"); //집도의 model.setValue("/root/main/cond/oproomcd", "-"); //수술방 // if(openflag == "N"){ //수술환자리스트 최초open // // zbcfGetCodeList(new Array("M0014", // "M0015", // "M0017", // "M0623"), // new Array("/root/init/M0014", // "/root/init/M0015", // "/root/init/M0017", // "/root/init/M0623")); // // reqHardCodeInfo("/root/send/reqdata", "/root/init/hardcdno", 18); //마취통증의학과 부서코드 조회 // var anstdeptcd = model.getValue("/root/init/hardcdno/hardcd/hardcd"); // reqOpRoomList(model.getValue("/root/main/cond/opcnfmdd"), "/root/init/oproomlist", "total"); //수술방명 조회 addComboInstance("/root/init/oproomlist", "oproomcd^oproomnm", "0000^방없음", "oproomlist"); //수술방콤보 Item '방없음'추가 // // copyNodeType("/root/init/oproomlist2", "/root/init/oproomlist", "replace"); //copyNodeType("/root/hidden/mmo/oproomlists/oproomlist", "/root/init/oproomlist", "replace"); copyNodeType("/root/hidden/mmo/oproomlists/oproomlist", "/root/init/oproomlist", "replace"); addComboInstance("/root/hidden/mmo/oproomlists/oproomlist", "oproomcd^oproomnm", "-^전체", "oproomlist"); //조회조건 수술방콤보 Item '전체'추가 // cmb_oproomcd.select(0); //수술방 콤보는 default '전체'설정 // mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept" , "D", String(getCurrentDate())); //부서콤보 조회 addComboInstance("/root/init/orddept", "deptcd^depthngnm", "-^전체", "dept"); //부서콤보 Item '전체'추가 // // //mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist" , getUserInfo("dutplcecd"), "0330"); //의사콤보 조회 mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist" , getUserInfo("dutplcecd"), "0330", "", "N", "", "", "P"); addComboInstance("/root/init/userlist", "userid^usernm", "-^전체", "usercombo"); //의사콤보 Item '전체'추가 // mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist2" , anstdeptcd, "0330", String(getCurrentDate()), "N"); //마취통증의학과 의사콤보 조회 // // //model.copyNode(opener.instance1.selectSingleNode("root/temp/oppatlist") , instance1.selectSingleNode("root/init")); //진료대상자 main에 init복사 // //model.setValue(opener.instance1.selectSingleNode("root/list/oppatlistflag"), "Y"); //수술환자리스트 open여부 Y로 설정 // // if(reopenflag != "Y"){ //수술환자리스트 처음 열린 경우, 기본 조회 조건 설정 // model.setValue("/root/main/cond/perfdeptcd" , getUserInfo("dutplcecd")); //진료과 // var jobposcd = getUserInfo("jobposcd"); // if (jobposcd == "1775" || jobposcd == "1800") { // model.setValue("/root/main/cond/perfdrid" , "-"); //의사 // } else { // model.setValue("/root/main/cond/perfdrid" , getUserInfo("userid")); //의사 // } // model.refresh(); // // }else{ //수술환자리스트 다시 열린 경우, 진료대상자 main에 ordtab의 condlist를 복사, condlist는 닫힐때 진료대상자의 정보를 저장함 // try { // // //model.copyNode(instance1.selectSingleNode("root/main/cond"), opener.instance1.selectSingleNode("root/reopen/condlist/condlist")); // } catch(E) { // model.setValue("/root/main/cond/orddeptcd", getUserInfo("dutplcecd")); // model.setValue("/root/main/cond/orddrid" , getUserInfo("userid")); // model.refresh(); // } // //model.copyNode(instance1.selectSingleNode("root/main/cond"), opener.instance1.selectSingleNode("root/reopen/condlist/condlist")); // model.setValue(opener.instance1.selectSingleNode("root/reopen/reopenflag"), "N"); // // mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist" , cmb_orddept.value, "0330", String(getCurrentDate()), "N");//이전 수술환자리스트 화면의 진료과의 의사콤보 조회 // addComboInstance("/root/init/userlist", "userid^usernm", "-^전체", "usercombo"); //의사콤보 Item '전체'항목 추가 // var jobposcd = getUserInfo("jobposcd"); // if (jobposcd == "1775" || jobposcd == "1800") { // model.setValue("/root/main/cond/perfdrid" , "-"); //의사 // } else { // model.setValue("/root/main/cond/perfdrid" , getUserInfo("userid")); //의사 // } // model.refresh(); // // } // model.copyNode(opener.instance1.selectSingleNode("root/cond/oppatlist"), instance1.selectSingleNode("root/main/cond")); // reqOrderInfoOfCol("SMMMO04500", "grd_oppatlist"); //수술환자리스트 컬럼 조회 및 설정 // // }else if(openflag == "Y"){ //수술환자리스트 다시open // model.copyNode(instance1.selectSingleNode("root/init"), opener.instance1.selectSingleNode("root/temp/oppatlist")); // model.copyNode(instance1.selectSingleNode("root/main/cond"), opener.instance1.selectSingleNode("root/cond/oppatlist")); // // var xmlnode = instance1.selectSingleNode("/root/init/userscrnenvinfo/gridseq"); // if(xmlnode != null){ // var refdata = model.getValue("/root/init/userscrnenvinfo/gridseq/compsrefcnts"); // var sizedata = model.getValue("/root/init/userscrnenvinfo/gridseq/compssizecnts"); // setOrderInfoOfCol("grd_oppatlist", refdata, sizedata); //수술환자리스트 컬럼 설정, 기존에 조회한 내용으로 처리 // } // } // // if(cmb_orddept.label==""){cmb_orddept.select(1);} // if(cmb_orddrid.label==""){cmb_orddrid.select(1);} // // if(chngcolflag == "Y"){ //컬럼설정을 통해 재설정 한 경우, 컬럼순서를 다시 조회 처리 // reqOrderInfoOfCol("SMMMO04500", "grd_oppatlist"); //외래환자리스트 컬럼 조회 및 설정 // model.setValue(opener.instance1.selectSingleNode("root/chngcol/chngcolflag"), "N"); // } fReqOPPatList(); // opener.javascript.fCtrlBtnDisable(false); } /** * @desc : 수술환자 선택 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fSelectOpPat(){ var ordrecflag = model.getValue(opener.instance1.selectSingleNode("root/main/cond/ordrecflag")); var currow = grd_oppatlist.row; var dutplcecd = getUserInfo("dutplcecd"); //사용자부서 if(currow < 1){ return; } var opstatcd = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/opstatcd"); var painlessflag = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/painlessflag"); // 무통마취여부가 N일 경우는 수술마취 확정상태에 따라 Blocking : 2009.02.05 :김영학 (박유미선배 요청) var pid = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/pid"); var hngnm = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/hngnm"); if(painlessflag == "N") { if(opstatcd == "00" || opstatcd == "10"){ messageBox("선택된 환자는 수술확정이 되지", "E007"); return; } } //처방, CP화면에 modal 또는 modaless가 뜬 경우, 환자 선택 불가 if(fChkScrnDisable()==false){ return; } //CP환자 여부 확인 if(fChkCPPatValid(currow)==false){ return; } /* if(fReqOpPatPamInfo(currow)==true){ opener.javascript.fOpenPrcpMainWnd(); } */ // 진료기록에 수정된 사항이 있을 경우 저장할 것인지 묻는 함수 호출 : 2009. 07. 27 김영학 var mainobj = getMainViewer(); var mainscrnid = mainobj.javascript.getScreenID(); //메인화면의 기록지 ID if(mainscrnid == "SMMMR00100"){ var prvIntRecPamInfRtn = mainobj.window.javascript.fPrevInitRecPamInfo(); if(prvIntRecPamInfRtn == false){ return; }// 기록지에 필수 입력사항을 입력하지 않았을 때 그냥 넘어가 버리는 오류 수정 20100305 LYJ } //상단정보 설정 및 진료기록 처방화면 연동 //var mainObj = getViewer("sysMessage"); if(fReqOpPatPamInfo(currow)==true){ var cpflag = opener.model.getValue("/root/cpflag"); var ordrecflag = opener.model.getValue("/root/main/cond/ordrecflag"); var recflag = opener.model.getValue("/root/main/cond/recflag"); var chngflag = opener.model.getValue("/root/main/cond/chngflag"); var mainObj = getMainViewer(); if (recflag == "Y") { var mainObj = getMainViewer(); curEmrRecObj = getOpenWindow("SMMRI00400"); //활성화된 진료기록 화면 object loading curExamRsltObj = getOpenWindow("SMAER00800"); //활성화된 검사결과 화면 object loading curNurTprObj = getOpenWindow("SMMNR00900"); //활성화된 간호 TPR 화면 object loading curNurBSEMRObj = getOpenWindow("SMMNR02500"); //활성화된 간호 TPR 화면 object loading curGrphObj = getOpenWindow("SPMRF05200"); //활성화된 그래프 서식 화면 object loading curCunsultObj = getOpenWindow("SMMMR05000"); //활성화된 Consult 화면 object loading curExamRsltNewObj = getOpenWindow("SMMMI00100"); //활성화된 검사결과 화면 object loading //if(curEmrRecObj != null){curEmrRecObj.javascript.fClose();} //진료기록 화면 close var wndobj = getOpenWindow("SMMRI00400"); if(wndobj != null) { setParameter("SMMRI00400_param_pid" , model.getValue("/root/source/pid")); setParameter("SMMRI00400_param_chosflag", model.getValue("/root/main/paminfo/list/ordtype")); wndobj.javascript.fInitalize(); activateChild("SMMRI00400"); } if(curExamRsltObj != null){ curExamRsltObj.model.setvalue("/root/send/data/singdata/srchpid", pid ); curExamRsltObj.javascript.btn_srch.dispatch("DOMActivate"); } //검사결과 화면 refresh; if(curNurTprObj != null){ //간호 TPR 화면 refresh : 2008-11-28 : 김영학 ; curNurTprObj.javascript.fInitialize("init"); } //간호 TPR 화면 refresh; if(curNurBSEMRObj != null){ //혈당간호기록 refresh : 2008-12-24 : 김영학 ; curNurBSEMRObj.javascript.fInitialize("init"); } //혈당간호기록 refresh; if(curGrphObj != null){ //그래프 서식 refresh : 2009-01-02 : 박민규 SW 요청 : 김영학 ; curGrphObj.javascript.fInitialize(); } //그래프 서식 refresh; //if(curCunsultObj != null && consulyn !="T"){ if(curCunsultObj != null ){ curCunsultObj.javascript.fInitalize(); } //그래프 서식 refresh; if(curExamRsltNewObj != null){ curExamRsltNewObj.model.setvalue("/root/send/data/singdata/srchpid", pid ); curExamRsltNewObj.javascript.btn_srch.dispatch("DOMActivate"); } //검사결과 화면 NEW refresh; curCpObj = mainObj.javascript.getOpenWindow("SMMMP00800"); //활성화된 CP Main 화면 object loading curPrcpObj = mainObj.javascript.getOpenWindow("SMMMO00100"); //활성화된 처방Main 화면 object loading curCpSrchObj = mainObj.javascript.getOpenWindow("SPMMP01200"); //활성화된 CP 검색 화면 object loading if(curPrcpObj != null) {curPrcpObj.javascript.fPrcpWndClose(); } ////활성화된 처방Main 화면이 있는 경우 close if(curCpObj != null){curCpObj.javascript.fCloseGPS();} //활성화된 CP Main화면이 있는 경우 close if(curCpSrchObj != null){curCpSrchObj.javascript.fCpSrchWndClose();} //활성화된 CP검색화면이 있는 경우 close clearParameter("SMMMO04100_ANSWCNT"); opener.javascript.fChngEMRScrn();// 진료기록 Open } else { opener.javascript.fOpenPrcpMainWnd(); //mainObj.window.javascript.openEmrScrn("SMMMO00100"); //처방화면 open } } /* model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "N"); //처방open if(fReqOpPatPamInfo(currow)== true){ if(ordrecflag == "N"){ fOpenOrdRecMainWnd(); }else{ fOpenEmptyWnd(); //기록지연결 여부 N인 경우, main화면 빈화면 교체, 화면상단정보 설정 및 처방화면 OPEN } } if(getUserInfo("dutplcecd") == "13200"){ //로그인한 의사가 마취통증의학과인 경우 open("SMMMR03700"); //수술환자리스트의 경우 메인화면에 마취수술기록지가 떠야함 }*/ } /** * @desc : 수술환자 기본정보설정 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fReqOpPatPamInfo(iRow){ var ioflag = "T" // 수술일 경우 ioflag:T var pid = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/pid"); var opcnfmdd = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/opcnfmdd"); var cretno = ""; var instcd = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/instcd"); var perfdeptcd = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/perfdeptcd"); var perfdrid = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/perfdrid"); var patflag = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/ioflag"); var procflag = "F"; // 최초조회:F , 재조회:R var cnstopflag = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/cnstopflag"); var oprsrvno = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/oprsrvno"); var mainoprsrvno = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/mainoprsrvno"); /* // 협진수술일때 부수술일 경우 주수술의 기록지가 뜨는 로직 삽입 : 2008. 08.27 (박유미 요청) if (cnstopflag == "Y") { if (mainoprsrvno != "-") { oprsrvno = mainoprsrvno; } } */ var ophistno = model.getValue(sOPPATLIST_PATH + "[" + iRow + "]/ophistno"); var srchdd = model.getValue("/root/main/cond/opcnfmdd"); //조회일자 var param = ioflag + "▦" + pid + "▦" + opcnfmdd + "▦" + cretno + "▦" + instcd + "▦" + perfdeptcd + "▦" + perfdrid + "▦" + patflag + "▦" + procflag + "▦" + oprsrvno + "▦" + ophistno + "▦" + srchdd; setParameter("condparam", param); model.setValue("/root/init", param); modal("SPMMO08900", 1, 0, 0, "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;"); var useyn = getParameter("SPMMO08900_rtn_useyn"); if(useyn == "Y"){ setParameter("SPMMO08900_rtn_useyn", ""); return true; }else{ return false; } } /** * @desc : 수술환자리스트 조회 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fReqOPPatList(){ //마취통증의학과와 조회진료과가 동일한 경우는 전체 조회 처리 //서버로직으로의 처리는 속도영향이 있음으로 web에서 처리 //2008. 07. 29. 오지훈 model.copyNode("/root/send/reqdata", "/root/main/cond"); var anstpaindeptcd = model.getValue("/root/init/hardcdno/hardcd/hardcd"); if(anstpaindeptcd == model.getValue("/root/main/cond/perfdeptcd")){ model.setValue("/root/send/reqdata/perfdeptcd", "-"); //집도과 전체설정 model.setValue("/root/send/reqdata/perfdrid" , "-"); //집도의 전체설정 } //2011.05.01진상찬 페이지 처리추가(10건씩) var offset = parseInt(model.getValue("root/page/curpage")); //1page면 offset은 0, 1page가 아니면 offset은 page수 * 10 (한페이지당 10건씩 보여줌) if(offset == 1) { offset = offset - 1; } else { offset = (offset - 1) * 10; } model.makeValue("/root/send/reqdata/offset", String(offset)); //몇번째 데이터 부터 조회할지 지정 model.makeValue("/root/send/reqdata/pagesize", model.getValue("root/page/pagesize")); //한페이지에 보여줄 건수(10건고정) //model.makeValue("/root/send/reqdata/opcnfmdd", "20101017"); //alert(model.getValue("/root/send/reqdata/opcnfmdd")); if(submit("TRMOB00003")){ var totrow = grd_oppatlist.rows; model.setValue("/root/main/totcnt/totcnt", totrow-1); model.copyNode(opener.instance1.selectSingleNode("root/temp/oppatlist"), instance1.selectSingleNode("root/init")); model.copyNode(opener.instance1.selectSingleNode("root/cond/oppatlist"), instance1.selectSingleNode("root/main/cond")); } ///////////////////////////////// var maxpage = parseInt(model.getValue("/root/main/oppatinfo/retcnt/oppatcnt")); //alert(model.getValue("/root/main/oppatinfo/retcnt/oppatcnt")); if(maxpage < 10) { model.setValue("/root/page/maxpage", "1"); } else { maxpage = (maxpage / 10) - ((maxpage % 10) / 10) + 1; model.setValue("/root/page/maxpage", String(maxpage)); model.refresh(); } ///////////////////////////////// var orderby = model.getValue("/root/main/cond/orderby"); var sortcol = model.getValue("/root/main/cond/sortcol"); if(sortcol != "" && orderby != ""){ sORDERBY = orderby; //nodeListSort(grd_oppatlist.nodeset, grd_oppatlist.colAttribute(sortcol, "ref"), sORDERBY); grd_oppatlist.colsort(sortcol) = sORDERBY grd_oppatlist.sort(1, 1, grd_oppatlist.rows -1, grd_oppatlist.cols -1) = "usersort"; grd_oppatlist.gridToInstance(); grd_oppatlist.refresh(); } } /** * @desc : 수술환자 CP적용여부 확인 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fChkCPPatValid(currow){ var instcd = getUserInfo("dutplceinstcd"); var pid = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/pid"); var opcnfmdd = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/opcnfmdd"); var perfdeptcd = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/perfdeptcd"); var perfdrid = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/perfdrid"); var ioflag = model.getValue(sOPPATLIST_PATH + "[" + currow + "]/ioflag"); var srchdd = model.getValue("/root/main/cond/opcnfmdd"); if(isNull(perfdeptcd)) perfdeptcd = model.getValue("/root/main/cond/orddeptcd"); if(isNull(ioflag)) ioflag = "T"; model.removeNodeset("/root/send/reqdata"); model.makeValue("/root/send/reqdata/ioflag" , "T"); //수술환자 ioflag는 T로 설정, 실제로 T는 없으나, 로직처리를 위해 임시로, 실제 ioflag는 patflag model.makeValue("/root/send/reqdata/pid" , pid); model.makeValue("/root/send/reqdata/orddd" , opcnfmdd); model.makeValue("/root/send/reqdata/orddeptcd", perfdeptcd); model.makeValue("/root/send/reqdata/orddrid" , perfdrid); model.makeValue("/root/send/reqdata/patflag" , ioflag); //실제 ioflag는 patflag로 설정 model.makeValue("/root/send/reqdata/instcd" , instcd); //기관코드 model.makeValue("/root/send/reqdata/srchdd" , srchdd); //기준일자 if(submit("TRMMO04503")==true){ //수술환자의 원무키 조회 var pid = model.getValue("/root/init/pamkeyinfo/pamkeyinfo/pid"); var orddd = model.getValue("/root/init/pamkeyinfo/pamkeyinfo/orddd"); var cretno= model.getValue("/root/init/pamkeyinfo/pamkeyinfo/cretno"); var ioflag= model.getValue("/root/init/pamkeyinfo/pamkeyinfo/ioflag"); var hngnm = model.getValue("/root/init/pamkeyinfo/pamkeyinfo/hngnm"); model.removeNodeset("/root/send/reqdata"); model.makeValue("/root/send/reqdata/pid" , pid); model.makeValue("/root/send/reqdata/orddd" , orddd); model.makeValue("/root/send/reqdata/cretno" , cretno); model.makeValue("/root/send/reqdata/hngnm" , hngnm); //추가(2008.08.25) model.makeValue("/root/send/reqdata/prcpgenrflag", ioflag); model.makeValue("/root/send/reqdata/srchtabflag" , "D"); //대상자리스트탭(I/D):조회결과orddd,cretno는 외래이력의 수전정보임 if(submit("TRMMO04303")==true){ //수술환자의 CP적용 여부 확인 var cppatnode = instance1.selectNodes("/root/init/rsltgetdata/getdata"); if(cppatnode.length < 1){ //cp적용환자 tbl에 유효한 데이터가 없는 경우 model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "N"); //처방open return true; }else{ //CP적용환자 tbl에 유효한 데이터가 있는 경우 var appstat = model.getValue("/root/init/rsltgetdata/getdata/appstat"); var cpgnm = model.getValue("/root/init/rsltgetdata/getdata/cpgnm"); var cpgappno = model.getValue("/root/init/rsltgetdata/getdata/cpgappno"); var msgcnts = model.getValue("/root/init/rsltgetdata/getdata/msgcnts"); var msgflag = model.getValue("/root/init/rsltgetdata/getdata/msgflag"); var prtlflagcd = model.getValue("/root/init/rsltgetdata/getdata/prtlflagcd"); //01:CP,02:CPG if(appstat == 52){ //case52: 입원장 CP var rtnval = messageBox(msgcnts, msgflag); if(rtnval == 6){ model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "X"); // CP Main open return true; }else{ model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "N"); if(fUpdtCPPatAppStatVal(41) != false && instance1.selectSingleNode(sOPPATLIST_PATH + "[" + currow + "]/cpyn") != null){ //41 : CP 취소 model.setValue(sOPPATLIST_PATH + "[" + currow + "]/cpyn", "N"); return; }else{ return false; } } }else{ if( prtlflagcd == "02" && isNull(appstat) && msgflag == "P" ){ //모니터링구분:대상자탐색 Case. CPG & 호출flag:Popup(appyn:평가용여부) //CPG적용대상자 알림 팝업 호출 (2009.05.04) setParameter("SMMMO041_hngnm" , hngnm); setParameter("SMMMO041_pid" , pid); setParameter("SMMMO041_cretno" , cretno); setParameter("SMMMO041_orddd" , orddd); setParameter("SMMMO041_ordtype" , ioflag); setParameter("SMMMO041_orddeptcd" , perfdeptcd); setParameter("SMMMO041_slipnm" , model.getValue(instance1.selectSingleNode("root/init/rsltgetdata/getdata/msgcnts"))); //cpgno▦cpghistseq▦cpgnm▦slipno▦slipnm▦valusgeyn▦valunm▦guidedocucnts setParameter("SMMMO041_cpgmntrflag", appstat); //null, SPMMP03200화면에서 cpgmntrflag(M or S)으로 따짐 setParameter("SMMMO041_cpgappno" , cpgappno); //적용중인 CP가 존재하면 값이 있음 setParameter("SMMMO041_cpgnm" , cpgnm); //적용중인 CP가 존재하면 값이 있음 modal("SPMMP03200"); //CP대상자 알람 팝업 if( cpgappno > 0 && cpgappno != getParameter("SPMMP032_cpgappno") && instance1.selectSingleNode(sOPPATLIST_PATH + "[" + currow + "]/cpyn") != null){ //진행중인 CP가 있는데 팝업에서 Drop한 경우 CP여부 N으로.. model.setValue(sOPPATLIST_PATH + "[" + currow + "]/cpyn", "N"); } if( !isNull(getParameter("SPMMP032_cpgappno")) && getParameter("SPMMP032_cpgappno") > 0 ){ model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "Y"); //CPG적용한 경우, MGPS 호출 }else{ model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "N"); //미적용 시 처방 화면 호출 } clearParameter("SPMMP032_cpgappno"); clearParameter("SMMMO041_hngnm"); clearParameter("SMMMO041_pid"); clearParameter("SMMMO041_cretno"); clearParameter("SMMMO041_orddd"); clearParameter("SMMMO041_ordtype"); clearParameter("SMMMO041_orddeptcd"); clearParameter("SMMMO041_slipnm"); clearParameter("SMMMO041_cpgmntrflag"); clearParameter("SMMMO041_cpgappno"); clearParameter("SMMMO041_cpgnm"); return true; }else{ //case 12 : D0 ~ D1 CP //그외 case : (10 : 진행중...) if( !isNull(msgcnts) && !isNull(msgflag) ){ //12: D0 처방일과 == 입원일 -> Drop 유도 //그외: 오늘날짜 > CP퇴원예정일 -> Drop 유도 messageBox(msgcnts, msgflag); setParameter("SMMMO043_cpgappno", cpgappno); //drop 팝업에서 인식할 수 있는 param setParameter("SMMMO043_drop" , "N"); //drop 팝업에서 인식할 수 있는 param modal("SPMMP02300"); //Drop 팝업 호출 model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "N"); if( getParameter("SMMMO043_drop") == "Y" ){ model.setValue(sINPATLIST_PATH + "[" + currow + "]/cpyn", "N"); }else{ return false; } clearParameter("SMMMO043_cpgappno"); clearParameter("SMMMO043_drop"); return true; } model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "Y"); return true; } } } } } } /** * @desc : CP환자 적용상태값 변경 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fUpdtCPPatAppStatVal(appstat){ var cpgappno = model.getValue("/root/init/rsltgetdata/getdata/cpgappno"); model.removeNodeset("/root/send/savedata"); model.makeValue("/root/send/savedata/cpgappno", cpgappno); model.makeValue("/root/send/savedata/appstat" , appstat); if(submit("TXMMO04301")==false){ return false; } }