123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/* ---------------------------------------------------------------------
- 수술기록 적출물 기록(SMMNP00310.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- : Create By taebum
- : 2008-07-04 오전 10:43:50
- ---------------------------------------------------------------------- */
- var sPid = ""; //등록번호
- var sOprsrvno = ""; //수술예약번호
- var sOphistno = ""; //수술예약 일련번호
- var sDoctid = ""; //집도의ID
- var sDoctnm = ""; //집도의
- var sInstcd = "";
- var sOpfromdt = ""; //수술시작일시
- var sOproomcd = ""; //수술방코드
- var sOpcnfmdd = ""; //수술확정일자
- //sSendData = sPid+"▥"+ sOprsrvno +"▥"+ sOphistno +"▥"+ sInstcd +"▥"+ sOpfromdt +"▥"+tempOproomcd+ "▨"+ sSendPinfo +"▨"+sSendDoctinfo;
- /**
- * 화면 초기화
- *
- */
- function fInit(){
-
- var sRecvFlag = opener.frmf_getParameter("SMMNP00300_searchFlag");
- var sRecvData = opener.frmf_getParameter("SMMNP00300_SearchCondition");
- opener.frmf_setParameter("SMMNP00300_searchFlag", "");
- opener.frmf_setParameter("SMMNP00300_SearchCondition", "");
-
- if( sRecvFlag != "true" ){
- sysf_messageBox("적출물기록은 수술기록 화면에서만 연동할 수 있으며 기록 가능합니다.", "");
- group3.enable = false;
- return;
- }
-
- //**공통코드 가져오기**//
- var arrParam = [{dsNm: "ds_init_M0194list_M0194", cdGrpId: "M0194"}] // 감염성 질환
- appf_getCodeList(arrParam);
-
- var sProp="col="+ds_init_M0194list_M0194.rowcount+",row=1,cellspacing=30,vcellspacing=2,itemWidth=-1,itemHeight=17,overflow='visible'";
- group3.checkbox1.setInitComp(sProp, ds_init_M0194list_M0194,"cdid","cdnm","fn_mCheckbox1");
-
- var sRecvArr = null;
- if( !utlf_isNull(sRecvData) ){
- sRecvArr = sRecvData.split("▨");
- var sDataArr = sRecvArr[1].split("▥");
- if( !utlf_isNull(sRecvArr[1]) ){
- sOpcnfmdd = sDataArr[0];
- ds_init.setColumn(0, "pinfo", sOpcnfmdd);
- ds_init.setColumn(0, "pinfo2", sDataArr[1]);
- ds_init.setColumn(0, "pinfo3", sDataArr[2]);
- //output2.refresh();
- }
-
- if( !utlf_isNull(sRecvArr[0]) ){
- var sRecvPinfoArr = sRecvArr[0].split("▥");
- sPid = sRecvPinfoArr[0];
- sOprsrvno = sRecvPinfoArr[1]; //수술예약번호
- sOphistno = sRecvPinfoArr[2]; //수술예약 일련번호
- sInstcd = sRecvPinfoArr[3];
- sOpfromdt = sRecvPinfoArr[4]; //수술시작일시
- sOproomcd = sRecvPinfoArr[5]; //수술방코드
- }
-
- if( !utlf_isNull(sRecvArr[2]) ){
- var sRecvDoctArr = sRecvArr[2].split("▥");
- sDoctnm = sRecvDoctArr[0]; //집도의
- sDoctid = sRecvDoctArr[1]; //집도의ID
- }
- }
-
- if( !utlf_isNull(sOprsrvno) ){
- //수술예약번호가 존재할 경우 정상 조회 처리
- fGetRoomInfo();
- fSearchMnphOpeo();
- ds_init_HideData.setColumn(0, "actid", ds_main_infectinfo.getColumn(0, "actnurid"));
- }
-
- }
- /**
- * @group :
- * @ver : 2016.07.18
- * @by : 윤주호
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : MultiCheckBox 값 셋팅
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fn_mCheckbox1(){
- var rtn = "";
- var tmp = "";
-
- rtn = group3.checkbox1.getData();
-
- for( var i=0 ; i<rtn.length ; i++ ){
- if( i == 0 ) tmp = rtn[i];
- else tmp = tmp + " " +rtn[i];
- }
-
- ds_main_infectinfo.setColumn(0, "infectflag", tmp);
-
- fValueChangedInfectChk();
- }
- /**
- * 화면 오픈시 수술방 정보와 취급 간호사, 집도의 부서 정보를 조회한다.
- *
- */
- function fGetRoomInfo(){
-
- ds_send.setColumn(0, "flag", "userid");
- ds_send.setColumn(0, "searchitem", "00009006");
-
- var oParam = {};
- oParam.id = "TRMNP00301";
- oParam.service = "opanstapp.OpAnstRec";
- oParam.method = "reqGetOpRoomInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_init_HideData_OpRoomData_OpRoomInfo=OpRoomInfo";
- oParam.async = false;
- //oParam.callback = "cf_TRMNP00301";
- tranf_submit(oParam); // 수술실의 코드와 명칭을 가져온다.
-
- ds_send.setColumn(0, "doctid", sDoctid);
- ds_send.setColumn(0, "flag", "userid");
- ds_send.setColumn(0, "selectflag", "userid");
- ds_send.setColumn(0, "searchitem", "");
- ds_send.setColumn(0, "searchdd", sOpcnfmdd); //조회 기준일자
- ds_send.setColumn(0, "deptflag", "015"); //수술실 간호사코드 anstrecmgr - getUserList
-
- var oParam = {};
- oParam.id = "TRMNP00316";
- oParam.service = "opanstapp.OpAnstRec";
- oParam.method = "reqGetOPNurInfoDoctInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_init_DisplayData_nurlist=nurlist ds_init_DisplayData_doctinfo=doctinfo";
- oParam.async = false;
- //oParam.callback = "cf_TRMNP00316";
- tranf_submit(oParam); //수술방 간호사 정보 및 집도의 리스트 정보 조회
- }
- /**
- * 조회 버튼 클릭시 이벤트
- *
- */
- function fSearchMnphOpeo(){
- if( utlf_isNull(sOprsrvno) ){
- sysf_messageBox("적출물기록은 수술기록 화면에서만 연동할 수 있으며 기록 가능합니다.", "");
- group3.enable = false;
- return;
- }
-
- ds_send.setColumn(0, "oprsrvno", sOprsrvno);
- ds_main_eolists_eolist.clearData();
-
- var oParam = {};
- oParam.id = "TRMNP00315";
- oParam.service = "opanstapp.OpAnstRec";
- oParam.method = "reqGetMnphOpeoInfo";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_main_eolists_eolist=eolist ds_main_eolists_aprvlist=aprvlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNP00315";
- tranf_submit(oParam);
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumnInfo("displayactnurid")) ){
- ds_main_eolists_eolist.addColumn("displayactnurid", "string");
- }
-
- if( ds_main_eolists_eolist.rowcount < 1 ){
- ds_main_infectinfo.setColumn(0, "infectyn", "N");
- group3.checkbox1.setEnable(false);
- group3.input1.enable = false;
-
- }else{
- ds_main_eolists_eolist.enableevent = false;
- ds_main_eolists_eolist.updatecontrol = false;
-
- for( var i=0 ; i<ds_main_eolists_eolist.rowcount ; i++ ){
- ds_main_eolists_eolist.setColumn(i, "displayactnurid", ds_main_eolists_eolist.getColumn(i, "actnurid"));
- }
-
- ds_main_eolists_eolist.updatecontrol = true;
- ds_main_eolists_eolist.enableevent = true;
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(0, "infectyn")) || ds_main_eolists_eolist.getColumn(0, "infectyn") == "Y" ){
- ds_main_infectinfo.setColumn(0, "infectyn", ds_main_eolists_eolist.getColumn(0, "infectyn"));
- ds_main_infectinfo.setColumn(0, "infectflag", ds_main_eolists_eolist.getColumn(0, "infectflag")); //감염구분
-
- var infectArray = utlf_transNullToEmpty(ds_main_eolists_eolist.getColumn(0, "infectflag")).split(" ");
- for( var i=0 ; i<infectArray.length ; i++ ){
- if( infectArray[i] == "6" ){
- group3.input1.enable = true;
- }
- }
- ds_main_infectinfo.setColumn(0, "infectetc", ds_main_eolists_eolist.getColumn(0, "infectetc")); //감염etc
- ds_main_infectinfo.setColumn(0, "actnurid", ds_main_eolists_eolist.getColumn(0, "actnurid")); //취급간호사
- //combo2.refresh();
- //alert(datagrid1.textmatrix(1, 16));
- }else{
- ds_main_infectinfo.setColumn(0, "infectyn", "N");
- group3.checkbox1.setEnable(false);
- group3.input1.enable = false;
- }
-
- ds_main_eolists_eolist.rowposition = -1;
- }
- //datagrid.rowstatus(0)
- }
- /**
- * 추가 버튼 클릭 시 이벤트
- *
- */
- function fOnClickGridAddBtn(){
- //var iRow = datagrid2.row;
- //var iCol = datagrid2.col;
- //alert(iCol);
- var i = ds_main_eolists_eolist.addRow();
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "opdeptcd")) ){
- ds_main_eolists_eolist.setColumn(i, "opdeptcd", ds_init_DisplayData_doctinfo.getColumn(0, "deptcd")); //집도과ID
- }
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "opdeptnm")) ){
- ds_main_eolists_eolist.setColumn(i, "opdeptnm", ds_init_DisplayData_doctinfo.getColumn(0, "deptnm")); //집도과명
- }
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "opdoctid")) ){
- ds_main_eolists_eolist.setColumn(i, "opdoctid", sDoctid); //적출의ID - 집도의
- }
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "opdoctnm")) ){
- ds_main_eolists_eolist.setColumn(i, "opdoctnm", sDoctnm); //적출의명
- }
- // 동의서 조회 주석 처리
- // if(getNodesetCount("/root/main/eolists/aprvlist/opaprvyn") > 0){
- // datagrid1.textmatrix(i, datagrid1.colRef("opaprvyn")) = model.getValue("/root/main/eolists/aprvlist/opaprvyn");//동의서확인
- // }
- }
- /**
- * 삭제 버튼 클릭 시 이벤트
- *
- */
- function fOnClickGridDeleteBtn(){
- var iRow = group3.datagrid1.currentrow;
- var iCol = group3.datagrid1.currentcol;
- if( group3.datagrid1.currentrow >= 0 ){
- if( !utlf_isNull(ds_main_eolists_eolist.getColumn(iRow, "eoseqno")) && !utlf_isNull(ds_main_eolists_eolist.getColumn(iRow, "remvdd")) ){
- sysf_messageBox("이미 수거한 내역은 삭제할 수 없습니다.", "");
- }else{
- ds_main_eolists_eolist.deleteRow(iRow);
- }
- }
- }
- /**
- * Grid Time button 클릭시
- *
- */
- function fOnClickGridTimeBtn(){
- var iRow = group3.datagrid1.currentrow;
- var iCol = group3.datagrid1.currentcol;
-
- if( iCol == group3.datagrid1.getBindCellIndex("body", "extcrtm") ){
- ds_main_eolists_eolist.setColumn(iRow, "extcrdd", utlf_getCurrentDate());
- ds_main_eolists_eolist.setColumn(iRow, "extcrtm", utlf_getCurrentTime().substr(0, 4));
- }
- }
- /**
- * 저장시 valid check 및 default info copy
- *
- */
- function validForSave(){
- var itotalRow = group3.datagrid1.rowcount;
- var iCol = group3.datagrid1.currentcol;
- if( utlf_isNull(sOprsrvno) ){
- return false;
- }
- var iTempStat = "";
- var sUpdateCnt = 0; //감염정보를 전체 update하기 위한 상태값 변경.
-
- if( group3.input1.enable == true && utlf_isNull(group3.input1.value) ){
- sysf_messageBox("감염 정보 기타 상세내역을 입력하십시요.", "");
- return false;
- }
-
- for( var i=0 ; i<itotalRow ; i++ ){
- iTempStat = ds_main_eolists_eolist.getRowType(i);
- /*
- 0 : 데이터는 있지만 변경되지 않은 사항
- 1 : new
- 2 : update
- */
-
- if(iTempStat == 1){
- if(sUpdateCnt == 0){
- ds_main_eolists_eolist.enableevent = false;
- ds_main_eolists_eolist.updatecontrol = false;
-
- ds_main_eolists_eolist.setRowType(i, 4);
-
- ds_main_eolists_eolist.updatecontrol = true;
- ds_main_eolists_eolist.enableevent = true;
- }
- sUpdateCnt++;
- }else if(iTempStat == 1){
- sUpdateCnt++;
- }else if(iTempStat == 1){
- sUpdateCnt++;
- }
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "oprsrvno")) ){
- ds_main_eolists_eolist.setColumn(i, "oprsrvno", sOprsrvno);
- }
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "oproomcd")) ){
- ds_main_eolists_eolist.setColumn(i, "oproomcd", sOproomcd);
- }
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "extcrdd")) ){ //적출일자
- sysf_messageBox((i+1)+" 번째 행의 적출일자 정보를 입력하시기 바랍니다.", "");
- return false;
- }
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "extcrtm")) ){ //적출일자
- sysf_messageBox((i+1)+" 번째 행의 적출시간 정보를 입력하시기 바랍니다.", "");
- return false;
- }
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "opdeptcd")) ){
- ds_main_eolists_eolist.setColumn(i, "opdeptcd", ds_init_DisplayData_doctinfo.getColumn(0, "deptcd")); //집도과ID
- }
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "opdeptnm")) ){
- ds_main_eolists_eolist.setColumn(i, "opdeptnm", ds_init_DisplayData_doctinfo.getColumn(0, "deptnm")); //집도과명
- }
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "opdoctid")) ){
- ds_main_eolists_eolist.setColumn(i, "opdoctid", sDoctid); //적출의ID - 집도의
- }
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "opdoctnm")) ){
- ds_main_eolists_eolist.setColumn(i, "opdoctnm", sDoctnm); //적출의명
- }
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "extcrpart")) ){ //적출부위
- sysf_messageBox((i+1)+" 번째 행의 적출부위 정보를 입력하시기 바랍니다.", "");
- return false;
- }
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "extcrcnt")) ){ //수량
- sysf_messageBox((i+1)+" 번째 행의 적출 수량 정보를 입력하시기 바랍니다.", "");
- return false;
- }
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "extcrweig")) ){ //중량
- sysf_messageBox((i+1)+" 번째 행의 적출 중량 정보를 입력하시기 바랍니다.", "");
- return false;
- }
-
- //감염여부
- ds_main_eolists_eolist.setColumn(i, "infectyn", ds_main_infectinfo.getColumn(0, "infectyn"));
-
- //감염구분
- ds_main_eolists_eolist.setColumn(i, "infectflag", ds_main_infectinfo.getColumn(0, "infectflag"));
-
- //감염etc
- ds_main_eolists_eolist.setColumn(i, "infectetc", ds_main_infectinfo.getColumn(0, "infectetc"));
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumn(i, "displayactnurid")) ){ //취급간호사
- sysf_messageBox((i+1)+" 번째 행의 취급간호사 정보를 입력하시기 바랍니다.", "");
- return false;
- }
- }
-
- return true;
- }
- /**
- * 저장 버튼 클릭 시 이벤트
- *
- */
- function onclickSaveBtn(){
- if( !validForSave() ) return;
-
- grdf_setStatusColumn(ds_main_eolists_eolist, "status");
- ds_send_eolists.assign(ds_main_eolists_eolist);
-
- var oParam = {};
- oParam.id = "TXMNP00310";
- oParam.service = "opanstapp.OpAnstRec";
- oParam.method = "reqExeMnphOpeoInfo";
- oParam.inds = "eolists=ds_send_eolists:A";
- oParam.outds = "ds_main_eolists_eolist=eolist ds_main_eolists_aprvlist=aprvlist";
- oParam.async = false;
- //oParam.callback = "cf_TXMNP00310";
- tranf_submit(oParam);
-
- if( utlf_isNull(ds_main_eolists_eolist.getColumnInfo("displayactnurid")) ){
- ds_main_eolists_eolist.addColumn("displayactnurid", "string");
- }
-
- ds_main_eolists_eolist.enableevent = false;
- ds_main_eolists_eolist.updatecontrol = false;
-
- for( var i=0 ; i<ds_main_eolists_eolist.rowcount ; i++ ){
- ds_main_eolists_eolist.setColumn(i, "displayactnurid", ds_main_eolists_eolist.getColumn(i, "actnurid"));
- }
-
- ds_main_eolists_eolist.updatecontrol = true;
- ds_main_eolists_eolist.enableevent = true;
-
- ds_main_eolists_eolist.rowposition = -1;
-
- }
- /**
- * 감염유무
- */
- function fValueChangedInfectCombo(){
- var sinfectyn = ds_main_infectinfo.getColumn(0, "infectyn");
- if( sinfectyn == "Y" ){
- group3.checkbox1.setEnable(true);
- //input1.disabled = false;
- }else if( sinfectyn == "N" ){
- ds_main_infectinfo.setColumn(0, "infectflag", "");
- ds_main_infectinfo.setColumn(0, "infectetc", "");
- group3.checkbox1.setEnable(false);
- group3.input1.enable = false;
- }
- }
- //grid Value Changed event
- function fGridValueChanged(){
- var iRow = group3.datagrid1.currentrow;
- var iCol = group3.datagrid1.currentcol;
-
- if( iCol == group3.datagrid1.getBindCellIndex("body", "actnurid") ){
- //model.setValue("/root/main/eolists/eolist["+iRow+"]/displayactnurid", datagrid1.valueMartrix(iRow, datagrid1.colRef("search")));
-
- ds_main_eolists_eolist.setColumn(iRow, "displayactnurid", ds_main_eolists_eolist.getColumn(iRow, "actnurid"));
- }
- }
- /**
- * 감염 정보 값 변경 시 이벤트
- *
- */
- function fValueChangedInfectChk(){
- var infectArray = utlf_transNullToEmpty(ds_main_infectinfo.getColumn(0, "infectflag")).split(" ");
- var chkinfectyn = true;
-
- for( var i=0 ; i<infectArray.length ; i++ ){
- if( infectArray[i] == "6" ){
- chkinfectyn = false;
- }
- }
-
- if( chkinfectyn == true ){
- group3.input1.value = "";
- }
-
- group3.input1.enable = !chkinfectyn;
- }
- ]]></Script>
|