123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445 |
- /*
-
- 유지환자관리 (SMMND01200.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
- //** 전역변수 **//
- var i, d, s1="", s2="";
- /**
- * @group :
- * @ver : 2007.04.13
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면 초기화
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDone(){
- //** 상단환자 화면설정 **//
- /* var node = getGlobalVariable("paminfo");
- setCSVToNode("/root/temp/paminfo", node);
-
- if(getNodesetCount("/root/temp/paminfo/list") > 0) {
- var sSelPid = model.getValue("/root/temp/paminfo/list/pid"); // 등록번호
- model.setValue("/root/send/pid" , sSelPid);
- }
- */
- fSetSrchDate(); // 등록일자 조회기간 설정
- }
- /**
- * @group :
- * @ver : 2007.07.03
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 등록일자 조회기간 설정
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetSrchDate(){
- var currentDate = getCurrentDate();
- model.makeValue("/root/main/cond/maintepatrgstdd1", ((currentDate.toDate()).getAddDate(-5, "Y")).getDateFormat()); // date.getAddDate(1, "Y")
- model.makeValue("/root/main/cond/maintepatrgstdd2", currentDate);
- model.setValue("/root/main/cond/matnflag" , "1");
- }
- /**
- * @group :
- * @ver : 2007.04.12
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : dialhdmpglist 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSelect_dialhdmpglist(){
- var sMatnFromDD = model.getValue("/root/main/cond/maintepatrgstdd1");
- var sMatnToDD = model.getValue("/root/main/cond/maintepatrgstdd2");
-
- if (sMatnFromDD == "" || sMatnToDD == "") {
- messageBox("등록일자가 입력되지", "E007", "다시 입력하십시오.");
- return;
- }
- // 조회기간 체크
- if(sMatnFromDD > sMatnToDD) {
- messageBox("예약일자 기간이 올바르지 않습니다.", "E");
- model.setValue("/root/main/cond/maintepatrgstdd1", s2);
- model.setValue("/root/main/cond/maintepatrgstdd2", s1);
- ipt_maintepatrgstdd1.refresh();
- ipt_maintepatrgstdd2.refresh();
- }
- model.removeNodeset("/root/send");
- model.makeNode("/root/send");
- model.makeValue("/root/send/matnflag ", model.getValue("/root/main/cond/matnflag "));
- model.makeValue("/root/send/dialflag ", model.getValue("/root/main/cond/dialflag "));
- model.makeValue("/root/send/hngnm ", model.getValue("/root/main/cond/hngnm "));
- model.makeValue("/root/send/pid ", model.getValue("/root/main/cond/pid "));
- model.makeValue("/root/send/maintepatrgstdd1", model.getValue("/root/main/cond/maintepatrgstdd1"));
- model.makeValue("/root/send/maintepatrgstdd2", model.getValue("/root/main/cond/maintepatrgstdd2"));
- model.makeValue("/root/send/allsearchyn", model.getValue("/root/main/cond/allsearchyn")); //20100401-kys-전체항목추가
- model.removeNodeset("/root/main/dialhdmpglist");
- submit("TRMND01201");
-
- //** 유지구분 [전환]일 경우 유지구분 항목 수정불가(readonly) **//
- for(var i=1; i<grd_dialhdmpglist.rows; i++){
- grd_dialhdmpglist.textmatrix(i,1) = ""; //상태값 초기화
- grd_dialhdmpglist.isReadOnly(i, 7) = false;
- if(model.getValue("/root/main/dialhdmpglist/dialhdmpginfo["+i+"]/matnflag") == "5"){
- grd_dialhdmpglist.isReadOnly(i, 7) = true;
- }
- }
- /*
- for(var i=1;i<=grd_dialhdmpglist.rows;i++){
- var histstat = grd_dialhdmpglist.textmatrix(i,19); //실제 환자의 입원/외래 상태(histstat)
- switch(histstat){
- case 'Y':
- grd_dialhdmpglist.textmatrix(i,19) = "I";
- break;
- case 'R':
- grd_dialhdmpglist.textmatrix(i,19) = "O";
- break;
- case 'T':
- grd_dialhdmpglist.textmatrix(i,19) = "O";
- }//end of switch
- }
- */
- }
- /**
- * @group :
- * @ver : 2007.04.12
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : dialhdmpglist 엑셀저장
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSaveToExcel(){
- var fileName = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
- if (fileName != ""){
- grd_dialhdmpglist.saveExcel(fileName, "SheetName", true, true, "", "", false);
- }
- }
- /**
- * @group :
- * @ver : 2007.04.13
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : dialhdmpglist 저장시
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSavelist(){
- //20090209 dhkim
- //소경화itc요청사항
- //저장전 유지구분이 전원/사망인 경우 out일을 필수입력한다.
- var matnflag = '';//유지구분
- var chnghospdd = ''; //Out일
- var grdStat = '';
- for(var i = 1; i <= grd_dialhdmpglist.rows; i++){
- grdStat = grd_dialhdmpglist.rowStatus(i);
- matnflag = model.getValue('/root/main/dialhdmpglist/dialhdmpginfo[' + i + ']/matnflag');
- chnghospdd = model.getValue('/root/main/dialhdmpglist/dialhdmpginfo[' + i + ']/chnghospdd');
- if(grdStat == 2){
- if((matnflag == '2' || matnflag == '3') && chnghospdd == ''){ //1 : 유지, 2: 전원, 3: 사망, 4: 신장이식, 5: 전환
- messageBox( i + '번째 환자의 Out일을 입력하세요.', 'E999');
- return false;
- }
- }
- }
-
- model.removenode("/root/send");
- model.makeNode ("/root/send");
- model.makeValue("/root/send/savedata",grd_dialhdmpglist.getupdatedataAll("i"));
- submit("TXMND01201");
- fSelect_dialhdmpglist(); //결과조회 함수호출
- }
- /**
- * @group :
- * @ver : 2007.04.13
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : dialhdmpglist 행삭제 상태값 지정
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetstatusDel(){
- var iRow = grd_dialhdmpglist.row;
- grd_dialhdmpglist.textmatrix(iRow,1) = "d"; //상태값 지정(delete)
-
- if(messageBox("", "Q001", "") == 6) { // 메세지박스 ("삭제 하시겠습니까?") (return : yes=6, no=7)
- fSavelist(); //저장함수 호출
- grd_dialhdmpglist.deleteitem(iRow); //화면상에서 행삭제
- fSelect_dialhdmpglist(); //결과조회 함수호출
- } else {
- return;
- }
- }
- /**
- * @group :
- * @ver : 2007.04.13
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : dialhdmpglist 입력시 상태값 지정
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetstatusUp(iRow, iCol, sMatnFlag, sDialFalgYN){
- if(grd_dialhdmpglist.textmatrix(iRow, iCol) != ""){
- if(iCol == 13){ // Out일
- if(sMatnFlag != 2 && sMatnFlag != 3){ //유지구분 : 전원, 사망이 아닐 때
- messageBox("[전원] 및 [사망]환자만 Out일 입력이", "I006", "유지구분을 확인하십시오.");
- grd_dialhdmpglist.textmatrix(iRow, iCol) = "";
- return;
- }
- }
- if(iCol == 14){ // 전원병원
- if(sMatnFlag != 2){ //유지구분 : 전원이 아닐 때
- messageBox("[전원]환자만 전원병원 입력이", "I006", "유지구분을 확인하십시오.");
- grd_dialhdmpglist.textmatrix(iRow, iCol) = "";
- return;
- }
- }
- }
- if(sDialFalgYN == "Y"){ // HD=>PD,PD=>HD로 투석구분 변경 시(기존투석구분의 유지구분 "전환"으로 update & 새로운투석구분의 유지구분 "유지"로 insert)
- grd_dialhdmpglist.textmatrix(iRow,1) = "ui"; //상태값 지정(update & insert)
- }else{ grd_dialhdmpglist.textmatrix(iRow,1) = "u"; //상태값 지정(update)
- }
- }
- /**
- * @group :
- * @ver : 2007.04.16
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 도관기록 PopUp호출
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPopup(){
- var iRow = grd_dialhdmpglist.row;
- var dFlag = grd_dialhdmpglist.valuematrix(iRow,5); // 투석구분
- var sMaintePatRgstDD = grd_dialhdmpglist.valuematrix(iRow,8); // 유지환자등록일자
-
- // 상단정보 설정
- fsetHngBaseInfo();
-
- // 도관기록 팝업
- model.makeValue("/root/main/paminfo/list/maintepatrgstdd", sMaintePatRgstDD);
-
- if(dFlag == "H"){ //HD
- modal("SMMND01300", "", 100, 100, "SMMND01300", "/root/main/paminfo/list", "/root/temp/paminfo");
- }else{ //PD
- modal("SMMND01400", "", 100, 100, "SMMND01400", "/root/main/paminfo/list", "/root/temp/paminfo");
- }
- }
- /**
- * @group :
- * @ver : 2007.05.22
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면상단 정보설정
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fsetHngBaseInfo(){
- //**상단정보 초기화**//
- delPatientInfos(); //화면상단정보 삭제
- setGlobalVariable("paminfo", ""); //원무정보 reset
- if(getNodesetCount("/root/main/paminfo") > 0) {
- model.removeNodeset("/root/main/paminfo/list");
- }
-
- var iRow = grd_dialhdmpglist.row;
-
- // 상단 환자정보 parameter
- // var sIoflag = model.getValue("/root/main/dialhdmpglist/dialhdmpginfo[" + iRow + "]/histstat" ); //원무 입원외래구분(histstat)
- var sPid = model.getValue("/root/main/dialhdmpglist/dialhdmpginfo[" + iRow + "]/pid " ); //등록번호
-
- //20141110 kya 퇴원환자의 상단정보조회를 위해, 최종 입원일자를 가져옴
- var sIndd = model.getValue("/root/main/dialhdmpglist/dialhdmpginfo[" + iRow + "]/indd" ); //입원일자
- if ( sIndd == "") { //20151211 수정
- var isDate = getCurrentDate();
- isDate = isDate.toDate().getAddDate(1,'D');
- }else{
- var isDate = sIndd.toDate().getAddDate(1,'D');
- }
- var sRgstdd = isDate.getDateFormat("YYYYMMDD");
-
- // alert( "sIndd = " + sIndd + ", sRgstdd = " + sRgstdd);
-
- model.removenode("/root/send");
- model.makeNode ("/root/send");
- model.makeValue ("/root/send/reqdata/pid" , sPid );
- model.makeValue ("/root/send/reqdata/histstat", sIoflag);
-
- //20141110 kya 퇴원환자의 상단정보조회를 위해 추가함
- model.makeValue ("/root/send/reqdata/indd", sIndd);
- model.removeNodeset("/root/temp/gettoplist");
- submit("TRMND00103");
-
- var sCretno = model.getValue("/root/temp/gettoplist/gettopinfo/cretno" ); //생성번호
- var sSeqno = model.getValue("/root/temp/gettoplist/gettopinfo/seqno" ); //일련번호
- var sInstcd = model.getValue("/root/temp/gettoplist/gettopinfo/instcd" ); //기관코드
- var sIndd = model.getValue("/root/temp/gettoplist/gettopinfo/indd" ); //입원일자
- var sOrddd = model.getValue("/root/temp/gettoplist/gettopinfo/orddd" ); //진료일자
- var sAcptseqno = model.getValue("/root/temp/gettoplist/gettopinfo/acptseqno" ); //등록일련번호
- var sOrgorddd = model.getValue("/root/temp/gettoplist/gettopinfo/orgorddd" ); //원진료일자
- var sIoflag = model.getValue("/root/temp/gettoplist/gettopinfo/ioflag" ); //입원외래구분
- var sParam;
-
-
-
-
- if(sIoflag == "O") { //외래환자일 경우(histstat : "O")
- sParam = (sIoflag + "▦" + sPid + "▦" + sOrddd + "▦" + sCretno + "▦" + sInstcd + "▦" + sAcptseqno + "▦" + sOrgorddd );
- } else { //입원/응급환자일 경우(histstat : "I", "E")
- // 20141110 by kya 퇴원환자 조회를 위해 수정함
- // sParam = (sIoflag + "▦" + sPid + "▦" + sIndd + "▦" + sCretno + "▦" + sInstcd + "▦" );
- sParam = (sIoflag + "▦" + sPid + "▦" + sIndd + "▦" + sCretno + "▦" + sInstcd + "▦" + sRgstdd );
- }
-
-
- setParameter("condparam", sParam);
- modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
-
- var node = getGlobalVariable("paminfo");
- setCSVToNode("/root/main/paminfo", node);
- }
- /**
- * @group :
- * @ver : 2007.08.20
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 예약정보 존재여부 확인
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fChkRsrvExistYN_bak(iRow, iCol){
- model.removeNodeset("/root/send");
- model.makevalue("/root/send/reqdata/pid" , model.getValue("/root/main/dialhdmpglist/dialhdmpginfo["+ iRow +"]/pid"));
- model.makevalue("/root/send/reqdata/dialflag" , model.getValue("/root/main/dialhdmpglist/dialhdmpginfo["+ iRow +"]/dialflag"));
- model.makevalue("/root/send/reqdata/maintepatrgstdd", model.getValue("/root/main/dialhdmpglist/dialhdmpginfo["+ iRow +"]/maintepatrgstdd"));
- if(iCol==7){ // 유지구분 변경시
- model.makevalue("/root/send/reqdata/srchflag", "Y");
- }else if(iCol==5){ // 투석구분 변경시
- model.makevalue("/root/send/reqdata/srchflag", "N");
- }
- model.removeNodeset("/root/main/chklist");
- submit("TRMND01202");
-
- //** 예약정보 존재여부에 따른 메세지 **//
- var sRsrvExistYN = model.getValue("/root/main/chklist/chkinfo/rsrvexistyn");
- var sDialFlag = model.getValue("/root/main/chklist/chkinfo/dialflag" );
- var sMatnFlag = model.getValue("/root/main/chklist/chkinfo/matnflag" );
- var sDmpgYN = model.getValue("/root/main/chklist/chkinfo/dmpgyn" );
-
- if(sRsrvExistYN == "Y") { // 예약정보 존재함
- var sDialFlagVal = "";
- switch(sDialFlag){
- case "H": sDialFlagVal = "HD"; break;
- case "P": sDialFlagVal = "PD"; break;
- default: sDialFlagVal = "-";
- }
- messageBox("해당환자의 ["+sDialFlagVal+"]예약정보가 존재합니다.", "I", "전환을 계속 진행하시려면 상단의 [저장]버튼을 누르십시오.");
- // fSelect_dialhdmpglist(); // 투석유지환자 리스트 조회
- return;
- }
- }
- /**
- * @group :
- * @ver : 2009.02.24
- * @by : 김양수
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 예약정보 존재여부 확인
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fChkRsrvExistYN(iRow, iCol){
- model.removeNodeset("/root/send");
- model.makevalue("/root/send/reqdata/pid" , model.getValue("/root/main/dialhdmpglist/dialhdmpginfo["+ iRow +"]/pid"));
- model.makevalue("/root/send/reqdata/dialflag" , model.getValue("/root/main/dialhdmpglist/dialhdmpginfo["+ iRow +"]/dialflag"));
- model.makevalue("/root/send/reqdata/maintepatrgstdd", model.getValue("/root/main/dialhdmpglist/dialhdmpginfo["+ iRow +"]/maintepatrgstdd"));
- if(iCol==7){ // 유지구분 변경시
- model.makevalue("/root/send/reqdata/srchflag", "Y");
- //}else if(iCol==5){ // 투석구분 변경시
- // model.makevalue("/root/send/reqdata/srchflag", "N");
- }
- model.removeNodeset("/root/main/chklist");
- submit("TRMND01202");
-
- //** 예약정보 존재여부에 따른 메세지 **//
- var sRsrvExistYN = model.getValue("/root/main/chklist/chkinfo/rsrvexistyn");
- var sDialFlag = model.getValue("/root/main/chklist/chkinfo/dialflag" );
- var sMatnFlag = model.getValue("/root/main/chklist/chkinfo/matnflag" );
- var sDmpgYN = model.getValue("/root/main/chklist/chkinfo/dmpgyn" );
-
- if(sRsrvExistYN == "Y") { // 예약정보 존재함
- var sDialFlagVal = "";
- switch(sDialFlag){
- case "H": sDialFlagVal = "HD"; break;
- case "P": sDialFlagVal = "PD"; break;
- default: sDialFlagVal = "-";
- }
- messageBox("해당환자의 ["+sDialFlagVal+"]예약정보가 존재합니다.", "I")
- //미래예약일자 취소화면 호출
- var pid = model.getValue("/root/main/dialhdmpglist/dialhdmpginfo["+ iRow +"]/pid");
- var hngnm = model.getValue("/root/main/dialhdmpglist/dialhdmpginfo["+ iRow +"]/hngnm");
- var sa = model.getValue("/root/main/dialhdmpglist/dialhdmpginfo["+ iRow +"]/sexage");
- var dialflag = model.getValue("/root/main/dialhdmpglist/dialhdmpginfo["+ iRow +"]/dialflag");
- var patinfo = pid + "▦" + hngnm + "▦" + sa + "▦" + dialflag;
-
- setParameter("SMMND03700_patinfo" , patinfo);
- modal("SMMND03700");
- }
- }
|