12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[
- var gSubmitID = TX_SUBMIT_COMN_FORM;
- var g_formrec_oldimge = "";
- var g_recitem_oldimge = "";
- var g_formrec_newimge = "";
- var g_recitem_newimge = "";
- /**
- * @desc : 저장을 위한 기록정보 셋팅
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fSetSaveComnFormRecInfo()
- {
- sysf_trace_emr("***** fSetSaveComnFormRecInfo() MMR01300 *****");
- var msgYn = oOpener.frmf_getParameter("SaveMsgYn");
- sysf_trace_emr("@@@@@ msgYn : " + msgYn + " @@@@@");
-
- if (fGetFormRec("status") == "D" && msgYn != "N")
- {
- var rtnVal = sysf_messageBox("기록을 ", "Q001");
- if (rtnVal == "7")
- return "N";
- }
- else
- {
- var rtn = fCheckChangeData();
- sysf_trace_emr("@@@@@ rtn(fCheckChangData): " + rtn + " @@@@@");
- if (rtn == "N")
- {
- return "N";
- }
- else if (rtn == "M")
- {
- //fSetFormRec("status", "M");
- }
- else
- {
- //gPageInfo.recItemRef --> /root/main/recinfo/recitem
- //gPageInfo.recItemRef2 --> /root/hidden/recinfo/recitem
- //copyNodeset(gPageInfo.recItemRef, gPageInfo.recItemRef2, "replace", model, model);
- dsf_copyDsList(["ds_data_recitem"], ["ds_hidden_recitem"], "replace", this, this);
-
- //////////////////
- //2010.02.10, 주희경,
- //가계도, 이미지, 추가입력 데이터 저장 시 필수 컬럼 누락 된 것 재셋팅, 노드 중복 방지를 위해 model.makeNode사용.
- var recItemRefDs = this.objects["ds_data_recitem"];
- var cnts = recItemRefDs == null ? 0 : recItemRefDs.rowcount;
-
- for(var i = 0; i < cnts; i++)
- {
- var degnitemkind = recItemRefDs.getColumn(i, "degnitemkind");
- var degnitemnm = recItemRefDs.getColumn(i, "degnitemnm");
-
- if ( degnitemkind == "IMG" || degnitemkind=="FDG" || degnitemnm =="§추가입력" )
- {
- sysf_trace_emr("jw.choe addColumn type check! MMR01300");
- recItemRefDs.addColumn("recrefcd", "string");
- recItemRefDs.addColumn("recitemnm", "string");
- recItemRefDs.addColumn("supdegnitemno", "string");
- recItemRefDs.addColumn("extdegnitemlevlcd", "string");
- recItemRefDs.addColumn("rectermflag", "string");
- recItemRefDs.addColumn("degnunitcd", "string");
- }
- }
- var grdDs = this.objects[grd_recitem.binddataset];
- sysf_trace("@@@@@ grdDsCnt : " + grdDs.rowcount + " @@@@@");
-
- for (var i = 0; i < grdDs.rowcount; i++)
- {
- //grd_recitem.rowstatus(i) = 1;
- grdf_setStatus(grd_recitem, "I", [i]);
- }
-
- // var CSVdata = grd_recitem.getUpdateData();
- // model.makeValue("/root/send/saverecinfo/recitem", CSVdata);
-
- var CSVdata = grdf_getGridUpdateData(grd_recitem);
- //grdf_setStatusColumn(CSVdata, "status");
- if( this.objects["ds_send_saverecinfo_recitem"] == null ) dsf_createDs("ds_send_saverecinfo_recitem");
- ds_send_saverecinfo_recitem.copyData(CSVdata, true);
-
- sysf_trace_emr(ds_send_saverecinfo_recitem.saveXML());
- }
- }
- // gPageInfo.recMastRef-->/root/main/recinfo/formrec
- //copyNodeset("/root/send/saverecinfo/formrec", gPageInfo.recMastRef, "replace", model, model);
-
- //20110916
- // model.makeValue("/root/send/saverecinfo/formrec/rscdoctid", model.getValue(gPageInfo.recMastRef + "/rscdoctid")); //20121112 정창혁 수신의 추가
- // model.setValue("/root/send/saverecinfo/formrec/orddrid", model.getValue(gPageInfo.recMastRef + "/recvuserid"));
- // model.setValue("/root/send/saverecinfo/formrec/orddeptcd", model.getValue(gPageInfo.recMastRef + "/recvdeptcd"));
- //20110916
- // 2014/01/28 마취통증의학과로 컨설트 의뢰시 의뢰구분을 세팅
- // model.makeValue("/root/send/saverecinfo/formrec/anstflag", ivw_base.model.getValue("/root/init/cond/anstflag"));
- if( this.objects["ds_send_saverecinfo_formrec"] == null ) dsf_createDs("ds_send_saverecinfo_formrec");
- ds_send_saverecinfo_formrec.copyData(ds_data_formrec);
- sysf_trace_emr(ds_send_saverecinfo_formrec.saveXML());
-
- ds_send_saverecinfo_formrec.addColumn("rscdoctid", "string");
- ds_send_saverecinfo_formrec.setColumn(0, "rscdoctid", ds_data_formrec.getColumn(0, "rscdoctid"));
- ds_send_saverecinfo_formrec.setColumn(0, "orddrid", ds_data_formrec.getColumn(0, "recvuserid"));
- ds_send_saverecinfo_formrec.setColumn(0, "orddeptcd", ds_data_formrec.getColumn(0, "recvdeptcd"));
- ds_send_saverecinfo_formrec.addColumn("anstflag", "string");
- ds_send_saverecinfo_formrec.setColumn(0, "anstflag", ivw_base.objects["ds_init_cond"] == null ? "" : ds_init_cond.getColumn(0, "anstflag"));
- }
-
- function fSetSaveComnFormRecInfo_old()
- {
- var msgYn = opener.window.javascript.getParameter("SaveMsgYn");
- if (fGetFormRec("status") == "D" && msgYn != "N")
- {
- var rtnVal = messageBox("기록을 ", "Q001");
- if (rtnVal == "7")
- return "N";
- }
- else
- {
- var rtn = fCheckChangeData();
- if (rtn == "N")
- {
- return "N";
- }
- else if (rtn == "M")
- {
- fSetFormRec("status", "M");
- }
- else
- {
- copyNodeset(gPageInfo.recItemRef, gPageInfo.recItemRef2, "replace", model, model);
- grd_recitem.rebuild();
- var colref_degnitemkind = grd_recitem.colref("degnitemkind");
- var colref_colno = grd_recitem.colref("colno");
- var colref_recimge = grd_recitem.colref("recimge");
- for (var i = 0; i < grd_recitem.rows; i++)
- {
- grd_recitem.rowstatus(i) = 1;
- if (grd_recitem.valueMatrix(i, colref_degnitemkind) == "IMG" &&
- grd_recitem.valueMatrix(i, colref_colno) != "FILE")
- {
- grd_recitem.valueMatrix(i, colref_recimge) = "";
- }
- }
- model.makeValue("/root/send/saverecinfo/recitem", grd_recitem.getUpdateData());
- }
- }
- copyNodeset("/root/send/saverecinfo/formrec", gPageInfo.recMastRef, "replace", model, model);
- }
- /**
- * @desc : 기록 서명정보 가져오기
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fGetSignRecInfo()
- {
- var sign_path = "/root/temp/signinfo";
- var sign_path_mast = sign_path + "/환자기록정보";
- var sign_path_detl = sign_path + "/환자기록내용";
- model.makeNode(sign_path_mast + "/등록번호", model.getValue());
- }
- /**
- * @desc : 기록 저장 로직
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- var gSubmitSaveFlag = true;
- function fSaveComnFormRecInfo(signedYn)
- {
- sysf_trace_emr("****** fSaveComnFormRecInfo("+signedYn+") 기록 저장 로직 MMR01300 *****");
- var savedInfo = new SAVED_INFO();
- if (!utlf_isNull(signedYn))
- {
- fSetFormRec("signedyn", signedYn);
- }
-
- //2009.12.17 안치원 submitID설정값을 child에서 할 수 있도록
- //저장직전에 child에서 설정된 submitID로 설정된다.
- var submitID = gSubmitID;
- try {
- var childSubmitID = ivw_base.getSubmitID_MMR01300I();
- if (! utlf_isNull(childSubmitID)) {
- submitID = childSubmitID;
- }
- } catch (e) {
- sysf_catchTrace(e);
- }
- if (fSetSaveComnFormRecInfo() == "N")
- {
- return savedInfo;
- }
- // var stext_path = "ds_send_saverecinfo_formrec_certcnts";
- // var bfstext_path = "ds_send_saverecinfo_formrec_bfcertcnts"; //인증전데이터
- // var espiyn_path = "ds_send_saverecinfo_formrec_espiyn"; //인증저장여부
- var nonCert = oOpener.frmf_getParameter("SSMMR01100_nonCert");
-
- frmf_setParameter("SSMMR01100_nonCert", "");
-
- if (signedYn == "Y")
- {
- var sUserID = sysf_getUserInfo("userid");
-
-
- //이미지 삭제관련
- dsf_createDs("ds_remtmp_formrec");
- ds_remtmp_formrec.copyData(ds_data_formrec);
-
- dsf_createDs("ds_remitemtmp_recitem");
- ds_remitemtmp_recitem.copyData(ds_data_recitem);
-
- var itemNode = ds_remitemtmp_recitem;
-
- for(var i = 0; i < itemNode.rowcount; i++)
- {
- var sDgnItmKind = itemNode.getColumn(i, "degnitemkind");
-
- if (sDgnItmKind == "IMG" || sDgnItmKind == "FDG")
- {
- itemNode.setColumn(i, "srcimge", "");
- itemNode.setColumn(i, "recimge", "");
- itemNode.setColumn(i, "reccnts", "");
- }
- }
-
- dsf_copyDsList(["ds_remtmp_recitem"], ["ds_remitemtmp_recitem"], "append", this, this);
- //copyNodeset("/root/remtmp/recinfo/recitem", "/root/remitemtmp/recitem", "append", model, model);
- dsf_deleteDs("ds_remitemtmp_recitem"); //삭제를 위한 기록항목 인스턴스 삭제
-
- //이미지 삭제관련
-
- var objDomParser = new DomParser;
- var objDOM = objDomParser.parseFromString("<recinfo></recinfo>");
- rptf_setNodeListToDOM(objDOM, "/recinfo/formrec", ds_remtmp_formrec); // 데이터셋 1
- rptf_setNodeListToDOM(objDOM, "/recinfo/recitem", ds_remtmp_recitem); // 데이터셋 2
-
- // var xml = rptf_getXMLString(ds_remtmp_formrec, "recinfo/formrec")
- // var xml2 = rptf_getXMLString(ds_remtmp_recitem, "recinfo/formrec")
- // sysf_trace_emr(xml+xml2);
-
- sysf_trace(objDOM.documentElement.source);
- var signrecinfo = objDOM.documentElement.source;
- //var signrecinfo = model.instances(0).selectSingleNode("/root/remtmp/recinfo").xml; //이미지 삭제된 인스턴스
- dsf_deleteDs("ds_remtmp_formrec"); //삭제를 위한 기록항목 인스턴스 삭제
- dsf_deleteDs("ds_remtmp_recitem");
-
- if (nonCert == "Y")
- {
- var signedrecinfo = "";
- }
- else
- {
- //2010.02.25 안치원 - 입퇴원요약기록 - 퇴원처방 입력방법 변경(팝업)
- if (ds_hidden_loader_ini.getColumn(0, "autoSaveYn") == "Y") { //model.getValue(PATH_LOADER_INI+"/autoSaveYn")
- // KNUH_20100820_박성호_start 인증서 안나오게 수정
- var signedrecinfo = zesf_SignData(signrecinfo, sUserID, false);
- //var signedrecinfo = "-";
- // KNUH_20100820_박성호_end
- }
- else {
- //서식검색창이 포커스는 잡는 문제로 진료기록메인에서 인증창 호출 할 경우 기록메인의 저장로직 타도록 수정
- //2008-08-01 박종훈
- var oprnerId = oOpener.frmf_getScreenID();
-
- //[요청번호:13338, Task No:52246, 우선순위:SY] 2010.04.09 박종훈수정(내원구분이 S(건진)인 경우 O로 넘겨줌)
- var sChosflag = fGetFormRec("chosflag");
-
- if (sChosflag == "S")
- {
- sChosflag = "O";
- }
-
- if(oprnerId == "SMMMR00100")
- {
- // KNUH_20100820_박성호_start 인증서 안나오게 수정
- var signedrecinfo = oOpener.fMakeSignData(signrecinfo, sChosflag, sUserID);
- //var signedrecinfo = "-";
- // KNUH_20100820_박성호_end
- }
- else
- {
- // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
- // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(1/6)
- // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
- // 하드코드 값 가져오기 로직
- var ls_emrinptsavetime = lf_getHardCDList("Y", 401, 3);
- var ll_emrinptsavetime = utlf_isNull(ls_emrinptsavetime) ? 0 : parseInt(ls_emrinptsavetime) * -1;
- // SMAER00400_결과관리(서식).xrw 에서는 모두 외래기준으로 인증서를 띄우도록 적용 // 20111202 knuh 최원돈
- // gSubmitSaveFlag 는 SMAER00400_결과관리(서식)에서만 사용하여서 적용함
- //if (sChosflag == "O"
- if ( sChosflag == "O"
- || !gSubmitSaveFlag)
- {
- // KNUH_20100820_박성호_start 인증서 안나오게 수정
- var signedrecinfo = zesf_SignData(signrecinfo, sUserID, false); //외래환자일경우 한번만 인증서 띄움
- //var signedrecinfo = "-"; //외래환자일경우 한번만 인증서 띄움
- // KNUH_20100820_박성호_end
- }
- // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
- // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(2/6)
- // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
- // 띄우지 않는 로직
- else if ( ( sChosflag == "I"
- || sChosflag == "E")
- && ll_emrinptsavetime < 0
- && sysf_getGlobalVariable("emrinptsavetime") >= utlf_getCurrentDateTime().toDate("YYYYMMDD hhmmss").getAddDate(ll_emrinptsavetime, "m").getDateFormat("YYYYMMDD hhmmss"))
- {
- var signedrecinfo = zesf_SignData(signrecinfo, sUserID, false); //외래환자일경우 한번만 인증서 띄움
- }
- else
- {
- // KNUH_20100820_박성호_start 인증서 안나오게 수정
- var signedrecinfo = zesf_SignData(signrecinfo, sUserID, true);
- //var signedrecinfo = "-";
- // KNUH_20100820_박성호_end
- }
- }
-
- if (utlf_isNull(signedrecinfo))
- {
- frmf_setParameter("mediRecCnclYn", "Y");
- }
- }
- }
- if (utlf_isNull(signedrecinfo) && nonCert != "Y")
- {
- fSetFormRec("signedyn", "N");
- return savedInfo;
- }
- else
- {
- fSetFormRec("espiyn", signedYn);
- ds_send_saverecinfo_formrec.setColumn(0, "espiyn", signedYn);
- // model.makeValue(espiyn_path, signedYn);
- }
- sysf_trace_emr(ds_send_saverecinfo_formrec.saveXML());
- ds_send_saverecinfo_formrec.addColumn("bfcertcnts", "string");
- ds_send_saverecinfo_formrec.addColumn("certcnts", "string");
- ds_send_saverecinfo_formrec.setColumn(0, "bfcertcnts", signrecinfo);
- ds_send_saverecinfo_formrec.setColumn(0, "certcnts", signedrecinfo);
- // model.makeValue(bfstext_path, signrecinfo);
- // model.makeValue(stext_path, signedrecinfo);
- }
- else
- {
- // var stext_path = "ds_send_saverecinfo_formrec_certcnts";
- // var bfstext_path = "ds_send_saverecinfo_formrec_bfcertcnts"; //인증전데이터
- // var espiyn_path = "ds_send_saverecinfo_formrec_espiyn"; //인증저장여부
-
- fSetFormRec("espiyn", "N");
- ds_send_saverecinfo_formrec.setColumn(0, "espiyn", "N"); //인증저장여부
- ds_send_saverecinfo_formrec.setColumn(0, "certcnts", "");
- // model.makeValue(espiyn_path, "N");
- // model.makeValue(stext_path, "");
- }
- if (gSubmitSaveFlag)
- {
- sysf_trace_emr("@@@@@ submitID : " + submitID + " @@@@@@");
- var submit = false;
-
- if( this.objects["ds_main_savedinfo_rsltmsg"] == null ) dsf_createDs("ds_main_savedinfo_rsltmsg");
-
- if( submitID == "TXMMR01303" ){
- dsf_setDefaultVal(ds_send_saverecinfo_formrec, "cosignyn:N,addexecflag:''");
- dsf_setTypeFormat(ds_send_saverecinfo_formrec,"cretno:INT");
- dsf_setDefaultVal(ds_send_saverecinfo_recitem, "formdegnseq:0,degnitemlevlno:1,supdegnitemno:0");
- dsf_setTypeFormat(ds_send_saverecinfo_recitem,"recitemno:INT^degnitemno:INT^degnitemlevlno:INT^supdegnitemno:INT^recimge:BLOB^srcimge:BLOB");
-
- sysf_trace_emr(ds_send_saverecinfo_recitem.saveXML());
-
- var oParam = {};
- oParam.id = "TXMMR01303";
- oParam.service = "medirecapp.ExtnMediRec";
- oParam.method = "reqExeExtnFormRec";
- oParam.inds = "formrec=ds_send_saverecinfo_formrec recitem=ds_send_saverecinfo_recitem";
- oParam.outds = "ds_main_savedinfo_rsltmsg=rsltmsg";
- oParam.async = false;
- oParam.callback = "cf_TXMMR01303";
-
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMMR01303") > -1 ){
- submit = true;
- }
- }
- sysf_trace_emr("submit : " + submit);
- if (submit)
- {
- // gPageInfo.savedInfoRef : ds_main_savedinfo
- var mess = ds_main_savedinfo_rsltmsg.getColumn(0, "msg");
-
- //2010.07.22 안치원 - 진료의뢰 회신시 회신내용 저장되지 않는 오류 해결을 위해 경고창을 표시하며 인스턴스와 클라이언트로그를 메일로 발송한다.
- var errFlag = "[ERR_CNST_RECV_CNTS_EMPTY]";
- if (mess.indexOf(errFlag) == 0) {
- sendSystemMail_MMR071(errFlag, null);
- system.setClipboard("CF_TEXT", ds_main_recinfo_recitem.lookup("degnitemlevlcd", "0011529.0000146", "reccnts"));
- //window.clipBoardData = model.getValue("/root/main/recinfo/recitem[degnitemlevlcd='0011529.0000146']/reccnts");
- sysf_messageBox(mess, "E", "");
- dsf_makeValue(ds_main_savedinfo_rsltmsg, "msg", "1", 0);
- //model.makeValue(gPageInfo.savedInfoRef + "/rsltmsg/msg", "1");
- mess = ds_main_savedinfo_rsltmsg.getColumn(0, "msg");
- }
- if (fGetFormRec("status") == "C" && mess == "1")
- {
- //sysf_messageBox("신규작성 되었습니다.", "I", "");
- }
- else if (fGetFormRec("status") == "U")
- {
- if(mess == "1")
- {
- if (fGetFormRec("cosignyn") == "Y")
- {
- //2010-03-31 오전 11:19:16 강지훈 추가 : 최종진단명 요약지 추가
- fSetFormRec("cosign", "Y");
- var lastDiagSaveFlag = frmf_getParameter("SSMMR01100_fChkLastDiag");
- if(lastDiagSaveFlag == "Y"){
- sysf_messageBox("저장되었습니다.", "I", "");
- }
- else{
- sysf_messageBox("STAFF SIGN 저장되었습니다.", "I", "");
- }
- }
- //messageBox("수정저장 되었습니다.", "I", "");
- }
- else
- {
- sysf_messageBox(mess, "I", "");
- }
- }
- else if (fGetFormRec("status") == "D")
- {
- if(mess == "1")
- {
- //messageBox("삭제 되었습니다.", "I", "");
- }
- else
- {
- sysf_messageBox(mess, "I", "");
- }
-
- frmf_setParameter("afterRecDelete", "Y");
- }
- else
- {
- sysf_messageBox("저장에 실패하였습니다.", "I", "");
- }
- fSetFormRec("espiyn", fGetFormRec("signedyn"));
-
- g_formrec_newimge_cosign = fGetCSV("formrec");
- g_recitem_newimge_cosign = fGetCSV("ds_hidden_recitem");//gPageInfo.recItemRef2
- // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
- // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(3/6)
- // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
- // 인증저장된 시간을 저장.
- if ((fGetFormRec("chosflag") == "I" || fGetFormRec("chosflag") == "E")&& signedYn == "Y" ) {
- sysf_setGlobalVariable("emrinptsavetime", utlf_getCurrentDateTime());
- }
- } else {
- // var type = model.getValue(gvErrorMsgPath+"/type");
- // var code = model.getValue(gvErrorMsgPath+"/code");
- // var msg = model.getValue(gvErrorMsgPath+"/msg");
- // var desc = model.getValue(gvErrorMsgPath+"/description");
-
- }
- if (ds_main_savedinfo_rsltmsg.getColumn(0, "msg") == "1")
- {
- //2010.01.03 안치원 - formrecseq 지수로 표현되는 오류수정
- savedInfo.formrecseq = ds_main_savedinfo_rsltmsg.getColumn(0, "formrecseq");
- savedInfo.rechistseq = ds_main_savedinfo_rsltmsg.getColumn(0, "rechistseq");
- g_formrec_oldimge = g_formrec_newimge;
- g_recitem_oldimge = g_recitem_newimge;
-
- if (ds_main_savedinfo_rsltmsg.getColumn(0, "cosign") == "Y")
- {
- grup_btn.btn_cosign.enable = false;
-
- if (isProgForm())
- {
- if(fGetFormRec("srcformcd") == "0000000680"){
- var childrenObj = ivw_base.components;
- for(i=0; i< childrenObj.length; i++){
- childObj = childrenObj[i];
- if (childObj.name == "btn_lastdiag_0001013001"){
- childObj.enable = true;
- }
- else{
- childObj.enable = false;
- }
- }
- }
- else if(ivw_base.enable){
- ivw_base.enable = false;
- }
- }
- }
- else
- {
- grup_btn.btn_cosign.enable = true;
-
- //2010-04-07 강지훈 수정 : TF버그로 인해 분기. TF버그 수정반영되면 수정해야함.
- if (isProgForm() && !ivw_base.enable)
- {
- ivw_base.enable = true;
- }
- else if(isProgForm() && fGetFormRec("srcformcd") == "0000000680"){
- ivw_base.enable = true;
- }
- }
- }
- if (fGetFormRec("status") != "D" && savedInfo.formrecseq != 0)
- {
- fSetFormRec("status", "U");
- fSetFormRec("formrecseq", savedInfo.formrecseq);
- fSetFormRec("lastrechistseq", savedInfo.rechistseq);
- fSetFormRec("espiseq", ds_main_savedinfo_rsltmsg.getColumn(0, "espiseq"));
- }
- if(mess == "1" || !utlf_isNull(savedInfo.formrecseq))
- {
- return savedInfo;
- }
- }
- else
- {
- savedInfo.rechistseq = -100
- return savedInfo;
- }
- }
- function cf_TXMMR01303(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- if(nErrorCode < 0) {
- sysf_trace_emr("***** cf_TXMMR01303 nErrorCode *****");
- agv_objAppBottomPath.form.stt_statusMsg.text = sErrorMsg;
- return;
- }
- sysf_trace_emr("***** cf_TXMMR01303 *****");
-
- dsf_setDefaultVal(ds_main_savedinfo_rsltmsg, "cosign:N");
- }
- /**
- * @desc : 기록 저장 후 정보 셋팅
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fSetSavedInfo(formrecseq, rechistseq, espiseq)
- {
-
- // debugger;
-
- g_formrec_oldimge = g_formrec_newimge;
- g_recitem_oldimge = g_recitem_newimge;
- if (fGetFormRec("status") != "D")
- {
- fSetFormRec("status", "U");
- fSetFormRec("formrecseq", formrecseq);
- fSetFormRec("lastrechistseq", rechistseq);
- fSetFormRec("espiseq", espiseq);
- }
- }
- /**
- * @desc : 기록 내용 조회
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fGetComnFormRecInfo(formrecseq)
- {
- model.makeValue("/root/send/reqrec/formrecseq", formrecseq);
-
- submit("TRMMR01301");
-
- doReplaceLtGt("/root/temp2/getrecinfo/recinfo/recitem");
- if (gMediRecMain && isOpenModalForm(model.getValue("/root/temp2/getrecinfo/recinfo/formrec/formprogflag")))
- {
- return true;
- }
- else
- {
- //fInitDataSrc();
- //var pageInfo = new PAGEINFO();
- //copyNodeset(pageInfo.recRef, pageInfo.popRecinfoRef);
- // 20080519 main3-> temp2/getrecinfo 소스 튜닝
- //model.removenodeset("/root/temp2");
- return false;
- }
- }
- /**
- * @desc : 해당 값을 인스턴스에 추가
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fSetFormRec(key, val)
- {
-
- dsf_makeValue(ds_data_formrec, key, "string", val);
- //model.makeValue(gPageInfo.recMastRef + "/" + key, val);
- }
- /**
- * @desc : 해당 값을 인스턴스에서 가져오기
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fGetFormRec(key)
- {
- return utlf_transNullToEmpty(ds_data_formrec.getColumn(0, key));
- }
- /**
- * @desc : 해당 값을 인스턴스에 추가(확장서식)
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fSetExtnInfo(key, val)
- {
- model.makeValue(gPageInfo.recMastRef + "/" + key, val);
- }
- /**
- * @desc : 해당 값을 인스턴스에서 가져오기(확장서식)
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fGetExtnInfo(key)
- {
- return model.getValue(gPageInfo.recMastRef + "/" + key);
- }
- /**
- * @desc : path에 해당하는 노드의 값을 CSV형태로 가져오기
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fGetCSVByRecInfo(path)
- {
- if (path == null)
- path = "/root/temp2/getrecinfo/recinfo";
- var nodes = model.instances(0).selectNodes(path + "/formrec");
- var sFormRec = getNodeListCSV(nodes);
- nodes = model.instances(0).selectNodes(path + "/recitem");
- var sRecItem = getNodeListCSV(nodes);
- var info = sFormRec +INFO_CSV_DEL+ sRecItem;
- return info;
- }
- /**
- * @desc : CSV형태의 값을 인스턴스에 추가
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fSetRecInfoByCSV(csvStr)
- {
- var info = csvStr.split(INFO_CSV_DEL);
- setCSVToNode(gPageInfo.recRef, info[0], "formrec");
- setCSVToNode(gPageInfo.recRef, info[1], "recitem");
- }
- /**
- * @desc : 변경된 데이터 여부 검사
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fCheckChangeData()
- {
- sysf_trace_emr("***** fCheckChangeData() 변경된 데이터 여부 검사 MMR01300*****");
- var rtn;
- var ischg_formrec = false;
- var ischg_recitem = false;
-
- g_formrec_newimge = fGetCSV("formrec");
- g_recitem_newimge = fGetCSV("ds_hidden_recitem");
- if (fGetFormRec("status") == "C")
- {
- var nodelist = this.objects["ds_hidden_recitem"];
- var nodelistCnt = nodelist == null ? 0 : nodelist.rowcount;
- if (nodelistCnt == 0)
- {
- sysf_messageBox("저장 할 데이터가 ", "I004");
- rtn = "N";
- }
- else
- {
- rtn = "Y";
- }
- }
- else if (fGetFormRec("status") == "U")
- {
- if( this.objects["ds_temp_saveimge"] == null ){
- dsf_createDs("ds_temp_saveimge");
- }
-
- dsf_makeValue(ds_temp_saveimge, "status", "string", fGetFormRec("status"), 0);
- dsf_makeValue(ds_temp_saveimge, "oldimge", "blob", g_formrec_oldimge, 0);
- dsf_makeValue(ds_temp_saveimge, "newimge", "blob", g_formrec_newimge, 0);
- // model.makeValue("/root/temp/saveimge/status", fGetFormRec("status"));
- // model.makeValue("/root/temp/saveimge/oldimge", g_formrec_oldimge);
- // model.makeValue("/root/temp/saveimge/newimge", g_formrec_newimge);
- if (g_formrec_oldimge != g_formrec_newimge)
- {
- ischg_formrec = true;
- }
- if (g_recitem_oldimge != g_recitem_newimge)
- {
- ischg_recitem = true;
- }
- if (fGetFormRec("espiyn") == "N" && fGetFormRec("signedyn") == "Y")
- {
- rtn = "Y";
- }
- else if (ischg_formrec == false && ischg_recitem == false)
- {
- rtn = "N";
- sysf_messageBox("수정된 데이터가 ", "I004");
- }
- else if (ischg_formrec == true && ischg_recitem == false)
- {
-
- //rtn = "M"; 20130509 이윤주 수정
- rtn = "Y";
- }
- else
- {
- rtn = "Y";
- }
- }
- return rtn;
- }
- /**
- * @desc : path의 노들르 CSV로 가져옴
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fGetCSV( path )
- {
- sysf_trace_emr("***** MMR01300 fGetCSV( "+path+" ) *****");
- if (path == "formrec")
- {
- return fGetFormRec("formrecdd") +"▦"+ fGetFormRec("formrechm") +"▦"+ fGetFormRec("formrecextnnm");
- }
- else// if (flag == "recitem")
- {
- var nodes = this.objects[ path ];
- var saveRgstInfo = "";
-
- if( !utlf_isNull(nodes) ){
- sysf_trace_emr("jw.choe rectermcd != '' || reccnts != '' null 체크도 해야하나? ");
- nodes.filter("!utlf_isNull(rectermcd) || !utlf_isNull(reccnts)");
- for (var i=0; i<nodes.rowcount; i++)
- {
- saveRgstInfo = saveRgstInfo.concat(nodes.getColumn(i, "rectermcd"));
- saveRgstInfo = saveRgstInfo.concat(nodes.getColumn(i, "rectermnm"));
- saveRgstInfo = saveRgstInfo.concat(nodes.getColumn(i, "reccnts"));
-
- saveRgstInfo = saveRgstInfo.concat(".");
- }
-
- nodes.filter("");
- }
- sysf_trace_emr("***** return saveRgstInfo : " + saveRgstInfo + " *****");
- return saveRgstInfo;
- }
- }
- function fSetOldFormRecInfo()
- {
- // debugger;
-
- g_formrec_oldimge = fGetCSV("formrec");
- g_recitem_oldimge = fGetCSV(gPageInfo.recItemRef);
- }
- /**
- * @desc : 기록초기화(노드 삭제)
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fInitDataSrc()
- {
- sysf_trace_emr("***** MMR01300 fInitDataSrc() *****");
- dsf_clearDsList(arrDsRecinfo, this);
- dsf_clearDsList(arrDsExtnRecinfo, this);
- // model.removeNodeset(gPageInfo.recRef);
- // model.removeNodeset(gPageInfo.extnrecRef);
- }
- /**
- * @desc : 기록관련 노드 초기화
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fSetNewFormRec()
- {
- sysf_trace_emr("***** MMR01300 fSetNewFormRec() 기록관련 노드 초기화 *****");
- fInitDataSrc();
- fSetFormRec("status" , "C");
- fSetFormRec("pid" , fGetPamInfo("pid"));
- if (fGetPamInfo("ioflag") == "O" || fGetPamInfo("ioflag") == "S")
- {
- fSetFormRec("orddd" , fGetPamInfo("orddd"));
- fSetFormRec("orddrid" , fGetPamInfo("orddrid"));
- }
- else
- {
- fSetFormRec("orddd" , fGetPamInfo("indd"));
- fSetFormRec("orddrid" , fGetPamInfo("medispclid"));
- }
- fSetFormRec("cretno" , fGetPamInfo("cretno"));
- if (fGetPamInfo("orddeptcd") == "2280000000")
- fSetFormRec("chosflag" , "E");
- else
- fSetFormRec("chosflag" , fGetPamInfo("ioflag"));
- fSetFormRec("orddeptcd" , fGetPamInfo("orddeptcd"));
- fSetFormRec("formrecdeptcd" , sysf_getUserInfo("dutplcecd"));
- fSetFormRec("formrecdeptnm" , sysf_getUserInfo("dutplcenm"));
- fSetFormRec("formrecuserid" , sysf_getUserInfo("userid"));
- fSetFormRec("formrecusernm" , sysf_getUserInfo("usernm"));
- fSetFormRec("lastrechistseq" , 0);
- fSetFormRec("delyn" , "N");
- fSetFormRec("valiyn" , "Y");
- fSetFormRec("formcd" , fGetFormMast("formcd"));
- fSetFormRec("srcformcd" , fGetFormMast("srcformcd"));
- fSetFormRec("formfromdt" , fGetFormMast("formfromdt"));
- fSetFormRec("formdegnseq" , fGetFormMast("formdegnseq"));
- fSetFormRec("formrecextnnm" , "");
-
- //2008/01/24 박종훈 수정(미비서식 기록시 기록일자를 받아서 셋한다)
- var formrecdd = ""
-
- var formrecdd = frmf_getParameter("SSMMR01100_formrecdd");
- var formrechm = frmf_getParameter("SSMMR01100_formrechm");
- //var formrechm = "0000";
- var recddyn = false;
-
- if (utlf_isNull(formrechm))
- {
- formrechm = utlf_getCurrentTime().substring(0, 4);
- }
-
- if (utlf_isNull(formrecdd) && (fGetFormRec("chosflag") == "O" || fGetFormRec("chosflag") == "S"))
- {
- var rsrvflag = ds_main_paminfo.getColumn(0, "rsrvflag");
- formrecdd = ds_main_paminfo.getColumn(0, "orddd");
- formrechm = utlf_getCurrentTime().substring(0, 4);
- }
- else
- {
- if (fGetFormRec("srcformcd") == '0000000003')
- {
- if (!utlf_isNull(fGetPamInfo("ertransyn")) && fGetPamInfo("ertransyn") != "N")
- {
- //기록일시 셋팅(응급에서 입원 전환된 일시)
- if (!utlf_isNull(fGetPamInfo("ercareinrmdd")))
- {
- formrecdd = fGetPamInfo("ercareinrmdd");
- }
-
- if (!utlf_isNull(fGetPamInfo("ercareinrmtm")))
- {
- formrechm = fGetPamInfo("ercareinrmtm");
- }
- }
- else
- {
- //기록일시 셋팅(입원일시)
- if (!utlf_isNull(fGetPamInfo("indd")))
- {
- formrecdd = fGetPamInfo("indd");
- }
-
- if (!utlf_isNull(fGetPamInfo("intm")))
- {
- formrechm = fGetPamInfo("intm");
- }
- }
-
- }
- else if (fGetFormRec("srcformcd") == "0000000679")
- {
- //응급실 입실시간
- if (!utlf_isNull(fGetPamInfo("calcdd")) && fGetPamInfo("calcdd") != "00000000")
- {
- formrecdd = fGetPamInfo("calcdd");
- }
-
- if (!utlf_isNull(fGetPamInfo("calctm")) && fGetPamInfo("calctm") != "0000")
- {
- formrechm = fGetPamInfo("calctm");
- }
- }
- else if (fGetFormRec("srcformcd") == "0000000680")
- {
- //기록일시 셋팅(입원일시)
- if (!utlf_isNull(fGetPamInfo("indd")))
- {
- formrecdd = fGetPamInfo("indd");
- }
-
- if (!utlf_isNull(fGetPamInfo("intm")))
- {
- formrechm = fGetPamInfo("intm");
- }
- }
-
- }
-
- if (!utlf_isNull(formrecdd))
- {
- recddyn = true;
- }
-
- if(recddyn)
- {
- fSetFormRec("formrecdd" , formrecdd);
- fSetFormRec("formrechm" , formrechm);
- }
- else
- {
-
- //2010.02.03 dhkim - 퇴원환자 상단정보 올린 경우 현재일자로 세팅되는 부분 문제
- //(퇴원환자는 퇴원일자, 외래환자는 외래진료일자로 세팅하도록 변경)
- if(fGetPamInfo("ioflag") == "O"){
- formrecdd = fGetPamInfo("orddd");
- }else{
-
- //2010.02.18 dhkim 가퇴원 추가 , 퇴원일없을경우 처리, 입원상태의 경우 현재일자로 세팅
- if(fGetPamInfo("indschacptstat") == "D" || fGetPamInfo("indschacptstat") == "T"){
- formrecdd = fGetPamInfo("dschdd");
- formrechm = fGetPamInfo("dschtm");
- }else{
-
- //2010.02.18 dhkim
- //입원상태일 경우는 현재일자로 세팅함
- formrecdd = utlf_getCurrentDate();
- formrechm = utlf_getCurrentTime().substring(0, 4);
- }
-
- }
-
- //2010.02.08 dhkim 널처리 현재일시추가
- if (utlf_isNull(formrechm))
- {
- formrechm = utlf_getCurrentTime().substring(0, 4);
- }
-
- fSetFormRec("formrecdd" , formrecdd);
- fSetFormRec("formrechm" , formrechm);
- }
- fSetFormRec("signedyn" , "N");
- }
- /*******************************************************************************************************
- 튜닝 작업
- *******************************************************************************************************/
- /**
- * @desc : 기록 내용 조회
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fGetRecFormInfo(formrecseq)
- {
- sysf_trace_emr("***** MMR01300 fGetRecFormInfo("+formrecseq+") *****");
-
- var objColInfo = new Array();
- objColInfo.push({col: "formrecseq", type:"BIGDECIMAL", size:256, val: formrecseq});
- dsf_createDsRow("ds_send_reqrec", objColInfo);
-
- var oParam = {};
- oParam.id = "TRMMR01301";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqGetFormRecInfo";
- oParam.inds = "req=ds_send_reqrec";
- oParam.outds = "ds_data_formrec=formrec ds_data_recitem=recitem";
- oParam.async = false;
- oParam.callback = "cf_TRMMR01301";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRMMR01301") > -1)
- {
- doReplaceLtGt(ds_data_recitem);
- return true;
- }
-
- return false;
- }
- function cf_TRMMR01301(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- if(nErrorCode < 0) return;
- //sysf_trace_emr("***** cf_TRMMR01301 *****");
- }
- /**
- * @desc : 코사인시 변경된 데이터 여부 검사
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fCheckChangeDataForCosign()
- {
- sysf_trace_emr("***** fCheckChangeDataForCosign() MMR01300 *****");
- //debugger;
- var rtn;
- var ischg_formrec = false;
- var ischg_recitem = false;
-
- if (isProgForm())
- {
- ivw_base.getSaveComnFormData(null, "1");
- }
- else
- {
- ivw_base.getSaveData("ds_temp_sort_recitem", "replace", this, null, null);
- SortRecItem();
- }
-
- g_formrec_newimge = fGetCSV("formrec");
- g_recitem_newimge = fGetCSV("ds_hidden_recitem");
- dsf_clearDsList(["ds_hidden_recitem"], this);
- //model.removeNodeset(gPageInfo.recItemRef2);
-
- if (g_formrec_newimge_cosign != g_formrec_newimge && !utlf_isNull(g_formrec_newimge_cosign) && !utlf_isNull(g_recitem_newimge_cosign))
- {
- ischg_formrec = true;
- }
-
- if (g_recitem_newimge_cosign != g_recitem_newimge)
- {
- ischg_recitem = true;
- }
-
- if (ischg_formrec == false && ischg_recitem == false)
- {
- rtn = "N";
- }
- else if (ischg_formrec == true && ischg_recitem == false)
- {
- rtn = "Y";
- }
- else
- {
- rtn = "Y";
- }
-
- //이윤주 수정
- var srcformcd = fGetFormRec("srcformcd");
-
- if (srcformcd == "0800003416")
- {
- rtn = "N";
- }
- return rtn;
- }
- /**
- * @desc : 기록 저장 로직
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fSaveComnFormRecInfoForCosign(signedYn)
- {
- try {
- //2010.03.12 안치원 - 수정없이 staff-sign할때 xsltflag가 들어가지 않는 오류수정
- ivw_base.window.javascript.getSubmitID_MMR01300I("staffsign");
- } catch (e) {
- }
-
- var savedInfo = new SAVED_INFO();
- var stext_path = "/root/send/saverecinfo/formrec/certcnts";
- var bfstext_path = "/root/send/saverecinfo/formrec/bfcertcnts"; //인증전데이터
- var espiyn_path = "/root/send/saverecinfo/formrec/espiyn"; //인증저장여부
- var saverecinfo_path = "/root/send/saverecinfo/formrec";
-
- var sUserID = getUserInfo("userid");
-
- //이미지 삭제관련
- model.makeNode("/root/remtmp");
- model.makeNode("/root/remitemtmp");
- model.makeNode("/root/remtmp/recinfo");
- model.copyNode("/root/remtmp/recinfo", gPageInfo.recRef);
- model.removeNodeset("/root/remtmp/recinfo/recitem");
-
- model.copyNode("/root/remitemtmp", gPageInfo.recRef);
- model.removeNodeset("/root/remitemtmp/formrec");
-
- var itemNode = model.instances(0).selectNodes("/root/remitemtmp/recitem");
-
- for(var i = 0; i < itemNode.length; i++)
- {
- var sDgnItmKind = itemNode.item(i).selectSingleNode("degnitemkind").text;
-
- if (sDgnItmKind == "IMG" || sDgnItmKind == "FDG")
- {
- model.setValue("/root/remitemtmp/recitem[" + (i + 1) + "]/srcimge", "");
- model.setValue("/root/remitemtmp/recitem[" + (i + 1) + "]/recimge", "");
- model.setValue("/root/remitemtmp/recitem[" + (i + 1) + "]/reccnts", "");
- }
- }
-
- //model.copyNodeset("/root/remtmp", "/root/remitemtmp");
- copyNodeset("/root/remtmp/recinfo/recitem", "/root/remitemtmp/recitem", "append", model, model);
- model.removeNodeset("/root/remitemtmp"); //삭제를 위한 기록항목 인스턴스 삭제
-
- //var signrecinfo = model.instances(0).selectSingleNode(gPageInfo.recRef).xml;
-
- //이미지 삭제관련
- var signrecinfo = model.instances(0).selectSingleNode("/root/remtmp/recinfo").xml; //이미지 삭제된 인스턴스
- model.removeNodeset("/root/remtmp"); //삭제를 위한 기록항목 인스턴스 삭제
-
-
- //서식검색창이 포커스는 잡는 문제로 진료기록메인에서 인증창 호출 할 경우 기록메인의 저장로직 타도록 수정
- //2008-08-01 박종훈
- var oprnerId = opener.window.javascript.getScreenID();
-
- if(oprnerId == "SMMMR00100")
- {
- // KNUH_20100820_박성호_start 인증서 안나오게 수정
- var signedrecinfo = opener.window.javascript.fMakeSignData(signrecinfo, fGetFormRec("chosflag"), sUserID);
- //var signedrecinfo = "-";
- // KNUH_20100820_박성호_end
- }
- else
- {
- // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
- // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(4/6)
- // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
- // 하드코드 값 가져오기 로직
- var ls_emrinptsavetime = fGetHardCDList("Y", 401, 3);
- var ll_emrinptsavetime = ls_emrinptsavetime == "" ? 0 : parseInt(ls_emrinptsavetime) * -1;
- // SMAER00400_결과관리(서식).xrw 에서는 모두 외래기준으로 인증서를 띄우도록 적용 // 20111202 knuh 최원돈
- // gSubmitSaveFlag 는 SMAER00400_결과관리(서식)에서만 사용하여서 적용함
- //if (fGetFormRec("chosflag") == "O")
- if ( fGetFormRec("chosflag") == "O"
- || !gSubmitSaveFlag)
- {
- // KNUH_20100820_박성호_start 인증서 안나오게 수정
- var signedrecinfo = zesfSignData(signrecinfo, sUserID, false); //외래환자일경우 한번만 인증서 띄움
- //var signedrecinfo = "-"; //외래환자일경우 한번만 인증서 띄움
- // KNUH_20100820_박성호_end
- }
- // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
- // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(5/6)
- // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
- // 띄우지 않는 로직
- else if ( ( fGetFormRec("chosflag") == "I"
- || fGetFormRec("chosflag") == "E")
- && ll_emrinptsavetime < 0
- && getGlobalVariable("emrinptsavetime") >= getCurrentDateTime().toDate("YYYYMMDD hhmmss").getAddDate(ll_emrinptsavetime, "m").getDateFormat("YYYYMMDD hhmmss"))
- {
- var signedrecinfo = zesfSignData(signrecinfo, sUserID, false); //외래환자일경우 한번만 인증서 띄움
- }
- else
- {
- // KNUH_20100820_박성호_start 인증서 안나오게 수정
- var signedrecinfo = zesfSignData(signrecinfo, sUserID, true);
- //var signedrecinfo = "-";
- // KNUH_20100820_박성호_end
- }
- }
-
- if (signedrecinfo == "")
- {
- fSetFormRec("signedyn", "N");
- return savedInfo;
- }
- else
- {
- fSetFormRec("espiyn", signedYn);
- model.makeValue(espiyn_path, signedYn);
- }
-
- model.copyNode(saverecinfo_path, gPageInfo.recMastRef);
- model.makeValue(bfstext_path, signrecinfo);
- model.makeValue(stext_path, signedrecinfo);
-
- if (submit("TXMMR01302"))
- {
- var mess = model.getValue(gPageInfo.savedInfoRef + "/rsltmsg/msg");
- if (fGetFormRec("status") == "U")
- {
- if(mess == "1")
- {
- messageBox("STAFF SIGN 저장되었습니다.", "I", "");
- btn_cosign.disabled = true;
- if (isProgForm())
- {
-
- //2010-03-31 오전 10:03:38 강지훈 수정 : 최종진단명 요약지 추가
- //ivw_base.window.grup_base.disabled = true;
-
- if(fGetFormRec("srcformcd") == "0000000680"){
- var childrenObj = ivw_base.window.grup_base.children;
- for(i=0; i< childrenObj.length; i++){
- childObj = childrenObj.item(i);
- if (childObj.attribute("id") == "btn_lastdiag_0001013001"){
- childObj.disabled = false;
- }
- else{
- childObj.disabled = true;
- }
- }
- }
- else{
- ivw_base.window.grup_base.disabled = true;
- }
- }
- }
- else
- {
- messageBox(mess, "I", "");
- btn_cosign.disabled = false;
- if (isProgForm())
- {
- ivw_base.window.grup_base.disabled = false;
- }
- }
- }
-
- fSetFormRec("espiyn", fGetFormRec("signedyn"));
-
- g_formrec_newimge_cosign = fGetCSV("formrec");
- g_recitem_newimge_cosign = fGetCSV(gPageInfo.recItemRef2);
- // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
- // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(6/6)
- // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
- // 인증저장된 시간을 저장.
- if ((fGetFormRec("chosflag") == "I" || fGetFormRec("chosflag") == "E") && signedYn == "Y" ) {
- setGlobalVariable("emrinptsavetime", getCurrentDateTime());
- }
- }
- if (model.getValue(gPageInfo.savedInfoRef + "/rsltmsg/msg") == "1")
- {
- // savedInfo.formrecseq = parseInt(model.getValue(gPageInfo.savedInfoRef + "/rsltmsg/formrecseq"));
- // savedInfo.rechistseq = parseInt(model.getValue(gPageInfo.savedInfoRef + "/rsltmsg/rechistseq"));
- //2010.03.24 안치원 - formrecseq 지수로 표현되는 오류수정
- savedInfo.formrecseq = model.getValue(gPageInfo.savedInfoRef + "/rsltmsg/formrecseq");
- savedInfo.rechistseq = model.getValue(gPageInfo.savedInfoRef + "/rsltmsg/rechistseq");
- g_formrec_oldimge = g_formrec_newimge;
- g_recitem_oldimge = g_recitem_newimge;
- }
-
- if (fGetFormRec("status") != "D" && savedInfo.formrecseq != 0)
- {
- fSetFormRec("status", "U");
- fSetFormRec("formrecseq", savedInfo.formrecseq);
- fSetFormRec("lastrechistseq", savedInfo.rechistseq);
- fSetFormRec("cosign", model.getValue(gPageInfo.savedInfoRef + "/rsltmsg/cosign")); //2010-03-31 오전 10:06:14 강지훈 추가 : 최종진단명 요약 추가
- fSetFormRec("espiseq", model.getValue(gPageInfo.savedInfoRef + "/rsltmsg/espiseq"));
- }
- if(mess == "1" || savedInfo.formrecseq != null)
- {
- return savedInfo;
- }
- }
- /**
- * @desc : 입퇴원요약지 - 최종진단명을 입력시 staff sign 반려
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 2010-02-21 오후 3:09:03 강지훈
- */
- function fSaveLastDiagRec(signedYn)
- {
-
- var rsltMsg = "진단명 수정-최종진단명 요약지 작성";
- var saverecinfo_path = "/root/send/saverecinfo/formrec";
-
- model.copyNode(saverecinfo_path, gPageInfo.recMastRef);
-
- model.removeNodeset("/root/send/saverecinfo/formrec/status");
- model.removeNodeset("/root/send/saverecinfo/formrec/cosign");
- model.removeNodeset("/root/send/saverecinfo/formrec/dralertcnts");
-
-
- model.makeValue("/root/send/saverecinfo/formrec/status", "D");
- model.makeValue("/root/send/saverecinfo/formrec/cosign", "Y");
- model.makeValue("/root/send/saverecinfo/formrec/dralertcnts", rsltMsg);
-
-
- if (submit("TXMMR01302"))
- {
-
- fSetFormRec("cosign", "N");
- ivw_base.window.grup_base.disabled = false;
- btn_cosign.disabled = false;
- fAfterSaveExtnDoing();
-
-
- }
-
- }
- ]]></Script>
|