123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440 |
- // --------------------------------------------------
- // 화면 Loading시 처리하는 함수
- // --------------------------------------------------
- function fInitScreen() {
- ipt_opcnfmdd.value = getCurrentDate();
- //var instcd = getUserInfo("dutplceinstcd");
- //var standard_yn = "orduseyn";
- //var ord_deptflag = 'D';
- //var rslt_ref = "/root/main/cond/orddeptlist";
- var menuparam = getScreenMenuParameter() ;
- model.setValue("/root/main/cond/prestimportid", menuparam); // tab 기본값 (DSC Main)
- model.setValue("/root/main/cond/wardcd", model.getValue("/root/code/codeinfo/codelist/cdid"));
- //model.setValue("/root/main/cond/wardcd", "2360800000"); // 통원수술센터 setting
- radio1.value = "-";
-
- //model.removenode("/root/send");
- model.makeNode("/root/send");
- model.makeValue("/root/send/opcnfmdd" ,ipt_opcnfmdd.value );
- if (menuparam != "DCC") {
- button2.visible = false;
- }
- fGetDCCRsrv();
- }
- // --------------------------------------------------
- // 조회 클릭시
- // --------------------------------------------------
- function fGetDCCRsrv()
- {
- model.makeValue("/root/send/ampmflag" ,radio1.value );
- grd_rsrvlist.visible = false;
- model.removeNodeset("/root/main/rsrv/rsrvlist");
- var maxap = parseInt(model.getValue("/root/rsrv/rsrv/maxa")) + parseInt(model.getValue("/root/rsrv/rsrv/maxp"));
-
-
- for( var i = grd_rsrvlist.cols; i >= 2; i-- ) {
- grd_rsrvlist.deleteColumn(i,"false");
- }
- grd_rsrvlist.caption = "날짜^날짜";
-
- grd_rsrvlist.rebuild();
- grd_rsrvlist.refresh();
-
- model.makeValue("/root/send/opdd", model.getValue("/root/main/cond/opcnfmdd"));
- submit("TRMNP06501");
-
-
- var maxa = "";
- var maxp = "";
-
- var bed_maxa = model.getValue("/root/rsrv/rsrv[flag = 'BEDCAPA']/maxa");
- if(bed_maxa == "") bed_maxa = 0;
- var bed_maxp = model.getValue("/root/rsrv/rsrv[flag = 'BEDCAPA']/maxp");
- maxa = bed_maxa;
- maxp = bed_maxp;
-
- //환자 예약후 bed수 줄일 경우, 환자수 max로 컬럼생성함_20090803_SMY
- var pat_maxa = model.getValue("/root/rsrv/rsrv[flag = 'PATCAPA']/maxa");
- if(pat_maxa == "") pat_maxa = 0;
- var pat_maxp = model.getValue("/root/rsrv/rsrv[flag = 'PATCAPA']/maxp");
- if(Number(pat_maxa) > Number(maxa)){
- maxa = pat_maxa;
- }
- if(Number(pat_maxp) > Number(maxp)){
- maxp = pat_maxp;
- }
-
- //grd_rsrvlist.addColumn(false);
-
- var ampmflag = model.getValue("/root/main/cond/ampmflag");
-
- var coltype = "output";
- var nodename = "a";
-
- /*
- if ( maxa != "" && grd_rsrvlist.cols < 3 ){
- fAddCol( maxa, "/root/main/dcc/dccList", "/root/temp/grid", grd_rsrvlist, nodename, coltype, "오전");
- }
-
- var nodename2 = "p";
- if ( maxp != "" && grd_rsrvlist.cols < parseInt(maxa)*2 + 3 ){
- fAddCol( maxp, "/root/main/dcc/dccList", "/root/temp/grid", grd_rsrvlist, nodename2, coltype, "오후" );
-
- }*/
- if ( maxa != "0" ){
- fAddCol( maxa, "/root/main/dcc/dccList", "/root/temp/grid", grd_rsrvlist, nodename, coltype);
- //캡션 수정
- for ( i=0; i< maxa*2; i++){
- grd_rsrvlist.caption = grd_rsrvlist.caption +"^"+"오전";
- }
- }
-
- var nodename2 = "p";
- if ( maxp != "" ){
- fAddCol( maxp, "/root/main/dcc/dccList", "/root/temp/grid", grd_rsrvlist, nodename2, coltype);
-
- //grd_rsrvlist.caption = "날짜^날짜^오후^오후^오후^오후^오후^오후^오후^오후^오후^오후^오후^오후^오후^오후^오후^오후^오후^오후^오후^오후";
-
- for ( i=0; i< maxp*2; i++){
- grd_rsrvlist.caption = grd_rsrvlist.caption +"^"+"오후";
- }
- }
-
- var nodeCnt = getNodesetCount("/root/rsrv/bedlist");
- var pNodeCnt = getNodesetCount("/root/rsrv/pat");
-
- var amPatCnt = 0; //오전 예약명수_20090803_SMY추가
- var pmPatCnt = 0; //오후 예약명수_20090803_SMY추가
-
- for(var i = 1; i <= nodeCnt; i++){
- var k = 1;
- grd_rsrvlist.addRow(true, true);
-
- grd_rsrvlist.valueMatrix(i, 1) = model.getValue("/root/rsrv/bedlist["+i+"]/opdate");
- var ambed = model.getValue("/root/rsrv/bedlist["+i+"]/ambed");
- var pmbed = model.getValue("/root/rsrv/bedlist["+i+"]/pmbed");
-
- var startCol = "1";
- var pstartCol = parseInt(maxa);
-
-
- if(ambed != ""){
- startCol = parseInt(ambed)*2;
- }else{
- startCol = 0;
- }
- if( maxa != "0"){
-
- grd_rsrvlist.cellStyle("background-color", parseInt(i), parseInt(startCol)+2, parseInt(i), parseInt(maxa)*2+1) = "#BEBEBE";
- }
-
- if(pmbed != "" ){
-
- pstartCol = (parseInt(maxa)+parseInt(pmbed))*2;
- }
- if( maxp != "")
- {
- grd_rsrvlist.cellStyle("background-color", parseInt(i), parseInt(pstartCol)+2, parseInt(i), (parseInt(maxp)+parseInt(maxa))*2+1) = "#BEBEBE";
- }
-
- var ampmflag = model.getValue("/root/main/cond/ampmflag");
- var k, l= 1;
-
- for(var j = 0; j <= pNodeCnt; j++){
-
- var inhopedd = model.getValue("/root/rsrv/pat["+j+"]/inhopedd");
- var abbrhngnm = model.getValue("/root/rsrv/pat["+j+"]/abbrhngnm");
- var ampm = model.getValue("/root/rsrv/pat["+j+"]/ampm");
- var patinfo = model.getValue("/root/rsrv/pat["+j+"]/patinfo");
-
- //var k, l= 1;
- //alert(model.getValue("/root/rsrv/bedlist["+i+"]/opdate")+" <> "+scheopdd);
- if( model.getValue("/root/rsrv/bedlist["+i+"]/opdate") == inhopedd && abbrhngnm != "" && ampm == "1" && ampmflag != "P"){
- grd_rsrvlist.valueMatrix(i,k*2) = abbrhngnm;
- grd_rsrvlist.valueMatrix(i,k*2+1) = patinfo;
- k++;
- amPatCnt++;
-
- }else if( model.getValue("/root/rsrv/bedlist["+i+"]/opdate") == inhopedd && abbrhngnm != "" && ampm == "2" && ampmflag != "A"){
- grd_rsrvlist.valueMatrix(i, (maxa*2) + (l*2)) = abbrhngnm;
- grd_rsrvlist.valueMatrix(i, (maxa*2) + (l*2+1)) = patinfo;
- l++;
- pmPatCnt++;
-
- }
- // 공지사항
- if(model.getValue("/root/rsrv/bedlist["+i+"]/opdate") == "0"){
- model.makeValue("/root/send/remark", model.getValue("/root/rsrv/bedlist["+i+"]/remark"));
- }
-
- }
-
- //오전, 오후, 전체 예약명수셋팅_20090803_SMY추가
- model.setValue("/root/main/cond/ampatcnt", amPatCnt);
- model.setValue("/root/main/cond/pmpatcnt", pmPatCnt);
- model.setValue("/root/main/cond/totpatcnt", amPatCnt+pmPatCnt);
-
-
- grd_rsrvlist.valueMatrix(i, 0) = grd_rsrvlist.valueMatrix(i, 1).substr(6, 2) +
- "("+ grd_rsrvlist.valueMatrix(i, 1).toDate().getDayOfWeek("K") + ")";
-
- }
-
- if(grd_rsrvlist.valueMatrix(1, 1) == "0"){
- grd_rsrvlist.deleteRow(1);
- }
-
- for(var i = 1; i < grd_rsrvlist.cols; i++){
- grd_rsrvlist.colWidth(i) = 70;
- }
-
- for(var i = 1; i < grd_rsrvlist.cols; i++){
- grd_rsrvlist.colWidth(2*i-1) = 0;
- }
-
- // 날짜 하단에 연번생성요청_20090721
- var k=0;
- grd_rsrvlist.insertItem(1);
- grd_rsrvlist.valueMatrix(1, 0) = "연번";
- for(var i=1; i<=2*maxa; i++){
- grd_rsrvlist.valueMatrix(1, i) = k;
- if((i%2)==1){
- k++;
- }
- }
- k=0;
- for(var i=(2*maxa)+1; i<=grd_rsrvlist.cols; i++){
- grd_rsrvlist.valueMatrix(1, i) = k;
- if((i%2)==1){
- k++;
- }
- }
- grd_rsrvlist.frozenRows = 1; // 연번row Fix
- grd_rsrvlist.frozenCols = 1; // 날짜col Fix
- // grd_rsrvlist.rowstyle(1, "all", "background-color") = "#66ffff"; //연번row Color
- grd_rsrvlist.cellstyle("background-color", 1, 0, 1, 0) = "#aad4ff";
- grd_rsrvlist.cellstyle("background-color", 1, 1, 1, parseInt(2*maxa)) = "#ffd9ff"// "#02e6fc";
- grd_rsrvlist.cellstyle("background-color", 1, parseInt(2*maxa)+1, 1, parseInt(grd_rsrvlist.cols)-1) = "#96f5fe";
-
- // 날짜컬럼 색상지정(토요일:파란색/그외 일요일 포함 휴일:빨간색)
- for(var i=0; i<=grd_rsrvlist.rows; i++){
- var dutflag = model.getValue("/root/rsrv/bedlist["+i+"]/dutflag");
- if(dutflag == "4"){ // 토요일:파란색
- grd_rsrvlist.cellstyle("background-color", i, 0) = "#3366ff";
- }else if(dutflag == "8"){ // 그외 일요일 포함 휴일:빨간색
- grd_rsrvlist.cellstyle("background-color", i, 0) = "red";
- }
- }
-
- grd_rsrvlist.visible = true;
- model.refresh();
-
- }
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 환자정보 가져오기 */
- /* param : 검색구분 */
- /* return : */
- /* --------------------------------------------------*/
- function fSearchPatInfo(qryflag) {
- modal("../../../pam/patinfomngtweb/xrw/SPPMC02500", qryflag,"150", "150", "SPPMC02500", "/root/source", "/root/send");
- //환자번호 copy
- var popupendflag = model.getValue("/root/main/popupendflag");
- if (popupendflag == "ok"){
- model.setValue("/root/main/rghtref/rghtreflist/pid",model.getValue("/root/main/patinfo/patinfolist/pid"));
- model.refresh();
- var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
- if (pid != null && pid != "" && pid != " " && pid != "-"){
- fpidref();
- }
- }
- }
- /* --------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 등록번호에 따른 환자정보 검색 */
- /* param : */
- /* return : */
- /* --------------------------------------------------*/
- function fpidref(){
- model.removeNodeset("/root/send");
- var pid = ipt_pid.value
- model.makeValue("/root/send/pid",pid);
- if(submit("TRMNI00102")){
- var hngnm=model.getValue("/root/main/rghtref/rghtreflist/hngnm");
- //데이타가 없을시 이전 출력 내용 삭제.
- if(hngnm==""){
- opt_hngnm.value="";
- opt_gndrage.value="";
- opt_rrgstno.value="";
- opt_hngnm.refresh();
- opt_gndrage.refresh();
- opt_rrgstno.refresh();
- model.makeValue("/root/main/rghtref/rghtreflist/pid","");
- return;
- }
- }
- }
- // --------------------------------------------------
- // 팝업메뉴
- // --------------------------------------------------
- function fShowPopupMenu(gridID, menuPath)
- {
- var gridObj = document.controls.item(gridID);
- if(event.button == 3) {
- if(gridObj.isCell(event.target) && gridObj.mouseRow >= gridObj.fixedrows){
- window.setPopupMenu(true, menuPath, "name", "func", false);
- }else{
- window.setPopupMenu(false);
- }
- }
- }
- function fAddCol( colCnt, nodeset, copyNodeset, pGrid, nodename, coltype)
- {
- var oldColCnt = parseInt(pGrid.cols);
-
- for ( i=0; i<colCnt*2; i++)
- {
- oldColCnt++;
-
- if ( coltype == null || coltype=="" )
- coltype = "output";
-
- //컬럼 생성
- pGrid.insertColumn(i,"ref:"+(nodename + oldColCnt)+"; type:"+coltype+";" + "style:text-align:center; vertical-align:middle;", "after", "false");
-
- //copynode할 원본 노드셋에도 생성된 자식 노드 추가
- model.makeNode(copyNodeset+"/" +(nodename + oldColCnt));
- }
- pGrid.refresh();
- }
- function fShowPatInfo(){
- var cur_Row = grd_rsrvlist.row;
- var cur_Col = grd_rsrvlist.col;
-
- var param = grd_rsrvlist.valueMatrix(cur_Row, parseInt(cur_Col)+1);
-
- setParameter("patSum", param);
-
- modal("SPMNP06600");
- }
- function fShowPrcpInfo(){
- model.removeNodeset("/root/send");
- var cur_Row = grd_rsrvlist.row;
- var cur_Col = grd_rsrvlist.col;
-
- var param = grd_rsrvlist.valueMatrix(cur_Row, parseInt(cur_Col)+1);
- patarray = param.split(",");
-
- model.makeValue ( "/root/send/cond1", patarray[0]); // pid
- model.makeValue ( "/root/send/cond2", getUserInfo("dutplceinstcd"));
- model.makeValue ( "/root/send/cond3", getCurrentDate());
- submit ( "TRMMO00129", false );
-
- // 외래예약처방정보 존재시 외래예약처방 저장화면 호출
- var srcNodeList = model.instances(0).selectNodes ("/root/result/prcplist");
- var sParamPid = patarray[0];
- //var sParamIndd = patarray[5];
- //var sParamCretno = patarray[6];
- //var sParamIoflag = patarray[7];
- //var sParamActcertdrid = patarray[8];
- var sParamSexAge = patarray[2];
- var sParamPatNm = patarray[1];
-
- if ( srcNodeList.length > 0 ) {
- //if(sParamPid == "" || sParamIndd == "" || sParamCretno == "" || sParamIoflag == "" || sParamActcertdrid == "" || sParamPatNm == "") return "E" ;
-
- setParameter ( "SPMMO18200_pid" , sParamPid );
- //setParameter ( "SPMMO18200_orddd" , sParamIndd );
- //setParameter ( "SPMMO18200_cretno" , sParamCretno );
- setParameter ( "SPMMO18200_prcpdd" , getCurrentDate() );
- setParameter ( "SPMMO18200_prcpinptflag" , "00" ); // 임시로 09임. 추후 번호배정되어 수정해야함.
- //setParameter ( "SPMMO18200_ioflag" , sParamIoflag );
- setParameter ( "SPMMO18200_prcpkindcd" , "00" );
- setParameter ( "SPMMO18200_prcpsignflag" , "1" ); // 필요시 적용_처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료(default))
- setParameter ( "SPMMO18200_aftcertflag" , "12" ); // 필요시 적용_후인증여부
- //setParameter ( "SPMMO18200_aftcertdrid" , sParamActcertdrid ); // 필요시 적용_후인증의사ID chngmedispclid
- setParameter ( "SPMMO18200_title" , "환자번호: " + sParamPid + " 환자명 : " + sParamPatNm + " S/A : " + sParamSexAge);
- setParameter ( "SPMMO18200_savebtn" , "Y");
- //setParameter ( "SPMMO18200_prcpstatcd", "000"); //필요시 적용
- //setParameter ( "SPMMO18200_oprsrvno", "0"); //필요시 적용
- //setParameter ( "SPMMO18200_prcpauthflag", "0"); //필요시 적용
- setParameter ( "SPMMO18200_select" , "Y"); //조회시 저장버튼 disable_20090806_SMY추가
-
- var xpt = window.screenleft + 200;
- var ypt = window.screenTop + 100;
- var coord = getRelativeCoordinate ( xpt, ypt );
- var mon = coord[0];
- xpt = coord[1];
- ypt = coord[2];
- modal ( "SPMMO18200", mon, xpt, ypt, "SPMMO01000", "/root/result", "/root/result", "", false ); // 외래예약처방 저장화면 호출
-
- clearParameter ( "SPMMO18200_pid" );
- clearParameter ( "SPMMO18200_orddd" );
- clearParameter ( "SPMMO18200_cretno" );
- clearParameter ( "SPMMO18200_prcpdd" );
- clearParameter ( "SPMMO18200_prcpinptflag" );
- clearParameter ( "SPMMO18200_ioflag" );
- clearParameter ( "SPMMO18200_prcpkindcd" );
- clearParameter ( "SPMMO18200_prcpsignflag" );
- clearParameter ( "SPMMO18200_aftcertflag" );
- clearParameter ( "SPMMO18200_aftcertdrid" );
- clearParameter ( "SPMMO18200_savebtn" );
-
- return getParameter("SPMMO18200_rtnyn");
- }else{
- return "X";
- }
- }
- //환자진료정보조회 팝업_20090803_SMY추가
- function fShowPatOrdInfo(){
- var cur_Row = grd_rsrvlist.row;
- var cur_Col = grd_rsrvlist.col;
-
- var param = grd_rsrvlist.valueMatrix(cur_Row, parseInt(cur_Col)+1);
- patarray = param.split(",");
- var pid = patarray[0];
- setParameter("SMMMO02500_cond", pid);
- modal("SMMMO02500");
-
- }
- //fInqurySelectedPrgm
- /* ------------------------------------------------- */
- /* ------End Of List ------------------------------- */
- /* -------------------------------------------------- */
|