123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432 |
- /*
-
- HD Scheduling_개인별예약현황 (SMMND02700.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
- var sRtn = getCurrentDate(); //현재일자
- var rsrvdd1 = model.getValue("/root/temp/savedata/rsrvdd1");
- var rsrvdd2 = model.getValue("/root/temp/savedata/rsrvdd2");
- var rsrvterm = getDateInterval(rsrvdd1,rsrvdd2); //두 일자의 차이를 일자로 리턴
- /**
- * @group :
- * @ver : 2007.04.19
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 화면 초기화
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDone(){
- model.makeNode("/root/temp/savedata/status");
- model.setValue("/root/temp/savedata/status","i");
- //fGetDate(rsrvdd1,rsrvdd2);
- //fInitCellColor(rsrvdd1,rsrvdd2);
- }
- // 화면 open시 화면 스타일 초기화 기능을 수행한다.
- function fInitStyle() {
-
- //font style
- grd_calendar.cellStyle("color",1 , 0, 6, 0) = "#ff0000";
- grd_calendar.cellStyle("color",1 , 6, 6, 6) = "#0000ff";
- grd_calendar.cellStyle("font-size",1 , 0, 1, 6) = "12px";
- grd_calendar.cellStyle("font-size",2 , 0, 2, 6) = "12px";
- grd_calendar.cellStyle("font-size",3 , 0, 3, 6) = "12px";
- grd_calendar.cellStyle("font-size",4 , 0, 4, 6) = "12px";
- grd_calendar.cellStyle("font-size",5 , 0, 5, 6) = "12px";
- grd_calendar.cellStyle("font-size",6 , 0, 6, 6) = "12px";
- grd_calendar.cellStyle("font-size",7 , 0, 7, 6) = "12px";
- }
- //화면 컨트롤 초기화
- function fInitControl()
- {
- //서버 일자로 처리
- today = (model.getValue("/root/temp/savedata/getdatelist/getdate/savedate")).toDate("YYYYMMDD");
-
- var isYear, isMonth, ls_day;
- isYear = (today.getYear()).toString();
- isMonth = (today.getMonth() + 1).toString();
-
-
-
- //1~9월까지 숫자 앞에 0을 붙여준다. ex) 1 -> 01
- if ((isMonth.toString()).length == 1) isMonth = ("0".concat(isMonth.toString()));
-
- thisMonth = isYear.concat(isMonth);
- if (thisMonth < '200001')
- {
- model.setValue("/root/main/year","2000");
- model.setValue("/root/main/month","01");
- model.refresh();
- }
- else
- {
- model.setValue("/root/main/year",isYear);
- model.setValue("/root/main/month",isMonth);
- model.refresh();
- }
- }
- //해당 일자의 병원 일정 정보를 얻어 온다
- function fGetHospitalCalendar()
- {
- var dd = (model.getValue("/root/main/year")).concat(model.getValue("/root/main/month"));
- model.makeNode("/root/send/date");
- model.setValue("/root/send/date", dd);
- model.removeNodeset("/root/main/caldatalist");
- model.removeNodeset("/root/main/caldatalist/caldatainfo");
- if (submit("TRMND01109") == true) return true;
- else return false;
- }
- /**
- * @group :
- * @ver : 2007.05.21
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 달력정보 및 일자별 예약인원수를 달력에 표시
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCreateCalendar()
- {
- //TFclearNodeValue("/root/main/cal");
-
- //서버로 자료 요청
- if ( fGetHospitalCalendar() != true ){
- alert(" line 222 : 데이터를 가져오지 못했습니다.");
- //에러로 인한 초기화면으로 세팅
- fInitControl();
- //fCreateCalendar();
- return false;
- }else{
- model.resetInstanceNode("/root/main/cal");
- }
-
- grd_calendar.cellStyle("color", 1 , 0, 6, 6) = "#000000"; //평일
- grd_calendar.cellStyle("color", 1 , 0, 6, 0) = "#ff0000"; //일요일
- grd_calendar.cellStyle("color", 1 , 6, 6, 6) = "#0000ff"; //토요일
- var row, col;
-
- var sDW = "sun mon tue wed thu fri sat";
- var sDay = sDW.split(" ");
-
- var xPath = "/root/main/caldatalist/caldatainfo"
- for ( i = 1; i <= getNodesetCount(xPath); i++) {
- row = model.getValue(xPath + "[" + i + "]/weekno" );
- col = model.getValue(xPath + "[" + i + "]/dw" ) - 1;
- buff = model.getValue(xPath + "[" + i + "]/holiflag");
-
- if( buff == "1"){ //공휴일
- grd_calendar.cellStyle("color", row, col, row, col) = "#ff0000";
- }
-
- model.setValue("/root/main/cal/weeks[" + row + "]/"+sDay[col], model.getValue(xPath+"[" + i + "]/day" ));
- } //end of for
- model.refresh();
- } //end of func
- //지정된 일자에 해당하는 cell에 색상을 표시한다.
- function fInitCellColor(rsrvdd1, rsrvdd2){
- //달력초기화
- for(var i=0;i<7;i++){
- for(var j=0;j<7;j++){
- grd_calendar.cellStyle("background-color", i, j) = "white";
- }
- }
- var dw = model.getValue("/root/temp/savedata/dw");
- var dwcol; //요일값 하나씩 가져오기 위한 변수
- for(var i=0;i<13;i=i+2){ //체크박스의 value값
- for(var j=1;j<7;j++){
- var dd = model.getValue("/root/send/date");
- if(dw.substr(i,1)!=""){
- dwcol = parseInt(dw.substr(i,1)); //체크박스에서 요일선택 시 구분하여 하나씩 가져오기
-
- //fInitCellColor(j,dwcol); //지정된 일자에 해당하는 cell에 색상 지정
- if(grd_calendar.textmatrix(j,dwcol) < 10){
- dd = dd + "0" + grd_calendar.textmatrix(j,dwcol);
- }else{
- dd = dd + grd_calendar.textmatrix(j,dwcol);
- }
- if((dd>=rsrvdd1) && (dd<=rsrvdd2) && (grd_calendar.textmatrix(j,dwcol)!="")){
- grd_calendar.cellStyle("background-color", j, dwcol) = "#cc99ff";
- }
- }
- }
- }
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2007.04.19
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 예약정보 저장 기간 지정
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetDate(rsrvdd1, rsrvdd2){
- var dd = model.getValue("/root/send/date"); //해당 년,월
- var iValuedd;
- for(var i=1;i<7;i++){
- for(var j=0;j<7;j++){
- if(grd_calendar.textmatrix(i,j)<10){
- iValuedd = "0" + grd_calendar.textmatrix(i,j); //셀의 일자
- }else{
- iValuedd = grd_calendar.textmatrix(i,j);
- }
- if((dd+iValuedd) == rsrvdd1){
- model.makeValue("/root/main/datelist/dateinfo/startfocus", (i +" "+j)); //예약시작시점의 위치값을 startdate에 넣어줌.
- }
- if((dd+iValuedd) == rsrvdd2){
- model.makeValue("/root/main/datelist/dateinfo/endfocus", (i +" "+j)); //예약종료시점의 위치값을 enddate에 넣어줌.
- }
- }//end of for
- }//end of for
- }
- /**
- * @group :
- * @ver : 2007.04.19
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 예약정보 저장시
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSaveInfo(){
- var sMatnDial = model.getValue ( "/root/temp/savedata/matndialflag" ); // 유지환자 투석구분
- var xSavePath = "/root/temp/savedata";
- var xRsltSavePath = "/root/send/savedata";
-
-
- if( sMatnDial == "P" ){ //복막유지환자로 등록되어 있는 경우
- messageBox("복막투석 유지환자로 등록되어 있는 환자", "E008", "투석구분을 변경하십시오.");
- model.close();
- } else {
- model.copyNode("/root/send" , "/root/temp");
- if( sMatnDial == "H" ){ //투석유지환자로 등록되어 있는 경우
- if(model.getValue( xRsltSavePath + "/matnflag") != "1" ){ //유지환자(1:유지구분)가 아님
- if( model.getValue( xRsltSavePath + "/maintepatrgstdd") == sRtn ){ //오늘일자
- model.makeNode ( xRsltSavePath + "/status" );
- model.setValue ( xRsltSavePath + "/status", "u" ); //상태값 지정(update)
- }else if( model.getValue( xRsltSavePath + "/maintepatrgstdd") < sRtn){ //과거일자
- model.makeNode ( xRsltSavePath + "/status" );
- model.setValue ( xRsltSavePath + "/status", "i" ); //상태값 지정(insert)
- }
- model.makeValue("/root/send/savedata/dialflag", "H");
-
- if(submit("TXMND02702") == true) { // 유지환자등록 저장
- messageBox("혈액투석 유지환자로 등록 처리되었습니다.", "I001", "간호정보조사지를 기록하십시요.");
- }
- }
- } else if( sMatnDial == "" ){ //유지환자 등록 기록이 없는 경우
- model.makeNode ( xRsltSavePath + "/status" );
- model.setValue ( xRsltSavePath + "/status" , "i" ); //상태값 지정(insert)
- model.makeValue( xRsltSavePath + "/dialflag", "H" );
- if(submit("TXMND02702") == true) { // 유지환자등록 저장
- messageBox("혈액투석 유지환자로 등록", "I001", "간호정보조사지를 기록하십시요.");
- }
- }
-
- if(getNodesetCount(xSavePath +"/getdatelist/getdate") > 0){
-
- var sOrddd_Old = "";
- var sCretno_Old = "";
- var sGenrflagcd_Old = "";
- var sIoFlag = model.getValue(xSavePath +"/ioflag");
- var sParamPid = model.getValue(xSavePath +"/pid");
- var sParamRsrvdd = model.getValue(xSavePath +"/getdatelist/getdate["+1+"]/savedate");
- /* 진단 copy 로직 시작 */
- if(sIoFlag == "외래" || sIoFlag == "-" ){
- setParameter("preDiagCond", "InjRoom▦"+sParamPid+"▦"+sParamRsrvdd+"▦▦▦/root");
- fFindDiagInfo();
-
- var sParamArr = getParameter("preDiagResult").split("▦");
- sCretno_Old = sParamArr[3];
- sGenrflagcd_Old = sParamArr[4];
- sIoFlag = "외래";
-
- if(sParamArr[1] == "" && sParamArr[2] == "" ){
- //messageBox("가접수 생성시 진단 Copy할 수진 정보가 선택되지 않았습니다.", "I");
- //return;
- }else{
- if(sGenrflagcd_Old == "O"){
- sOrddd_Old = sParamArr[1];
- }else{
- sOrddd_Old = sParamArr[2];
- }
- }
- }
-
- /* 진단 copy 로직 종료 */
-
- model.removenode("/root/send");
- model.makeNode("/root/send");
- for(var i = 1 ; i <= getNodesetCount(xSavePath +"/getdatelist/getdate") ; i++){
- var insRow = eval(getNodesetCount(xRsltSavePath))+1;
- model.makeValue(xRsltSavePath+"["+insRow+"]/rsrvdd" , model.getValue(xSavePath +"/getdatelist/getdate["+insRow+"]/savedate"));
- model.makeValue(xRsltSavePath+"["+insRow+"]/pid" , model.getValue(xSavePath +"/pid") );
- model.makeValue(xRsltSavePath+"["+insRow+"]/shiftflag" , model.getValue(xSavePath +"/shiftflag") );
- model.makeValue(xRsltSavePath+"["+insRow+"]/dialseatflag" , model.getValue(xSavePath +"/dialseatflag") );
- model.makeValue(xRsltSavePath+"["+insRow+"]/status" , model.getValue(xSavePath +"/status") );
- model.makeValue(xRsltSavePath+"["+insRow+"]/ioflag" , sIoFlag );
- model.makeValue(xRsltSavePath+"["+insRow+"]/dialflag" , "H" );
- model.makeValue(xRsltSavePath+"["+insRow+"]/rsrvcnts" , model.getValue(xSavePath +"/rsrvcnts") );
- model.makeValue(xRsltSavePath+"["+insRow+"]/matnflag" , model.getValue(xSavePath +"/matnflag") );
- model.makeValue(xRsltSavePath+"["+insRow+"]/infcflag" , model.getValue(xSavePath +"/infcflag") );
- model.makeValue(xRsltSavePath+"["+insRow+"]/orddd_old" , sOrddd_Old ); // 과거 진료일자
- model.makeValue(xRsltSavePath+"["+insRow+"]/cretno_old" , sCretno_Old ); // 과거 생성번호
- model.makeValue(xRsltSavePath+"["+insRow+"]/genrflagcd_old" , sGenrflagcd_Old ); // 과거 외래입원구분
- model.makeValue(xRsltSavePath+"["+insRow+"]/orddeptcd_old" , "" ); // 과거 진료과
- model.makeValue(xRsltSavePath+"["+insRow+"]/copyflag" , "Y" ); // 진단 복사 구분 ( Y/N,NULL => N이거나 NULL이면 이전 로직대로 )
- //centcd 추가 2012.10.29 by kya
- model.makeValue(xRsltSavePath+"["+insRow+"]/centcd" , model.getValue(xSavePath +"/centcd") ); //센터코드
-
- if(model.getValue(xSavePath +"/shiftflag") == "5"){ //응급Shift인경우 1,2,3Shift와의 시간이 같을경우 구분을 위해 ordtm을 setting한다.-kys-20091217
- var currenttime = getCurrentTime().substr(0,4);
- if(currenttime == "0730"){
- currenttime = "0731";
- }else if(currenttime == "1300"){
- currenttime = "1301";
- }else if(currenttime == "1700"){
- currenttime = "1701";
- }
- model.makeValue(xRsltSavePath+"["+insRow+"]/ordtm" , currenttime); //진료예약시간-kys-20091217
- }
- }
-
- model.removeNodeset("/root/main/retmsginfo");
- var sResltStat = submit("TXMND02701");
-
- if(getNodesetCount("/root/main/retmsginfo") > 0){
- var pDupMsg = ""; //중복값 관련 메시지
- var pEmpMsg = ""; //의사미지정 관련 메시지
- for(var k = 1 ; k <= getNodesetCount("/root/main/retmsginfo") ; k++){
-
- if(model.getValue("/root/main/retmsginfo["+k+"]/rtnmgsflag")=="dup"){
- if(pDupMsg == ""){
- pDupMsg += model.getValue("/root/main/retmsginfo["+k+"]/rtnmsg");
- }else{
- pDupMsg += ", " + model.getValue("/root/main/retmsginfo["+k+"]/rtnmsg");
- }
- }else{
- if(pEmpMsg == ""){
- pEmpMsg += model.getValue("/root/main/retmsginfo["+k+"]/rtnmsg").substr(0,4)+"-"
- + model.getValue("/root/main/retmsginfo["+k+"]/rtnmsg").substr(4,2)+"-"
- + model.getValue("/root/main/retmsginfo["+k+"]/rtnmsg").substr(6,2);
- }else{
- pEmpMsg += ", " + model.getValue("/root/main/retmsginfo["+k+"]/rtnmsg").substr(0,4)+"-"
- + model.getValue("/root/main/retmsginfo["+k+"]/rtnmsg").substr(4,2)+"-"
- + model.getValue("/root/main/retmsginfo["+k+"]/rtnmsg").substr(6,2);
- }
- }
- }
- if(pDupMsg != ""){
- messageBox("["+pDupMsg+"]일자에 예약이", "E006", "\n확인 후 다시 시도하십시오.");
- }
- if(pEmpMsg != ""){
- messageBox("["+pEmpMsg+"]일자에 예약의사가 지정되지 않았습니다.", "E", "\n확인 후 다시 시도하십시오.");
- }
- }
-
- if( sResltStat == true){
- model.close();
- } else {
- messageBox("저장을 실패했습니다.", "E");
- return;
- }
- }else{
- messageBox("예약등록할 정보가 존재하지 않습니다.","I");
- //model.close();
- }
-
- // for(var i=1;i<=rsrvterm+1;i++) {
- // //var dd = model.getValue("/root/main/datelist/dateinfo/getdate"+i);
- // var dd = model.getValue("/root/send/savedata/getdatelist/getdate"+i);
- // if(dd != "") {
- // model.removeNodeset("/root/send/savedata/rsrvdd" );
- // model.makeValue ("/root/send/savedata/rsrvdd" , dd );
- // model.makeValue ("/root/send/savedata/dialflag", "H");
- // var sResltStat = submit("TXMND02701"); // 예약정보 저장
- //
- // if(model.getValue("/root/main/retmsginfo/retmsg") != ""){
- // messageBox("지정된 외래예약의사가","I004", "외래의사지정 후 다시 시도하십시오.");
- // model.close();
- // return;
- // }
- //
- // }
- // }
- }
- }
- /**
- * @group :
- * @ver : 2007.05.15
- * @by : 김진아
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 유지환자 리스트 입력
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- /*
- function fSaveMatnInfo(){
- var sMatnDial = model.getValue ( "/root/send/savedata/matndialflag" ); // 유지환자 투석구분
- var xSavePath = "/root/send/savedata";
-
- if( sMatnDial == "P" ){ //복막유지환자로 등록되어 있는 경우
- messageBox("복막투석 유지환자로 등록되어 있는 환자", "E008", "투석구분을 변경하십시오.");
- } else if( sMatnDial == "H" ){ //투석유지환자로 등록되어 있는 경우
- if(model.getValue( xSavePath + "/matnflag") != "1" ){ //유지환자(1:유지구분)가 아님
- if( model.getValue( xSavePath + "/maintepatrgstdd") == sRtn ){ //오늘일자
- model.makeNode ( xSavePath + "/status" );
- model.setValue ( xSavePath + "/status", "u" ); //상태값 지정(update)
- }else if( model.getValue( xSavePath + "/maintepatrgstdd") < sRtn){ //과거일자
- model.makeNode ( xSavePath + "/status" );
- model.setValue ( xSavePath + "/status", "i" ); //상태값 지정(insert)
- }
- model.makeValue("/root/send/savedata/dialflag", "H");
- submit("TXMND02702");
- }
- } else if( sMatnDial == "" ){ //유지환자 등록 기록이 없는 경우
- model.makeNode ( xSavePath + "/status" );
- model.setValue ( xSavePath + "/status" , "i" ); //상태값 지정(insert)
- model.makeValue( xSavePath + "/dialflag", "H" );
- submit("TXMND02702");
- }
- }
- */
|