SMRTR00400_채용성적일괄등록.xrw 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  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. <apntscorebatrgst/>
  11. </main>
  12. <send>
  13. <apntyy/>
  14. <supinfqurtyyflag>1</supinfqurtyyflag>
  15. <fstlattrmflag>1</fstlattrmflag>
  16. <trngflag/>
  17. <dentyn>1</dentyn>
  18. <scrngflag>2</scrngflag>
  19. <korname/>
  20. <rregno/>
  21. <examno/>
  22. <scorekind/>
  23. <apntscorebatrgst/>
  24. </send>
  25. <init/>
  26. <hidden>
  27. </hidden>
  28. <temp>
  29. </temp>
  30. </root>
  31. </instance>
  32. <submission id="TRRTR00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/apntscorebatrgst"/>
  33. <submission id="TXRTR00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  34. </model>
  35. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  36. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  37. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  38. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  39. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  40. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  41. <script type="javascript" ev:event="xforms-ready">
  42. <![CDATA[
  43. //사용자 권한
  44. fCheckAuth();
  45. // 그리드 초기화
  46. misfGridInit(grd_apntscorebatrgst);
  47. misfMsterDetailSet(grd_apntscorebatrgst, null, "TRRTR00401", "Y");
  48. misfComboComCdListMulti("R0237,R0238,R0151,R0239,R0240,R0274,R0275", "cmb_supinfqurtyyflag,cmb_fstlattrmflag,cmb_trngflag,cmb_dentyn,cmb_scrngflag,cmb_scorekind274,cmb_scorekind275");
  49. // 2007-11-16 년도 디폴트설정 acwon수정
  50. /*var sDate = getNewDate();
  51. model.setValue("/root/send/apntyy", sDate.getFullYear());
  52. model.refresh();*/
  53. var today = getCurrentDate();
  54. var cur_mm = parseInt(today.substring(4, 6));
  55. var cur_yy = parseInt(today.substring(0, 4));
  56. if (cur_mm >= 11)
  57. cur_yy++;
  58. model.setValue("/root/send/apntyy", cur_yy);
  59. model.refresh();
  60. //end
  61. //그리드의 타이틀을 누르면 sort되는 기능
  62. grd_apntscorebatrgst.explorerbar = "sort";
  63. grd_apntscorebatrgst.selectionMode = "byrow"
  64. ]]>
  65. </script>
  66. <script type="javascript">
  67. <![CDATA[
  68. //========================================================================================
  69. //버튼에 대한 화면 권한 체크(R : 읽기, X : 입력/수정/삭제, P : 출력)
  70. //========================================================================================
  71. function fCheckAuth() {
  72. btn_search.disabled = !checkAuth("R") ;
  73. btn_save.disabled = !checkAuth("X") ;
  74. }
  75. function fGetList() {
  76. //필수 입력 항목 체크(공통 ftHelper.js)
  77. if ( !isRequiredControls("ipt_apntyy", "cmb_supinfqurtyyflag", "cmb_fstlattrmflag", "cmb_trngflag", "cmb_dentyn", "cmb_scrngflag", "cmb_scorekind") ) {
  78. return false;
  79. }
  80. misfMsterDetailRetrieve();
  81. fGridReset();
  82. } // function
  83. function fGridReset(vFlag) {
  84. // 총점관련 전체필드를 숨긴다.
  85. for (var i = 9; i < grd_apntscorebatrgst.cols; i++) {
  86. grd_apntscorebatrgst.colHidden(i) = true;
  87. }
  88. var scorekind = cmb_scorekind.value;
  89. if ( vFlag != "EXCEL_SAVE" ) {
  90. switch (scorekind) {
  91. case "I1": // 인턴 필기총점
  92. for (var i = 9; i <= 10; i++) {
  93. grd_apntscorebatrgst.colHidden(i) = false;
  94. }
  95. grd_apntscorebatrgst.caption = "채용번호^성적종류^수험번호^번호^주민등록번호^성명^희망병원^1지망과^필기총점^환산점수^석차^인원^등급^환산점수^영어^전산자격증^USMLE^환산점수^인턴만점^인턴총점^인턴석차^인턴인원^인턴등급^인턴판정^환산점수";
  96. break;
  97. case "I2": // 인턴 재학성적
  98. for (var i = 11; i <= 14; i++) {
  99. grd_apntscorebatrgst.colHidden(i) = false;
  100. }
  101. break;
  102. case "I3": // 인턴 선택평가
  103. for (var i = 15; i <= 18; i++) {
  104. grd_apntscorebatrgst.colHidden(i) = false;
  105. }
  106. grd_apntscorebatrgst.colHidden(8) = false;
  107. grd_apntscorebatrgst.caption = "채용번호^성적종류^수험번호^번호^주민등록번호^성명^희망병원^1지망과^사회의료봉사활동^환산점수^석차^인원^등급^환산점수^영어^전산자격증^USMLE^환산점수^인턴만점^인턴총점^인턴석차^인턴인원^인턴등급^인턴판정^환산점수";
  108. break;
  109. case "R1": // 레지던트 필기
  110. for (var i = 9; i <= 10; i++) {
  111. grd_apntscorebatrgst.colHidden(i) = false;
  112. }
  113. grd_apntscorebatrgst.caption = "채용번호^성적종류^수험번호^번호^주민등록번호^성명^희망병원^1지망과^필기총점^환산점수^석차^인원^등급^환산점수^영어^전산자격증^USMLE^환산점수^인턴만점^인턴총점^인턴석차^인턴인원^인턴등급^인턴판정^환산점수";
  114. break;
  115. case "R2": // 레지던트 의대성적
  116. for (var i = 11; i <= 14; i++) {
  117. grd_apntscorebatrgst.colHidden(i) = false;
  118. }
  119. break;
  120. case "R4": // 레지던트 인턴성적
  121. for (var i = 19; i <= 26; i++) {
  122. grd_apntscorebatrgst.colHidden(i) = false;
  123. }
  124. break;
  125. default:
  126. // do nothing here
  127. break;
  128. } // end switch
  129. } else {
  130. grd_apntscorebatrgst.colHidden(9) = false;
  131. if ( scorekind == "I3") {
  132. grd_apntscorebatrgst.caption = "채용번호^성적종류^수험번호^번호^주민등록번호^성명^희망병원^희망과^사회의료봉사활동^환산점수^석차^인원^등급^환산점수^영어^전산자격증^USMLE^환산점수^인턴만점^인턴총점^인턴석차^인턴인원^인턴등급^인턴판정^환산점수";
  133. } else {
  134. grd_apntscorebatrgst.caption = "채용번호^성적종류^수험번호^번호^주민등록번호^성명^희망병원^희망과^필기총점^환산점수^석차^인원^등급^환산점수^영어^전산자격증^USMLE^환산점수^인턴만점^인턴총점^인턴평점^인턴석차^인턴인원^인턴등급^인턴판정^환산점수";
  135. }
  136. } // end if
  137. model.refresh();
  138. } // end function
  139. ]]>
  140. </script>
  141. </xhtml:head>
  142. <xhtml:body style="margin-left:8; margin-right:8; ">
  143. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  144. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">채용 성적 일괄 등록</caption>
  145. </group>
  146. <caption id="caption10" style="left:725px; top:705px; width:350px; height:25px; vertical-align:middle; ">상태 : 가입, 탈퇴, 보임</caption>
  147. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  148. <button id="button4" class="btn2_letter4" style="left:1053px; top:78px; width:64px; height:19px; ">
  149. <caption>엑셀저장</caption>
  150. <script type="javascript" ev:event="DOMActivate">
  151. <![CDATA[
  152. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  153. if (fileName != "") {
  154. grd_apntscorebatrgst.colHidden(1) = false;
  155. grd_apntscorebatrgst.colHidden(2) = false;
  156. //grd_apntscorebatrgst.saveExcel(fileName);
  157. grd_apntscorebatrgst.saveExcel(fileName, "", false, true);
  158. //grd_apntscorebatrgst.colHidden(1) = true;
  159. //grd_apntscorebatrgst.colHidden(2) = true;
  160. }
  161. ]]>
  162. </script>
  163. </button>
  164. <datagrid id="grd_apntscorebatrgst" nodeset="/root/main/apntscorebatrgst" caption="채용번호^성적종류^수험번호^번호^주민등록번호^성명^희망병원^1지망과^필기총점^환산점수^석차^인원^등급^환산점수^영어^전산자격증^USMLE^환산점수^인턴만점^인턴총점^인턴평점^인턴석차^인턴인원^인턴등급^인턴판정^환산점수" colsep="^" colwidth="70, 70, 80, 40, 100, 70, 113, 107, 120, 92, 46, 42, 68, 90, 88, 83, 65, 80, 70, 70, 70, 70, 70, 80, 80, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:0px; top:103px; width:1195px; height:609px; ">
  165. <col ref="apntinfono" style="text-align:center; "/>
  166. <!-- 성적종류 -->
  167. <col ref="scorekind" visibility="visible" style="text-align:center; "/>
  168. <col ref="examno" style="text-align:center; "/>
  169. <col ref="examseq" style="text-align:center; "/>
  170. <col ref="rregno" style="text-align:center; "/>
  171. <col ref="korname"/>
  172. <col ref="hopehospnm"/>
  173. <col ref="hopedeptnm"/>
  174. <!--점수 입력 필드, 필기/국시총점, 사회봉사점수-->
  175. <col ref="inputpnt" type="input" showmask="true" style="text-align:center; "/>
  176. <!--필기/국시환산점수-->
  177. <col ref="taknnotechgpnt" style="text-align:center; "/>
  178. <!--재학석차-->
  179. <col ref="bngschoolrank" type="input" visibility="hidden" format="####" maxlength="4" showmask="true" style="text-align:center; "/>
  180. <!--재학인원-->
  181. <col ref="bngschoolpsnno" type="input" visibility="hidden" format="####" maxlength="4" showmask="true" style="text-align:center; "/>
  182. <!--재학등급-->
  183. <col ref="bngschoolgrde" visibility="hidden" style="text-align:center; "/>
  184. <!--재학성적환산점수-->
  185. <col ref="bngschoolchgpnt" visibility="hidden" showmask="true" style="text-align:center; "/>
  186. <!--영어환산점수-->
  187. <col ref="engchgpnt" visibility="hidden" format="##" showmask="true" style="text-align:center; "/>
  188. <!--전산자격증환산점수-->
  189. <col ref="compulincchgpnt" visibility="hidden" format="##" showmask="true" style="text-align:center; "/>
  190. <!--사회봉사활동환산점수-->
  191. <!--usmle환산점수-->
  192. <col ref="usmlechgpnt" visibility="hidden" format="##" showmask="true" style="text-align:center; "/>
  193. <!--선택평가환산점수-->
  194. <col ref="choivaluechgpnt" visibility="hidden" format="###.##" maxlength="4.2" showmask="true" style="left:1410px; top:23px; width:81px; height:23px; text-align:center; "/>
  195. <!--인턴만점-->
  196. <col ref="intnperscore" type="input" visibility="hidden" style="left:1491px; top:23px; width:73px; height:23px; text-align:center; "/>
  197. <!--인턴총점-->
  198. <col ref="intntotpnt" type="input" visibility="hidden" style="text-align:center; "/>
  199. <!--인턴평점-->
  200. <col ref="intnavgpnt" visibility="hidden" style="text-align:center; "/>
  201. <!--인턴석차-->
  202. <col ref="intnrank" type="input" visibility="hidden" format="####" maxlength="4" showmask="true" style="text-align:center; "/>
  203. <!--인턴인원-->
  204. <col ref="intnpsnno" type="input" visibility="hidden" format="####" maxlength="4" showmask="true" style="text-align:center; "/>
  205. <!--인턴등급-->
  206. <col imemode="disabled" ref="intngrde" type="input" visibility="hidden" _chartype="upper" style="text-align:center; "/>
  207. <!--인턴판정-->
  208. <col ref="intnjudg" visibility="hidden" style="text-align:center; "/>
  209. <!--인턴판정환산점수-->
  210. <col ref="intnjudgchgpnt" visibility="hidden" maxlength="4" showmask="####.##" style="text-align:center; "/>
  211. <!--면접점수-->
  212. <col ref="intvpnt" visibility="hidden"/>
  213. <!--실기점수-->
  214. <col ref="pracpnt" visibility="hidden"/>
  215. <!--석차-->
  216. <col ref="rank" visibility="hidden"/>
  217. <!--영어선택코드-->
  218. <col ref="engchoicd" visibility="hidden"/>
  219. <col ref="apntyy" visibility="hidden"/>
  220. <col ref="supinfqurtyyflag" visibility="hidden"/>
  221. <col ref="fstlattrmflag" visibility="hidden"/>
  222. <col ref="trngflag" visibility="hidden"/>
  223. <col ref="dentyn" visibility="hidden"/>
  224. <script type="javascript" ev:event="onaftersort">
  225. <![CDATA[
  226. grd_apntscorebatrgst.gridToInstance();
  227. ]]>
  228. </script>
  229. </datagrid>
  230. <line id="line3" class="line_1" style="x1:0px; y1:98px; x2:1195px; y2:98px; "/>
  231. <caption id="caption9" class="tit_2" style="left:10px; top:84px; width:117px; height:13px; ">수험생 목록</caption>
  232. <group id="group4" style="left:0px; top:5px; width:1195px; height:65px; vertical-align:top; ">
  233. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1190px; height:63px; background-color:#fffbf2; border-color:#ffd799; "/>
  234. <button id="btn_search" class="btn1_letter2" navindex="10" style="left:1125px; top:22px; width:56px; height:22px; text-align:left; ">
  235. <caption>조회</caption>
  236. <script type="javascript" ev:event="DOMActivate">
  237. <![CDATA[
  238. fGetList();
  239. ]]>
  240. </script>
  241. </button>
  242. <line id="line1" class="line_4" style="x1:1110px; y1:6px; x2:1110px; y2:52px; border-color:#ffe4bb; border-left-style:solid; "/>
  243. <caption id="cap_scrngflag" class="search_name" style="left:15px; top:39px; width:86px; height:17px; ">전형구분 :</caption>
  244. <caption id="caption1" class="search_name" style="left:225px; top:39px; width:86px; height:17px; ">이 름 :</caption>
  245. <input id="ipt_korname" ref="/root/send/korname" class="input_search" navindex="7" style="left:310px; top:38px; width:100px; height:19px; "/>
  246. <caption id="caption3" class="search_name" style="left:435px; top:40px; width:86px; height:17px; ">수험번호 :</caption>
  247. <input id="ipt_examno" ref="/root/send/examno" class="input_search" navindex="9" style="left:525px; top:39px; width:100px; height:19px; "/>
  248. <select1 id="cmb_trngflag" ref="/root/send/trngflag" class="combo_s_essential" navindex="4" appearance="minimal" style="left:775px; top:10px; width:100px; height:19px; ">
  249. <choices>
  250. <itemset>
  251. <label/>
  252. <value/>
  253. </itemset>
  254. </choices>
  255. <script type="javascript" ev:event="xforms-value-changed">
  256. <![CDATA[;
  257. // 전공의 인턴, 레지던트에 따라 성적종류 셋팅
  258. if ( cmb_trngflag.value == "I" ) {
  259. misfComboCopyItemSet(cmb_scorekind274, "", cmb_scorekind, "");
  260. } else if ( cmb_trngflag.value == "R" ) {
  261. misfComboCopyItemSet(cmb_scorekind275, "", cmb_scorekind, "");
  262. }
  263. ]]>
  264. </script>
  265. </select1>
  266. <caption id="cap_trngflag" class="search_name" style="left:660px; top:9px; width:110px; height:17px; ">전공의구분 :</caption>
  267. <caption id="cap_apntyy" class="search_name" style="left:15px; top:9px; width:86px; height:17px; ">년 도 :</caption>
  268. <caption id="cap_supinfqurtyyflag" class="search_name" style="left:225px; top:9px; width:86px; height:17px; ">상하반기 :</caption>
  269. <caption id="cap_fstlattrmflag" class="search_name" style="left:435px; top:9px; width:86px; height:17px; ">전후기 :</caption>
  270. <select1 id="cmb_dentyn" ref="/root/send/dentyn" class="combo_s_essential" navindex="5" appearance="minimal" style="left:975px; top:10px; width:100px; height:19px; ">
  271. <choices>
  272. <itemset>
  273. <label/>
  274. <value/>
  275. </itemset>
  276. </choices>
  277. </select1>
  278. <caption id="cap_dentyn" class="search_name" style="left:885px; top:9px; width:96px; height:17px; ">치과여부 :</caption>
  279. <select1 id="cmb_fstlattrmflag" ref="/root/send/fstlattrmflag" class="combo_s_essential" navindex="3" appearance="minimal" style="left:525px; top:10px; width:100px; height:19px; ">
  280. <choices>
  281. <itemset>
  282. <label/>
  283. <value/>
  284. </itemset>
  285. </choices>
  286. </select1>
  287. <select1 id="cmb_supinfqurtyyflag" ref="/root/send/supinfqurtyyflag" class="combo_s_essential" navindex="2" appearance="minimal" style="left:310px; top:10px; width:100px; height:19px; ">
  288. <choices>
  289. <itemset>
  290. <label/>
  291. <value/>
  292. </itemset>
  293. </choices>
  294. </select1>
  295. <caption id="caption12" class="search_name" style="left:660px; top:40px; width:115px; height:17px; ">주민등록번호 :</caption>
  296. <input id="ipt_rregno" ref="/root/send/rregno" class="input_search" navindex="8" style="left:775px; top:39px; width:100px; height:19px; "/>
  297. <input id="ipt_apntyy" ref="/root/send/apntyy" class="input_s_essential" navindex="1" style="left:100px; top:10px; width:100px; height:19px; "/>
  298. <select1 id="cmb_scrngflag" ref="/root/send/scrngflag" class="combo_s_essential" navindex="6" appearance="minimal" style="left:100px; top:35px; width:100px; height:19px; ">
  299. <choices>
  300. <itemset>
  301. <label/>
  302. <value/>
  303. </itemset>
  304. </choices>
  305. </select1>
  306. <caption id="cap_scorekind" class="search_name" style="left:885px; top:39px; width:86px; height:17px; ">성적종류 :</caption>
  307. <select1 id="cmb_scorekind" ref="/root/send/scorekind" class="combo_s_essential" appearance="minimal" style="left:975px; top:35px; width:100px; height:19px; ">
  308. <choices>
  309. <itemset>
  310. <label/>
  311. <value/>
  312. </itemset>
  313. </choices>
  314. </select1>
  315. </group>
  316. <select1 id="cmb_scorekind274" visibility="hidden" appearance="minimal" style="left:675px; top:190px; width:105px; height:40px; ">
  317. <choices>
  318. <itemset>
  319. <label/>
  320. <value/>
  321. </itemset>
  322. </choices>
  323. </select1>
  324. <select1 id="cmb_scorekind275" visibility="hidden" appearance="minimal" style="left:840px; top:190px; width:105px; height:30px; ">
  325. <choices>
  326. <itemset>
  327. <label/>
  328. <value/>
  329. </itemset>
  330. </choices>
  331. </select1>
  332. <button id="button5" class="btn2_letter4" style="left:1121px; top:78px; width:64px; height:19px; ">
  333. <caption>엑셀입력</caption>
  334. <script type="javascript" ev:event="DOMActivate">
  335. <![CDATA[
  336. var vKind = cmb_scorekind.value;
  337. if (vKind == "I3" || vKind == "R4") {
  338. messageBox("엑셀입력 할 수 없는 성적종류","E008");
  339. return;
  340. }
  341. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  342. if (fileName.length > 0 ) {
  343. grd_apntscorebatrgst.loadExcel(fileName, 1, true);
  344. grd_apntscorebatrgst.deleteRow(1);
  345. grd_apntscorebatrgst.refresh();
  346. var sCnt = grd_apntscorebatrgst.rows;
  347. grd_apntscorebatrgst.clearStatus();
  348. grd_apntscorebatrgst.rowStatus(1) = 0;
  349. for ( var i = 1; i < sCnt; i++) {
  350. grd_apntscorebatrgst.rowStatus(i) = 2;
  351. }
  352. }else{
  353. return ;
  354. }
  355. //fGridReset("EXCEL_SAVE");
  356. fGridReset();
  357. ]]>
  358. </script>
  359. </button>
  360. </group>
  361. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  362. <line id="line75" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  363. <button id="btn_save" class="btn5_letter2" style="left:1139px; top:3; width:56px; height:22px; ">
  364. <caption>저장</caption>
  365. <script type="javascript" ev:event="DOMActivate">
  366. <![CDATA[
  367. var retMes = messageBox("저장 하시겠습니까?", "Q999");
  368. if ( retMes != 6) {
  369. return;
  370. }
  371. var updtdata = getGridUpdateData(grd_apntscorebatrgst);
  372. if (updtdata == "") {
  373. messageBox("변경된 데이터가","I004");
  374. return;
  375. }
  376. misfSave("TXRTR00401");
  377. fGetList();
  378. ]]>
  379. </script>
  380. </button>
  381. </group>
  382. </xhtml:body>
  383. </xhtml:html>