SMAES04200_핵의학체내검사별통합통계.xrw 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <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">
  4. <xhtml:head>
  5. <xhtml:title>검사별 통합 통계</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <list>
  11. <item>
  12. <systkey1/>
  13. <systkey2/>
  14. <item01/>
  15. <item02/>
  16. <item03/>
  17. <item04/>
  18. <item05/>
  19. <item06/>
  20. <item07/>
  21. <item08/>
  22. <item09/>
  23. <item10/>
  24. <item11/>
  25. <item12/>
  26. <item13/>
  27. <item14/>
  28. <item15/>
  29. <item16/>
  30. <item17/>
  31. <item18/>
  32. <item19/>
  33. <item20/>
  34. <item21/>
  35. <item22/>
  36. <item23/>
  37. <item24/>
  38. <item25/>
  39. <item26/>
  40. <item27/>
  41. <item28/>
  42. <item29/>
  43. <item30/>
  44. <item31/>
  45. <total/>
  46. </item>
  47. </list>
  48. <isublist>
  49. <item>
  50. <ioflag/>
  51. <drugqty/>
  52. <cnt/>
  53. <total/>
  54. </item>
  55. </isublist>
  56. <osublist>
  57. <item>
  58. <ioflag/>
  59. <drugqty/>
  60. <cnt/>
  61. <total/>
  62. </item>
  63. </osublist>
  64. <examsum>
  65. <isum/>
  66. <osum/>
  67. <total/>
  68. </examsum>
  69. </main>
  70. <send>
  71. <srchdate/>
  72. <globalinstance>
  73. <instance1/>
  74. </globalinstance>
  75. <suppdeptcd/>
  76. <srchstatsflag>A</srchstatsflag>
  77. <excuroomgrpcdid/>
  78. <excuroomcdid/>
  79. <srchflag>D</srchflag>
  80. <srchioflag>A</srchioflag>
  81. <srchseanflag>G</srchseanflag>
  82. </send>
  83. <inti>
  84. <cmb_info>
  85. <initexcuroomgrp/>
  86. <excuroom/>
  87. </cmb_info>
  88. </inti>
  89. <hidden/>
  90. <inti_com>
  91. <srchdate/>
  92. </inti_com>
  93. </root>
  94. </instance>
  95. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  96. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  97. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  98. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  99. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  100. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  101. <script type="javascript" src="../../../ast/examcureweb/js/AEZ0001.js"/>
  102. <script type="javascript" ev:event="xforms-ready">
  103. <![CDATA[
  104. aezfSetSuppDeptcd();
  105. // 검사실
  106. model.setValue("/root/send/suppdeptcd", model.getValue("/root/send/globalinstance/instance1"));
  107. model.setValue("/root/send/srchdate", getCurrentDate().substr(0,6));
  108. model.removenode("/root/main/list");
  109. model.setValue("/root/send/srchstatsflag", "CS");
  110. model.setValue("/root/send/srchioflag", "A");
  111. btn_case1.selected = true;
  112. submit("TRAES09001", false);
  113. addComboItem("cmb_excuroomgrp","--전체--","","above");
  114. setTitle();
  115. rdo_srchioflag.visible = false;
  116. model.refresh();
  117. ]]>
  118. </script>
  119. <submission id="TRAES09001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init"/>
  120. <submission id="TRAEA01418" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/cmb_info"/>
  121. <submission id="TRAES04201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/list"/>
  122. </model>
  123. <script type="javascript">
  124. <![CDATA[
  125. /* @group : 통합 통계
  126. * @ver :
  127. * @by :
  128. * @-----------------------------------
  129. * @type : function
  130. * @access : public
  131. * @desc : 검사별 통합 통계 리스트 조회
  132. */
  133. function getNmedSytsStatsCaseList(){
  134. // 일별
  135. if (btn_case1.selected == true) {
  136. model.setValue("/root/send/srchflag","D");
  137. grd_list = grd_daylist;
  138. // 월별
  139. } else if (btn_case2.selected == true) {
  140. model.setValue("/root/send/srchflag","M");
  141. grd_list = grd_monthlist;
  142. // 분기별
  143. } else if (btn_case3.selected == true) {
  144. model.setValue("/root/send/srchflag","Q");
  145. grd_list = grd_qurtlist;
  146. // 년도별
  147. } else if (btn_case4.selected == true) {
  148. model.setValue("/root/send/srchflag","Y");
  149. grd_list = grd_yearlist;
  150. }
  151. model.removenode("/root/main/list");
  152. if (submit("TRAES04201")) {
  153. var cnt = getNodesetCount("/root/main/list/item");
  154. if (cnt > 1) {
  155. var srchstatsflag = model.getValue("/root/send/srchstatsflag");
  156. // 소계 및 합계 구하는 함수 호출 - grid Object, 통계구분, 탭구분)
  157. fSetSubTotal(grd_list, srchstatsflag , model.getValue("/root/send/srchflag"));
  158. }
  159. }
  160. }
  161. /* @group : 통합 통계
  162. * @ver :
  163. * @by :
  164. * @-----------------------------------
  165. * @type : function
  166. * @access : public
  167. * @desc : 조회된 통계 데이타에 대한 소계 및 총계를 구하는 함수
  168. */
  169. function fSetSubTotal(grd_list, srchstatsflag, srchflag) {
  170. var colpos = 0;
  171. var rowCnt = 0;
  172. grd_list.colSort(0) = "asc";
  173. grd_list.sort(0, 0, grd_list.rows, grd_list.cols) = "usersort";
  174. // 검사별
  175. if (srchstatsflag == "CS") {
  176. for(i=3; i<grd_list.cols; i++) {
  177. grd_list.subtotal("sum", -1, i, "#,###", "background-color:#CCFFCC; color:#0000ff; font-weight:bold; ", 1, "총계");
  178. }
  179. grd_list.mergeByFree(grd_list.rows-1, 1 , grd_list.rows-1, 3);
  180. rowCnt = 0;
  181. // 진료의별 소계 위치
  182. } else if (srchstatsflag == "OR") {
  183. colpos = grd_list.colRef("systkey3");
  184. for(i=3; i<grd_list.cols; i++) {
  185. grd_list.subtotal("sum", 1, i, "#,###", "background-color:#FFFFCC; color:#0000ff; font-weight:bold; ", colpos, "소계");
  186. grd_list.subtotal("sum", -1, i, "#,###", "background-color:#CCFFCC; color:#0000ff; font-weight:bold; ", 1, "총계");
  187. }
  188. grd_list.mergeByFree(grd_list.rows-1, 1 , grd_list.rows-1, 3);
  189. rowCnt = grd_list.rows;
  190. // 진료과별, 보험유형별 소계 위치
  191. } else {
  192. colpos = grd_list.colRef("systkey2");
  193. for(i=3; i<grd_list.cols; i++) {
  194. grd_list.subtotal("sum", 1, i, "#,###", "background-color:#FFFFCC; color:#0000ff; font-weight:bold; ", colpos, "소계");
  195. grd_list.subtotal("sum", -1, i, "#,###", "background-color:#CCFFCC; color:#0000ff; font-weight:bold; ", 1, "총계");
  196. }
  197. grd_list.mergeByFree(grd_list.rows-1, 1 , grd_list.rows-1, 3);
  198. rowCnt = grd_list.rows;
  199. }
  200. // 증감율 구하기
  201. var colnm = "";
  202. var subtotal = 0;
  203. var subcomparecnt = 0;
  204. var subcomparerate = "";
  205. for (i=0; i<rowCnt; i++) {
  206. colnm = grd_list.valueMatrix(i, colpos);
  207. if (colnm == "소계" ) {
  208. // 소계 합계
  209. subtotal = grd_list.valueMatrix(i, grd_list.colRef("total"));
  210. subcomparecnt = grd_list.valueMatrix(i, grd_list.colRef("comparecnt"));
  211. grd_list.valueMatrix(i, grd_list.colRef("comparerate")) = setCompareRate(subtotal, subcomparecnt);
  212. // 분기별일 경우 분기별 증감율 구하기
  213. if (srchflag == "Q") {
  214. // 1분기
  215. subtotal = grd_list.valueMatrix(i, grd_list.colRef("item01"));
  216. subcomparecnt = grd_list.valueMatrix(i, grd_list.colRef("item09"));
  217. grd_list.valueMatrix(i, grd_list.colRef("item02")) = setCompareRate(subtotal, subcomparecnt);
  218. // 2분기
  219. subtotal = grd_list.valueMatrix(i, grd_list.colRef("item03"));
  220. subcomparecnt = grd_list.valueMatrix(i, grd_list.colRef("item10"));
  221. grd_list.valueMatrix(i, grd_list.colRef("item04")) = setCompareRate(subtotal, subcomparecnt);
  222. // 3분기
  223. subtotal = grd_list.valueMatrix(i, grd_list.colRef("item05"));
  224. subcomparecnt = grd_list.valueMatrix(i, grd_list.colRef("item11"));
  225. grd_list.valueMatrix(i, grd_list.colRef("item06")) = setCompareRate(subtotal, subcomparecnt);
  226. // 4분기
  227. subtotal = grd_list.valueMatrix(i, grd_list.colRef("item07"));
  228. subcomparecnt = grd_list.valueMatrix(i, grd_list.colRef("item12"));
  229. grd_list.valueMatrix(i, grd_list.colRef("item08")) = setCompareRate(subtotal, subcomparecnt);
  230. grd_list.cellformat(i, grd_list.colRef("item02")) = "(-)#,### %";
  231. grd_list.cellformat(i, grd_list.colRef("item04")) = "(-)#,### %";
  232. grd_list.cellformat(i, grd_list.colRef("item06")) = "(-)#,### %";
  233. grd_list.cellformat(i, grd_list.colRef("item08")) = "(-)#,### %";
  234. grd_list.cellformat(i, grd_list.colRef("comparerate")) = "(-)#,### %";
  235. } // 분기별일 경우 분기별 증감율 구하기 끝
  236. }
  237. }
  238. //총계 증감율 합계
  239. var total = 0;
  240. var comparecnt = 0;
  241. var comparerate = "";
  242. // 분기별일 경우 총계 분기별 증감율 구하기
  243. if (srchflag == "Q") {
  244. // 1분기
  245. total = grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("item01"));
  246. comparecnt = grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("item09"));
  247. grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("item02")) = setCompareRate(total, comparecnt);
  248. // 2분기
  249. total = grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("item03"));
  250. comparecnt = grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("item10"));
  251. grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("item04")) = setCompareRate(total, comparecnt);
  252. // 3분기
  253. total = grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("item05"));
  254. comparecnt = grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("item11"));
  255. grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("item06")) = setCompareRate(total, comparecnt);
  256. // 4분기
  257. total = grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("item07"));
  258. comparecnt = grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("item12"));
  259. grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("item08")) = setCompareRate(total, comparecnt);
  260. grd_list.cellformat(grd_list.rows-1, grd_list.colRef("item02")) = "(-)#,### %";
  261. grd_list.cellformat(grd_list.rows-1, grd_list.colRef("item04")) = "(-)#,### %";
  262. grd_list.cellformat(grd_list.rows-1, grd_list.colRef("item06")) = "(-)#,### %";
  263. grd_list.cellformat(grd_list.rows-1, grd_list.colRef("item08")) = "(-)#,### %";
  264. }
  265. //총계 증감율 합계
  266. total = grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("total"));
  267. comparecnt = grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("comparecnt"));
  268. grd_list.valueMatrix(grd_list.rows-1, grd_list.colRef("comparerate")) = setCompareRate(total, comparecnt) ;
  269. grd_list.cellformat(grd_list.rows-1, grd_list.colRef("comparerate")) = "(-)#,### %";
  270. model.refresh();
  271. }
  272. /* @group : 통합 통계
  273. * @ver :
  274. * @by :
  275. * @-----------------------------------
  276. * @type : function
  277. * @access : public
  278. * @desc : 증감율을 구하는 함수
  279. */
  280. function setCompareRate(total, comparecnt) {
  281. var comparerate = 0;
  282. if (parseInt(comparecnt) > 0) {
  283. comparerate = ( ( parseInt(total) - parseInt(comparecnt) ) / parseInt(comparecnt) ) * 100;
  284. if (comparerate != null) {
  285. comparerate = comparerate.toString().getRound(-1,"HALF_UP");
  286. } else {
  287. comparerate = 0;
  288. }
  289. } else {
  290. comparerate = 0;
  291. }
  292. return comparerate;
  293. }
  294. /* @group : 통합 통계
  295. * @ver :
  296. * @by :
  297. * @-----------------------------------
  298. * @type : function
  299. * @access : public
  300. * @desc : 통계 구분별 그리드 header를 정의하는 함수
  301. */
  302. function setTitle() {
  303. var srchstatsflag = model.getValue("/root/send/srchstatsflag");
  304. var baseDate = model.getValue("/root/send/srchdate") + "01";
  305. model.removenode("/root/main/list");
  306. var stHeader = "";
  307. var stMonthHeader = "";
  308. var stDay = "";
  309. var stMonth = "";
  310. var stQurt = "";
  311. var stYear = "";
  312. var sDayCnt = baseDate.toDate().getMonthDay();
  313. var baseYear = baseDate.substr(0,4);
  314. // 검사별
  315. if (srchstatsflag == "CS") {
  316. stHeader = "검사실^검사명^검사명^";
  317. grd_daylist.colHidden(grd_daylist.colRef("systkey1")) = true;
  318. grd_monthlist.colHidden(grd_monthlist.colRef("systkey1")) = true;
  319. grd_qurtlist.colHidden(grd_qurtlist.colRef("systkey1")) = true;
  320. grd_yearlist.colHidden(grd_yearlist.colRef("systkey1")) = true;
  321. grd_daylist.colWidth(1) = 100;
  322. grd_monthlist.colWidth(1) = 100;
  323. grd_qurtlist.colWidth(1) = 100;
  324. grd_yearlist.colWidth(1) = 100;
  325. grd_daylist.colWidth(2) = 240;
  326. grd_monthlist.colWidth(2) = 240;
  327. grd_qurtlist.colWidth(2) = 240;
  328. grd_yearlist.colWidth(2) = 240;
  329. grd_daylist.colHidden(3) = true;
  330. grd_monthlist.colHidden(3) = true;
  331. grd_qurtlist.colHidden(3) = true;
  332. grd_yearlist.colHidden(3) = true;
  333. // 진료과별
  334. } else if (srchstatsflag == "OE") {
  335. stHeader = "진료과^검사명^검사명^";
  336. grd_daylist.colHidden(grd_daylist.colRef("systkey1")) = false;
  337. grd_monthlist.colHidden(grd_monthlist.colRef("systkey1")) = false;
  338. grd_qurtlist.colHidden(grd_qurtlist.colRef("systkey1")) = false;
  339. grd_yearlist.colHidden(grd_yearlist.colRef("systkey1")) = false;
  340. grd_daylist.colWidth(1) = 100;
  341. grd_monthlist.colWidth(1) = 100;
  342. grd_qurtlist.colWidth(1) = 100;
  343. grd_yearlist.colWidth(1) = 100;
  344. grd_daylist.colWidth(2) = 240;
  345. grd_monthlist.colWidth(2) = 240;
  346. grd_qurtlist.colWidth(2) = 240;
  347. grd_yearlist.colWidth(2) = 240;
  348. grd_daylist.colHidden(3) = true;
  349. grd_monthlist.colHidden(3) = true;
  350. grd_qurtlist.colHidden(3) = true;
  351. grd_yearlist.colHidden(3) = true;
  352. // 진료의별
  353. } else if (srchstatsflag == "OR") {
  354. stHeader = "진료과^진료의^검사명^";
  355. grd_daylist.colHidden(grd_daylist.colRef("systkey1")) = false;
  356. grd_monthlist.colHidden(grd_monthlist.colRef("systkey1")) = false;
  357. grd_qurtlist.colHidden(grd_qurtlist.colRef("systkey1")) = false;
  358. grd_yearlist.colHidden(grd_yearlist.colRef("systkey1")) = false;
  359. grd_daylist.colWidth(1) = 100;
  360. grd_monthlist.colWidth(1) = 100;
  361. grd_qurtlist.colWidth(1) = 100;
  362. grd_yearlist.colWidth(1) = 100;
  363. grd_daylist.colWidth(2) = 100;
  364. grd_monthlist.colWidth(2) = 100;
  365. grd_qurtlist.colWidth(2) = 100;
  366. grd_yearlist.colWidth(2) = 100;
  367. grd_daylist.colHidden(3) = false;
  368. grd_monthlist.colHidden(3) = false;
  369. grd_qurtlist.colHidden(3) = false;
  370. grd_yearlist.colHidden(3) = false;
  371. // 보험유형별
  372. } else if (srchstatsflag == "IK") {
  373. stHeader = "보험유형^검사명^검사명^";
  374. grd_daylist.colHidden(grd_daylist.colRef("systkey1")) = false;
  375. grd_monthlist.colHidden(grd_monthlist.colRef("systkey1")) = false;
  376. grd_qurtlist.colHidden(grd_qurtlist.colRef("systkey1")) = false;
  377. grd_yearlist.colHidden(grd_yearlist.colRef("systkey1")) = false;
  378. grd_daylist.colWidth(1) = 100;
  379. grd_monthlist.colWidth(1) = 100;
  380. grd_qurtlist.colWidth(1) = 100;
  381. grd_yearlist.colWidth(1) = 100;
  382. grd_daylist.colWidth(2) = 240;
  383. grd_monthlist.colWidth(2) = 240;
  384. grd_qurtlist.colWidth(2) = 240;
  385. grd_yearlist.colWidth(2) = 240;
  386. grd_daylist.colHidden(3) = true;
  387. grd_monthlist.colHidden(3) = true;
  388. grd_qurtlist.colHidden(3) = true;
  389. grd_yearlist.colHidden(3) = true;
  390. // 검사별보험유형
  391. } else if (srchstatsflag == "CI") {
  392. stHeader = "검사명^보험유형^검사명^";
  393. grd_daylist.colHidden(grd_daylist.colRef("systkey1")) = false;
  394. grd_monthlist.colHidden(grd_monthlist.colRef("systkey1")) = false;
  395. grd_qurtlist.colHidden(grd_qurtlist.colRef("systkey1")) = false;
  396. grd_yearlist.colHidden(grd_yearlist.colRef("systkey1")) = false;
  397. grd_daylist.colWidth(1) = 240;
  398. grd_monthlist.colWidth(1) = 240;
  399. grd_qurtlist.colWidth(1) = 240;
  400. grd_yearlist.colWidth(1) = 240;
  401. grd_daylist.colWidth(2) = 100;
  402. grd_monthlist.colWidth(2) = 100;
  403. grd_qurtlist.colWidth(2) = 100;
  404. grd_yearlist.colWidth(2) = 100;
  405. grd_daylist.colHidden(3) = true;
  406. grd_monthlist.colHidden(3) = true;
  407. grd_qurtlist.colHidden(3) = true;
  408. grd_yearlist.colHidden(3) = true;
  409. }
  410. stDay = "1일^2일^3일^4일^5일^6일^7일^8일^9일^10일^11일^12일^13일^14일^15일^16일^17일^18일^19일^20일^21일^22일^23일^24일^25일^26일^27일^28일^29일^30일^31일^합계";
  411. stMonth = baseYear + "년^"+ baseYear + "년^"+ baseYear + "년^"+ baseYear + "년^"+ baseYear + "년^"+ baseYear + "년^"+ baseYear + "년^"+ baseYear + "년^"+ baseYear + "년^"+ baseYear + "년^"+ baseYear + "년^"+ baseYear + "년^합계^전년도합계^증감율|"+ stHeader +"1월^2월^3월^4월^5월^6월^7월^8월^9월^10월^11월^12월^합계^전년도합계^증감율";
  412. stQurt = "1분기^1분기^2분기^2분기^3분기^3분기^4분기^4분기^전년도^전년도^전년도^전년도^합계^전년도합계^증감율|"+ stHeader +"환자수^증감율^환자수^증감율^환자수^증감율^환자수^증감율^1분기^2분기^3분기^4분기^합계^전년도합계^증감율";
  413. var dtYearMonth = baseDate.toDate().getAddDate(-4, "Y");
  414. var addYear = "";
  415. for (var i = 0; i <= 4; i++) {
  416. addYear = dtYearMonth.getDateFormat("YYYY");
  417. stYear = stYear + addYear + "년^";
  418. dtYearMonth.getAddDate(1, "Y");
  419. }
  420. stYear = stYear + "합계^전년도합계^증감율";
  421. // 일별
  422. stDay = stHeader + stDay;
  423. grd_daylist.caption = stDay;
  424. // 월별
  425. stMonth = stHeader + stMonth;
  426. grd_monthlist.caption = stMonth;
  427. // 분기별
  428. stQurt = stHeader + stQurt;
  429. grd_qurtlist.caption = stQurt;
  430. // 년도별
  431. stYear = stHeader + stYear;
  432. grd_yearlist.caption =stYear;
  433. if(sDayCnt > 30) {
  434. grd_daylist.colHidden(grd_daylist.colRef("item29")) = false;
  435. grd_daylist.colHidden(grd_daylist.colRef("item30")) = false;
  436. grd_daylist.colHidden(grd_daylist.colRef("item31")) = false;
  437. }else if(sDayCnt == 29) {
  438. grd_daylist.colHidden(grd_daylist.colRef("item29")) = false;
  439. grd_daylist.colHidden(grd_daylist.colRef("item30")) = true;
  440. grd_daylist.colHidden(grd_daylist.colRef("item31")) = true;
  441. }else if(sDayCnt < 29) {
  442. grd_daylist.colHidden(grd_daylist.colRef("item29")) = true;
  443. grd_daylist.colHidden(grd_daylist.colRef("item30")) = true;
  444. grd_daylist.colHidden(grd_daylist.colRef("item31")) = true;
  445. }else {
  446. grd_daylist.colHidden(grd_daylist.colRef("item29")) = false;
  447. grd_daylist.colHidden(grd_daylist.colRef("item30")) = false;
  448. grd_daylist.colHidden(grd_daylist.colRef("item31")) = true;
  449. }
  450. grd_daylist.rebuild();
  451. grd_monthlist.rebuild();
  452. grd_qurtlist.rebuild();
  453. grd_yearlist.rebuild();
  454. }
  455. ]]>
  456. </script>
  457. </xhtml:head>
  458. <xhtml:body pagewidth="1211" pageheight="784" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  459. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  460. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:335px; height:14px; ">검사별 통합 통계</caption>
  461. </group>
  462. <group id="grp_biz" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
  463. <button id="btn_excsave" class="btn2_letter4" visibility="visible" style="left:1130px; top:50px; width:64px; height:19px; ">
  464. <caption>엑셀저장</caption>
  465. <script type="javascript" ev:event="DOMActivate">
  466. <![CDATA[
  467. var fileName = window.fileDialog("save", ",", false, "", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  468. if (fileName != "") {
  469. // 일별
  470. if (btn_case1.selected == true) {
  471. grd_daylist.saveExcel(fileName);
  472. // 월별
  473. } else if (btn_case2.selected == true) {
  474. grd_monthlist.saveExcel(fileName);
  475. // 분기별
  476. } else if (btn_case3.selected == true) {
  477. grd_qurtlist.saveExcel(fileName);
  478. // 년도별
  479. } else if (btn_case4.selected == true) {
  480. grd_yearlist.saveExcel(fileName);
  481. }
  482. }
  483. ]]>
  484. </script>
  485. </button>
  486. <group id="grp_sea" style="left:0px; top:10px; width:1195px; height:30px; vertical-align:top; ">
  487. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1193px; height:30px; background-color:#fffbf2; border-color:#ffd799; "/>
  488. <line id="line13" class="line_4" style="x1:1110px; y1:5px; x2:1110px; y2:25px; "/>
  489. <button id="btn_sea" class="btn1_letter2" navindex="4" style="left:1120px; top:4px; width:56px; height:22px; ">
  490. <caption>조회</caption>
  491. <script type="javascript" ev:event="DOMActivate">
  492. <![CDATA[
  493. // 검사별 통합 통계 조회
  494. getNmedSytsStatsCaseList();
  495. ]]>
  496. </script>
  497. </button>
  498. <caption id="caption3" class="search_name" style="left:295px; top:7px; width:86px; height:17px; ">기준년월 :</caption>
  499. <caption id="caption5" class="search_name" style="left:10px; top:7px; width:86px; height:17px; ">통계구분 :</caption>
  500. <select1 id="cmb_statsflag" ref="/root/send/srchstatsflag" appearance="minimal" style="left:105px; top:6px; width:165px; height:19px; ">
  501. <choices>
  502. <item>
  503. <label>검사별</label>
  504. <value>CS</value>
  505. </item>
  506. <item>
  507. <label>진료과별</label>
  508. <value>OE</value>
  509. </item>
  510. <item>
  511. <label>진료의별</label>
  512. <value>OR</value>
  513. </item>
  514. <item>
  515. <label>보험유형별</label>
  516. <value>IK</value>
  517. </item>
  518. <item>
  519. <label>검사별보험유형</label>
  520. <value>CI</value>
  521. </item>
  522. </choices>
  523. <script type="javascript" ev:event="xforms-value-changed">
  524. <![CDATA[
  525. setTitle();
  526. ]]>
  527. </script>
  528. </select1>
  529. <input id="input4" ref="/root/send/srchdate" class="input_default" inputtype="date" format="yyyy-mm" style="left:385px; top:6px; width:90px; height:19px; ">
  530. <script type="javascript" ev:event="xforms-value-changed">
  531. <![CDATA[
  532. setTitle();
  533. ]]>
  534. </script>
  535. </input>
  536. <select1 id="cmb_excuroomgrp" ref="/root/send/excuroomgrpcdid" class="combo_default" appearance="minimal" style="left:570px; top:6px; width:118px; height:19px; ">
  537. <choices>
  538. <itemset nodeset="/root/init/initexcuroomgrp">
  539. <label ref="nm"/>
  540. <value ref="cd"/>
  541. </itemset>
  542. </choices>
  543. <script type="javascript" ev:event="xforms-value-changed">
  544. <![CDATA[
  545. var excuroomgrpcdid = model.getValue("/root/send/excuroomgrpcdid");
  546. if (excuroomgrpcdid == "") {
  547. cmb_excuroom.disabled = true;
  548. } else {
  549. cmb_excuroom.disabled = false;
  550. }
  551. if (submit("TRAEA01418", false)) {
  552. model.makeNode("/root/init/cmb_info/excuroom");
  553. copyNodeType("/root/init/cmb_info/excuroom","/root/hidden/cmb_info/excuroom","replace");
  554. }
  555. model.removenode("/root/main/list");
  556. model.refresh();
  557. ]]>
  558. </script>
  559. </select1>
  560. <select1 id="cmb_excuroom" ref="/root/send/excuroomcdid" class="combo_default" appearance="minimal" style="left:690px; top:6px; width:130px; height:19px; ">
  561. <choices>
  562. <itemset nodeset="/root/init/cmb_info/excuroom/initexcuroom">
  563. <label ref="excuroomcdnm"/>
  564. <value ref="excuroomcdid"/>
  565. </itemset>
  566. </choices>
  567. <script type="javascript" ev:event="xforms-value-changed">
  568. <![CDATA[
  569. // 검사별 통합 통계 조회
  570. getNmedSytsStatsCaseList();
  571. ]]>
  572. </script>
  573. </select1>
  574. <caption id="caption7" class="search_name" style="left:490px; top:7px; width:80px; height:17px; ">검사실 :</caption>
  575. <caption id="caption12" class="search_name" style="left:845px; top:7px; width:62px; height:17px; ">구분 :</caption>
  576. <select1 id="radio2" ref="/root/send/srchioflag" appearance="full" cols="3" overflow="visible" style="left:909px; top:7px; width:136px; height:18px; border-style:none; ">
  577. <choices>
  578. <item>
  579. <label>전체</label>
  580. <value>A</value>
  581. </item>
  582. <item>
  583. <label>입원</label>
  584. <value>I</value>
  585. </item>
  586. <item>
  587. <label>외래</label>
  588. <value>O</value>
  589. </item>
  590. </choices>
  591. <script type="javascript" ev:event="xforms-value-changed">
  592. <![CDATA[
  593. // 검사별 통합 통계 조회
  594. getNmedSytsStatsCaseList();
  595. ]]>
  596. </script>
  597. </select1>
  598. </group>
  599. <line id="line1" class="line_1" style="x1:0px; y1:70px; x2:1195px; y2:70px; "/>
  600. <switch id="switch1" style="left:0px; top:75px; width:1195px; height:633px; ">
  601. <case id="case1" selected="true">
  602. <datagrid id="grd_daylist" nodeset="/root/main/list/item" backcoloralternate="transparent" caption="검사실^검사명^검사명^1일^2일^3일^4일^5일^6일^7일^8일^9일^10일^11일^12일^13일^14일^15일^16일^17일^18일^19일^20일^21일^22일^23일^24일^25일^26일^27일^28일^29일^30일^31일^합계" colsep="^" colwidth="100, 240, 240, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 60" frozencols="2" mergecells="byrestriccol" mergecellsfixedrows="bycolrec" multitotal="true" rowheader="seq" rowsep="|" subtotalposition="below" tooltip="true" style="left:0px; top:0px; width:1192px; height:623px; ">
  603. <col ref="systkey1" style="text-align:center; "/>
  604. <col ref="systkey2" style="text-align:left; "/>
  605. <col ref="systkey3" style="text-align:left; "/>
  606. <col ref="item01" format="#,###" style="text-align:right; "/>
  607. <col ref="item02" format="#,###" style="text-align:right; "/>
  608. <col ref="item03" format="#,###" style="text-align:right; "/>
  609. <col ref="item04" format="#,###" style="text-align:right; "/>
  610. <col ref="item05" format="#,###" style="text-align:right; "/>
  611. <col ref="item06" format="#,###" style="text-align:right; "/>
  612. <col ref="item07" format="#,###" style="text-align:right; "/>
  613. <col ref="item08" format="#,###" style="text-align:right; "/>
  614. <col ref="item09" format="#,###" style="text-align:right; "/>
  615. <col ref="item10" format="#,###" style="text-align:right; "/>
  616. <col ref="item11" format="#,###" style="text-align:right; "/>
  617. <col ref="item12" format="#,###" style="text-align:right; "/>
  618. <col ref="item13" format="#,###" style="text-align:right; "/>
  619. <col ref="item14" format="#,###" style="text-align:right; "/>
  620. <col ref="item15" format="#,###" style="text-align:right; "/>
  621. <col ref="item16" format="#,###" style="text-align:right; "/>
  622. <col ref="item17" format="#,###" style="text-align:right; "/>
  623. <col ref="item18" format="#,###" style="text-align:right; "/>
  624. <col ref="item19" format="#,###" style="text-align:right; "/>
  625. <col ref="item20" format="#,###" style="text-align:right; "/>
  626. <col ref="item21" format="#,###" style="text-align:right; "/>
  627. <col ref="item22" format="#,###" style="text-align:right; "/>
  628. <col ref="item23" format="#,###" style="text-align:right; "/>
  629. <col ref="item24" format="#,###" style="text-align:right; "/>
  630. <col ref="item25" format="#,###" style="text-align:right; "/>
  631. <col ref="item26" format="#,###" style="text-align:right; "/>
  632. <col ref="item27" format="#,###" style="text-align:right; "/>
  633. <col ref="item28" format="#,###" style="text-align:right; "/>
  634. <col ref="item29" format="#,###" style="text-align:right; "/>
  635. <col ref="item30" format="#,###" style="text-align:right; "/>
  636. <col ref="item31" format="#,###" style="text-align:right; "/>
  637. <col ref="total" format="#,###" style="text-align:right; "/>
  638. </datagrid>
  639. </case>
  640. <case id="case2">
  641. <datagrid id="grd_monthlist" nodeset="/root/main/list/item" backcoloralternate="transparent" caption="검사실^검사명^검사명^2006년^2006년^2006년^2006년^2006년^2006년^2006년^2006년^2006년^2006년^2006년^2006년^합계^전년도합계^증감율^전년도합계^증감(%)|검사실^검사명^검사명^1월^2월^3월^4월^5월^6월^7월^8월^9월^10월^11월^12월^합계^전년도합계^증감율" colsep="^" colwidth="100, 240, 240, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 80, 80, 64" mergecells="byrestriccol" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" subtotalposition="below" tooltip="true" style="left:0px; top:0px; width:1192px; height:623px; ">
  642. <col ref="systkey1" style="text-align:center; "/>
  643. <col ref="systkey2" style="text-align:left; "/>
  644. <col ref="systkey3" style="text-align:left; "/>
  645. <col ref="item01" style="text-align:right; "/>
  646. <col ref="item02" style="text-align:right; "/>
  647. <col ref="item03" style="text-align:right; "/>
  648. <col ref="item04" style="text-align:right; "/>
  649. <col ref="item05" style="text-align:right; "/>
  650. <col ref="item06" style="text-align:right; "/>
  651. <col ref="item07" style="text-align:right; "/>
  652. <col ref="item08" style="text-align:right; "/>
  653. <col ref="item09" style="text-align:right; "/>
  654. <col ref="item10" style="text-align:right; "/>
  655. <col ref="item11" style="text-align:right; "/>
  656. <col ref="item12" style="text-align:right; "/>
  657. <col ref="total" style="text-align:right; "/>
  658. <col ref="comparecnt" style="text-align:right; "/>
  659. <col ref="comparerate" format="(-)#,### %" style="text-align:right; "/>
  660. </datagrid>
  661. </case>
  662. <case id="case3">
  663. <datagrid id="grd_qurtlist" nodeset="/root/main/list/item" backcoloralternate="transparent" caption="검사실^검사명^검사명^1분기^1분기^2분기^2분기^3분기^3분기^4분기^4분기^전년도^전년도^전년도^전년도^합계^전년도합계^증감율|검사실^검사명^검사명^환자수^증감율^환자수^증감율^환자수^증감율^환자수^증감율^1분기^2분기^3분기^4분기^합계^전년도합계^증감율" colsep="^" colwidth="100, 240, 240, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73" mergecells="byrestriccol" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" subtotalposition="below" tooltip="true" style="left:0px; top:0px; width:1192px; height:623px; ">
  664. <col ref="systkey1" style="text-align:center; "/>
  665. <col ref="systkey2" style="text-align:left; "/>
  666. <col ref="systkey3" style="text-align:left; "/>
  667. <col ref="item01" style="text-align:right; "/>
  668. <col ref="item02" format="(-)#,### %" style="text-align:right; "/>
  669. <col ref="item03" style="text-align:right; "/>
  670. <col ref="item04" style="text-align:right; "/>
  671. <col ref="item05" style="text-align:right; "/>
  672. <col ref="item06" format="(-)#,### %" style="text-align:right; "/>
  673. <col ref="item07" style="text-align:right; "/>
  674. <col ref="item08" format="(-)#,### %" style="text-align:right; "/>
  675. <col ref="item09" style="text-align:right; "/>
  676. <col ref="item10" style="text-align:right; "/>
  677. <col ref="item11" style="text-align:right; "/>
  678. <col ref="item12" style="text-align:right; "/>
  679. <col ref="total" style="text-align:right; "/>
  680. <col ref="comparecnt" style="text-align:right; "/>
  681. <col ref="comparerate" format="(-)#,### %" style="text-align:right; "/>
  682. </datagrid>
  683. </case>
  684. <case id="case4">
  685. <datagrid id="grd_yearlist" nodeset="/root/main/list/item" backcoloralternate="transparent" caption="검사실^검사명^검사명^2005년^2006년^2007년^2008년^2009년^합계^전년도합계^증감율" colsep="^" colwidth="100, 240, 240, 100, 100, 100, 100, 100, 100, 100, 100" mergecells="byrestriccol" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" subtotalposition="below" tooltip="true" style="left:0px; top:0px; width:1192px; height:623px; ">
  686. <col ref="systkey1" style="text-align:center; "/>
  687. <col ref="systkey2" style="text-align:left; "/>
  688. <col ref="systkey3" style="text-align:left; "/>
  689. <col ref="item01" style="text-align:right; "/>
  690. <col ref="item02" style="text-align:right; "/>
  691. <col ref="item03" style="text-align:right; "/>
  692. <col ref="item04" style="text-align:right; "/>
  693. <col ref="item05" style="text-align:right; "/>
  694. <col ref="total" style="text-align:right; "/>
  695. <col ref="comparecnt" style="text-align:right; "/>
  696. <col ref="comparerate" format="(-)#,### %" style="text-align:right; "/>
  697. </datagrid>
  698. </case>
  699. </switch>
  700. <button id="btn_case1" class="btn_sw" group="tab2" selected="true" style="left:2px; top:48px; width:60px; height:22px; ">
  701. <caption>일별</caption>
  702. <toggle case="case1" ev:event="onclick"/>
  703. <script type="javascript" ev:event="DOMActivate">
  704. <![CDATA[
  705. model.removenode("/root/main/list");
  706. model.refresh();
  707. model.toggle("case1");
  708. rdo_srchioflag.visible = false;
  709. // 검사별 통합 통계 조회
  710. getNmedSytsStatsCaseList();
  711. ]]>
  712. </script>
  713. </button>
  714. <button id="btn_case2" class="btn_sw" group="tab2" style="left:62px; top:48px; width:60px; height:22px; ">
  715. <caption>월별</caption>
  716. <toggle case="case1" ev:event="onclick"/>
  717. <script type="javascript" ev:event="DOMActivate">
  718. <![CDATA[
  719. model.removenode("/root/main/list");
  720. model.refresh();
  721. model.toggle("case2");
  722. rdo_srchioflag.visible = false;
  723. // 검사별 통합 통계 조회
  724. getNmedSytsStatsCaseList();
  725. ]]>
  726. </script>
  727. </button>
  728. <button id="btn_case3" class="btn_sw" group="tab2" style="left:122px; top:48px; width:60px; height:22px; ">
  729. <caption>분기별</caption>
  730. <toggle case="case1" ev:event="onclick"/>
  731. <script type="javascript" ev:event="DOMActivate">
  732. <![CDATA[
  733. model.removenode("/root/main/list");
  734. model.refresh();
  735. model.toggle("case3");
  736. rdo_srchioflag.visible = true;
  737. // 검사별 통합 통계 조회
  738. getNmedSytsStatsCaseList();
  739. ]]>
  740. </script>
  741. </button>
  742. <button id="btn_case4" class="btn_sw" group="tab2" style="left:182px; top:48px; width:60px; height:22px; ">
  743. <caption>년도별</caption>
  744. <toggle case="case1" ev:event="onclick"/>
  745. <script type="javascript" ev:event="DOMActivate">
  746. <![CDATA[
  747. model.removenode("/root/main/list");
  748. model.refresh();
  749. model.toggle("case4");
  750. rdo_srchioflag.visible = false;
  751. // 검사별 통합 통계 조회
  752. getNmedSytsStatsCaseList();
  753. ]]>
  754. </script>
  755. </button>
  756. <select1 id="rdo_srchioflag" ref="/root/send/srchseanflag" appearance="full" cols="3" overflow="visible" style="left:260px; top:50px; width:115px; height:18px; border-style:none; ">
  757. <choices>
  758. <item>
  759. <label>일반</label>
  760. <value>G</value>
  761. </item>
  762. <item>
  763. <label>회기별</label>
  764. <value>H</value>
  765. </item>
  766. </choices>
  767. <script type="javascript" ev:event="xforms-value-changed">
  768. <![CDATA[
  769. // 검사별 통합 통계 조회
  770. getNmedSytsStatsCaseList();
  771. ]]>
  772. </script>
  773. </select1>
  774. </group>
  775. </xhtml:body>
  776. </xhtml:html>