123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462 |
- /* ---------------------------------------------------------------------
- 수술부위 확인 점검표(SMMNP00208.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- : Create By Mr.Son S.H
- : 2011.12.05
- ---------------------------------------------------------------------- */
-
- var initOprsrvno = "";
-
- /* ------------------------------------------------- */
- /* SMMNP00208_수술부취확인 점검.xrw */
- /* On Load 시 Call */
- /* ------------------------------------------------- */
- /* group : EMR 간호 */
- /* ver : 2011.12.05 */
- /* by : 손성훈 */
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : xforms-ready시 수행한다 */
- /* return : */
- /* --------------------------------------------------*/
-
- function fInitialize() {
- // 본원. 칠곡 구분.
-
- var initPid = ""
-
- if (initOprsrvno == "") {
- initOprsrvno = opener.javascript.getParameter("SMMNP00208_PARM_OPRSRVNO");
- }
- model.makeValue("/root/init/parminfo/oprsrvno", initOprsrvno);
-
- if (initOprsrvno =='' || initOprsrvno == null){
- var node = getGlobalVariable("operation");
-
- if( node != '' && node != null){
- model.makeNode("root/temp/operation");
- setCSVToNode("/root/temp/operation", node);
-
- var sOprsrvno = model.getValue("/root/temp/operation/list/oprsrvno");
-
- model.makeValue("/root/init/parminfo/oprsrvno", sOprsrvno);
- } else{
-
- messageBox("수술환자 탭에서 환자 조회 후 입력 가능합니다.\r\n환자 정보를 상단에 조회 후 '수술부위확인점검표' 프로그램 재 실행하십시요!", "E");
- model.close();
- }
- }
-
- // 저장된 데이타 확인 후 가져오기.
- submit("TRMNP00208");
-
- // 확인내용 기본 셋팅가져오기.
- submit("TRMNP00209");
-
- var sChkinfo = model.getValue("/root/init/oppartchkinfo/oppartckspec/hidedata/opchkitem/chkitem1");
-
- // 이미 저장된 데이타가 있는지 여부를 파악해서. 없으면 기본 셋팅값. 존재하면 기존 데이타 보이기.
- if (sChkinfo == ""){
-
- model.copyNode("/root/init/oppartchkinfo/oppartckspec", "root/temp");
- model.makeValue("/root/init/oppartchkinfo/recstat", "i"); // Insert 구분자를 지정하여 저장시 insert 되도록.
-
- }else {
-
- model.makeValue("/root/init/oppartchkinfo/recstat", "u"); // Update 구분자를 지정.
-
- var nToexecdttm = model.getValue("/root/init/oppartchkinfo/toexecdttm");
- if( nToexecdttm != "" ){
- var nTimeoutdt = nToexecdttm.substr(0, 8);
- var nTimeouttm = nToexecdttm.substr(8, 4);
-
- model.setValue("/root/hidden/recdttm/timeoutdt", nTimeoutdt);
- model.setValue("/root/hidden/recdttm/timeouttm", nTimeouttm);
- }
- /*
- var sTimeoutinfo = model.getValue("/root/init/oppartchkinfo/oppartckspec/hidedata/timeoutitem/chkitem1");
- if( sTimeoutinfo == "" ){
- alert("과거 자료입니다. 통합기록조회로 확인바랍니다.");
- }
- */
- }
-
- if(model.getValue("/root/init/oppartchkinfo/partcptyn") == ""){
- model.setValue("/root/init/oppartchkinfo/partcptyn","Y");
- }
-
- if(model.getValue("/root/init/oppartchkinfo/partcptyn") == "N"){
- chk_partcptnr1.disabled = false;
- chk_partcptnr2.disabled = false;
- chk_partcptnr3.disabled = false;
- chk_partcptnr4.disabled = false;
- }else{
-
- chk_partcptnr1.disabled = true;
- chk_partcptnr2.disabled = true;
- chk_partcptnr3.disabled = true;
- chk_partcptnr4.disabled = true;
- }
- if(model.getValue("/root/init/oppartchkinfo/partcptnr4") == "Y"){
- ipt_partcptnrrmk.disabled = false;
- }else{
- ipt_partcptnrrmk.disabled = true;
- }
-
- model.makeNode("/root/temp/cond/list");
- getPatientInfoDetails("/root/temp/cond/list"); // 환자 상세정보 조회.
-
- fUserchk() //사용자별 화면 제한.
-
- // 확인내용의 체크 부분은 Merge 되지 않도록 ..
- grd_chklist.mergeCol(grd_chklist.colRef("opdryn")) = false;
- grd_chklist.mergeCol(grd_chklist.colRef("anstdryn")) = false;
- grd_chklist.mergeCol(grd_chklist.colRef("opnuryn")) = false;
-
- grd_timeoutlist.mergeCol(grd_chklist.colRef("opdryn")) = false;
- grd_timeoutlist.mergeCol(grd_chklist.colRef("anstdryn")) = false;
- grd_timeoutlist.mergeCol(grd_chklist.colRef("opnuryn")) = false;
-
-
- }
-
- /* ------------------------------------------------- */
- /* type : function */
- /* access : public */
- /* desc : 수술부위확인 참석자별 체크 가능하도록 */
- /* return : */
- /*
- /* 참석자에 맞게 수술부위 확인 내용을 체크할 수 있도록 ..
- /* --------------------------------------------------*/
- function fSaveOpCheckList(){
- /*
- var sChk = model.getValue("/root/init/oppartchkinfo/chkattend");
-
- if ( sChk == "1" ){
- chk_opnr.disabled = true;
- grd_chklist.colDisabled (3) = true;
- grd_chklist.colDisabled (4) = true;
- grd_chklist.colDisabled (2) = false;
- grd_chklist.fixedcellcheckbox(0,2) = true; // 컬럼에 체크박스
- grd_chklist.fixedcellcheckbox(0,3) = false;
- //chk_opdr.select(0);
- chk_opdryn.value = 'Y'
- chk_anstdryn.value = 'N';
- } else if ( sChk == "2"){
-
- chk_opnr.disabled = true;
- grd_chklist.colDisabled (2) = true;
- grd_chklist.colDisabled (4) = true;
- grd_chklist.colDisabled (3) = false;
- grd_chklist.fixedcellcheckbox(0,3) = true; // 컬럼에 체크박스
- grd_chklist.fixedcellcheckbox(0,2) = false;
- //chk_andr.select(0);
- chk_anstdryn.value = 'Y';
- chk_opdryn.value = 'N'
- }
- */
- }
-
- /* ------------------------------------------------- */
- /* type : function */
- /* access : public */
- /* desc : 저장. 업데이트 */
- /* return : */
- /*
- /* 임시저장, 인증저장, 수정.
- /* --------------------------------------------------*/
- function fSave(pSaveFlag){
-
-
- if(model.getValue("/root/init/oppartchkinfo/chkattend") == ""){
- messageBox("수술부위확인 참석자를 ", "C002"); // 선택하십시오!
- return;
- }
-
- var wRecoDate = getCurrentDate() + getCurrentTime(); // 시스템일자 기록
- var wSaveDate = getCurrentDate() + getCurrentTime(); // 시스템일자 기록
-
- // 기록일시
- if (model.getValue("/root/main/conditions/confirm") == "2") { // 사용자일자 지정시간 기록
- wRecoDate = model.getValue("/root/hidden/recdttm/recdt")
- + model.getValue("/root/hidden/recdttm/rectm");
- if(wRecoDate.replace(' ', '').length < 12){
- messageBox("기록일시를 정확하게 입력 하시기 바랍니다.", "I000");
- return;
- }
- } else{
- wRecoDate = wSaveDate;
- }
-
- model.makeValue("/root/init/oppartchkinfo/recdttm", wRecoDate);
-
- // Time Out 시행시간
- var nTimeOutDate = model.getValue("/root/hidden/recdttm/timeoutdt") + model.getValue("/root/hidden/recdttm/timeouttm");
- if(!isNull(nTimeOutDate) && nTimeOutDate.replace(' ', '').length < 12){
- messageBox("TimeOut 시행시간을 정확하게 입력 하시기 바랍니다.", "I000");
- return;
- }
- model.makeValue("/root/init/oppartchkinfo/toexecdttm", nTimeOutDate);
-
- model.removeNode("/root/send/savedata"); // node 초기화.
- model.makeNode("/root/send/savedata");
-
- var sUsernm = getUserInfo("usernm") ;
- var sUserid = getUserInfo("userid") ;
- var sDeptcd = getUserInfo("dutplcecd") ;
-
- var ChkValue = model.getValue("/root/init/oppartchkinfo/chkattend");
-
- if (ChkValue == "1"){
- model.setValue("/root/init/oppartchkinfo/opdocnm", sUsernm);
- model.setValue("/root/init/oppartchkinfo/opdocrecrid", sUserid);
- model.setValue("/root/init/oppartchkinfo/opdocrecdept", sDeptcd);
- }else if (ChkValue == "2"){
- model.setValue("/root/init/oppartchkinfo/anstdocnm", sUsernm);
- model.setValue("/root/init/oppartchkinfo/anstdocrecrid", sUserid);
- model.setValue("/root/init/oppartchkinfo/anstdocrecdept", sDeptcd);
- }else if (ChkValue == "3"){
- model.setValue("/root/init/oppartchkinfo/opnrnm", sUsernm);
- model.setValue("/root/init/oppartchkinfo/opnrrecrid", sUserid);
- model.setValue("/root/init/oppartchkinfo/opnrrecdept", sDeptcd);
- }
- model.copyNode("/root/send/savedata","/root/init/oppartchkinfo");
-
- // xml 데이타가 저장 될 Node 삭제 후 xml 데이타 지정.
- model.removeNode("/root/send/savedata/oppartckspec");
- model.makeValue("/root/send/savedata/oppartckspec", instance1.selectNodesXml("/root/init/oppartchkinfo/oppartckspec/hidedata") );
-
-
-
- if (pSaveFlag == "C"){ // 인증저장.
-
- model.makeValue("/root/send/savedata/oppartchkinfo/certflag", "C");
-
- Sign.certreload = true ;
- if (Sign.signprocess() == true){
- //src="C:\CMCProject\application\webapps\emr\formmngtweb\xrw\SSMRF03800_OCR뷰어.xrw"
- // alert("인증성공" );
- // alert("1. 인증성공여부 false / true \n\n" + Sign.signedInfos[0]); // 인증성공여부 false / true
- // alert("2. 인증할 데이터 정보 (미기록 노드 제거전 원본 노드) \n\n" + Sign.signedInfos[3]); // 인증할 데이터 정보 (미기록 노드 제거전 원본 노드)
- // alert("2.--> text 데이터(없는 노드 포함된) text 형태 변형 결과 \n\n" + Sign.signedInfos[4]); // [3] 데이터(없는 노드 포함된) text 형태 변형 결과
- // alert("3. 인증할 데이터 정보(미기록 노드 제거된 정보) \n\n" + Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- // alert("3. -->text 데이터(없는 노드 제거된) text 형태 변형 결과 \n\n" + Sign.signedInfos[5]); // ★[1] 데이터(없는 노드 제거된) text 형태 변형 결과 >>> [5]
- // alert("3. -->text --> sign 공인인증 처리후 데이터 \n\n" + Sign.signedInfos[2]); // ★공인인증 처리후 데이터 >>> [2]
- //
- model.makeValue("/root/send/savedata/signinfo/pid", model.getValue("/root/temp/cond/list/pid"));
- model.makeValue("/root/send/savedata/signinfo/indd", model.getValue("/root/temp/cond/list/indd"));
- model.makeValue("/root/send/savedata/signinfo/signno",""); // model.getValue("/root/init/oppartchkinfo/signno")); //20090722_SMY변경
- model.makeValue("/root/send/savedata/signinfo/cretno", model.getValue("/root/temp/cond/list/cretno"));
- model.makeValue("/root/send/savedata/signinfo/recdd", getCurrentDate()); // model.getValue("/root/main/wardrecinfo/recdd"));
- model.makeValue("/root/send/savedata/signinfo/rectm", getCurrentTime()); // model.getValue("/root/main/wardrecinfo/rectm"));
- //--//model.makeValue("/root/send/savedata/signinfo/recsaveflag", model.getValue("Y"));
- model.makeValue("/root/send/savedata/signinfo/recsaveflag", "Y");
- model.makeValue("/root/send/savedata/signinfo/signflag", "02");
- model.makeValue("/root/send/savedata/signinfo/signgenrflag", model.getValue("/root/temp/cond/list/ioflag"));
- model.makeValue("/root/send/savedata/signinfo/formcd", "1200012439");
- model.makeValue("/root/send/savedata/signinfo/orddeptcd", model.getValue("/root/temp/cond/list/orddeptcd"));
- model.makeValue("/root/send/savedata/signinfo/orddrid", model.getValue("/root/temp/cond/list/medispclid"));
- model.makeValue("/root/send/savedata/signinfo/signbfcnts", Sign.signedInfos[1]);
- model.makeValue("/root/send/savedata/signinfo/signaftcnts", Sign.signedInfos[2]);
-
- if(submit("TXMNP00208") == true) {
- messageBox("저장이 ", "I001");
- }else {
- messageBox("저장이 실패하였습니다. ", "E");
- }
- }
-
- }
- if (pSaveFlag == "T"){
- model.makeValue("/root/send/savedata/oppartckspec/certflag", "T");
- // 임시저장?!
- }
-
- fInitialize(); // 화면 재조회.
- }
-
- /* ------------------------------------------------- */
- /* type : function */
- /* access : public */
- /* desc : 사용자별 화면 제한. */
- /* return : */
- /*
- /* 수술참여의사, 마위의사, 수술실 간호사.
- /* --------------------------------------------------*/
- function fUserchk(){
-
-
-
- var sJobkindcd = getUserInfo("jobkindcd") ; // 사용자의 직종코드.
- var sDutplcecd = getUserInfo("dutplcecd") ; // 사용자의 근무지 부서코드.
-
- var sUserChkInfo = "";
-
- if (model.getValue("/root/init/oppartchkinfo/perfdeptcd") == "2090000000" && sDutplcecd == "2090000000"){
-
- sUserChkInfo = "C";
-
- }else{
-
- submit("TRMNP00210"); // 직종코드, 근무지부서 코드 비교하기 위해 공통코드 조회.
-
- var node = instance1.selectNodes("root/userckinfo/cdid");
-
- for(var i = 1 ; i <= node.length ; i++){
- if ( sJobkindcd == model.getValue("root/userckinfo["+i+"]/cdnm")) {
-
- if (sDutplcecd == model.getValue("root/userckinfo["+i+"]/gdesc")) {
- sUserChkInfo = model.getValue("root/userckinfo["+i+"]/cdid");
-
- break;
-
- } else if("0000000000" == model.getValue("root/userckinfo["+i+"]/gdesc")){
- sUserChkInfo = model.getValue("root/userckinfo["+i+"]/cdid");
-
- break;
-
- }
- }
- }
- }
-
- // sUserChkInfo = "C";
- if (sUserChkInfo == 'A' ) { // A - 수술실 간호사
- chk_opdr.disabled = true;
- chk_andr.disabled = true;
- grd_chklist.colDisabled (2) = true;
- grd_chklist.colDisabled (3) = true;
- grd_chklist.fixedcellcheckbox(0,4) = true; // 컬럼에 체크박스
- chk_opnr.select(0);
- chk_opnryn.value = 'Y';
-
- lf_TimeoutEnable(false);
-
- } else if(sUserChkInfo == 'B' ){ // B - 마취의사
- chk_opdr.disabled = true;
- chk_opnr.disabled = true;
- grd_chklist.colDisabled (2) = true;
- grd_chklist.colDisabled (4) = true;
- grd_chklist.fixedcellcheckbox(0,3) = true; // 컬럼에 체크박스
- chk_andr.select(0);
- chk_anstdryn.value = 'Y';
-
- lf_TimeoutEnable(true);
-
- } else if (sUserChkInfo == 'C') { // C - 수술참여의사
- chk_opnr.disabled = true;
- chk_andr.disabled = true;
- grd_chklist.colDisabled (3) = true;
- grd_chklist.colDisabled (4) = true;
- grd_chklist.fixedcellcheckbox(0,2) = true; // 컬럼에 체크박스
- chk_opdr.select(0);
- chk_opdryn.value = 'Y';
-
- lf_TimeoutEnable(true);
-
- }else{
-
- model.setValue("/root/main", "");
- messageBox("기록할 권한이 없습니다.", "C000");
- if (checkOpener()) {
- window.close();
- }
- return;
- }
-
- }
- function lf_TimeoutEnable(nFlag){
- ipt_timeoutdt.disabled = nFlag;
- ipt_timeouttm.disabled = nFlag;
- btn_timeout.disabled = nFlag;
-
- input7.disabled = nFlag;
- input8.disabled = nFlag;
- input9.disabled = nFlag;
- input10.disabled = nFlag;
- input11.disabled = nFlag;
- input12.disabled = nFlag;
-
- btn_search_opdr.disabled = nFlag;
- btn_search_andr.disabled = nFlag;
- btn_search_opnr.disabled = nFlag;
-
- //grd_timeoutlist.disabled = nFlag;
- grd_timeoutlist.colDisabled (2) = nFlag;
- grd_timeoutlist.colDisabled (3) = nFlag;
- grd_timeoutlist.colDisabled (4) = nFlag;
-
- grd_timeoutlist.fixedcellcheckbox(0,2) = !nFlag;
- grd_timeoutlist.fixedcellcheckbox(0,3) = !nFlag;
- grd_timeoutlist.fixedcellcheckbox(0,4) = !nFlag;
- }
- /* --------------------------------------------------------------------------- */
- /* -------------------------------------------------- */
- function lf_SPZSU10103(sFlag){
- var sUserid = "";
- var sUsernm = "";
- if( sFlag == "opdr"){
- sUserid = model.getValue("/root/init/oppartchkinfo/toopdocid");
- sUsernm = model.getValue("/root/init/oppartchkinfo/toopdocnm");
- }else if( sFlag == "andr" ){
- sUserid = model.getValue("/root/init/oppartchkinfo/toanstdocid");
- sUsernm = model.getValue("/root/init/oppartchkinfo/toanstdocnm");
- }else if( sFlag == "opnr" ){
- sUserid = model.getValue("/root/init/oppartchkinfo/toopnrid");
- sUsernm = model.getValue("/root/init/oppartchkinfo/toopnrnm");
- }
-
- model.resetInstanceNode("/root/hidden/userpopupinfo");
- model.removeNodeset("/root/hidden/tempuserinfo");
- model.makeNode("/root/hidden/tempuserinfo");
- model.setValue("/root/hidden/userpopupinfo/param", "_OneS_DD");
- if( sUserid != "" ){
- model.setValue("/root/hidden/userpopupinfo/flag","userid");
- model.setValue("/root/hidden/userpopupinfo/searchitem",sUserid);
- }else if( sUsernm != "" ){
- model.setValue("/root/hidden/userpopupinfo/flag","usernm");
- model.setValue("/root/hidden/userpopupinfo/searchitem",sUsernm);
- }
-
- modal("SPZSU10103_사용자부서선택조회", "", "200", "200", "SPZSU10103","/root/hidden/userpopupinfo","/root/main/temp");
- var iParam = getParameter("SPZSU10103_");
- setCSVToNode("/root/hidden/tempuserinfo", iParam);
- clearParameter("SPZSU10103_");
- var emplno = model.getValue("/root/hidden/tempuserinfo/list/userid");
- var emplnm = model.getValue("/root/hidden/tempuserinfo/list/usernm");
-
- if( sFlag == "opdr" ){
- model.setValue("/root/init/oppartchkinfo/toopdocid", emplno);
- model.setValue("/root/init/oppartchkinfo/toopdocnm", emplnm);
- }else if( sFlag == "andr" ){
- model.setValue("/root/init/oppartchkinfo/toanstdocid", emplno);
- model.setValue("/root/init/oppartchkinfo/toanstdocnm", emplnm);
- }else if( sFlag == "opnr" ){
- model.setValue("/root/init/oppartchkinfo/toopnrid", emplno);
- model.setValue("/root/init/oppartchkinfo/toopnrnm", emplnm);
- }
-
- model.refresh();
- }
-
|