SMRTR01300_채용예외합격자관리.xrw 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  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. <apntcopass>
  11. <apntcopasslist/>
  12. </apntcopass>
  13. <currentyear>
  14. <currentyearlist>
  15. <curyear/>
  16. </currentyearlist>
  17. </currentyear>
  18. <apntinfo>
  19. <apntinfolist/>
  20. </apntinfo>
  21. <tisorddeptcdlist/>
  22. </main>
  23. <send>
  24. <save>
  25. <apntcopasslist/>
  26. <workgbn/>
  27. <exptpsn/>
  28. </save>
  29. <apntcopass>
  30. <apntyy/>
  31. <korname/>
  32. <apprtcdrflag/>
  33. <supinfqurtyyflag/>
  34. <trngflag/>
  35. </apntcopass>
  36. <apntinfo>
  37. <instcd/>
  38. <prfshipflag/>
  39. <apntfromdd/>
  40. <apnttodd/>
  41. <apntyy/>
  42. </apntinfo>
  43. </send>
  44. <temp/>
  45. </root>
  46. </instance>
  47. <submission id="TXRTB00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hiddeen/temp"/>
  48. <script type="javascript">
  49. <![CDATA[
  50. var ENT_TARGET_NODE = "/root/main/apntcopassdata";
  51. var ENT_SOURCE_NODE = "/root/main/apntcopass";
  52. ]]>
  53. </script>
  54. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  55. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  56. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  57. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  58. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  59. <script type="javascript" ev:event="xforms-ready">
  60. <![CDATA[
  61. fInitialize() ;
  62. misfGridInit(grd_apntexptpassmngtlist);
  63. misfMsterDetailSet(grd_apntexptpassmngtlist, null, "TRRTR01301" ,"Y");
  64. // var gvnoffcordflag = "09";
  65. // rpbfComboGvnoffOrddetl(gvnoffcordflag, "cmb_gvnoffcorddetlflag");
  66. // submit("TRRTB00102");
  67. // var yy = model.getValue("/root/main/currentyear/currentyearlist/curyear");
  68. // model.setValue("/root/send/apntinfo/apntyy", yy);
  69. // model.setValue("/root/send/apntinfo/apntfromdd",yy + "0101");
  70. // model.setValue("/root/send/apntinfo/apnttodd",yy + "1231");
  71. // model.setValue("/root/send/apntcopass/apntflag","1");
  72. // submit("TRRTB00103");
  73. ]]>
  74. </script>
  75. <submission id="TRRTR01301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/apntcopass" resultref="/root/main/apntcopass/apntcopasslist"/>
  76. <submission id="TXRTR01301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/temp"/>
  77. <submission id="TRRTS00602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqint" resultref="/root/main/tisorddeptcdlist"/>
  78. </model>
  79. <script type="javascript">
  80. <![CDATA[
  81. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  82. function fInitialize() {
  83. misfGridInit(grd_apntexptpassmngtlist);
  84. model.resetInstanceNode("/root/send");
  85. model.refresh();
  86. var curDate = getCurrentDate().toDate().getDateFormat("YYYYMMDD");
  87. var isDate = curDate.toDate().getAddDate(2,'M').getDateFormat("YYYY");
  88. model.setValue("/root/send/apntcopass/apntyy", isDate);
  89. misfGridComboComCdList("R0237",grd_apntexptpassmngtlist,"supinfqurtyyflag");
  90. misfGridComboComCdList("R0151",grd_apntexptpassmngtlist,"apprtcdrflag");
  91. misfGridComboComCdList("Z0007",grd_apntexptpassmngtlist,"instcd");
  92. //misfGridComboComCdList("R0234",grd_apntexptpassmngtlist,"deptcd");
  93. misfGridComboComCdList("R0239",grd_apntexptpassmngtlist,"dentyn");
  94. misfGridComboComCdList("R0078",grd_apntexptpassmngtlist,"clssvcstatcd");
  95. submit("TRRTS00602");
  96. misfComboComCdListMulti("R0237,R0151", "cmb_supinfqurtyyflag,cmb_trngflag");
  97. cmb_supinfqurtyyflag.select(0);
  98. cmb_trngflag.select(0);
  99. }
  100. ]]>
  101. </script>
  102. </xhtml:head>
  103. <xhtml:body guideline="2,764;2,764;" style="margin-left:8; margin-right:8; ">
  104. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  105. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">채용 예외 합격자 관리</caption>
  106. </group>
  107. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  108. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:40; background-color:#fffbf2; border-color:#ffd799; "/>
  109. <line id="line207" class="line_1" style="x1:0px; y1:75; x2:1195px; y2:75; "/>
  110. <datagrid id="grd_apntexptpassmngtlist" nodeset="/root/main/apntcopass/apntcopasslist" caption="선택^채용정보번호^사원번호^이름^주민등록번호^상하반기구분^전공의구분^년도^소속기관^부서코드^년차^치과여부^연락처^발령여부^군보여부^역종코드^비고" colsep="^" colwidth="36, 100, 100, 100, 100, 100, 100, 60, 100, 100, 40, 70, 100, 100, 100, 100, 100" dataheight="25" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" tooltip="true" style="left:0px; top:80; width:1194px; height:595px; ">
  111. <col checkvalue="Y,N" ref="selyn" type="checkbox"/>
  112. <col ref="apntinfono"/>
  113. <col ref="emplno"/>
  114. <col ref="name" type="input" _key="true"/>
  115. <col ref="rregno" type="input" format="999999-9999999" _key="true"/>
  116. <col ref="supinfqurtyyflag" type="combo" _key="true">
  117. <choices>
  118. <itemset>
  119. <label/>
  120. <value/>
  121. </itemset>
  122. </choices>
  123. </col>
  124. <col ref="apprtcdrflag" type="combo" _key="true">
  125. <choices>
  126. <itemset>
  127. <label/>
  128. <value/>
  129. </itemset>
  130. </choices>
  131. </col>
  132. <col ref="yy" type="input" _key="true"/>
  133. <col ref="instcd" type="combo" _key="true">
  134. <choices>
  135. <itemset>
  136. <label/>
  137. <value/>
  138. </itemset>
  139. </choices>
  140. </col>
  141. <col ref="deptcd" type="combo" _key="true">
  142. <choices>
  143. <itemset nodeset="/root/main/tisorddeptcdlist">
  144. <label ref="deptnm"/>
  145. <value ref="deptcd"/>
  146. </itemset>
  147. </choices>
  148. </col>
  149. <col ref="anual" type="input" format="9"/>
  150. <col ref="dentyn" type="combo" _key="true">
  151. <choices>
  152. <itemset>
  153. <label/>
  154. <value/>
  155. </itemset>
  156. </choices>
  157. </col>
  158. <col ref="supppsnmpphonno" type="input"/>
  159. <col ref="gvnoffcordtretyn"/>
  160. <col ref="armyyn" type="combo" _key="true">
  161. <choices>
  162. <item>
  163. <label>군보</label>
  164. <value>Y</value>
  165. </item>
  166. <item>
  167. <label>비군보</label>
  168. <value>N</value>
  169. </item>
  170. </choices>
  171. </col>
  172. <col disabled="true" ref="clssvcstatcd" type="combo">
  173. <choices>
  174. <itemset>
  175. <label/>
  176. <value/>
  177. </itemset>
  178. </choices>
  179. </col>
  180. <col ref="cmt" type="input"/>
  181. <script type="javascript" ev:event="xforms-value-changed">
  182. <![CDATA[
  183. if(grd_apntexptpassmngtlist.col == grd_apntexptpassmngtlist.colRef("armyyn"))
  184. {
  185. if(grd_apntexptpassmngtlist.valueMatrix(grd_apntexptpassmngtlist.row, grd_apntexptpassmngtlist.colRef("armyyn")) == 'Y')
  186. grd_apntexptpassmngtlist.colDisabled(grd_apntexptpassmngtlist.colRef("clssvcstatcd")) = true;
  187. else if(grd_apntexptpassmngtlist.valueMatrix(grd_apntexptpassmngtlist.row, grd_apntexptpassmngtlist.colRef("armyyn")) == 'N')
  188. grd_apntexptpassmngtlist.colDisabled(grd_apntexptpassmngtlist.colRef("clssvcstatcd")) = false;
  189. }
  190. ]]>
  191. </script>
  192. </datagrid>
  193. <caption id="caption13" class="search_name" style="left:905px; top:21px; width:75px; height:17px; ">성 명 :</caption>
  194. <input id="ipt_korname" ref="/root/send/apntcopass/korname" class="input_search" style="left:983px; top:20px; width:100px; height:19px; "/>
  195. <line id="line14" class="line_4" style="x1:1100px; y1:19px; x2:1100px; y2:40; border-color:#ffe4bb; border-left-style:solid; "/>
  196. <button id="btn_search" class="btn1_letter2" navindex="8" style="left:1125px; top:20; width:56px; height:22px; text-align:left; ">
  197. <caption>조회</caption>
  198. <script type="javascript" ev:event="DOMActivate">
  199. <![CDATA[
  200. if(!isRequiredControls("cmb_apntyy"))return;
  201. misfMsterDetailRetrieve();
  202. ]]>
  203. </script>
  204. </button>
  205. <button id="button12" class="btn2_letter4" style="left:910px; top:53px; width:64px; height:19px; ">
  206. <caption>전체선택</caption>
  207. <script type="javascript" ev:event="DOMActivate">
  208. <![CDATA[
  209. for (var i = grd_apntexptpassmngtlist.fixedRows; i < grd_apntexptpassmngtlist.rows; i++ ) {
  210. grd_apntexptpassmngtlist.valueMatrix(i, grd_apntexptpassmngtlist.colRef("selyn")) = 'Y';
  211. }
  212. ]]>
  213. </script>
  214. </button>
  215. <input id="ipt_yy" ref="/root/send/apntcopass/apntyy" class="input_search" format="yyyy" style="left:105px; top:20; width:100px; height:19px; text-align:center; vertical-align:middle; "/>
  216. <caption id="cap_apntyy" class="search_name" style="left:18px; top:21; width:86px; height:17px; ">채용년도 :</caption>
  217. <button id="button1" class="btn2_letter4" style="left:975px; top:53px; width:64px; height:19px; ">
  218. <caption>전체취소</caption>
  219. <script type="javascript" ev:event="DOMActivate">
  220. <![CDATA[
  221. for (var i = grd_apntexptpassmngtlist.fixedRows; i < grd_apntexptpassmngtlist.rows; i++ ) {
  222. grd_apntexptpassmngtlist.valueMatrix(i, grd_apntexptpassmngtlist.colRef("selyn")) = 'N';
  223. }
  224. ]]>
  225. </script>
  226. </button>
  227. <input id="ipt_workgbn" ref="/root/send/save/workgbn" visibility="hidden" style="left:680px; top:55; width:95px; height:20px; "/>
  228. <caption id="caption9" class="tit_2" style="left:5px; top:57; width:117px; height:14px; ">채용 예외 합격자 관리</caption>
  229. <button id="button2" class="btn2_letter4" style="left:845px; top:53px; width:64px; height:19px; ">
  230. <caption>엑셀저장</caption>
  231. <script type="javascript" ev:event="DOMActivate">
  232. <![CDATA[
  233. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  234. if (fileName != "") {
  235. grd_apntexptpassmngtlist.saveExcel(fileName, "sheetname:sheet1;colhiddenextend:true;rowhiddenextend:false;exportfalsecols:0,0;col_1:value;");
  236. }
  237. ]]>
  238. </script>
  239. </button>
  240. <button id="button3" class="btn2_letter3" style="left:1040px; top:53px; width:53px; height:19px; ">
  241. <caption>행추가</caption>
  242. <script type="javascript" ev:event="DOMActivate">
  243. <![CDATA[
  244. misfGridIUD(grd_apntexptpassmngtlist, "A");
  245. ]]>
  246. </script>
  247. </button>
  248. <button id="button4" class="btn2_letter3" style="left:1094px; top:53px; width:53px; height:19px; ">
  249. <caption>행삭제</caption>
  250. <script type="javascript" ev:event="DOMActivate">
  251. <![CDATA[
  252. misfGridIUD(grd_apntexptpassmngtlist, "D");
  253. ]]>
  254. </script>
  255. </button>
  256. <select1 id="cmb_trngflag" ref="/root/send/apntcopass/trngflag" appearance="minimal" style="left:400; top:20px; width:100px; height:19px; ">
  257. <choices>
  258. <itemset>
  259. <label/>
  260. <value/>
  261. </itemset>
  262. </choices>
  263. <script type="javascript" ev:event="xforms-value-changed">
  264. <![CDATA[
  265. ipt_apprtcdrflag.value = cmb_trngflag.value;
  266. ipt_apprtcdrflag.refresh();
  267. ]]>
  268. </script>
  269. </select1>
  270. <caption id="caption1" class="search_name" style="left:295; top:21px; width:104px; height:17px; ">전공의 구분 :</caption>
  271. <select1 id="cmb_supinfqurtyyflag" ref="/root/send/apntcopass/supinfqurtyyflag" appearance="minimal" style="left:715; top:20px; width:100px; height:19px; ">
  272. <choices>
  273. <itemset>
  274. <label/>
  275. <value/>
  276. </itemset>
  277. </choices>
  278. </select1>
  279. <caption id="caption2" class="search_name" style="left:600; top:21px; width:117px; height:17px; ">상하반기 구분 :</caption>
  280. <input id="ipt_apprtcdrflag" ref="/root/send/apntcopass/apprtcdrflag" visibility="hidden" style="left:650px; top:55px; width:25px; height:19px; "/>
  281. <button id="button5" class="btn5_letter2" style="left:1148px; top:53px; width:42px; height:19px; ">
  282. <caption>저장</caption>
  283. <script type="javascript" ev:event="DOMActivate">
  284. <![CDATA[
  285. checkKeyColumn("grd_apntexptpassmngtlist")
  286. // 그리드 속성에 _key 속성을 줄 경우 조회후 readonly 형식으로 바껴서 input는 수정하지 못한다.
  287. if(grd_apntexptpassmngtlist.valueMatrix(grd_apntexptpassmngtlist.row, grd_apntexptpassmngtlist.colRef("anual")) == "")
  288. {
  289. messageBox("년차는 ","I003");
  290. return;
  291. }
  292. if(grd_apntexptpassmngtlist.valueMatrix(grd_apntexptpassmngtlist.row, grd_apntexptpassmngtlist.colRef("name")) == "")
  293. {
  294. messageBox("이름은 ","I003");
  295. return;
  296. }
  297. if(grd_apntexptpassmngtlist.valueMatrix(grd_apntexptpassmngtlist.row, grd_apntexptpassmngtlist.colRef("rregno")) == "")
  298. {
  299. messageBox("주민등록번호는 ","I003");
  300. return;
  301. }
  302. misfSave("TXRTR01301");
  303. btn_search.dispatch("DOMActivate");
  304. ]]>
  305. </script>
  306. </button>
  307. <input id="ipt_exptpsn" ref="/root/send/save/exptpsn" visibility="hidden" style="left:785px; top:55px; width:50px; height:19px; "/>
  308. </group>
  309. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  310. <button id="btn_gvnoffcord" class="btn4_letter4" style="left:1006px; top:3px; width:80px; height:22px; ">
  311. <caption>사번생성</caption>
  312. <script type="javascript" ev:event="DOMActivate">
  313. <![CDATA[
  314. grd_apntexptpassmngtlist.clearStatus();
  315. var submit_node = model.children("TXRTB00102").attribute("ref");
  316. var selyn = "N";
  317. var emplno = "";
  318. var emplnm = "";
  319. for (var i = 1; i < grd_apntexptpassmngtlist.rows; i++) {
  320. selyn = grd_apntexptpassmngtlist.valueMatrix(i, grd_apntexptpassmngtlist.colRef("selyn"));
  321. emplno = grd_apntexptpassmngtlist.valueMatrix(i, grd_apntexptpassmngtlist.colRef("emplno"));
  322. emplnm = grd_apntexptpassmngtlist.valueMatrix(i, grd_apntexptpassmngtlist.colRef("name"));
  323. if (selyn == "Y" && emplno != "" && emplno.length > 0) {
  324. messageBox(emplnm + "은 이미 사번이 생성되어 발번 ","E001");
  325. return;
  326. }
  327. grd_apntexptpassmngtlist.addStatus(i,"update");
  328. }
  329. model.setValue("/root/send/save/workgbn","I");
  330. model.setValue("/root/send/save/exptpsn","Y");
  331. //model.setValue(submit_node + "/apntcopasslist" , grd_apntexptpassmngtlist.getUpdateData());
  332. //model.setValue(submit_node + "/apntcopasslist" , grd_apntexptpassmngtlist.getUpdateData());
  333. misfSave("TXRTB00102");
  334. //submit("TXRTB00102");
  335. misfMsterDetailRetrieve();
  336. ]]>
  337. </script>
  338. </button>
  339. <line id="line7" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25; "/>
  340. <button id="btn_gvnoffcordcancle" class="btn4_letter6" style="left:1088px; top:3px; width:104px; height:22px; ">
  341. <caption>사번생성취소</caption>
  342. <script type="javascript" ev:event="DOMActivate">
  343. <![CDATA[
  344. grd_apntexptpassmngtlist.clearStatus();
  345. for (var i = 2; i < grd_apntexptpassmngtlist.rows; i++) {
  346. var selyn = grd_apntexptpassmngtlist.valueMatrix(i, grd_apntexptpassmngtlist.colRef("selyn"));
  347. var gvnoffcordtretyn = grd_apntexptpassmngtlist.valueMatrix(i, grd_apntexptpassmngtlist.colRef("gvnoffcordtretyn"));
  348. var emplnm = grd_apntexptpassmngtlist.valueMatrix(i, grd_apntexptpassmngtlist.colRef("emplnm"));
  349. if (selyn == "Y" && gvnoffcordtretyn == "Y") {
  350. messageBox(emplnm + "은 인사 마스터에 반영이 되어서 사번생성 취소를 ", "E001");
  351. return;
  352. }
  353. grd_apntexptpassmngtlist.addStatus(i,"update");
  354. }
  355. model.setValue("/root/send/save/workgbn","D");
  356. model.setValue("/root/send/save/exptpsn","Y");
  357. var submit_node = model.children("TXRTB00102").attribute("ref");
  358. misfSave("TXRTB00102");
  359. misfMsterDetailRetrieve();
  360. ]]>
  361. </script>
  362. </button>
  363. </group>
  364. </xhtml:body>
  365. </xhtml:html>