123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- /**
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 진료 - 외래초진통계 ( SMMRS01100_외래초진통계.xrw - JScript )
- * Version :
- - Ver.1.00.01
-
- * 개발자: 이경희
-
- * 최초작성일:
- - 2008/02/27
-
- * 수정이력:
- - 2008/03/17
-
-
- * 기타:
-
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- /**
- * @ver : 2008-02-27
- * @desc : 폼 초기화
- * @
- * @by
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function finitialize(){
-
- var fromdd = ((getCurrentDate()).toDate()).getAddDate(-1, "M");
- model.setValue("/root/main/fromdd" ,fromdd.getDateFormat());
- model.setValue("/root/main/todd" ,getCurrentDate());
- var searchStart = model.getValue("/root/main/fromdd");
- var StartDate = fChangeDate(searchStart, 1); // DB 쿼리의 조회 조건을 설정
- var searchEnd = model.getValue("/root/main/todd");
- var EndDate = fChangeDate(searchEnd, 0);
- model.setValue("/root/send/searchstartdate" , searchStart);
- model.setValue("/root/main/fromdd" , searchStart);
- model.setValue("/root/send/searchenddate" , searchEnd);
- model.setValue("/root/main/todd" , searchEnd);
- grd_statslist.colstyle(0,"data","color")="#6464ff";
- grd_statslist.colHidden(1) = true;
-
- for (var i = 1; i < grd_statslist.cols-3; i++)
- {
- if (i % 2 == 0)
- {
- grd_statslist.colHidden(i) = true;
- }
- }
- model.refresh();
- }
- /**
- * @ver : 2008-02-27
- * @desc : 버튼 컨트롤들을 클릭했을때 공통으로 타는 함수입니다.
- * @ control : "search" 는 조회 버튼 클릭 "init"은 신규 버튼 클릭, "save"는 저장 버튼 클릭
- * @ grid : 그리드 컨트롤을 넘겨줍니다, param : 기타 param을 넘겨줍니다.
- * @by
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fClicked(control, grid, param){
- if ("search" == control){
- fSearchClick(grid, param);
- model.resetInstanceNode("/root/send");
- } else if ("init" == control){
- model.reset();
- } else {
- messageBox("처리를 수행","E002");
- }
- model.refresh();
- }
- function fSearchClick(grid,param){
- model.removeNodeset("/root/main/item/grid");
- grid.rebuild();
-
- model.resetInstanceNode("/root/send");
-
- model.setValue("/root/send/searchstartdate", model.getValue("/root/main/fromdd") );
- model.setValue("/root/send/searchenddate", model.getValue("/root/main/todd") );
- model.setValue("/root/send/startcondition", model.getValue("/root/main/condition_start") );
- model.setValue("/root/send/endcondition", model.getValue("/root/main/condition_end") );
-
- submit("TRMRS01001");
- }
- /**
- * @ver : 2008-02-27
- * @desc : 외래환자현황 조회시 입력한 달의 년월일을 변수로 입력받아 인스턴스 변수의
- condition_start, condition_end 변수에 값을 할당, DB쿼리의 조건 변수에 사용한다.
- * @
- * @by : 이경희
- * @param: 1) inputString - 입력한 년월일(예: 20080101)
- 2) bStart 1 - 조회 시작 월인 경우
- 0 - 조회 종료 월인 경우
- * @return:
- * @---------------------------------------------------
- */
- function fChangeDate(inputString, bStart)
- {
-
- var cutStr = inputString.substr(0,6);
- if(bStart)
- {
- var cond = eval(cutStr.substr(0, 6)); // 20080101 형식이기 때문에 200801 까지 스트링을 자름
- cond += "%";
- ipt_fromdd.refresh();
- model.setValue("/root/main/condition_start", cond);
- }
- else
- {
- var cond = eval(cutStr.substr(0, 6));
- cond += "%";
- ipt_todd.refresh();
- model.setValue("/root/main/condition_end", cond);
- }
- }
- /**
- * @ver : 2008-02-27
- * @desc : 외래환자현황 조회시 입력한 달의 년월일을 변수로 입력받아 조건이 올바른지 확인한다.
- * @
- * @by : 이경희
- * @param: 1) StartDate - 조회 시작 년월일
- 2) EndDate - 조회 종료 년월일
-
- * @return:
- * @---------------------------------------------------
- */
- function fValidDate(StartDate, EndDate)
- {
- var dateInterval = eval(getDateInterval(StartDate, EndDate));
- if ( dateInterval < 0 )
- {
- messageBox("조회 기간이 맞지 않습니다. 조회 기간을 다시", "C002");
- return false;
- }
- return true;
- }
- /*
- function fPrevMonthSum()
- {
- grd_statslist.subtotalposition="below";
- grd_statslist.multiTotals = true;
- for(var i = 1; i<= grd_statslist.cols; i++)
- {
- grd_statslist.subtotal("sum", -1, i, "#,###", "background-color:#99ff99", 0, "전월합계");
- }
-
- var count = grd_statslist.rows-2;
- var col_no = 18;
- var interval = 16;
- grd_statslist.cellstyle("background-color", 3, col_no, count, col_no + 1) = "#c4ffc4";
- grd_statslist.cellstyle("background-color", 3, (col_no + 1 + interval + 1), count, (col_no + 1 + interval + 1) + 1) = "#c4ffc4";
- grd_statslist.cellstyle("background-color", 3, (col_no*2 + 1 + interval + 1), count, (col_no*2 + 1 + interval + 1 + 1)) = "#c4ffc4";
- }
- */
- /**
- * @ver : 2008-02-27
- * @desc : 그리드에 데이터를 뿌려준 후에 이 함수를 실행하여 전월합계, 현월합계, 증감을 계산하여 보여준다.
- * @
- * @by : 이경희
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCalculateStats()
- {
- var sum = 0;
-
- grd_statslist.multiTotals = true;
- // 전월 합계 row를 추가한다.
- grd_statslist.addRow();
-
- var rows = grd_statslist.rows;
-
- grd_statslist.valueMatrix(grd_statslist.rows-1, 0) = "전월합계";
- for(var i = 2; i < grd_statslist.cols; i++)
- {
- for(var j = 3; j < grd_statslist.rows; j++)
- {
- if ( eval(grd_statslist.valueMatrix(j, i)) > 0 ) {
- sum += eval(grd_statslist.valueMatrix(j, i));
- }
- }
- grd_statslist.valueMatrix(j-1, i) = sum;
- sum = 0;
- }
- // 현월 합계 row를 생성한다.
- grd_statslist.addRow();
- grd_statslist.valueMatrix(grd_statslist.rows-1, 0) = "현월합계";
- for(var i = 2; i < grd_statslist.cols; i++)
- {
- for(var j = 3; j < grd_statslist.rows-2; j++)
- {
- if ( eval(grd_statslist.valueMatrix(j, i)) > 0 ) {
- sum += eval(grd_statslist.valueMatrix(j, i));
- }
- }
- grd_statslist.valueMatrix(j+1, i) = sum;
- sum = 0;
- }
- // 증감을 계산한다.
- grd_statslist.addRow();
- grd_statslist.valueMatrix(grd_statslist.rows-1, 0) = "증감";
- for(var i = 2; i < grd_statslist.cols; i++)
- {
- if (i % 2 != 0) {
- grd_statslist.valueMatrix(grd_statslist.rows-1, i) = grd_statslist.valueMatrix(grd_statslist.rows-2, i) - grd_statslist.valueMatrix(grd_statslist.rows-3, i-1);
- grd_statslist.valueMatrix(grd_statslist.rows-3, i) = grd_statslist.valueMatrix(grd_statslist.rows-3, i-1);
- }
- else
- grd_statslist.valueMatrix(grd_statslist.rows-1, i) = 0;
- }
-
- // 합계 rows 색상 설정
- grd_statslist.rowStyle(grd_statslist.rows-3, "data", "background-color") = "#CCFFCC";
- grd_statslist.rowStyle(grd_statslist.rows-2, "data", "background-color") = "#CCFFCC";
- grd_statslist.rowStyle(grd_statslist.rows-1, "data", "background-color") = "#CCFFCC";
- }
- /**
- * @ver : 2008-02-27
- * @desc : 그리드의 데이터를 엑셀로 저장
- * @
- * @by : 이경희
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function fSaveExcel()
- {
- var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
- if (fileName != "")
- {
- grd_statslist.saveExcel(fileName, "SheetName", true, true, "", "", "false");
- }
-
- }
|