123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389 |
- /* ---------------------------------------------------------------------
- 수술기록 적출물 기록(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(){
- model.removeNodeSet("/root/main/eolist");
- model.removeNodeSet("/root/main/paminfo");
- datagrid1.refresh();
- model.refresh();
- var sRecvFlag = opener.javascript.getParameter("SMMNP00300_searchFlag");
- var sRecvData = opener.javascript.getParameter("SMMNP00300_SearchCondition");
- opener.javascript.setParameter("SMMNP00300_searchFlag", "");
- opener.javascript.setParameter("SMMNP00300_SearchCondition", "");
-
- if(sRecvFlag != "true"){
- messageBox("적출물기록은 수술기록 화면에서만 연동할 수 있으며 기록 가능합니다.", "");
- group3.disabled = true;
- return;
- }
-
- //**공통코드 가져오기**//
- zbcfGetCodeList( new Array ( "M0194" // 감염성 질환
- )
- , new Array ( "/root/init/M0194list" // 감염성 질환
- )
- );
-
- var sRecvArr = null;
- if(sRecvData != "" && sRecvData != null && sRecvData != "undefined"){
- sRecvArr = sRecvData.split("▨");
- var sDataArr = sRecvArr[1].split("▥");
- if(sRecvArr[1] != null && sRecvArr[1] != "" && sRecvArr[1] != "undefined"){
- sOpcnfmdd = sDataArr[0];
- model.setValue("/root/init/pinfo", sOpcnfmdd);
- model.setValue("/root/init/pinfo2", sDataArr[1]);
- model.setValue("/root/init/pinfo3", sDataArr[2]);
- //output2.refresh();
- }
-
- if(sRecvArr[0] != null && sRecvArr[0] != "" && sRecvArr[0] != "undefined"){
- var sRecvPinfoArr = sRecvArr[0].split("▥");
- sPid = sRecvPinfoArr[0];
- sOprsrvno = sRecvPinfoArr[1]; //수술예약번호
- sOphistno = sRecvPinfoArr[2]; //수술예약 일련번호
- sInstcd = sRecvPinfoArr[3];
- sOpfromdt = sRecvPinfoArr[4]; //수술시작일시
- sOproomcd = sRecvPinfoArr[5]; //수술방코드
- }
-
- if(sRecvArr[2] != null && sRecvArr[2] != "" && sRecvArr[2] != "undefined"){
- var sRecvDoctArr = sRecvArr[2].split("▥");
- sDoctnm = sRecvDoctArr[0]; //집도의
- sDoctid = sRecvDoctArr[1]; //집도의ID
- }
- }
-
- if(sOprsrvno != "" && sOprsrvno != null && sOprsrvno != "undefined"){
- //수술예약번호가 존재할 경우 정상 조회 처리
- fGetRoomInfo();
- fSearchMnphOpeo();
- model.setValue("/root/init/HideData/actid", model.getValue("/root/main/infectinfo/actnurid"));
- output1.refresh();
- }
-
- }
- /**
- * 화면 오픈시 수술방 정보와 취급 간호사, 집도의 부서 정보를 조회한다.
- *
- */
- function fGetRoomInfo(){
- model.removenode("/root/send");
- model.makeValue("/root/send/flag" , "userid" );
- model.makeValue("/root/send/searchitem" , "00009006" );
- submit("TRMNP00301"); // 수술실의 코드와 명칭을 가져온다.
-
- model.removenode("/root/send");
- model.makeValue("/root/send/doctid" , sDoctid);
- model.makeValue("/root/send/flag" , "userid");
- model.makeValue("/root/send/selectflag" , "userid" );
- model.makeValue("/root/send/searchitem" , "" );
- model.makeValue("/root/send/searchdd" , sOpcnfmdd );//조회 기준일자
- model.makeValue("/root/send/deptflag" , "015" ); //수술실 간호사코드 anstrecmgr - getUserList
-
- submit("TRMNP00316"); //수술방 간호사 정보 및 집도의 리스트 정보 조회
- }
- /**
- * 조회 버튼 클릭시 이벤트
- *
- */
- function fSearchMnphOpeo(){
- if(sOprsrvno == "" || sOprsrvno == "undefined" || sOprsrvno == null) {
- messageBox("적출물기록은 수술기록 화면에서만 연동할 수 있으며 기록 가능합니다.", "");
- group3.disabled = true;
- return;
- }
-
- model.removenode("/root/send");
-
- model.makeValue("/root/send/oprsrvno", sOprsrvno);
- model.removeNodeSet("/root/main/eolists/eolist");
- datagrid1.rebuild();
- submit("TRMNP00315");
-
- if(getNodesetCount("/root/main/eolists/eolist") < 1){
- model.setValue("/root/main/infectinfo/infectyn", "N");
- checkbox1.disabled = true;
- input1.disabled = true;
- model.refresh();
-
- }else{
- if(model.getValue("/root/main/eolists/eolist/infectyn") == "" || model.getValue("/root/main/eolists/eolist/infectyn") == "Y"){
- model.setValue("/root/main/infectinfo/infectyn", datagrid1.textmatrix(1, datagrid1.colRef("infectyn")));
- model.setValue("/root/main/infectinfo/infectflag", datagrid1.textmatrix(1, datagrid1.colRef("infectflag")));//감염구분
-
- infectArray = datagrid1.textmatrix(1, datagrid1.colRef("infectflag")).split(" ");
- for(var i = 0 ; i < infectArray.length ; i++){
- if(infectArray[i] == "6"){
- input1.disabled = false;
- }
- }
- model.setValue("/root/main/infectinfo/infectetc",datagrid1.textmatrix(1, datagrid1.colRef("infectetc")));//감염etc
- model.setValue("/root/main/infectinfo/actnurid", datagrid1.textmatrix(1, datagrid1.colRef("actnurid"))); //취급간호사
- model.refresh();
- //combo2.refresh();
- //alert(datagrid1.textmatrix(1, 16));
- }else{
- model.setValue("/root/main/infectinfo/infectyn", "N");
- checkbox1.disabled = true;
- input1.disabled = true;
- model.refresh();
- }
- }
- //datagrid.rowstatus(0)
- }
- /**
- * 추가 버튼 클릭 시 이벤트
- *
- */
- function fOnClickGridAddBtn(){
- //var iRow = datagrid2.row;
- //var iCol = datagrid2.col;
- //alert(iCol);
- datagrid1.addRow(true, true);
- var i = datagrid1.rows - datagrid1.fixedRows;
- if(datagrid1.textmatrix(i, datagrid1.colRef("opdeptcd")) == ""){
- datagrid1.textmatrix(i, datagrid1.colRef("opdeptcd")) = model.getValue("/root/init/DisplayData/doctinfo/deptcd");//집도과ID
- }
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("opdeptnm")) == ""){
- datagrid1.textmatrix(i, datagrid1.colRef("opdeptnm")) = model.getValue("/root/init/DisplayData/doctinfo/deptnm");//집도과명
- }
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("opdoctid")) == ""){
- datagrid1.textmatrix(i, datagrid1.colRef("opdoctid")) = sDoctid;//적출의ID - 집도의
- }
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("opdoctnm")) == ""){
- datagrid1.textmatrix(i, datagrid1.colRef("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 = datagrid1.row;
- var iCol = datagrid1.col;
- if (datagrid1.row >= 1) {
- if(datagrid1.valueMatrix(iRow, datagrid1.colRef("eoseqno")) != "" && datagrid1.valueMatrix(iRow, datagrid1.colRef("remvdd")) != ""){
- messageBox("이미 수거한 내역은 삭제할 수 없습니다.", "");
- }else{
- datagrid1.deleteRow(iRow);
- }
- }
- }
- /**
- * Grid Time button 클릭시
- *
- */
- function fOnClickGridTimeBtn(){
- var iRow = datagrid1.row;
- var iCol = datagrid1.col;
- if(iCol == datagrid1.colRef("extcrtm")){
- datagrid1.textmatrix(iRow, iCol-1) = getCurrentDate();
- datagrid1.textmatrix(iRow, iCol) = getCurrentTime().substr(0, 4);
- }
- }
- /**
- * 저장시 valid check 및 default info copy
- *
- */
- function validForSave(){
- var itotalRow = datagrid1.rows;
- var iCol = datagrid1.col;
- if(sOprsrvno == "" || sOprsrvno == "undefined" || sOprsrvno == null){
- return false;
- }
- var iTempStat = "";
- var sUpdateCnt = 0; //감염정보를 전체 update하기 위한 상태값 변경.
-
- if(input1.disabled == false && input1.value == ""){
- messageBox("감염 정보 기타 상세내역을 입력하십시요.", "");
- return false;
- }
-
- for(var i = datagrid1.fixedRows; i <= itotalRow - datagrid1.fixedRows; i++){
- iTempStat = datagrid1.rowstatus(i);
- /*
- 0 : 데이터는 있지만 변경되지 않은 사항
- 1 : new
- 2 : update
- */
-
- if(iTempStat == 0){
- if(sUpdateCnt == 0){
- datagrid1.rowstatus(i) = 2;
- }
- sUpdateCnt++;
- }else if(iTempStat == 0){
- sUpdateCnt++;
- }else if(iTempStat == 0){
- sUpdateCnt++;
- }
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("oprsrvno")) == ""){
- datagrid1.textmatrix(i, datagrid1.colRef("oprsrvno")) = sOprsrvno;
- }
- if(datagrid1.textmatrix(i, datagrid1.colRef("oproomcd")) == ""){
- datagrid1.textmatrix(i, datagrid1.colRef("oproomcd")) = sOproomcd;
- }
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("extcrdd")) == ""){ //적출일자
- messageBox(i+" 번째 행의 적출일자 정보를 입력하시기 바랍니다.", "");
- return false;
- }
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("extcrtm")) == ""){ //적출일자
- messageBox(i+" 번째 행의 적출시간 정보를 입력하시기 바랍니다.", "");
- return false;
- }
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("opdeptcd")) == ""){
- datagrid1.textmatrix(i, datagrid1.colRef("opdeptcd")) = model.getValue("/root/init/DisplayData/doctinfo/deptcd");//집도과ID
- }
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("opdeptnm")) == ""){
- datagrid1.textmatrix(i, datagrid1.colRef("opdeptnm")) = model.getValue("/root/init/DisplayData/doctinfo/deptnm");//집도과명
- }
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("opdoctid")) == ""){
- datagrid1.textmatrix(i, datagrid1.colRef("opdoctid")) = sDoctid;//적출의ID - 집도의
- }
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("opdoctnm")) == ""){
- datagrid1.textmatrix(i, datagrid1.colRef("opdoctnm")) = sDoctnm;//적출의명
- }
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("extcrpart")) == ""){ //적출부위
- messageBox(i+" 번째 행의 적출부위 정보를 입력하시기 바랍니다.", "");
- return false;
- }
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("extcrcnt")) == ""){ //수량
- messageBox(i+" 번째 행의 적출 수량 정보를 입력하시기 바랍니다.", "");
- return false;
- }
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("extcrweig")) == ""){ //중량
- messageBox(i+" 번째 행의 적출 중량 정보를 입력하시기 바랍니다.", "");
- return false;
- }
-
- //감염여부
- datagrid1.textmatrix(i, datagrid1.colRef("infectyn")) = model.getValue("/root/main/infectinfo/infectyn");
-
- //감염구분
- datagrid1.textmatrix(i, datagrid1.colRef("infectflag")) = model.getValue("/root/main/infectinfo/infectflag");
-
- //감염etc
- datagrid1.textmatrix(i, datagrid1.colRef("infectetc")) = model.getValue("/root/main/infectinfo/infectetc");
-
- if(datagrid1.textmatrix(i, datagrid1.colRef("displayactnurid")) == ""){ //취급간호사
- messageBox(i+" 번째 행의 취급간호사 정보를 입력하시기 바랍니다.", "");
- return false;
- }
- }
-
- return true;
- }
- /**
- * 저장 버튼 클릭 시 이벤트
- *
- */
- function onclickSaveBtn(){
- if(!validForSave()) return;
-
- model.removenode("/root/send");
-
- model.makeValue("/root/send/eolists", datagrid1.getUpdateData());
- submit("TXMNP00310");
- datagrid1.clearStatus();
-
- }
- /**
- * 감염유무
- */
- function fValueChangedInfectCombo(){
- var sinfectyn = model.getValue("/root/main/infectinfo/infectyn");
- if(sinfectyn == "Y"){
- checkbox1.disabled = false;
- //input1.disabled = false;
- }else if(sinfectyn == "N"){
- model.setValue("/root/main/infectinfo/infectflag","");
- model.setValue("/root/main/infectinfo/infectetc","");
- checkbox1.disabled = true;
- input1.disabled = true;
- checkbox1.refresh();
- input1.refresh();
- }
- }
- //grid Value Changed event
- function fGridValueChanged(){
- var iRow = datagrid1.row;
- var iCol = datagrid1.col;
-
- if(iCol == datagrid1.colRef("actnurid")){
- //model.setValue("/root/main/eolists/eolist["+iRow+"]/displayactnurid", datagrid1.valueMartrix(iRow, datagrid1.colRef("search")));
-
- datagrid1.valueMatrix(iRow, datagrid1.colRef("displayactnurid")) = datagrid1.valueMatrix(iRow, datagrid1.colRef("actnurid"));
- datagrid1.refresh();
- }
- }
- /**
- * 감염 정보 값 변경 시 이벤트
- *
- */
- function fValueChangedInfectChk(){
- infectArray = checkbox1.value.split(" ");
- chkinfectyn = true;
- for(var i = 0 ; i < infectArray.length ; i++){
- if(infectArray[i] == "6"){
- chkinfectyn = false;
- }
- }
- if(chkinfectyn == true){
- input1.value = "";
- }
- input1.disabled = chkinfectyn;
- }
|