SMRTC00900_인턴수련인원정보.xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  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. <intntrngpsnnolist/>
  11. </main>
  12. <send>
  13. <yy/>
  14. <instcd/>
  15. <orddeptcd/>
  16. <save>
  17. <intntrngpsnnolist/>
  18. </save>
  19. </send>
  20. <init/>
  21. <hidden>
  22. </hidden>
  23. <temp>
  24. <scheflag/>
  25. </temp>
  26. </root>
  27. </instance>
  28. <submission id="TRRTC00901" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/intntrngpsnnolist"/>
  29. <submission id="TXRTC00901" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/temp"/>
  30. <bind id="bind1" ref="/root/main/intntrngpsnnolist[instcd = '9998']/marpsnno" calculate="sum(/root/main/intntrngpsnnolist[instcd != '9998']/marpsnno)"/>
  31. <bind id="bind2" ref="/root/main/intntrngpsnnolist[instcd = '9998']/marpsnno" calculate="sum(/root/main/intntrngpsnnolist[instcd != '9998']/aprpsnno)"/>
  32. <bind id="bind3" ref="/root/main/intntrngpsnnolist[instcd = '9998']/maypsnno" calculate="sum(/root/main/intntrngpsnnolist[instcd != '9998']/maypsnno)"/>
  33. <bind id="bind4" ref="/root/main/intntrngpsnnolist[instcd = '9998']/junpsnno" calculate="sum(/root/main/intntrngpsnnolist[instcd != '9998']/junpsnno)"/>
  34. <bind id="bind5" ref="/root/main/intntrngpsnnolist[instcd = '9998']/julpsnno" calculate="sum(/root/main/intntrngpsnnolist[instcd != '9998']/julpsnno)"/>
  35. <bind id="bind6" ref="/root/main/intntrngpsnnolist[instcd = '9998']/augpsnno" calculate="sum(/root/main/intntrngpsnnolist[instcd != '9998']/augpsnno)"/>
  36. <bind id="bind7" ref="/root/main/intntrngpsnnolist[instcd = '9998']/seppsnno" calculate="sum(/root/main/intntrngpsnnolist[instcd != '9998']/seppsnno)"/>
  37. <bind id="bind8" ref="/root/main/intntrngpsnnolist[instcd = '9998']/octpsnno" calculate="sum(/root/main/intntrngpsnnolist[instcd != '9998']/octpsnno)"/>
  38. <bind id="bind9" ref="/root/main/intntrngpsnnolist[instcd = '9998']/novpsnno" calculate="sum(/root/main/intntrngpsnnolist[instcd != '9998']/novpsnno)"/>
  39. <bind id="bind10" ref="/root/main/intntrngpsnnolist[instcd = '9998']/decpsnno" calculate="sum(/root/main/intntrngpsnnolist[instcd != '9998']/decpsnno)"/>
  40. <bind id="bind11" ref="/root/main/intntrngpsnnolist[instcd = '9998']/janpsnno" calculate="sum(/root/main/intntrngpsnnolist[instcd != '9998']/janpsnno)"/>
  41. <bind id="bind12" ref="/root/main/intntrngpsnnolist[instcd = '9998']/febpsnno" calculate="sum(/root/main/intntrngpsnnolist[instcd != '9998']/febpsnno)"/>
  42. <bind id="bind13" ref="/root/main/intntrngpsnnolist[instcd = '9998']/tot" calculate="sum(/root/main/intntrngpsnnolist[instcd != '9998']/tot)"/>
  43. </model>
  44. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  45. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  46. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  47. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  48. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  49. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  50. <script type="javascript" src="../../../mis/tistrngeducplanmngtweb/js/SMRTS00600.js"/>
  51. <script type="javascript" src="../../../mis/tistrngeducbaseinfomngtweb/js/RTC001.js"/>
  52. <script type="javascript" ev:event="xforms-ready">
  53. <![CDATA[
  54. //사용자 권한
  55. fCheckAuth();
  56. // 그리드 초기화
  57. misfGridInit(grd_intntrngpsnnolist);
  58. misfMsterDetailSet(grd_intntrngpsnnolist, null, "TRRTC00901", "Y");
  59. misfComboComCdListMulti("R0305,R0234", "cmb_instcd,grd_intntrngpsnnolist.orddeptcd");
  60. misfComboCopyItemSet(grd_intntrngpsnnolist, "orddeptcd", cmb_orddeptcd, "/root/send/orddeptcd"); // 진료과
  61. // 2007-11-26 진료과전체 조회조건필요, 과정렬 acwon수정(오류발생 addComboItem으로 대체
  62. /*
  63. model.duplicate("/root/init/comcd/R0234", instance1.selectSingleNode("/root/init/comcd/R0234/R0234[1]"), "*[1]");
  64. model.setValue("/root/init/comcd/R0234/R0234[1]/cdid", "");
  65. model.setValue("/root/init/comcd/R0234/R0234[1]/cdnm", "전체");
  66. */
  67. addComboItem( "cmb_orddeptcd", "전체", "", "above");
  68. var today = getCurrentDate();
  69. var cur_mm = parseInt(today.substring(4, 6));
  70. var cur_yy = parseInt(today.substring(0, 4));
  71. if (cur_mm >= 11)
  72. cur_yy++;
  73. model.setValue("/root/send/yy", cur_yy);
  74. model.refresh();
  75. ]]>
  76. </script>
  77. <script type="javascript">
  78. <![CDATA[
  79. //========================================================================================
  80. //버튼에 대한 화면 권한 체크(R : 읽기, X : 입력/수정/삭제, P : 출력)
  81. //========================================================================================
  82. function fCheckAuth() {
  83. btn_search.disabled = !checkAuth("R") ;
  84. btn_save.disabled = !checkAuth("X") ;
  85. rtsfCheckTermFlag('05',cmb_orddeptcd.value);
  86. /*
  87. var from = model.getValue("/root/updtsche/list/schefrom");
  88. var to = model.getValue("/root/updtsche/list/scheto");
  89. var frommm=from.substring(0,2);
  90. var fromdd=from.substring(2,4);
  91. var tomm=to.substring(0,2);
  92. var todd=to.substring(2,4);
  93. var today = getCurrentDate();
  94. var cur_yy = parseInt(today.substring(0, 4));
  95. var fromyymmdd=cur_yy+from;
  96. var toyymmdd=cur_yy+to;
  97. var schefromto= "인턴 수련 인원정보 입력기간은 "+cur_yy+"년 "+ frommm+"월 "+fromdd+"일 "+"~ "+ cur_yy+"년 "+ tomm+"월 "+todd+"일 까지 입니다.";
  98. model.setValue("/root/temp/scheflag",schefromto);
  99. if( parseInt(today) >= parseInt(fromyymmdd) && parseInt(today) <= parseInt(toyymmdd) ){
  100. btn_save.disabled=false;
  101. }else{
  102. btn_save.disabled=true;;
  103. }
  104. */
  105. var from = model.getValue("/root/updtsche/list/schefrom");
  106. var to = model.getValue("/root/updtsche/list/scheto");
  107. var fromyy=from.substr(0,4);
  108. var frommm=from.substr(4,2);
  109. var fromdd=from.substr(6,2);
  110. var toyy=to.substr(0,4);
  111. var tomm=to.substr(4,2);
  112. var todd=to.substr(6,2);
  113. var today = getCurrentDate();
  114. var schefromto= "인턴 수련 인원정보 입력기간은 "+fromyy+"년 "+ frommm+"월 "+fromdd+"일 "+"~ "+ toyy+"년 "+ tomm+"월 "+todd+"일 까지 입니다.";
  115. model.setValue("/root/temp/scheflag",schefromto);
  116. if( parseInt(today) >= parseInt(from) && parseInt(today) <= parseInt(to) ){
  117. btn_save.disabled=false;
  118. }else{
  119. btn_save.disabled=true;;
  120. }
  121. }
  122. function fGetList() {
  123. misfMsterDetailRetrieve();
  124. }
  125. function ftotManCnt(){
  126. var marpsnno = grd_intntrngpsnnolist.valueMatrix(grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("marpsnno"));
  127. var aprpsnno = grd_intntrngpsnnolist.valueMatrix(grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("aprpsnno"));
  128. var maypsnno = grd_intntrngpsnnolist.valueMatrix(grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("maypsnno"));
  129. var junpsnno = grd_intntrngpsnnolist.valueMatrix(grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("junpsnno"));
  130. var julpsnno = grd_intntrngpsnnolist.valueMatrix(grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("julpsnno"));
  131. var augpsnno = grd_intntrngpsnnolist.valueMatrix(grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("augpsnno"));
  132. var seppsnno = grd_intntrngpsnnolist.valueMatrix(grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("seppsnno"));
  133. var octpsnno = grd_intntrngpsnnolist.valueMatrix(grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("octpsnno"));
  134. var novpsnno = grd_intntrngpsnnolist.valueMatrix(grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("novpsnno"));
  135. var decpsnno = grd_intntrngpsnnolist.valueMatrix(grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("decpsnno"));
  136. var janpsnno = grd_intntrngpsnnolist.valueMatrix(grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("janpsnno"));
  137. var febpsnno = grd_intntrngpsnnolist.valueMatrix(grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("febpsnno"));
  138. if(marpsnno ==''){
  139. marpsnno=0;
  140. }else{
  141. marpsnno=marpsnno;
  142. }
  143. if(aprpsnno ==''){
  144. aprpsnno=0;
  145. }else{
  146. aprpsnno=aprpsnno;
  147. }
  148. if(maypsnno ==''){
  149. maypsnno=0;
  150. }else{
  151. maypsnno=maypsnno;
  152. }
  153. if(junpsnno ==''){
  154. junpsnno=0;
  155. }else{
  156. junpsnno=junpsnno;
  157. }
  158. if(julpsnno ==''){
  159. julpsnno=0;
  160. }else{
  161. julpsnno=julpsnno;
  162. }
  163. if(augpsnno ==''){
  164. augpsnno=0;
  165. }else{
  166. augpsnno=augpsnno;
  167. }
  168. if(seppsnno ==''){
  169. seppsnno=0;
  170. }else{
  171. seppsnno=seppsnno;
  172. }
  173. if(octpsnno ==''){
  174. octpsnno=0;
  175. }else{
  176. octpsnno=octpsnno;
  177. }
  178. if(novpsnno ==''){
  179. novpsnno=0;
  180. }else{
  181. novpsnno=novpsnno;
  182. }
  183. if(decpsnno ==''){
  184. decpsnno=0;
  185. }else{
  186. decpsnno=decpsnno;
  187. }
  188. if(janpsnno ==''){
  189. janpsnno=0;
  190. }else{
  191. janpsnno=janpsnno;
  192. }
  193. if(febpsnno ==''){
  194. febpsnno=0;
  195. }else{
  196. febpsnno=febpsnno;
  197. }
  198. if(grd_intntrngpsnnolist.col == grd_intntrngpsnnolist.colRef("marpsnno")||grd_intntrngpsnnolist.col == grd_intntrngpsnnolist.colRef("aprpsnno")
  199. ||grd_intntrngpsnnolist.col == grd_intntrngpsnnolist.colRef("maypsnno")||grd_intntrngpsnnolist.col == grd_intntrngpsnnolist.colRef("junpsnno")
  200. ||grd_intntrngpsnnolist.col == grd_intntrngpsnnolist.colRef("julpsnno")||grd_intntrngpsnnolist.col == grd_intntrngpsnnolist.colRef("augpsnno")
  201. ||grd_intntrngpsnnolist.col == grd_intntrngpsnnolist.colRef("seppsnno")||grd_intntrngpsnnolist.col == grd_intntrngpsnnolist.colRef("octpsnno")
  202. ||grd_intntrngpsnnolist.col == grd_intntrngpsnnolist.colRef("novpsnno")||grd_intntrngpsnnolist.col == grd_intntrngpsnnolist.colRef("decpsnno")
  203. ||grd_intntrngpsnnolist.col == grd_intntrngpsnnolist.colRef("janpsnno")||grd_intntrngpsnnolist.col == grd_intntrngpsnnolist.colRef("febpsnno")){
  204. tot = parseInt(marpsnno)+parseInt(aprpsnno)+parseInt(maypsnno)+parseInt(junpsnno)+parseInt(julpsnno)+parseInt(augpsnno)+parseInt(seppsnno)+parseInt(octpsnno)+parseInt(novpsnno)+parseInt(decpsnno)+parseInt(janpsnno)+parseInt(febpsnno);
  205. grd_intntrngpsnnolist.valueMatrix(grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("tot")) = tot;
  206. }
  207. }
  208. ]]>
  209. </script>
  210. </xhtml:head>
  211. <xhtml:body style="margin-left:8; margin-right:8; ">
  212. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  213. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">인턴 수련 인원정보</caption>
  214. </group>
  215. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  216. <datagrid id="grd_intntrngpsnnolist" nodeset="/root/main/intntrngpsnnolist" caption="caption4^caption3^년도^기관^진료과^3월^4월^5월^6월^7월^8월^9월^10월^11월^12월^1월^2월^총합^caption1^caption2" colsep="^" colwidth="100, 100, 80, 150, 110, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:0px; top:73px; width:1185px; height:629px; ">
  217. <col ref="instcd" visibility="hidden"/>
  218. <col ref="oldorddeptcd" visibility="hidden"/>
  219. <col ref="yy" text-transform="uppercase" style="text-align:center; "/>
  220. <col ref="instnm"/>
  221. <col ref="orddeptcd" type="combo" _required="true">
  222. <choices>
  223. <itemset>
  224. <label/>
  225. <value/>
  226. </itemset>
  227. </choices>
  228. </col>
  229. <col ref="marpsnno" type="input" format="###" maxlength="3" showmask="true" style="text-align:center; "/>
  230. <col ref="aprpsnno" type="input" format="###" maxlength="3" showmask="true" style="text-align:center; "/>
  231. <col ref="maypsnno" type="input" format="###" maxlength="3" showmask="true" style="text-align:center; "/>
  232. <col ref="junpsnno" type="input" format="###" maxlength="3" showmask="true" style="text-align:center; "/>
  233. <col ref="julpsnno" type="input" format="###" maxlength="3" showmask="true" style="text-align:center; "/>
  234. <col ref="augpsnno" type="input" format="###" maxlength="3" showmask="true" style="text-align:center; "/>
  235. <col ref="seppsnno" type="input" format="###" maxlength="3" showmask="true" style="text-align:center; "/>
  236. <col ref="octpsnno" type="input" format="###" maxlength="3" showmask="true" style="text-align:center; "/>
  237. <col ref="novpsnno" type="input" format="###" maxlength="3" showmask="true" style="text-align:center; "/>
  238. <col ref="decpsnno" type="input" format="###" maxlength="3" showmask="true" style="text-align:center; "/>
  239. <col ref="janpsnno" type="input" format="###" maxlength="3" showmask="true" style="text-align:center; "/>
  240. <col ref="febpsnno" type="input" format="###" maxlength="3" showmask="true" style="text-align:center; "/>
  241. <col ref="tot" format="#,###"/>
  242. <script type="javascript" ev:event="xforms-value-changed">
  243. <![CDATA[
  244. ftotManCnt();
  245. ]]>
  246. </script>
  247. </datagrid>
  248. <line id="line3" class="line_1" style="x1:0px; y1:68px; x2:1185px; y2:68px; "/>
  249. <group id="group4" style="left:0px; top:0px; width:1195px; height:40px; vertical-align:top; ">
  250. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1190px; height:40px; background-color:#fffbf2; border-color:#ffd799; "/>
  251. <button id="btn_search" class="btn1_letter2" navindex="10" style="left:1125px; top:7px; width:56px; height:22px; text-align:left; ">
  252. <caption>조회</caption>
  253. <script type="javascript" ev:event="DOMActivate">
  254. <![CDATA[
  255. //필수 입력 항목 체크(공통 ftHelper.js)
  256. if ( !isRequiredControls("ipt_yy", "cmb_instcd") ) {
  257. return false;
  258. }
  259. fGetList();
  260. ]]>
  261. </script>
  262. </button>
  263. <line id="line1" class="line_4" style="x1:1110px; y1:6px; x2:1110px; y2:36px; border-color:#ffe4bb; border-left-style:solid; "/>
  264. <caption id="cap_yy" class="search_name" style="left:15px; top:9px; width:86px; height:17px; ">년 도 :</caption>
  265. <caption id="cap_instcd" class="search_name" style="left:225px; top:9px; width:86px; height:17px; ">기관 :</caption>
  266. <caption id="cap_orddeptcd" class="search_name" style="left:435px; top:9px; width:86px; height:17px; ">진료과 :</caption>
  267. <select1 id="cmb_orddeptcd" ref="/root/send/orddeptcd" class="combo_s_essential" navindex="3" appearance="minimal" style="left:525px; top:10px; width:100px; height:19px; ">
  268. <choices>
  269. <itemset>
  270. <label/>
  271. <value/>
  272. </itemset>
  273. </choices>
  274. </select1>
  275. <select1 id="cmb_instcd" ref="/root/send/instcd" class="combo_s_essential" navindex="2" appearance="minimal" style="left:310px; top:10px; width:100px; height:19px; ">
  276. <choices>
  277. <itemset>
  278. <label/>
  279. <value/>
  280. </itemset>
  281. </choices>
  282. </select1>
  283. <input id="ipt_yy" ref="/root/send/yy" class="input_s_essential" navindex="1" style="left:100px; top:10px; width:100px; height:19px; "/>
  284. </group>
  285. <button id="btn_excel" class="btn2_letter4" style="left:1007px; top:48px; width:64px; height:19px; vertical-align:bottom; ">
  286. <caption>엑셀저장</caption>
  287. <script type="javascript" ev:event="DOMActivate">
  288. <![CDATA[
  289. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  290. if (fileName != "") {;
  291. grd_intntrngpsnnolist.saveExcel(fileName);
  292. }
  293. ]]>
  294. </script>
  295. </button>
  296. <button id="btn_deleterow" class="btn2_letter3" style="left:1130px; top:48px; width:53px; height:19px; ">
  297. <caption>행삭제</caption>
  298. <script type="javascript" ev:event="DOMActivate">
  299. <![CDATA[
  300. misfGridIUD(grd_intntrngpsnnolist, "D");
  301. model.refresh();
  302. ]]>
  303. </script>
  304. </button>
  305. <button id="btn_addrow" class="btn2_letter3" style="left:1074px; top:48px; width:53px; height:19px; ">
  306. <caption>행추가</caption>
  307. <script type="javascript" ev:event="DOMActivate">
  308. <![CDATA[
  309. misfGridIUD(grd_intntrngpsnnolist, "A");
  310. grd_intntrngpsnnolist.valueMatrix( grd_intntrngpsnnolist.row, grd_intntrngpsnnolist.colRef("instnm") ) = cmb_instcd.label;
  311. ]]>
  312. </script>
  313. </button>
  314. <output id="oup_scheflag" ref="/root/temp/scheflag" style="left:5px; top:48px; width:520px; height:19px; font-weight:bold; color:#0000ff; "/>
  315. </group>
  316. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  317. <line id="line75" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  318. <button id="btn_save" class="btn5_letter2" style="left:1139px; top:3; width:56px; height:22px; ">
  319. <caption>저장</caption>
  320. <script type="javascript" ev:event="DOMActivate">
  321. <![CDATA[
  322. var retMes = messageBox("저장 하시겠습니까?", "Q999");
  323. if ( retMes != 6) {
  324. return;
  325. }
  326. var updtdata = getGridUpdateData(grd_intntrngpsnnolist);
  327. if (updtdata == "") {
  328. messageBox("변경된 데이터가","I004");
  329. return;
  330. }
  331. if(!checkRequiredColumn("grd_intntrngpsnnolist")) return;
  332. // 중복제거
  333. // 수정 뒤에 인덱스를 꼭 줘야함!!
  334. misfCheckDupData(grd_intntrngpsnnolist,5);
  335. misfSave("TXRTC00901");
  336. fGetList();
  337. ]]>
  338. </script>
  339. </button>
  340. </group>
  341. </xhtml:body>
  342. </xhtml:html>