xSMRPS04000_부서교육등록.xrw 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825
  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>SMRPS04000_부서교육등록</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <grid>
  11. <educlist/>
  12. </grid>
  13. <list2>
  14. <eductrgtmanlist/>
  15. </list2>
  16. <list3>
  17. <emplist/>
  18. </list3>
  19. <list4>
  20. <excellist/>
  21. </list4>
  22. </main>
  23. <send>
  24. <search>
  25. <appyy/>
  26. <educflag/>
  27. <posinstcd/>
  28. <chrgdeptcd/>
  29. <chrgdeptnm/>
  30. <chrgteamnm/>
  31. <chrgteamcd/>
  32. <chrgunitnm/>
  33. <chrgunitcd/>
  34. <emplno/>
  35. <grdunitcd/>
  36. <deptcd/>
  37. <instcd/>
  38. </search>
  39. <emplsearch>
  40. <instcd/>
  41. <dutunitcd/>
  42. <dutunitnm/>
  43. <frentcodd/>
  44. <toentcodd/>
  45. <emplnm/>
  46. <emplno/>
  47. <appyy/>
  48. <depteduccd/>
  49. <cmcfromdd/>
  50. <cmctodd/>
  51. </emplsearch>
  52. <save>
  53. </save>
  54. </send>
  55. <init>
  56. </init>
  57. <temp>
  58. </temp>
  59. </root>
  60. </instance>
  61. <script type="javascript" ev:event="xforms-ready">
  62. <![CDATA[
  63. // user정보조회
  64. model.setValue(ipt_emplno.attribute("ref"),getUserInfo("userid"));
  65. submit("TRRPS04000");
  66. var curdate = getCurrentDate();
  67. model.setValue(ipt_appyy.attribute("ref") , curdate.substr(0, 4));
  68. model.setValue(ipt_posinstcd.attribute("ref"),model.getValue("/root/init/emplinfo/dutplceinst"));
  69. model.setValue(ipt_chrgdeptnm.attribute("ref"),model.getValue("/root/init/emplinfo/dutdeptnm"));
  70. model.setValue(ipt_chrgdeptcd.attribute("ref"), model.getValue("/root/init/emplinfo/dutdeptcd"));
  71. model.setValue(ipt_chrgteamnm.attribute("ref"),model.getValue("/root/init/emplinfo/dutteamnm"));
  72. model.setValue(ipt_chrgteamcd.attribute("ref"),model.getValue("/root/init/emplinfo/dutteamcd"));
  73. model.setValue(ipt_chrgunitnm.attribute("ref"), model.getValue("/root/init/emplinfo/dutunitnm"));
  74. model.setValue(ipt_chrgunitcd.attribute("ref"), model.getValue("/root/init/emplinfo/dutunitcd"));
  75. model.setValue("/root/send/search/instcd", model.getValue("/root/init/emplinfo/dutplceinst"));
  76. model.setValue("/root/send/search/deptcd", model.getValue("/root/init/emplinfo/dutunitcd"));
  77. submit("TRRPS04301");
  78. model.refresh();
  79. if( ipt_posinstcd.value == '012' && ipt_chrgteamcd.value == '4020500000' || ipt_chrgteamcd.value == '4020503000') {
  80. }
  81. else if(ipt_posinstcd.value == '001' && ipt_chrgteamcd.value == '4020500000' ) {
  82. }
  83. else {
  84. ipt_chrgdeptnm.disabled = true;
  85. ipt_chrgdeptcd.disabled = true;
  86. ipt_chrgteamnm.disabled = true;
  87. ipt_chrgteamcd.disabled = true;
  88. btn_dept.disabled = true;
  89. btn_team.disabled = true;
  90. btn_save.disabled = true;
  91. }
  92. if( model.getValue("/root/init/emplno") == ipt_emplno.value ) {
  93. btn_save.disabled = false;
  94. }
  95. misfGridInit(grd_educlist);
  96. grd_educlist.rowHeight(0) = 40;
  97. misfMsterDetailSet(grd_educlist,null, "TRRPS04001" ,"Y");
  98. rpsEducSetComboList("M01-007,M01-005,M01-007", "cmb_educflag,grd_educlist.medinstvalucd,grd_educlist.educflag", "Y");
  99. misfComboComCdListMulti("Z0007", "cmb_dutinstcd", null, "Y");
  100. model.removenode("/root/main/grid/educlist");
  101. model.removenode("/root/main/list2/eductrgtmanlist");
  102. model.removenode("/root/main/list3/emplist");
  103. model.makeNode("/root/main/list3");
  104. model.setValue(cmb_dutinstcd.attribute("ref"),model.getValue("/root/init/emplinfo/dutplceinst"));
  105. model.setValue(ipt_dutunitnm.attribute("ref"), model.getValue("/root/init/emplinfo/dutunitnm"));
  106. model.setValue(ipt_dutunitcd.attribute("ref"), model.getValue("/root/init/emplinfo/dutunitcd"));
  107. cmb_educflag.select(1) ;
  108. grd_educlist.selectionMode = "byrow";
  109. model.refresh();
  110. ]]>
  111. </script>
  112. <script type="javascript" ev:event="xforms-model-construct-done">
  113. <![CDATA[
  114. grd_emplist.fixedcellcheckbox(0,grd_emplist.colRef("chk")) = true; // 그리드에 있는 전체선택 체크박스
  115. grd_eductrgtmanlist.fixedcellcheckbox(0,grd_eductrgtmanlist.colRef("chk")) = true;
  116. ]]>
  117. </script>
  118. <submission id="TRRPS04000" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/init/emplinfo"/>
  119. <submission id="TRRPS04301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/search" resultref="/root/temp/deptadmin"/>
  120. <submission id="TRRPS04001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/grid/educlist"/>
  121. <submission id="TXRPS04001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/grid/educlist" resultref="/root/temp"/>
  122. <submission id="TRRPS04102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/emplsearch" resultref="/root/main/list2"/>
  123. <submission id="TRRPS04103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/emplsearch" resultref="/root/main/list3"/>
  124. <submission id="TRRPS00304" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/emplsearch" resultref="/root/main/list3"/>
  125. <submission id="TXRPS04101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save/eductrgtmanlist" resultref="/root/temp"/>
  126. </model>
  127. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  128. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  129. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  130. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  131. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  132. <script type="javascript" src="../../../mis/miscommonweb/js/RSZ001.js"/>
  133. <script type="javascript" src="../../../mis/educationmngtweb/js/RPS001.js"/>
  134. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  135. <script type="javascript">
  136. <![CDATA[
  137. var SAVE_FLAG = true; // true이면 무조건 저장... false이면 이수자목록을 남겨두고 다른 교육코드를 선택해도 이수자목록을 유지한다.
  138. var INSERT_FLAG = false; // INSERT_FLAG true이면 insert상태값만 getUpdateData에서 가져간다.
  139. var Row = 0; // 새로 조회되었을때 교육코드의 목록을 선택하기 위해 이전 row를 저장해둘 변수
  140. function fEmpListRetrieve() {
  141. model.setValue("/root/send/emplsearch/appyy", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("appyy")));
  142. model.setValue("/root/send/emplsearch/depteduccd", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("depteduccd")));
  143. model.removeNodeset("/root/main/list3/emplist");
  144. submit("TRRPS04103");
  145. }
  146. function fCheckEmplno( emplno ) {
  147. for ( var idx = grd_eductrgtmanlist.fixedRows; idx <= grd_eductrgtmanlist.rows; idx++ ) {
  148. if( grd_eductrgtmanlist.valueMatrix(idx, grd_eductrgtmanlist.colRef("emplno")) == emplno ) {
  149. messageBox("이미 이수자로 등록되어 있습니다.","I999");
  150. return true;
  151. }
  152. }
  153. return false;
  154. }
  155. function fRgstTrgtManList() {
  156. if(grd_educlist.rows == 1) {
  157. messageBox("교육내용을", "C002");
  158. return;
  159. }
  160. var cnt = 0;
  161. for(var i=0; i<=grd_emplist.rows; i++) {
  162. var sChk = grd_emplist.valueMatrix(i, grd_emplist.colRef("chk"));
  163. if(sChk == "Y") {
  164. cnt++;
  165. var sEmplno = model.getValue(grd_emplist.nodeset + "[" + i + "]/emplno");
  166. var iRowIdx = grd_eductrgtmanlist.findRow(sEmplno, 0, grd_eductrgtmanlist.colRef("emplno"));
  167. if(iRowIdx != -1) continue;
  168. grd_eductrgtmanlist.addRow(false);
  169. grd_eductrgtmanlist.addStatus(iRowIdx, "insert");
  170. fSetTrgtManInfo(grd_eductrgtmanlist.row, i);
  171. }
  172. }
  173. }
  174. function fSetTrgtManInfo(iTrgtManRowIdx, iEmpListRowIdx) {
  175. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/depteduccd", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("depteduccd")) );
  176. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/appyy", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("appyy")) );
  177. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/emplno", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/emplno"));
  178. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/emplnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/emplnm"));
  179. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/prfshipflag", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/prfshipflag"));
  180. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/prfshipnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/prfshipnm"));
  181. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutinstcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutinstcd"));
  182. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutinstnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutinstnm"));
  183. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutdeptcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutdeptcd"));
  184. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/dutdeptnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/dutdeptnm"));
  185. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/holyordflag", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/holyordflag"));
  186. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/holyordnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/holyordnm"));
  187. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/grupjoblncd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/grupjoblncd"));
  188. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/grupjoblnnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/grupjoblnnm"));
  189. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/njobgradcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/njobgradcd"));
  190. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/njobgradnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/njobgradnm"));
  191. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/anual", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/anual"));
  192. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobkindcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobkindcd"));
  193. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobkindnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobkindnm"));
  194. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobrespcd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobrespcd"));
  195. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/jobrespnm", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/jobrespnm"));
  196. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/gender", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/gender"));
  197. model.setValue(grd_eductrgtmanlist.nodeset + "[" + iTrgtManRowIdx + "]/entcodd", model.getValue(grd_emplist.nodeset + "[" + iEmpListRowIdx + "]/entcodd"));
  198. }
  199. function fLoadExcel() {
  200. if(grd_educlist.rows == 1) {
  201. messageBox("교육내용을", "C002");
  202. return;
  203. }
  204. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  205. grd_loadexcel.loadExcel(fileName);
  206. grd_loadexcel.rebuild();
  207. var sEmplno = "";
  208. var iRowIdx = -1;
  209. for(var i=1; i<grd_loadexcel.rows; i++) {
  210. sEmplno = grd_loadexcel.valueMatrix(i, grd_loadexcel.colRef("emplno"));
  211. if(sEmplno == "") continue;
  212. iRowIdx = grd_eductrgtmanlist.findRow(sEmplno, 0, grd_eductrgtmanlist.colRef("emplno"));
  213. if(iRowIdx != -1) {
  214. continue;
  215. }
  216. else {
  217. grd_eductrgtmanlist.addRow(false);
  218. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/depteduccd", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/depteduccd"));
  219. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/appyy", model.getValue(grd_educlist.nodeset + "[" + grd_educlist.row + "]/appyy"));
  220. model.setValue(grd_eductrgtmanlist.nodeset + "[" + grd_eductrgtmanlist.row + "]/emplno", model.getValue(grd_loadexcel.nodeset + "[" + i + "]/emplno"));
  221. }
  222. }
  223. model.refresh();
  224. }
  225. function fSave() {
  226. model.removenode("/root/send/save");
  227. model.makeNode("/root/send/save/eductrgtmanlist");
  228. if( INSERT_FLAG ) {
  229. model.setValue("/root/send/save/eductrgtmanlist",grd_eductrgtmanlist.getUpdateData("insert") );
  230. }
  231. else {
  232. model.setValue("/root/send/save/eductrgtmanlist",grd_eductrgtmanlist.getUpdateData() );
  233. }
  234. model.refresh();
  235. if( submit("TXRPS04101") ){
  236. if(messageBox("같은 이수자 목록으로 ","Q003") =="6") {
  237. SAVE_FLAG = false;
  238. INSERT_FLAG = true;
  239. for( var idx = grd_eductrgtmanlist.fixedRows; idx < grd_eductrgtmanlist.rows; ) {
  240. if( grd_eductrgtmanlist.rowStatus(idx) != "1" ) {
  241. grd_eductrgtmanlist.deleteRow(idx,false);
  242. }
  243. else {
  244. idx++;
  245. }
  246. }
  247. }
  248. else {
  249. SAVE_FLAG = true;
  250. fEducTrgtManListRetrieve();
  251. }
  252. }
  253. for(var idx = grd_emplist.fixedRows; idx <= grd_emplist.rows; idx++ ) {
  254. if(grd_emplist.valueMatrix(idx,grd_emplist.colRef("chk")) == 'Y' ) {
  255. grd_emplist.deleteRow(idx,false);
  256. idx--;
  257. }
  258. }
  259. model.refresh();
  260. }
  261. function fEducTrgtManListRetrieve() {
  262. model.setValue("/root/send/emplsearch/appyy", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("appyy")));
  263. model.setValue("/root/send/emplsearch/depteduccd", grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("depteduccd")));
  264. submit("TRRPS04102");
  265. model.refresh();
  266. }
  267. ]]>
  268. </script>
  269. </xhtml:head>
  270. <xhtml:body style="margin-left:8; margin-right:8; ">
  271. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  272. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">부서교육등록</caption>
  273. </group>
  274. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  275. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  276. <button id="btn_search" class="btn1_letter2" style="left:1118px; top:17px; width:56px; height:22px; ">
  277. <caption>조회</caption>
  278. <script type="javascript" ev:event="DOMActivate">
  279. <![CDATA[
  280. if(!isRequiredControls("ipt_appyy")) return;
  281. submit("TRRPS04001");
  282. ]]>
  283. </script>
  284. </button>
  285. <line id="line13" class="line_4" style="x1:1100px; y1:16px; x2:1100px; y2:38px; "/>
  286. <line id="line8" class="line_1" style="x1:0px; y1:73px; x2:1195px; y2:73px; "/>
  287. <caption id="caption20" class="tit_2" style="left:5px; top:59px; width:169px; height:13px; ">교육코드 목록</caption>
  288. <caption id="cap_appyy" class="search_name" style="left:41px; top:18px; width:101px; height:17px; ">적 용 년 도 :</caption>
  289. <input id="ipt_appyy" ref="/root/send/search/appyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:144px; top:18px; width:95px; height:19px; text-align:center; "/>
  290. <caption id="cap_educflag" class="search_name" style="left:755px; top:18px; width:101px; height:17px; ">교 육 구 분 :</caption>
  291. <select1 id="cmb_educflag" ref="/root/send/search/educflag" class="combo_search" appearance="minimal" style="left:860px; top:18px; width:110px; height:19px; text-align:center; ">
  292. <choices>
  293. <itemset>
  294. <label/>
  295. <value/>
  296. </itemset>
  297. </choices>
  298. </select1>
  299. <datagrid id="grd_educlist" nodeset="/root/main/grid/educlist" autoresize="true" caption="부서교육코드^연도^주체단위^주체기관코드^부(실)^부서코드^과(팀)^팀코드^부서^유닛코드^교육구분^의료기관평가코드^교육명^차수^교육기간^교육기간^교육시간^교육&#xA;총시간^교육장소^신입&#xA;인원^재직원&#xA;인원^총인원^등록완료인원^강사^예산^실시기관코드" colsep="^" colwidth="40, 50, 50, 62, 120, 40, 110, 40, 100, 40, 100, 120, 200, 40, 95, 95, 102, 45, 140, 50, 50, 50, 56, 100, 110" dataheight="25" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" selectionmode="byrow" style="left:0px; top:77px; width:1194px; height:218px; ">
  300. <col ref="depteduccd" visibility="hidden"/>
  301. <col class="input_s_essential" ref="appyy" _key="true" style="text-align:center; "/>
  302. <col class="combo_s_essential" ref="mainbdunit" visibility="hidden"/>
  303. <col ref="posinstcd" visibility="hidden"/>
  304. <col ref="chrgdeptnm" type="output" visibility="hidden" style="text-align:center; "/>
  305. <col ref="chrgdeptcd" visibility="hidden"/>
  306. <col ref="chrgteamnm" type="output" visibility="hidden" style="text-align:center; "/>
  307. <col ref="chrgteamcd" visibility="hidden"/>
  308. <col class="input_s_essential" ref="chrgunitnm" type="inputbutton" style="text-align:center; "/>
  309. <col class="input_s_essential" ref="chrgunitcd" visibility="hidden"/>
  310. <col class="input_s_essential" ref="educflag" type="combo" style="text-align:center; ">
  311. <choices>
  312. <itemset>
  313. <label/>
  314. <value/>
  315. </itemset>
  316. </choices>
  317. </col>
  318. <col ref="medinstvalucd" type="combo" visibility="hidden" style="text-align:center; ">
  319. <choices>
  320. <itemset>
  321. <label/>
  322. <value/>
  323. </itemset>
  324. </choices>
  325. </col>
  326. <col class="input_s_essential" ref="educnm" type="input" maxlength="300"/>
  327. <col class="combo_s_essential" ref="educdg" type="input" visibility="hidden" format="###" maxlength="3" style="text-align:center; "/>
  328. <col class="input_s_essential" ref="educfromdd" type="inputdate" _key="true" style="text-align:center; "/>
  329. <col class="input_s_essential" ref="eductodd" type="inputdate" _key="true" style="text-align:center; "/>
  330. <col class="input_s_essential" ref="eductime" type="input" maxlength="20" style="text-align:center; "/>
  331. <col class="input_s_essential" ref="eductm" type="input" format="#####" maxlength="5" style="text-align:center; "/>
  332. <col class="combo_s_essential" ref="educplce" type="input" style="text-align:left; "/>
  333. <col class="input_s_essential" ref="newpsn" type="input" format="####" maxlength="4" style="text-align:center; "/>
  334. <col class="input_s_essential" ref="oldpsn" type="input" format="####" maxlength="4" style="text-align:center; "/>
  335. <col class="input_search" ref="totalpsn" format="####" maxlength="4" style="text-align:center; "/>
  336. <col class="input_search" ref="cmpltcurspsnno" format="####" maxlength="4" style="color:#ff0000; text-align:center; "/>
  337. <col class="input_search" ref="lactr" type="input" maxlength="30" style="text-align:left; "/>
  338. <col class="input_search" ref="bugt" type="input" format="#,###" maxlength="10" style="text-align:right; "/>
  339. <script type="javascript" ev:event="onbuttonclick">
  340. <![CDATA[
  341. if(grd_educlist.col == grd_educlist.colRef("chrgunitnm")) {
  342. var recv_list = "chrgunitcd,chrgunitnm";
  343. misfOpenPopUpList("02", grd_educlist,"", recv_list, grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("posinstcd")), "instcd") ;
  344. // unit이 달라지면 상위 부서도 가져온다..
  345. model.setValue("/root/send/search/grdunitcd", grd_educlist.valueMatrix(grd_educlist.row,grd_educlist.colRef("chrgunitcd")) );
  346. model.setValue("/root/send/search/emplno", "" );
  347. submit("TRRPS04000");
  348. grd_educlist.valueMatrix(grd_educlist.row,grd_educlist.colRef("chrgdeptnm")) = model.getValue("/root/init/emplinfo/dutdeptnm");
  349. grd_educlist.valueMatrix(grd_educlist.row,grd_educlist.colRef("chrgdeptcd")) = model.getValue("/root/init/emplinfo/dutdeptcd");
  350. grd_educlist.valueMatrix(grd_educlist.row,grd_educlist.colRef("chrgteamnm")) = model.getValue("/root/init/emplinfo/dutteamnm");
  351. grd_educlist.valueMatrix(grd_educlist.row,grd_educlist.colRef("chrgteamcd")) = model.getValue("/root/init/emplinfo/dutteamcd");
  352. model.refresh();
  353. }
  354. ]]>
  355. </script>
  356. <script type="javascript" ev:event="xforms-value-changed">
  357. <![CDATA[
  358. if( grd_educlist.col == grd_educlist.colRef("newpsn") || grd_educlist.col == grd_educlist.colRef("oldpsn") ) {
  359. grd_educlist.valueMatrix(grd_educlist.row,grd_educlist.colRef("totalpsn"))
  360. = parseInt(grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("newpsn")))
  361. + parseInt(grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("oldpsn")));
  362. }
  363. model.refresh();
  364. ]]>
  365. </script>
  366. <script type="javascript" ev:event="onrowchanged">
  367. <![CDATA[
  368. model.removenode("/root/send/save");
  369. model.makeNode("/root/send/save/eductrgtmanlist");
  370. if(SAVE_FLAG) {
  371. fEducTrgtManListRetrieve();
  372. }
  373. else {
  374. for(var idx = grd_eductrgtmanlist.fixedRows; idx <= grd_eductrgtmanlist.rows; idx++ ) {
  375. grd_eductrgtmanlist.valueMatrix(idx, grd_eductrgtmanlist.colRef("depteduccd")) = grd_educlist.valueMatrix(grd_educlist.row,grd_educlist.colRef("depteduccd"));
  376. }
  377. }
  378. model.refresh();
  379. ]]>
  380. </script>
  381. </datagrid>
  382. <button id="btn_del" class="btn2_letter3" style="left:1071px; top:53px; width:53px; height:19px; ">
  383. <caption>행삭제</caption>
  384. <script type="javascript" ev:event="DOMActivate">
  385. <![CDATA[
  386. if(!isRequiredControls("ipt_appyy")) return;
  387. misfGridIUD(grd_educlist, "D");
  388. SAVE_FLAG = true;
  389. model.refresh();
  390. ]]>
  391. </script>
  392. </button>
  393. <button id="btn_add" class="btn2_letter3" style="left:1016px; top:53px; width:53px; height:19px; ">
  394. <caption>행추가</caption>
  395. <script type="javascript" ev:event="DOMActivate">
  396. <![CDATA[
  397. if(!isRequiredControls("ipt_appyy")) return;
  398. misfGridIUD(grd_educlist, "A");
  399. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("appyy")) = ipt_appyy.value;
  400. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("mainbdunit")) = "3";
  401. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("posinstcd")) = ipt_posinstcd.value;
  402. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("chrgdeptnm")) = ipt_chrgdeptnm.value;
  403. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("chrgdeptcd")) = ipt_chrgdeptcd.value;
  404. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("chrgteamnm")) = ipt_chrgteamnm.value;
  405. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("chrgteamcd")) = ipt_chrgteamcd.value;
  406. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("chrgunitnm")) = ipt_chrgunitnm.value;
  407. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("chrgunitcd")) = ipt_chrgunitcd.value;
  408. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("educflag")) = cmb_educflag.value;
  409. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("newpsn")) = "0";
  410. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("oldpsn")) = "0";
  411. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("totalpsn")) = "0";
  412. grd_educlist.valueMatrix(grd_educlist.row, grd_educlist.colRef("cmpltcurspsnno")) = "0";
  413. model.refresh();
  414. ]]>
  415. </script>
  416. </button>
  417. <button id="btn_init" class="btn2_letter4" style="left:1130px; top:53px; width:64px; height:19px; ">
  418. <caption>엑셀저장</caption>
  419. <script type="javascript" ev:event="DOMActivate">
  420. <![CDATA[
  421. misfSaveExcel(grd_educlist);
  422. ]]>
  423. </script>
  424. </button>
  425. <input id="ipt_chrgdeptnm" ref="/root/send/search/chrgdeptnm" class="input_search" disabled="true" visibility="hidden" appearance="input" style="left:255px; top:45px; width:125px; height:19px; ">
  426. <script type="javascript" ev:event="xforms-value-changed">
  427. <![CDATA[
  428. if( ipt_chrgdeptnm.value.getByteLength() == '0' ) {
  429. ipt_chrgdeptcd.value = "" ;
  430. }
  431. model.refresh();
  432. ]]>
  433. </script>
  434. </input>
  435. <input id="ipt_chrgdeptcd" ref="/root/send/search/chrgdeptcd" disabled="true" visibility="hidden" style="left:345px; top:35px; width:50px; height:19px; "/>
  436. <input id="ipt_posinstcd" ref="/root/send/search/posinstcd" visibility="hidden" style="left:680px; top:50px; width:50px; height:19px; "/>
  437. <input id="ipt_chrgteamnm" ref="/root/send/search/chrgteamnm" class="input_search" disabled="true" visibility="hidden" appearance="input" style="left:495px; top:45px; width:100px; height:19px; ">
  438. <script type="javascript" ev:event="xforms-value-changed">
  439. <![CDATA[
  440. if( ipt_chrgteamnm.value.getByteLength() == '0' ) {
  441. ipt_chrgteamcd.value = "" ;
  442. }
  443. model.refresh();
  444. ]]>
  445. </script>
  446. </input>
  447. <input id="ipt_chrgteamcd" ref="/root/send/search/chrgteamcd" disabled="true" visibility="hidden" style="left:560px; top:35px; width:50px; height:19px; "/>
  448. <button id="btn_unit" class="icon_search" style="left:565px; top:18px; width:16px; height:16px; ">
  449. <caption/>
  450. <script type="javascript" ev:event="DOMActivate">
  451. <![CDATA[
  452. misfOpenPopUpList("02", ipt_chrgunitnm, "", "chrgunitcd,chrgunitnm", ipt_posinstcd.value, "instcd");
  453. // unit이 달라지면 상위 부서도 가져온다..
  454. model.setValue("/root/send/search/grdunitcd", ipt_chrgunitcd.value);
  455. model.setValue("/root/send/search/emplno", "" );
  456. submit("TRRPS04000");
  457. model.setValue("/root/send/search/chrgdeptnm", model.getValue("/root/init/emplinfo/dutdeptnm"));
  458. model.setValue("/root/send/search/chrgdeptcd", model.getValue("/root/init/emplinfo/dutdeptcd"));
  459. model.setValue("/root/send/search/chrgteamnm", model.getValue("/root/init/emplinfo/dutteamnm"));
  460. model.setValue("/root/send/search/chrgteamcd", model.getValue("/root/init/emplinfo/dutteamcd"));
  461. model.refresh();
  462. ]]>
  463. </script>
  464. </button>
  465. <caption id="caption3" class="search_name" style="left:325px; top:18px; width:86px; height:17px; ">부 서 :</caption>
  466. <input id="ipt_chrgunitnm" ref="/root/send/search/chrgunitnm" class="input_search" appearance="input" style="left:410px; top:18px; width:150px; height:19px; ">
  467. <script type="javascript" ev:event="xforms-value-changed">
  468. <![CDATA[
  469. if( ipt_chrgunitnm.value.getByteLength() == '0' ) {
  470. ipt_chrgunitcd.value = "" ;
  471. }
  472. model.refresh();
  473. ]]>
  474. </script>
  475. </input>
  476. <input id="ipt_chrgunitcd" ref="/root/send/search/chrgunitcd" disabled="true" visibility="visible" style="left:585px; top:18px; width:85px; height:19px; text-align:center; "/>
  477. <input id="ipt_emplno" ref="/root/send/search/emplno" visibility="hidden" style="left:845px; top:50px; width:90px; height:19px; "/>
  478. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:300px; width:1195px; height:60px; background-color:#fffbf2; border-color:#ffd799; "/>
  479. <button id="btn_dutunit" class="icon_search" style="left:224px; top:333px; width:16px; height:16px; ">
  480. <caption/>
  481. <script type="javascript" ev:event="DOMActivate">
  482. <![CDATA[
  483. misfOpenPopUpList("02", ipt_dutunitnm, "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  484. model.refresh();
  485. ]]>
  486. </script>
  487. </button>
  488. <button id="button1" class="icon_search" style="left:632px; top:333px; width:16px; height:16px; ">
  489. <caption/>
  490. <script type="javascript" ev:event="DOMActivate">
  491. <![CDATA[
  492. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm", "", "N");
  493. if( fCheckEmplno(ipt_emplno.value) ) ;
  494. else {
  495. btn_search2.dispatch("DOMActivate");
  496. }
  497. model.refresh();
  498. ]]>
  499. </script>
  500. </button>
  501. <button id="btn_search2" class="btn1_letter2" style="left:1118px; top:321px; width:56px; height:22px; ">
  502. <caption>조회</caption>
  503. <script type="javascript" ev:event="DOMActivate">
  504. <![CDATA[
  505. for(var idx = grd_educlist.fixedRows; idx <= grd_educlist.rows; idx++) {
  506. if( grd_educlist.rowStatus(idx) == 0 ) continue;
  507. else {
  508. if(messageBox("변경된 교육코드가 있습니다. 저장하시겠습니까?","Q999") == '6') {
  509. misfSave("TXRPS04001");
  510. }
  511. }
  512. }
  513. if( grd_educlist.rows == 1 ) {
  514. model.setValue("/root/send/emplsearch/appyy", ipt_appyy.value);
  515. model.removeNodeset("/root/main/list3/emplist");
  516. submit("TRRPS00304");
  517. }
  518. else {
  519. fEmpListRetrieve();
  520. }
  521. ]]>
  522. </script>
  523. </button>
  524. <input id="ipt_frentcodd" ref="/root/send/emplsearch/frentcodd" class="input_s_essential" inputtype="date" style="left:540px; top:308px; width:88px; height:19px; "/>
  525. <input id="ipt_toentcodd" ref="/root/send/emplsearch/toentcodd" class="input_s_essential" inputtype="date" style="left:652px; top:308px; width:88px; height:19px; "/>
  526. <caption id="caption21" class="search_name" style="left:428px; top:308px; width:121px; height:17px; ">입 사 일 자 :</caption>
  527. <input id="ipt_dutunitnm" ref="/root/send/emplsearch/dutunitnm" class="input_search" navindex="3" style="left:243px; top:333px; width:150px; height:19px; ">
  528. <script type="javascript" ev:event="xforms-value-changed">
  529. <![CDATA[
  530. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  531. model.refresh();
  532. ]]>
  533. </script>
  534. </input>
  535. <caption id="caption22" style="left:635px; top:308px; width:11px; height:20px; ">~</caption>
  536. <input id="ipt_dutunitcd" ref="/root/send/emplsearch/dutunitcd" class="input_search" navindex="2" visibility="visible" maxlength="10" style="left:144px; top:333px; width:78px; height:19px; text-align:center; ">
  537. <script type="javascript" ev:event="xforms-value-changed">
  538. <![CDATA[
  539. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_dutinstcd.value, "instcd");
  540. model.refresh();
  541. ]]>
  542. </script>
  543. </input>
  544. <caption id="caption4" class="search_name" style="left:428px; top:333px; width:110px; height:17px; ">성 명 :</caption>
  545. <input id="ipt_emplnm" ref="/root/send/emplsearch/emplnm" class="input_search" navindex="3" style="left:540px; top:333px; width:90px; height:19px; ">
  546. <script type="javascript" ev:event="xforms-value-changed">
  547. <![CDATA[
  548. var recv_list = "emplno,emplnm";
  549. rpbfValidationCheck("emplno", recv_list);
  550. model.refresh();
  551. ]]>
  552. </script>
  553. </input>
  554. <line id="line1" class="line_4" style="x1:1100px; y1:305px; x2:1100px; y2:357px; "/>
  555. <input id="input1" ref="/root/send/emplsearch/emplno" class="input_search" navindex="2" visibility="visible" maxlength="10" style="left:652px; top:333px; width:88px; height:19px; text-align:center; ">
  556. <script type="javascript" ev:event="xforms-value-changed">
  557. <![CDATA[
  558. var recv_list = "emplno,emplnm";
  559. rpbfValidationCheck("emplnm", recv_list);
  560. model.refresh();
  561. ]]>
  562. </script>
  563. </input>
  564. <select1 id="cmb_dutinstcd" ref="/root/send/emplsearch/instcd" class="combo_s_essential" appearance="minimal" style="left:145px; top:308px; width:248px; height:19px; ">
  565. <choices>
  566. <itemset>
  567. <label/>
  568. <value/>
  569. </itemset>
  570. </choices>
  571. </select1>
  572. <caption id="caption17" class="search_name" style="left:41px; top:333px; width:115px; height:17px; ">근 무 부 서 :</caption>
  573. <caption id="caption8" class="search_name" style="left:41px; top:308px; width:116px; height:17px; ">기 관 :</caption>
  574. <datagrid id="grd_emplist" nodeset="/root/main/list3/emplist" autoresize="true" caption="^사원번호^성명^교직구분코드^교직구분^근무기관코드^근무기관^근무부서코드^근무부서^성직구분코드^성직구분^직군코드^직군^신직급코드^신직급^년차^직종코드^직종^직책코드^직책^성별^입사일자^cmc입사일" colsep="^" colwidth="25, 65, 60, 0, 60, 0, 110, 0, 100, 0, 55, 0, 70, 0, 53, 35, 0, 68, 0, 38, 42, 66, 70" dataheight="25" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" selectionmode="byrow" style="left:0px; top:389px; width:581px; height:344px; ">
  575. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  576. <col ref="emplno" style="text-align:center; "/>
  577. <col ref="emplnm" style="text-align:center; "/>
  578. <col ref="prfshipflag" visibility="hidden"/>
  579. <col ref="prfshipnm"/>
  580. <col ref="dutinstcd" visibility="hidden"/>
  581. <col ref="dutinstnm"/>
  582. <col ref="dutdeptcd" visibility="hidden"/>
  583. <col ref="dutdeptnm"/>
  584. <col ref="holyordflag" visibility="hidden"/>
  585. <col ref="holyordnm"/>
  586. <col ref="grupjoblncd" visibility="hidden"/>
  587. <col ref="grupjoblnnm"/>
  588. <col ref="njobgradcd" visibility="hidden"/>
  589. <col ref="njobgradnm"/>
  590. <col ref="anual" style="text-align:right; "/>
  591. <col ref="jobkindcd" visibility="hidden"/>
  592. <col ref="jobkindnm"/>
  593. <col ref="jobrespcd" visibility="hidden"/>
  594. <col ref="jobrespnm"/>
  595. <col disabled="true" ref="gender" type="combo" style="text-align:center; ">
  596. <choices>
  597. <item>
  598. <label>남</label>
  599. <value>M</value>
  600. </item>
  601. <item>
  602. <label>여</label>
  603. <value>F</value>
  604. </item>
  605. </choices>
  606. </col>
  607. <col ref="entcodd" format="yyyy-mm-dd" style="text-align:center; "/>
  608. <col ref="cmcentcodd" format="yyyy-mm-dd" style="text-align:center; "/>
  609. <script type="javascript" ev:event="onaftersort">
  610. <![CDATA[
  611. grd_emplist.gridToInstance();
  612. ]]>
  613. </script>
  614. <script type="javascript" ev:event="ondblclick">
  615. <![CDATA[
  616. if( grd_educlist.valueMatrix(grd_educlist.row,grd_educlist.colRef("depteduccd")) == "" ) {
  617. messageBox("교육을","C002");
  618. return;
  619. }
  620. var sEmplno = model.getValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/emplno");
  621. var iRowIdx = grd_eductrgtmanlist.findRow(sEmplno, 0, grd_eductrgtmanlist.colRef("emplno"));
  622. if(iRowIdx != -1) {
  623. messageBox("이미 대상자로 등록되어 있습니다.","I999");
  624. return;
  625. }
  626. // 직원을 이수자로 등록한다.
  627. grd_eductrgtmanlist.addRow(false);
  628. fSetTrgtManInfo(grd_eductrgtmanlist.row, grd_emplist.row);
  629. model.refresh();
  630. ]]>
  631. </script>
  632. </datagrid>
  633. <button id="btn_remove" class="btn2_letter3" style="left:528px; top:364px; width:53px; height:19px; ">
  634. <caption>초기화</caption>
  635. <script type="javascript" ev:event="DOMActivate">
  636. <![CDATA[
  637. model.removenode("/root/main/list3");
  638. grd_emplist.refresh();
  639. ]]>
  640. </script>
  641. </button>
  642. <caption id="caption16" class="tit_2" style="left:0px; top:369px; width:169px; height:13px; ">교직원목록</caption>
  643. <button id="btn_saveexcel" class="btn2_letter4" style="left:1005px; top:364px; width:64px; height:19px; ">
  644. <caption>엑셀저장</caption>
  645. <script type="javascript" ev:event="DOMActivate">
  646. <![CDATA[
  647. misfSaveExcel(grd_eductrgtmanlist);
  648. ]]>
  649. </script>
  650. </button>
  651. <button id="btn_delrow" class="btn2_letter3" style="left:1138px; top:364px; width:53px; height:19px; ">
  652. <caption>행삭제</caption>
  653. <script type="javascript" ev:event="DOMActivate">
  654. <![CDATA[
  655. INSERT_FLAG = false;
  656. var rowcnt = grd_eductrgtmanlist.rows;
  657. for( var i = 1; i < rowcnt; i++ ) {
  658. if( grd_eductrgtmanlist.valueMatrix(i, grd_eductrgtmanlist.colRef("chk")) == "Y" ) {
  659. grd_eductrgtmanlist.removeStatus(i, "insert");
  660. grd_eductrgtmanlist.addStatus(i, "delete");
  661. grd_eductrgtmanlist.valueMatrix(i, grd_eductrgtmanlist.colRef("depteduccd")) = grd_educlist.valueMatrix(grd_educlist.row,grd_educlist.colRef("depteduccd"));
  662. }
  663. }
  664. grd_eductrgtmanlist.refresh();
  665. ]]>
  666. </script>
  667. </button>
  668. <caption id="caption13" class="tit_2" style="left:615px; top:369px; width:169px; height:13px; ">이수자 목록</caption>
  669. <button id="btn_loadexcel" class="btn2_letter4" style="left:1070px; top:364px; width:64px; height:19px; ">
  670. <caption>엑셀입력</caption>
  671. <script type="javascript" ev:event="DOMActivate">
  672. <![CDATA[
  673. fLoadExcel();
  674. ]]>
  675. </script>
  676. </button>
  677. <datagrid id="grd_loadexcel" nodeset="/root/main/list4/excellist" visibility="hidden" caption="사번" colsep="^" colwidth="80" dataheight="25" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:1065px; top:620px; width:120px; height:96px; ">
  678. <col ref="emplno" style="text-align:center; "/>
  679. </datagrid>
  680. <line id="line3" class="line_1" style="x1:615px; y1:385px; x2:1195px; y2:386px; "/>
  681. <line id="line2" class="line_1" style="x1:0px; y1:385px; x2:581px; y2:386px; "/>
  682. <img id="btn_addtrgtman" class="icon_right" style="left:584px; top:550px; width:26px; height:19px; background-stretch:stretch; ">
  683. <script type="javascript" ev:event="onclick">
  684. <![CDATA[
  685. if( grd_educlist.valueMatrix(grd_educlist.row,grd_educlist.colRef("depteduccd")) == "" ) {
  686. messageBox("교육을","C002");
  687. return;
  688. }
  689. var sEmplno = model.getValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/emplno");
  690. var iRowIdx = grd_eductrgtmanlist.findRow(sEmplno, 0, grd_eductrgtmanlist.colRef("emplno"));
  691. if(iRowIdx != -1) {
  692. messageBox("이미 대상자로 등록되어 있습니다.","I999");
  693. return;
  694. }
  695. fRgstTrgtManList();
  696. model.refresh();
  697. ]]>
  698. </script>
  699. </img>
  700. <datagrid id="grd_eductrgtmanlist" nodeset="/root/main/list2/eductrgtmanlist" autoresize="true" caption="교육코드^적용년월^^사원번호^성명^교직구분코드^교직구분^근무기관코드^근무기관^근무부서코드^근무부서^성직구분코드^성직구분^직군코드^직군^신직급코드^신직급^현직급발령일^년차^직종코드^직종^직책코드^직책^직책발령일자^성별^입사일자^cmc입사일" colsep="^" colwidth="72, 72, 25, 65, 60, 0, 60, 0, 110, 0, 100, 0, 54, 0, 70, 0, 53, 100, 35, 0, 67, 0, 40, 100, 41, 66, 69" dataheight="25" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" selectionmode="byrow" style="left:613px; top:389px; width:581px; height:344px; ">
  701. <col ref="depteduccd" visibility="hidden"/>
  702. <col ref="appyy" visibility="hidden"/>
  703. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  704. <col ref="emplno" style="text-align:center; "/>
  705. <col ref="emplnm" style="text-align:center; "/>
  706. <col ref="prfshipflag" visibility="hidden"/>
  707. <col ref="prfshipnm"/>
  708. <col ref="dutinstcd" visibility="hidden"/>
  709. <col ref="dutinstnm"/>
  710. <col ref="dutdeptcd" visibility="hidden"/>
  711. <col ref="dutdeptnm"/>
  712. <col ref="holyordflag" visibility="hidden"/>
  713. <col ref="holyordnm"/>
  714. <col ref="grupjoblncd" visibility="hidden"/>
  715. <col ref="grupjoblnnm"/>
  716. <col ref="njobgradcd" visibility="hidden"/>
  717. <col ref="njobgradnm"/>
  718. <col ref="jobgradorddd" format="yyyy-mm-dd"/>
  719. <col ref="anual" style="text-align:right; "/>
  720. <col ref="jobkindcd" visibility="hidden"/>
  721. <col ref="jobkindnm"/>
  722. <col ref="jobrespcd" visibility="hidden"/>
  723. <col ref="jobrespnm"/>
  724. <col ref="jobresporddd" format="yyyy-mm-dd"/>
  725. <col disabled="true" ref="gender" type="combo" style="text-align:center; ">
  726. <choices>
  727. <itemset nodeset="/root/init/item">
  728. <label ref="label"/>
  729. <value ref="value"/>
  730. </itemset>
  731. </choices>
  732. </col>
  733. <col ref="entcodd" format="yyyy-mm-dd" style="text-align:center; "/>
  734. <col ref="cmcentcodd" format="yyyy-mm-dd" style="text-align:center; "/>
  735. <script type="javascript" ev:event="onaftersort">
  736. <![CDATA[
  737. grd_eductrgtmanlist.gridToInstance();
  738. ]]>
  739. </script>
  740. </datagrid>
  741. <input id="ipt_cmctodd" ref="/root/send/emplsearch/cmctodd" class="input_search" inputtype="date" style="left:988px; top:308px; width:88px; height:19px; "/>
  742. <input id="ipt_cmcfromdd" ref="/root/send/emplsearch/cmcfromdd" class="input_search" inputtype="date" style="left:885px; top:308px; width:88px; height:19px; "/>
  743. <caption id="caption28" class="search_name" style="left:772px; top:310px; width:143px; height:17px; ">CMC 입사일 :</caption>
  744. <caption id="caption29" style="left:975px; top:310px; width:16px; height:16px; ">~</caption>
  745. </group>
  746. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  747. <button id="btn_save" class="btn4_letter2" style="left:1139px; top:3px; width:56px; height:22px; ">
  748. <caption>저장</caption>
  749. <script type="javascript" ev:event="DOMActivate">
  750. <![CDATA[
  751. if( checkKeyColumn("grd_educlist") == false) return;
  752. if(misfSave("TXRPS04001")) {
  753. }
  754. Row = grd_educlist.row;
  755. if( grd_eductrgtmanlist.rows != "1" ) {
  756. var rowcnt = grd_eductrgtmanlist.rows-1;
  757. for( var i = 0; i < rowcnt; i++ ) {
  758. grd_eductrgtmanlist.fixedcellischeck(i, grd_eductrgtmanlist.colRef("chk")) = false; // 전체 체크박스를 초기화
  759. }
  760. grd_eductrgtmanlist.refresh();
  761. fSave();
  762. }
  763. btn_search.dispatch("DOMActivate");
  764. grd_educlist.row = Row;
  765. grd_educlist.dispatch("onrowchanged");
  766. model.refresh();
  767. ]]>
  768. </script>
  769. </button>
  770. </group>
  771. </xhtml:body>
  772. </xhtml:html>