/** * @desc : 기록블라인드 처리에 따른 * @id : * @event : onclick * @return : void * @authur : 박종훈 */ function fRecMainReady() { try { //grp_tle.attribute("visibility") = "visible"; grp_base.attribute("visibility") = "visible"; fReadyForm(); //} ////KNUH_20110209, 주희경, 진료속도 개선 위해 로그인 시 조회 해놓은 데이터 카피 //fGetHardCDList("N", "132", 0, "/root/main/hardcdlist"); ////KNUH, 응급실에서 소아청소년과 의사가 처방 저장 시 인증서가 최초 1회만 뜨도록 (2011.03.21 JJE) //fGetHardCDList("N", "282", 0, "/root/main/hardcdlist_282"); // // var cnt = getNodesetCnt(model, "/root/main/hardcdlist/hardcd[hardcd='"+getUserInfo("dutplcecd")+"']"); ////alert("132 new cnt:"+cnt+ ": getUserInfo(dutplcecd):"+getUserInfo("dutplcecd")); //if (cnt > 0) { // var tmp_left = btn_tong.attribute("left"); // btn_tong.attribute("left") = btn_nurrec.attribute("left"); // btn_nurrec.attribute("left") = tmp_left; // btn_tong.attribute("visibility") = "visible"; //} // //조회기간 설정 초기화 fReadyFormInitData(); } catch (e) { alert("e"); } } /** * @desc : 메인화면 로딩 * @id : * @event : onclick * @return : void * @authur : 박종훈 */ function fReadyForm() { grd_medireclist.autoMerge = false; grd_medireclist.mergeCol(grd_medireclist.colRef("formrecdd")) = true; fReadyFormInitData(); fAddDateReq("today"); var defltdeptcd = getUserInfo("dutplcecd"); if (defltdeptcd == "2280000000") { defltdeptcd = "ALL"; } else if(defltdeptcd == ""){ defltdeptcd = "ALL"; } var selDept = instance1.selectSingleNode("/root/init/deptlist/dept[deptcd='" + defltdeptcd + "']/deptcd"); if(selDept == null){ defltdeptcd = "ALL"; } model.setValue("/root/send/reqmedireclist/formrecdeptcd", defltdeptcd); model.setValue("/root/send/reqmedireclist/chosflag", "A"); model.setValue("/root/hidden/openform/degnid", getUserInfo("usernm")); model.refresh(); grd_medireclist.merge(); fInitRecPamInfo(); } /** * @desc : 진료기록 리스트 조회조건의 진료과 조회 및 서식즐겨찾기 조회 * 2010.04.13 dhkim 기간옵션 조회 추가 * @id : * @event : * @return : void * @authur : 박종훈 */ function fReadyFormInitData() { mmbfGetDeptCodeComboList("/root/send/reqdeptlist", "/root/init/deptlist", "A"); model.setValue("/root/init/deptlist/dept[1]/deptcd", "ALL"); model.setValue("/root/init/deptlist/dept[1]/depthngnm", "전체"); //기간옵션 조회 fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/srchday", "024"); var srchday = model.getValue("/root/envinit/srchday/answcnt"); switch(srchday) { case "001" : model.setValue("/root/init/reqmedireclist/diffdt", "1"); break; case "002" : model.setValue("/root/init/reqmedireclist/diffdt", "3"); break; case "003" : model.setValue("/root/init/reqmedireclist/diffdt", "6"); break; case "004" : model.setValue("/root/init/reqmedireclist/diffdt", "9"); break; case "005" : model.setValue("/root/init/reqmedireclist/diffdt", "12"); break; case "006" : model.setValue("/root/init/reqmedireclist/diffdt", "24"); break; } combo4.refresh(); } /** * @desc : 진료기록 리스트 조회조건 시작일, 종료일 셋팅 * @id : * @event : * @return : void * @authur : 박종훈 */ function fAddDateReq(diffFlag) { var frdd = model.getValue("/root/init/reqmedireclist/recfromdt"); var todd = model.getValue("/root/init/reqmedireclist/rectodt"); var srcdd = new Date(); var destdd = new Date(); var diffdt; if (diffFlag == "next") { srcdd = todd.toDate(); srcdd = srcdd.getAddDate(1, "D"); frdd = srcdd.getDateFormat(); diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * 1; destdd = srcdd.getAddDate(diffdt, "M"); todd = destdd.getDateFormat(); } else if (diffFlag == "back") { srcdd = frdd.toDate(); srcdd = srcdd.getAddDate(-1, "D"); todd = srcdd.getDateFormat(); diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * -1; destdd = srcdd.getAddDate(diffdt, "M"); frdd = destdd.getDateFormat(); } else if (diffFlag == "today") { todd = getCurrentDate(); var today = new Date(); var frday = new Date(); var diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * -1; frday = today.getAddDate(diffdt , "M"); frdd = frday.getDateFormat(); } else { var today = todd.toDate(); var frday = new Date(); var diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * -1; frday = today.getAddDate(diffdt , "M"); frdd = frday.getDateFormat(); } model.setValue("/root/init/reqmedireclist/recfromdt", frdd); model.setValue("/root/init/reqmedireclist/rectodt", todd); ipt_formrecdtfr.refresh(); ipt_formrecdtto.refresh(); } /** * @desc : 진료기록 리스트 조회조건 시작일, 종료일 셋팅 * @id : * @event : * @return : void * @authur : 박종훈 */ function fAddDateReq(diffFlag) { var frdd = model.getValue("/root/init/reqmedireclist/recfromdt"); var todd = model.getValue("/root/init/reqmedireclist/rectodt"); var srcdd = new Date(); var destdd = new Date(); var diffdt; if (diffFlag == "next") { srcdd = todd.toDate(); srcdd = srcdd.getAddDate(1, "D"); frdd = srcdd.getDateFormat(); diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * 1; destdd = srcdd.getAddDate(diffdt, "M"); todd = destdd.getDateFormat(); } else if (diffFlag == "back") { srcdd = frdd.toDate(); srcdd = srcdd.getAddDate(-1, "D"); todd = srcdd.getDateFormat(); diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * -1; destdd = srcdd.getAddDate(diffdt, "M"); frdd = destdd.getDateFormat(); } else if (diffFlag == "today") { todd = getCurrentDate(); var today = new Date(); var frday = new Date(); var diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * -1; frday = today.getAddDate(diffdt , "M"); frdd = frday.getDateFormat(); } else { var today = todd.toDate(); var frday = new Date(); var diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * -1; frday = today.getAddDate(diffdt , "M"); frdd = frday.getDateFormat(); } model.setValue("/root/init/reqmedireclist/recfromdt", frdd); model.setValue("/root/init/reqmedireclist/rectodt", todd); ipt_formrecdtfr.refresh(); ipt_formrecdtto.refresh(); } /** * @desc : 미리보기 조회 * @id : * @event : * @return : void * @authur : 박종훈 * @parameter : formrecseq - 검색하고자 하는 seq번호 findrowInfo - 원하는 그룹 search(같은서식 검색으로 seq가 구분자로 멀티로 구성되어 넘어옴.) * 2010/01/04 hkjoo 수정 */ function fShowMediRecCnt(formrecseq, arrFormrecseq) { if (model.getValue("/root/main/paminfo/pid") == "") { return; } var cond = new COMN_CONT_RECCNTS(); //var instance = document.models(0).instances(0); var instance = model.instances.item(0); var nodeReclist = instance.selectNodes("/root/main/mainlist/medireclist"); var nodeReclistlength = nodeReclist.length; cond.pid = model.getValue("/root/main/paminfo/pid"); cond.formrecdeptcd = model.getValue("/root/send/reqmedireclist/formrecdeptcd"); cond.chosflag = model.getValue("/root/send/reqmedireclist/chosflag"); cond.reclistlength = nodeReclistlength; if (formrecseq == "") { cond.recfromdt = model.getValue("/root/init/reqmedireclist/recfromdt"); cond.rectodt = model.getValue("/root/init/reqmedireclist/rectodt"); } else { cond.recfromdt = ""; cond.rectodt = ""; } //2010/01/04 hkjoo 추가 if ( arrFormrecseq != null ) cond.arrFormrecseq = arrFormrecseq; //////////////////////// cond.formrecseq = formrecseq; ivw_reccnts.window.javascript.fRefMediRecCnts(cond); swt_left.selectedIndex = 1; //button15.selected = true; radio1.value = "RD"; //radio1.dispatch("xforms-value-changed"); swt_left.visible = true; } /** * @desc : 진료기록 메인의 왼쪽 스위치에 따른 함수 호출 * @id : * @event : * @return : void * @authur : */ function fRefMain() { switch (swt_left.selectedIndex) { case 0: fRefMediRecList(); break; case 1: fShowMediRecCnt(""); break; } } /** * @desc : 기록 목록 조회 * @id : * @event : * @return : void * @authur : */ var isFstListSrch = "Y"; function fRefMediRecList() { if (model.getValue("/root/main/paminfo/pid") == "") { messageBox("환자정보가 존재하지 않아 진행 ", "E001"); return; } model.setValue("/root/send/reqmedireclist/pid", model.getValue("/root/main/paminfo/pid")); if (model.getValue("/root/main/paminfo/ioflag") == "O") model.setValue("/root/send/reqmedireclist/orddd", model.getValue("/root/main/paminfo/orddd")); else model.setValue("/root/send/reqmedireclist/orddd", model.getValue("/root/main/paminfo/indd")); model.setValue("/root/send/reqmedireclist/cretno", model.getValue("/root/main/paminfo/cretno")); model.setValue("/root/send/reqmedireclist/orddeptcd", model.getValue("/root/main/paminfo/orddeptcd")); model.setValue("/root/send/reqmedireclist/recfromdt", model.getValue("/root/init/reqmedireclist/recfromdt")); model.setValue("/root/send/reqmedireclist/rectodt", model.getValue("/root/init/reqmedireclist/rectodt")); model.makeValue("/root/send/reqmedireclist/formcd", "-"); ////////////////////////////////////////////////////////////////////////// //2011.05.16진상찬 페이지 처리추가(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/reqmedireclist/offset", String(offset)); //몇번째 데이터 부터 조회할지 지정 model.makeValue("/root/send/reqmedireclist/pagesize", model.getValue("root/page/pagesize")); //한페이지에 보여줄 건수(10건고정) submit("TRMOB04201"); var maxpage = parseInt(model.getValue("/root/main/mainlist/medireclistcnt/maxcnt")); 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(); ////////////////////////////////////////////////////////////////////////// swt_left.selectedIndex = 0; // button66.selected = true; swt_left.visible = true; grd_medireclist.autoMerge = false; grd_medireclist.mergeCol(grd_medireclist.colRef("formrecdd")) = true; grd_medireclist.merge(); if (grd_medireclist.rows > 1) { grd_medireclist.row = 1; } } /** * @desc : 환자 원무 정보 셋팅 * @id : * @event : * @return : void * @authur : 박종훈 */ function fInitRecPamInfo() { //환자정보 새로 바뀔시 기록 수정을 위해 셋팅되어있던 파리미터 clear clearParameter("SSMMR01200_Param_formcd"); clearParameter("SSMMR01200_Param_recseq"); isFstListSrch = "Y"; try { //var node = getGlobalVariable("paminfo"); model.removeNodeset("/root/main/paminfo"); //setCSVToNode("/root/main", node, "paminfo"); //-------------임시테스트용 : 환자정보 셋팅 2011-05-13 오후 2:05:53 강지훈 //model.makeValue("/root/main/paminfo/pid", "22503786" ); //model.makeValue("/root/main/paminfo/orddd", "20100517" ); //model.makeValue("/root/main/paminfo/indd", "" ); //model.makeValue("/root/main/paminfo/cretno", "1" ); //model.makeValue("/root/main/paminfo/orddeptcd", "2020000000" ); //model.makeValue("/root/main/paminfo/ioflag", "I" ); //------------- model.makeValue("/root/main/paminfo/pid", model.property("pid") ); model.makeValue("/root/main/paminfo/orddd", "" ); model.makeValue("/root/main/paminfo/indd", model.property("indd") ); model.makeValue("/root/main/paminfo/cretno", model.property("cretno")); model.makeValue("/root/main/paminfo/orddeptcd", model.property("orddeptcd") ); model.makeValue("/root/main/paminfo/deptnm", model.property("deptnm") ); //진료과 model.makeValue("/root/main/paminfo/medispclnm", model.property("medispclnm")); //주치의 model.makeValue("/root/main/paminfo/hngnm", model.property("hngnm") ); //환자명 model.makeValue("/root/main/paminfo/sexage", model.property("sexage") ); //나이성별 model.makeValue("/root/main/paminfo/wardroomnm", model.property("wardroomnm") ); //병실병동 model.makeValue("/root/main/paminfo/ioflag", "I" ); model.setValue("/root/send/reqinitinfo/pid", model.getValue("/root/main/paminfo/pid")); model.setValue("/root/send/reqinitinfo/cretno", model.getValue("/root/main/paminfo/cretno")); model.setValue("/root/send/reqinitinfo/chosflag", model.getValue("/root/main/paminfo/ioflag")); if (model.getValue("/root/send/reqinitinfo/chosflag") == "O" || model.getValue("/root/send/reqinitinfo/chosflag") == "S") { model.setValue("/root/send/reqinitinfo/orddd", model.getValue("/root/main/paminfo/orddd")); } else { model.setValue("/root/send/reqinitinfo/orddd", model.getValue("/root/main/paminfo/indd")); } button3.dispatch("onclick"); // /* // * 진료대상자리스트의 외래out,입원in,응급er,수술op,의뢰cnst 구분값 세팅 // */ // var tabflag = ""; // var oprsrvno = ""; // // // if (tabflag == "op") // { // var operation = getGlobalVariable("operation").split("▩")[1]; // // if(operation != null && operation != ""){ // oprsrvno = operation.split("▦")[0]; // } // } // // model.makeValue("/root/send/reqinitinfo/tabflag", tabflag); // model.makeValue("/root/send/reqinitinfo/patflag", model.getValue("/root/main/paminfo/autoformcd")); // model.makeValue("/root/send/reqinitinfo/formrecdeptcd", model.getValue("/root/send/reqmedireclist/formrecdeptcd")); // model.makeValue("/root/send/reqinitinfo/oprsrvno", oprsrvno); // // ivw_reccnts.window.javascript.fClear(); // model.removeNodeset("/root/main/mainlist/medireclist"); // // /* // * 의사별미비리스트, CP 인터페이스 formcd및, formrecseq 세팅, formrecdd 세팅 // */ // var unprepformcd = getGlobalVariable("linked_formcd", "emr"); // var unprepformrecseq = getGlobalVariable("linked_formrecseq", "emr"); // var unprepformrecdd = getGlobalVariable("linked_formrecdd", "emr"); // // 글로벌 파라미터 초기화 // setGlobalVariable("linked_formcd", "", "emr") ; // setGlobalVariable("linked_formrecseq", "", "emr") ; // setGlobalVariable("linked_formrecdd", "", "emr") ; // 추후 수정 : 해당 위치에 셋팅 후 초기화 // // var cpformcd = getGlobalVariable("linked_cpformcd", "emr"); // var cpformrecseq = getGlobalVariable("linked_cpformrecseq", "emr"); // var cpformrecdd = getGlobalVariable("linked_cpformrecdd", "emr"); // // 글로벌 파라미터 초기화 // setGlobalVariable("linked_cpformcd", "", "emr") ; // setGlobalVariable("linked_cpformrecseq", "", "emr") ; // setGlobalVariable("linked_cpformrecdd", "", "emr") ; // 추후 수정 : 해당 위치에 셋팅 후 초기화 // // if(unprepformcd != "") //미비 // { // setParameter("SSMMR01100_cert_Cnfm", "Y"); //미비기록의 경우 인증서를 한번만 띄워주기 위한 param(2008-12-29 : 박종훈 추가) // // if(unprepformrecseq != "") // { // fOpenRecForm(unprepformcd, unprepformrecseq); // fShowMediRecCnt(unprepformrecseq); // } // else // { // ivw_loader.window.javascript.setParameter("SSMMR01100_formrecdd", unprepformrecdd); // fOpenNewForm(unprepformcd); // } // // unprepformcd = ""; // unprepformrecseq = ""; // unprepformrecdd = ""; // } // else if(cpformcd != "") //CP // { // if(cpformrecseq != "") // { // fOpenRecForm(cpformcd, cpformrecseq); // } // else // { // ivw_loader.window.javascript.setParameter("SSMMR01100_formrecdd", cpformrecdd); // fOpenNewForm(cpformcd); // } // // cpformcd = ""; // cpformrecseq = ""; // cpformrecdd = ""; // } // else // { // /* // * 기본서식 조회 // */ // if (submit("TRMMR00102",false)) // { // setParameter("srchmemo","Y"); // var isOpenNewForm = false; // // if (model.getValue("/root/main/initinfo/lastformrecseq") != "") // { // //KNUH_20110208, 주희경, 로그인 시 미리 데이터를 조회해 놓고 copy해서 쓰는 방식으로 변경 // //환경설정에서 진료기록메인의 왼쪽화면 디폴트 탭 설정 값을 읽어와 탭설정 // var viewerObj = getViewer("sysMessage"); // var answvalnm = viewerObj.window.model.getValue(gvOrderBasicInfoPath +"/interface[qestcd='032']/answcnt"); // // if ( answvalnm == "001" ) // { // swt_left.selectedIndex = 0; // button66.selected = true; // fRefMain(); // } // else if ( ( model.getValue("/root/main/initinfo/lastformrecseq") > 0 ) ) // { // fShowMediRecCnt(model.getValue("/root/main/initinfo/lastformrecseq")); // } // // // } // } // // //2009.10.26 안치원 TASK-32482 // //서식목록에서 응급환자의 경우 입퇴원요약기록이 안보이게 한다. // //환자의 내원구분이 바뀌면 서식목록을 리로드한다. // var curObj = window.javascript.getOpenWindow("SPMMR01000"); // var selectedChosFlag = model.getValue("/root/hidden/selectedChosFlag"); // var chosFlag = model.getValue("/root/send/reqinitinfo/chosflag"); // if (curObj != null && selectedChosFlag != chosFlag) { // model.makeValue("/root/hidden/selectedChosFlag", chosFlag); // //환자의 내원구분이 바뀌면 서식목록을 닫는다. // //curObj.window.javascript.reloadByRecMain(); // curObj.window.close(); // } } catch (e) { //alert("fInitRecPamInfo"); throw e; } }