SMPAS01330_의사별지정진료수익내역.xrw 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. <?xml version="1.0" encoding="UTF-16"?>
  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. <medicalexamamtlist>
  11. <medicalexamamtstats>
  12. <depthngnm/>
  13. <cdnm/>
  14. <orddrid/>
  15. <usernm/>
  16. <otspecamt/>
  17. <otordamt/>
  18. <otspecps/>
  19. <otnomlps/>
  20. <inspecamt/>
  21. <inordamt/>
  22. <inspecps/>
  23. <innomlps/>
  24. </medicalexamamtstats>
  25. </medicalexamamtlist>
  26. <search>
  27. <fromdata/>
  28. <todata/>
  29. <datagubun>Per</datagubun>
  30. <erdata>1</erdata>
  31. <dcgubun>A</dcgubun>
  32. </search>
  33. <medicalsumlist>
  34. <medicalsumstats>
  35. <depthngnm>총계</depthngnm>
  36. <cdnm/>
  37. <orddrid/>
  38. <usernm/>
  39. <otspecamt/>
  40. <otordamt/>
  41. <otspecps/>
  42. <otnomlps/>
  43. <inspecamt/>
  44. <inordamt/>
  45. <inspecps/>
  46. <innomlps/>
  47. </medicalsumstats>
  48. </medicalsumlist>
  49. <userinfo>
  50. <info>
  51. <user/>
  52. </info>
  53. </userinfo>
  54. </main>
  55. <send>
  56. <fromdata/>
  57. <todata/>
  58. <datagubun/>
  59. <erdata/>
  60. <dcgubun/>
  61. </send>
  62. </root>
  63. </instance>
  64. <script type="javascript" ev:event="xforms-model-construct-done">
  65. <![CDATA[
  66. submit("TRPAS00001");
  67. var vToday = new Date();
  68. var tmpYear = vToday.getYear();
  69. var tmpMonth = vToday.getMonth()+1;
  70. var tmpDate = vToday.getDate();
  71. if (tmpMonth < 10) { tmpMonth = "0"+tmpMonth; }
  72. if (tmpDate < 10) { tmpDate = "0"+tmpDate; }
  73. model.setValue("/root/main/search/fromdata", tmpYear+""+tmpMonth+""+tmpDate);
  74. model.setValue("/root/main/search/todata", tmpYear+""+tmpMonth+""+tmpDate);
  75. //Rexport에 출력날자를 보여주기위한 데이터 저장
  76. model.makeNode("/root/main/tmp/print/date");
  77. model.copyNode("/root/main/tmp/print/date", "/root/main/search/fromdata");
  78. model.setValue("/root/main/tmp/print/date", model.getValue("/root/main/search/fromdata"));
  79. input7.refresh();
  80. input1.refresh();
  81. submit("TRPAS01332");
  82. model.setValue("/root/main/hospitalname/codename/cenm",model.getValue("/root/main/hospitalname/codename/cenm"));
  83. model.refresh();
  84. //데이터 Sorting 소계 (문제로 인해수 지음)
  85. //datagrid1.explorerbar = "sort";
  86. ]]>
  87. </script>
  88. <bind id="bind1" ref="/root/main/medicalexamamtlist/medicalexamamtstats" calculate="now() + ."/>
  89. <bind id="bind2" ref="/root/main/medicalsumlist/medicalsumstats/otspecamt" calculate="sum(/root/main/medicalexamamtlist/medicalexamamtstats/otspecamt);"/>
  90. <bind id="bind3" ref="/root/main/medicalsumlist/medicalsumstats/otordamt" calculate="sum(/root/main/medicalexamamtlist/medicalexamamtstats/otordamt);"/>
  91. <bind id="bind4" ref="/root/main/medicalsumlist/medicalsumstats/otspecps" calculate="sum(/root/main/medicalexamamtlist/medicalexamamtstats/otspecps);"/>
  92. <bind id="bind5" ref="/root/main/medicalsumlist/medicalsumstats/otnomlps" calculate="sum(/root/main/medicalexamamtlist/medicalexamamtstats/otnomlps);"/>
  93. <bind id="bind6" ref="/root/main/medicalsumlist/medicalsumstats/inspecamt" calculate="sum(/root/main/medicalexamamtlist/medicalexamamtstats/inspecamt);"/>
  94. <bind id="bind7" ref="/root/main/medicalsumlist/medicalsumstats/inordamt" calculate="sum(/root/main/medicalexamamtlist/medicalexamamtstats/inordamt);"/>
  95. <bind id="bind8" ref="/root/main/medicalsumlist/medicalsumstats/inspecps" calculate="sum(/root/main/medicalexamamtlist/medicalexamamtstats/inspecps);"/>
  96. <bind id="bind9" ref="/root/main/medicalsumlist/medicalsumstats/innomlps" calculate="sum(/root/main/medicalexamamtlist/medicalexamamtstats/innomlps);"/>
  97. <submission id="TRPAS01331" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/data1"/>
  98. <submission id="TRPAS01332" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/data1"/>
  99. <submission id="TRPAS00001" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/main/userinfo/info/user"/>
  100. </model>
  101. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  102. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  103. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  104. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  105. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  106. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  107. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  108. <script type="javascript" src="../../../com/zipcodeweb/js/ZBP001.js"/>
  109. </xhtml:head>
  110. <xhtml:body pagewidth="1211" pageheight="784">
  111. <group id="group3" style="left:0px; top:0px; width:1211px; height:13px; ">
  112. <caption id="caption60" class="tit_1" style="left:0px; top:0px; width:190px; height:14px; font-family:돋움; vertical-align:middle; ">의사별지정진료수익내역</caption>
  113. </group>
  114. <group id="group2" style="left:4px; top:22px; width:1203px; height:35px; ">
  115. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1202px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  116. <caption id="caption2" class="search_name" style="left:15px; top:9px; width:198px; height:17px; ">기간 ~</caption>
  117. <line id="line2" class="line_4" style="x1:1130px; y1:7px; x2:1130px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  118. <button id="btn_search" class="btn1_letter2" style="left:1139px; top:7px; width:56px; height:22px; ">
  119. <caption>조회</caption>
  120. <script type="javascript" ev:event="DOMActivate">
  121. <![CDATA[
  122. var fromdata = model.getValue("/root/main/search/fromdata");
  123. var todata = model.getValue("/root/main/search/todata");
  124. if(fromdata==""||fromdata==null){
  125. messageBox("시작일을 입력","E007");
  126. model.setFocus("input7");
  127. return false;
  128. }
  129. if(todata==""|| todata==null){
  130. messageBox("끝일을 입력","E007");
  131. model.setFocus("input1");
  132. return false;
  133. }
  134. if(fromdata > todata){
  135. messageBox("시작일이 끝일자보다 클수 ", "C001")
  136. return false;
  137. }else{
  138. model.setValue("/root/send/fromdata",model.getValue("/root/main/search/fromdata"));
  139. model.setValue("/root/send/todata",model.getValue("/root/main/search/todata"));
  140. model.setValue("/root/send/datagubun",model.getValue("/root/main/search/datagubun"));
  141. model.setValue("/root/send/erdata",model.getValue("/root/main/search/erdata"));
  142. model.setValue("/root/send/dcgubun",model.getValue("/root/main/search/dcgubun"));
  143. //로드값이 있을때 엑셀저장여부 버튼 생성여부
  144. var nodelist = bind1.nodeset;
  145. if(nodelist.length>0){
  146. line1.visible =true;
  147. button95.visible = true;
  148. }else{
  149. line1.visible =false;
  150. button95.visible = false;
  151. }
  152. model.resetInstanceNode("/root/main/medicalexamamtlist");
  153. model.removeNode("/root/main/medicalexamamtlist");
  154. model.makeNode("/root/main/medicalexamamtlist");
  155. submit("TRPAS01331");
  156. //서브토탈 소계값 출력그리드 위치 (“above:상단에 삽입 “below: 하단에 삽입)
  157. datagrid1.subtotalposition="below";
  158. //데이터그리드 컬럼개수구하기
  159. var cols = datagrid1.cols-datagrid1.fixedCols;
  160. //서브토탈 초기화 subtotal("clear":초기화)
  161. datagrid1.subtotal("clear", 0, i, "format:#,###; roundmode:round; roundpostion:2", "background-color:#ffff00; color:#0000ff; font-weight:bold; ", 0, "소계", true);
  162. //총계합
  163. copyNodesetType("/root/main/medicalexamamtlist/medicalexamamtstats","/root/main/medicalsumlist/medicalsumstats","after");
  164. //서브미션2회이상 할때 데이터 그리그 초기화 * 단 rebuild 했을경우 서브토탈이 Node에 없기때문에 나오지 않음
  165. datagrid1.rebuild();
  166. //서브토탈 subtotal("sum":합계 0:기준열 i:합계위치) **기타 인자값은 help참조
  167. var datagubn = model.getValue("/root/main/search/datagubun");
  168. if (datagubn == 'Per') {
  169. for( var i = 4; i < cols; i++ ) {
  170. datagrid1.subtotal("sum", 0, i, "format:#,###; roundmode:round; roundpostion:2", "background-color:#daecfd; color:#333333; font-weight:soild; ", 0, "소계", true);
  171. }
  172. }
  173. //소계 및 통계 datagrid의 cell에서 merge
  174. var rows = datagrid1.rows-datagrid1.fixedRows;
  175. for(var i=0;i<=rows;i++){
  176. var value = datagrid1.valueMatrix(i+1,0);
  177. if(value =="소계" || value=="총계"){
  178. datagrid1.mergeByFree(i+1,0,i+1,3);
  179. }else{
  180. }
  181. }
  182. //subtotal()함수를 쓰면 맨 밑에 총계의 소계가 또 나오는데 그걸 삭제 해주는 함수
  183. if (datagubn == 'Per') datagrid1.removeRow(false)
  184. //datagrid 재 생성
  185. datagrid1.refresh();
  186. }
  187. ]]>
  188. </script>
  189. </button>
  190. <input id="input7" ref="/root/main/search/fromdata" class="input_default" navindex="7" inputtype="date" style="left:70px; top:9px; width:120px; height:19px; ">
  191. <script type="javascript" ev:event="onkeydown">
  192. <![CDATA[
  193. if( event.keyCode == 13 ) {
  194. var pCurTargetObj = event.ptarget.parent;
  195. if( pCurTargetObj.elementName == "xforms:select1" || pCurTargetObj.elementName == "xforms:select") {
  196. event.keyCode = 9;
  197. pCurTargetObj.dispatch("onkeydown");
  198. }
  199. else {
  200. event.keyCode = 9;
  201. }
  202. }
  203. event.stopPropagation();
  204. ]]>
  205. </script>
  206. </input>
  207. <input id="input1" ref="/root/main/search/todata" class="input_default" navindex="7" inputtype="date" style="left:215px; top:9px; width:120px; height:19px; ">
  208. <script type="javascript" ev:event="onkeydown">
  209. <![CDATA[
  210. if( event.keyCode == 13 ) {
  211. var pCurTargetObj = event.ptarget.parent;
  212. if( pCurTargetObj.elementName == "xforms:select1" || pCurTargetObj.elementName == "xforms:select") {
  213. event.keyCode = 9;
  214. pCurTargetObj.dispatch("onkeydown");
  215. }
  216. else {
  217. event.keyCode = 9;
  218. }
  219. }
  220. event.stopPropagation();
  221. ]]>
  222. </script>
  223. </input>
  224. <select1 id="radio1" ref="/root/main/search/dcgubun" appearance="full" cellspacing="8" cols="3" overflow="visible" style="left:595px; top:9px; width:160px; height:19px; border-style:none; ">
  225. <choices>
  226. <item>
  227. <label>ALL</label>
  228. <value>A</value>
  229. </item>
  230. <item>
  231. <label>특진</label>
  232. <value>S</value>
  233. </item>
  234. <item>
  235. <label>일반</label>
  236. <value>C</value>
  237. </item>
  238. </choices>
  239. </select1>
  240. <caption id="caption5" style="left:535px; top:11px; width:54px; height:14px; font-weight:bold; ">선택진료</caption>
  241. <button id="button95" class="btn6_letter4" visibility="visible" style="left:971px; top:7px; width:80px; height:22px; ">
  242. <caption>액셀저장</caption>
  243. <script type="javascript" ev:event="DOMActivate">
  244. <![CDATA[
  245. var vToday = new Date();
  246. var tmpYear = vToday.getYear();
  247. var tmpMonth = vToday.getMonth()+1;
  248. var tmpDate = vToday.getDate();
  249. // model.setValue("/root/documenttitle/title",document.title);
  250. // model.refresh();
  251. // var subjectTitle = model.getValue("/root/documenttitle/title");
  252. //엑셀저장 여부(타이틀별)
  253. //강제 이름을 지정해야 서버에서 제대로 보입니다.
  254. var fileName = window.fileDialog("save", "", false, "의사별지정진료수익내역"+tmpYear+tmpMonth+tmpDate, "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  255. if (fileName != "")
  256. {
  257. datagrid1.saveExcel(fileName, "의사별지정진료수익내역"+tmpYear+tmpMonth+tmpDate, true, true, "", "", true);
  258. }
  259. ]]>
  260. </script>
  261. </button>
  262. <line id="line1" class="line_4" visibility="hidden" style="x1:1058px; y1:7px; x2:1058px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  263. <button id="btn_print" class="btn6_letter2" style="left:1070px; top:7px; width:56px; height:22px; ">
  264. <caption>출력</caption>
  265. <script type="javascript" ev:event="DOMActivate">
  266. <![CDATA[
  267. //보고서 출력 exeReportPreview("RTPAS00160" : 보고서ID값 , "XMLSTR" :보고서출력방법(xml형태))
  268. exeReportPreview("RPPAS01331", "XMLSTR", "","", "false","","","","","false");
  269. ]]>
  270. </script>
  271. </button>
  272. <select1 id="combo1" ref="/root/main/search/datagubun" appearance="minimal" style="left:411px; top:9px; width:100px; height:19px; ">
  273. <choices>
  274. <item>
  275. <label>개인별</label>
  276. <value>Per</value>
  277. </item>
  278. <item>
  279. <label>과별</label>
  280. <value>Par</value>
  281. </item>
  282. </choices>
  283. </select1>
  284. <caption id="caption1" style="left:349px; top:11px; width:54px; height:14px; font-weight:bold; ">검색조건</caption>
  285. </group>
  286. <datagrid id="datagrid1" nodeset="/root/main/medicalexamamtlist/medicalexamamtstats" caption="진료과^직위^의사ID^의사명^외래수익^외래수익^외래환자수^외래환자수^입원수익^입원수익^입원환자수^입원환자수|진료과^직위^의사ID^의사명^지정진료수익^의료수익^특진환자^일반환자^지정진료수익^의료수익^특진환자^일반환자" colsep="^" colwidth="120, 85, 85, 90, 100, 100, 100, 100, 100, 100, 100, 100" mergecellsfixedcols="bycol" mergecellsfixedrows="byrowrec" rowsep="|" style="left:5px; top:85px; width:1200px; height:681px; ">
  287. <col ref="depthngnm" style="text-align:center; "/>
  288. <col ref="cdnm" style="text-align:center; "/>
  289. <col ref="orddrid" style="text-align:center; "/>
  290. <col ref="usernm" style="text-align:center; "/>
  291. <col ref="otspecamt" format="(-)#,###" style="text-align:right; "/>
  292. <col ref="otordamt" format="(-)#,###" style="text-align:right; "/>
  293. <col ref="otspecps" format="(-)#,###" style="text-align:right; "/>
  294. <col ref="otnomlps" format="(-)#,###" style="text-align:right; "/>
  295. <col ref="inspecamt" format="(-)#,###" style="text-align:right; "/>
  296. <col ref="inordamt" format="(-)#,###" style="text-align:right; "/>
  297. <col ref="inspecps" format="(-)#,###" style="text-align:right; "/>
  298. <col ref="innomlps" format="(-)#,###" style="text-align:right; "/>
  299. </datagrid>
  300. <caption id="caption6" style="left:7px; top:70px; width:95px; height:20px; ">가톨릭대학교 :</caption>
  301. <output id="output1" ref="/root/main/hospitalname/codename/cenm" style="left:100px; top:70px; width:100px; height:19px; font-weight:bold; "/>
  302. </xhtml:body>
  303. </xhtml:html>