1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621 |
- <?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 = "";
- /****************************************************************************************
- * Function : fSetSaveComnFormRecInfo
- * Description : 저장을 위한 기록정보 셋팅
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fSetSaveComnFormRecInfo(signedYn)
- {
- sysf_trace("***** fSetSaveComnFormRecInfo() MMR01300 저장을 위한 기록정보 셋팅 *****");
- var msgYn = oOpener.frmf_getParameter("SaveMsgYn");
- sysf_trace("@@@@@ msgYn : " + msgYn + " @@@@@");
- if( this.objects["ds_send_saverecinfo_recitem"] == null ) dsf_createDs("ds_send_saverecinfo_recitem");
-
- if (fGetFormRec("status") == "D" && msgYn != "N")
- {
- var rtnVal = sysf_messageBox("기록을 삭제", "S001");
- if(rtnVal == "7")
- return "N";
- else if(rtnVal == "2")
- return "C";
- }
- else
- {
- var rtn = fCheckChangeData();
- sysf_trace("@@@@@ rtn(fCheckChangData): " + rtn + " @@@@@");
- if (rtn == "N")
- {
- return "N";
- }
- else if (rtn == "M")
- {
-
- }
- else
- {
- //가계도, 이미지, 추가입력 데이터 저장 시 필수 컬럼 누락 된 것 재셋팅, 노드 중복 방지를 위해 model.makeNode사용.
- var cnts = ds_data_recitem.getRowCount();
- for(var i = 0; i < cnts; i++)
- {
- var degnitemkind = ds_data_recitem.getColumn(i, "degnitemkind");
- var degnitemnm = ds_data_recitem.getColumn(i, "degnitemnm");
-
- if ( degnitemkind == "IMG" || degnitemkind=="FDG" || degnitemnm =="§추가입력" )
- {
- var adIdx1 = ds_data_recitem.addColumn("recrefcd", "string");
- var adIdx2 = ds_data_recitem.addColumn("recitemnm", "string");
- var adIdx3 = ds_data_recitem.addColumn("supdegnitemno", "string");
- var adIdx4 = ds_data_recitem.addColumn("extdegnitemlevlcd", "string");
- var adIdx5 = ds_data_recitem.addColumn("rectermflag", "string");
- var adIdx6 = ds_data_recitem.addColumn("degnunitcd", "string");
-
- if( adIdx1 != -1 || adIdx2 != -1 || adIdx3 != -1 || adIdx4 != -1 || adIdx5 != -1 || adIdx6 != -1 ){
- sysf_trace("!!!!! 컬럼 누락 확인 degnitemkind : " + degnitemkind + " || adIdx1 : " + adIdx1 + " || adIdx2 : " + adIdx2
- + " || adIdx3 : " + adIdx3 + " || adIdx4 : " + adIdx4 + " || adIdx5 : " + adIdx5 + " || adIdx6 : " + adIdx6);
- }
- }
- }
-
- var grdDs = this.objects[grd_recitem.binddataset];
- sysf_trace("@@@@@ grdDsCnt : " + grdDs.rowcount + " @@@@@");
-
- for (var i = 0; i < grdDs.rowcount; i++)
- {
- grdf_setStatus(grd_recitem, "I", [i]);
- }
-
- var CSVdata = grdf_getGridUpdateData(grd_recitem);
- if( this.objects["ds_send_saverecinfo_recitem"] == null ) dsf_createDs("ds_send_saverecinfo_recitem");
- ds_send_saverecinfo_recitem.copyData(CSVdata, true);
-
- }
- }
- if( this.objects["ds_send_saverecinfo_formrec"] == null ) dsf_createDs("ds_send_saverecinfo_formrec");
- ds_send_saverecinfo_formrec.copyData(ds_data_formrec);
- ds_send_saverecinfo_formrec.addColumn("rscdoctid", "string");
- ds_send_saverecinfo_formrec.setColumn(0, "rscdoctid", dsf_getColumnNullToEmpty(ds_data_formrec, 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 ? "" : ivw_base.ds_init_cond.getColumn(0, "anstflag"));
- ds_send_saverecinfo_formrec.addColumn("gubunflag", "string");
- ds_send_saverecinfo_formrec.setColumn(0, "gubunflag", ivw_base.objects["ds_init_cond"] == null ? "" : ivw_base.ds_init_cond.getColumn(0, "gubunflag"));
- ds_send_saverecinfo_formrec.setColumn(0, "recvdeptcd", ivw_base.objects["ds_init_cond"] == null ? "" : ivw_base.ds_init_cond.getColumn(0, "recvdeptcd")); // 컨설트에 필요
-
- //진찰료 산정여부 세팅(20170521 이윤주)
- if( ds_send_saverecinfo_formrec.getColumnInfo("jinyn") == null ){
- ds_send_saverecinfo_formrec.addColumn("jinyn", "string");
- }
- ds_send_saverecinfo_formrec.setColumn(0, "jinyn", ivw_base.objects["ds_init_cond"] == null ? "" : ivw_base.ds_init_cond.getColumn(0, "jinyn"));
- // [요청번호:20171026045] 의무기록 접근권한 관리 및 정정관리 프로그램개발 요청
- if(lf_getChkRecCorrect(signedYn) == false ){
- return "N";
- }
- }
-
- /**
- * @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());
- }
- /****************************************************************************************
- * Function : fSaveComnFormRecInfo
- * Description : 기록 저장 로직
- * Argument : 01. signedYn - 인증저장유무
- * retrun type :
- * Creator :
- ****************************************************************************************/
- var gSubmitSaveFlag = true;
- function fSaveComnFormRecInfo(signedYn)
- {
- sysf_trace("****** 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);
- }
- //2016.04.22 기록삭제 중지기능 추가
- var rtnSaveRecInfo = fSetSaveComnFormRecInfo(signedYn);
- if( rtnSaveRecInfo == "N" )
- {
- return savedInfo;
- }
- else if( rtnSaveRecInfo == "C" ) // 중지
- {
- savedInfo.rechistseq = -100;
- 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);
- 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
-
- sysf_trace(objDOM.documentElement.source);
- var signrecinfo = objDOM.documentElement.source; //이미지 삭제된 인스턴스
- // Temp Ds Delete
- dsf_deleteDs("ds_remtmp_formrec"); //삭제를 위한 기록항목 인스턴스 삭제
- dsf_deleteDs("ds_remtmp_recitem");
- */
-
-
- var signrecinfo = lf_makeSignData();
-
- utlf_addLog(signrecinfo);
-
- 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" && sysf_getObjType(this) != "Form")
- {
- // 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);
- }
- //utlf_addLog(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);
- }
- else
- {
-
- fSetFormRec("espiyn", "N");
- ds_send_saverecinfo_formrec.setColumn(0, "espiyn", "N"); //인증저장여부
- ds_send_saverecinfo_formrec.setColumn(0, "certcnts", "");
- }
- if (gSubmitSaveFlag)
- {
- var submit = false;
-
- 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_deleteColumn(ds_send_saverecinfo_formrec, "formrecdrid");
-
-
- if( ds_send_saverecinfo_recitem.rowcount != 0 ){
- dsf_setDefaultVal(ds_send_saverecinfo_recitem, "formdegnseq:0,degnitemlevlno:1,supdegnitemno:0");
- dsf_setTypeFormat(ds_send_saverecinfo_recitem,"recitemno:BICDEDIMAL^degnitemno:BIGDECIMAL^degnitemlevlno:BIGDECIMAL^supdegnitemno:BIGDECIMAL^recimge:BLOB^srcimge:BLOB");
- }
- utlf_addLog(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 mdfrecinfo=ds_save_mdfrecinfo unprep=ds_save_unprepinfo";
- oParam.outds = "ds_main_savedinfo_rsltmsg=rsltmsg";
- oParam.async = false;
- //oParam.progress = false;
- oParam.callback = "cf_TXMMR01303";
- if( GSUBMIT == true ) // TEST 목적
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMMR01303") > -1 ){
- submit = true;
- }
- }else if( submitID == "TXMMR01301"){
- dsf_setDefaultVal(ds_send_saverecinfo_formrec, "cosignyn:N");
- dsf_setTypeFormat(ds_send_saverecinfo_formrec, "cretno:INT^oprsrvno:BIGDECIMAL");
-
- dsf_deleteColumn(ds_send_saverecinfo_formrec, "formrecdrid");
-
- if( ds_send_saverecinfo_recitem.rowcount != 0 ){
- dsf_setDefaultVal(ds_send_saverecinfo_recitem, "formdegnseq:0,degnitemlevlno:1,supdegnitemno:0");
- dsf_setTypeFormat(ds_send_saverecinfo_recitem, "recitemno:BIGDECIMAL^degnitemno:BIGDECIMAL^degnitemlevlno:BIGDECIMAL^supdegnitemno:BIGDECIMAL^recimge:BLOB^srcimge:BLOB");
- }
-
-
- var oParam = {};
- oParam.id = "TXMMR01301";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqExeComnFormRec";
- oParam.inds = "formrec=ds_send_saverecinfo_formrec recitem=ds_send_saverecinfo_recitem mdfrecinfo=ds_save_mdfrecinfo unprep=ds_save_unprepinfo";
- oParam.outds = "ds_main_savedinfo_rsltmsg=rsltmsg";
- oParam.async = false;
- //oParam.progress = false;
- oParam.callback = "cf_TXMMR01301";
- if( GSUBMIT == true ) // TEST 목적
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMMR01301") > -1 ){
- submit = true;
- }
-
- }
-
- sysf_trace("*****submitID : " + submitID + " || submit : " + submit);
- if (submit)
- {
- var mess = utlf_transNullToEmpty(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_data_recitem.lookup("degnitemlevlcd", "0011529.0000146", "reccnts"));
- sysf_messageBox(mess, "E", "");
-
- dsf_makeValue(ds_main_savedinfo_rsltmsg, "msg", "1", 0);
- 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", "");
- }
- gChkModiRecFlag = true;
- fSetFormRec("espiyn", fGetFormRec("signedyn"));
- g_recitem_oldrec = fGetCSV("ds_data_recitem");
- g_formrec_newimge_cosign = fGetCSV("formrec");
- g_recitem_newimge_cosign = fGetCSV("ds_data_recitem");
- // 입원 또는 응급일 경우 // 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.grup_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.grup_base.enable){
- ivw_base.grup_base.enable = false;
- }
- }
- }
- else
- {
- grup_btn.btn_cosign.enable = true;
-
- //2010-04-07 강지훈 수정 : TF버그로 인해 분기. TF버그 수정반영되면 수정해야함.
- if (isProgForm() && !ivw_base.grup_base.enable)
- {
- ivw_base.grup_base.enable = true;
- }
- else if(isProgForm() && fGetFormRec("srcformcd") == "0000000680"){
- ivw_base.grup_base.enable = true;
- }
- }
- }
- if (fGetFormRec("status") != "D" && savedInfo.formrecseq != 0)
- {
- //fAfterSaveExtnDoing(fGetFormRec("status")); // 저장 후 호출함수
- fSetFormRec("status", "U");
- fSetFormRec("formrecseq", savedInfo.formrecseq);
- fSetFormRec("lastrechistseq", savedInfo.rechistseq);
- fSetFormRec("espiseq", ds_main_savedinfo_rsltmsg.getColumn(0, "espiseq"));
-
- grup_titl.cap_formnm.text = ds_data_formmast.getColumn(0, "formnminfo") + " - 수정 중";
- }
- 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) {
- utlf_addLog("***** cf_TXMMR01303 nErrorCode *****");
- agv_objAppBottomPath.form.stt_statusMsg.text = sErrorMsg;
- return;
- }
- utlf_addLog("***** cf_TXMMR01303 *****");
-
- dsf_setDefaultVal(ds_main_savedinfo_rsltmsg, "cosign:N");
- }
- function cf_TXMMR01301(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- if(nErrorCode < 0) {
- utlf_addLog("***** cf_TXMMR01301 nErrorCode *****");
- agv_objAppBottomPath.form.stt_statusMsg.text = sErrorMsg;
- return;
- }
-
- utlf_addLog("***** cf_TXMMR01301 *****");
-
- 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;
- }
- }
- /****************************************************************************************
- * Function : fSetFormRec
- * Description : 해당 값을 인스턴스에 추가
- * retrun type :
- * Creator : MMR01300에서 서식관련으로 이동
- ****************************************************************************************/
- // function fSetFormRec(key, val)
- // {
- //
- // dsf_makeValue(ds_data_formrec, key, "string", val);
- // //model.makeValue(gPageInfo.recMastRef + "/" + key, val);
- // }
- /****************************************************************************************
- * Function : fGetFormRec
- * Description : 해당 값을 인스턴스에서 가져오기
- * retrun type :
- * Creator : MMR01300에서 서식관련으로 이동
- ****************************************************************************************/
- // 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");
- }
- /****************************************************************************************
- * Function : fCheckChangeData
- * Description : 변경된 데이터 여부 검사
- * retrun type :
- * Creator :
- ****************************************************************************************/
- function fCheckChangeData()
- {
- sysf_trace("***** fCheckChangeData() 변경된 데이터 여부 검사 MMR01300*****");
- var rtn;
- var ischg_formrec = false;
- var ischg_recitem = false;
-
- g_formrec_newimge = fGetCSV("formrec");
- g_recitem_newimge = fGetCSV("ds_data_recitem");//ds_hidden_recitem
- if (fGetFormRec("status") == "C")
- {
- if (ds_data_recitem.rowcount == 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 )
- // {
- // utlf_addLog("***** MMR01300 fGetCSV( "+path+" ) *****");
- // if (path == "formrec")
- // {
- // return fGetFormRec("formrecdd") +"▦"+ fGetFormRec("formrechm") +"▦"+ fGetFormRec("formrecextnnm");
- // }
- // else// if (flag == "recitem")
- // {
- //
- // var saveRgstInfo = "";
- // var sRectermcd = "";
- // var sRectermnm = "";
- // var sReccnts = "";
- //
- // eval(path).keystring = "S:degnitemlevlcd"; // 계층코드 기준 기록데이터 정렬
- // for(var i = 0; i < eval(path).rowcount; i++)
- // {
- // nRow = eval(path).findRowExpr(" (rectermcd != '"+null+"' || reccnts != '"+null+"') && degnitemkind != 'GRD'", i);
- // if(nRow != -1)
- // {
- // sRectermcd = eval(path).getColumn(nRow, "rectermcd");
- // sRectermnm = eval(path).getColumn(nRow, "rectermnm");
- // sReccnts = eval(path).getColumn(nRow, "reccnts");
- //
- // if(!utlf_isNull(sRectermcd))
- // saveRgstInfo += sRectermcd + ".";
- //
- // if(!utlf_isNull(sRectermnm))
- // saveRgstInfo += sRectermnm + ".";
- //
- // if(!utlf_isNull(sReccnts))
- // saveRgstInfo += sReccnts + ".";
- //
- // }
- // }
- // eval(path).keystring = "";
- // return saveRgstInfo;
- // /*
- // var nodes = this.objects[ path ];
- // var saveRgstInfo = "";
- //
- // if( !utlf_isNull(nodes) ){
- // 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("");
- // }
- // return saveRgstInfo;
- // */
- // }
- // }
- function fSetOldFormRecInfo()
- {
- // debugger;
- utlf_addLog("***** fSetOldFormRecInfo() *****");
- g_formrec_oldimge = fGetCSV("formrec");
- g_recitem_oldimge = fGetCSV("ds_data_recitem");
- }
- /**
- * @desc : 기록초기화(노드 삭제)
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fInitDataSrc()
- {
- utlf_addLog("***** MMR01300 fInitDataSrc() *****");
- ds_data_formrec.clearData();
- // 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()
- {
- utlf_addLog("***** MMR01300 fSetNewFormRec() 기록관련 노드 초기화 *****");
- fInitDataSrc();
- var objForm = this.getOwnerFrame().form;
- var scrnID = objForm.frmf_getScreenID();
- var paminfo = sysf_getGlobalVariable("paminfo")
- //var sFormrecdd = "";
-
- fSetFormRec("status" , "C");
- if( utlf_isNull(paminfo) || (!utlf_isNull(objForm) && (scrnID == "SPMMR05400" || scrnID == "SMAER00400" || scrnID == "SMANC00300" || scrnID == "SPMMO50000" || scrnID == "SMMMR02900") ) || gTopYn == false )
- { // 부서별 기록, 검사결과, 영양관리, 다학제 화면은 상단정보와 다른 환자선택하여 서식이 작성 가능하므로
- fSetFormRec("pid" , ds_temp_formdata.getColumn(0, "pid"));
- fSetFormRec("orddd" , ds_temp_formdata.getColumn(0, "orddd"));
- fSetFormRec("cretno" , ds_temp_formdata.getColumn(0, "cretno"));
- var sOrddeptcd = ds_temp_formdata.getColumn(0, "orddeptcd");
- if( !utlf_isNull(sOrddeptcd) )
- fSetFormRec("orddeptcd" , sOrddeptcd);
- var sIoflag = ds_temp_formdata.getColumn(0, "ioflag");
- if( !utlf_isNull(sIoflag) )
- fSetFormRec("chosflag" , sIoflag);
- var sWardcd = dsf_getColumnNullToEmpty(ds_temp_formdata, 0, "wardcd")
- if( !utlf_isNull(sWardcd) )
- fSetFormRec("wardcd" , sWardcd);
-
- // if( !utlf_isNull(ds_temp_formdata.getColumn(0, "orddrid")) )
- // fSetFormRec("orddrid" , ds_temp_formdata.getColumn(0, "orddrid"));
- //sFormrecdd = ds_temp_formdata.getColumn(0, "orddd");
- }
- else
- {
- 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"));
- // 2019.01.07 응급의학과일경우 chosflag E로 설정하는 부분 제거(이윤주 선생님 요청)
- // 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" , "");
- fSetFormRec("fstktas" , "N"); //이윤주 추가
-
- //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_data_paminfo.getColumn(0, "rsrvflag");
-
- // 2016.09.08 TF 상단정보 미사용일경우 PAMINFO 정보 변경로직은 XP일 경우 ds_data_formdata 정보로 설정
- if( (!utlf_isNull(objForm) && (scrnID == "SPMMR05400" || scrnID == "SMAER00400" || scrnID == "SMANC00300" || scrnID == "SPMMO50000" || scrnID == "SMMMR02900") ) || gTopYn == false ){
- formrecdd = ds_temp_formdata.getColumn(0, "orddd");
- }else{
- formrecdd = ds_data_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)
- {
- utlf_addLog("***** 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.progress = false;
- oParam.callback = "cf_TRMMR01301";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRMMR01301") > -1)
- {
- g_recitem_oldrec = fGetCSV("ds_data_recitem"); // 로딩 시점의 기록데이터 xml형태로 저장. 다른 서식 로드시 저장여부 체크를 위함.
- utlf_addLog("!!!!!! g_recitem_oldrec : " + g_recitem_oldrec );
- doReplaceLtGt(ds_data_recitem);
- return true;
- }
-
- return false;
- }
- function cf_TRMMR01301(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- if(nErrorCode < 0) return;
- utlf_addLog("***** cf_TRMMR01301 *****");
- }
- /**
- * @desc : 코사인시 변경된 데이터 여부 검사
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fCheckChangeDataForCosign()
- {
- utlf_addLog("***** fCheckChangeDataForCosign() MMR01300 *****");
- //debugger;
- var rtn;
- var ischg_formrec = false;
- var ischg_recitem = false;
-
- if (isProgForm())
- {
- //ivw_base.getSaveComnFormData(null, "1");
-
- var rtn = lf_getProgFormRecData(); // 공통서식 기록데이터 취합
- if(rtn == false)
- return;
-
- ds_data_recitem.copyData(ivw_base.ds_data_recitem);
- }
- else
- {
- // ivw_base.getSaveData("ds_temp_sort_recitem", "replace", this, null, null);
- // SortRecItem();
- lf_getGenFormData();
- }
-
- g_formrec_newimge = fGetCSV("formrec");
- g_recitem_newimge = fGetCSV("ds_data_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 : 입퇴원요약지 - 최종진단명을 입력시 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();
-
-
- }
-
- }
- /****************************************************************************************
- * Function : lf_makeSignData
- * Description : 인증데이터 조합
- * retrun type : sign_data : 인증데이터
- * Creator :
- ****************************************************************************************/
- function lf_makeSignData()
- {
- if(ds_data_formrec.rowcount == 0 || ds_data_recitem.rowcount == 0)
- return "";
-
- //fSetFormRec("bfcertcnts", "");
- var arrRows = new Array();
- var nRow = -1;
- var indx = 0;
-
- //formrec 헤더 생성
- var sign_data = "<recinfo>\n";
-
- //formrec part 생성
- sign_data += " <formrec>\n";
-
- var ColId = "";
- for(var i = 0; i < ds_data_formrec.colcount; i++)
- {
- ColId = ds_data_formrec.getColID(i);
- if(ColId == "instcd"){
- sign_data += " <" + ColId + "><![CDATA[" + sysf_getUserInfo("dutplceinstcd") +"]]]]><![CDATA[></" + ColId + ">\n";
- }else{
- if(utlf_isNull(ds_data_formrec.getColumn(0, ColId)))
- sign_data += " <" + ColId + "/>\n"
- else
- sign_data += " <" + ColId + "><![CDATA[" + ds_data_formrec.getColumn(0, ColId) + "]]]]><![CDATA[></" + ColId + ">\n";
- }
- }
- sign_data += " </formrec>\n";
- //recitem part 생성
- for (var i = 0; i < ds_data_recitem.rowcount; i++)
- {
- sign_data += " <recitem>\n";
- for(var j = 0; j < ds_data_recitem.colcount; j++)
- {
- ColId = ds_data_recitem.getColID(j);
- var degnitemkind = ds_data_recitem.getColumn(i, "degnitemkind");
- if(degnitemkind == "FDG" || degnitemkind == "IMG") // 이미지 데이터가 있으면 srcimge, recimge, reccnts 초기화
- {
- if(ColId == "instcd")
- {
- sign_data += " <" + ColId + "><![CDATA[" + sysf_getUserInfo("dutplceinstcd") + "]]]]><![CDATA[></" + ColId + ">\n";
- }
- else if( (ColId == "srcimge" || ColId == "recimge" || ColId == "reccnts") || (utlf_isNull(ds_data_recitem.getColumn(i, ColId))) )
- {
- sign_data += " <" + ColId + "/>\n";
-
- }
-
- else if(ColId == "degnitemno" && (parseInt(ds_data_recitem.getColumn(i, "degnitemno")) < 10000))
- {
- sign_data += " <" + ColId + "><![CDATA[" + ds_data_recitem.getColumn(i, ColId) + "]]]]><![CDATA[></" + ColId + ">\n";
-
- if(ivw_base.isValidObject("gItemCds"))
- {
- for(var k = 0; k < ivw_base.gItemCds.length; k++)
- {
- var divComp = ivw_base.grup_base.components["ivw_" + ivw_base.gItemCds[k]];
-
- if(!utlf_isNull(divComp))
- {
- for(var l = 0; l < divComp.all.length; l++){
- if(divComp.all[l] instanceof ActiveX){
-
- var obj_Image = divComp.all[l];
- var obj_ImageNm = divComp.all[l].name;
-
- var imgDegnNo = obj_ImageNm.replace("IMG_", "");
-
- if(ds_data_recitem.getColumn(i, "degnitemno") != imgDegnNo){
- continue;
- }
-
- sign_data += " <width><![CDATA[" + obj_Image.position.width + "]]]]><![CDATA[></width>\n";
- sign_data += " <height><![CDATA[" + obj_Image.position.height + "]]]]><![CDATA[></height>\n";
- }
- }
- }
- }
- }
- }
- else
- {
- sign_data += " <" + ColId + "><![CDATA[" + ds_data_recitem.getColumn(i, ColId) + "]]]]><![CDATA[></" + ColId + ">\n";
- }
- }
- else // 이미지 데이터가 없으면
- {
- if(utlf_isNull(ds_data_recitem.getColumn(i, ColId)))
- {
- sign_data += " <" + ColId + "/>\n";
- }
- else
- {
- sign_data += " <" + ColId + "><![CDATA[" + ds_data_recitem.getColumn(i, ColId) + "]]]]><![CDATA[></" + ColId + ">\n";
- }
- }
- }
- sign_data += " </recitem>\n";
- }
-
- //20170619 x009 추가 - 통합기록조회 및 사본에서 max열갯수에 따른 표를 그리기 위해
- var xGridTempNodeInfo = fGetFormRec("xgridtempnodeinfo");
- if(!utlf_isNull(xGridTempNodeInfo)){
- //xgridtempnodeinfo : 저장될Col갯수|표현(표) Col갯수|아이템레벨cd|아이템No
- var arrTempNodeInfos = xGridTempNodeInfo.split("^");
- for(i = 0; i < arrTempNodeInfos.length; i++){
- var arrTempNodeInfo = arrTempNodeInfos[i].split("|");
- sign_data += "\t<temp degnitemlevlcd = '" + arrTempNodeInfo[2] + "' degnitemno = '" + arrTempNodeInfo[3] + "'>\r\n\t\t";
- //만들어야 하는 temp col node의 maxcol값을 구한다.
- //ex : ceil(저장할col갯수/표기준col갯수) * 표기준col갯수 = temp col갯수
- var iMakeColCnt = 0, iSaveColCnt = parseInt(arrTempNodeInfo[0]), iTableMaxColCnt = parseInt(arrTempNodeInfo[1]);
- utlf_addLog("iSaveColCnt : " + iSaveColCnt + " || iTableMaxColCnt : " + iTableMaxColCnt);
- iMakeColCnt = iSaveColCnt/iTableMaxColCnt;
- //20170630 x009 로직변경 - 기록조회에서 표현할 테이블 갯수를 넣는것으로 변경함.
- //iMakeColCnt = (iMakeColCnt.toString().getRound_medirec(-1, "UP") * iTableMaxColCnt);
- iMakeColCnt = iMakeColCnt.toString().getRound_medirec(-1, "UP");
- utlf_addLog("iMakeColCnt : " + iMakeColCnt);
- for(j = 0; j < iMakeColCnt; j++){
- sign_data += "<tbl/>";
- }
- sign_data += "\r\n\t</temp>\r\n";
- }
- }
-
- sign_data += "</recinfo>\n";
- return sign_data;
- }
- /**
- * @desc : 기록 저장 로직
- * @id :
- * @event : xforms-ready
- * @return : void
- * @authur : 박종훈
- */
- function fSaveComnFormRecInfoForCosign(signedYn)
- {
- sysf_trace("****** fSaveComnFormRecInfoForCosign("+signedYn+") Staff Sign 기록 저장 로직 MMR01300 *****");
- try {
- //2010.03.12 안치원 - 수정없이 staff-sign할때 xsltflag가 들어가지 않는 오류수정
- ivw_base.getSubmitID_MMR01300I("staffsign");
- } catch (e) {
- sysf_catchTrace(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 = sysf_getUserInfo("userid");
-
-
- // var signrecinfo = model.instances(0).selectSingleNode("/root/remtmp/recinfo").xml; //이미지 삭제된 인스턴스
- var signrecinfo = lf_makeSignData();
-
-
- //서식검색창이 포커스는 잡는 문제로 진료기록메인에서 인증창 호출 할 경우 기록메인의 저장로직 타도록 수정
- //2008-08-01 박종훈
- var oprnerId = oOpener.frmf_getScreenID();
-
- if(oprnerId == "SMMMR00100")
- {
- // KNUH_20100820_박성호_start 인증서 안나오게 수정
- var signedrecinfo = oOpener.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 = lf_getHardCDList("Y", 401, 3);
- var ll_emrinptsavetime = utlf_isNull(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 = zesf_SignData(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
- && 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))
- {
- fSetFormRec("signedyn", "N");
- return savedInfo;
- }
- else
- {
- fSetFormRec("espiyn", signedYn);
- //ds_send_saverecinfo_formrec.setColumn(0, "espiyn", signedYn);;
- }
-
- if( this.objects["ds_send_saverecinfo_formrec"] == null ) dsf_createDs("ds_send_saverecinfo_formrec");
- ds_send_saverecinfo_formrec.copyData(ds_data_formrec);
- 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);
-
- dsf_setDefaultVal(ds_send_saverecinfo_formrec, "cosignyn:N");
- dsf_setTypeFormat(ds_send_saverecinfo_formrec, "cretno:INT");
-
- dsf_createDs("ds_main_savedinfo_rsltmsg");
-
- var oParam = {};
- oParam.id = "TXMMR01302";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqExeFormRecCoSign";
- oParam.inds = "formrec=ds_send_saverecinfo_formrec";
- oParam.outds = "ds_main_savedinfo_rsltmsg=rsltmsg";
- oParam.async = false;
- //oParam.progress = false;
- oParam.callback = "cf_TXMMR01302";
- tranf_submit(oParam);
-
-
-
-
- if( arErrorCode.pop("TXMMR01302") > -1 )
- {
- var mess = utlf_transNullToEmpty(ds_main_savedinfo_rsltmsg.getColumn(0, "msg"));
- if (fGetFormRec("status") == "U")
- {
- if(mess == "1")
- {
- sysf_messageBox("STAFF SIGN 저장되었습니다.", "I", "");
- grup_btn.btn_cosign.enable = false;
- if (isProgForm())
- {
-
- if(fGetFormRec("srcformcd") == "0000000680"){
-
- var childrenObj = ivw_base.grup_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{
- ivw_base.grup_base.enable = false;
- }
- }
- }
- else
- {
- sysf_messageBox(mess, "I", "");
- grup_btn.btn_cosign.enable = true;
- if (isProgForm())
- {
- ivw_base.grup_base.enable = true;
- }
- }
- }
-
- fSetFormRec("espiyn", fGetFormRec("signedyn"));
-
- g_formrec_newimge_cosign = fGetCSV("formrec");
- g_recitem_newimge_cosign = fGetCSV("ds_data_recitem");
- g_recitem_oldrec = fGetCSV("ds_data_recitem");
- // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
- // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(6/6)
- // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
- // 인증저장된 시간을 저장.
- if ((fGetFormRec("chosflag") == "I" || fGetFormRec("chosflag") == "E") && signedYn == "Y" ) {
- sysf_setGlobalVariable("emrinptsavetime", utlf_getCurrentDateTime());
- }
- }
- if (ds_main_savedinfo_rsltmsg.getColumn(0, "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 = 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 (fGetFormRec("status") != "D" && savedInfo.formrecseq != 0)
- {
- fSetFormRec("status", "U");
- fSetFormRec("formrecseq", savedInfo.formrecseq);
- fSetFormRec("lastrechistseq", savedInfo.rechistseq);
- fSetFormRec("cosign", ds_main_savedinfo_rsltmsg.getColumn(0, "cosign")); //2010-03-31 오전 10:06:14 강지훈 추가 : 최종진단명 요약 추가
- fSetFormRec("espiseq", ds_main_savedinfo_rsltmsg.getColumn(0, "espiseq"));
- }
- if(mess == "1" || utlf_isNull(savedInfo.formrecseq))
- {
- return savedInfo;
- }
- }
- function cf_TXMMR01302(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- if(nErrorCode < 0) {
- utlf_addLog("***** cf_TXMMR01302 nErrorCode *****");
- agv_objAppBottomPath.form.stt_statusMsg.text = sErrorMsg;
- return;
- }
- utlf_addLog("***** cf_TXMMR01302 *****");
-
- }
- ]]></Script>
|