123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <!--
- * 제 목 : SMLLS00900_진단검사부서별통계.xrw
- * 설 명 : 진단검사부서별통계
- * 설 계 자 : (주)에이씨케이 - 윤재한
- * 작 성 자 : (주)에이씨케이 -
- * 작 성 일 : 2008.04.21
- * 수정이력 :
- * 기 타 :
- -->
- <?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>진단검사 부서별 통계</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <ddstats/>
- <yystats/>
- </main>
- <send/>
- <init>
- </init>
- <hidden>
- <ioflag/>
- <statshopefromdd/>
- <statshopetodd/>
- </hidden>
- </root>
- </instance>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../lis/commonweb/js/LLZ001.js"/>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- fSetInit(); //초기화 함수 호출
- ]]>
- </script>
- <submission id="TRLLS00901" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/ddstats"/>
- <submission id="TRLLS00902" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/yystats"/>
- </model>
- <script type="javascript">
- <![CDATA[
- //화면 open시 초기화
- function fSetInit() {
- var toDay = getCurrentDate();
-
- model.setValue("/root/hidden/statshopefromdd", toDay); //통계희망시작일 = 현재일자
- model.setValue("/root/hidden/statshopetodd", toDay); //통계희망종료일 = 현재일자
-
- //그리드초기화
- model.removeNodeset("/root/main/ddstats"); //일별, 월별, 분기별
- model.removeNodeset("/root/main/yystats"); //연별
-
- model.toggle("dd"); //초기시 일별그리드 표시
- btn_ddstats.selected = true; //일별switch 버튼 선택
-
- model.refresh();
- }
-
- //switch 버튼 클릭시 그리드 초기화
- function fGridInit() {
- var cols = grd_yy.cols-grd_yy.fixedCols;
-
- for( var i = 0; i < cols; i++ ) {
- grd_yy.removeColumn(); //그리드 컬럼 다 지우기.. 지우지 않으면 그리드 형태가 유지되어 다른 통계 조회후 연별 통계시 그리드 옆에 이어져 조회됨.
- }
-
- model.removeNodeset("/root/main/ddstats"); //일별, 월별, 분기별
- model.removeNodeset("/root/main/yystats"); //연별
-
- model.refresh();
- }
-
- //통계희망일, 입원/외래구분, 조회구분(일,월,분기,연) 에 따른 조회
- function fGetStats() {
- if(btn_ddstats.selected == true) {
- model.makeValue("/root/send/refflag", "d");
- } else if(btn_mmstats.selected == true) {
- model.makeValue("/root/send/refflag", "m");
- } else if(btn_qurtyystats.selected == true) {
- model.makeValue("/root/send/refflag", "q");
- } else if(btn_yystats.selected == true) {
- fGetYYStats();
- return;
- }
-
- model.makeValue("/root/send/statshopefromdd", model.getValue("/root/hidden/statshopefromdd")); //통계희망시작일
- model.makeValue("/root/send/statshopetodd", model.getValue("/root/hidden/statshopetodd")); //통계희망종료일
-
- submit("TRLLS00901");
-
- model.removeNodeset("/root/send");
- model.makeNode("/root/send");
- }
-
- //연별 통계 조회
- function fGetYYStats() {
- var cols = grd_yy.cols-grd_yy.fixedCols;
- var rows = grd_yy.rows-grd_yy.fixedRows;
-
- for( var i = 0; i < cols; i++ ) {
- grd_yy.removeColumn(false); //그리드 컬럼 다 지우기..지우지 않으면 그리드 형태가 유지되어 그리드 옆에 이어져 조회됨.
- }
-
- model.removeNodeset("/root/main/yystats"); //연별그리드 초기화
-
- model.makeNode("/root/main/yystats/row");
-
- model.makeValue("/root/send/statshopefromdd", model.getValue("/root/hidden/statshopefromdd")); //통계희망시작일
- model.makeValue("/root/send/statshopetodd", model.getValue("/root/hidden/statshopetodd")); //통계희망종료일
-
- submit("TRLLS00902"); //통계조회
-
- model.removeNodeset("/root/send");
- model.makeNode("/root/send");
-
- //caption 정보
- var gridCaption = model.getValue("/root/hidden/yystats/header/caption");
- if(gridCaption == "") return;
-
- //ref 정보
- var gridColRef = model.getValue("/root/hidden/yystats/header/colref");
- var gridColRefArray = gridColRef.split("^");
-
- //type 정보
- var gridColType = model.getValue("/root/hidden/yystats/header/type");
- var gridColTypeArray = gridColType.split("^");
-
- for( var i = 0; i < gridColRefArray.length; i++ ) {
- if(i == 0) {
- grd_yy.addColumn("ref:" + gridColRefArray[i] + "; type:"+gridColTypeArray[i]+"; style:text-align:left; ", false); //Grid 속성 지정
- } else {
- grd_yy.addColumn("ref:" + gridColRefArray[i] + "; type:"+gridColTypeArray[i]+"; format:#,###; ", false); //Grid 속성 지정
- }
- }
-
- grd_yy.colWidth(1) = 80; //부서 Column은 폭이 달라서 따로 지정.
-
- for( i = 2; i < grd_yy.cols; i++ ) {
- grd_yy.colWidth(i) = 60; //Column 폭 조정
- }
-
- grd_yy.caption = gridCaption; //Caption 지정
-
- var node = instance1.selectSingleNode("/root/main");
- node.replaceChild(instance1.root.hidden.yystats, instance1.root.main.yystats); //조회하고 수정한 사항을 main에 보냄
-
- grd_yy.rowheight(0) = 23; //Title 높이 조정
-
- model.refresh();
-
- fGetTotal(); //연도별 Total 계산
- }
-
- //연도별 통계 Total계산
- function fGetTotal() {
- //Column 합계
- for(r = 1; r < grd_yy.rows; r++) {
- colsum = 0;
- for(i = 2; i < grd_yy.cols - 1; i++) {
- if(grd_yy.textmatrix(r, i) != "") {
- colsum += parseInt(grd_yy.textmatrix(r, i));
- }
- }
- model.setValue("/root/main/yystats/row["+ r +"]/total", colsum);
- }
-
- //Row 합계
- grd_yy.addRow();
- model.refresh();
-
- grd_yy.textmatrix(grd_yy.rows-1, 1) = "Total";
-
- for(i = 2; i < grd_yy.cols; i++) {
- rowsum = 0;
- for(r = 1; r < grd_yy.rows-1; r++) {
- if(grd_yy.textmatrix(r, i) != "") {
- rowsum += parseInt(grd_yy.textmatrix(r, i));
- }
- }
-
- grd_yy.textmatrix(grd_yy.rows-1, i) = rowsum;
- }
- }
-
- //엑셀저장
- function fExeSaveToExcel() {
- if(btn_ddstats.selected == true) { //일별
- fSaveExcel("grd_dd");
- } else if(btn_mmstats.selected == true) { //월별
- fSaveExcel("grd_mm");
- } else if(btn_qurtyystats.selected == true) { //분기별
- fSaveExcel("grd_qurtyy");
- } else if(btn_yystats.selected == true) { //연별
- fSaveExcel("grd_yy");
- }
- }
-
- //통계그리드를 출력한다.
- function fPrint() {
- if(btn_ddstats.selected == true) { //일별
- exeReportPreview("RPLLS01800", "XMLSTR");
- } else if(btn_mmstats.selected == true) { //월별
- exeReportPreview("RPLLS01900", "XMLSTR");
- } else if(btn_qurtyystats.selected == true) { //분기별
- exeReportPreview("RPLLS02000", "XMLSTR");
- } else if(btn_yystats.selected == true) { //연별
- exeReportPreview("RPLLS02100", "XMLSTR");
- }
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <group id="group3" scroll="auto" style="left:0px; top:40px; width:1195px; height:744; ">
- <group id="group1" style="left:0px; top:10px; width:1195px; height:35px; ">
- <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1195px; height:35px; "/>
- <button id="btn_ref" class="btn1_letter2" style="left:1123px; top:7px; width:56px; height:22px; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fGetStats();
- ]]>
- </script>
- </button>
- <line id="line3" class="line_4" style="x1:1108px; y1:6px; x2:1108px; y2:28px; "/>
- <input id="ipt_workfromdd" ref="/root/hidden/statshopefromdd" class="input_search" inputtype="date" style="left:128px; top:8px; width:90px; height:19px; "/>
- <input id="ipt_worktodd" ref="/root/hidden/statshopetodd" class="input_search" inputtype="date" style="left:233px; top:8px; width:90px; height:19px; "/>
- <caption id="caption4" class="search_name" style="left:15px; top:9px; width:110px; height:17px; ">통계 희망일 :</caption>
- <caption id="caption9" class="search_no_b" style="left:220px; top:10px; width:13px; height:17px; ">~</caption>
- </group>
- <switch id="swt_statflag" class="sw_box" style="left:0px; top:75px; width:1195px; height:663px; ">
- <case id="dd" selected="true">
- <datagrid id="grd_dd" nodeset="/root/main/ddstats" caption="부서^01^02^03^04^05^06^07^08^09^10^11^12^13^14^15^16^17^18^19^20^21^22^23^24^25^26^27^28^29^30^31^Total" colsep="^" colwidth="80, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 60" dataheight="23" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" style="left:5px; top:5px; width:1180px; height:646px; text-align:right; ">
- <col ref="sectscrnnm" style="text-align:left; "/>
- <col ref="d01" format="#,###"/>
- <col ref="d02" format="#,###"/>
- <col ref="d03" format="#,###"/>
- <col ref="d04" format="#,###"/>
- <col ref="d05" format="#,###"/>
- <col ref="d06" format="#,###"/>
- <col ref="d07" format="#,###"/>
- <col ref="d08" format="#,###"/>
- <col ref="d09" format="#,###"/>
- <col ref="d10" format="#,###"/>
- <col ref="d11" format="#,###"/>
- <col ref="d12" format="#,###"/>
- <col ref="d13" format="#,###"/>
- <col ref="d14" format="#,###"/>
- <col ref="d15" format="#,###"/>
- <col ref="d16" format="#,###"/>
- <col ref="d17" format="#,###"/>
- <col ref="d18" format="#,###"/>
- <col ref="d19" format="#,###"/>
- <col ref="d20" format="#,###"/>
- <col ref="d21" format="#,###"/>
- <col ref="d22" format="#,###"/>
- <col ref="d23" format="#,###"/>
- <col ref="d24" format="#,###"/>
- <col ref="d25" format="#,###"/>
- <col ref="d26" format="#,###"/>
- <col ref="d27" format="#,###"/>
- <col ref="d28" format="#,###"/>
- <col ref="d29" format="#,###"/>
- <col ref="d30" format="#,###"/>
- <col ref="d31" format="#,###"/>
- <col ref="total" format="#,###"/>
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- grd_dd.gridToInstance();
- ]]>
- </script>
- </datagrid>
- </case>
- <case id="mm">
- <datagrid id="grd_mm" nodeset="/root/main/ddstats" caption="부서^01^02^03^04^05^06^07^08^09^10^11^12^Total" colsep="^" colwidth="80, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60" dataheight="23" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" style="left:5px; top:5px; width:1180px; height:646px; text-align:right; ">
- <col ref="sectscrnnm" style="text-align:left; "/>
- <col ref="d01" format="#,###"/>
- <col ref="d02" format="#,###"/>
- <col ref="d03" format="#,###"/>
- <col ref="d04" format="#,###"/>
- <col ref="d05" format="#,###"/>
- <col ref="d06" format="#,###"/>
- <col ref="d07" format="#,###"/>
- <col ref="d08" format="#,###"/>
- <col ref="d09" format="#,###"/>
- <col ref="d10" format="#,###"/>
- <col ref="d11" format="#,###"/>
- <col ref="d12" format="#,###"/>
- <col ref="total" format="#,###"/>
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- grd_mm.gridToInstance();
- ]]>
- </script>
- </datagrid>
- </case>
- <case id="qurtyy">
- <datagrid id="grd_qurtyy" nodeset="/root/main/ddstats" caption="부서^1^2^3^4^Total" colsep="^" colwidth="80, 60, 60, 60, 60, 60" dataheight="23" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" style="left:5px; top:5px; width:1180px; height:646px; text-align:right; ">
- <col ref="sectscrnnm" style="text-align:left; "/>
- <col ref="d01" format="#,###"/>
- <col ref="d02" format="#,###"/>
- <col ref="d03" format="#,###"/>
- <col ref="d04" format="#,###"/>
- <col ref="total" format="#,###"/>
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- grd_qurtyy.gridToInstance();
- ]]>
- </script>
- </datagrid>
- </case>
- <case id="yy">
- <datagrid id="grd_yy" nodeset="/root/main/yystats/row" backcoloralternate="transparent" colsep="^" dataheight="23" explorerbar="sortshow" frozencols="2" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" style="left:5px; top:5px; width:1180px; height:646px; text-align:center; ">
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- grd_qurtyy.gridToInstance();
- ]]>
- </script>
- </datagrid>
- </case>
- </switch>
- <button id="btn_mmstats" class="btn_sw" group="tab" style="left:75px; top:54px; width:75px; height:22px; ">
- <caption>월별 통계</caption>
- <toggle case="mm" ev:event="DOMActivate"/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fGridInit();
- ]]>
- </script>
- </button>
- <button id="btn_qurtyystats" class="btn_sw" group="tab" style="left:150px; top:54px; width:90px; height:22px; ">
- <caption>분기별 통계</caption>
- <toggle case="qurtyy" ev:event="DOMActivate"/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fGridInit();
- ]]>
- </script>
- </button>
- <button id="btn_ddstats" class="btn_sw" group="tab" style="left:0px; top:54px; width:75px; height:22px; ">
- <caption>일별 통계</caption>
- <toggle case="dd" ev:event="DOMActivate"/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fGridInit();
- ]]>
- </script>
- </button>
- <button id="btn_yystats" class="btn_sw" group="tab" style="left:240px; top:54px; width:75px; height:22px; ">
- <caption>연별 통계</caption>
- <toggle case="yy" ev:event="DOMActivate"/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fGridInit();
- ]]>
- </script>
- </button>
- </group>
- <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">진단검사 부서별 통계</caption>
- <group id="group4" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
- <line id="line2" class="line_2" style="x1:0px; y1:25px; x2:1195px; y2:25px; "/>
- <button id="btn_print" class="btn6_letter2" style="left:0px; top:3px; width:56px; height:22px; ">
- <caption>출력</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fPrint();
- ]]>
- </script>
- </button>
- <button id="btn_excel" class="btn6_letter5" style="left:59px; top:3px; width:92px; height:22px; ">
- <caption>EXCEL저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fExeSaveToExcel();
- ]]>
- </script>
- </button>
- </group>
- </xhtml:body>
- </xhtml:html>
|