SMMRS01300.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. /**
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 진료 - EMR차트현황 ( SMMRS01030_EMR차트현황.xrw - JScript )
  4. * Version :
  5. - Ver.1.00.01
  6. * 개발자: 이경희
  7. * 최초작성일:
  8. - 2008/02/27
  9. * 수정이력:
  10. - 2008/03/17
  11. * 기타:
  12. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  13. */
  14. /**
  15. * @ver : 2008-02-27
  16. * @desc : 외래환자현황 조회시 입력한 달의 년월일을 변수로 입력받아 인스턴스 변수의
  17. condition_start, condition_end 변수에 값을 할당, DB쿼리의 조건 변수에 사용한다.
  18. * @
  19. * @by : 이경희
  20. * @param: 1) inputString - 입력한 년월일(예: 20080101)
  21. 2) bStart 1 - 조회 시작 월인 경우
  22. 0 - 조회 종료 월인 경우
  23. * @return:
  24. * @---------------------------------------------------
  25. */
  26. function fChangeDate(inputString, bStart)
  27. {
  28. var cutStr = inputString.substr(0,6);
  29. if(bStart)
  30. {
  31. var cond = eval(cutStr.substr(0, 6));
  32. cond += "%";
  33. model.setValue("/root/main/condition_start", cond);
  34. }
  35. else
  36. {
  37. var cond = eval(cutStr.substr(0, 6));
  38. cond += "%";
  39. model.setValue("/root/main/condition_end", cond);
  40. }
  41. }
  42. /**
  43. * @ver : 2008-02-27
  44. * @desc : 외래환자현황 조회시 입력한 달의 년월일을 변수로 입력받아 조건이 올바른지 확인한다.
  45. * @
  46. * @by : 이경희
  47. * @param: 1) StartDate - 조회 시작 년월일
  48. 2) EndDate - 조회 종료 년월일
  49. * @return:
  50. * @---------------------------------------------------
  51. */
  52. function fValidDate(StartDate, EndDate)
  53. {
  54. var dateInterval = eval(getDateInterval(StartDate, EndDate));
  55. if ( dateInterval < 0 )
  56. {
  57. messageBox("조회 기간이 맞지 않습니다. 조회 기간을 다시", "C002");
  58. return false;
  59. }
  60. return true;
  61. }
  62. /*
  63. function fPrevMonthSum()
  64. {
  65. grd_statslist.subtotalposition="below";
  66. grd_statslist.multiTotals = true;
  67. for(var i = 1; i<= grd_statslist.cols; i++)
  68. {
  69. grd_statslist.subtotal("sum", -1, i, "#,###", "background-color:#99ff99", 0, "전월합계");
  70. }
  71. var count = grd_statslist.rows-2;
  72. var col_no = 18;
  73. var interval = 16;
  74. grd_statslist.cellstyle("background-color", 3, col_no, count, col_no + 1) = "#c4ffc4";
  75. grd_statslist.cellstyle("background-color", 3, (col_no + 1 + interval + 1), count, (col_no + 1 + interval + 1) + 1) = "#c4ffc4";
  76. grd_statslist.cellstyle("background-color", 3, (col_no*2 + 1 + interval + 1), count, (col_no*2 + 1 + interval + 1 + 1)) = "#c4ffc4";
  77. }
  78. */
  79. /**
  80. * @ver : 2008-02-27
  81. * @desc : 그리드에 데이터를 뿌려준 후에 이 함수를 실행하여 전월합계, 현월합계, 증감을 계산하여 보여준다.
  82. * @
  83. * @by : 이경희
  84. * @param :
  85. * @return :
  86. * @---------------------------------------------------
  87. */
  88. function fCalculateStats()
  89. {
  90. var sum = 0;
  91. grd_statslist.multiTotals = true;
  92. // 전월 합계 row를 추가한다.
  93. grd_statslist.addRow();
  94. var rows = grd_statslist.rows;
  95. grd_statslist.valueMatrix(grd_statslist.rows-1, 0) = "전월합계";
  96. for(var i = 2; i < grd_statslist.cols; i++)
  97. {
  98. for(var j = 3; j < grd_statslist.rows; j++)
  99. {
  100. if ( eval(grd_statslist.valueMatrix(j, i)) > 0 ) {
  101. sum += eval(grd_statslist.valueMatrix(j, i));
  102. }
  103. }
  104. grd_statslist.valueMatrix(j-1, i) = sum;
  105. sum = 0;
  106. }
  107. // 현월 합계 row를 생성한다.
  108. grd_statslist.addRow();
  109. grd_statslist.valueMatrix(grd_statslist.rows-1, 0) = "현월합계";
  110. for(var i = 2; i < grd_statslist.cols; i++)
  111. {
  112. for(var j = 3; j < grd_statslist.rows-2; j++)
  113. {
  114. if ( eval(grd_statslist.valueMatrix(j, i)) > 0 ) {
  115. sum += eval(grd_statslist.valueMatrix(j, i));
  116. }
  117. }
  118. grd_statslist.valueMatrix(j+1, i) = sum;
  119. sum = 0;
  120. }
  121. // 증감을 계산한다.
  122. grd_statslist.addRow();
  123. grd_statslist.valueMatrix(grd_statslist.rows-1, 0) = "증감";
  124. for(var i = 2; i < grd_statslist.cols; i++)
  125. {
  126. if (i % 2 != 0) {
  127. 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);
  128. grd_statslist.valueMatrix(grd_statslist.rows-3, i) = grd_statslist.valueMatrix(grd_statslist.rows-3, i-1);
  129. }
  130. else
  131. grd_statslist.valueMatrix(grd_statslist.rows-1, i) = 0;
  132. }
  133. // 합계 rows 색상 설정
  134. grd_statslist.rowStyle(grd_statslist.rows-3, "data", "background-color") = "#CCFFCC";
  135. grd_statslist.rowStyle(grd_statslist.rows-2, "data", "background-color") = "#CCFFCC";
  136. grd_statslist.rowStyle(grd_statslist.rows-1, "data", "background-color") = "#CCFFCC";
  137. }
  138. /**
  139. * @ver : 2008-02-27
  140. * @desc : 그리드의 데이터를 엑셀로 저장
  141. * @
  142. * @by : 이경희
  143. * @param:
  144. * @return:
  145. * @---------------------------------------------------
  146. */
  147. function fSaveExcel()
  148. {
  149. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  150. if (fileName != "")
  151. {
  152. grd_statslist.saveExcel(fileName, "SheetName", true, true, "", "", "false");
  153. }
  154. }