123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : KNUH2.0
- * Job Name : EMR
- * Creator :
- * Make Date : 2014-09-04
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2014-09-04 Live Converter TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- var xPathData = "/root/main/MnpmcartData/MnpmcartList" ; //
- var xPathInput = "/root/init/WorkData/InputData" ; //
- var tColWidth = "74,90,70,80,121,55,291,30,73,0,0,0,0,0,0,0,0,0,0#" // 집도
- + "74,90,70,80,121,55,179,33,70,0,0,0,0,0,0,0,0,0,0" ; // 마취
- var tWidth = tColWidth.split("#");
- /****************************************************************************************
- * Function : fFormInit
- * Description : 화면 초기화 실행
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fFormInit() {
- ds_grd_cartlist.clearData();
- ds_grd_copyoplist.clearData();
- //화면 open시, ICD9색인탭이 기본
- /*btn_icd10.selected = true;*/
- /*model.toggle("icd9");*/
- fReqGetIndxList();
- group3.radio1.value = "";
- ds_req.clearData();
- var rowno = ds_req.addRow();
- ds_req.setColumn(rowno, "flag", "X");
- ds_req.setColumn(rowno, "searchitem", "XX");
- ds_req.setColumn(rowno, "deptflag", "011");
-
- var oParam = {};
- oParam.id = "TRMNP01512";
- oParam.service = "opanstapp.OpAnstPatMngt";
- oParam.method = "reqGetPerfDeptList";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_deptlist=deptlist";
- oParam.async = false;
- oParam.callback = "fn_callback_TRMNP01512";
- tranf_submit(oParam);
-
- // frmf_addComboItem("group3.cmb_orddept" , "전 체", "", "above");
- // addComboItem("cmb_orddept2" , "전 체", "", "above" );
- // removeComboItem("cmb_orddept2" , "전 체", "", "above" );
- dsf_addDsItem(ds_init_cmb_orddept , "deptcd", "depthngnm", "전 체", "", "above");
- dsf_addDsItem(ds_init_cmb_orddept2, "deptcd", "depthngnm", "전 체", "", "above");
- group3.cmb_orddept.index = 0;
- group3.cmb_orddept2.index = 0;
-
- grdf_initGrid(group3.grd_cartlist);
- // grd_cartlist.fixedcellcheckbox(0,1) = true;
- var arrParam = [{dsNm: "ds_M0016", cdGrpId: "M0016"}
- ,{dsNm: "ds_M0357", cdGrpId: "M0357"}
- ,{dsNm: "ds_M0017", cdGrpId: "M0017"}
- ,{dsNm: "ds_M0341", cdGrpId: "M0341"}
- ]
- appf_getCodeList(arrParam);
- // model.makeNode("/root/hidden/updatelist");
- var jobkindcd = sysf_getUserInfo("jobkindcd");
- var jobcd = jobkindcd.substr(0,2);
- if( !utlf_isNull(jobkindcd) && jobcd == "03"){ // 집도과, 집도의, 수술명이 사용유무 정보가 Y인 것 조회
- group3.cmb_orddept.value = sysf_getUserInfo("dutplcecd"); // 집도과 정보 셋팅
- var ev = new ItemChangeEventInfo;
- frmf_inputEnterKey("group3.cmb_orddept", "onitemchanged", ev );
- group3.cmb_perf.value = sysf_getUserInfo("userid"); // 집도의 정보 셋팅
- group3.radio1.value = "Y"; // 수술명 사용이 Y인 것만 조회
-
- var ev = new ClickEventInfo;
- frmf_inputEnterKey("group3.button4", "onclick", ev );
- group3.grd_cartlist.setFocus();
- }
-
- group3.grp_sea.checkbox1.value = "ALL";
- }
- /****************************************************************************************
- * Function : fReqGetIndxList
- * Description : ICD9 INDEX 조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqGetIndxList(){
- ds_reqdata.clearData();
- ds_reqdata.setColumn(ds_reqdata.addRow(),"indxflag","9");
- var oParam = {};
- oParam.id = "TRMNP01502";
- oParam.service = "opanstapp.OpAnstStocMngt";
- oParam.method = "reqGetIndxList";
- oParam.inds = "reqdata=ds_reqdata";
- oParam.outds = "ds_indxcdlist=indxcdlist";
- oParam.async = false;
- oParam.callback = "cf_TRMNP01502";
- tranf_submit(oParam);
- }
- function cf_TRMNP01502(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- ds_indxcdlist.updateColID("hngnm","indxhngnm");
- ds_indxcdlist.updateColID("engnm","indxengnm");
-
- ds_indxcdlist.rowposition = -1;
- }
- /****************************************************************************************
- * Function : fReqGetICD9CDList
- * Description : ICD9 용어 조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqGetICD9CDList(pFlag){
- var indxcd, refopnm, refcond, condflag;
- if( ds_indxcdlist.rowposition > -1 ) {
- var nRow = ds_indxcdlist.rowposition; //현재 선택된 row
- var nLev = ds_indxcdlist.getColumn(nRow, "levl"); //현재 가르키고 있는 레벨 값
-
- //현재 가르키고 있는 값의 자식의 row 구하기
- var nLastChildRow = group3.grp_grid.switch1.icd9.trv_icd9indxcdlist.getTreeChildRow(nRow, 0);
- sysf_trace("nLastChildRow = "+nLastChildRow);
- if(nLastChildRow > -1){ //자식노드가 있을경우->상위index를 클릭한 경우, 조회하지 않는다.
- return;
- }
- indxcd = ds_indxcdlist.getColumn(nRow, "indxcd");
- }
- if( pFlag == "2" ) {//Tree 조회시
- //트리 선택시 검색어 및 전체 검색 초기화
- group3.grp_sea.input1.value = "";
- group3.grp_sea.checkbox1.value = "";
- }else if ( pFlag == "1" ) {//검색조건 조회시 전체 검색
- group3.grp_sea.checkbox1.value = "ALL";
- }
- refopnm = group3.grp_sea.input1.value;
- refcond = group3.grp_sea.checkbox1.value;
- if( refcond == "empty" ){
- refcond = "";
- }
-
- trace("refcond : " + refcond);
- condflag = utlf_isHangul(refopnm);
- if( utlf_isNull(indxcd) ) { indxcd = "0"; }//인덱스 코드가 없으면 0으로 셋팅 맵핑시 인덱스 코드가 없으면 값이 안넘어감.
- if( (indxcd == "0")&& utlf_isNull(refopnm) ) {
- sysf_messageBox("수술명 검색 조건을 입력하지 ", "E007");
- return;
- }
- ds_reqdata.clearData();
- var nRow = ds_reqdata.addRow();
- ds_reqdata.setColumn(nRow,"icd9indxcd",indxcd);
- ds_reqdata.setColumn(nRow,"refopnm" ,refopnm);
- ds_reqdata.setColumn(nRow,"refcond" ,refcond);
- ds_reqdata.setColumn(nRow,"condflag" ,condflag);
- var oParam = {};
- oParam.id = "TRMNP01511";
- oParam.service = "opanstapp.OpAnstStocMngt";
- oParam.method = "reqGetICD9CdList";
- oParam.inds = "reqdata=ds_reqdata";
- oParam.outds = "ds_grd_cartlist=diagcdlist";
- oParam.async = false;
- oParam.callback = "cf_TRMNP01511";
- tranf_submit(oParam);
- }
- function cf_TRMNP01511(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- ds_grd_cartlist.deleteColumn("chkflag");
- dsf_setDefaultVal(ds_grd_cartlist, "chkflag:N,usehours:00,usemins:00,opposturecd:00,opdirecflag:-,anstmthdcd:00,opcntmdg:0,uptstat:-");
- }
- /****************************************************************************************
- * Function : fSelectOpNm
- * Description : 수술명 복사
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fSelectOpNm(){
- var cnt = 0;
- ds_grd_copyoplist.clearData(); //수술명복사 그리드 초기화
- for( var iRow = 0; iRow < ds_grd_cartlist.rowcount; iRow++ ) {
- if(ds_grd_cartlist.getColumn(iRow,"chkflag")=="Y") {
- if(!utlf_isNull(ds_grd_cartlist.getColumn(iRow,"ccrtno"))) {
- if(ds_grd_cartlist.getColumn(iRow,"useflag")=="N") {
- sysf_messageBox("미 사용중인 수술명은 선택 ", "E001");
- ds_grd_copyoplist.clearData();
- return;
- }
- ds_grd_copyoplist.copyRow(ds_grd_copyoplist.addRow(),ds_grd_cartlist,iRow); // 해당 데이터셋 카피(1열)
- cnt++;
- }else {
- sysf_messageBox("미 등록된 수술명은 선택 ", "E001");
- ds_grd_copyoplist.clearData();
- return;
- }
- }
- }
- if( cnt < 1 ) {
- sysf_messageBox("선택하신 수술명이 ", "I004");
- return;
- }
- }
- /****************************************************************************************
- * Function : fSearchCartList
- * Description : Case Cart MASTER 정보 가져오기
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fSearchCartList() {
- if(group3.cmb_orddept.value == "") {
- sysf_messageBox("집도과를 선택하지 ", "E007");
- group3.cmb_orddept.setFocus();
- return;
- }
-
- ds_reqdata.clearData();
- var rowno = ds_reqdata.addRow();
- ds_reqdata.setColumn(rowno, "perfdeptcd", group3.cmb_orddept.value);
- ds_reqdata.setColumn(rowno, "perfdrid", group3.cmb_perf.value);
- ds_reqdata.setColumn(rowno, "useflag", group3.radio1.value);
- ds_reqdata.setColumn(rowno, "cartgubn", "O");
-
- var oParam = {};
- oParam.id = "TRMNP01513";
- oParam.service = "opanstapp.OpAnstStocMngt";
- oParam.method = "reqGetOpNmList";
- oParam.inds = "reqdata=ds_reqdata";
- oParam.outds = "ds_grd_cartlist=diagcdlist";
- oParam.async = false;
- oParam.callback = "cf_TRMNP01513";
- tranf_submit(oParam);
- }
- function cf_TRMNP01513(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- ds_grd_cartlist.deleteColumn("chkflag");
- dsf_setDefaultVal(ds_grd_cartlist, "chkflag:N,uptstat:-");
- }
- /****************************************************************************************
- * Function : fClear
- * Description : 수술명 복사 초기화
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fClear() {
- ds_grd_copyoplist.clearData(); //수술명복사 그리드 초기화
- ds_init_cmb_perf2.clearData(); //집도의 콤보리스트 초기화
- group3.cmb_orddept2.value = ""; //수술명복사 집도과 초기화
- group3.cmb_perf2.value = ""; //수술명복사 집도의 초기화
- group3.rd_copyflag.value = ""; //수술명복사 조건 초기화
- }
- /****************************************************************************************
- * Function : fOpNmSave
- * Description : Case Cart MASTER 자료저장하기
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fOpNmSave(pFlag){
- var ccrtno, opcd, useflag, statflag;
- var cnt = 0;
- var perfdeptcd = group3.cmb_orddept.value;
- var perfdrid = group3.cmb_perf.value;
- var deptinit = ds_init_cmb_orddept.getColumn(ds_init_cmb_orddept.findRow("deptcd",perfdeptcd), "deptengabbr");
- sysf_trace("deptinit : "+deptinit);
- if( utlf_isNull(perfdeptcd) ) {
- sysf_messageBox("집도과를 선택하지 ", "E007");
- group3.cmb_orddept.setFocus();
- return;
- }
- if( utlf_isNull(perfdrid) ) {
- sysf_messageBox("집도의를 선택하지 ", "E007");
- group3.cmb_perf.setFocus();
- return;
- }
-
- ds_savedata.clearData();
- for(var iRow = 0; iRow < ds_grd_cartlist.rowcount; iRow++ ) {
- if( ds_grd_cartlist.getColumn(iRow, "chkflag") == "Y") {
- ccrtno = ds_grd_cartlist.getColumn(iRow, "ccrtno");
- opcd = ds_grd_cartlist.getColumn(iRow, "opcd");
- useflag = ds_grd_cartlist.getColumn(iRow, "useflag");
- usehours = ds_grd_cartlist.getColumn(iRow, "usehours"); // 소요시간(시)
- usemins = ds_grd_cartlist.getColumn(iRow, "usemins"); // 소요시간(분)
- opposturecd = ds_grd_cartlist.getColumn(iRow, "opposturecd"); // 수술체위
- opdirecflag = ds_grd_cartlist.getColumn(iRow, "opdirecflag"); //수술위치
- anstmthdcd = ds_grd_cartlist.getColumn(iRow, "anstmthdcd"); //마취방법
- opcntmdg = ds_grd_cartlist.getColumn(iRow, "opcntmdg"); //수술창상
- opusetm = usehours.concat(usemins);
- uptstat = ds_grd_cartlist.getColumn(iRow, "uptstat"); //update상태 정보
-
- if( pFlag != "D" ) {
- if( useflag == "Y" && uptstat != "U") {
- sysf_messageBox("이미 사용중인 수술명", "E008");
- return;
- }
- }else {
- if( useflag == "N" ) {
- sysf_messageBox("이미 미사용 수술명", "E008");
- return;
- }
- }
- if( utlf_isNull(ccrtno) ) {//등록된 카트가 아니면 신규등록, 등록된 카트이면서 미사용중이면 수정
- statflag = "I";
- useflag = "Y"
- }else {
- statflag = "U";
- useflag = "Y"
- }
- if( pFlag == "D" ) {//삭제이면
- statflag = "D";
- useflag = "N"
- }
-
- var rowno1 = ds_savedata.addRow();
- ds_savedata.setColumn(rowno1, "m" , statflag);
- ds_savedata.setColumn(rowno1, "opcd" , opcd);
- ds_savedata.setColumn(rowno1, "orddeptcd" , perfdeptcd);
- ds_savedata.setColumn(rowno1, "perfid" , perfdrid);
- ds_savedata.setColumn(rowno1, "cartgubn" , "O");
- ds_savedata.setColumn(rowno1, "useflag" , useflag);
- ds_savedata.setColumn(rowno1, "deptinit" , deptinit);
- ds_savedata.setColumn(rowno1, "ccrtno" , ccrtno);
- ds_savedata.setColumn(rowno1, "opusetm" , opusetm);
- ds_savedata.setColumn(rowno1, "opposturecd" , opposturecd);
- ds_savedata.setColumn(rowno1, "opdirecflag" , opdirecflag);
- ds_savedata.setColumn(rowno1, "anstmthdcd" , anstmthdcd);
- ds_savedata.setColumn(rowno1, "opcntmdg" , opcntmdg);
-
- cnt++;
- }
- }
-
- if( cnt > 0 ) {
- ds_reqdata.clearData();
- var rowno = ds_reqdata.addRow();
- ds_reqdata.setColumn(rowno, "perfdeptcd", perfdeptcd);
- ds_reqdata.setColumn(rowno, "perfdrid" , perfdrid);
- ds_reqdata.setColumn(rowno, "useflag" , group3.radio1.value);
- ds_reqdata.setColumn(rowno, "cartgubn" , "O");
- var oParam = {};
- oParam.id = "TXMNP01503";
- oParam.service = "opanstapp.OpAnstStocMngt";
- oParam.method = "reqInsOpNmList";
- oParam.inds = "reqdata=ds_reqdata savedata=ds_savedata";
- oParam.outds = "ds_grd_cartlist=diagcdlist";
- oParam.async = false;
- oParam.callback = "cf_TXMNP01503";
- tranf_submit(oParam);
- }else {
- sysf_messageBox("수술명이 선택되지", "E007");
- return;
- }
- }
- function cf_TXMNP01503(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- ds_grd_cartlist.deleteColumn("chkflag");
- dsf_setDefaultVal(ds_grd_cartlist, "chkflag:N,uptstat:-");
- }
- /* ------------------------------------------------- */
- /* desc : Case Cart MASTER 자료저장하기 */
- /* param : pModel - Model */
- /* tNode - Target Node */
- /* sNode - Source Node */
- /* return : */
- /* -------------------------------------------------- */
- function fRow2setValue(){
- var grdID;
- if( model.getValue("/root/init/WorkData/cond/cartgubn") == "O" ) {//수술
- grdID = grd_cartlist;
- } else {
- grdID = grd_anstcartlist;
- }
- if (grdID.rows < 1) {
- return;
- }
- var DrRead = "N";
- var sNode = "/root/main/MnpmcartData/MnpmcartList["+grdID.row+"]";
- model.setValue(xPathInput + "/ccrtno" , model.getValue(sNode +"/ccrtno" ));
- var DeptCode = model.getValue(sNode +"/orddeptcd" );
- if (inp_orddeptcd.value != DeptCode) DrRead = "Y";
- model.removenode("/root/send");
- model.makeValue("/root/send/reqdata/conflag", "2");
- model.makeValue("/root/send/reqdata/lrgcd", model.getValue(sNode +"/lrgcd"));
- submit("TRMNP01505", false);
- model.removenode("/root/send");
- model.makeValue("/root/send/reqdata/opgrp1" , model.getValue(sNode +"/lrgcd"));
- model.makeValue("/root/send/reqdata/opgrp2" , model.getValue(sNode +"/mdlcd"));
- model.makeValue("/root/send/reqdata/sortflag" , "N");
- submit("TRMNP01503", false);
- model.setValue(xPathInput + "/orddeptcd" , model.getValue(sNode +"/orddeptcd"));
- model.setValue(xPathInput + "/perfid" , model.getValue(sNode +"/perfid"));
- model.setValue(xPathInput + "/opcd" , model.getValue(sNode +"/opcd"));
- model.setValue(xPathInput + "/appdd" , model.getValue(sNode +"/appdd"));
- model.setValue(xPathInput + "/perfavgoptm" , model.getValue(sNode +"/perfavgoptm"));
- model.setValue(xPathInput + "/perfavgdowntm", model.getValue(sNode +"/perfavgdowntm"));
- model.setValue(xPathInput + "/useflag" , model.getValue(sNode +"/useflag"));
- model.setValue(xPathInput + "/anstkind" , model.getValue(sNode +"/anstkind"));
- model.setValue(xPathInput + "/anstageflag" , model.getValue(sNode +"/anstageflag"));
- model.setValue(xPathInput + "/lrgcd" , model.getValue(sNode +"/lrgcd"));
- model.setValue(xPathInput + "/mdlcd" , model.getValue(sNode +"/mdlcd"));
- if ( DrRead == "Y") fDrCombo(2, DeptCode); // 집도(마취의) 가져오기
- grp_input.refresh();
- }
- /****************************************************************************************
- * Function : fOpCopy
- * Description : 수술명 복사
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fOpCopy(){
- var perfdeptcd = group3.cmb_orddept2.value;
- var perfid = group3.cmb_perf2.value;
- var copyflag = group3.rd_copyflag.value;
- trace("copyflag : " + copyflag);
- if( perfdeptcd == "" ) {
- sysf_messageBox("복사할 집도과를 ", "C002");
- group3.cmb_orddept2.setFocus();
- return;
- }else if( perfid == "" ) {
- sysf_messageBox("복사할 집도의를 ", "C002");
- group3.cmb_perf2.setFocus();
- return;
- }else if( copyflag == "" ) {
- sysf_messageBox("복사 조건을 ", "C002");
- group3.rd_copyflag.setFocus();
- return;
- }
- ds_copylist.clearData();
-
- var cnt = 0;
- for( var i=0; i < ds_grd_copyoplist.rowcount; i++ ) {
- var chk = ds_grd_copyoplist.getColumn(i,"chkflag");
- var opcd = ds_grd_copyoplist.getColumn(i,"opcd");
- var ccrtno = ds_grd_copyoplist.getColumn(i,"ccrtno");
-
- var opposturecd = ds_grd_copyoplist.getColumn(i,"opposturecd"); //수술체위
- var opdirecflag = ds_grd_copyoplist.getColumn(i,"opdirecflag"); //수술위치
- var anstmthdcd = ds_grd_copyoplist.getColumn(i,"anstmthdcd"); //마취방법
- var opcntmdg = ds_grd_copyoplist.getColumn(i,"opcntmdg"); //수술창상
- var usehours = ds_grd_copyoplist.getColumn(i,"usehours"); //소요시간(시)
- var usemins = ds_grd_copyoplist.getColumn(i,"usemins"); //소요시간(분)
- var opusetm = usehours.concat(usemins);
-
- if( chk == "Y" ) {
- var nRow = ds_copylist.addRow();
- ds_copylist.setColumn(nRow,"ccrtno" ,ccrtno);
- ds_copylist.setColumn(nRow,"opcd" ,opcd);
- ds_copylist.setColumn(nRow,"copyflag" ,copyflag);
- ds_copylist.setColumn(nRow,"perfdeptcd" ,perfdeptcd);
- ds_copylist.setColumn(nRow,"perfid" ,perfid);
- ds_copylist.setColumn(nRow,"opusetm" ,opusetm);
- ds_copylist.setColumn(nRow,"opposturecd",opposturecd);
- ds_copylist.setColumn(nRow,"opdirecflag",opdirecflag);
- ds_copylist.setColumn(nRow,"anstmthdcd" ,anstmthdcd);
- ds_copylist.setColumn(nRow,"opcntmdg" ,opcntmdg);
- cnt++;
- }
- }
- if( cnt > 0 ) {
-
- trace(ds_copylist.saveXML());
- tranf_submit({id:"TXMNP01502"
- , service:"opanstapp.OpAnstCCrtGoodMngt"
- , method:"reqInsCopyCartList"
- , inds:"copylist=ds_copylist"
- , outds:""
- , args:""
- , callback:""
- , async:"false"
- });
- fClear();//수술명 복사 초기화
- }else {
- sysf_messageBox("선택하신 수술명이 ", "I004");
- }
- }
- function fCheckCartCode(pCode){
- var sCode = "";
- var sNode = "/root/main/MnpmcartData/MnpmcartList";
- var sRowCnt = grd_cartlist.rows-grd_cartlist.fixedrows;
- for (var i=1;i<=sRowCnt; i++){
- sCode = model.getValue(sNode + "["+i+"]/ccrtno");
- if (pCode == sCode) {
- return true;
- }
- }
- return false;
- }
- function fOpCodePopup() {
- var xpos = event.screenX;
- var ypos = event.screenY-300;
- open("SPMNP01500", 1, xpos, ypos,"SPMNP01500","/root/init/WorkData/oplist", "/root/Cond/oplist");
- var iProperties = getParameter("SendData");
- var iSplit_Value = iProperties.split("|");
- if (iSplit_Value.length > 0) {
- model.setValue(xPathInput + "/opcd" , iSplit_Value[0]); // CODE
- model.setValue(xPathInput + "/opkname", iSplit_Value[1]); // NAME
- }
- }
- // --------------------------------------------------
- // Switch 속성변경 처리하는 함수
- // --------------------------------------------------
- function fViewToggle() {
- if (sToggle == 0) {
- grp_grid.attribute("width" ) = "1195";
- lin_grid.attribute("x2" ) = "1195";
- grd_cartlist.attribute("width" ) = "1195";
- bbt_excel.visible = true;
- } else {
- bbt_excel.visible = false;
- grp_grid.attribute("width" ) = "726";
- lin_grid.attribute("x2" ) = "724";
- grd_cartlist.attribute("width" ) = "724";
- }
- grp_grid.refresh();
- }
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 집도과(마취과) 콤보아이템 가져오기 */
- /* param : */
- /* return : */
- /* --------------------------------------------------*/
- function fDeptCombo(pFlag) {
- removeComboItem("cmb_orddept" );
- model.removenode("/root/send" );
- model.makeValue("/root/send/flag" , "X" );
- model.makeValue("/root/send/searchitem", "XX" );
- model.makeValue("/root/send/deptflag" , pFlag );
- submit("TRMNP00102", false);
- model.removeNodeset("/root/main/DeptLists/deptlist");
- model.copyNode("/root/main/DeptLists", "/root/init/DeptLists");
- }
- /****************************************************************************************
- * Function : fDrCombo
- * Description : 집도의(마취의) 콤보아이템 가져오기
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fDrCombo(pCls, pDept) {
- ds_reqdata.clearData();
- ds_reqdata.setColumn(ds_reqdata.addRow(), "orddept", pDept);
- tranf_submit({id:"TRMNP00103"
- , service:"opanstapp.OpAnstPatMngt"
- , method:"reqGetDrInfo"
- , inds:"reqdata=ds_reqdata"
- , outds:"ds_drlist=drlist"
- , args:""
- , callback:""
- , async:"false"
- });
- if (pCls ==1) {//수술명 등록용 집도의 리스트
- ds_init_cmb_perf.clearData();
- dsf_copyDs(ds_init_cmb_perf, ds_drlist, "replace");
- frmf_addComboItem("group3.cmb_perf" , "전 체", "", "above");
- group3.cmb_perf.value = "";
- }
- if (pCls ==2) {//수술명 복사용 집도의 리스트
- ds_init_cmb_perf2.clearData();
- dsf_copyDs(ds_init_cmb_perf2, ds_drlist, "replace");
- frmf_addComboItem("group3.cmb_perf2" , "전 체", "", "above");
- group3.cmb_perf2.value = "";
- }
- }
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 콤보아이템 제거 */
- /* param : */
- /* return : */
- /* --------------------------------------------------*/
- function removeComboItem( comboID ) {
- var comboObj = document.all.item(comboID);
- var comboItemNodeSet = comboObj.choices.itemset.attribute("nodeset");
- model.removenode(comboItemNodeSet + "[1]");
- model.refresh();
- }
- // --------------------------------------------------
- // 화면 Query 시 처리하는 함수
- // --------------------------------------------------
- function fCheckCartGubn() {
- var sCartGubn = model.getValue("/root/init/WorkData/cond/cartgubn"); // Cart구분 O:수술
- model.removeNodeset("/root/main/MnpmcartData/MnpmcartList");
- model.setValue("/root/init/WorkData/cond/anstkind" , "");
- model.setValue("/root/init/WorkData/cond/anstageflag", "");
- model.setValue(xPathInput + "/anstkind" , "");
- model.setValue(xPathInput + "/anstageflag", "");
- //cmb_anstkind.refresh();
- //cmb_anstageflag.refresh();
- if (sCartGubn == "O") {
- cap_dr.text = "집 도 의";
- cap_dept.text = "집 도 과";
- cap_in_dr.text = "집 도 의";
- cap_in_dept.text = "집 도 과";
- cmb_anstkind.disabled = true; //마취방법 비활성화
- cmb_anstageflag.disabled = true; //연령대 비활성화
- grd_anstcartlist.visible = flase;
- grd_cartlist.visible = true;
- model.setValue(xPathInput + "/anstopflag" , "");
- grp_dr.disabled = true;
- cmb_orddept.disabled = false;
- //grd_cartlist.colhidden(2) = false;
- //grd_cartlist.colhidden(4) = true;
- //grd_cartlist.colhidden(5) = true;
- model.removeNodeset("/root/init/drlist");
- fDeptCombo("011"); // 집도과
- addComboItem("cmb_orddept", "전 체", "", "above" );
- } else {
- cap_dr.text = "마 취 의";
- cap_dept.text = "마 취 과";
- cap_in_dr.text = "마 취 의";
- cap_in_dept.text = "마 취 과";
- cmb_anstkind.disabled = false; //마취방법 활성화
- cmb_anstageflag.disabled = false; //연령대 활성화
- grd_anstcartlist.visible = true;
- grd_cartlist.visible = false;
- grp_dr.disabled = false;
- cmb_orddept.disabled = true;
- //grd_cartlist.colhidden(2) = true;
- //grd_cartlist.colhidden(4) = false;
- //grd_cartlist.colhidden(5) = false;
- fDeptCombo("012"); // 마취과
- }
- fInputDataClear();
- var curtDate = getCurrentDate();
- var curtYYMM = curtDate.substr(0, 8);
- model.setValue("/root/init/WorkData/InputData/appdd", curtYYMM);//적용일자는 현재일로 셋팅
- cmb_orddept.selectedIndex = 1;
- fDrCombo(1, model.getValue("/root/init/WorkData/cond/orddept"));
- model.refresh();
- }
- //
- function fInputDataClear() {
- model.setValue(xPathInput + "/ccrtno" ,"" );
- model.setValue(xPathInput + "/orddeptcd" ,"" );
- model.setValue(xPathInput + "/perfid" ,"" );
- model.setValue(xPathInput + "/opcd" ,"" );
- model.setValue(xPathInput + "/appdd" ,"" );
- model.setValue(xPathInput + "/perfavgoptm" ,"" );
- model.setValue(xPathInput + "/perfavgdowntm","" );
- model.setValue(xPathInput + "/useflag" ,"Y" );
- model.setValue(xPathInput + "/recstat" ,"" );
- model.setValue(xPathInput + "/depthngnm" ,"" );
- model.setValue(xPathInput + "/usernm" ,"" );
- model.setValue(xPathInput + "/opkname" ,"" );
- model.setValue(xPathInput + "/anstkind" ,"" );
- model.setValue(xPathInput + "/anstageflag" ,"");
- model.setValue(xPathInput + "/anstopflag" ,"");
- model.setValue(xPathInput + "/copydr" ,"" );
- model.setValue(xPathInput + "/copydept" ,"" );
- model.setValue(xPathInput + "/nameflag" ,"" );
- model.setValue(xPathInput + "/copyflag" ,"" );
- grp_input.refresh();
- }
- // --------------------------------------------------
- // Grid 속성변경 처리하는 함수
- // --------------------------------------------------
- function fSetAttribute(pIdx) {
- var sWidth = tWidth[pIdx].split(",");
- for (i = 0; i < sWidth.length; i++) {
- grd_cartlist.colwidth(i+1) = sWidth[i];
- }
- }
- /* ------------------------------------------------- */
- /* SMMNP01500_Case Cart MASTER */
- /* */
- /* ------------------------------------------------- */
- /* group : EMR 간호 수술마취 */
- /* ver : 2008.10.14 */
- /* by : 김진명 */
- /* ------------------------------------------------- */
- /* SMMNP01500_Case Cart MASTER */
- /* */
- /* desc :수술명 사용 전환 */
- /* --------------------------------------------------*/
- function fConvertOP(useflag) {
- model.removenode("/root/send");
- var SendData = "ccrtno▦useflag";
- var ccrtno, cnt=0;
- for( var i = 0; i < grd_cartlist.rows; i++ ) {
- if( model.getValue("/root/main/MnpmcartData/MnpmcartList[" + i + "]/chk") == "true" ) {
- cnt++
- ccrtno = model.getValue("/root/main/MnpmcartData/MnpmcartList[" + i + "]/ccrtno")
- SendData = SendData + "▩" + ccrtno + "▦" + useflag;
- }
- }
- if( cnt > 0 ) {
- model.makeValue("/root/send/senddata", SendData);
- model.makeValue("/root/send/reqdata/orddeptcd" , model.getValue("/root/init/WorkData/cond/orddept" )); // 진료과코드
- model.makeValue("/root/send/reqdata/perfid" , model.getValue("/root/init/WorkData/cond/perfdr" )); // 집도의ID
- model.makeValue("/root/send/reqdata/useflag" , model.getValue("/root/init/WorkData/cond/useflag" )); // 사용여부
- model.makeValue("/root/send/reqdata/cartgubn" , model.getValue("/root/init/WorkData/cond/cartgubn" )); // Cart구분(O:수술,A:마취)
- model.makeValue("/root/send/reqdata/anstkind" , model.getValue("/root/init/WorkData/cond/anstkind" )); // 마취종류(코드정의서 M0017 참조)
- model.makeValue("/root/send/reqdata/anstageflag", model.getValue("/root/init/WorkData/cond/anstageflag")); // 수술마취나이구분(코드 M0246 참조)
- submit("TXMNP01501"); // 수술명 사용 전환
- }
- }
- /****************************************************************************************
- * Function : fCheckUseHours
- * Description : 수술소요 시간(hour)입력 정보 체크 및 수정
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fCheckUseHours(grdFlag, selRow){
- var hours;
-
- if(grdFlag == "original") hours = ds_grd_cartlist.getColumn(selRow,"usehours");
- if(grdFlag == "copy") hours = ds_grd_copyoplist.getColumn(selRow,"usehours");
-
- var addZeroHours = "0";
-
- if(isNull(hours) ){
- return addZeroHours.concat("0");
- }else if(hours.length < 2){
- return addZeroHours.concat(hours);
- }else{
- return hours;
- }
- }
- /****************************************************************************************
- * Function : fn_callback_TRMNP01512
- * Description : 과/의사 정보 불러와 집도과/집도의 콤보데이터셋에 copy
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fn_callback_TRMNP01512() {
- dsf_copyDs(ds_init_cmb_orddept, ds_deptlist, "replace");
- dsf_copyDs(ds_init_cmb_orddept2, ds_deptlist, "replace");
- }
- /* ------------------------------------------------- */
- /* ------End Of List ------------------------------- */
- /* -------------------------------------------------- */
- ]]></Script>
|