SMLMS00200_미생물통계.xrw 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLLS01100_부서별통계.xrw
  4. * 설 명 : 부서별통계
  5. * 설 계 자 : (주)에이씨케이 - 윤재한
  6. * 작 성 자 : (주)에이씨케이 -
  7. * 작 성 일 : 2008.04.18
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  12. <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">
  13. <xhtml:head>
  14. <xhtml:title>부서별 통계</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <ddstats/>
  20. <yystats/>
  21. <totalstats/>
  22. <mmstats/>
  23. <totalcnts>
  24. <totaltest/>
  25. <totalbcno/>
  26. <totalpid/>
  27. <totalblood/>
  28. <totaltranspid/>
  29. </totalcnts>
  30. </main>
  31. <send/>
  32. <init>
  33. </init>
  34. <hidden>
  35. <statshopefromdd/>
  36. <statshopetodd/>
  37. <ioflag>0</ioflag>
  38. <sectcd/>
  39. <workgbn>A</workgbn>
  40. <cntgbn>T</cntgbn>
  41. <itemgbn/>
  42. <ddstandard>1</ddstandard>
  43. </hidden>
  44. </root>
  45. </instance>
  46. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  47. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  48. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  49. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  50. <script type="javascript" src="../../../lis/commonweb/js/LLZ001.js"/>
  51. <script type="javascript" ev:event="xforms-ready">
  52. <![CDATA[
  53. fSetInit(); //초기화 함수 호출
  54. ]]>
  55. </script>
  56. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init"/>
  57. <submission id="TRLMS00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/ddstats"/>
  58. <submission id="TRLMS00203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/mmstats"/>
  59. <submission id="TRLMS00204" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/yystats"/>
  60. <submission id="TRLMS00205" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/totalcnts"/>
  61. </model>
  62. <script type="javascript">
  63. <![CDATA[
  64. //화면 open시 초기화
  65. function fSetInit() {
  66. fBaseInfoRef("0111|"); //0111 : 계코드
  67. var toDay = getCurrentDate();
  68. model.setValue("/root/hidden/sectcd", "00"); //부서를 전체로 놓는다.
  69. model.setValue("/root/hidden/ioflag", "0"); //입원/외래구분을 전체로 놓는다.
  70. model.setValue("/root/hidden/statshopefromdd", toDay); //통계희망시작일 = 현재일자
  71. model.setValue("/root/hidden/statshopetodd", toDay); //통계희망종료일 = 현재일자
  72. caption9.visible = false;
  73. ipt_workfromdd.attribute("format") = "yyyy-mm";
  74. ipt_worktodd.visible = false;
  75. //그리드초기화
  76. model.removeNodeset("/root/main/ddstats"); //일별
  77. model.removeNodeset("/root/main/mmstats"); //월별
  78. model.resetInstanceNode("/root/main/yystats"); //연별
  79. btn_ddstats.selected = true; // 일별 switch 버튼 선택
  80. model.toggle("dd");
  81. model.refresh();
  82. //model.makeValue("/root/hidden/sectnm", combo1.label.substr(4).getTrim()); //Report에 표시할 부서명
  83. //makeReportPreview(0, 0, 1193, 636,"임시");
  84. //exeReportPreview("RPLLS02200", "XMLSTR", "", "", "", "", "", "", "", "", "", "임시");//Rexpert 크로스탭
  85. model.refresh();
  86. }
  87. //switch 버튼 클릭시 그리드 초기화 2008-12-12
  88. function fGridInit() {
  89. // model.removeNodeset("/root/main/ddstats"); //일별
  90. // model.removeNodeset("/root/main/mmstats"); //월별
  91. // model.resetInstanceNode("/root/main/yystats"); //연별
  92. //var cols = grd_yy.cols-grd_yy.fixedCols;
  93. //for( var i = 0; i < cols; i++ ) {
  94. // grd_yy.removeColumn(); //연별 그리드 컬럼 다 지우기.. 지우지 않으면 그리드 형태가 유지되어 다른 통계 조회후 연별 통계시 그리드 옆에 이어져 조회됨.
  95. //}
  96. /*
  97. //if(button1.selected == true) {
  98. if(model.getValue("/root/hidden/sectcd") != "U") {
  99. //exeReportPreview("RPLBP00200", "XMLFILE", "", "", "", "", "", "", "", "", "", "임시");
  100. //model.makeValue("/root/hidden/sectnm", combo1.label.substr(4).getTrim()); //Report에 표시할 부서명
  101. //exeReportPreview("RPLLS02200", "XMLSTR", "", "", "", "", "", "", "", "", "", "임시");//Rexpert 크로스탭
  102. //model.toggle("임시"); //초기시 일별그리드 표시
  103. model.toggle("dd"); //초기시 일별그리드 표시
  104. //button1.selected = true; //일별switch 버튼 선택
  105. btn_ddstats.selected = true; //일별switch 버튼 선택
  106. } else {
  107. model.toggle("dd"); //초기시 일별그리드 표시
  108. btn_ddstats.selected = true; //일별switch 버튼 선택
  109. }
  110. */
  111. if(btn_ddstats.selected == true){
  112. model.toggle("dd");
  113. btn_ddstats.selected = true; //일별switch 버튼 선택
  114. btn_mmstats.selected = false; //월별switch 버튼 선택
  115. btn_yystats.selected = false; //연별switch 버튼 선택
  116. caption9.visible = false;
  117. model.setValue("/root/hidden/statshopefromdd", getCurrentDate().substr(0, 6));
  118. ipt_workfromdd.attribute("format") = "yyyy-mm";
  119. ipt_worktodd.visible = false;
  120. }else if(btn_mmstats.selected == true){
  121. model.toggle("mm");
  122. btn_ddstats.selected = false; //월별switch 버튼 선택
  123. btn_mmstats.selected = true; //일별switch 버튼 선택
  124. btn_yystats.selected = false; //연별switch 버튼 선택
  125. caption9.visible = false;
  126. model.setValue("/root/hidden/statshopefromdd", getCurrentDate().substr(0, 6));
  127. ipt_workfromdd.attribute("format") = "yyyy-mm";
  128. ipt_worktodd.visible = false;
  129. }else if(btn_yystats.selected == true){
  130. model.toggle("yy");
  131. btn_ddstats.selected = false; //일별switch 버튼 선택
  132. btn_mmstats.selected = false; //월별switch 버튼 선택
  133. btn_yystats.selected = true; //연별switch 버튼 선택
  134. fSetyytitle();
  135. }
  136. model.refresh();
  137. }
  138. // 연도별 선택시 타이틀 설정
  139. function fSetyytitle(){
  140. model.setValue("/root/hidden/statshopefromdd", getCurrentDate().substr(0, 4));
  141. model.setValue("/root/hidden/statshopetodd", getCurrentDate().substr(0, 4));
  142. grd_yy.colWidth(4) = 80;
  143. for(i = 5; i<= grd_yy.cols;i++){
  144. grd_yy.colHidden(i) = true;
  145. }
  146. caption9.visible = true;
  147. ipt_workfromdd.attribute("format") = "yyyy";
  148. ipt_worktodd.visible = true;
  149. ipt_worktodd.attribute("format") = "yyyy";
  150. grd_yy.caption = "부서^검사항목^Total^"+ model.getValue("/root/hidden/statshopefromdd");
  151. }
  152. //통계희망일, 검사시행부서, 장비, 조회구분(일,월,연) 에 따른 조회 --- 2008-12-12
  153. function fGetStats() {
  154. model.resetInstanceNode("/root/main/totalstats2");
  155. model.resetInstanceNode("/root/main/totalstats3");
  156. ///model.removeNodeset("/root/main/totalstats"); //통계조회
  157. model.makeValue("/root/send/sectcd", model.getValue("/root/hidden/sectcd")); //계코드 부서콤보
  158. model.makeValue("/root/send/workgbn", model.getValue("/root/hidden/workgbn")); //근무구분 Ο주간 Ο야간 ΟAll
  159. model.makeValue("/root/send/cntgbn", model.getValue("/root/hidden/cntgbn")); //건수구분 Ο검사T Ο환자P
  160. model.makeValue("/root/send/itemgbn", model.getValue("/root/hidden/itemgbn")); //검사항목제외
  161. model.makeValue("/root/send/ioflag", model.getValue("/root/hidden/ioflag")); //입원/외래구분 I, O, E, S
  162. model.makeValue("/root/send/statshopefromdd", model.getValue("/root/hidden/statshopefromdd")); //통계희망시작일
  163. model.makeValue("/root/send/statshopetodd", model.getValue("/root/hidden/statshopetodd")); //통계희망종료일
  164. model.makeValue("/root/send/ddstandard", model.getValue("/root/hidden/ddstandard")); //통계기준일 1= 접수일 2=보고일
  165. if(btn_ddstats.selected == true) {
  166. model.makeValue("/root/send/refflag", "dd"); //일월연구분
  167. submit("TRLMS00201");
  168. grd_dd.rebuildStyle();
  169. if(model.getValue("/root/hidden/itemgbn")!= "Y"){
  170. setRowStyle("grd_dd", "2", "소계", "tclsscrnnm", "equal"); //소계 색변경
  171. }
  172. setRowStyle("grd_dd", "11", "부서계", "tclsscrnnm", "equal"); //부서별합계 색변경
  173. setRowStyle("grd_dd", "11", "부서합계", "tclsscrnnm", "equal"); //부서별합계 색변경
  174. setRowStyle("grd_dd", "3", "합계", "tclsscrnnm", "equal"); //총합계 색변경 에메랄드색
  175. }else if(btn_mmstats.selected == true){
  176. model.makeValue("/root/send/refflag", "mm"); //일월연구분
  177. submit("TRLMS00203");
  178. grd_mm.rebuildStyle();
  179. if(model.getValue("/root/hidden/itemgbn")!= "Y"){
  180. setRowStyle("grd_mm", "2", "소계", "tclsscrnnm", "equal"); //소계 색변경
  181. }
  182. setRowStyle("grd_mm", "11", "부서계", "tclsscrnnm", "equal"); //부서별합계 색변경
  183. setRowStyle("grd_mm", "11", "부서합계", "tclsscrnnm", "equal"); //부서별합계 색변경
  184. setRowStyle("grd_mm", "3", "합계", "tclsscrnnm", "equal"); //총합계 색변경 에메랄드색
  185. } else {
  186. //submit("TRLLS01102");
  187. //exeReportPreview("RPLLS02200", "XMLSTR", "", "", "", "", "", "", "", "", "", "임시");//Rexpert 크로스탭
  188. fSetyygrid();
  189. model.makeValue("/root/send/refflag", "yy"); //일월연구분
  190. submit("TRLMS00204");
  191. grd_yy.rebuildStyle();
  192. if(model.getValue("/root/hidden/itemgbn")!= "Y"){
  193. setRowStyle("grd_yy", "2", "소계", "tclsscrnnm", "equal"); //소계 색변경
  194. }
  195. setRowStyle("grd_yy", "11", "부서계", "tclsscrnnm", "equal"); //부서별합계 색변경
  196. setRowStyle("grd_yy", "11", "부서합계", "tclsscrnnm", "equal"); //부서별합계 색변경
  197. setRowStyle("grd_yy", "3", "합계", "tclsscrnnm", "equal"); //총합계 색변경 에메랄드색
  198. }
  199. model.resetInstanceNode("/root/send");
  200. model.resetInstanceNode("/root/main/totalcnts");
  201. }
  202. // 연별조회시 그리드 타이틀 설정 2008-12-12
  203. function fSetyygrid(){
  204. for(j = 5; j<= grd_yy.cols; j++){
  205. grd_yy.colHidden(j) = true;
  206. }
  207. var sdd = model.getValue("/root/hidden/statshopefromdd");
  208. var edd = model.getValue("/root/hidden/statshopetodd");
  209. var ddcnt = parseInt(edd) - parseInt(sdd);
  210. var aa = "부서^코드^검사항목^Total";
  211. var zz = 0;
  212. for(i = 5; i< (ddcnt+5); i++){
  213. grd_yy.colHidden(i) = false;
  214. aa += "^" + (parseInt(sdd) + parseInt(zz));
  215. zz ++;
  216. }
  217. grd_yy.caption = aa + "^" + edd;
  218. }
  219. // 그리드 선택시 총검사건수, 총바코드수, 총환자수, 총수혈건수, 총수혈환자수 조회 2008-12-12
  220. function fGetSelectTotacnts(){
  221. if(btn_ddstats.selected == true){ // 일별 8자리
  222. model.makeValue("/root/send/refdd", model.getValue("/root/hidden/statshopefromdd").substr(0,6) + grd_dd.valueMatrix(0, grd_dd.col));
  223. model.makeValue("/root/send/refflag", "dd");
  224. }else if(btn_mmstats.selected == true){ // 월별 6자리
  225. model.makeValue("/root/send/refdd", model.getValue("/root/hidden/statshopefromdd").substr(0,4) + grd_mm.valueMatrix(0, grd_mm.col));
  226. model.makeValue("/root/send/refflag", "mm");
  227. }else if(btn_yystats.selected == true){ // 연별 4자리
  228. model.makeValue("/root/send/refdd", grd_yy.valueMatrix(0, grd_yy.col));
  229. model.makeValue("/root/send/refflag", "yy");
  230. }
  231. model.makeValue("/root/send/sectcd", model.getValue("/root/hidden/sectcd")); //계코드 부서콤보
  232. model.makeValue("/root/send/workgbn", model.getValue("/root/hidden/workgbn")); //근무구분 Ο주간 Ο야간 ΟAll
  233. model.makeValue("/root/send/cntgbn", model.getValue("/root/hidden/cntgbn")); //건수구분 Ο검사T Ο환자P
  234. model.makeValue("/root/send/itemgbn", model.getValue("/root/hidden/itemgbn")); //검사항목제외
  235. model.makeValue("/root/send/ioflag", model.getValue("/root/hidden/ioflag")); //입원/외래구분 I, O, E, S
  236. model.makeValue("/root/send/ddstandard", model.getValue("/root/hidden/ddstandard")); //통계기준일 1= 접수일 2=보고일
  237. submit("TRLLS01105");
  238. }
  239. //연별 통계 조회
  240. function fGetYYStats() {
  241. var cols = grd_yy.cols-grd_yy.fixedCols;
  242. var rows = grd_yy.rows-grd_yy.fixedRows;
  243. for( var i = 0; i < cols; i++ ) {
  244. grd_yy.removeColumn(false); //연별 그리드 컬럼 다 지우기..지우지 않으면 그리드 형태가 유지되어 그리드 옆에 이어져 조회됨.
  245. }
  246. model.removeNodeset("/root/main/yystats"); //연별그리드 초기화
  247. model.makeNode("/root/main/yystats/row");
  248. model.makeValue("/root/send/sectcd", model.getValue("/root/hidden/sectcd")); //계코드
  249. model.makeValue("/root/send/testeqmtcd", model.getValue("/root/hidden/testeqmtcd")); //장비코드
  250. model.makeValue("/root/send/statshopefromdd", model.getValue("/root/hidden/statshopefromdd")); //통계희망시작일
  251. model.makeValue("/root/send/statshopetodd", model.getValue("/root/hidden/statshopetodd")); //통계희망종료일
  252. submit("TRLLS00802"); //통계조회
  253. model.removeNodeset("/root/send");
  254. model.makeNode("/root/send");
  255. //caption 정보
  256. var gridCaption = model.getValue("/root/hidden/yystats/header/caption");
  257. if(gridCaption == "") return;
  258. //ref 정보
  259. var gridColRef = model.getValue("/root/hidden/yystats/header/colref");
  260. var gridColRefArray = gridColRef.split("^");
  261. //type 정보
  262. var gridColType = model.getValue("/root/hidden/yystats/header/type");
  263. var gridColTypeArray = gridColType.split("^");
  264. for( var i = 0; i < gridColRefArray.length; i++ ) {
  265. if(i == 0) {
  266. grd_yy.addColumn("ref:" + gridColRefArray[i] + "; type:"+gridColTypeArray[i]+"; style:text-align:left; ", false); //Grid 속성 지정
  267. } else {
  268. grd_yy.addColumn("ref:" + gridColRefArray[i] + "; type:"+gridColTypeArray[i]+"; format:#,###; ", false); //Grid 속성 지정
  269. }
  270. }
  271. grd_yy.colWidth(1) = 150; //검사항목 Column은 폭이 달라서 따로 지정.
  272. for( i = 2; i < grd_yy.cols; i++ ) {
  273. grd_yy.colWidth(i) = 60; //Column 폭 조정
  274. }
  275. grd_yy.caption = gridCaption; //Caption 지정
  276. var node = instance1.selectSingleNode("/root/main");
  277. node.replaceChild(instance1.root.hidden.yystats, instance1.root.main.yystats); //조회하고 수정한 사항을 main에 보냄
  278. grd_yy.rowheight(0) = 23; //Title 높이 조정
  279. model.refresh();
  280. fGetTotal(); //연도별 Total 계산
  281. }
  282. //연도별 통계 Total계산
  283. function fGetTotal() {
  284. //Column 합계
  285. for(r = 1; r < grd_yy.rows; r++) {
  286. colsum = 0;
  287. for(i = 2; i < grd_yy.cols - 1; i++) {
  288. if(grd_yy.textmatrix(r, i) != "") {
  289. colsum += parseInt(grd_yy.textmatrix(r, i));
  290. }
  291. }
  292. model.setValue("/root/main/yystats/row["+ r +"]/total", colsum);
  293. }
  294. //Row 합계
  295. grd_yy.addRow();
  296. model.refresh();
  297. grd_yy.textmatrix(grd_yy.rows-1, 1) = "Total";
  298. for(i = 2; i < grd_yy.cols; i++) {
  299. rowsum = 0;
  300. for(r = 1; r < grd_yy.rows-1; r++) {
  301. if(grd_yy.textmatrix(r, i) != "") {
  302. rowsum += parseInt(grd_yy.textmatrix(r, i));
  303. }
  304. }
  305. grd_yy.textmatrix(grd_yy.rows-1, i) = rowsum;
  306. }
  307. }
  308. //엑셀저장 2008-12-12
  309. function fExeSaveToExcel() {
  310. if(btn_ddstats.selected == true) { //일별
  311. fSaveExcel("grd_dd");
  312. } else if(btn_mmstats.selected == true) { //월별
  313. fSaveExcel("grd_mm");
  314. } else if(btn_yystats.selected == true) { //연별
  315. fSaveExcel("grd_yy");
  316. }
  317. }
  318. //통계그리드를 출력한다.
  319. function fPrint() {
  320. if(btn_ddstats.selected == true) { //일별
  321. exeReportPreview("RPLLS02300");
  322. } else if(btn_mmstats.selected == true) { //월별
  323. exeReportPreview("RPLLS01100");
  324. } else if(btn_yystats.selected == true) { //연별
  325. exeReportPreview("RPLLS01300");
  326. }
  327. }
  328. // 이미 조회해온 총 검사건수 골라서 뿌려주기
  329. function fGetTotalcntsetting(){
  330. var stsdy = model.getValue("/root/hidden/statshopefromdd").substr(0,4);
  331. if(btn_ddstats.selected == true) {
  332. var col = grd_dd.valueMatrix(0, grd_dd.col);
  333. var stsdm = model.getValue("/root/hidden/statshopefromdd").substr(4,2);
  334. model.setValue("/root/main/totalcnts/totaltest", model.getValue("/root/main/totalstats2[stsdy=" + stsdy + " and stsdm= " + stsdm + " and stsdd=" + col + "]/test"));
  335. model.setValue("/root/main/totalcnts/totalbcno", model.getValue("/root/main/totalstats2[stsdy=" + stsdy + " and stsdm= " + stsdm + " and stsdd=" + col + "]/bcno"));
  336. model.setValue("/root/main/totalcnts/totalpid", model.getValue("/root/main/totalstats2[stsdy=" + stsdy + " and stsdm= " + stsdm + " and stsdd=" + col + "]/pid"));
  337. model.setValue("/root/main/totalcnts/totalblood", model.getValue("/root/main/totalstats3[stsdy=" + stsdy + " and stsdm= " + stsdm + " and stsdd=" + col + "]/btest"));
  338. model.setValue("/root/main/totalcnts/totaltranspid", model.getValue("/root/main/totalstats3[stsdy=" + stsdy + " and stsdm= " + stsdm + " and stsdd=" + col + "]/bpid"));
  339. }else if(btn_mmstats.selected == true) {
  340. var col = grd_mm.valueMatrix(0, grd_mm.col);
  341. model.setValue("/root/main/totalcnts/totaltest", model.getValue("/root/main/totalstats2[stsdy=" + stsdy + " and stsdm= " + col + "]/test"));
  342. model.setValue("/root/main/totalcnts/totalbcno", model.getValue("/root/main/totalstats2[stsdy=" + stsdy + " and stsdm= " + col + "]/bcno"));
  343. model.setValue("/root/main/totalcnts/totalpid", model.getValue("/root/main/totalstats2[stsdy=" + stsdy + " and stsdm= " + col + "]/pid"));
  344. model.setValue("/root/main/totalcnts/totalblood", model.getValue("/root/main/totalstats3[stsdy=" + stsdy + " and stsdm= " + col + "]/btest"));
  345. model.setValue("/root/main/totalcnts/totaltranspid", model.getValue("/root/main/totalstats3[stsdy=" + stsdy + " and stsdm= " + col + "]/bpid"));
  346. }else if(btn_yystats.selected == true) {
  347. var col = grd_yy.valueMatrix(0, grd_yy.col);
  348. model.setValue("/root/main/totalcnts/totaltest", model.getValue("/root/main/totalstats2[stsdy=" + col + "]/test"));
  349. model.setValue("/root/main/totalcnts/totalbcno", model.getValue("/root/main/totalstats2[stsdy=" + col + "]/bcno"));
  350. model.setValue("/root/main/totalcnts/totalpid", model.getValue("/root/main/totalstats2[stsdy=" + col + "]/pid"));
  351. model.setValue("/root/main/totalcnts/totalblood", model.getValue("/root/main/totalstats3[stsdy=" + col + "]/btest"));
  352. model.setValue("/root/main/totalcnts/totaltranspid", model.getValue("/root/main/totalstats3[stsdy=" + col + "]/bpid"));
  353. }
  354. model.refresh();
  355. }
  356. ]]>
  357. </script>
  358. </xhtml:head>
  359. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  360. <group id="group3" scroll="auto" style="left:0px; top:40px; width:1195px; height:744; ">
  361. <group id="group1" style="left:0px; top:10px; width:1195px; height:60px; ">
  362. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1195px; height:60px; "/>
  363. <button id="btn_ref" class="btn1_letter2" style="left:1123px; top:7px; width:56px; height:22px; ">
  364. <caption>조회</caption>
  365. <script type="javascript" ev:event="DOMActivate">
  366. <![CDATA[
  367. if(btn_yystats.selected == true){
  368. var fromdd = parseInt(model.getValue("/root/hidden/statshopefromdd").substr(0,4));
  369. var todd = parseInt(model.getValue("/root/hidden/statshopetodd").substr(0,4));
  370. if(todd - fromdd >9 ){
  371. alert("10년 이내로 조회 가능합니다\n조회기간을 다시 선택하세요");
  372. return;
  373. }
  374. if(fromdd > todd){
  375. alert("통계 희망일 시작시간이 종료시간보다 작아야 합니다. ");
  376. return;
  377. }
  378. }
  379. fGetStats();
  380. ]]>
  381. </script>
  382. </button>
  383. <line id="line3" class="line_4" style="x1:1108px; y1:6px; x2:1108px; y2:28px; "/>
  384. <input id="ipt_workfromdd" ref="/root/hidden/statshopefromdd" class="input_search" inputtype="date" style="left:133px; top:8px; width:70px; height:19px; "/>
  385. <input id="ipt_worktodd" ref="/root/hidden/statshopetodd" class="input_search" visibility="hidden" inputtype="date" style="left:218px; top:8px; width:70px; height:19px; "/>
  386. <caption id="caption4" class="search_name" style="left:20px; top:9px; width:110px; height:17px; ">통계 희망일 :</caption>
  387. <caption id="caption9" class="search_no_b" visibility="hidden" style="left:205px; top:8px; width:13px; height:17px; ">~</caption>
  388. <select1 id="combo1" ref="/root/hidden/sectcd" visibility="hidden" appearance="minimal" style="left:880px; top:34px; width:122px; height:19px; ">
  389. <choices>
  390. <itemset nodeset="/root/init/LB0111">
  391. <label ref="nm"/>
  392. <value ref="cd"/>
  393. </itemset>
  394. </choices>
  395. <script type="javascript" ev:event="xforms-value-changed">
  396. <![CDATA[
  397. fGridInit();
  398. ]]>
  399. </script>
  400. </select1>
  401. <caption id="caption1" class="search_name" visibility="hidden" style="left:815px; top:35px; width:62px; height:17px; ">부서 :</caption>
  402. <select1 id="radio1" ref="/root/hidden/workgbn" visibility="hidden" overflow="visible" appearance="full" cellspacing="10" cols="3" style="left:945px; top:10px; width:145px; height:20px; border-style:none; ">
  403. <choices>
  404. <item>
  405. <label>주간</label>
  406. <value>D</value>
  407. </item>
  408. <item>
  409. <label>야간</label>
  410. <value>N</value>
  411. </item>
  412. <item>
  413. <label>All</label>
  414. <value>A</value>
  415. </item>
  416. </choices>
  417. </select1>
  418. <select1 id="radio2" ref="/root/hidden/cntgbn" overflow="visible" appearance="full" cellspacing="10" cols="3" style="left:665px; top:10px; width:170px; height:20px; border-style:none; ">
  419. <choices>
  420. <item>
  421. <label>검사</label>
  422. <value>T</value>
  423. </item>
  424. <item>
  425. <label>환자</label>
  426. <value>P</value>
  427. </item>
  428. <item>
  429. <label>검체</label>
  430. <value>B</value>
  431. </item>
  432. </choices>
  433. </select1>
  434. <caption id="caption3" visibility="hidden" style="left:925px; top:10px; width:15px; height:20px; ">|</caption>
  435. <select id="checkbox1" ref="/root/hidden/itemgbn" visibility="hidden" overflow="visible" appearance="full" style="left:235px; top:36px; width:100px; height:20px; border-style:none; ">
  436. <choices>
  437. <item>
  438. <label>검사항목 제외</label>
  439. <value>Y</value>
  440. </item>
  441. </choices>
  442. </select>
  443. <caption id="caption12" class="search_name" visibility="hidden" style="left:500px; top:35px; width:110px; height:17px; ">.... :</caption>
  444. <caption id="caption13" class="search_name" visibility="hidden" style="left:595px; top:35px; width:99px; height:17px; ">통계기준일 :</caption>
  445. <select1 id="combo2" ref="/root/hidden/ddstandard" visibility="hidden" appearance="minimal" style="left:700px; top:34px; width:92px; height:19px; ">
  446. <choices>
  447. <item>
  448. <label>보고일</label>
  449. <value>1</value>
  450. </item>
  451. <item>
  452. <label>접수일</label>
  453. <value>2</value>
  454. </item>
  455. </choices>
  456. <script type="javascript" ev:event="xforms-value-changed">
  457. <![CDATA[
  458. fGridInit();
  459. ]]>
  460. </script>
  461. </select1>
  462. <select1 id="cmb_rtnabnflag" ref="/root/hidden/ioflag" visibility="hidden" appearance="minimal" style="left:119px; top:34px; width:93px; height:19px; ">
  463. <choices>
  464. <item>
  465. <label>- 전 체 -</label>
  466. <value>0</value>
  467. </item>
  468. <item>
  469. <label>입원</label>
  470. <value>I</value>
  471. </item>
  472. <item>
  473. <label>외래</label>
  474. <value>O</value>
  475. </item>
  476. <item>
  477. <label>응급</label>
  478. <value>E</value>
  479. </item>
  480. <item>
  481. <label>건진</label>
  482. <value>S</value>
  483. </item>
  484. </choices>
  485. </select1>
  486. <caption id="caption5" class="search_name" visibility="hidden" style="left:15px; top:35px; width:94px; height:17px; ">입원/외래 :</caption>
  487. <caption id="caption2" class="search_name" style="left:594px; top:9px; width:63px; height:17px; ">구분 :</caption>
  488. </group>
  489. <switch id="swt_statflag" class="sw_box" style="left:0px; top:100px; width:1195px; height:642px; ">
  490. <case id="dd" selected="true">
  491. <datagrid id="grd_dd" nodeset="/root/main/ddstats" caption="부서^코드^검사항목^Total^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" colsep="^" colwidth="0, 60, 300, 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" dataheight="23" frozencols="3" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" selectionmode="bycol" style="left:0px; top:0px; width:1190px; height:636px; text-align:center; ">
  492. <col ref="sectnm"/>
  493. <col ref="tclscd" style="text-align:left; "/>
  494. <col ref="tclsscrnnm" style="text-align:left; "/>
  495. <col ref="total" format="#,###" style="text-align:right; background-color:#ffe79d; "/>
  496. <col ref="d01" format="#,###" style="text-align:right; "/>
  497. <col ref="d02" format="#,###" style="text-align:right; "/>
  498. <col ref="d03" format="#,###" style="text-align:right; "/>
  499. <col ref="d04" format="#,###" style="text-align:right; "/>
  500. <col ref="d05" format="#,###" style="text-align:right; "/>
  501. <col ref="d06" format="#,###" style="text-align:right; "/>
  502. <col ref="d07" format="#,###" style="text-align:right; "/>
  503. <col ref="d08" format="#,###" style="text-align:right; "/>
  504. <col ref="d09" format="#,###" style="text-align:right; "/>
  505. <col ref="d10" format="#,###" style="text-align:right; "/>
  506. <col ref="d11" format="#,###" style="text-align:right; "/>
  507. <col ref="d12" format="#,###" style="text-align:right; "/>
  508. <col ref="d13" format="#,###" style="text-align:right; "/>
  509. <col ref="d14" format="#,###" style="text-align:right; "/>
  510. <col ref="d15" format="#,###" style="text-align:right; "/>
  511. <col ref="d16" format="#,###" style="text-align:right; "/>
  512. <col ref="d17" format="#,###" style="text-align:right; "/>
  513. <col ref="d18" format="#,###" style="text-align:right; "/>
  514. <col ref="d19" format="#,###" style="text-align:right; "/>
  515. <col ref="d20" format="#,###" style="text-align:right; "/>
  516. <col ref="d21" format="#,###" style="text-align:right; "/>
  517. <col ref="d22" format="#,###" style="text-align:right; "/>
  518. <col ref="d23" format="#,###" style="text-align:right; "/>
  519. <col ref="d24" format="#,###" style="text-align:right; "/>
  520. <col ref="d25" format="#,###" style="text-align:right; "/>
  521. <col ref="d26" format="#,###" style="text-align:right; "/>
  522. <col ref="d27" format="#,###" style="text-align:right; "/>
  523. <col ref="d28" format="#,###" style="text-align:right; "/>
  524. <col ref="d29" format="#,###" style="text-align:right; "/>
  525. <col ref="d30" format="#,###" style="text-align:right; "/>
  526. <col ref="d31" format="#,###" style="text-align:right; "/>
  527. </datagrid>
  528. </case>
  529. <case id="mm">
  530. <datagrid id="grd_mm" nodeset="/root/main/mmstats" caption="부서^코드^검사항목^Total^01^02^03^04^05^06^07^08^09^10^11^12" colsep="^" colwidth="0, 60, 300, 80, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60" dataheight="23" frozencols="3" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" selectionmode="bycol" style="left:0px; top:0px; width:1190px; height:636px; text-align:center; ">
  531. <col ref="sectnm"/>
  532. <col ref="tclscd" style="text-align:left; "/>
  533. <col ref="tclsscrnnm" style="text-align:left; "/>
  534. <col ref="total" format="#,###" style="text-align:right; background-color:#ffe79d; "/>
  535. <col ref="d01" format="#,###" style="text-align:right; "/>
  536. <col ref="d02" format="#,###" style="text-align:right; "/>
  537. <col ref="d03" format="#,###" style="text-align:right; "/>
  538. <col ref="d04" format="#,###" style="text-align:right; "/>
  539. <col ref="d05" format="#,###" style="text-align:right; "/>
  540. <col ref="d06" format="#,###" style="text-align:right; "/>
  541. <col ref="d07" format="#,###" style="text-align:right; "/>
  542. <col ref="d08" format="#,###" style="text-align:right; "/>
  543. <col ref="d09" format="#,###" style="text-align:right; "/>
  544. <col ref="d10" format="#,###" style="text-align:right; "/>
  545. <col ref="d11" format="#,###" style="text-align:right; "/>
  546. <col ref="d12" format="#,###" style="text-align:right; "/>
  547. </datagrid>
  548. </case>
  549. <case id="yy">
  550. <datagrid id="grd_yy" nodeset="/root/main/yystats" caption="^^^^^^^^^^^^^" colsep="^" colwidth="0, 60, 300, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80" frozencols="3" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" selectionmode="bycol" style="left:0px; top:0px; width:1185px; height:636px; ">
  551. <col ref="sectnm"/>
  552. <col ref="tclscd" style="text-align:left; "/>
  553. <col ref="tclsscrnnm"/>
  554. <col ref="total" format="#,###" style="text-align:right; background-color:#ffe79d; "/>
  555. <col ref="d01" format="#,###" style="text-align:right; "/>
  556. <col ref="d02" format="#,###" style="text-align:right; "/>
  557. <col ref="d03" format="#,###" style="text-align:right; "/>
  558. <col ref="d04" format="#,###" style="text-align:right; "/>
  559. <col ref="d05" format="#,###" style="text-align:right; "/>
  560. <col ref="d06" format="#,###" style="text-align:right; "/>
  561. <col ref="d07" format="#,###" style="text-align:right; "/>
  562. <col ref="d08" format="#,###" style="text-align:right; "/>
  563. <col ref="d09" format="#,###"/>
  564. <col ref="d10" format="#,###" style="text-align:right; "/>
  565. </datagrid>
  566. </case>
  567. <case id="임시"/>
  568. </switch>
  569. <button id="btn_mmstats" class="btn_sw" visibility="visible" group="tab" style="left:75px; top:79px; width:75px; height:22px; ">
  570. <caption>월별 통계</caption>
  571. <toggle case="mm" ev:event="DOMActivate"/>
  572. <script type="javascript" ev:event="DOMActivate">
  573. <![CDATA[
  574. fGridInit();
  575. ]]>
  576. </script>
  577. </button>
  578. <button id="btn_ddstats" class="btn_sw" visibility="visible" group="tab" style="left:0px; top:79px; width:75px; height:22px; ">
  579. <caption>일별 통계</caption>
  580. <toggle case="dd" ev:event="DOMActivate"/>
  581. <script type="javascript" ev:event="DOMActivate">
  582. <![CDATA[
  583. fGridInit();
  584. ]]>
  585. </script>
  586. </button>
  587. <button id="btn_yystats" class="btn_sw" visibility="visible" group="tab" style="left:150px; top:79px; width:75px; height:22px; ">
  588. <caption>연별 통계</caption>
  589. <toggle case="yy" ev:event="DOMActivate"/>
  590. <script type="javascript" ev:event="DOMActivate">
  591. <![CDATA[
  592. fGridInit();
  593. ]]>
  594. </script>
  595. </button>
  596. <button id="button1" class="btn_sw" visibility="hidden" group="tab" style="left:225px; top:79px; width:75px; height:22px; ">
  597. <caption>임시</caption>
  598. <toggle case="임시" ev:event="DOMActivate"/>
  599. <script type="javascript" ev:event="DOMActivate">
  600. <![CDATA[
  601. fGridInit();
  602. ]]>
  603. </script>
  604. </button>
  605. </group>
  606. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">검사 통계</caption>
  607. <group id="group4" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
  608. <line id="line2" class="line_2" style="x1:0px; y1:25px; x2:1195px; y2:25px; "/>
  609. <button id="btn_print" class="btn6_letter2" visibility="hidden" style="left:0px; top:3px; width:56px; height:22px; ">
  610. <caption>출력</caption>
  611. <script type="javascript" ev:event="DOMActivate">
  612. <![CDATA[
  613. //fPrint();
  614. ]]>
  615. </script>
  616. </button>
  617. <button id="btn_excel" class="btn6_letter5" style="left:0px; top:3px; width:92px; height:22px; ">
  618. <caption>EXCEL저장</caption>
  619. <script type="javascript" ev:event="DOMActivate">
  620. <![CDATA[
  621. fExeSaveToExcel();
  622. ]]>
  623. </script>
  624. </button>
  625. </group>
  626. </xhtml:body>
  627. </xhtml:html>