SMAES05300_핵의학체내검사별수입통계.xrw 34 KB

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