SMRPB12200_의사인력현황.xrw 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. <?xml version="1.0" encoding="UTF-8"?>
  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. </main>
  11. <init/>
  12. <send>
  13. <drdd/>
  14. <drinstcd/>
  15. </send>
  16. <hidden/>
  17. <grid>
  18. <datalist>
  19. <drdatalist/>
  20. </datalist>
  21. </grid>
  22. </root>
  23. </instance>
  24. <script type="javascript" ev:event="xforms-ready">
  25. <![CDATA[
  26. fInitialize() ;
  27. ]]>
  28. </script>
  29. <submission id="TRRPB12201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/grid/datalist/drdatalist"/>
  30. </model>
  31. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  32. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  33. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  34. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  35. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  36. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  37. <script type="javascript" src="../../../mis/paybnusmngtweb/js/RWP001.js"/>
  38. <script type="javascript">
  39. <![CDATA[
  40. function fInitialize()
  41. {
  42. // misfComboComCdList("Z0007", cmb_instcd);
  43. // addGridComboItem("cmb_instcd", "전체", "","above"); // 기관콤보박스에 '전체'를 추가
  44. misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","Y","Y");
  45. model.setValue("/root/send/drdd", getCurrentDate());
  46. model.setValue("/root/send/drinstcd", getUserInfo("dutplceinstcd")); // 사용자 세션에 있는 기관코드로 설정
  47. misfGetUserAuth();
  48. if(PSN_INST_YN != "Y") {
  49. cmb_instcd.disabled = true;
  50. }
  51. misfGridInit(grd_drdatalist);
  52. fDelGridData();
  53. model.refresh();
  54. }
  55. function fDelGridData()
  56. {
  57. //그리드 초기화 작업
  58. model.removeNodeset("/root/grid");
  59. grd_drdatalist.rowHeight(0) = '50';
  60. grd_drdatalist.rowHeight(1) = '50';
  61. model.makeNode("/root/grid/datalist");
  62. misfGridInit(grd_drdatalist);
  63. }
  64. var flag = 0; // flag 0 : 내과가 없는 기관, 1: 내과가 있는 기관(내과소계 생성),
  65. function fSetSum()
  66. {
  67. var sum = 0;
  68. var rows = grd_drdatalist.rows;
  69. var temp = 0;
  70. for(var i=2; i <=37; i++) {
  71. for(var j=2 ; j <= rows; j++) {
  72. temp = model.getValue("/root/grid/datalist/drdatalist["+ j +"]/deptcd");
  73. if( temp.substr(0,3) == '201' )
  74. {
  75. flag++;
  76. if( flag == 1 ) {
  77. grd_drdatalist.insertRow(2);
  78. grd_drdatalist.valueMatrix(2,1) = "내과소계";
  79. grd_drdatalist.valueMatrix(2,grd_drdatalist.colRef("deptcd") ) = "201";
  80. grd_drdatalist.rowStyle(2, "all","background-color") = "#9966ff";
  81. flag++;
  82. }
  83. flag--;
  84. var temp = grd_drdatalist.valueMatrix(j+1, i);
  85. sum = parseInt(sum) + parseInt(temp);
  86. }
  87. else {
  88. if(flag == 0 )
  89. break;
  90. }// end if
  91. } // end for(j)
  92. if(flag == 0) {
  93. break; // 내과가 없는 기관일 경우 내과소계가 필요없으므로 빠져나간다.
  94. }
  95. j = 2;
  96. grd_drdatalist.valueMatrix(2, i) = sum;
  97. sum = 0;
  98. } // end for(i)
  99. }
  100. function fSetTotal()
  101. {
  102. grd_drdatalist.addRow();
  103. var rows = grd_drdatalist.rows;
  104. var sum = 0;
  105. var temp = 0;
  106. var j=2;
  107. for(var i=2; i <= 37; i++) {
  108. if(flag > 0 )
  109. j++; // 내과소계가 있을경우에는 내과소계는 총계에서 제외해야 하므로 j++한다.
  110. for( ; j < rows-1; j++) {
  111. var temp = grd_drdatalist.valueMatrix(j, i);
  112. sum = parseInt(sum) + parseInt(temp);
  113. } // end for(j)
  114. grd_drdatalist.valueMatrix(j, 1) = "총 계";
  115. grd_drdatalist.valueMatrix(j, i) = parseInt(sum);
  116. grd_drdatalist.rowStyle(j, "all","background-color") = "#99ccff";
  117. sum = 0;
  118. j = 2;
  119. } // end for(i)
  120. }
  121. ]]>
  122. </script>
  123. </xhtml:head>
  124. <xhtml:body style="margin-left:8; margin-right:8; ">
  125. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  126. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">교원및전공의현황</caption>
  127. </group>
  128. <group id="group2" scroll="auto" style="left:0px; top:40px; width:1195px; height:740px; ">
  129. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1193px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  130. <button id="btn_search" class="btn1_letter2" style="left:1130px; top:17px; width:56px; height:22px; ">
  131. <caption>조회</caption>
  132. <script type="javascript" ev:event="DOMActivate">
  133. <![CDATA[
  134. //그리드 관련 data 초기화.
  135. fDelGridData();
  136. flag = 0;
  137. //현황조회 select
  138. submit("TRRPB12201");
  139. grd_drdatalist.colStyle(grd_drdatalist.colRef("prfamt"),"data","background-color") = "#ffff99"; // 교수 계
  140. grd_drdatalist.colStyle(grd_drdatalist.colRef("subprfamt"),"data","background-color") = "#ffff99"; // 부교수 계
  141. grd_drdatalist.colStyle(grd_drdatalist.colRef("joprfamt"),"data","background-color") = "#ffff99"; // 조교수 계
  142. grd_drdatalist.colStyle(grd_drdatalist.colRef("reglramt"),"data","background-color") = "#ffff99"; // 전임강사 계
  143. grd_drdatalist.colStyle(grd_drdatalist.colRef("tchramt"),"data","background-color") = "#ffff99"; // 교원소계
  144. grd_drdatalist.colStyle(grd_drdatalist.colRef("dramt"),"data","background-color") = "#ffcc99"; // 전문의소계
  145. grd_drdatalist.colStyle(grd_drdatalist.colRef("residentamt"),"data","background-color") = "#ffff99"; // R소계
  146. grd_drdatalist.colStyle(grd_drdatalist.colRef("apptcdramt"),"data","background-color") = "#ffcc99"; // 전공의 소계
  147. grd_drdatalist.colStyle(grd_drdatalist.colRef("assistamt"),"data","background-color") = "#ffcc99"; // 조교 소계
  148. grd_drdatalist.colStyle(grd_drdatalist.colRef("amt"),"data","background-color") = "#ff9900"; // 총계
  149. if( grd_drdatalist.rows != grd_drdatalist.fixedRows ) { // 고정된 행이 두개이므로 조회내역이 없어도 grd_drdatalist.rows는 2이다.
  150. fSetSum();
  151. fSetTotal();
  152. grd_drdatalist.refresh();
  153. }
  154. else
  155. messageBox("조회내역이","I004");
  156. ]]>
  157. </script>
  158. </button>
  159. <line id="line13" class="line_4" style="x1:1120px; y1:12px; x2:1120px; y2:42px; "/>
  160. <caption id="cap_instcd" class="search_name" style="left:13px; top:19px; width:86px; height:17px; ">기 관 :</caption>
  161. <select1 id="cmb_instcd" ref="/root/send/drinstcd" class="combo_s_essential" appearance="minimal" style="left:96px; top:18px; width:189px; height:19px; text-align:center; ">
  162. <choices>
  163. <itemset>
  164. <label/>
  165. <value/>
  166. </itemset>
  167. </choices>
  168. <script type="javascript" ev:event="xforms-value-changed">
  169. <![CDATA[
  170. flag = 0;
  171. ]]>
  172. </script>
  173. </select1>
  174. <caption id="caption22" class="search_name" style="left:348px; top:19px; width:94px; height:17px; ">조회년월 :</caption>
  175. <input id="ipt_dtdd" ref="/root/send/drdd" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" style="left:437px; top:18px; width:135px; height:19px; text-align:center; vertical-align:middle; ">
  176. <script type="javascript" ev:event="xforms-value-changed">
  177. <![CDATA[
  178. var instcd = cmb_instcd.value;
  179. if( getStringLength(ipt_dtdd.value) == "8" ) {
  180. model.removeNodeset(cmb_instcd.attribute("ref"));
  181. model.makeNode("/root/send/drinstcd");
  182. misfComboInstCdListMulti("cmb_instcd",ipt_dtdd.value,"","Y","Y");
  183. cmb_instcd.value = instcd;
  184. model.refresh();
  185. }
  186. ]]>
  187. </script>
  188. </input>
  189. <caption id="caption28" class="tit_2" style="left:5px; top:58px; width:144px; height:14px; ">현황조회 List</caption>
  190. <line id="line193" class="line_1" style="x1:2px; y1:71px; x2:1192px; y2:71px; "/>
  191. <datagrid id="grd_drdatalist" nodeset="/root/grid/datalist/drdatalist" autoresize="true" caption="구분^교수^교수^교수^교수^부교수^부교수^부교수^부교수^조교수^조교수^조교수^조교수^전임강사^전임강사^전임강사^전임강사^조&#xA;교^교&#xA;원&#xA;소&#xA;계^휴&#xA;직&#xA;자^임&#xA;상&#xA;강&#xA;사^연&#xA;구&#xA;강&#xA;사^연구계약교원^전&#xA;문&#xA;의&#xA;소&#xA;계^전공의^전공의^전공의^전공의^전공의^전공의^임&#xA;의&#xA;수&#xA;련&#xA;의^전&#xA;공&#xA;의&#xA;소&#xA;계^연&#xA;구&#xA;조&#xA;교^교&#xA;육&#xA;연&#xA;구&#xA;조&#xA;교^조&#xA;교&#xA;소&#xA;계^임&#xA;시&#xA;직&#xA;의&#xA;사^총&#xA;계^부서코드|구분^정^임상^연구^계^정^임상^연구^계^정^임상^연구^계^정^부^연구^계^조&#xA;교^교&#xA;원&#xA;소&#xA;계^휴&#xA;직&#xA;자^임&#xA;상&#xA;강&#xA;사^연&#xA;구&#xA;강&#xA;사^연구계약교원^전&#xA;문&#xA;의&#xA;소&#xA;계^인턴^R1^R2^R3^R4^R&#xA;소계^임&#xA;의&#xA;수&#xA;련&#xA;의^전&#xA;공&#xA;의&#xA;소&#xA;계^연&#xA;구&#xA;조&#xA;교^교&#xA;육&#xA;연&#xA;구&#xA;조&#xA;교^조&#xA;교&#xA;소&#xA;계^임&#xA;시&#xA;직&#xA;의&#xA;사^총&#xA;계^부서코드" colsep="^" colwidth="138, 25, 25, 25, 30, 25, 25, 25, 30, 25, 25, 25, 30, 25, 25, 25, 30, 25, 40, 25, 25, 25, 25, 45, 25, 25, 25, 25, 25, 30, 30, 45, 25, 25, 35, 25, 45, 100" extendlastcol="scroll" frozencols="1" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="200" rowsep="|" selectionmode="byrow" subtotalposition="below" style="left:0px; top:76px; width:1195px; height:659px; text-align:center; ">
  192. <col ref="label" style="left:20px; top:43px; width:100px; height:23px; text-align:left; "/>
  193. <col ref="reglprf" format="#,###" style="text-align:right; "/>
  194. <col ref="clincprf" format="#,###" style="text-align:right; "/>
  195. <col ref="stdyprf" format="#,###" style="text-align:right; "/>
  196. <col ref="prfamt" format="#,###" style="font-weight:bold; text-align:right; "/>
  197. <col ref="reglsubprf" format="#,###" style="text-align:right; "/>
  198. <col ref="clincsubprf" format="#,###" style="text-align:right; "/>
  199. <col ref="stdysubprf" format="#,###" style="text-align:right; "/>
  200. <col ref="subprfamt" format="#,###" style="font-weight:bold; text-align:right; "/>
  201. <col ref="regljoprf" format="#,###" style="text-align:right; "/>
  202. <col ref="clincjoprf" format="#,###" style="text-align:right; "/>
  203. <col ref="stdyjoprf" format="#,###" style="text-align:right; "/>
  204. <col ref="joprfamt" format="#,###" style="font-weight:bold; text-align:right; "/>
  205. <col ref="regllr" format="#,###" style="text-align:right; "/>
  206. <col ref="subreglr" format="#,###" style="text-align:right; "/>
  207. <col ref="stdyreglr" format="#,###" style="text-align:right; "/>
  208. <col ref="reglramt" format="#,###" style="font-weight:bold; text-align:right; "/>
  209. <col ref="assist" format="#,###" style="text-align:right; "/>
  210. <col ref="tchramt" format="#,###" style="font-weight:bold; text-align:right; "/>
  211. <col ref="layoff" format="#,###" style="text-align:right; "/>
  212. <col ref="clinclr" format="#,###" style="text-align:right; "/>
  213. <col ref="stdylr" format="#,###" style="text-align:right; "/>
  214. <col ref="stdyconlr" format="#,###" style="text-align:right; "/>
  215. <col ref="dramt" format="#,###" style="font-weight:bold; text-align:right; "/>
  216. <col ref="intern" format="#,###" style="text-align:right; "/>
  217. <col ref="resident1" format="#,###" style="text-align:right; "/>
  218. <col ref="resident2" format="#,###" style="text-align:right; "/>
  219. <col ref="resident3" format="#,###" style="text-align:right; "/>
  220. <col ref="resident4" format="#,###" style="text-align:right; "/>
  221. <col ref="residentamt" format="#,###" style="font-weight:bold; text-align:right; "/>
  222. <col ref="apprtcdr" format="#,###" style="text-align:right; "/>
  223. <col ref="apptcdramt" format="#,###" style="font-weight:bold; text-align:right; "/>
  224. <col ref="stdyassist" format="#,###" style="text-align:right; "/>
  225. <col ref="edustdyassist" format="#,###" style="text-align:right; "/>
  226. <col ref="assistamt" format="#,###" style="font-weight:bold; text-align:right; "/>
  227. <col ref="tempdramt" format="#,###" style="text-align:right; "/>
  228. <col ref="amt" format="#,###" style="font-weight:bold; text-align:right; "/>
  229. <col ref="deptcd" visibility="hidden"/>
  230. <script type="javascript" ev:event="ondblclick">
  231. <![CDATA[
  232. var deptcd = grd_drdatalist.valueMatrix(grd_drdatalist.row, grd_drdatalist.colRef("deptcd"));
  233. var prntflag = grd_drdatalist.col - 1;
  234. if (prntflag <= 0) return;
  235. model.removenode("/root/temp/source");
  236. model.makeNode("/root/temp/source");
  237. model.makeValue("/root/temp/source/basedd",ipt_dtdd.value);
  238. model.makeValue("/root/temp/source/instcd", cmb_instcd.value);
  239. model.makeValue("/root/temp/source/deptcd", deptcd);
  240. model.makeValue("/root/temp/source/prntflag", prntflag);
  241. modal("SPRPB12201","","","","","/root/temp/source", "/root/target" );
  242. ]]>
  243. </script>
  244. </datagrid>
  245. <button id="btn_saveexcel" class="btn5_letter4" style="left:1127px; top:51px; width:64px; height:19px; ">
  246. <caption>엑셀저장</caption>
  247. <script type="javascript" ev:event="DOMActivate">
  248. <![CDATA[
  249. var fileName = window.fileDialog ("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  250. if (fileName != "")
  251. {
  252. grd_drdatalist.fixedCols = 0;
  253. grd_drdatalist.saveExcel(fileName,"sheetname:sheet1");
  254. grd_drdatalist.fixedCols = 1;
  255. }
  256. ]]>
  257. </script>
  258. </button>
  259. </group>
  260. <group id="grp_btn" scroll="auto" style="left:0px; top:13px; width:1195px; height:25px; "/>
  261. </xhtml:body>
  262. </xhtml:html>