123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- /**
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 진료 - 외래환자현황 ( SMMRS01000_외래환자현황.xrw - JScript )
-
- * Version :
- - Ver.1.00.01
-
- * 개발자: 이경희
-
- * 최초작성일:
- - 2008/02/27
-
- * 수정이력:
- - 2008/03/17
-
- * 기타:
-
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- /**
- * @ver : 2008-02-27
- * @desc : 폼 초기화
- * @
- * @by
- * @param:
- * @return:
- * @---------------------------------------------------
- */
- function finitialize()
- {
- var currentDate = new Date();
-
- var fromdd = getCurrentDate();
-
- // 현재달의 첫번째 일 구하기
- fromdd = fromdd.substr(0,6) + "01";
-
- // 현재달에서 이전달의 첫번째 일로 설정
- fromdd = ((fromdd.toDate()).getAddDate(-1, "M")).getDateFormat();
-
- // 현재달의 마지막일자 설정
- var lastMonthDay = currentDate.getMonthDay(); // 해당 월의 마지막 일
-
- var curDate = getCurrentDate();
- var todd = curDate.substr(0,6) + lastMonthDay;
-
- model.setValue("/root/main/fromdd", fromdd);
- model.setValue("/root/main/todd", todd);
- 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-6; i++)
- {
- if (i % 2 == 0)
- {
- grd_statslist.colHidden(i) = true;
- }
- }
- model.refresh();
- }
- /**
- * @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 += "%";
- model.setValue("/root/main/condition_start", cond);
- }
- else
- {
- var cond = eval(cutStr.substr(0, 6));
- cond += "%";
- 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;
- }
-
- /**
- * @ver : 2008-02-27
- * @desc : 그리드에 컬럼을 추가하여 전월합계, 현월합계, 증감을 계산한다.
- * @
- * @by : 이경희
- * @param: None
- * @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");
- }
- }
-
|