123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
- <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
- <xhtml:head>
- <xhtml:title>APACHE II 환자 그래프</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <apachelist>
- <apache>
- <apchdd/>
- <ad/>
- <result/>
- </apache>
- </apachelist>
- <apchinfo>
- <dd>
- <ddlist>
- <apchdd/>
- </ddlist>
- </dd>
- </apchinfo>
- </main>
- <send>
- <fromdd/>
- <todd/>
- <pid/>
- <orddd/>
- <range/>
- <status/>
- <ward/>
- <orddept/>
- <outchk/>
- <scorechk/>
- <scoredown/>
- <scoreup/>
- </send>
- <hidden>
- <temp>
- <apachelist/>
- </temp>
- </hidden>
- <init/>
- <grd_temp>
- <grid>
- <ad/>
- <apchdd/>
- </grid>
- </grd_temp>
- </root>
- </instance>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tchartHelper.js"/>
- <script type="javascript" src="../../../emr/commonweb/js/EMRCommon.js"/>
- <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
- <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
- <script type="javascript" src="../../../com/zipcodeweb/js/ZBP001.js"/>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- fGetRefInfo();
- ]]>
- </script>
- <submission id="TRMMR03300" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/apachelist"/>
- <submission id="TRMMR03301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/apchinfo/dd"/>
- </model>
- <script type="javascript">
- <![CDATA[
- function fGetRefInfo(){
- /*
- model.setValue("/root/send/pid", opener.javascript.getParameter("SPMMR03300_pid"));
- model.setValue("/root/send/fromdd", opener.javascript.getParameter("SPMMR03300_fromdd"));
- model.setValue("/root/send/todd", opener.javascript.getParameter("SPMMR03300_todd"));
-
- model.refresh();
-
- var cols = grd_apachelist.cols-grd_apachelist.fixedCols;
- for( var i = 0; i < cols; i++ ) {
- grd_apachelist.removeColumn(false);
- }
-
- model.removeNodeset("/root/main/apachelist");
-
- model.makeNode("/root/main/apachelist/row");
- model.refresh();
-
- submit("TRMMR03300" , false);
-
- model.resetInstanceNode("/root/send");
- var gridCaption = model.getValue("/root/hidden/temp/apachelist/header/caption");
-
- //ref 정보
- var gridColRef = model.getValue("/root/hidden/temp/apachelist/header/colref");
- var gridColRefArray = gridColRef.split("^");
-
- var gridColType = model.getValue("/root/hidden/temp/apachelist/header/type");
- var gridColTypeArray = gridColType.split("^");
-
- for( var i = 1; i < gridColRefArray.length; i++ ) {
- grd_apachelist.addColumn("ref:" + gridColRefArray[i] + "; type:"+gridColTypeArray[i]+"; ", false);
- }
-
- grd_apachelist.colWidth(0) = 0;
- //grd_apachelist.colWidth(1) = 120;
-
- for( i = 1; i < grd_apachelist.cols; i++ ) {
- grd_apachelist.colWidth(i) = 70;
- }
-
- grd_apachelist.caption = gridCaption;
-
- var node = instance1.selectSingleNode("/root/main");
- node.replaceChild(instance1.root.hidden.temp.apachelist, instance1.root.main.apachelist);
-
- grd_apachelist.rowheight(0) = 30;
-
- grd_apachelist.rebuild();
-
- drawLine(TChart1, grd_apachelist, 1, "ApacheScore/Dethrate", true);
- drawLine(TChart1, grd_apachelist, 2, "ApacheScore/Dethrate", false);
- */
- //20090804
- // model.removenode("/root/send");
- // model.makeValue("/root/send/pid", opener.javascript.getParameter("SPMMR03300_pid"));
- // model.makeValue("/root/send/fromdd", opener.javascript.getParameter("SPMMR03300_fromdd"));
- // model.makeValue("/root/send/todd", opener.javascript.getParameter("SPMMR03300_todd"));
- // model.makeValue("/root/send/orddd", opener.javascript.getParameter("SPMMR03300_orddd"));
- //
- // submit("TRMMR03300", false);
- //
- // //fSetFontColor();
- //
- // //과별현황 셋팅
- // var cols = datagrid1.cols-datagrid1.fixedCols;
- // var rows = datagrid1.rows-datagrid1.fixedRows;
- //
- // for( var i = datagrid1.cols; i >= datagrid1.fixedCols; i-- ) {
- // datagrid1.deleteColumn(i,false);
- // }
- //
- // model.removeNodeset("/root/main/apchinfo/apchddlist");
- // datagrid1.caption = "작성일자";
- // var caption = datagrid1.caption;
- //
- // if(getNodesetCount("/root/main/apachelist/apache") > 0) {
- // if(datagrid1.rows-datagrid1.fixedRows < 3) {
- // datagrid1.addRow(false);
- // datagrid1.addRow(false);
- //
- // datagrid1.valueMatrix(1,0) = "A";
- // datagrid1.valueMatrix(2,0) = "D";
- // }
- //
- // var tempapchdd = "";
- // var apchdd ="";
- // var ad ="";
- // var result ="";
- //
- // for(i=1; i <= getNodesetCount("/root/main/apachelist/apache"); i++ ) {
- // apchdd = model.getValue("/root/main/apachelist/apache["+ i +"]/apchdd");
- // ad = model.getValue("/root/main/apachelist/apache["+ i +"]/ad");
- // result = model.getValue("/root/main/apachelist/apache["+ i +"]/result");
- //
- // if(apchdd != tempapchdd ) {
- // datagrid1.addColumn("ref:"+ apchdd +"; type:output;text-align:center;", false);
- // caption = caption + "^"+ apchdd;
- // datagrid1.valueMatrix(1, datagrid1.cols-1) = "0";
- // datagrid1.valueMatrix(2, datagrid1.cols-1) = "0";
- //
- // tempapchdd = apchdd;
- // }
- //
- // if (ad == "A") {
- // datagrid1.valueMatrix(1, datagrid1.cols-1) = result;
- // } else {
- // datagrid1.valueMatrix(2, datagrid1.cols-1) = result;
- // }
- // }
- //
- // datagrid1.colWidthMax = "60";
- // datagrid1.caption = caption;
- //
- // }
- //
- // drawLineAll(Tchart1, datagrid1, "ApacheScore/Dethrate Rate Chart");
- // //drawLine(TChart1, grd_apachelist, 1, "ApacheScore/Dethrate", true);
- // //drawLine(TChart1, grd_apachelist, 2, "ApacheScore/Dethrate", false);
- //
- // model.refresh();
- init_grid();
-
- model.removenode("/root/send");
- model.makeValue("/root/send/pid", opener.javascript.getParameter("SPMMR03300_pid"));
- model.makeValue("/root/send/fromdd", opener.javascript.getParameter("SPMMR03300_fromdd"));
- model.makeValue("/root/send/todd", opener.javascript.getParameter("SPMMR03300_todd"));
- model.makeValue("/root/send/orddd", opener.javascript.getParameter("SPMMR03300_orddd"));
-
- model.makeValue("/root/send/range", opener.javascript.getParameter("SPMMR03300_range"));
- model.makeValue("/root/send/status", opener.javascript.getParameter("SPMMR03300_status"));
- model.makeValue("/root/send/ward", opener.javascript.getParameter("SPMMR03300_ward"));
- model.makeValue("/root/send/orddept", opener.javascript.getParameter("SPMMR03300_orddept"));
- model.makeValue("/root/send/outchk", opener.javascript.getParameter("SPMMR03300_outchk"));
- model.makeValue("/root/send/scorechk", opener.javascript.getParameter("SPMMR03300_scorechk"));
- model.makeValue("/root/send/scoredown", opener.javascript.getParameter("SPMMR03300_scoredown"));
- model.makeValue("/root/send/scoreup", opener.javascript.getParameter("SPMMR03300_scoreup"));
- submit("TRMMR03301"); //아파치 작성된 일자 리스트
- submit("TRMMR03300"); //아파치 일자별 결과값 리스트
-
- // 원본 데이터 그리드 : datagrid2
- // 그래프 생성 될 데이터 그리드 : datagrid1
- // 티챠트가 거지 같아서 그리드 이름은 꼭 datagrid1 이어야 제대로 가져 온다.
-
- // 원본 데이터 갯수
- var row_cnt = datagrid2.rows;
- var day_cnt = datagrid3.rows; // 아파치 작성일자 리스트
-
- // 캡션 날짜, inputdate의 최소 날짜에서 최대 날짜 까지를 그리드에 몽땅 그려 준다.
- var min_date = "2100-12-31";
- var max_date = "1900-12-31";
-
- // min,max 날짜 구하기 , full search 할 수 밖에 없다.
- for( i = 1 ; i < day_cnt ; i++ ){
- if( min_date > datagrid3.textmatrix(i,0)){
- min_date = datagrid3.textmatrix(i,0);
- }
-
- if( max_date < datagrid3.textmatrix(i,0)){
- max_date = datagrid3.textmatrix(i,0);
- }
- }
-
- // 구한 날짜를 날짜 형식으로 변형한다. ( 날짜가 하루씩 증가해야 하니까.. )
- var minyear = min_date.substr(0,4);
- var minmon = min_date.substr(5,2);
- var minday = min_date.substr(8,2);
-
- // 날짜 계산을 위해서 여기서 1달 작은 값을 넣고 밑에서는 +1달을 해 준다.
- // 월을 0~11 까지로 출력하기 때문에 이런 뻘짓이 필요하다. 이렇게 안 하면 내년에 1월이 00으로 찍힌다.
- var tmp_min_date = new Date(minyear,minmon-1,minday);
-
- // 성능 대박 향상을 위한 caption_tmp!!! 컬럼 추가 될때 마다 캡션값을 입력하면 컬럼 하나씩 들어가는게 눈에 보인다.
- // 고로.. 변수에 저장해 두었다가 마지막에 찍어 주자.
- var caption_tmp = datagrid1.caption;
-
- // 날짜가 하루 더 많다. 그래서 하루 빼줬다.
- tmp_min_date.setDate(tmp_min_date.getDate()-1);
-
-
- // 컬럼 추가, 그리드 캡션 지정, 최대날짜와 같다면 루프 종료
- // ## 검색된 건수가 없으면 종료, 요거 없으면 무한 루프!!!! ##
- for(k = 1; k < day_cnt; k++){
- tmp_min_date.setDate(tmp_min_date.getDate()+1);
-
- // 그리드에서 비교를 위해 날짜 포맷 설정
- ty = tmp_min_date.getYear();
- tm = tmp_min_date.getMonth()+1;
- td = tmp_min_date.getDate();
- if(tm < 10)
- tm = "0" + tm;
- if(td < 10)
- td = "0" + td;
- tt = ty + "-" + tm + "-" + td;
- // 최대날짜가 되면 컬럼 생성을 중지한다.
- // if(tt == max_date)
- // {
- // datagrid1.addColumn("ref:d" + tt + "; type: output;",false);
- // datagrid1.caption = caption_tmp + "^" + tt;
- // break;
- // }
-
- // 최대날짜까지 컬럼 추가
- datagrid1.addColumn("ref:d" + tt + "; type: output;",false);
- caption_tmp = caption_tmp + "^" + tt;
- }
-
- for(j = 1; j < day_cnt; j++){
- //아파치 작성일자 추가
- //아파치 일자와 그리드 날짜가 동일할 때
- if(datagrid1.textmatrix(0,j) != datagrid3.textmatrix(j,0)){
- datagrid1.textmatrix(0,j) = datagrid3.textmatrix(j,0); //날짜는 0 로우에..add_row_cnt-i-1
- }
- }
-
- // 로우 생성, subteam,dev 입력
- var add_row_cnt = 1;
- var col_cnt = 1;
- var cmp_dev = "시작은암것두엄는거다";
-
- // 원본 데이터를 첨 부터 끝까지 읽어 내려가면서 그래프 기준이 될 데이터 그리드를 생성한다.
- for( i = 1 ; i < row_cnt ; i++ )
- {
- // 앞에 이름과 현재 로우의 dev가 다르면 로우를 추가한다. (dev로 sort 해서 가져 왔심)
- // 앞에 이름과 같은데 팀이 달라도 로우를 추가 한다. 두탕 뛰는 개발자 색출
- if (cmp_dev != datagrid2.textmatrix(i,0)){
- datagrid1.addRow(false);
- // fixed컬럼에 dev, subteam에 해당팀, 개발자 입력
- datagrid1.textmatrix(add_row_cnt,0) = datagrid2.textmatrix(i,0);
- add_row_cnt = add_row_cnt + 1;
- }
-
- // 데이터 맵핑
- for ( c = 1 ; c < datagrid1.cols ; c++ ) {
- // input date가 같다면 해당 셀에 데이터 맵핑
- if (datagrid1.textmatrix(0,c) == datagrid2.textmatrix(i,1)){
- // 통계 데이터 맵핑
- datagrid1.textmatrix(add_row_cnt-1,c) = datagrid2.textmatrix(i,2);
- }else{
- // 빈 셀은 0으로 채워 준다 -> 값이 비었을 경우 티차트에서 에러 발생.
- if (datagrid1.textmatrix(add_row_cnt-1,c) == ""){
- datagrid1.textmatrix(add_row_cnt-1,c) = "0";
- }
- }
- }
- // 현재 행의 개발자,Subteam 을 저장해 두었다가 다음 행과 비교한다.
- cmp_dev = datagrid2.textmatrix(i,0);
- }
-
- // 챠트 그리기
- drawLineAll(Tchart1, datagrid1, "Project Rate Chart");
- //drawLine(Tchart1, datagrid1, 1, "ApacheScore/Dethrate", true);
- //drawLine(Tchart1, datagrid1, 2, "ApacheScore/Dethrate", false);
- }
-
- function init_grid()
- {
- // 컬럼 캡션 초기화
- datagrid1.caption = "작성일자";
-
- var cols = datagrid1.cols-datagrid1.fixedCols;
-
- for( var i = 0; i < cols; i++ ) {
- //그리드의 컬럼 삭제
- datagrid1.removeColumn(false);
- }
-
- // 노드 초기화
- model.removeNodeset("/root/main/apachelist/apache");
- model.removeNodeset("/root/grd_temp/grid");
- model.resetInstanceNode("/root/grd_temp/grid");
- model.resetInstanceNode("/root/main/apachelist/apache");
-
- // 차트 초기화
- clearTChart(Tchart1);
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="710" pageheight="600">
- <group id="grp_btn" scroll="auto" style="left:0px; top:555px; width:690px; height:40px; ">
- <button id="button35" class="btn4_letter2" style="left:625px; top:0px; width:56px; height:22px; ">
- <caption>닫기</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- window.close();
- ]]>
- </script>
- </button>
- <shape id="roundrect1" appearance="roundrect" ellipsewidth="20" ellipseheight="20" style="left:15px; top:0px; width:390px; height:25px; "/>
- <caption id="caption1" style="left:30px; top:5px; width:165px; height:15px; ">* A : APACHE|| score (점)</caption>
- <caption id="caption3" style="left:235px; top:5px; width:185px; height:15px; ">D : Predicted death rate(%)</caption>
- </group>
- <caption id="caption2" ref="/root/hidden/forminfo/formnm" class="tit_2" style="left:0px; top:10px; width:172px; height:14px; ">APACHE II - 환자 그래프</caption>
- <line id="line2" class="line_1" style="x1:0px; y1:26px; x2:702px; y2:26px; "/>
- <object id="Tchart1" clsid="{fab9b41c-87d6-474d-ab7e-f07d78f2422e}" style="left:15px; top:40px; width:675px; height:410px; "/>
- <datagrid id="datagrid1" nodeset="/root/grd_temp/grid" allowselection="false" caption="작성일자" colsep="^" colwidth="60" ellipsis="true" fixedcols="1" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" style="left:15px; top:455px; width:675px; height:85px; text-align:center; ">
- <col ref="ad"/>
- </datagrid>
- <datagrid id="datagrid3" nodeset="/root/main/apchinfo/dd/ddlist" visibility="hidden" caption="작성일자" colsep="^" colwidth="60" dataheight="23" defaultrows="0" extendlastcol="scroll" fixedcols="8" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" tooltip="true" style="left:540px; top:460px; width:65px; height:115px; ">
- <col ref="apchdd"/>
- </datagrid>
- <datagrid id="datagrid2" nodeset="/root/main/apachelist/apache" visibility="hidden" caption="작성일자^1^2" colsep="^" colwidth="60, 60, 60" dataheight="23" defaultrows="0" extendlastcol="scroll" fixedcols="3" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" tooltip="true" style="left:325px; top:450px; width:200px; height:150px; ">
- <col ref="ad"/>
- <col ref="apchdd"/>
- <col ref="result"/>
- </datagrid>
- </xhtml:body>
- </xhtml:html>
|