123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 치과기록PMH조회 ( SMMRE00800_치과기록PMH조회.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- - Author : 최원돈 (2010.10.25~
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var sSELINFO_PATH = "/root/main/selinfo"
- var sSELRECINFO_PATH = "/root/main/selinfo/recinfo"
- var sSELRECLIST_PATH = "/root/main/selinfo/recinfo/reclist"
- var sSELRECINFO_ORG_PATH = "/root/data/selinfo/recinfo"
- var sSELRECLIST_ORG_PATH = "/root/data/selinfo/recinfo/reclist"
- var sRECBASELIST_PATH = "/root/hidden/recbaseinfo/recbaselist";
- var aSKIPCOL = new Array("etcimgheight");
- var sLISTTMP = "";
- // MAINLIST COLUMNS
- var aRECCOL = {"F1":[1 ]
- ,"F2":[1 ]
- ,"F3":[1 ]
- ,"F4":[1 ]
- ,"I" :[1,2 ]
- ,"D" :[1,2,3]
- ,"W" :[1,2 ]
- ,"IM":[1,2 ]
- ,"FT":[1,2 ]
- }
- // PK COLUMNS
- var aPKCOLID_MASTLIST = new Array( "instcd"
- , "pid"
- , "orddd"
- , "cretno"
- , "orddeptcd"
- , "formrecdeptcd"
- , "wrdflag"
- , "wmid"
- , "recoseq" );
- var aWRDFLAG = { "CC" : [true, true]
- , "PI" : [true, true]
- , "PDH" : [true, true]
- , "PMH" : [true, true]
- , "진단" : [true, true]
- , "진료" : [true, true]
- , "계획" : [true, true]
- , "NEXT" : [true, true]
- , "템플릿" : [false, true]}
- // 서식 코드 값
- var aRECFLAGCD = { "CC" : "A1"
- , "PI" : "A2"
- , "PDH" : "A8"
- , "PMH" : "A3"
- , "진단" : "A5"
- , "진료" : "A4"
- , "계획" : "A9"
- , "주의사항" : "A11"
- , "NEXT" : "A30"}
-
- var iFocusIndx = 0;
- /**
- * @---------------------------------------------------
- * @creat : 20110101
- * @author : 최원돈
- * @desc : 기록블라인드 처리에 따른 초기화
- * @---------------------------------------------------
- */
- function fRecMainReady()
- {
- fInitRecPamInfo();
- fGetrecinfo(); // 치과진료메인을 조회한다. -- 임시
- }
- /**
- * @---------------------------------------------------
- * @creat : 20110101
- * @author : 최원돈
- * @desc : 환자 원무 정보 셋팅
- * @---------------------------------------------------
- */
- function fInitRecPamInfo()
- {
- try
- {
- var node = getGlobalVariable("paminfo");
- model.removeNodeset("/root/main/paminfo");
- setCSVToNode("/root/main", node, "paminfo");
- model.setValue("/root/main/cond/recinfo/pid" , model.getValue("/root/main/paminfo/pid" ));
- model.setValue("/root/main/cond/recinfo/orddd" , (model.getValue("/root/main/paminfo/orddd")==null) ? model.getValue("/root/main/paminfo/indd") : model.getValue("/root/main/paminfo/orddd"));
- model.setValue("/root/main/cond/recinfo/cretno" , model.getValue("/root/main/paminfo/cretno" ));
- model.setValue("/root/main/cond/recinfo/orddeptcd", model.getValue("/root/main/paminfo/orddeptcd"));
- model.setValue("/root/main/cond/inptioflag" , model.getValue("/root/main/paminfo/ioflag" ));
- model.setValue("/root/main/cond/recinfo/ioflag" , model.getValue("/root/main/paminfo/ioflag" ));
- }
- catch (e)
- {
- //alert("fInitRecPamInfo");
- throw e;
- }
- }
- /**
- * @---------------------------------------------------
- * @creat : 20110101
- * @author : 최원돈
- * @desc : 치과진료메인 조회
- * @---------------------------------------------------
- */
- function fGetrecinfo()
- {
- // model.setValue("/root/main/cond/recinfo/recfromdt" , opener.model.getValue("/root/init/reqmedireclist/recfromdt" ));
- // model.setValue("/root/main/cond/recinfo/rectodt" , opener.model.getValue("/root/init/reqmedireclist/rectodt" ));
- // model.setValue("/root/main/cond/recinfo/reqformrecdeptcd", opener.model.getValue("/root/send/reqmedireclist/formrecdeptcd"));
- // 초기화 START
- //mainlist 초기화
- model.removenode(sSELRECINFO_PATH);
- model.makeNode(sSELRECINFO_PATH);
- //send parameter 초기화
- model.removeNodeset("/root/send/savedata/recinfo");
- model.makeNode("/root/send/savedata/recinfo");
- model.removenode("/root/send/reqcond");
- model.makeNode("/root/send/reqcond");
- model.copyNode("/root/send/reqcond", "/root/main/cond/recinfo");
- // 초기화 END
- grd_mainlist.rebuildStyle();
- //submit 호출
- if(!submit("TRMRE00801")){
- messageBox("조회를 실패하였습니다.", "E999");
- setMainlistAll(true); // Main Grid 전체 Style 설정
- return;
- }
-
- setActiveInit(false); // 초기화 (조회, 저장 후)
- }
- /**
- * @---------------------------------------------------
- * @creat : 20110101
- * @author : 최원돈
- * @desc : 초기화 (조회, 저장 후)
- * @---------------------------------------------------
- */
- function setActiveInit(pb_refresh)
- {
- setMainlistAll(pb_refresh); // Main Grid 전체 Style 설정
- }
- /**
- * @---------------------------------------------------
- * @creat : 20110101
- * @author : 최원돈
- * @desc : Main Grid 전체 Style 설정
- * @---------------------------------------------------
- */
- function setMainlistAll(pb_refresh) //pi_rowcnt, ps_inptflag, ps_colid, ps_value, pb_refreshyn
- {
- var li_rows = grd_mainlist.rows;
- if (li_rows < 1)
- {
- return;
- }
- //Rec 정보 설정
- setRecinfo(0, li_rows-1, "", true, false);
- setMainlistAutoResize(false, pb_refresh, true); // 메인의 column 높이를 자동으로 설정한다.
- }
- /**
- * @---------------------------------------------------
- * @creat : 20110101
- * @author : 최원돈
- * @desc : 메인의 column 높이를 자동으로 설정한다.
- * @---------------------------------------------------
- */
- function setMainlistAutoResize(pb_bottomyn, pb_refresh, pb_autoresize)
- {
- if (pb_refresh)
- {
- model.refresh();
- }
-
- if (pb_autoresize)
- {
- grd_mainlist.autoresize = true;
- }
- if (model.getValue("/root/main/condEtc/imgratio") > 0)
- {
- // IMAGE 를 모두 찾아서 Row 높이 설정을 현재 IMAGE 높이에 맞춰서 강제 조정해준다.
- for (var li_row = 0; li_row < grd_mainlist.rows; li_row++)
- {
- if ( grd_mainlist.valueMatrix(li_row, grd_mainlist.colref("inptflag")) == "IM"
- && grd_mainlist.valueMatrix(li_row, grd_mainlist.colref("etcimgheight")) != "")
- {
- grd_mainlist.rowheight(li_row) = grd_mainlist.valueMatrix(li_row, grd_mainlist.colref("etcimgheight"));
- }
- }
- }
- if (pb_bottomyn)
- {
- grd_mainlist.bottomrow = grd_mainlist.row
- }
- }
- /**
- * @---------------------------------------------------
- * @creat : 20110101
- * @author : 최원돈
- * @desc : Rec정보에 설정
- * @---------------------------------------------------
- */
- function setRecinfo(pi_minrow, pi_maxrow, ps_colid, pb_stlyesetYn, pb_colspanYn)
- {
- var ls_reccond = "";
- var ls_colcond = "";
- for (li_row = pi_minrow; li_row <= pi_maxrow; li_row++)
- {
- ls_inptflag = grd_mainlist.valueMatrix(li_row, grd_mainlist.colRef("inptflag"));
- ls_reccond = "[inptflag='" + ls_inptflag + "']";
- if (pb_stlyesetYn)
- {
- // row style setting
- setRowstyle(li_row, ls_reccond);
- // column style setting
- for(li_array = 0; li_array < aRECCOL[ls_inptflag].length; li_array++)
- {
- setColstyle("col" + aRECCOL[ls_inptflag][li_array], li_row, ls_reccond);
- }
- }
- if (pb_colspanYn) // column colspan setting
- {
- setColspan(ps_colid, li_row, ls_reccond);
- }
- if (ps_colid == "") // 전체 설정일 경우
- {
- setReversalStyleRec(li_row, ls_inptflag); // 반전 정보에 맞춰서 Style 변경
- }
- }
- return;
- }
- /**
- * @---------------------------------------------------
- * @creat : 20110101
- * @author : 최원돈
- * @desc : row style setting
- * @---------------------------------------------------
- */
- function setRowstyle(pi_row, ps_reccond)
- {
- var ls_rowcond = ps_reccond + "/rowstyleinfo";
- var lnl_style = instance1.selectSingleNode(sRECBASELIST_PATH + ls_rowcond); // Rec 기준정보에서 inptflag 에 해당하는 nodelist를 가져온다.
- if(lnl_style.length > 0)
- {
- var lnl_stylechild = lnl_style.childNodes;
- while(lnlc_stylechild = lnl_stylechild.nextNode())
- {
- var lnl_styleGchild = lnlc_stylechild.childNodes;
- var ls_stylename = "";
- var ls_stylevalue = "";
- while(lnlc_styleGchild = lnl_styleGchild.nextNode())
- {
- switch(lnlc_styleGchild.nodeName)
- {
- case 'stylename':
- ls_stylename = lnlc_styleGchild.NodeValue;
- break;
- case 'stylevalue':
- ls_stylevalue = lnlc_styleGchild.NodeValue;
- break;
- default:
- break;
- }
- }
- grd_mainlist.rowstyle(pi_row, "data", ls_stylename) = ls_stylevalue;
- }
- }
- return;
- }
- /**
- * @---------------------------------------------------
- * @creat : 20110101
- * @author : 최원돈
- * @desc : column colspan setting 수행
- * @---------------------------------------------------
- */
- function setColspan(ps_colid, pi_row, ps_reccond)
- {
- var ls_colcond = ps_reccond + "/colmapinfo/colmaplist[colid='" + ps_colid + "']";
- var lnl_col = instance1.selectSingleNode(sRECBASELIST_PATH + ls_colcond); // Rec 기준정보에서 inptflag & colid 에 해당하는 nodelist를 가져온다.
- if(lnl_col.length > 0)
- {
- var lnl_colchild = lnl_col.childNodes;
- }
- else // 1 Row 일 경우
- {
- lnl_col = instance1.selectNodes(sRECBASELIST_PATH + ls_colcond);
- var lnl_colchild = lnl_col.item(0).childNodes;
- }
- if(lnl_col.length > 0)
- {
- var ls_value = grd_mainlist.valueMatrix(pi_row, grd_mainlist.colref(ps_colid));
- var ls_starttemp = "";
- var li_mincol = 0;
- var li_maxcol = 0;
- while(lnlc_colchild = lnl_colchild.nextNode())
- {
- switch(lnlc_colchild.nodeName)
- {
- case 'starttemp':
- ls_starttemp = lnlc_colchild.NodeValue;
- break;
- case 'mincol':
- li_mincol = parseInt(lnlc_colchild.NodeValue);
- break;
- case 'maxcol':
- li_maxcol = parseInt(lnlc_colchild.NodeValue);
- break;
- default:
- break;
- }
- }
- for (var li_col = li_mincol; li_col <= li_maxcol; li_col++)
- {
- grd_mainlist.valueMatrix(pi_row, grd_mainlist.colref("col" + li_col)) = ls_starttemp + ls_value;
- }
- }
- return;
- }
- /**
- * @---------------------------------------------------
- * @creat : 20110101
- * @author : 최원돈
- * @desc : column style setting
- * @---------------------------------------------------
- */
- function setColstyle(ps_colid, pi_row, ps_reccond)
- {
- var ls_colcond = ps_reccond + "/colmapinfo/colmaplist[colid='" + ps_colid + "']";
- var lnl_col = instance1.selectSingleNode(sRECBASELIST_PATH + ls_colcond); // Rec 기준정보에서 inptflag & colid 에 해당하는 nodelist를 가져온다.
- if(lnl_col.length > 0)
- {
- var lnl_colchild = lnl_col.childNodes;
- }
- else // 1 Row 일 경우
- {
- lnl_col = instance1.selectNodes(sRECBASELIST_PATH + ls_colcond);
- var lnl_colchild = lnl_col.item(0).childNodes;
- }
- if(lnl_col.length > 0)
- {
- var li_mincol = 0;
- var li_maxcol = 0;
- while(lnlc_colchild = lnl_colchild.nextNode())
- {
- switch(lnlc_colchild.nodeName)
- {
- case 'mincol':
- li_mincol = lnlc_colchild.NodeValue;
- break;
- case 'maxcol':
- li_maxcol = lnlc_colchild.NodeValue;
- break;
- case 'styledefaultyn':
- ls_styledefaultyn = lnlc_colchild.NodeValue;
- break;
- case 'styleinfo':
- if(ls_styledefaultyn == "N")
- {
- var lnl_stylechild = lnlc_colchild.childNodes;
- while(lnlc_stylechild = lnl_stylechild.nextNode())
- {
- var lnl_styleGchild = lnlc_stylechild.childNodes;
- var ls_stylename = "";
- var ls_stylevalue = "";
- while(lnlc_styleGchild = lnl_styleGchild.nextNode())
- {
- switch(lnlc_styleGchild.nodeName)
- {
- case 'stylename':
- ls_stylename = lnlc_styleGchild.NodeValue;
- break;
- case 'stylevalue':
- ls_stylevalue = lnlc_styleGchild.NodeValue;
- break;
- default:
- break;
- }
- }
- grd_mainlist.cellstyle(ls_stylename, pi_row, grd_mainlist.colref("col" + li_mincol), pi_row, grd_mainlist.colref("col" + li_maxcol)) = ls_stylevalue;
- }
- }
- break;
- default:
- break;
- }
- }
- }
- return;
- }
- /**
- * @---------------------------------------------------
- * @creat : 20110101
- * @author : 최원돈
- * @desc : 반전 정보에 맞춰서 Style 변경
- * @---------------------------------------------------
- */
- function setReversalStyleRec(pi_row, ps_inptflag)
- {
- var li_colid = "";
-
- if (ps_inptflag == "D")
- {
- li_colid = grd_mainlist.colref("col3");
- }
- else
- {
- li_colid = grd_mainlist.colref("col2");
- }
- // 글자색반전
- var ls_color = grd_mainlist.valueMatrix(pi_row, grd_mainlist.colref("color"));
- if (ls_color != "")
- {
- grd_mainlist.cellstyle("color", pi_row, li_colid, pi_row, li_colid) = ls_color;
- }
- // 이탤릭체반전
- if (grd_mainlist.valueMatrix(pi_row, grd_mainlist.colref("italicyn")) == "Y")
- {
- grd_mainlist.cellstyle("font-style", pi_row, li_colid, pi_row, li_colid) = "italic";
- }
- }
|