123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : KNUH2.0
- * Job Name : EMR
- * File Name : SPMMO03200.xjs
- * Creator :
- * Make Date : 2014-08-05
- *
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2014-08-05 DBS Converting Program(TF->XP)
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- var gEXPANDFLAG = true; //진단내역 grid 확장유무
- /****************************************************************************************
- * Function : fInitialize_SPMMO03200
- * Description : 화면초기화.
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fInitialize_SPMMO03200(){
-
- ds_diagcdlist.clearData();
- ds_indxcdlist.clearData();
- ds_selectdiaglist.clearData();
-
- if(opener.frmf_getParameter("SPMMO03200_diagParam") == "Y") {
- tab_indexlist.tabindex = 1;
- fReqGetDeptIndxList();
- } else {
- //화면 open시, ICD10색인탭이 기본
- tab_indexlist.tabindex = 0;
- fReqGetIndxList();
- }
-
- var srchdata = opener.frmf_getParameter("SPMMO03200_SEARCHDATA"); //main창에서 검색어로 띄운 경우
- if(!utlf_isNull(srchdata)){
- input1.value = srchdata;
- var ev = new ClickEventInfo;
- frmf_inputEnterKey("btn_req", "onclick", ev );
- }
-
- // var diagParam = "";
- // var srchdata = "";
- // //alert(opener.frmf_getParameter("SPMMO03200_diagParam"));
- // if(frmf_isPopup()) {
- // sysf_trace("팝업으로 열린화면!");
- // diagParam = SPMMO03200_diagParam;
- // srchdata = SPMMO03200_SEARCHDATA;
- // //input1.value = newDS.getColumn(0, "pid");
- // //alert(srchdata);
- // }
- // if(diagParam == "Y") { // 파라미터러 넘어온 SPMMO03200_diagParam 값이 Y 일때 과색인 검색 실행.
- // // 탭선택 이벤트 발생.
- // tab_indexlist.tabindex = 1;
- // var e = new TabIndexChangeEventInfo;
- // tab_indexlist.onchanged.fireEvent(tab_indexlist,e);
- // } else { // 그냥 열렸을 경우. 화면 open시, ICD10색인탭이 기본
- // tab_indexlist.tabindex = 0;
- // var e = new TabIndexChangeEventInfo;
- // tab_indexlist.onchanged.fireEvent(tab_indexlist,e);
- // }
- //
- // //var srchdata = SPMMO03200_SEARCHDATA; //main창에서 검색어로 띄운 경우
- // if(srchdata.length > 0){
- // input1.value = srchdata;
- // var e = new ClickEventInfo;
- // btn_req.onclick.fireEvent(btn_req,e);
- // }
-
- // 선택한 진단 삭제 팝업메뉴 생성
- frmf_createPopupMenu("pmn_selectdiaglist"
- ,"fDelDiagCDList"
- ,[{id: "1", level: "0", title: "삭제"}]
- );
- }
- /****************************************************************************************
- * Function : fReqGetIndxList
- * Description : ICD10 Index조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqGetIndxList(){
- ds_req.clearData();
- var rowno = ds_req.addRow();
- ds_req.setColumn(rowno, "indxflag", "0");
-
- var oParam = {};
- oParam.id = "TRMMO03101";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetIndxList";
- oParam.inds = "req=" + "ds_req";
- oParam.outds = "ds_indxcdlist=indxcdlist";
- oParam.async = true;
- oParam.callback = "";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : fReqGetDeptIndxList
- * Description : 과 Index조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqGetDeptIndxList(){
- ds_req.clearData();
- var rowno = ds_req.addRow();
- ds_req.setColumn(rowno, "deptindxflag", "0");
-
- var oParam = {};
- oParam.id = "TRMMO03111";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetDeptIndxList";
- oParam.inds = "req=" + "ds_req";
- oParam.outds = "ds_deptindxcdlist=deptindxcdlist";
- oParam.async = true;
- oParam.callback = "";
- tranf_submit(oParam);
- }
- //상병력
- function fReqGetSnwhistlist(){
-
- var paminfo = sysf_getGlobalVariable("paminfo");
- if(paminfo.length <1){ //환자 원무 정보를 찾을 수 없는 경우
- sysf_messageBox("선택된 환자 정보를 찾을 수", "I004");
- close();
- return;
- }else{
- dsf_setCSVToDs("ds_paminfo", paminfo);
- var pid = ds_paminfo.getColumn(0, "pid");
- }
-
- dsf_createDsRow("ds_send_reqdata", [{col:"pid", type:"string", size:256, val: pid}]);
- var oParam = {};
- oParam.id = "TRMMO03107";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetPatSnwHistInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_snwhistlist=snwhistlist";
- oParam.async = true;
- tranf_submit(oParam);
- }
- //다빈도
- function fReqGetMultifreqlist(){
- dsf_createDsRow("ds_send_reqdata", [{col:"instcd", type:"string", size:256, val:sysf_getUserInfo("dutplceinstcd")}
- ,{col:"orddrid", type:"string", size:256, val:sysf_getUserInfo("userid")}]);
- var oParam = {};
- oParam.id = "TRMMO03117";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetMultiFreqList";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_multifreqlist=multifreqlist";
- oParam.async = true;
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : fReqGetPrmsDiagSETList
- * Description : 개인 진단SET 조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqGetPrmsDiagSETList(){
- ds_req.clearData();
- var rowno = ds_req.addRow();
- ds_req.setColumn(rowno, "setkindcd", "P");
- ds_req.setColumn(rowno, "setclscd" , "D");
- ds_req.setColumn(rowno, "settypecd", "D");
- ds_req.setColumn(rowno, "ioflag" , "N");
-
- var oParam = {};
- oParam.id = "TRMMB00601";
- oParam.service = "prcpbaseapp.PrmsPrcpMngt";
- oParam.method = "reqGetPrmsPrcpSetList";
- oParam.inds = "req=" + "ds_req";
- oParam.outds = "ds_prmsprcpsetlist=prmsprcpsetlist";
- oParam.async = true;
- oParam.callback = "";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : fReqGetICD10CDList
- * Description : ICD10색인 선택시 진단 조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqGetICD10CDList(){
- var objDs = this.objects[tab_indexlist.tab_icd10.trv_icd10indxcdlist.binddataset];
- var nRow = objDs.rowposition;
- var depth = objDs.getColumn(nRow, "levl");
- if( depth == 1 ){//상위index를 클릭한 경우, 조회하지 않는다.
- return;
- }
-
- // ICD10 처방 검색
- ds_req.clearData();
- var rowno = ds_req.addRow();
- ds_req.setColumn(rowno, "icd10indxcd", ds_indxcdlist.getColumn(ds_indxcdlist.rowposition, "indxcd"));
- var oParam = {};
- oParam.id = "TRMMO03102";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetICD10CdList";
- oParam.inds = "req=" + "ds_req";
- oParam.outds = "ds_diagcdlist=diagcdlist";
- oParam.async = true;
- oParam.callback = "cf_diagcdlist";
- tranf_submit(oParam);
-
- //frmf_modal("SPMMO00100", "SPMMO00100", "", "", "", 100, 40, "", "", "", "", "", "M");
- }
- /****************************************************************************************
- * Function : fReqGetDeptIndxCDList
- * Description : 과색인 선택시 진단 조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqGetDeptIndxCDList(){
- // 과색인 처방 검색
- ds_req.clearData();
- var rowno = ds_req.addRow();
- ds_req.setColumn(rowno, "deptindxflag" , "0");
- ds_req.setColumn(rowno, "deptindxcd" , ds_deptindxcdlist.getColumn(ds_deptindxcdlist.rowposition, "deptindxcd"));
- ds_req.setColumn(rowno, "deptcd" , ds_deptindxcdlist.getColumn(ds_deptindxcdlist.rowposition, "deptcd"));
- var oParam = {};
- oParam.id = "TRMMO03112";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetDeptIndxDiagTermList";
- oParam.inds = "req=" + "ds_req";
- oParam.outds = "ds_diagcdlist=diagcdlist";
- oParam.async = true;
- oParam.callback = "cf_diagcdlist";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : fReqGetPrmsDiagList
- * Description : 약속SET 선택시 진단 조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqGetPrmsDiagList(){
- // 개인SET 처방 검색
- ds_req.clearData();
- var rowno = ds_req.addRow();
- ds_req.setColumn(rowno, "setno" , ds_prmsprcpsetlist.getColumn(ds_prmsprcpsetlist.rowposition, "setno"));
- ds_req.setColumn(rowno, "settypecd" , ds_prmsprcpsetlist.getColumn(ds_prmsprcpsetlist.rowposition, "settypecd"));
- var oParam = {};
- oParam.id = "TRMMO03104";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetIndDiagSetList";
- oParam.inds = "req=" + "ds_req";
- oParam.outds = "ds_diagcdlist=diagcdlist";
- oParam.async = true;
- oParam.callback = "cf_diagcdlist";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : fReqGetTermDiagSrch
- * Description : 진단용어 검색어로 조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqGetTermDiagSrch(){
- var cond1 = "";
- var cond2 = "";
- var cond5 = input1.text;
- if(cond5.length < 1){ //검색어를 입력하지 않은 경우,
- sysf_messageBox("검색어를", "C002");
- return;
- }
- var cond3 = utlf_isHangul(cond5);
- var cond4 = utlf_getCurrentDate();
- if(cond3 == "H"){
- cond1 = 2;
- cond2 = 3;
-
- }else if(cond3 == "E"){
- if(utlf_isNum(cond5.charAt(1))== true){ //코드
- cond1 = 1;
- cond2 = 1;
- }else{ //문장
- cond1 = 2;
- cond2 = 3;
- }
- }
- ds_req.clearData();
- var rowno = ds_req.addRow();
- ds_req.setColumn(rowno, "cond1" , cond1); //검색구분 1:코드, 2:명
- ds_req.setColumn(rowno, "cond2" , cond2); //명칭검색구분, 1:코드, 2:단어, 3:문장, 4:첫단어
- ds_req.setColumn(rowno, "cond3" , cond3); //한영구분(H:한글, E:영문)
- ds_req.setColumn(rowno, "cond4" , cond4); //기준일자
- ds_req.setColumn(rowno, "cond5" , cond5.toUpperCase()); //검색내용
- //req.setColumn(rowno, "synmflag" , "Y"); //동의어구분
- var oParam = {};
- oParam.id = "TRMMO03103";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetDiagTermSrch";
- oParam.inds = "req=" + "ds_req";
- oParam.outds = "ds_diagcdlist=diagcdlist";
- oParam.async = true;
- oParam.callback = "cf_diagcdlist";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : fReqGetDeptIndxSrch
- * Description : 과색인에서만 조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqGetDeptIndxSrch(){
- var srchdata = input1.text;
- if(srchdata.length < 1){ //검색어를 입력하지 않은 경우,
- sysf_messageBox("검색어를", "C001");
- return;
- }
-
- var srchflag = utlf_isHangul(srchdata);
- if(srchflag == "E"){
- if(utlf_isNum(srchdata.charAt(1))==true){ //코드
- srchflag = "C";
- }else{ //코드가 아닌 경우
- srchflag = "E";
- }
- }
-
- ds_req.clearData();
- var rowno = ds_req.addRow();
- ds_req.setColumn(rowno, "deptindxflag" , "0");
- ds_req.setColumn(rowno, "deptcd" , sysf_getUserInfo("dutplcecd"));
- ds_req.setColumn(rowno, "srchflag" , srchflag);
- ds_req.setColumn(rowno, "srchdata" , srchdata.toUpperCase());
- var oParam = {};
- oParam.id = "TRMMO03112";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetDeptIndxDiagTermList";
- oParam.inds = "req=" + "ds_req";
- oParam.outds = "ds_diagcdlist=diagcdlist";
- oParam.async = true;
- oParam.callback = "cf_diagcdlist";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : fReqGetPrmsDiagSETSrch
- * Description : 개인진단SET 검색어로 조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqGetPrmsDiagSETSrch(){
- var srchdata = input1.text;
- if(srchdata.length < 1){ //검색어를 입력하지 않은 경우,
- sysf_messageBox("검색어를", "C001");
- return;
- }
-
- var srchflag = utlf_isHangul(srchdata);
- if(srchflag == "E"){
- if(utlf_isNum(srchdata.charAt(1))==true){
- srchflag = "C";
- }else{
- srchflag = "E";
- }
- }
-
- ds_req.clearData();
- var rowno = ds_req.addRow();
- ds_req.setColumn(rowno, "settypecd" , "D"); //진단
- ds_req.setColumn(rowno, "setkindcd" , "P"); //개인
- ds_req.setColumn(rowno, "setclscd" , "D"); //의사
- ds_req.setColumn(rowno, "settrgtcd" , sysf_getUserId()); //의사(사용자)ID
- ds_req.setColumn(rowno, "srchflag" , srchflag);
- ds_req.setColumn(rowno, "srchdata" , srchdata);
- var oParam = {};
- oParam.id = "TRMMO03115";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetPrmsSETSrch";
- oParam.inds = "req=" + "ds_req";
- oParam.outds = "ds_diagcdlist=diagcdlist";
- oParam.async = true;
- oParam.callback = "cf_diagcdlist";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : fAppendDiagCD
- * Description : 다수의 진단코드 선택 후, 진단추가버튼 클릭
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fAppendDiagCD(){
- if(ds_diagcdlist.rowcount > 1)
- {
- for(var i=0 ; i < ds_diagcdlist.rowcount ; i++)
- {
- if(ds_diagcdlist.getColumn(i, "chk")=="1")
- {
- if(ds_selectdiaglist.findRow("diagcd", ds_diagcdlist.getColumn(i,"diagcd"))>-1) {
- sysf_messageBox(ds_diagcdlist.getColumn(i,"diaghngnm"), "E006");
- } else {
- var rowno = ds_selectdiaglist.addRow();
- ds_selectdiaglist.copyRow(rowno, ds_diagcdlist, i);
- ds_diagcdlist.setColumn(i,"chk","");
- }
- }
- }
- }
- }
- /****************************************************************************************
- * Function : fAddDiag
- * Description : 단일 진단코드 선택, 그리드 더블클릭
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fAddDiag(trgtrow){
- if(ds_selectdiaglist.findRow("diagcd", ds_diagcdlist.getColumn(ds_diagcdlist.rowposition,"diagcd"))>-1) {
- sysf_messageBox("선택한 진단이 ", "E006");
- return;
- }
- var rowno = ds_selectdiaglist.addRow();
- ds_selectdiaglist.copyRow(rowno, ds_diagcdlist, ds_diagcdlist.rowposition);
- }
- /****************************************************************************************
- * Function : fCtrlSizeDiagList
- * Description : 진단내역 그리드 크기 조절 및 버튼 위치 이동 애니메이션
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fCtrlSizeDiagList(){
- lf_stopPrevAnim(cani);
- if(gEXPANDFLAG) {
- pani00.targetcomp = spt_div0
- pani00.targetprop = "position.left";
- pani00.fromvalue = 316;
- pani00.tovalue = 0;
- pani00.interpolation = "Interpolation.expoOut";
-
- pani01.targetcomp = spt_div0
- pani01.targetprop = "position.right";
- pani01.fromvalue = 318;
- pani01.tovalue = 2;
- pani01.interpolation = "Interpolation.expoOut";
-
- cani.addItem(pani00);
- cani.addItem(pani01);
- cani.duration = 1000;
- cani.run();
-
- btn_expand.class = "btn_MonthN";
- gEXPANDFLAG = false;
- } else {
- pani00.targetcomp = spt_div0
- pani00.targetprop = "position.left";
- pani00.fromvalue = 0;
- pani00.tovalue = 316;
- pani00.interpolation = "Interpolation.expoOut";
-
- pani01.targetcomp = spt_div0
- pani01.targetprop = "position.right";
- pani01.fromvalue = 2;
- pani01.tovalue = 318;
- pani01.interpolation = "Interpolation.expoOut";
-
- cani.addItem(pani00);
- cani.addItem(pani01);
- cani.duration = 1000;
- cani.run();
-
- btn_expand.class = "btn_MonthP";
- gEXPANDFLAG = true;
- 7}
- }
- /****************************************************************************************
- * Function : lf_stopPrevAnim
- * Description : 애니메이션 실행을 위해 각 개체별 애니메이션 복합 애니메이션에
- 추가
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function lf_stopPrevAnim(compAnim) {
- for(var i = 0; i < compAnim.getItemCount(); i++)
- compAnim.deleteItem(i);
- }
- /****************************************************************************************
- * Function : fSendDiagCDList
- * Description : 진단코드리스트 전달
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fSendDiagCDList(){
- if(frmf_checkOpener()){
- var nodepath = opener.frmf_getParameter("SPMMO3200_param_nodepath");
- if(utlf_isNull(nodepath)){
- nodepath = "ds_temp_selectdiaglist";
- }
-
- var tarDs:Dataset = new Dataset();
- if( !opener.isValidObject(nodepath) ){
- opener.dsf_createDs(nodepath);
- }
- tarDs = opener.objects[nodepath];
- tarDs.copyData(ds_selectdiaglist);
- opener.frmf_setParameter("SPMMO03200_rtn_useyn", "Y");
- }else{
- sysf_messageBox("상위화면이 변경되어 데이터를 전달","E001");
- return;
- }
- this.close();
- }
- // /****************************************************************************************
- // * Function : fDelDiagCDList
- // * Description : 진단코드리스트 삭제
- // * Argument :
- // * :
- // * return type :
- // * Creator :
- // ****************************************************************************************/
- // function fDelDiagCDList(){
- // deleteSelectedRows(grd_selectdiag, false);
- // }
- /****************************************************************************************
- * Function : cf_diagcdlist
- * Description : 진단코드 조회시 체크박스 에 데이터셋 연결을 위해 조회 데이터셋
- 에 chk 컬럼 추가
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_diagcdlist() {
- ds_diagcdlist.addColumn("chk", "string");
- for(var i = 0 ; i < ds_diagcdlist.rowcount ; i++) {
- ds_diagcdlist.setColumn(i,"chk","0");
- }
- }
- /****************************************************************************************
- * Function : fDelDiagCDList
- * Description : 팝업메뉴 선택시 실행 함수. 선택진단 삭제 실행
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fDelDiagCDList(){
- ds_selectdiaglist.deleteRow(ds_selectdiaglist.rowposition);
- }]]></Script>
|