1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
-
- 간호일지수정(SMMNR02800.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
- var xGrupInfoPath = "/root/main/srchtoolinfo/grupinfo/gruplist"; // SET 그룹 정보
- var xStmtSetListPath = "/root/main/srchtoolinfo/stmtsetinfo/stmtsetlist"; // SET 진술문 정보
- var xStmtInfoPath = "/root/main/srchtoolinfo/stmtinfo/stmtlist"; // 진술문 정보
- var xSrchToolCondPath = "/root/main/cond/srchtool"; // 검색도구 조건
- var xRecSaveCondPath = "/root/main/cond/recsave"; // 저장도구 조건
- var xRecSrchCondPath = "/root/main/cond/recsrch"; // 기록조회 조건
- var xNursingRecordInfoPath = "/root/main/recinfo/nursingrecordinfo"; // 간호일지 정보
- var xHiddenNStmtSetListPath = "/root/hidden/stmtsetinfo/nstmtsetlist"; // 20080621 김홍점 SET 진술문 정보
- var xHiddenDStmtSetListPath = "/root/hidden/stmtsetinfo/dstmtsetlist"; // 20080621 김홍점 SET 진술문 정보
- var xHiddenAStmtSetListPath = "/root/hidden/stmtsetinfo/astmtsetlist"; // 20080621 김홍점 SET 진술문 정보
- var xHiddenRStmtSetListPath = "/root/hidden/stmtsetinfo/rstmtsetlist"; // 20080621 김홍점 SET 진술문 정보
- var xSignPath = "/root/main/signSaveData/saveDataList";//인증저장관련노드
- var sSrchToolStatus = "";
- var xPamInfoPath = "/root/main/paminfo/pamlist"; // 환자정보
- var sRecOriginFlag ="";
- var sOriginCd ="";
- //dnarnm▦usernm▦deptflagnm▩
- var sDnarNm ="";
- var sUserNm ="";
- var sDeptFlagNm ="";
- var sRecDateFlag ="";
- var sPid = ""; // 환자번호
- var sIndd = ""; // 입원일자
- var sOutDD = ""; // 진료일자
- var sCretNo = ""; // 환자 일자별 일련번호
- var sInstcd = "";
- var sIOFlag = ""; // 입원/외래 구분
- var sOrdDeptCd = ""; // 진료과코드
- var sOrdDrId = ""; // 진료의사ID
- var sHngNm = "";
- var sHomeYn = "";//가정간호인지 아닌지의 여부를 판단하기 위해추가.. 20090401 가정간호가 상단정보를 올리면서 상단정보의 진료일정을 읽지 못하도록 막아야함.20090403 김홍점
- var aCptuniqno = "";
- var sParamMsg = "";
- var cbk_TRMNR02801_flag = 0; //콜백flag
- var cbk_TRMNR00701_flag = 0;
- var cbk_TRMNR00702_flag = 0;
- var cbk_TRMNR00703_flag = 0;
- var cbk_TXMNR02801_flag = 0;
- /**
- * @group :
- * @ver : 2007.04.23
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면 초기화
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInit(){
-
-
- //그리드 색상변환
- grp_biz.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body",2,"color", "expr:attrcnt>0?'#6600ff':''");
- grp_biz.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body",2,"color2","expr:attrcnt>0?'#6600ff':''");
- grp_biz.swt_srchtool.case_stmtinfo.grd_srchstmtinfo.setCellProperty("body",3,"color", "expr:attrcnt>0?'#6600ff':''");
- grp_biz.swt_srchtool.case_stmtinfo.grd_srchstmtinfo.setCellProperty("body",3,"color2","expr:attrcnt>0?'#6600ff':''");
-
-
-
- var arrParam = [{dsNm: "ds_initZ_M0002", cdGrpId: "M0002"}
- ]
- appf_getCodeList(arrParam);
-
- opener.frmf_setParameter("SMMNR02800_ReturnFlag","");
- opener.frmf_setParameter("SMMNR02800_SignRecYN","");
- opener.frmf_setParameter("SMMNR02800_vsettime","");
- // 검색 조건
- ds_cond.setColumn(0,"grupflag","1");
-
- // 저장조건
- //"recdd▦rectm▦dnarflag▦stmtspec▦fstrgstrnm▦certkey▦recverno▦stmtcd▦origincd▦recoriginflag▦carerecno▦dnarnm▦deptflagnm▦pid▦indd▦orddd▦cretno▦instcd▦ioflag▦orddeptcd▦orddrid▦hngnm▦homeyn▩"
- sParamMsg = opener.frmf_getParameter("SMMNR02800_Param");
- opener.frmf_setParameter("SMMNR02800_Param","");
-
- sRecOriginFlag = getArrayData(sParamMsg,1,9);
- sOriginCd = getArrayData(sParamMsg,1,8);
- var sStmtCD = getArrayData(sParamMsg,1,7);
- var sRecDD = getArrayData(sParamMsg,1,0);
- var sRecTM = getArrayData(sParamMsg,1,1);
- var sDnarFlag = getArrayData(sParamMsg,1,2);
- ds_cond.setColumn(0,"recdateflag","U");// 자동
- ds_cond.setColumn(0,"recdd",sRecDD);// 기록일자
- ds_cond.setColumn(0,"rectm",sRecTM);// 기록시간
-
-
- ds_data_nursingrecordinfo.setColumn(0,"recdd",sRecDD); // 기록일자
- ds_data_nursingrecordinfo.setColumn(0,"rectm",sRecTM);// 기록시간
- ds_data_nursingrecordinfo.setColumn(0,"dnarflag",sDnarFlag);// dnar구분
-
- ds_cond.setColumn(0,"recdnarflag",sDnarFlag);// dnar 구분
- //조회할 DNAR구분 을 param에 따라 선택해서 disable시킴.
- ds_cond.setColumn(0,"dnarflag",sDnarFlag);
- ds_cond.setColumn(0,"freetextdnarflag",sDnarFlag);
-
- grp_biz.swt_srchtool.case_stmtinfo.group7.rdo_dnarflag.enable = false;
- grp_biz.swt_srchtool.case_grup.group6.rdo_setdnarflag.enable = false;
- grp_biz.rdo_freednarflag.enable = false;
- ds_data_nursingrecordinfo.setColumn(0,"stmtspec",getArrayData(sParamMsg,1,3)); // 진술문내역
- // if(!utlf_isNull(ds_data_nursingrecordinfo.getColumn(0,"stmtspec"))){
- // ds_cond.setColumn(0,"freetextsrchcnts",ds_data_nursingrecordinfo.getColumn(0,"stmtspec"));
- // }
-
- ds_data_nursingrecordinfo.setColumn(0,"fstrgstrnm",getArrayData(sParamMsg,1,4));// 최초등록자명
- ds_data_nursingrecordinfo.setColumn(0,"certkey",getArrayData(sParamMsg,1,5));// 인증키
- ds_data_nursingrecordinfo.setColumn(0,"recverno",getArrayData(sParamMsg,1,6));// 기록버전번호
- ds_data_nursingrecordinfo.setColumn(0,"stmtcd",sStmtCD);// 진술문코드
- ds_data_nursingrecordinfo.setColumn(0,"origincd",sOriginCd);// 출처코드
- ds_data_nursingrecordinfo.setColumn(0,"recoriginflag",sRecOriginFlag);// 기록출처구분
- ds_data_nursingrecordinfo.setColumn(0,"carerecno",getArrayData(sParamMsg,1,10));// 간호기록번호
-
-
- sDnarNm = getArrayData(sParamMsg,1,11);
- sUserNm = getArrayData(sParamMsg,1,4);
- sDeptFlagNm = getArrayData(sParamMsg,1,12); //타입2에서 넘어온건 용도부서 선택, 간호일지에서 넘어온건 간호진단명.
- sHomeYn = getArrayData(sParamMsg,1,23); // 가정간호여부("Y" 또는 "")
- aCptuniqno = getArrayData(sParamMsg,1,22);
-
-
- if(!utlf_isNull(getArrayData(sParamMsg,1,5))){
- ds_data_nursingrecordinfo.setColumn(0,"cretyn","인증");
- }
- if( sRecOriginFlag != "T" && sDnarFlag !="S" &&(utlf_isNull(ds_data_nursingrecordinfo.getColumn(0,"recverno"))
- ||ds_data_nursingrecordinfo.getColumn(0,"recverno") == "0" ||ds_data_nursingrecordinfo.getColumn(0,"recverno") == "undefined") ){
- //btn_freesave.disabled = "true";//간호일지일 경우 진단 미존재시 freetext는 수정금지
- grp_biz.btn_freesave.enable = false;
- grp_biz.textarea3.enable = false;
- }
-
-
- // 환자정보 조회
- var sPamInfo = sysf_getGlobalVariable("paminfo");
- sysf_trace("sPamInfo ==" + sPamInfo);
- dsf_setCSVToDs("ds_data_pamlist",sPamInfo);
-
- if( utlf_isNull(ds_data_pamlist.getColumnInfo("orddd")) ){
- ds_data_pamlist.addColumn("orddd", "string");
- }
-
- if( sHomeYn == "Y" ||
- ( sHomeYn != "Y" && !utlf_isNull(getArrayData(sParamMsg,1,14)) ) ){
- sPid = getArrayData(sParamMsg,1,13); // 환자번호
- sIndd = getArrayData(sParamMsg,1,14); // 입원일자
- sOutDD = getArrayData(sParamMsg,1,15); // 진료일자
- sCretNo = getArrayData(sParamMsg,1,16); // 환자 일자별 일련번호
- sInstcd = getArrayData(sParamMsg,1,17);
- sIOFlag = getArrayData(sParamMsg,1,18); // 입원/외래 구분
- sOrdDeptCd = getArrayData(sParamMsg,1,19); // 진료과코드
- sOrdDrId = getArrayData(sParamMsg,1,20); // 진료과코드
- sHngNm = getArrayData(sParamMsg,1,21); // 환자명
- if(sIOFlag == "I" || sIOFlag == "E" || sIOFlag == "D"){
- sIndd = getArrayData(sParamMsg,1,14); // 입원일자
- sOutDD = "-"; // 진료일자
- }else{
- sIndd = "-"; // 입원일자
- sOutDD = getArrayData(sParamMsg,1,15); // 진료일자
- }
-
- } else {
-
- sPid = ds_data_pamlist.getColumn(0,"pid");// 환자번호
- sIndd = ds_data_pamlist.getColumn(0,"indd");// 입원일자
- sCretNo = ds_data_pamlist.getColumn(0,"cretno");// 환자 일자별 일련번호
- sInstcd = ds_data_pamlist.getColumn(0,"instcd");// 기관코드
- sIOFlag = ds_data_pamlist.getColumn(0,"ioflag");// 입원/외래 구분
- sOrdDeptCd = ds_data_pamlist.getColumn(0,"orddeptcd");// 진료과코드
- sOrdDrId = ds_data_pamlist.getColumn(0,"medispclid");// 진료과코드
- sOutDD = ds_data_pamlist.getColumn(0,"orddd");// 진료일자
- sHngNm = ds_data_pamlist.getColumn(0,"hngnm");
-
- if(sIOFlag == "I" || sIOFlag == "E" || sIOFlag == "D"){
- sIndd = ds_data_pamlist.getColumn(0,"indd");// 입원일자
- sOutDD = "-"; // 진료일자
- }else{
- sIndd = "-"; // 입원일자
- sOutDD = ds_data_pamlist.getColumn(0,"orddd"); // 진료일자
- }
- }
- // 기록 조회 조건
- sSrchToolStatus = (sRecOriginFlag == "T" ? "S" : sRecOriginFlag);
-
- if(sSrchToolStatus == "S" ){
- grp_biz.swt_srchtool.tabindex = 1;
- grp_biz.swt_srchtool2.tabindex = 0;
- var ds_temp = dsf_createDsRow("ds_temp", [{col: "grupcd", val:sOriginCd }]);
-
- tranf_submit({
- id: "TRMNR02801"
- , service: "carerecapp.NursingRecord"
- , method: "reqGetSelectedSetGrupList"
- , inds: "refCond="+ds_temp
- , outds: "ds_grid_grd_grupinfo=gruplist"
- , async: false
- , callback: "cbk_TRMNR02801"
- });
-
- if(cbk_TRMNR02801_flag == 1){
- // grd_grupinfo.OutlineCol=1; //연결선이 표현되는 컬럼
- // grd_grupinfo.OutlineBar=4; //연결선 형태 설정 (+ , - , 사각형 안보이게 하려면 0 으로 세팅)
- // grd_grupinfo.TreeColor="gray";
-
- }
- cbk_TRMNR02801_flag = 0;
- var iRow = ds_grid_grd_grupinfo.findRow("grupcd",sOriginCd);
- ds_grid_grd_grupinfo.rowposition = iRow;
-
- if ( sRecOriginFlag == "T" ){//타입2이면 용도( 부서)
- ds_cond.setColumn(0,"grupflag","5");
- } else {
- ds_cond.setColumn(0,"grupflag",ds_grid_grd_grupinfo.getColumn(iRow,"grupflag"));
- fSearchSrchTool("StmtSet");
- iRow = ds_grid_grd_grupstmtinfo.findRow("stmtcd",sStmtCD);
- ds_grid_grd_grupstmtinfo.rowposition = iRow;
- }
-
- }else if(sSrchToolStatus == "J"){ // 진술문 검색
- grp_biz.swt_srchtool.tabindex = 2;
- grp_biz.swt_srchtool2.tabindex = 1;
- }else if(sSrchToolStatus == "N"){
- grp_biz.swt_srchtool.tabindex = 0;
- grp_biz.swt_srchtool2.tabindex = 0;
-
- var ds_temp = dsf_createDsRow("ds_temp", [{col: "nursdiagstmtcd", val:sOriginCd }
- ,{col: "dnarflag", val:ds_data_nursingrecordinfo.getColumn(0,"dnarflag") }]);
-
-
- tranf_submit({
- id: "TRMNR00706"
- , service: "carerecapp.NursingRecord"
- , method: "reqGetStmtClsList"
- , inds: "refCond="+ds_temp
- , outds: "ds_grid_grd_grupstmtinfo=stmtsetlist"
- , async: false
- , callback: "cbk_TRMNR00706"
- });
-
- fSettingStmtStyle("setinfo");
-
- iRow = ds_grid_grd_grupstmtinfo.findRow("stmtcd",sStmtCD);
- ds_grid_grd_grupstmtinfo.rowposition = iRow;
- }
-
- }
- function cbk_TRMNR02801(sScvId, nErrorCode, sErrorMsg){
- if(nErrorCode == 0){//성공하였을때
- cbk_TRMNR02801_flag = 1;
- // }else{
- // sysf_messageBox(sErrorMsg, "E");
- }
- }
- /**
- * @group :
- * @ver : 2007.04.24
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 기록 저장 시간 변경
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fChangedRecTime(){
- //sRecDateFlag = model.getValue(xRecSaveCondPath+"/recdateflag");
- sRecDateFlag = ds_cond.getColumn(0,"recdateflag");
- if(sRecDateFlag == "A"){ // 자동
- //model.setValue(xRecSaveCondPath+"/recdd","");
- //model.setValue(xRecSaveCondPath+"/rectm","");
- ds_cond.setColumn(0,"recdd","");
- ds_cond.setColumn(0,"rectm","");
- //ipt_recdd.disabled = true;
- //ipt_rectm.disabled = true;
- // grp_biz.ipt_recdd.enable = false;
- // grp_biz.ipt_rectm.enable = false;
- grp_biz.swt_srchtool.case_grupstmt.ipt_recdd.enable = false;
- grp_biz.swt_srchtool.case_grupstmt.ipt_rectm.enable = false;
- grp_biz.swt_srchtool.case_grup.ipt_recdd.enable = false;
- grp_biz.swt_srchtool.case_grup.ipt_rectm.enable = false;
- grp_biz.swt_srchtool.case_stmtinfo.ipt_recdd.enable = false;
- grp_biz.swt_srchtool.case_stmtinfo.ipt_rectm.enable = false;
- }else{ // 사용자 지정
- //model.setValue(xRecSaveCondPath+"/recdd",getCurrentDate());
- //model.setValue(xRecSaveCondPath+"/rectm",getCurrentTime().substr(0,4));
- ds_cond.setColumn(0,"recdd",utlf_getCurrentDate());
- ds_cond.setColumn(0,"rectm",utlf_getCurrentTime().substr(0,4));
- //ipt_recdd.disabled = false;
- //ipt_rectm.disabled = false;
- // grp_biz.ipt_recdd.enable = true;
- // grp_biz.ipt_rectm.enable = true;
- grp_biz.swt_srchtool.case_grupstmt.ipt_recdd.enable = true;
- grp_biz.swt_srchtool.case_grupstmt.ipt_rectm.enable = true;
- grp_biz.swt_srchtool.case_grup.ipt_recdd.enable = true;
- grp_biz.swt_srchtool.case_grup.ipt_rectm.enable = true;
- grp_biz.swt_srchtool.case_stmtinfo.ipt_recdd.enable = true;
- grp_biz.swt_srchtool.case_stmtinfo.ipt_rectm.enable = true;
- }
- }
- /**
- * @group :
- * @ver : 2007.04.23
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 검색 도구 선택
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSelectedSrchTool(pFlag){
- // var selIndx = swt_srchtool.selectedIndex; // (20140206) 사용하지 않는 변수 주석처리함
-
- switch(pFlag){
- case "SET": // SET
- grp_biz.swt_srchtool.tabindex = 1;
-
- // 전체 바탕색을 흰색으로 설정.
- for( var i=1 ; i<grp_biz.swt_srchtool.case_grupstmt.grd_grupstmtinfo.getCellCount("Body") ; i++ ){
- grp_biz.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body", i, "color", "");
- grp_biz.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body", i, "color2", "");
- grp_biz.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body", i, "selectcolor", "");
- }
-
- sSrchToolStatus = "S"; //SET
- if(grp_biz.swt_srchtool.case_grup.grd_grupinfo.rowcount < 1){
- fSearchSrchTool("SetGrup"); // SET 그룹 정보 조회
- }
- break;
- case "SRCH": // 진술문 검색 SRCH
- grp_biz.swt_srchtool.tabindex = 2;
-
- //model.setValue(xSrchToolCondPath+"/originflag","1");
- //model.setValue(xSrchToolCondPath+"/dnarflag","%");
- //model.setValue(xSrchToolCondPath+"/freetextdnarflag","1D");
- sSrchToolStatus = "J"; // 진술문 검색
- ds_grid_grd_grupstmtinfo.clearData();
-
- break;
- }
- }
- /**
- * @group :
- * @ver : 2007.04.23
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 입력 형태별 진술문장 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSearchSrchTool(pFlag){
- var sGrupFlag = "";
- var sDepth = 0;
- var sRowCnt; // 2014-02-10 중복된 선언으로 인한 재선언
- switch(pFlag){
- case "SetGrup" : // SET 그룹 정보 조회
- sSrchToolStatus = "S"; //SET
-
- //grd_grupinfo.Rebuild();
- //sGrupFlag = model.getValue(xSrchToolCondPath+"/grupflag");
- sGrupFlag = ds_cond.getColumn(0,"grupflag");
- // model.removenode("/root/send");
- // model.makeValue("/root/send/grupflag",sGrupFlag);
- var ds_temp = dsf_createDsRow("ds_temp", [{col: "grupflag", val:sGrupFlag }]);
-
- if(sGrupFlag == 3){ // 부서별은 자기의 부서만 조회
- //model.makeValue("/root/send/deptcd", getUserInfo("dutplcecd") );
- var ds_temp = dsf_createDsRow("ds_temp", [{col: "grupflag", val:sGrupFlag }
- ,{col: "deptcd", val:sysf_getUserInfo("dutplcecd")}]);
- }
- tranf_submit({
- id: "TRMNR00701"
- , service: "carerecapp.NursingRecord"
- , method: "reqGetSetGrupList"
- , inds: "refCond="+ds_temp
- , outds: "ds_grid_grd_grupinfo=gruplist"
- , async: false
- , callback: "cbk_TRMNR00701"
- });
-
- if(cbk_TRMNR00701_flag == 1){
- // sRowCnt = grd_grupinfo.rows-grd_grupinfo.fixedRows; // 2014-02-10 중복된 선언으로 인한 재선언
- //
- // for(var i=1; i<=sRowCnt; i++){
- // sDepth = eval(model.getValue(xGrupInfoPath+"["+i+"]/depth"));
- // grd_grupinfo.outlinelevel(i)=sDepth;
- // }
- // grd_grupinfo.OutlineCol=1; //연결선이 표현되는 컬럼
- // grd_grupinfo.OutlineBar=4; //연결선 형태 설정 (+ , - , 사각형 안보이게 하려면 0 으로 세팅)
- // grd_grupinfo.TreeColor="gray";
- // // 자식 접기
- // for(var i=1; i<=sRowCnt; i++){
- // sDepth = eval(model.getValue(xGrupInfoPath+"["+i+"]/depth"));
- // if((eval(sGrupFlag)==3 && sDepth>2) || (eval(sGrupFlag) != 3 && sDepth>1)){
- // grd_grupinfo.iscollapsed(i)=true; //자식 트리 접기
- // }
- // }
- grp_biz.swt_srchtool.case_grup.grd_grupinfo.treeinitstatus = "collapse,all";
- grp_biz.swt_srchtool.case_grup.grd_grupinfo.setTreeStatus(0,true);
- }
-
- grp_biz.swt_srchtool.case_grup.grd_grupinfo.vscrollbar.pos = grp_biz.swt_srchtool.case_grup.grd_grupinfo.vscrollbar.max;
- ds_grid_grd_grupinfo.rowposition = -1;
-
- cbk_TRMNR00701_flag = 0;
- break;
- case "StmtSet": // SET 진술문 정보 조회
- /*
- var sGrupRow = grd_grupinfo.row;
- if(sGrupRow < 1) return;
- sGrupFlag = eval(model.getValue(xSrchToolCondPath+"/grupflag"));
- sDepth = eval(model.getValue(xGrupInfoPath+"["+sGrupRow+"]/depth"));
-
- if((sGrupFlag==3 && sDepth < 4) || (sGrupFlag != 3 && sDepth < 3)){
- return;
- }
- model.removenodeset(xStmtSetListPath);
- grd_grupstmtinfo.rebuild();
- model.toggle("case_grupstmt");
- model.removenode("/root/send");
- model.makeValue("/root/send/grupcd", model.getValue(xGrupInfoPath+"["+sGrupRow+"]/grupcd"));
- model.makeValue("/root/send/dnarflag",model.getValue(xSrchToolCondPath+"/dnarflag"));
- if(submit("TRMNR00702")){
- fSettingStmtStyle("setinfo");
- grd_grupstmtinfo.resizeCells();
-
- }
- */
- var sGrupRow = ds_grid_grd_grupinfo.rowposition;
- var sGrupRow2 = grp_biz.swt_srchtool.case_grup.grd_grupinfo.getTreeRow(sGrupRow);
- var sDepth = 0; // 기준 레벨
- var iDepth = 0; // 각 row 별 레벨
- var sBoolStatus = "";
- var sRowCnt = 0; // 전체 row 개수
- sGrupFlag = eval(ds_grid_grd_grupinfo.getColumn(sGrupRow, "grupflag"));
- sDepth = eval(ds_grid_grd_grupinfo.getColumn(sGrupRow, "depth"));
- // if((sGrupFlag==3 && sDepth < 4)||(sGrupFlag==5 && sDepth < 2) || (sGrupFlag != 3 && sGrupFlag != 5 && sDepth < 3)){
- if((sGrupFlag==3 && sDepth < 4)||(sGrupFlag != 3 && sDepth < 3) ){
- // 자식 접기
- sDepth = eval(ds_grid_grd_grupinfo.getColumn(sGrupRow, "depth"));
- sRowCnt = ds_grid_grd_grupinfo.rowcount;
- if(grp_biz.swt_srchtool.case_grup.grd_grupinfo.getTreeStatus(sGrupRow2) != 1){
- sBoolStatus = true;
- }else{
- sBoolStatus = false;
- }
- for(var i=sGrupRow; i<sRowCnt; i++){
- iDepth = eval(ds_grid_grd_grupinfo.getColumn(i, "depth"));
- if(i==sGrupRow){
- grp_biz.swt_srchtool.case_grup.grd_grupinfo.setTreeStatus(grp_biz.swt_srchtool.case_grup.grd_grupinfo.getTreeRow(i), sBoolStatus);
- }else if(i != sGrupRow && sDepth < iDepth){
- grp_biz.swt_srchtool.case_grup.grd_grupinfo.setTreeStatus(grp_biz.swt_srchtool.case_grup.grd_grupinfo.getTreeRow(i), sBoolStatus);
- }else{
- break;
- }
- }
-
- return;
- }
- //model.removenodeset(xStmtSetListPath);
- ds_grid_grd_srchstmtinfo.clearData();
- //grd_grupstmtinfo.rebuild();
- //model.toggle("case_grupstmt");
- grp_biz.swt_srchtool.tabindex = 0;
- grp_biz.swt_srchtool2.tabindex = 0;
- //model.removenode("/root/send");
- // model.makeValue("/root/send/grupcd", model.getValue(xGrupInfoPath+"["+sGrupRow+"]/grupcd"));
- // model.makeValue("/root/send/dnarflag",model.getValue(xSrchToolCondPath+"/dnarflag"));
- var ds_temp = dsf_createDsRow("ds_temp", [{col: "grupcd", val:ds_grid_grd_grupinfo.getColumn(sGrupRow,"grupcd") }
- ,{col: "dnarflag", val:ds_cond.getColumn(0,"dnarflag") }]);
- tranf_submit({
- id: "TRMNR00702"
- , service: "carerecapp.NursingRecord"
- , method: "reqGetStmtSetList"
- , inds: "refCond="+ds_temp
- , outds: "ds_data_nstmtsetlist=nstmtsetlist ds_data_dstmtsetlist=dstmtsetlist ds_data_astmtsetlist=astmtsetlist ds_data_rstmtsetlist=rstmtsetlist"
- , async: false
- , callback: "cbk_TRMNR00702"
- });
-
- if(cbk_TRMNR00702_flag == 1){
- if(ds_cond.getColumn(0,"dnarflag") == "1D"){
- // model.makeNode(xStmtSetListPath);
- // copyNodesetType(xStmtSetListPath, xHiddenDStmtSetListPath, "replace", model, model);
- ds_grid_grd_grupstmtinfo.copyData(ds_data_dstmtsetlist);
- } else if(ds_cond.getColumn(0,"dnarflag") == "2N"){
- // model.makeNode(xStmtSetListPath);
- // copyNodesetType(xStmtSetListPath, xHiddenNStmtSetListPath, "replace", model, model);
- ds_grid_grd_grupstmtinfo.copyData(ds_data_nstmtsetlist);
- } else if(ds_cond.getColumn(0,"dnarflag") == "3A"){
- // model.makeNode(xStmtSetListPath);
- // copyNodesetType(xStmtSetListPath, xHiddenAStmtSetListPath, "replace", model, model);
- ds_grid_grd_grupstmtinfo.copyData(ds_data_astmtsetlist);
- } else if(ds_cond.getColumn(0,"dnarflag") == "4R"){
- // model.makeNode(xStmtSetListPath);
- // copyNodesetType(xStmtSetListPath, xHiddenRStmtSetListPath, "replace", model, model);
- ds_grid_grd_grupstmtinfo.copyData(ds_data_rstmtsetlist);
- }
- fSettingStmtStyle("setinfo"); //
-
- }
- cbk_TRMNR00702_flag = 0;
-
- break;
- case "Stmt": // 진술문 검색 조회
- sSrchToolStatus = "J"; //SET
-
- if(utlf_isNull(ds_cond.getColumn(0,"srchnm")) || ds_cond.getColumn(0,"srchnm").length<2){
- sysf_messageBox("검색어를 두단어 이상","C001");
- //model.setFocus("ipt_srchnm");
- return;
- }
- // model.removenode("/root/send");
- // model.makeValue("/root/send/originflag", model.getValue(xSrchToolCondPath+"/originflag"));
- // model.makeValue("/root/send/updateflag", "Y");//간호기록 수정시 진술문 검색에는 진단도 포함되어 조회되어야한다.
- // model.makeValue("/root/send/dnarflag", model.getValue(xSrchToolCondPath+"/dnarflag"));
- // model.makeValue("/root/send/srchnm", model.getValue(xSrchToolCondPath+"/srchnm"));
- var ds_temp = dsf_createDsRow("ds_temp", [{col: "updateflag", val:"Y" }
- ,{col: "dnarflag", val:ds_cond.getColumn(0,"dnarflag") }
- ,{col: "srchnm", val:ds_cond.getColumn(0,"srchnm") }]);
-
- tranf_submit({
- id: "TRMNR00703"
- , service: "carerecapp.NursingRecord"
- , method: "reqGetStmtList"
- , inds: "refCond="+ds_temp
- , outds: "ds_grid_grd_srchstmtinfo=stmtlist ds_data_nstmtlist=nstmtlist"
- , async: false
- , callback: "cbk_TRMNR00703"
- });
-
- ds_grid_grd_srchstmtinfo.rowposition = -1;
-
- if(cbk_TRMNR00703_flag == 1){
- fSettingStmtStyle("stmtinfo"); // 속성이 있는 경우 진술문 폰트 색상을 변경한다.
- }
- cbk_TRMNR00703_flag = 0;
- break;
- }
- }
- function cbk_TRMNR00701(sScvId, nErrorCode, sErrorMsg){
- if(nErrorCode == 0){//성공하였을때
- cbk_TRMNR00701_flag = 1;
- }else{
- sysf_messageBox(sErrorMsg, "E");
- }
- }
- function cbk_TRMNR00702(sScvId, nErrorCode, sErrorMsg){
- if(nErrorCode == 0){//성공하였을때
- cbk_TRMNR00702_flag = 1;
- }else{
- sysf_messageBox(sErrorMsg, "E");
- }
- }
- function cbk_TRMNR00703(sScvId, nErrorCode, sErrorMsg){
- if(nErrorCode == 0){//성공하였을때
- cbk_TRMNR00703_flag = 1;
- }else{
- sysf_messageBox(sErrorMsg, "E");
- }
- }
- /**
- * @group :
- * @ver : 2007.04.19
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 진술문 폰트 color 설정 - 속성이 있는 경우 진술문 폰트 색상을 변경한다.
- * @param : pFlag ( setinfo : set, stmtinfo : 진술문 검색)
- * @return :
- * @---------------------------------------------------
- */
- function fSettingStmtStyle(pFlag){
- switch(pFlag){
- case "setinfo" : // set
- // grd_grupstmtinfo.mergecells = "bycol";
- // grd_grupstmtinfo.mergecol(2) = false;
- // grd_grupstmtinfo.mergecol(3) = false;
-
- grp_biz.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body", 3, "color", "EXPR(!utlf_isNull(attrcnt) && attrcnt > 0 ? '#6600ff' : '#000000')");
- grp_biz.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body", 3, "color2", "EXPR(!utlf_isNull(attrcnt) && attrcnt > 0 ? '#6600ff' : '#000000')");
- grp_biz.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body", 3, "selectcolor", "EXPR(!utlf_isNull(attrcnt) && attrcnt > 0 ? '#6600ff' : '#000000')");
-
- break;
- case "stmtinfo": // 진술문 검색
- // grd_srchstmtinfo.mergecells = "bycol";
- // grd_srchstmtinfo.mergecol(1) = false;
- // grd_srchstmtinfo.mergecol(3) = false;
-
- grp_biz.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body", 3, "color", "EXPR(!utlf_isNull(attrcnt) && attrcnt > 0 ? '#6600ff' : '#000000')");
- grp_biz.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body", 3, "color2", "EXPR(!utlf_isNull(attrcnt) && attrcnt > 0 ? '#6600ff' : '#000000')");
- grp_biz.swt_srchtool.case_grupstmt.grd_grupstmtinfo.setCellProperty("body", 3, "selectcolor", "EXPR(!utlf_isNull(attrcnt) && attrcnt > 0 ? '#6600ff' : '#000000')");
-
- break;
- }
- }
- /**
- * @group :
- * @ver : 2007.05.17
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 기록 저장
- * @param : sFreeFlag Freetext 저장여부(F)
- * @return :
- * @---------------------------------------------------
- */
- function fSaveStmtInfo(sFreeFlag){
- var sCertKey = ds_data_nursingrecordinfo.getColumn(0,"certkey");
-
- var iRow; // 2014-02-10 중복된 선언으로 인한 재선언
- // if(sCertKey != ""){ // 인증저장시
-
- // var sAttrinfo1 = ""; // (20140206) 사용하지 않는 변수 주석처리함
- var sArrtCnt = 0;
- var sStmtCd = ""; // 진술문장 코드
- var sStmtCnts = ""; // 진술문장 내역
- var sDNARFlag = ""; //DNAR 구분
- var sGrupCD = ""; // 그룹코드
- // var sStmtInfoHeader = "stmtspec▦attrinfo▦status▦origincd▦stmtcd▦dnarflag▦recoriginflag▦recdtflag▦recdt▦prerecdd▦"
- // +"pid▦indd▦orddd▦cretno▦instcd▦carerecno▦certkey▦dnarnm▦usernm▦deptflagnm▩"; // 저장 정보
-
- dsf_createDs("ds_temp_save", [{col: "stmtspec", type:"string" }
- ,{col: "attrinfo", type:"string"}
- ,{col: "status", type:"string"}
- ,{col: "origincd", type:"string"}
- ,{col: "stmtcd", type:"string"}
- ,{col: "dnarflag", type:"string"}
- ,{col: "recoriginflag", type:"string"}
- ,{col: "recdtflag", type:"string"}
- ,{col: "recdt", type:"string"}
- ,{col: "prerecdd", type:"string"}
- ,{col: "pid", type:"string"}
- ,{col: "indd", type:"string"}
- ,{col: "orddd", type:"string"}
- ,{col: "cretno", type:"string"}
- ,{col: "instcd", type:"string"}
- ,{col: "carerecno", type:"string"}
- ,{col: "certkey", type:"string"}
- ,{col: "dnarnm", type:"string"}
- ,{col: "usernm", type:"string"}
- ,{col: "deptflagnm", type:"string"}
- ,{col: "diagstmtnm", type:"string"}]);
-
- // var sStmtInfo = ""; // 저장 정보 // (20140206) 사용하지 않는 변수 주석처리함
- var sAttrInptParamInfo = ""; // 속성창 입력 정보
- var sSaveData = "";
- sRecDateFlag = ds_cond.getColumn(0,"recdateflag");// (A : 자동, U : 지정)
- var sRecDate = "";
- var sPreRecDate = ds_data_nursingrecordinfo.getColumn(0,"recdd");//수정전 원기록일시
-
- if(sRecDateFlag == "U"){
- sRecDate = ds_cond.getColumn(0,"recdd")+ds_cond.getColumn(0,"rectm")+"00";
- if(utlf_isValidDateTime(sRecDate,"YYYYMMDDhhmmss")== false){
- sysf_messageBox("기록 시간이 유효하지","E007");
- return;
- }
-
- var sRecverno = "";
- var sRow = "";
- if(!utlf_isNull(ds_data_nursingrecordinfo.getColumn(0,"recverno")) && ds_data_nursingrecordinfo.getColumn(0,"recverno") != 'undefined'){
- sRecverno = ds_data_nursingrecordinfo.getColumn(0,"recverno");
-
- if(opener.ds_grid_grd_carediagspec.findRow("recverno",sRecverno) > -1)
- sRow = opener.ds_grid_grd_carediagspec.findRow("recverno",sRecverno);
- sFromdt = opener.ds_grid_grd_carediagspec.getColumn(sRow,"fromdt");
-
- if(!utlf_isNull(sFromdt) && !utlf_isNull(sRecDate)){
- if(sFromdt > sRecDate){
- sysf_messageBox("진단시간 이후로 기록일자를 설정해주세요.","I");
- return;
- }
- }
- }
-
- } else {
- sRecDate = utlf_getCurrentDate() + utlf_getCurrentTime();
- }
- if( sFreeFlag =="F"){//free text로 수정시
- sSaveData = "";
- sDNARFlag = ds_cond.getColumn(0,"freetextdnarflag");
- if (sFreeFlag =="F" && utlf_isNull(ds_cond.getColumn(0,"freetextsrchcnts")) ){
- sysf_messageBox("입력된 진술문이","I004");
- return;
- }
-
- ds_temp_save.clearData();
- ds_temp_save.addRow();
- ds_temp_save.setColumn(0,"stmtspec",ds_cond.getColumn(0,"freetextsrchcnts"));
- ds_temp_save.setColumn(0,"attrinfo","");
- ds_temp_save.setColumn(0,"status","U");
- ds_temp_save.setColumn(0,"origincd",sRecOriginFlag == "T" ? sOriginCd :ds_data_nursingrecordinfo.getColumn(0,"carerecno"));
- ds_temp_save.setColumn(0,"stmtcd","--------");
- ds_temp_save.setColumn(0,"dnarflag",sDNARFlag);
- ds_temp_save.setColumn(0,"recoriginflag",sRecOriginFlag == "T" ? sRecOriginFlag :"F");
- ds_temp_save.setColumn(0,"recdtflag",sRecDateFlag);
- ds_temp_save.setColumn(0,"recdt",sRecDate);
- ds_temp_save.setColumn(0,"prerecdd",sPreRecDate);
- ds_temp_save.setColumn(0,"pid",sPid);
- ds_temp_save.setColumn(0,"indd",sIndd);
- ds_temp_save.setColumn(0,"orddd",sOutDD);
- ds_temp_save.setColumn(0,"cretno",sCretNo);
- ds_temp_save.setColumn(0,"instcd",sInstcd);
- ds_temp_save.setColumn(0,"carerecno",ds_data_nursingrecordinfo.getColumn(0,"carerecno"));
- ds_temp_save.setColumn(0,"certkey",sCertKey);
- ds_temp_save.setColumn(0,"dnarnm",sDnarNm);
- ds_temp_save.setColumn(0,"usernm",sUserNm);
- ds_temp_save.setColumn(0,"deptflagnm",sDeptFlagNm);
-
- if(ds_temp_save.rowcount <= 0){
- sysf_messageBox("저장할 데이터가","I004");
- return;
- }
-
- } else {
- // 속성 입력 진술문 뽑아내기..
- switch(sSrchToolStatus){
- //case "N": //표준 진술문 set 20080710 N은 없음. SET에서 저장된것은 모두 S: 로 저장됨.
- case "S": // SET
- var iGrupRow = ds_grid_grd_grupinfo.rowposition;
- iRow = ds_grid_grd_grupstmtinfo.rowposition; // 2014-02-10 중복된 선언으로 인한 재선언
-
- sGrupCD = ds_grid_grd_grupinfo.getColumn(iGrupRow,"grupcd");
- sStmtCd = ds_grid_grd_grupstmtinfo.getColumn(iRow,"stmtcd");
- sArrtCnt = ds_grid_grd_grupstmtinfo.getColumn(iRow,"attrcnt");
- sDNARFlag = ds_grid_grd_grupstmtinfo.getColumn(iRow,"dnarflag");
- sStmtCnts = ds_grid_grd_grupstmtinfo.getColumn(iRow,"stmtcnts");
- if(sArrtCnt > 0){
- sAttrInptParamInfo += ds_grid_grd_grupstmtinfo.getColumn(iRow,"stmtcd")+"▦"
- +ds_grid_grd_grupstmtinfo.getColumn(iRow,"stmtcnts")+"▦"
- +ds_grid_grd_grupstmtinfo.getColumn(iRow,"attrinfo1")+"▦"
- +ds_grid_grd_grupstmtinfo.getColumn(iRow,"attrinfo2")+"▦"
- +ds_grid_grd_grupstmtinfo.getColumn(iRow,"attressnyn")+"▩";
- }
- break;
- case "J": // 진술문 검색
- iRow = ds_grid_grd_srchstmtinfo.rowposition; // 2014-02-10 중복된 선언으로 인한 재선언
- sArrtCnt = ds_grid_grd_srchstmtinfo.getColumn(iRow,"attrcnt");
- sStmtCd = ds_grid_grd_srchstmtinfo.getColumn(iRow,"stmtcd");
- sDNARFlag = ds_grid_grd_srchstmtinfo.getColumn(iRow,"dnarflag");
- sStmtCnts = ds_grid_grd_srchstmtinfo.getColumn(iRow,"stmtcnts");
- if(sArrtCnt > 0){
- sAttrInptParamInfo += ds_grid_grd_srchstmtinfo.getColumn(iRow,"stmtcd")+"▦"
- +ds_grid_grd_srchstmtinfo.getColumn(iRow,"stmtcnts")+"▦"
- +ds_grid_grd_srchstmtinfo.getColumn(iRow,"attrinfo1")+"▦"
- +ds_grid_grd_srchstmtinfo.getColumn(iRow,"attrinfo2")+"▦"
- +ds_grid_grd_srchstmtinfo.getColumn(iRow,"attressnyn")+"▩";
- }
- break;
- }
-
- // 진술문 선택 여부 체크
- if ( iRow < 0 || utlf_isNull(sStmtCnts) ){
- sysf_messageBox("선택된 진술문이","I004");
- return;
-
- }
-
- if(sDNARFlag == "2N"){
- sysf_messageBox( "간호진단으로 수정할 수 없습니다. 다른 진술문을 선택","I008");
- return;
- }
-
- ds_temp_save.clearData();
- ds_temp_save.addRow();
-
- // 저장 데이터 만들기..
- if(sArrtCnt > 0){ // 속성 입력 진술문 선택 여부
- frmf_setParameter("SMMNR014_Param",sAttrInptParamInfo);
- frmf_modal("SMMNR01400","SMMNR01400","","","","","","","","","","","M");
- var sReturnInfo = frmf_getParameter("SMMNR014_Return"); // 속성 입력된 진술문 정보 "stmtcd▦stmtcnts▦attrinfo▩"
- if(!utlf_isNull(sReturnInfo)){ // 속성 입력한 경우
- ds_temp_save.setColumn(0,"stmtspec",getArrayData(sReturnInfo,1,1));
- ds_temp_save.setColumn(0,"attrinfo",getArrayData(sReturnInfo,1,2));
- }
- }else{
- ds_temp_save.setColumn(0,"stmtspec",sStmtCnts);
- ds_temp_save.setColumn(0,"attrinfo","");
- }
- if(utlf_isNull(ds_temp_save.getColumn(0,"stmtspec")) && utlf_isNull(ds_temp_save.getColumn(0,"attrinfo"))){
- sysf_messageBox("저장할 데이터가","I004");
- return;
- }
-
- //sRecOriginFlag T 이면 타입2에서 넘어온값. 그룹코드도 무조건 타입2에서 넘어온 origin 코드
- if(sRecOriginFlag == "T"){
- sGrupCD = sOriginCd;
- }
-
- ds_temp_save.setColumn(0,"status","U");
- ds_temp_save.setColumn(0,"origincd",sGrupCD);
- ds_temp_save.setColumn(0,"stmtcd",sStmtCd);
- ds_temp_save.setColumn(0,"dnarflag",sDNARFlag);
- ds_temp_save.setColumn(0,"recoriginflag",sRecOriginFlag == "T" ? sRecOriginFlag :sSrchToolStatus);
- ds_temp_save.setColumn(0,"recdtflag",sRecDateFlag);
- ds_temp_save.setColumn(0,"recdt",sRecDate);
- ds_temp_save.setColumn(0,"prerecdd",sPreRecDate);
- ds_temp_save.setColumn(0,"pid",sPid);
- ds_temp_save.setColumn(0,"indd",sIndd);
- ds_temp_save.setColumn(0,"orddd",sOutDD);
- ds_temp_save.setColumn(0,"cretno",sCretNo);
- ds_temp_save.setColumn(0,"instcd",sInstcd);
- ds_temp_save.setColumn(0,"carerecno",ds_data_nursingrecordinfo.getColumn(0,"carerecno"));
- ds_temp_save.setColumn(0,"certkey",sCertKey);
- ds_temp_save.setColumn(0,"dnarnm",sDnarNm);
- ds_temp_save.setColumn(0,"usernm",sUserNm);
- ds_temp_save.setColumn(0,"deptflagnm",sDeptFlagNm);
-
- }
-
- ds_temp_save.setColumn(0,"diagstmtnm",utlf_transNullToEmpty(ds_data_nursingrecordinfo.getColumn(0,"recverno")) +" "+ ds_temp_save.getColumn(0,"deptflagnm"));
- ds_temp_sign.clear();
- ds_temp_sign.copyData(ds_temp_save);
-
- //인증저장
- var msg; // 2014-02-10 중복된 선언으로 인한 재선언
- if( sRecOriginFlag == "T" ){
- msg = sysf_messageBox( '[ ' + sHngNm + ' ] 간호일지 Type || 기록내역의 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
- } else {
- msg = sysf_messageBox( '[ ' + sHngNm + ' ] 간호일지 기록내역의 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
- }
-
- if(Number(msg) == 6){//예
-
- if (!fSign()) return;
-
- dsf_makeValue(ds_temp_sign, "hisgubun", "string", "");
- dsf_makeValue(ds_temp_sign, "recverno", "string", "");
- dsf_makeValue(ds_temp_sign, "certkey", "string", "");
- /*
- for(var hisprechk =0; hisprechk< ds_temp_sign.rowcount; hisprechk ++){
- ds_temp_sign.setColumn(hisprechk,"hisgubun","수정후");
- }
- */
- ds_temp_sign.setColumn(0,"hisgubun","수정후");
- ds_temp_sign_temp.copyData(ds_temp_sign);
- ds_temp_sign_temp.setColumn(0,"stmtspec",ds_data_nursingrecordinfo.getColumn(0,"stmtspec"));
- //ds_temp_sign_temp.setColumn(0,"recdd",ds_data_nursingrecordinfo.getColumn(0,"recdd"));
- //ds_temp_sign_temp.setColumn(0,"rectm",ds_data_nursingrecordinfo.getColumn(0,"rectm"));
- ds_temp_sign_temp.setColumn(0,"recdt",ds_data_nursingrecordinfo.getColumn(0,"recdd") + ds_data_nursingrecordinfo.getColumn(0,"rectm") + "00");
- ds_temp_sign_temp.setColumn(0,"dnarflag",ds_data_nursingrecordinfo.getColumn(0,"dnarflag"));
- ds_temp_sign_temp.setColumn(0,"certkey",ds_data_nursingrecordinfo.getColumn(0,"certkey"));
- ds_temp_sign_temp.setColumn(0,"recverno",ds_data_nursingrecordinfo.getColumn(0,"recverno"));
- ds_temp_sign_temp.setColumn(0,"stmtcd",ds_data_nursingrecordinfo.getColumn(0,"stmtcd"));
- ds_temp_sign_temp.setColumn(0,"origincd",ds_data_nursingrecordinfo.getColumn(0,"origincd"));
- ds_temp_sign_temp.setColumn(0,"recoriginflag",ds_data_nursingrecordinfo.getColumn(0,"recoriginflag"));
- ds_temp_sign_temp.setColumn(0,"carerecno",ds_data_nursingrecordinfo.getColumn(0,"carerecno"));
- //ds_temp_sign_temp.setColumn(0,"cretyn",ds_data_nursingrecordinfo.getColumn(0,"cretyn"));
- ds_temp_sign_temp.setColumn(0,"certkey",ds_data_nursingrecordinfo.getColumn(0,"certkey"));
- ds_temp_sign_temp.setColumn(0,"hisgubun","수정전");
-
- if(ds_temp_sign.getColumn(0,"recoriginflag") =="J"){
- ds_temp_sign.setColumn(0,"diagstmtnm","-");
- ds_temp_sign.setColumn(0,"dnarflag","");
- }
-
- ds_temp_sign.appendData(ds_temp_sign_temp);
-
- fSignHis();
-
- tranf_submit({
- id: "TXMNR02801"
- , service: "carerecapp.NursingRecord"
- , method: "reqExeStmtList"
- , inds: "saveData=ds_temp_save signinfo=ds_temp_fsign signinfohis=ds_temp_signSaveDataHis"
- , outds: "ds_data_recddlist=recddlist ds_data_totnursingrecordlist=totnursingrecordlist"
- , async: false
- , callback: "cbk_TXMNR02801"
- });
-
- if(cbk_TXMNR02801_flag == 1){
- fViewSign();
- opener.frmf_setParameter("SMMNR02800_ReturnFlag","Y");
- opener.frmf_setParameter("SMMNR02800_SignRecYN","Y");
- this.close();
- }
- cbk_TXMNR02801_flag = 0;
-
- }else {
- return;
- }
- // if(sArrtCnt < 1){
- // var sRtnMsg = messageBox("","Q002");
- // if(sRtnMsg != 6) return;
- // }
- // }
- }
- function cbk_TXMNR02801(sScvId, nErrorCode, sErrorMsg){
- if(nErrorCode == 0){//성공하였을때
- cbk_TXMNR02801_flag=1;
- }else{
- sysf_messageBox(sErrorMsg, "E");
- }
- }
- /**
- * @group :
- * @ver : 2007.06.15
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 인증데이터 생성함수
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fMake_SignData(){
- //Sign.addnode("/root/main/signSaveData");
- Sign.addnode("/signSaveData/saveDataList",ds_temp_sign.saveXML());
- }
- /**
- * @group :
- * @ver : 2007.06.15
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 인증로직
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSign(){
- Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
- if(Sign.signprocess() == true){
- // 전자인증 관련 환자 인적 정보를 보내줌.
- ds_temp_fsign.clearData();
- ds_temp_fsign.addRow();
-
- ds_temp_fsign.setColumn(0,"pid",sPid);
- if( sIOFlag =="O" ){
- ds_temp_fsign.setColumn(0,"orddd",sOutDD);//입원일자(입원,응급)/진료일자(외래)
- }else{
- ds_temp_fsign.setColumn(0,"orddd",sIndd);//입원일자(입원,응급)/진료일자(외래)
- }
-
- ds_temp_fsign.setColumn(0,"signno","");//서명번호
- ds_temp_fsign.setColumn(0,"cretno",sCretNo);//생성번호
-
- if ( sRecDateFlag == "U" ){
- ds_temp_fsign.setColumn(0,"recdd",ds_cond.getColumn(0,"recdd"));// 실제 기록이 이루어진 기록일자
- ds_temp_fsign.setColumn(0,"rectm",ds_cond.getColumn(0,"rectm"));//실제 기록이 이루어진 기록시간
-
- } else {
- ds_temp_fsign.setColumn(0,"recdd",utlf_getCurrentDate());// 실제 기록이 이루어진 기록일자
- ds_temp_fsign.setColumn(0,"rectm",utlf_getCurrentTime());//실제 기록이 이루어진 기록시간
- }
-
- ds_temp_fsign.setColumn(0,"recsaveflag","Y");//전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- ds_temp_fsign.setColumn(0,"signflag","02"); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
- ds_temp_fsign.setColumn(0,"signgenrflag",sIOFlag);//외래/입원구분(코드정의서 M0010 참조)
- ds_temp_fsign.setColumn(0,"formcd","0000002432");//각 기록지별 서식코드0000002464 type2 -> 0000002432 간호일지
-
- ds_temp_fsign.setColumn(0,"orddeptcd",sOrdDeptCd);//진료부서코드
- ds_temp_fsign.setColumn(0,"orddrid",sOrdDrId);//진료의사ID
- ds_temp_fsign.setColumn(0,"dispyn","N"); //기록뷰어에는 조회안되도록
-
- // 인증할 데이터 정보(미기록 노드 제거된 정보)
- // 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- ds_temp_fsign.setColumn(0,"signbfcnts",Sign.signedInfos[1]);
- // 공인인증 처리후 데이터
- ds_temp_fsign.setColumn(0,"signaftcnts",Sign.signedInfos[2]);
-
- ds_temp_fsign.setColumn(0,"acptuniqno",aCptuniqno);
-
- }else{
- return false;
- }
- //model.makeValue("/root/send/signdata/screenid", getScreenID());
- ds_temp_fsign.setColumn(0,"screenid",frmf_getScreenID());
- return true;
- }
- function fSignHis(){
- //ds_temp_signSaveData.clearData();
-
- Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
-
-
- if(Sign.signprocess() == true){
- // 전자인증 관련 환자 인적 정보를 보내줌.
- vsettime = utlf_getCurrentTime();
- var ds_temp3 = dsf_createDsRow("ds_temp_signSaveDataHis", [{col: "pid", val:sPid }
- ,{col: "orddd", val:sIOFlag=="O"?sOutDD:sIndd }
- ,{col: "signno", val:"" }
- ,{col: "cretno", val:sCretNo }
- ,{col: "recdd", val:utlf_getCurrentDate() }
- ,{col: "rectm", val:utlf_getCurrentTime() }
- ,{col: "recsaveflag", val:"Y" }
- ,{col: "signflag", val:"02" }
- ,{col: "signgenrflag", val:sIOFlag }
- ,{col: "formcd", val:"1800022039" }
- ,{col: "orddeptcd", val:sOrdDeptCd }
- ,{col: "orddrid", val:sOrdDrId }
- ,{col: "dispyn", val:"Y" }
- //,{col: "acptuniqno", val:ds_data_pamlist.getColumn(0,"acptuniqno") }
- ,{col: "signbfcnts", val:Sign.signedInfos[1] }
- ,{col: "signaftcnts", val:Sign.signedInfos[2] }
- ,{col: "screenid", val:frmf_getScreenID() }]);
- }else{
- return false;
- }
-
- //ds_temp_signSaveData.clearData();
-
- return true;
- }
- /**
- * @group :
- * @ver : 2007.06.15
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 통합기록용인증로직
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fViewSign(){
- var sSignDataRowCnt = "";
-
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
- var signRecDD = "";
- //model.removenodeset("/root/send/signdata");
- ds_temp_fsign.clearData();
-
- for( var idx = 0 ; idx < ds_data_recddlist.rowcount; idx++ ){
- //signRecDD = model.getValue("/root/hidden/recinfo/recddlist["+ idx +"]/recdd");
- signRecDD = ds_data_recddlist.getColumn(idx,"recdd");
-
- ds_temp_fsign.addColumn("status","string");
- //model.removenodeset(xSignPath);
- //model.makeNode(xSignPath);
- ds_temp_sign.clear();
- //ds_data_totnursingrecordlist.filter("recdd=='"+ signRecDD +"'");
-
- var nCnt = ds_data_totnursingrecordlist.getCaseCount("recdd=='"+ signRecDD +"'");
-
- if(nCnt > 0 ){
- //if(ds_data_totnursingrecordlist.rowcount>0 ){
- ds_data_totnursingrecordlist.filter("recdd=='"+ signRecDD +"'");
- //copyNodeset(xSignPath,"/root/hidden/recinfo/totnursingrecordlist[recdd='"+ signRecDD +"']");
- ds_temp_sign.copyData(ds_data_totnursingrecordlist,true);
- ds_temp_sign.addColumn("usernm","string");
- for(var i=0; i<ds_temp_sign.rowcount; i++){
- ds_temp_sign.setColumn(i,"usernm",ds_temp_sign.getColumn(i,"fstrgstrnm"));
- }
- if(Sign.signprocess() == true){
- //trace(Sign.signedInfos[1]);
- //var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
- //var sSignDataRowCnt = ds_temp_fsign.rowcount;
- sSignDataRowCnt = ds_temp_fsign.addRow();
- // 전자인증 관련 환자 인적 정보를 보내줌.
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid", sPid );//등록번호\
- ds_temp_fsign.setColumn(sSignDataRowCnt,"status","i");
- ds_temp_fsign.setColumn(sSignDataRowCnt,"pid",sPid);
- if( sIOFlag =="O" ){
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sOutDD);//입원일자(입원,응급)/진료일자(외래)
- ds_temp_fsign.setColumn(sSignDataRowCnt,"orddd",sOutDD);
- }else{
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sIndd);//입원일자(입원,응급)/진료일자(외래)
- ds_temp_fsign.setColumn(sSignDataRowCnt,"orddd",sIndd);
- }
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno", "");//서명번호
- ds_temp_fsign.setColumn(sSignDataRowCnt,"signno","");
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno", sCretNo); //생성번호
- ds_temp_fsign.setColumn(sSignDataRowCnt,"cretno",sCretNo);
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd",signRecDD);// 실제 기록이 이루어진 기록일자
- ds_temp_fsign.setColumn(sSignDataRowCnt,"recdd",signRecDD);
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm","000000");//실제 기록이 이루어진 기록시간
- ds_temp_fsign.setColumn(sSignDataRowCnt,"rectm","000000");
-
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recsaveflag","Y"); //전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- ds_temp_fsign.setColumn(sSignDataRowCnt,"recsaveflag","Y");
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag","02" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
- ds_temp_fsign.setColumn(sSignDataRowCnt,"signflag","02");
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag",sIOFlag );//외래/입원구분(코드정의서 M0010 참조)
- ds_temp_fsign.setColumn(sSignDataRowCnt,"signgenrflag",sIOFlag);
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd","0000002432" ); //각 기록지별 서식코드
- ds_temp_fsign.setColumn(sSignDataRowCnt,"formcd","0000002432");
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddeptcd", sOrdDeptCd); //진료부서코드
- ds_temp_fsign.setColumn(sSignDataRowCnt,"orddeptcd",sOrdDeptCd);
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddrid", sOrdDrId); //진료의사ID
- ds_temp_fsign.setColumn(sSignDataRowCnt,"orddrid",sOrdDrId);
- // 인증할 데이터 정보(미기록 노드 제거된 정보)
- // 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts", Sign.signedInfos[1]);
- ds_temp_fsign.setColumn(sSignDataRowCnt,"signbfcnts",Sign.signedInfos[1]);
- // 공인인증 처리후 데이터
- // model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]);
-
- //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/screenid", getScreenID());
- ds_temp_fsign.setColumn(sSignDataRowCnt,"screenid",frmf_getScreenID());
- }else{
- return;
- }
- }else{
- //sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
- //ds_temp_fsign.clearData();
- sSignDataRowCnt = ds_temp_fsign.addRow();
- ds_temp_fsign.setColumn(sSignDataRowCnt,"status","d");
- ds_temp_fsign.setColumn(sSignDataRowCnt,"pid",sPid);
- if(sIOFlag =="O"){
- ds_temp_fsign.setColumn(sSignDataRowCnt,"orddd",sOutDD);
- }else{
- ds_temp_fsign.setColumn(sSignDataRowCnt,"orddd",sIndd);
- }
- ds_temp_fsign.setColumn(sSignDataRowCnt,"signno","");
- ds_temp_fsign.setColumn(sSignDataRowCnt,"cretno",sCretNo);
- ds_temp_fsign.setColumn(sSignDataRowCnt,"formcd","0000002432");
- ds_temp_fsign.setColumn(sSignDataRowCnt,"signflag","02");
- ds_temp_fsign.setColumn(sSignDataRowCnt,"signgenrflag",sIOFlag);
- ds_temp_fsign.setColumn(sSignDataRowCnt,"signbfcnts","삭제");
-
- ds_temp_fsign.setColumn(sSignDataRowCnt,"recdd",signRecDD);
- ds_temp_fsign.setColumn(sSignDataRowCnt,"rectm","000000");
-
- // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/status", "d"); //삭제 상태
- // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid", sPid );//등록번호
- // if( sIOFlag =="O" ){
- // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sOrddd);//입원일자(입원,응급)/진료일자(외래)
- // }else{
- // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sIndd);//입원일자(입원,응급)/진료일자(외래)
- // }
- // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno", "");//서명번호
- // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno", sCretNo); //생성번호
- // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd","0000002432" ); //각 기록지별 서식코드
- // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag","02" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
- // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag",sIOFlag );//외래/입원구분(코드정의서 M0010 참조)
- // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts", "삭제");
- //
- // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd",signRecDD);// 실제 기록이 이루어진 기록일자
- // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm","000000");// 실제 기록이 이루어진 기록일자
-
- }
- ds_data_totnursingrecordlist.filter("");
- }
- //submit("TXMNR00904");
- tranf_submit({
- id: "TXMNR00904"
- , service: "carerecapp.ClincObsRec"
- , method: "reqExeSaveViewData"
- , inds: "signinfo=ds_temp_fsign"
- //, outds: "ds_grid_grd_druginfo=druginfolist"
- , async: false
- //, callback: "cbk_TRMNR08501"
- });
- }
- ]]></Script>
|