123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[
- ////////////////////////////////////////////////////////////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////////
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 환자요약 ( MMR04800_환자요약.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var uInfo = sysf_getUserInfos();
- uInfo = uInfo.split("|");
- var pid = "";
- /**
- * @desc : 화면 초기화
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- * @---------------------------------------------------
- */
- function fInitalize()
- {
- fClose();
-
- var expobj = new ExtCommon();
- expobj.SetTopWindow(1);
-
- ds_init.setColumn(0, "uid", uInfo[0]);
- ds_init.setColumn(0, "udeptcd", uInfo[8]);
- ds_init_reqmedireclist.setColumn(0, "diffdt", "12"); //검색 디폴트 12개월
- fAddDateReq("today");
-
- var srchcond = lf_mmbfGetUserEnvQuestValue("011");
- var srchday = lf_mmbfGetUserEnvQuestValue("012");
-
- switch(srchcond)
- {
- case "001" :
- ds_init.setColumn(0, "schkind", "2");
- break;
- case "002" :
- ds_init.setColumn(0, "schkind", "3");
- break;
- case "003" :
- ds_init.setColumn(0, "schkind", "1");
- break;
- case "" :
- ds_init.setColumn(0, "schkind", "2");
- break;
- }
-
- switch(srchday)
- {
- case "001" :
- ds_init_reqmedireclist.setColumn(0, "diffdt", "1");
- break;
- case "002" :
- ds_init_reqmedireclist.setColumn(0, "diffdt", "3");
- break;
- case "003" :
- ds_init_reqmedireclist.setColumn(0, "diffdt", "6");
- break;
- case "004" :
- ds_init_reqmedireclist.setColumn(0, "diffdt", "12");
- break;
- case "005" :
- ds_init_reqmedireclist.setColumn(0, "diffdt", "-");
- break;
- }
-
- frmf_inputEnterKey("grup_top.combo4", "onitemchanged", new ItemChangeEventInfo);
-
-
- if (ds_send.getColumn(0, "pid") != opener.ds_main_paminfo.getColumn(0, "pid"))
- {
- pid = opener.frmf_getParameter("SSMMP04800_pid"); //부모창으로부터 환자등록번호를 파라미터로 받는다.
- if (utlf_isNull(pid))
- {
- pid = opener.ds_main_paminfo.getColumn(0, "pid");
- }
- if (!utlf_isNull(pid))
- {
- grup_top.ipt_pid.value = pid;
- fPidKeyPress(); //등록번호로 환자 정보조회
- ds_patinfolist.setColumn(0, "pid", pid);
- fSelect_sub();
- }
- if (frmf_isPopup())
- {
- grup_title.btn_detl.visible = false;
- grup_bottom.btn_close.visible = true;
- var list = sysf_getGlobalVariable("emr_gsv_cmmsrckcond");
- if(!utlf_isNull(list)){
- ds_send.clearData();
- dsf_setCSVToDs("ds_send", list);
- }
- } else {
- }
- }
- }
- /**
- * @desc : 조회버튼 클릭
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- * @---------------------------------------------------
- */
- function fSrchClick()
- {
- if (frmf_isPopup()) {
- fSelect_Pop();
- } else {
- fSelect_sub();
- }
- }
-
- /**
- * @desc : 줄추가
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- * @---------------------------------------------------
- */
- function fAddrow()
- {
- var nodelength = ds_grd_smmlist.rowcount;
- var smmcnts = ds_grd_smmlist.getColumn(0, "smmcnts");
- //grup_body.grd_smmlist.enableevent = false;
- if(!utlf_isNull(smmcnts)|| nodelength == 0)
- {
- //첫줄에 추가셀 생성요청[요청번호 : 12111, TaskNo : 46466, 우선순위 : SY] -박종훈 수정(2010.03.24)
- if (nodelength == 0)
- {
- ds_grd_smmlist.addRow();
- }
- else
- {
- ds_grd_smmlist.insertRow(0);
- }
-
- ds_grd_smmlist.setColumn(0, "smmdd", utlf_getCurrentDate());
- ds_grd_smmlist.setColumn(0, "delyn", 'N');
-
- ds_grd_smmlist.rowposition = 0;
- grup_body.grd_smmlist.setCellPos(4);
- }
- //grup_body.grd_smmlist.enableevent = true;
- }
- /**
- * @desc : 조회
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- * @---------------------------------------------------
- */
- function fSelect_sub()
- {
- var srchpid = ds_patinfolist.getColumn(0, "pid");
- if (!utlf_isNull(srchpid))
- {
- ds_grd_smmlist.clearData();
- ds_send.clearData();
- ds_send.addRow(); //2015.01.14(추가)
- ds_send.setColumn(0, "pid", srchpid);
- ds_send.setColumn(0, "validyn", "Y");
- ds_send.setColumn(0, "schkind", ds_init.getColumn(0, "schkind"));
- ds_send.setColumn(0, "getyn", "Y");
- ds_send.setColumn(0, "fromdd", ds_init_reqmedireclist.getColumn(0, "recfromdt"));
- ds_send.setColumn(0, "todd", ds_init_reqmedireclist.getColumn(0, "rectodt"));
- ds_send.setColumn(0, "allyn", ds_init.getColumn(0, "allyn"));
-
- var oParam = {};
- oParam.id = "TXMMR04801";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqExeSmmList";
- oParam.inds = "req=ds_send reqsmm=ds_grd_smmlist";
- oParam.outds = "ds_grd_smmlist=smmlist";
- oParam.async = false;
- tranf_submit(oParam);
- fAddrow();
- }
- else
- {
- sysf_messageBox("환자번호가 ", "I004");
- return;
- }
- }
- /**
- * @desc : 팝업시 조회
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- * @---------------------------------------------------
- */
- function fSelect_Pop()
- {
- var srchpid = ds_patinfolist.getColumn(0,"pid");
- if (!utlf_isNull(srchpid))
- {
- ds_grd_smmlist.clearData();
- ds_send.setColumn(0, "pid", srchpid);
- ds_send.setColumn(0, "getyn", "Y");
- ds_send.setColumn(0, "schkind", ds_init.getColumn(0, "schkind"));
- ds_send.setColumn(0, "validyn", ds_init.getColumn(0, "validyn"));
- ds_send.setColumn(0, "fromdd", ds_init_reqmedireclist.getColumn(0, "recfromdt"));
- ds_send.setColumn(0, "todd", ds_init_reqmedireclist.getColumn(0, "rectodt"));
- ds_send.setColumn(0, "allyn", ds_init.getColumn(0, "allyn"));
-
- var oParam = {};
- oParam.id = "TXMMR04801";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqExeSmmList";
- oParam.inds = "req=ds_send reqsmm=ds_grd_smmlist";
- oParam.outds = "ds_grd_smmlist=smmlist";
- oParam.async = false;
- tranf_submit(oParam);
- if (ds_send.rowcount > 0)
- {
- var csv = dsf_getDsCSV(ds_send);
- sysf_setGlobalVariable("emr_gsv_cmmsrckcond",csv);
- }
- if (ds_init.getColumn(0, "validyn") != 'D') { //삭제상태가 아닌 경우만
- fAddrow();
- }
- }
- else
- {
- sysf_messageBox("환자번호가 ", "I004");
- return;
- }
- }
- /**
- * @desc : 화면 컨트롤 설정
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- * @---------------------------------------------------
- */
- function fResizeGrup(flag, heig, wid)
- {
- if( utlf_isNull(heig) ) heig = this.position.height;
- if( utlf_isNull(wid) ) wid = this.position.width;
- this.position.height = heig;
- this.position.width = wid;
-
- var titHeight = parseInt(grup_title.position.height);
- var tTop = parseInt(grup_top.position.y);
- var tHeight = parseInt(grup_top.position.height);
- var bTop = parseInt(grup_body.position.y);
- var bHeight = parseInt(grup_body.position.height);
- var mTop = parseInt(grup_bottom.position.y);
- var mHeight = parseInt(grup_bottom.position.height);
- if(flag == "1")
- {
- grup_title.btn_excel.position.x = grup_title.button4.position.x;
- //;
- // grup_title.position.width = wid - 2;
- grup_top.position.y = 0;
- // grup_top.position.height = 0;
- // grup_top.position.width = 0;
- grup_top.visible = false;
- grup_body.position.x = 0;
- grup_body.position.y = tTop;
- grup_body.position.height = (heig - (tHeight + mHeight) + 1);
- // grup_body.position.width = wid - 2;
- grup_body.grd_smmlist.position.x = 0;
- // grup_body.grd_smmlist.style.borderStyle = "none";
- // grup_body.grd_smmlist.position.height = (heig - (tHeight + mHeight) + 1);
- // grup_body.grd_smmlist.position.width = wid - 2;
- grup_bottom.position.x = 0;
- grup_bottom.position.y = (heig - tHeight - 2);//tHeight
- grup_bottom.position.width = wid - 2;
-
- grup_bottom.line1.position.width = wid - 2;
- grup_bottom.btn_save.position.x = wid - 4 - 56;
- grup_bottom.btn_del.position.x = wid - 6 - 112;
- grup_bottom.btn_end.position.x = wid - 8 - 168;
- grup_bottom.btn_close.position.x = wid - 10 - 224;
- }
- }
- /**
- * @desc : 저장
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- * @---------------------------------------------------
- */
- var g_changeYn = "N";
- function fSave()
- {
- var updateData = grdf_getGridUpdateData(grup_body.grd_smmlist);
- grdf_setStatusColumn(updateData, "status");
- dsf_createDs("ds_reqsmm");
- ds_reqsmm.copyData(updateData, true);
-
- var srchpid = grup_top.ipt_pid.value;
- if (!utlf_isNull(srchpid))
- {
- if (ds_reqsmm.rowcount <= 1)
- {
- sysf_messageBox("저장할 내용이", "I004");
- return;
- }
- ds_send.clearData();
- ds_send.addRow(); //추가(2015.01.14)
- ds_send.setColumn(0, "pid", srchpid);
- ds_send.setColumn(0, "schkind", ds_init.getColumn(0, "schkind"));
- ds_send.setColumn(0, "getyn", "N");
- ds_send.setColumn(0, "validyn", ds_init.getColumn(0, "validyn"));
- ds_send.setColumn(0, "fromdd", ds_init_reqmedireclist.getColumn(0, "recfromdt"));
- ds_send.setColumn(0, "todd", ds_init_reqmedireclist.getColumn(0, "rectodt"));
- var oParam = {};
- oParam.id = "TXMMR04801";
- oParam.service = "medirecapp.ComnMediRec";
- oParam.method = "reqExeSmmList";
- oParam.inds = "req=ds_send reqsmm=ds_reqsmm";
- oParam.outds = "ds_grd_smmlist=smmlist";
- oParam.async = false;
- tranf_submit(oParam);
-
- ds_grd_smmlist.applyChange();
-
- if (frmf_isPopup()) {
- if (ds_patinfolist.getColumn(0, "pid") == opener.ds_main_paminfo.getColumn(0, "pid"))
- {
- opener.frmf_setParameter("SSMMP04800_rtn", "Y");
- }
- }
- }
- else
- {
- sysf_messageBox("환자번호가 ", "I004");
- return;
- }
- fAddrow();
- }
- /**
- * @desc : 삭제
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- * @---------------------------------------------------
- */
- function fDelRow()
- {
- var oDs = this.objects[grup_body.grd_smmlist.binddataset];
- var arrRows = grdf_getSelectedRows(grup_body.grd_smmlist);
- for(var i=arrRows.length-1; i>=0; i--){
- if((utlf_isNull(oDs.getColumn(arrRows[i], "patsmmseq"))) && (arrRows[i] != (oDs.rowcount-1)))
- {
- oDs.deleteRow(arrRows[i]);
- }else if(fChkAuth(arrRows[i]))
- {
- oDs.updatecontrol = false;
- oDs.setRowType(arrRows[i], Dataset.ROWTYPE_DELETE);
- oDs.updatecontrol = true;
- }
- }
- var rtn = sysf_messageBox("삭제", "S001");
-
- if (rtn == 6)
- {
- fSave();
- }
- else
- {
- grdf_setStatus(grup_body.grd_smmlist, "", arrRows);
- }
- }
- /**
- * @desc : 기록종료
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- * @---------------------------------------------------
- */
- function fEndRec()
- {
- var arrRows = grdf_getSelectedRows(grup_body.grd_smmlist);
- for(var i = 0; i < arrRows.length; i++)
- {
- if( fChkAuth(arrRows[i]) && utlf_isNull(ds_grd_smmlist.getColumn(arrRows[i], "smmtodd")))
- {
- ds_grd_smmlist.setColumn(arrRows[i], "smmtodd", utlf_getCurrentDate());
- grdf_setStatus(grup_body.grd_smmlist, "U", [arrRows[i]]);
- }
- }
-
- var rtn = sysf_messageBox("종료", "S001");
-
- if (rtn == 6)
- {
- fSave();
- }
- else
- {
- for(var k = 0; k < arrRows.length; k++)
- {
- ds_grd_smmlist.setColumn(arrRows[k], "smmtodd", "");
- }
-
- grdf_setStatus(grup_body.grd_smmlist, "", arrRows); //814줄 clearstatus을 바꿈
- }
- }
- /**
- * @desc : 상세조회 클릭
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- * @---------------------------------------------------
- */
- function fClickPop()
- {
- frmf_modal("SSMMR04800", "SSMMR04800", null, null, 1, 0, 0, null, null, null, null, null, "M");
-
- if(opener.frmf_getParameter("SSMMP04800_rtn") == "Y")
- fSelect_sub();
- g_changeYn = "N";
- }
- /**
- * @desc : 작성자와 사용자의 일치여부
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- * @---------------------------------------------------
- */
- function fChkAuth(selrow)
- {
- var recudpcd = ds_grd_smmlist.getColumn(selrow,"recdeptcd");
- var rtn = true;
- if(recudpcd != uInfo[8])
- {
- rtn = false;
- }
- return rtn;
- }
- /**
- * @desc : 창닫기전 변경된 내용 저장여부 확인
- * @
- * @param :
- * @return :
- * @authur : 박종훈
- * @---------------------------------------------------
- */
- function fClose()
- {
- var updateData = grdf_getGridUpdateData(grup_body.grd_smmlist);
-
- if (updateData.rowcount > 1 && (frmf_isPopup()))
- {
- var rtn = sysf_messageBox("환자요약에 변경된 정보가 있습니다 ", "Q002");
- if (rtn == 6)
- fSave();
- }
- }
- /**
- * @desc : 환자번호 정보조회
- * @id :
- * @event : onkeypress
- * @return : void
- * @authur : 박종훈
- */
- function fPidKeyPress()
- {
- if( ds_send.rowcount == 0 ) ds_send.addRow(); //추가(2015.01.14)
- ds_send.setColumn(0, "srchcond", "1");
- ds_send.setColumn(0, "pid", grup_top.ipt_pid.text);
-
- //환자등록번호 체크
- if(!utlf_isNull(grup_top.ipt_pid.text))
- {
- var oParam = {};
- oParam.id = "TRPMC02500";
- oParam.service = "patinfomngtapp.PatBaseInfo";
- oParam.method = "reqGetPatInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_patinfolist=patinfolist";
- oParam.async = false;
- // oParam.callback = "cf_TRPMC02500";
- tranf_submit(oParam);
-
- //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
- if( ds_patinfolist.rowcount > 0 )
- {
- if (frmf_isPopup())
- {
- }
- else
- {
- }
- }
- else
- {
- ds_patinfolist.clearData();
- sysf_messageBox("없는 환자 번호 입니다.", "E999", "");
- }
- }
- else
- {
- sysf_messageBox("환자등록번호를 정확히", "C001");
- }
- }
- /**
- * @desc : 환자이름 정보조회
- * @id :
- * @event : onkeypress
- * @return : void
- * @authur : 박종훈
- */
- function fPnmKeyPress()
- {
- if( ds_send.rowcount == 0 ) ds_send.addRow();
- ds_send.setColumn(0,"srchcond", "2");
- ds_send.setColumn(0,"hngnm", grup_top.ipt_hngnm.text);
- frmf_inputEnterKey("grup_top.btn_pinfosearch", "onclick", new ClickEventInfo);
- }
- /**
- * @desc : 환자정보조회 팝업
- * @id :
- * @event : DOMActivate
- * @return : void
- * @authur : 박종훈
- */
- function fPopPtinfo()
- {
- var objArg = new Object();
- //objArg.ds_SPPMC02500 = ds_send; // 2015.02.06 dbsnc 팝업전달 ds명 일괄변경
- objArg.arg_ds_send = ds_send;
- frmf_modal("SPPMC02500", "SPPMC02500", objArg, null, 1, 150, 150, null, null, null, null, null, "M");
- ds_send.clearData();
- ds_send.addRow(); //2015.01.14(추가)
- fSelect_Pop();
- }
- /**
- * @desc : 상용구 팝업
- * @id :
- * @event : DOMActivate
- * @return : void
- * @authur : 박종훈
- */
- function fPopCommUse()
- {
-
- frmf_setParameter("comn_chosflag", "C") // C : 상용구
- frmf_setParameter("comn_formprogflag", "A") // A: Summary, B : 주호소
- frmf_setParameter("openmode", "select");
- frmf_modal("SPMRF04900", "SPMRF04900", null, null, 1, 150, 150, null, null, null, null, null, "M");
-
- var rtn = frmf_getParameter("comncnts"); //내용
- frmf_setParameter("comncnts", "");
-
- var re = /▦/i;
- var re1 = /▩/i;
-
- rtn = rtn.replace(re, "");
- rtn = rtn.replace(re1, "");
-
- var nRow = ds_grd_smmlist.rowposition;
- var reccnts = ds_grd_smmlist.getColumn(nRow, "smmcnts");
-
- if (utlf_isNull(rtn))
- {
- return;
- }
- if (utlf_isNull(reccnts))
- {
- ds_grd_smmlist.setColumn(nRow, "smmcnts", rtn);
- fAddrow();
- }
- else
- {
- ds_grd_smmlist.setColumn(nRow, "smmcnts", reccnts + " " + rtn);
- grdf_setStatus(grup_body.grd_smmlist, "U", [nRow]);
- }
- }
- /**
- * @desc : 진료기록 리스트 조회조건 시작일, 종료일 셋팅
- * @id :
- * @event :
- * @return : void
- * @authur : 박종훈
- */
- function fAddDateReq(diffFlag)
- {
- var frdd = ds_init_reqmedireclist.getColumn(0, "recfromdt");
- var todd = ds_init_reqmedireclist.getColumn(0, "rectodt");
- var srcdd = new Date();
- var destdd = new Date();
- var diffdt;
- if (diffFlag == "next")
- {
- srcdd = todd.toDate();
- srcdd = srcdd.getAddDate(1, "D");
- frdd = srcdd.getDateFormat();
-
- diffdt = parseInt(ds_init_reqmedireclist.getColumn(0, "diffdt")) * 1;
- destdd = srcdd.getAddDate(diffdt, "M");
- todd = destdd.getDateFormat();
- ds_init.setColumn(0, "allyn", "N");
- }
- else if (diffFlag == "back")
- {
- srcdd = frdd.toDate();
- srcdd = srcdd.getAddDate(-1, "D");
- todd = srcdd.getDateFormat();
-
- diffdt = parseInt(ds_init_reqmedireclist.getColumn(0, "diffdt")) * -1;
- destdd = srcdd.getAddDate(diffdt, "M");
- frdd = destdd.getDateFormat();
- ds_init.setColumn(0, "allyn", "N");
- }
- else if (diffFlag == "today")
- {
- todd = utlf_getCurrentDate();
- var today = new Date();
- var frday = new Date();
- var diffdt = parseInt(ds_init_reqmedireclist.getColumn(0, "diffdt")) * -1;
- frday = today.getAddDate(diffdt , "M");
- frdd = frday.getDateFormat();
- ds_init.setColumn(0, "allyn", "N");
- }
- else
- {
- if (ds_init_reqmedireclist.getColumn(0, "diffdt") != "-")
- {
- var today = todd.toDate();
- var frday = new Date();
- var diffdt = parseInt(ds_init_reqmedireclist.getColumn(0, "diffdt")) * -1;
- frday = today.getAddDate(diffdt , "M");
- frdd = frday.getDateFormat();
-
- grup_top.button2.enable = true;
- grup_top.ipt_formrecdtfr.enable = true;
- grup_top.ipt_formrecdtto.enable = true;
- grup_top.button6.enable = true;
- grup_top.button3.enable = true;
-
- ds_init.setColumn(0, "allyn", "N");
- }
- else
- {
- grup_top.button2.enable = false;
- grup_top.ipt_formrecdtfr.enable = false;
- grup_top.ipt_formrecdtto.enable = false;
- grup_top.button6.enable = false;
- grup_top.button3.enable = false;
-
- ds_init.setColumn(0, "allyn", "Y");
- }
- }
-
- ds_init_reqmedireclist.setColumn(0, "recfromdt", frdd);
- ds_init_reqmedireclist.setColumn(0, "rectodt", todd);
- }
- function fBind(currow){
- var recdeptcd = ds_grd_smmlist.getColumn(currow, "recdeptcd");
- var udeptcd = ds_init.getColumn(0, "udeptcd");
- var validyn = ds_init.getColumn(0, "validyn");
- var rtn = "text";
-
- if( (recdeptcd != udeptcd && !utlf_isNull(recdeptcd))|| validyn == "D" )
- rtn = "none";
-
- return rtn;
- }]]></Script>
|