SMRPS00350_개인신청대상자등록.xrw 53 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154
  1. <?xml version="1.0" encoding="EUC-KR"?>
  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>SMRPS00350_개인신청대상자등록</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <list1>
  11. <educlist/>
  12. <educlist1/>
  13. </list1>
  14. <list2>
  15. <eductrgtmanlist/>
  16. </list2>
  17. <list3>
  18. <emplist/>
  19. </list3>
  20. <list4>
  21. <excellist/>
  22. </list4>
  23. </main>
  24. <send>
  25. <retrparams1>
  26. <instcd/>
  27. <appyy/>
  28. <mainbdunit/>
  29. <educflag/>
  30. <instnm/>
  31. </retrparams1>
  32. <retrparams2>
  33. <instcd/>
  34. <appyy/>
  35. <educcd/>
  36. <educdg/>
  37. </retrparams2>
  38. <retrparams3>
  39. <instcd/>
  40. <dutunitcd/>
  41. <dutunitnm/>
  42. <prfshipflag/>
  43. <holyordflag/>
  44. <grupjoblncd/>
  45. <grupjoblnnm/>
  46. <njobgradcd/>
  47. <njobgradnm/>
  48. <jobkindcd/>
  49. <jobkindnm/>
  50. <jobrespcd/>
  51. <jobrespnm/>
  52. <frentcodd/>
  53. <toentcodd/>
  54. <frcorddd/>
  55. <tocorddd/>
  56. <educinstcd/>
  57. <appyy/>
  58. <educcd/>
  59. <anual/>
  60. <gender/>
  61. <jobrestfrdd/>
  62. <jobresttodd/>
  63. <emplno/>
  64. <emplnm/>
  65. <cmcfromdd/>
  66. <cmctodd/>
  67. <joblncd/>
  68. <joblnnm/>
  69. </retrparams3>
  70. <search>
  71. <searchflag>emplnm</searchflag>
  72. <emplnm/>
  73. <count/>
  74. </search>
  75. </send>
  76. <init>
  77. <tempnode>
  78. <appyy/>
  79. <value/>
  80. <label>
  81. <전체/>
  82. </label>
  83. </tempnode>
  84. <rowcount>0</rowcount>
  85. <item>
  86. <value/>
  87. <label>전체</label>
  88. </item>
  89. <item>
  90. <value>M</value>
  91. <label>남</label>
  92. </item>
  93. <item>
  94. <value>F</value>
  95. <label>여</label>
  96. </item>
  97. <itemset>
  98. <set1>
  99. <value/>
  100. <label>전체</label>
  101. </set1>
  102. </itemset>
  103. </init>
  104. <temp/>
  105. </root>
  106. </instance>
  107. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  108. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  109. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  110. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  111. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  112. <script type="javascript" src="../../../mis/educationmngtweb/js/RPS001.js"/>
  113. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  114. <script type="javascript" ev:event="xforms-ready">
  115. <![CDATA[
  116. // 사용자 권한관리
  117. fCheckAuth() ;
  118. fInit();
  119. ]]>
  120. </script>
  121. <script type="javascript" ev:event="xforms-model-construct-done">
  122. <![CDATA[
  123. grd_emplist.fixedcellcheckbox(0,1) = true; // 그리드에 있는 전체선택 체크박스
  124. grd_eductrgtmanlist.fixedcellcheckbox(0,4) = true;
  125. ]]>
  126. </script>
  127. <script type="javascript">
  128. <![CDATA[
  129. //========================================================================================
  130. //버튼에 대한 화면 권한 체크(R : 읽기, X : 입력/수정/삭제, P : 출력)
  131. //========================================================================================
  132. function fCheckAuth() {
  133. btn_search.disabled = !checkAuth("R") ;
  134. btn_search2.disabled = !checkAuth("R") ;
  135. btn_save.disabled = !checkAuth("X") ;
  136. btn_saveexcel.disabled = !checkAuth("X") ;
  137. }
  138. var sAllSelYn = "N";
  139. function fInit() {
  140. model.setValue("/root/send/retrparams1/appyy", getCurrentDate().substr(0, 4));
  141. misfComboComCdListMulti("Z0007,R0058,R0066", "cmb_dutinstcd,cmb_prfshipflag,cmb_holyordflag", null, "Y");
  142. //rpsEducSetComboList(model.getValue("/root/send/retrparams1/appyy") ,"M01-002,M01-001", "cmb_mainbdunit,cmb_lrgcd", "Y"); --> rpsEducSetComboList("M01-002,M01-001", "cmb_mainbdunit,cmb_lrgcd", "N");
  143. //M02-000 --> M01-002
  144. rpsEducSetComboList("M01-002,M01-001", "cmb_educflag,cmb_mainbdunit", "Y");
  145. model.removenode("/root/main/list1/educlist");
  146. model.removenode("/root/main/list2/eductrgtmanlist");
  147. model.removenode("/root/main/list3/emplist");
  148. model.makeNode("/root/main/list3");
  149. misfMsterDetailSet(grd_educlist, null, "TRRPS00351", "N", "byRow");
  150. misfMsterDetailSet(grd_eductrgtmanlist, null, "TRRPS00352", "Y");
  151. misfMsterDetailSet(grd_emplist, null, "TRRPS00353", "N");
  152. misfGetUserAuth();
  153. model.setValue("/root/send/retrparams1/instcd",getUserInfo("dutplceinstcd") );
  154. model.setValue("/root/send/retrparams1/instnm",getUserInfo("dutplceinstnm"));
  155. model.setValue("/root/send/retrparams3/instcd", getUserInfo("dutplceinstcd"));
  156. model.setValue("/root/init/tempnode/appyy", "/root/send/retrparams1/appyy");
  157. model.setValue("/root/send/retrparams3/frentcodd", "19000101");
  158. model.setValue("/root/send/retrparams3/toentcodd", getCurrentDate());
  159. model.refresh();
  160. }
  161. function fEducListRetrieve()
  162. {
  163. var iRowIdx = grd_educlist.row;
  164. submit("TRRPS00351");
  165. if(grd_educlist.rows > 1) {
  166. if(iRowIdx == -1) iRowIdx = 1;
  167. else
  168. if(iRowIdx > grd_educlist.rows) iRowIdx = grd_educlist.rows - 1;
  169. grd_educlist.row = iRowIdx;
  170. grd_educlist.select(iRowIdx, 1, iRowIdx, 10) = true;
  171. grd_educlist.dispatch("ondblclick");
  172. }
  173. else {
  174. model.removeNodeset("/root/main/list2/eductrgtmanlist");
  175. model.refresh();
  176. }
  177. }
  178. function fEducTrgtManListRetrieve() {
  179. model.setValue("/root/send/retrparams2/instcd", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("instcd")));
  180. model.setValue("/root/send/retrparams2/appyy", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("appyy")));
  181. model.setValue("/root/send/retrparams2/educcd", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educcd")));
  182. model.setValue("/root/send/retrparams2/educdg", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educdg")));
  183. submit("TRRPS00352");
  184. }
  185. function fEmpListRetrieve() {
  186. sYn = "N";
  187. model.setValue("/root/send/retrparams3/educinstcd", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("instcd")));
  188. model.setValue("/root/send/retrparams3/appyy", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("appyy")));
  189. model.setValue("/root/send/retrparams3/educcd", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educcd")));
  190. model.removeNodeset("/root/main/list3/emplist");
  191. submit("TRRPS00353");
  192. }
  193. function fSetTrgtManInfo(iTrgtManRowIdx, iEmpListRowIdx)
  194. {
  195. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/instcd", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/instcd"));
  196. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/educdg", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/educdg"));
  197. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/educcd", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/educcd"));
  198. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/appyy", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/appyy"));
  199. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/emplno", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/emplno"));
  200. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/emplnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/emplnm"));
  201. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/prfshipflag", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/prfshipflag"));
  202. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/prfshipnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/prfshipnm"));
  203. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutinstcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutinstcd"));
  204. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutinstnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutinstnm"));
  205. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutdeptcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutdeptcd"));
  206. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutdeptnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutdeptnm"));
  207. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/holyordflag", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/holyordflag"));
  208. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/holyordnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/holyordnm"));
  209. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/grupjoblncd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/grupjoblncd"));
  210. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/grupjoblnnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/grupjoblnnm"));
  211. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/njobgradcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/njobgradcd"));
  212. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/njobgradnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/njobgradnm"));
  213. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/anual", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/anual"));
  214. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobkindcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobkindcd"));
  215. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobkindnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobkindnm"));
  216. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobrespcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobrespcd"));
  217. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobrespnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobrespnm"));
  218. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/gender", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/gender"));
  219. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/entcodd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/entcodd"));
  220. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/joblnnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/joblnnm"));
  221. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/joblncd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/joblncd"));
  222. }
  223. function fSave() {
  224. if( misfSave("TXRPS00351") )
  225. messageBox("","I001");
  226. fEducTrgtManListRetrieve();
  227. for(var idx = grd_emplist.fixedRows; idx <= grd_emplist.rows; idx++ ) {
  228. if(grd_emplist.valueMatrix(idx,grd_emplist.colRef("chk")) == 'Y' ) {
  229. grd_emplist.deleteRow(idx,false);
  230. idx--;
  231. }
  232. }
  233. }
  234. function fLoadExcel() {
  235. if(grd_educlist.rows == 1)
  236. {
  237. messageBox("교육내용을", "C002");
  238. return;
  239. }
  240. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  241. grd_loadexcel.loadExcel(fileName);
  242. grd_loadexcel.rebuild();
  243. var sEmplno = "";
  244. var iRowIdx = -1;
  245. for(var i=1; i<grd_loadexcel.rows; i++)
  246. {
  247. sEmplno = grd_loadexcel.valueMatrix(i, grd_loadexcel.colRef("emplno"));
  248. if(sEmplno == "") continue;
  249. iRowIdx = grd_eductrgtmanlist.findRow(sEmplno, 0, grd_eductrgtmanlist.colRef("emplno"));
  250. if(iRowIdx != -1)
  251. {
  252. continue;
  253. }
  254. else
  255. {
  256. misfGridIUD(grd_eductrgtmanlist, "A");
  257. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/instcd", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/instcd"));
  258. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/educcd", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/educcd"));
  259. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/appyy", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/appyy"));
  260. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/emplno", model.getValue(grd_loadexcel.nodeset + "[" + i + "]/emplno"));
  261. }
  262. }
  263. model.refresh();
  264. }
  265. function fPsnCnt() {
  266. opt_cnt.value = grd_eductrgtmanlist.rows;
  267. opt_cnt.refresh();
  268. }
  269. function fCheckEmplno( emplno ) {
  270. for ( var idx = grd_eductrgtmanlist.fixedRows; idx <= grd_eductrgtmanlist.rows; idx++ ) {
  271. if( grd_eductrgtmanlist.valueMatrix(idx, grd_eductrgtmanlist.colRef("emplno")) == emplno ) {
  272. messageBox("이미 대상자로 등록되어 있습니다.","I999");
  273. return true;
  274. }
  275. }
  276. return false;
  277. }
  278. function fRgstTrgtManList() {
  279. if(grd_educlist.rows == 1) {
  280. messageBox("교육내용을", "C002");
  281. return;
  282. }
  283. var cnt = 0;
  284. for(var i=0; i<=grd_emplist.rows; i++) {
  285. var sChk = grd_emplist.valueMatrix(i, grd_emplist.colRef("chk"));
  286. if(sChk == "Y") {
  287. cnt++;
  288. var sEmplno = model.getValue(grd_emplist.nodeset + "[" + i + "]/emplno");
  289. var iRowIdx = grd_eductrgtmanlist.findRow(sEmplno, 0, grd_eductrgtmanlist.colRef("emplno"));
  290. if(fCheckEmplno(sEmplno) ) continue;
  291. if(iRowIdx != -1) continue;
  292. misfGridIUD(grd_eductrgtmanlist, "A");
  293. fSetTrgtManInfo(grd_eductrgtmanlist.row, i);
  294. }
  295. }
  296. }
  297. function fSearch(pColRef, pValue, pErrorValue, pCount)
  298. {
  299. var endRow = grd_eductrgtmanlist.row;
  300. var endRows = grd_eductrgtmanlist.rows;
  301. var count = 0;
  302. var pStartRow = grd_eductrgtmanlist.fixedRows;
  303. if( (grd_eductrgtmanlist.row+1) == grd_eductrgtmanlist.rows)
  304. {
  305. pStartRow = grd_eductrgtmanlist.fixedRows;
  306. }else
  307. {
  308. pStartRow = grd_eductrgtmanlist.row+1;
  309. }
  310. for(var i = grd_eductrgtmanlist.fixedRows; i < grd_eductrgtmanlist.rows; i++)
  311. {
  312. if(pValue == grd_eductrgtmanlist.valueMatrix(i, grd_eductrgtmanlist.colRef(pColRef)))
  313. {
  314. count++;
  315. }
  316. }
  317. pCount.value = count;
  318. for(var i = pStartRow; i <= endRows; i++)
  319. {
  320. if(pValue == grd_eductrgtmanlist.valueMatrix(i, grd_eductrgtmanlist.colRef(pColRef)))
  321. {
  322. grd_eductrgtmanlist.select(i, 3) = true;
  323. grd_eductrgtmanlist.row = i;
  324. return;
  325. }
  326. if(i == grd_eductrgtmanlist.rows)
  327. {
  328. endRows = endRow;
  329. i=0;
  330. }else if(endRow == i)
  331. {
  332. messageBox("조회한 " + cmb_search.label + "[" + pErrorValue + "]" + "가 없습니다.", "");
  333. return;
  334. }
  335. }
  336. }
  337. function fListAddCombo() {
  338. // 교육명 세팅
  339. for(var i = datagrid1.fixedRows, j = grd_educlist.rows; i < datagrid1.rows; i++ ) {
  340. if( j == "1" ) { // grd_educlist1에 아무내용도 없을때는 무조건 addrow
  341. grd_educlist.addRow(false);
  342. grd_educlist.valueMatrix(i,grd_educlist.colRef("appyy")) = datagrid1.valueMatrix(i,datagrid1.colRef("appyy"));
  343. grd_educlist.valueMatrix(i,grd_educlist.colRef("instcd")) = datagrid1.valueMatrix(i,datagrid1.colRef("instcd"));
  344. grd_educlist.valueMatrix(i,grd_educlist.colRef("educcd")) = datagrid1.valueMatrix(i,datagrid1.colRef("educcd"));
  345. grd_educlist.valueMatrix(i,grd_educlist.colRef("educcdnm")) = datagrid1.valueMatrix(i,datagrid1.colRef("educcdnm"));
  346. j++;
  347. }
  348. else if( datagrid1.valueMatrix(i,datagrid1.colRef("educcd")) == grd_educlist.valueMatrix(1,grd_educlist.colRef("educcd")) ) {
  349. continue;
  350. }
  351. else if( datagrid1.valueMatrix(i,datagrid1.colRef("educcd")) == grd_educlist.valueMatrix(j,grd_educlist.colRef("educcd")) ) {
  352. continue;
  353. }
  354. else if( datagrid1.valueMatrix(i,datagrid1.colRef("educcd")) != grd_educlist.valueMatrix(j-1,grd_educlist.colRef("educcd")) ) {
  355. // educcd가 다른경우
  356. grd_educlist.addRow(false);
  357. grd_educlist.valueMatrix(j,grd_educlist.colRef("appyy")) = datagrid1.valueMatrix(i,datagrid1.colRef("appyy"));
  358. grd_educlist.valueMatrix(j,grd_educlist.colRef("instcd")) = datagrid1.valueMatrix(i,datagrid1.colRef("instcd"));
  359. grd_educlist.valueMatrix(j,grd_educlist.colRef("educcd")) = datagrid1.valueMatrix(i,datagrid1.colRef("educcd"));
  360. grd_educlist.valueMatrix(j,grd_educlist.colRef("educcdnm")) = datagrid1.valueMatrix(i,datagrid1.colRef("educcdnm"));
  361. j++;
  362. }
  363. }
  364. // 차수 콤보 세팅
  365. var dg = 1;
  366. for(var i = datagrid1.fixedRows, j = grd_educlist.fixedRows; i < datagrid1.rows; i++ ) {
  367. if( i == datagrid1.fixedRows && j == grd_educlist.fixedRows) { // 맨첫번째 row일때
  368. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/value");
  369. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/label");
  370. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/value","");
  371. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/label","전체");
  372. dg++;
  373. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/value");
  374. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/label");
  375. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/value",datagrid1.valueMatrix(i,datagrid1.colRef("educdg")));
  376. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/label",datagrid1.valueMatrix(i,datagrid1.colRef("educdg")));
  377. }
  378. else if( datagrid1.valueMatrix(i,datagrid1.colRef("educcd")) == grd_educlist.valueMatrix(1,grd_educlist.colRef("educcd")) ) {
  379. // 첫번째 row의 educcd와 현재진행중인row의 educcd가 같으면 차수만 추가
  380. dg++;
  381. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  382. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  383. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value",datagrid1.valueMatrix(i,datagrid1.colRef("educdg")));
  384. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label",datagrid1.valueMatrix(i,datagrid1.colRef("educdg")));
  385. }
  386. else if( datagrid1.valueMatrix(i,datagrid1.colRef("educcd")) == grd_educlist.valueMatrix(j,grd_educlist.colRef("educcd")) ) {
  387. dg++;
  388. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  389. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  390. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value",datagrid1.valueMatrix(i,datagrid1.colRef("educdg")));
  391. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label",datagrid1.valueMatrix(i,datagrid1.colRef("educdg")));
  392. }
  393. else if( datagrid1.valueMatrix(i,datagrid1.colRef("educcd")) != grd_educlist.valueMatrix(j,grd_educlist.colRef("educcd")) ) {
  394. // educcd가 다른경우
  395. dg = 1;
  396. j++
  397. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  398. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  399. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value","");
  400. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label","전체");
  401. dg++;
  402. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  403. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  404. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value",datagrid1.valueMatrix(i,datagrid1.colRef("educdg")));
  405. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label",datagrid1.valueMatrix(i,datagrid1.colRef("educdg")));
  406. }
  407. }
  408. // itemset을 row별로 설정..
  409. for(var i = grd_educlist.fixedRows; i < grd_educlist.rows; i++ ) {
  410. grd_educlist.cellComboNodeset(i, 4) = "/root/init/itemset/set"+i;
  411. }
  412. grd_educlist.row = 1; // grd_educlist1그리드의 1번 row를 선택한것과 같음.
  413. model.refresh();
  414. }
  415. ]]>
  416. </script>
  417. <submission id="TRRPS00351" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams1" resultref="/root/main/list1"/>
  418. <submission id="TRRPS00352" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams2" resultref="/root/main/list2"/>
  419. <submission id="TRRPS00353" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams3" resultref="/root/main/list3"/>
  420. <submission id="TRRPS00304" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams3" resultref="/root/main/list3"/>
  421. <submission id="TXRPS00351" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/list2/eductrgtmanlist" resultref="/root/temp"/>
  422. <bind id="bind1" ref="/root/init/rowcount" calculate="count(/root/main/list2/eductrgtmanlist)" type="xsd:int"/>
  423. </model>
  424. </xhtml:head>
  425. <xhtml:body pagewidth="1211" pageheight="784" style="margin-left:8; margin-right:8; ">
  426. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  427. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">개인 신청 대상자 등록</caption>
  428. </group>
  429. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  430. <datagrid id="grd_eductrgtmanlist" nodeset="/root/main/list2/eductrgtmanlist" autoresize="true" caption="교육기관^교육차수^교육코드^적용년월^^사원번호^성명^교직구분코드^직원분류^근무기관코드^근무기관^근무부서코드^근무부서^성직구분코드^직원구분^직군코드^직군^직렬코드^직렬^신직급코드^신직급^현직급발령일^년차^직종코드^직종^직책코드^직책^직책발령일자^성별^입사일자^CMC입사일^이메일^핸드폰" colsep="^" colwidth="0, 0, 0, 0, 25, 65, 60, 0, 60, 0, 110, 0, 100, 0, 54, 0, 70, 0, 70, 0, 53, 100, 35, 0, 67, 0, 40, 100, 41, 70, 75, 100, 100" dataheight="25" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" selectionmode="byrow" style="left:346px; top:79px; width:849px; height:271px; ">
  431. <col ref="instcd"/>
  432. <col ref="educdg"/>
  433. <col ref="educcd"/>
  434. <col ref="appyy"/>
  435. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  436. <col ref="emplno" style="text-align:center; "/>
  437. <col ref="emplnm" style="text-align:center; "/>
  438. <col ref="prfshipflag" visibility="hidden"/>
  439. <col ref="prfshipnm"/>
  440. <col ref="dutinstcd" visibility="hidden"/>
  441. <col ref="dutinstnm"/>
  442. <col ref="dutdeptcd" visibility="hidden"/>
  443. <col ref="dutdeptnm"/>
  444. <col ref="holyordflag" visibility="hidden"/>
  445. <col ref="holyordnm"/>
  446. <col ref="grupjoblncd" visibility="hidden"/>
  447. <col ref="grupjoblnnm" visibility="hidden"/>
  448. <col ref="joblncd" visibility="hidden"/>
  449. <col ref="joblnnm" visibility="hidden"/>
  450. <col ref="njobgradcd" visibility="hidden"/>
  451. <col ref="njobgradnm"/>
  452. <col ref="jobgradorddd" format="yyyy-mm-dd" style="text-align:center; "/>
  453. <col ref="anual" style="text-align:right; "/>
  454. <col ref="jobkindcd" visibility="hidden"/>
  455. <col ref="jobkindnm"/>
  456. <col ref="jobrespcd" visibility="hidden"/>
  457. <col ref="jobrespnm"/>
  458. <col ref="jobresporddd" format="yyyy-mm-dd" style="text-align:center; "/>
  459. <col disabled="true" ref="gender" type="combo" style="text-align:center; ">
  460. <choices>
  461. <itemset nodeset="/root/init/item">
  462. <label ref="label"/>
  463. <value ref="value"/>
  464. </itemset>
  465. </choices>
  466. </col>
  467. <col ref="entcodd" format="yyyy-mm-dd" style="text-align:center; "/>
  468. <col ref="cmcentcodd" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; "/>
  469. <col ref="email" visibility="hidden"/>
  470. <col ref="mpphone" visibility="hidden"/>
  471. <script type="javascript" ev:event="onaftersort">
  472. <![CDATA[
  473. grd_eductrgtmanlist.gridToInstance();
  474. ]]>
  475. </script>
  476. <script type="javascript" ev:event="onrowchanged">
  477. <![CDATA[
  478. grd_eductrgtmanlist.selectionmode = "byrow";
  479. grd_eductrgtmanlist.isSelected(grd_eductrgtmanlist.row) = true;
  480. grd_eductrgtmanlist.focusColor = "#ccffcc";
  481. ]]>
  482. </script>
  483. </datagrid>
  484. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:360px; width:340px; height:373px; background-color:#fffbf2; border-color:#ffd799; "/>
  485. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:9px; width:1194px; height:37px; background-color:#fffbf2; border-color:#ffd799; "/>
  486. <line id="line13" class="line_4" style="x1:1095px; y1:14px; x2:1095px; y2:40px; "/>
  487. <caption id="caption1" class="search_name" style="left:236px; top:19px; width:97px; height:17px; ">주체기관 :</caption>
  488. <caption id="caption10" class="search_name" style="left:22px; top:19px; width:90px; height:17px; ">년 도 :</caption>
  489. <caption id="caption2" class="search_name" style="left:535px; top:20px; width:86px; height:17px; ">주체단위 :</caption>
  490. <caption id="caption3" class="search_name" style="left:781px; top:19px; width:91px; height:17px; ">교육구분 :</caption>
  491. <line id="line5" class="line_1" style="x1:0px; y1:75px; x2:1194px; y2:76px; "/>
  492. <caption id="caption9" class="tit_2" style="left:5px; top:60px; width:169px; height:13px; ">교육과정</caption>
  493. <input id="ipt_yyyy" ref="/root/send/retrparams1/appyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:110px; top:18px; width:82px; height:19px; text-align:center; ">
  494. <script type="javascript" ev:event="xforms-value-changed">
  495. <![CDATA[
  496. model.setValue("/root/init/tempnode/appyy", "/root/send/retrparams1/appyy");
  497. fEducListRetrieve();
  498. ]]>
  499. </script>
  500. </input>
  501. <select1 id="cmb_mainbdunit" ref="/root/send/retrparams1/mainbdunit" class="combo_search" appearance="minimal" style="left:625px; top:18px; width:100px; height:19px; ">
  502. <choices>
  503. <itemset>
  504. <label/>
  505. <value/>
  506. </itemset>
  507. </choices>
  508. <script type="javascript" ev:event="xforms-value-changed">
  509. <![CDATA[
  510. fEducListRetrieve();
  511. ]]>
  512. </script>
  513. </select1>
  514. <select1 id="cmb_educflag" ref="/root/send/retrparams1/educflag" class="combo_search" appearance="minimal" style="left:868px; top:18px; width:142px; height:19px; ">
  515. <choices>
  516. <itemset>
  517. <label/>
  518. <value/>
  519. </itemset>
  520. </choices>
  521. <script type="javascript" ev:event="xforms-value-changed">
  522. <![CDATA[
  523. fEducListRetrieve();
  524. ]]>
  525. </script>
  526. </select1>
  527. <caption id="caption13" class="tit_2" style="left:347px; top:60px; width:169px; height:13px; ">대상자목록</caption>
  528. <caption id="caption16" class="tit_2" style="left:347px; top:363px; width:169px; height:13px; ">교직원목록</caption>
  529. <datagrid id="grd_educlist" nodeset="/root/main/list1/educlist" autoresize="true" caption="적용년도^기관^교육코드^교육명^차수" colsep="^" colwidth="53, 32, 43, 281, 59" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="25" rowsep="|" style="left:0px; top:79px; width:340px; height:271px; ">
  530. <col ref="appyy" visibility="hidden"/>
  531. <col ref="instcd" visibility="hidden"/>
  532. <col ref="educcd" type="input" visibility="hidden"/>
  533. <col ref="educcdnm" style="text-align:left; "/>
  534. <col ref="educdg" type="combo">
  535. <choices>
  536. <itemset nodeset="/root/init/itemset/set1">
  537. <label ref="label"/>
  538. <value ref="value"/>
  539. </itemset>
  540. </choices>
  541. </col>
  542. <script type="javascript" ev:event="ondblclick">
  543. <![CDATA[
  544. var rowcnt = grd_eductrgtmanlist.rows-1;
  545. for( var i = 0; i < rowcnt; i++ ) {
  546. grd_eductrgtmanlist.fixedcellischeck(0, 5) = false; // 전체 체크박스를 초기화
  547. model.removenode("/root/main/list2/eductrgtmanlist");
  548. }
  549. grd_eductrgtmanlist.refresh();
  550. fEducTrgtManListRetrieve();
  551. ]]>
  552. </script>
  553. </datagrid>
  554. <datagrid id="grd_emplist" nodeset="/root/main/list3/emplist" autoresize="true" caption="^사원번호^성명^교직구분코드^직원분류^근무기관코드^근무기관^근무부서코드^근무부서^성직구분코드^직원구분^직군코드^직군^caption1^직렬^신직급코드^신직급^년차^직종코드^직종^직책코드^직책^성별^입사일자^CMC입사일" colsep="^" colwidth="25, 65, 60, 0, 60, 0, 110, 0, 100, 0, 55, 0, 70, 0, 70, 0, 53, 35, 0, 68, 0, 101, 42, 70, 75" dataheight="25" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:346px; top:379px; width:849px; height:354px; ">
  555. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  556. <col ref="emplno" style="text-align:center; "/>
  557. <col ref="emplnm" style="text-align:center; "/>
  558. <col ref="prfshipflag" visibility="hidden"/>
  559. <col ref="prfshipnm"/>
  560. <col ref="dutinstcd" visibility="hidden"/>
  561. <col ref="dutinstnm"/>
  562. <col ref="dutdeptcd" visibility="hidden"/>
  563. <col ref="dutdeptnm"/>
  564. <col ref="holyordflag" visibility="hidden"/>
  565. <col ref="holyordnm"/>
  566. <col ref="grupjoblncd" visibility="hidden"/>
  567. <col ref="grupjoblnnm" visibility="hidden"/>
  568. <col ref="joblncd" visibility="hidden"/>
  569. <col ref="joblnnm" visibility="hidden"/>
  570. <col ref="njobgradcd" visibility="hidden"/>
  571. <col ref="njobgradnm"/>
  572. <col ref="anual" style="text-align:right; "/>
  573. <col ref="jobkindcd" visibility="hidden"/>
  574. <col ref="jobkindnm"/>
  575. <col ref="jobrespcd" visibility="hidden"/>
  576. <col ref="jobrespnm"/>
  577. <col disabled="true" ref="gender" type="combo" style="text-align:center; ">
  578. <choices>
  579. <itemset nodeset="/root/init/item">
  580. <label ref="label"/>
  581. <value ref="value"/>
  582. </itemset>
  583. </choices>
  584. </col>
  585. <col ref="entcodd" format="yyyy-mm-dd" style="text-align:center; "/>
  586. <col ref="cmcentcodd" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; "/>
  587. <script type="javascript" ev:event="onaftersort">
  588. <![CDATA[
  589. grd_emplist.gridToInstance();
  590. ]]>
  591. </script>
  592. <script type="javascript" ev:event="ondblclick">
  593. <![CDATA[
  594. if(grd_educlist.rows == 1) {
  595. messageBox("교육내용을", "C002");
  596. return;
  597. }
  598. var sEmplno = model.getValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/emplno");
  599. var iRowIdx = grd_eductrgtmanlist.findRow(sEmplno, 0, grd_eductrgtmanlist.colRef("emplno"));
  600. if(iRowIdx != -1) {
  601. messageBox("이미 대상자로 등록되어 있습니다.","I999");
  602. return;
  603. }
  604. misfGridIUD(grd_eductrgtmanlist, "A");
  605. fSetTrgtManInfo(grd_eductrgtmanlist.row, grd_emplist.row);
  606. ]]>
  607. </script>
  608. </datagrid>
  609. <button id="btn_search" class="btn1_letter2" style="left:1119px; top:17px; width:56px; height:22px; ">
  610. <caption>조회</caption>
  611. <script type="javascript" ev:event="DOMActivate">
  612. <![CDATA[
  613. model.removeNodeset("/root/main/list1");
  614. model.refresh();
  615. model.makeNode("/root/main/list1/educlist1");
  616. submit("TRRPS00351");
  617. fListAddCombo();
  618. grd_educlist.autoResize = true;
  619. ]]>
  620. </script>
  621. </button>
  622. <button id="btn_addtrgtman" class="btn5_letter5" style="left:1118px; top:357px; width:75px; height:19px; ">
  623. <caption>대상자등록</caption>
  624. <script type="javascript" ev:event="DOMActivate">
  625. <![CDATA[
  626. if( grd_educlist.valueMatrix(grd_educlist.row,grd_educlist.colRef("educdg")) == "" ) {
  627. messageBox("차수를","C002");
  628. return;
  629. }
  630. fRgstTrgtManList();
  631. fPsnCnt();
  632. ]]>
  633. </script>
  634. </button>
  635. <button id="btn_saveexcel" class="btn2_letter4" style="left:1007px; top:54px; width:64px; height:19px; ">
  636. <caption>엑셀저장</caption>
  637. <script type="javascript" ev:event="DOMActivate">
  638. <![CDATA[
  639. misfSaveExcel(grd_eductrgtmanlist);
  640. ]]>
  641. </script>
  642. </button>
  643. <button id="btn_loadexcel" class="btn2_letter4" style="left:1072px; top:54px; width:64px; height:19px; ">
  644. <caption>엑셀입력</caption>
  645. <script type="javascript" ev:event="DOMActivate">
  646. <![CDATA[
  647. fLoadExcel();
  648. ]]>
  649. </script>
  650. </button>
  651. <button id="btn_delrow" class="btn2_letter3" style="left:1140px; top:54px; width:53px; height:19px; ">
  652. <caption>행삭제</caption>
  653. <script type="javascript" ev:event="DOMActivate">
  654. <![CDATA[
  655. var rowcnt = grd_eductrgtmanlist.rows;
  656. for( var i = 1; i < rowcnt; i++ ) {
  657. if( grd_eductrgtmanlist.valueMatrix(i, grd_eductrgtmanlist.colRef("chk")) == "Y" ) {
  658. grd_eductrgtmanlist.removeStatus(i, "insert");
  659. grd_eductrgtmanlist.addStatus(i, "delete");
  660. }
  661. }
  662. grd_eductrgtmanlist.refresh();
  663. ]]>
  664. </script>
  665. </button>
  666. <datagrid id="grd_loadexcel" nodeset="/root/main/list4/excellist" visibility="hidden" caption="사번" colsep="^" colwidth="80" dataheight="25" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:1075px; top:215px; width:120px; height:96px; ">
  667. <col ref="emplno" style="text-align:center; "/>
  668. </datagrid>
  669. <output id="opt_cnt" ref="/root/init/rowcount" class="output_fix" format="#,###" style="left:920px; top:54px; width:60px; height:19px; text-align:right; "/>
  670. <caption id="caption24" class="ex_3" style="left:810px; top:56px; width:115px; height:16px; ">총 대상자 인원 :</caption>
  671. <line id="line3" class="line_1" style="x1:0px; y1:351px; x2:1194px; y2:351px; "/>
  672. <line id="line2" class="line_3" style="x1:347px; y1:377px; x2:1194px; y2:377px; "/>
  673. <line id="line4" class="line_3" style="x1:343px; y1:354px; x2:343px; y2:734px; "/>
  674. <line id="line6" class="line_3" style="x1:343px; y1:78px; x2:343px; y2:351px; "/>
  675. <button id="btn_remove" class="btn2_letter3" style="left:1063px; top:357px; width:53px; height:19px; ">
  676. <caption>초기화</caption>
  677. <script type="javascript" ev:event="DOMActivate">
  678. <![CDATA[
  679. if( messageBox("","Q010") == '6' ) {
  680. model.removenode("/root/main/list3");
  681. grd_emplist.refresh();
  682. }
  683. ]]>
  684. </script>
  685. </button>
  686. <button id="button8" class="icon_search" style="left:479px; top:19px; width:16px; height:16px; ">
  687. <caption/>
  688. <script type="javascript" ev:event="DOMActivate">
  689. <![CDATA[
  690. var recv_list = "instcd,instnm";
  691. misfOpenPopUpList("03", ipt_instnm,"Z0007", recv_list, "", "") ;
  692. model.refresh();
  693. ]]>
  694. </script>
  695. </button>
  696. <input id="ipt_instnm" ref="/root/send/retrparams1/instnm" class="input_search" appearance="input" style="left:320px; top:18px; width:155px; height:19px; ">
  697. <script type="javascript" ev:event="xforms-value-changed">
  698. <![CDATA[
  699. if( ipt_instnm.value.getByteLength() == '0' ) {
  700. ipt_instcd.value = "" ;
  701. }
  702. model.refresh();
  703. ]]>
  704. </script>
  705. </input>
  706. <input id="ipt_instcd" ref="/root/send/retrparams1/instcd" disabled="true" visibility="visible" style="left:500px; top:18px; width:50px; height:19px; "/>
  707. <output id="opt_count" ref="/root/send/search/count" class="output_fix" style="left:768px; top:55px; width:35px; height:19px; color:#ff0000; text-align:center; "/>
  708. <select1 id="cmb_search" ref="/root/send/search/searchflag" appearance="minimal" style="left:566px; top:55px; width:82px; height:19px; text-align:center; ">
  709. <choices>
  710. <item>
  711. <label>이름</label>
  712. <value>emplnm</value>
  713. </item>
  714. <item>
  715. <label>사번</label>
  716. <value>emplno</value>
  717. </item>
  718. </choices>
  719. <script type="javascript" ev:event="xforms-value-changed">
  720. <![CDATA[
  721. ipt_search.attribute("format") = "";
  722. ipt_search.value = "";
  723. model.setFocus("ipt_search");
  724. ]]>
  725. </script>
  726. </select1>
  727. <caption id="caption27" class="search_name" style="left:485px; top:55px; width:85px; height:17px; ">Search :</caption>
  728. <input id="ipt_search" ref="/root/send/search/emplnm" class="input_default" imemode="hangul" style="left:651px; top:55px; width:115px; height:19px; text-align:center; ">
  729. <script type="javascript" ev:event="onkeypress">
  730. <![CDATA[
  731. if(event.keyCode == 13 || event.keyCode == 9 )
  732. {
  733. model.setFocus("grd_eductrgtmanlist");
  734. var pErrorValue = ipt_search.currentText;
  735. ipt_search.refresh();
  736. fSearch(cmb_search.value, ipt_search.value, pErrorValue, opt_count);
  737. grd_eductrgtmanlist.dispatch("onrowchanged");
  738. }
  739. ]]>
  740. </script>
  741. </input>
  742. <input id="ipt_frcorddd" ref="/root/send/retrparams3/frcorddd" class="input_search" inputtype="date" style="left:122px; top:483px; width:95px; height:19px; "/>
  743. <button id="button1" class="icon_search" style="left:222px; top:679px; width:16px; height:16px; ">
  744. <caption/>
  745. <script type="javascript" ev:event="DOMActivate">
  746. <![CDATA[
  747. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm", "", "N");
  748. if( fCheckEmplno(ipt_emplno.value) ) ;
  749. else {
  750. btn_search2.dispatch("DOMActivate");
  751. }
  752. model.refresh();
  753. ]]>
  754. </script>
  755. </button>
  756. <button id="btn_dutunit" class="icon_search" style="left:222px; top:595px; width:16px; height:16px; ">
  757. <caption/>
  758. <script type="javascript" ev:event="DOMActivate">
  759. <![CDATA[
  760. misfOpenPopUpList("02", ipt_dutunitnm, "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  761. model.refresh();
  762. ]]>
  763. </script>
  764. </button>
  765. <input id="ipt_jobrespnm" ref="/root/send/retrparams3/jobrespnm" class="input_search" navindex="3" style="left:122px; top:455px; width:95px; height:19px; ">
  766. <script type="javascript" ev:event="xforms-value-changed">
  767. <![CDATA[
  768. misfValidationCheck("03", "R0063", "jobrespcd,jobrespnm" );
  769. model.refresh();
  770. ]]>
  771. </script>
  772. <script type="javascript" ev:event="onkeypress">
  773. <![CDATA[
  774. if(event.keyCode == 13) {
  775. ipt_dutunitnm.value = ipt_dutunitnm.currentText;
  776. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  777. model.refresh();
  778. }
  779. ]]>
  780. </script>
  781. </input>
  782. <button id="button2" class="icon_search" style="left:222px; top:567px; width:16px; height:16px; ">
  783. <caption/>
  784. <script type="javascript" ev:event="DOMActivate">
  785. <![CDATA[
  786. var recv_list = "jobkindcd,jobkindnm";
  787. rpbfOpenComCdHelp(ipt_jobkindcd,"R0061", recv_list);
  788. model.refresh();
  789. ]]>
  790. </script>
  791. </button>
  792. <select1 id="cmb_prfshipflag" ref="/root/send/retrparams3/prfshipflag" class="combo_search" appearance="minimal" style="left:122px; top:427px; width:95px; height:19px; ">
  793. <choices>
  794. <itemset>
  795. <label/>
  796. <value/>
  797. </itemset>
  798. </choices>
  799. </select1>
  800. <button id="button3" class="icon_search" style="left:222px; top:511px; width:16px; height:16px; ">
  801. <caption/>
  802. <script type="javascript" ev:event="DOMActivate">
  803. <![CDATA[
  804. var recv_list = "njobgradcd,njobgradnm";
  805. rpbfOpenComCdHelp(ipt_njobgradcd,"R0064", recv_list);
  806. model.refresh();
  807. ]]>
  808. </script>
  809. </button>
  810. <button id="btn_search2" class="btn1_letter2" style="left:280px; top:369px; width:56px; height:22px; ">
  811. <caption>조회</caption>
  812. <script type="javascript" ev:event="DOMActivate">
  813. <![CDATA[
  814. if( grd_educlist.rows == 1 ) {
  815. model.setValue("/root/send/retrparams3/educinstcd", cmb_dutinstcd.value);
  816. model.setValue("/root/send/retrparams3/appyy", ipt_yyyy.value);
  817. model.removeNodeset("/root/main/list3/emplist");
  818. submit("TRRPS00354");
  819. }
  820. else {
  821. fEmpListRetrieve();
  822. }
  823. ]]>
  824. </script>
  825. </button>
  826. <input id="ipt_jobresttodd" ref="/root/send/retrparams3/jobresttodd" class="input_search" inputtype="date" style="left:240px; top:539px; width:93px; height:19px; "/>
  827. <input id="ipt_jobrestfrdd" ref="/root/send/retrparams3/jobrestfrdd" class="input_search" inputtype="date" style="left:122px; top:539px; width:95px; height:19px; "/>
  828. <button id="button4" class="icon_search" style="left:222px; top:455px; width:16px; height:16px; ">
  829. <caption/>
  830. <script type="javascript" ev:event="DOMActivate">
  831. <![CDATA[
  832. var recv_list = "jobrespcd,jobrespnm";
  833. rpbfOpenComCdHelp(ipt_jobrespcd,"R0063", recv_list);
  834. model.refresh();
  835. ]]>
  836. </script>
  837. </button>
  838. <input id="ipt_jobrespcd" ref="/root/send/retrparams3/jobrespcd" class="input_search" navindex="2" visibility="visible" maxlength="10" style="left:240px; top:454px; width:93px; height:19px; text-align:center; ">
  839. <script type="javascript" ev:event="xforms-value-changed">
  840. <![CDATA[
  841. misfValidationCheck("03", "R0063", "jobrespcd,jobrespnm" );
  842. model.refresh();
  843. ]]>
  844. </script>
  845. <script type="javascript" ev:event="onkeypress">
  846. <![CDATA[
  847. if(event.keyCode == 13)
  848. {
  849. ipt_dutunitcd.value = ipt_dutunitcd.currentText;
  850. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  851. model.refresh();
  852. }
  853. ]]>
  854. </script>
  855. </input>
  856. <input id="ipt_frentcodd" ref="/root/send/retrparams3/frentcodd" class="input_s_essential" inputtype="date" style="left:122px; top:399px; width:95px; height:19px; "/>
  857. <input id="ipt_cmctodd" ref="/root/send/retrparams3/cmctodd" class="input_search" visibility="hidden" inputtype="date" style="left:631px; top:545px; width:93px; height:19px; "/>
  858. <caption id="caption20" class="search_name" style="left:9px; top:539px; width:112px; height:17px; ">현직급발령일 :</caption>
  859. <button id="button5" class="icon_search" visibility="hidden" style="left:618px; top:570px; width:16px; height:16px; ">
  860. <caption/>
  861. <script type="javascript" ev:event="DOMActivate">
  862. <![CDATA[
  863. var recv_list = "grupjoblncd,grupjoblnnm";
  864. rpbfOpenComCdHelp(ipt_grupjoblncd,"R0059", recv_list);
  865. model.refresh();
  866. ]]>
  867. </script>
  868. </button>
  869. <input id="ipt_toentcodd" ref="/root/send/retrparams3/toentcodd" class="input_s_essential" inputtype="date" style="left:240px; top:399px; width:93px; height:19px; "/>
  870. <input id="ipt_jobkindnm" ref="/root/send/retrparams3/jobkindnm" class="input_search" navindex="3" style="left:122px; top:567px; width:95px; height:19px; ">
  871. <script type="javascript" ev:event="xforms-value-changed">
  872. <![CDATA[
  873. misfValidationCheck("03", "R0061", "jobkindcd,jobkindnm" );
  874. model.refresh();
  875. ]]>
  876. </script>
  877. </input>
  878. <caption id="caption21" class="search_name" style="left:9px; top:399px; width:121px; height:17px; ">입 사 일 자 :</caption>
  879. <input id="ipt_grupjoblncd" ref="/root/send/retrparams3/grupjoblncd" class="input_search" navindex="2" visibility="hidden" maxlength="10" style="left:636px; top:569px; width:93px; height:19px; text-align:center; "/>
  880. <caption id="caption22" style="left:222px; top:399px; width:16px; height:16px; ">~</caption>
  881. <input id="ipt_dutunitnm" ref="/root/send/retrparams3/dutunitnm" class="input_search" navindex="3" style="left:122px; top:595px; width:95px; height:19px; ">
  882. <script type="javascript" ev:event="xforms-value-changed">
  883. <![CDATA[
  884. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  885. model.refresh();
  886. ]]>
  887. </script>
  888. </input>
  889. <caption id="caption11" class="search_name" style="left:9px; top:567px; width:110px; height:17px; ">직 종 :</caption>
  890. <input id="ipt_cmcfromdd" ref="/root/send/retrparams3/cmcfromdd" class="input_search" visibility="hidden" inputtype="date" style="left:513px; top:545px; width:95px; height:19px; "/>
  891. <input id="ipt_njobgradcd" ref="/root/send/retrparams3/njobgradcd" class="input_search" navindex="2" visibility="visible" maxlength="10" style="left:240px; top:510px; width:93px; height:19px; text-align:center; ">
  892. <script type="javascript" ev:event="xforms-value-changed">
  893. <![CDATA[
  894. misfValidationCheck("03", "R0064", "njobgradcd,njobgradnm" );
  895. model.refresh();
  896. ]]>
  897. </script>
  898. <script type="javascript" ev:event="onkeypress">
  899. <![CDATA[
  900. if(event.keyCode == 13)
  901. {
  902. ipt_dutunitcd.value = ipt_dutunitcd.currentText;
  903. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  904. model.refresh();
  905. }
  906. ]]>
  907. </script>
  908. </input>
  909. <input id="ipt_jobkindcd" ref="/root/send/retrparams3/jobkindcd" class="input_search" navindex="2" visibility="visible" maxlength="10" style="left:240px; top:566px; width:93px; height:19px; text-align:center; ">
  910. <script type="javascript" ev:event="xforms-value-changed">
  911. <![CDATA[
  912. misfValidationCheck("03", "R0061", "jobkindcd,jobkindnm" );
  913. model.refresh();
  914. ]]>
  915. </script>
  916. </input>
  917. <caption id="caption23" class="search_name" style="left:9px; top:651px; width:110px; height:17px; ">년 차 :</caption>
  918. <caption id="caption12" class="search_name" visibility="hidden" style="left:405px; top:570px; width:110px; height:17px; ">직 군 :</caption>
  919. <button id="btn_joblncd" class="icon_search" visibility="hidden" style="left:618px; top:593px; width:16px; height:16px; ">
  920. <caption/>
  921. <script type="javascript" ev:event="DOMActivate">
  922. <![CDATA[
  923. var recv_list = "joblncd,joblnnm";
  924. rpbfOpenComCdHelp(ipt_joblncd,"R0060", recv_list);
  925. model.refresh();
  926. ]]>
  927. </script>
  928. </button>
  929. <input id="ipt_njobgradcdnm" ref="/root/send/retrparams3/njobgradnm" class="input_search" navindex="3" style="left:122px; top:511px; width:95px; height:19px; ">
  930. <script type="javascript" ev:event="xforms-value-changed">
  931. <![CDATA[
  932. misfValidationCheck("03", "R0064", "njobgradcd,njobgradnm" );
  933. model.refresh();
  934. ]]>
  935. </script>
  936. <script type="javascript" ev:event="onkeypress">
  937. <![CDATA[
  938. if(event.keyCode == 13) {
  939. ipt_dutunitnm.value = ipt_dutunitnm.currentText;
  940. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  941. model.refresh();
  942. }
  943. ]]>
  944. </script>
  945. </input>
  946. <caption id="caption4" class="search_name" style="left:9px; top:679px; width:110px; height:17px; ">성 명 :</caption>
  947. <input id="ipt_emplnm" ref="/root/send/retrparams3/emplnm" class="input_search" navindex="3" style="left:122px; top:679px; width:95px; height:19px; ">
  948. <script type="javascript" ev:event="xforms-value-changed">
  949. <![CDATA[
  950. var recv_list = "emplno,emplnm";
  951. rpbfValidationCheck("EMPLNM", recv_list);
  952. model.refresh();
  953. ]]>
  954. </script>
  955. <script type="javascript" ev:event="onkeypress">
  956. <![CDATA[
  957. inputEnterKey("ipt_emplnm","xforms-value-changed");
  958. ]]>
  959. </script>
  960. </input>
  961. <input id="ipt_dutunitcd" ref="/root/send/retrparams3/dutunitcd" class="input_search" navindex="2" visibility="visible" maxlength="10" style="left:240px; top:594px; width:93px; height:19px; text-align:center; ">
  962. <script type="javascript" ev:event="xforms-value-changed">
  963. <![CDATA[
  964. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  965. model.refresh();
  966. ]]>
  967. </script>
  968. </input>
  969. <caption id="caption25" class="search_name" visibility="hidden" style="left:405px; top:593px; width:110px; height:17px; ">직 렬 :</caption>
  970. <caption id="caption14" class="search_name" style="left:9px; top:455px; width:110px; height:17px; ">직 책 :</caption>
  971. <caption id="caption5" class="search_name" style="left:9px; top:427px; width:111px; height:17px; ">직 원 분 류 :</caption>
  972. <line id="line1" class="line_4" style="x1:275px; y1:370px; x2:275px; y2:387px; "/>
  973. <caption id="caption26" style="left:222px; top:539px; width:16px; height:16px; ">~</caption>
  974. <input id="ipt_emplno" ref="/root/send/retrparams3/emplno" class="input_search" navindex="2" visibility="visible" maxlength="10" style="left:240px; top:678px; width:93px; height:19px; text-align:center; ">
  975. <script type="javascript" ev:event="xforms-value-changed">
  976. <![CDATA[
  977. var recv_list = "emplno,emplnm";
  978. rpbfValidationCheck("EMPLNO", recv_list);
  979. model.refresh();
  980. ]]>
  981. </script>
  982. <script type="javascript" ev:event="onkeypress">
  983. <![CDATA[
  984. inputEnterKey("ipt_emplnm","xforms-value-changed");
  985. ]]>
  986. </script>
  987. </input>
  988. <input id="ipt_anual" ref="/root/send/retrparams3/anual" class="input_search" format="99" style="left:122px; top:651px; width:95px; height:19px; text-align:center; "/>
  989. <select1 id="cmb_dutinstcd" ref="/root/send/retrparams3/instcd" class="combo_s_essential" appearance="minimal" style="left:95px; top:370px; width:175px; height:19px; ">
  990. <choices>
  991. <itemset>
  992. <label/>
  993. <value/>
  994. </itemset>
  995. </choices>
  996. </select1>
  997. <caption id="caption15" class="search_name" style="left:9px; top:511px; width:108px; height:17px; ">신 직 급 :</caption>
  998. <caption id="caption7" class="search_name" style="left:9px; top:623px; width:116px; height:17px; ">직 원 구 분 :</caption>
  999. <caption id="caption28" class="search_name" visibility="hidden" style="left:400px; top:545px; width:143px; height:17px; ">CMC 입사일 :</caption>
  1000. <input id="ipt_joblnnm" ref="/root/send/retrparams3/joblnnm" class="input_search" navindex="3" visibility="hidden" style="left:518px; top:593px; width:95px; height:19px; ">
  1001. <script type="javascript" ev:event="xforms-value-changed">
  1002. <![CDATA[
  1003. misfValidationCheck("03", "R0063", "jobrespcd,jobrespnm" );
  1004. model.refresh();
  1005. ]]>
  1006. </script>
  1007. <script type="javascript" ev:event="onkeypress">
  1008. <![CDATA[
  1009. if(event.keyCode == 13) {
  1010. ipt_dutunitnm.value = ipt_dutunitnm.currentText;
  1011. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  1012. model.refresh();
  1013. }
  1014. ]]>
  1015. </script>
  1016. </input>
  1017. <input id="ipt_grupjoblncdnm" ref="/root/send/retrparams3/grupjoblnnm" class="input_search" navindex="3" visibility="hidden" style="left:518px; top:570px; width:95px; height:19px; "/>
  1018. <select1 id="cmb_holyordflag" ref="/root/send/retrparams3/holyordflag" class="combo_search" appearance="minimal" style="left:122px; top:623px; width:95px; height:19px; ">
  1019. <choices>
  1020. <itemset>
  1021. <label/>
  1022. <value/>
  1023. </itemset>
  1024. </choices>
  1025. </select1>
  1026. <caption id="caption17" class="search_name" style="left:9px; top:595px; width:116px; height:17px; ">근 무 부 서 :</caption>
  1027. <caption id="caption8" class="search_name" style="left:9px; top:370px; width:116px; height:17px; ">근무기관 :</caption>
  1028. <caption id="caption29" visibility="hidden" style="left:613px; top:545px; width:16px; height:16px; ">~</caption>
  1029. <caption id="caption18" class="search_name" style="left:9px; top:483px; width:112px; height:17px; ">직책발령일자 :</caption>
  1030. <input id="ipt_joblncd" ref="/root/send/retrparams3/joblncd" class="input_search" navindex="2" visibility="hidden" maxlength="10" style="left:636px; top:592px; width:93px; height:19px; text-align:center; ">
  1031. <script type="javascript" ev:event="xforms-value-changed">
  1032. <![CDATA[
  1033. misfValidationCheck("03", "R0063", "jobrespcd,jobrespnm" );
  1034. model.refresh();
  1035. ]]>
  1036. </script>
  1037. <script type="javascript" ev:event="onkeypress">
  1038. <![CDATA[
  1039. if(event.keyCode == 13)
  1040. {
  1041. ipt_dutunitcd.value = ipt_dutunitcd.currentText;
  1042. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  1043. model.refresh();
  1044. }
  1045. ]]>
  1046. </script>
  1047. </input>
  1048. <caption id="caption19" style="left:222px; top:483px; width:16px; height:16px; ">~</caption>
  1049. <input id="ipt_tocorddd" ref="/root/send/retrparams3/tocorddd" class="input_search" inputtype="date" style="left:240px; top:483px; width:93px; height:19px; "/>
  1050. <datagrid id="datagrid1" nodeset="/root/main/list1/educlist1" visibility="hidden" autoresize="true" caption="적용년도^기관^교육코드^교육명" colsep="^" colwidth="53, 32, 43, 193" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="25" rowsep="|" style="left:0px; top:185px; width:340px; height:115px; ">
  1051. <col ref="appyy" visibility="hidden"/>
  1052. <col ref="instcd" visibility="hidden"/>
  1053. <col ref="educcd" type="input"/>
  1054. <col ref="educcdnm" style="text-align:left; "/>
  1055. <col ref="educdg" type="input"/>
  1056. </datagrid>
  1057. </group>
  1058. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  1059. <button id="button89" class="btn6_letter2" visibility="hidden" style="left:5px; top:5px; width:56px; height:22px; ">
  1060. <caption>출력</caption>
  1061. </button>
  1062. <button id="btn_save" class="btn4_letter2" navindex="20000" style="left:1139px; top:3px; width:56px; height:22px; ">
  1063. <caption>저장</caption>
  1064. <script type="javascript" ev:event="DOMActivate">
  1065. <![CDATA[
  1066. var rowcnt = grd_eductrgtmanlist.rows-1;
  1067. for( var i = 0; i < rowcnt; i++ ) {
  1068. grd_eductrgtmanlist.fixedcellischeck(0, 5) = false; // 전체 체크박스를 초기화
  1069. grd_eductrgtmanlist.fixedcellischeck(i, 5) = false;
  1070. }
  1071. grd_eductrgtmanlist.refresh();
  1072. fSave();
  1073. model.refresh();
  1074. ]]>
  1075. </script>
  1076. </button>
  1077. </group>
  1078. </xhtml:body>
  1079. </xhtml:html>