SMRPS01100_CMC교육이수조회.xrw 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857
  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>SMRPS01100_CMC교육이수조회</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <yyeducprcslist/>
  11. <emplist/>
  12. <yyeducprcslist1/>
  13. <excellist/>
  14. </main>
  15. <send>
  16. <req>
  17. <appyy/>
  18. <mainbdunit/>
  19. <instcd/>
  20. <educflag/>
  21. <educfromdd/>
  22. <eductodd/>
  23. <instnm/>
  24. </req>
  25. <save>
  26. <instcd/>
  27. <appyy/>
  28. <educcd/>
  29. <cmpltcursstdyyn/>
  30. <educdg/>
  31. <mainbdunit/>
  32. <unitnm/>
  33. <unitcd/>
  34. <teamnm/>
  35. <teamcd/>
  36. <deptnm/>
  37. <deptcd/>
  38. <grdunitcd/>
  39. <posinstcd/>
  40. <emplno/>
  41. </save>
  42. <emplist/>
  43. </send>
  44. <init>
  45. <itemset>
  46. <set1>
  47. <value/>
  48. <label/>
  49. </set1>
  50. </itemset>
  51. </init>
  52. <temp/>
  53. <hidden>
  54. <item>
  55. <value>M</value>
  56. <label>남</label>
  57. </item>
  58. <item>
  59. <value>F</value>
  60. <label>여</label>
  61. </item>
  62. <item1>
  63. <value>Y</value>
  64. <label>이수</label>
  65. </item1>
  66. <item1>
  67. <value>N</value>
  68. <label>미이수</label>
  69. </item1>
  70. </hidden>
  71. </root>
  72. </instance>
  73. <submission id="TRRPS01001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/req" resultref="/root/main/yyeducprcslist"/>
  74. <submission id="TRRPS01002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/main/emplist"/>
  75. <submission id="TXRPS01001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  76. <submission id="TRRPS04000" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/init/emplinfo"/>
  77. <submission id="TRRPS04999" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/init/deptadmin"/>
  78. </model>
  79. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  80. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  81. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  82. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  83. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  84. <script type="javascript" src="../../../mis/educationmngtweb/js/RPS001.js"/>
  85. <script type="javascript" ev:event="xforms-ready">
  86. <![CDATA[
  87. //사용자 권한
  88. fCheckAuth();
  89. fInit();
  90. ]]>
  91. </script>
  92. <script type="javascript">
  93. <![CDATA[
  94. function fInit() {
  95. // 그리드 초기화
  96. misfGridInit(grd_yyeducprcslist);
  97. misfGridInit(grd_yyeducprcslist1);
  98. misfGridInit(grd_emplist);
  99. misfMsterDetailSet(grd_yyeducprcslist, null, "TRRPS01001", "Y");
  100. misfMsterDetailSet(grd_emplist, grd_yyeducprcslist, "TRRPS01002", "Y");
  101. var curDate = getCurrentDate().substr(0,4);
  102. model.setValue("/root/send/req/appyy", getCurrentDate().substr(0,4));
  103. rpsEducSetComboList("M01-001,M01-001,M01-002", "cmb_mainbdunit,grd_yyeducprcslist1.mainbdunit,cmb_educflag","Y");
  104. grd_emplist.fixedcellcheckbox(0,1) = true;
  105. // model.setValue("/root/send/req/instcd", getUserInfo("posinstcd"));
  106. // model.setValue("/root/send/req/instnm", getUserInfo("posinstnm"));
  107. model.refresh();
  108. }
  109. function fCheckAuth() {
  110. btn_search.disabled = !checkAuth("R") ;
  111. btn_save.disabled = !checkAuth("X") ;
  112. // user정보조회
  113. model.setValue(ipt_emplno.attribute("ref"),getUserInfo("userid"));
  114. submit("TRRPS04000");
  115. model.setValue(ipt_instcd.attribute("ref"),model.getValue("/root/init/emplinfo/dutplceinst"));
  116. model.setValue(ipt_instnm.attribute("ref"),model.getValue("/root/init/emplinfo/dutplceinstnm"));
  117. model.setValue("/root/send/save/posinstcd",model.getValue("/root/init/emplinfo/dutplceinst"));
  118. model.setValue(ipt_deptnm.attribute("ref"),model.getValue("/root/init/emplinfo/dutdeptnm"));
  119. model.setValue(ipt_deptcd.attribute("ref"), model.getValue("/root/init/emplinfo/dutdeptcd"));
  120. model.setValue(ipt_teamnm.attribute("ref"),model.getValue("/root/init/emplinfo/dutteamnm"));
  121. model.setValue(ipt_teamcd.attribute("ref"),model.getValue("/root/init/emplinfo/dutteamcd"));
  122. model.setValue(ipt_unitnm.attribute("ref"), model.getValue("/root/init/emplinfo/dutunitnm"));
  123. model.setValue(ipt_unitcd.attribute("ref"), model.getValue("/root/init/emplinfo/dutunitcd"));
  124. model.refresh();
  125. misfGetUserAuth();
  126. if( DUTY_EDU_YN == 'Y' ) {
  127. ipt_instnm.disabled = false;
  128. ipt_instcd.disabled = false;
  129. btn_instcd.disabled = false;
  130. ipt_deptnm.disabled = false;
  131. ipt_teamnm.disabled = false;
  132. ipt_unitnm.disabled = false;
  133. btn_dept.disabled = false;
  134. btn_team.disabled = false;
  135. btn_unit.disabled = false;
  136. }
  137. else {
  138. ipt_instnm.disabled = true;
  139. ipt_instcd.disabled = true;
  140. btn_instcd.visible = false; // 화면에서 hidden시킴.
  141. fCheckDisabled(); // 관리자인지 체크하여 기본 조회부분의 활성화/비활성화를 결정한다.
  142. }
  143. }
  144. function fCheckDisabled () {
  145. // model.setValue("/root/send/search/instcd", model.getValue("/root/init/emplinfo/posinstcd"));
  146. model.setValue("/root/send/save/emplno", model.getValue("/root/init/emplinfo/emplno"));
  147. model.refresh();
  148. submit("TRRPS04999"); // 부서관리자인지 체크
  149. if( model.getValue("/root/init/deptadmin/teamyn") == "Y") {
  150. ipt_teamnm.disabled = false;
  151. ipt_unitnm.disabled = false;
  152. btn_team.disabled = false;
  153. btn_unit.disabled = false;
  154. }
  155. else if (model.getValue("/root/init/deptadmin/unityn") == "Y") {
  156. ipt_teamnm.disabled = true;
  157. btn_team.disabled = true;
  158. ipt_unitnm.disabled = false;
  159. btn_unit.disabled = false;
  160. }
  161. else if (model.getValue("/root/init/deptadmin/unityn") == "N") { // 부서관리자는 자기부서원의 정보는 볼수있다.
  162. ipt_teamnm.disabled = true;
  163. ipt_unitnm.disabled = true;
  164. btn_team.disabled = true;
  165. btn_unit.disabled = true;
  166. }
  167. else { // 부서관리자가 아닌 개인은 모두 비활성화.
  168. ipt_teamnm.disabled = true;
  169. ipt_unitnm.disabled = true;
  170. btn_team.disabled = true;
  171. btn_unit.disabled = true;
  172. }
  173. model.refresh();
  174. }
  175. // 미이수자가 있는 교육에 색깔 넣기
  176. function fSetEducColor() {
  177. for(i=grd_yyeducprcslist.fixedRows; i < grd_yyeducprcslist.rows;i++) {
  178. var cmpltyncnt = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("cmpltyncnt"));
  179. if(cmpltyncnt == 0){
  180. grd_yyeducprcslist.rowStyle(i, "all", "background-color") ="white";
  181. }else{
  182. grd_yyeducprcslist.rowStyle(i, "all", "background-color") ="#99ccff";
  183. }
  184. }
  185. model.refresh();
  186. }
  187. // 미이수자 색깔 넣기
  188. function fSetColor() {
  189. for(i=grd_emplist.fixedRows; i < grd_emplist.rows;i++)
  190. {
  191. var cmpltcursstdyyn = grd_emplist.valueMatrix(i,grd_emplist.colRef("cmpltcursstdyyn"));
  192. if(cmpltcursstdyyn =='Y'){
  193. grd_emplist.rowStyle(i, "all", "background-color") ="white";
  194. }else{
  195. grd_emplist.rowStyle(i, "all", "background-color") ="#ffff99";
  196. }
  197. grd_emplist.valueMatrix(i,grd_emplist.colRef("chk")) = 'N';
  198. }
  199. model.refresh();
  200. }
  201. function fEducListRetrieve()
  202. {
  203. var iRowIdx = grd_yyeducprcslist1.row;
  204. model.removeNodeset("/root/main/yyeducprcslist");
  205. model.removeNodeset("/root/main/yyeducprcslist1");
  206. model.refresh();
  207. submit("TRRPS01001");
  208. fListAddCombo() ;
  209. if(grd_yyeducprcslist1.rows > 1) {
  210. if(iRowIdx == -1) iRowIdx = 2;
  211. else
  212. if(iRowIdx > grd_yyeducprcslist1.rows) iRowIdx = grd_yyeducprcslist1.rows - 1;
  213. grd_yyeducprcslist1.row = iRowIdx;
  214. grd_yyeducprcslist1.select(iRowIdx, 1, iRowIdx, 10) = true;
  215. grd_yyeducprcslist1.dispatch("onrowchanged");
  216. }
  217. else {
  218. model.removeNodeset("/root/main/yyeducprcslist1");
  219. model.refresh();
  220. }
  221. }
  222. function fListAddCombo() {
  223. // 교육명 세팅
  224. for(var i = grd_yyeducprcslist.fixedRows, j = grd_yyeducprcslist1.rows; i < grd_yyeducprcslist.rows; i++ ) {
  225. if( j == "1" ) { // grd_yyeducprcslist1에 아무내용도 없을때는 무조건 addrow
  226. grd_yyeducprcslist1.addRow(false);
  227. grd_yyeducprcslist1.valueMatrix(i,grd_yyeducprcslist1.colRef("basecdnm")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("basecdnm"));
  228. grd_yyeducprcslist1.valueMatrix(i,grd_yyeducprcslist1.colRef("appyy")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("appyy"));
  229. grd_yyeducprcslist1.valueMatrix(i,grd_yyeducprcslist1.colRef("instcd")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("instcd"));
  230. grd_yyeducprcslist1.valueMatrix(i,grd_yyeducprcslist1.colRef("educcd")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcd"));
  231. grd_yyeducprcslist1.valueMatrix(i,grd_yyeducprcslist1.colRef("educcdnm")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcdnm"));
  232. grd_yyeducprcslist1.valueMatrix(i,grd_yyeducprcslist1.colRef("mainbdunit")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("mainbdunit"));
  233. j++;
  234. }
  235. else if( grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcd")) == grd_yyeducprcslist1.valueMatrix(1,grd_yyeducprcslist1.colRef("educcd"))
  236. && grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("instcd")) == grd_yyeducprcslist1.valueMatrix(1,grd_yyeducprcslist1.colRef("instcd")) ) {
  237. continue;
  238. }
  239. else if( grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcd")) == grd_yyeducprcslist1.valueMatrix(j,grd_yyeducprcslist1.colRef("educcd"))
  240. && grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("instcd")) == grd_yyeducprcslist1.valueMatrix(j,grd_yyeducprcslist1.colRef("instcd")) ) {
  241. continue;
  242. }
  243. else if( grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcd")) != grd_yyeducprcslist1.valueMatrix(j-1,grd_yyeducprcslist1.colRef("educcd"))
  244. || grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("instcd")) != grd_yyeducprcslist1.valueMatrix(j-1,grd_yyeducprcslist1.colRef("instcd")) ) {
  245. // educcd가 다른경우
  246. grd_yyeducprcslist1.addRow(false);
  247. grd_yyeducprcslist1.valueMatrix(j,grd_yyeducprcslist1.colRef("basecdnm")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("basecdnm"));
  248. grd_yyeducprcslist1.valueMatrix(j,grd_yyeducprcslist1.colRef("appyy")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("appyy"));
  249. grd_yyeducprcslist1.valueMatrix(j,grd_yyeducprcslist1.colRef("instcd")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("instcd"));
  250. grd_yyeducprcslist1.valueMatrix(j,grd_yyeducprcslist1.colRef("educcd")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcd"));
  251. grd_yyeducprcslist1.valueMatrix(j,grd_yyeducprcslist1.colRef("educcdnm")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcdnm"));
  252. grd_yyeducprcslist1.valueMatrix(j,grd_yyeducprcslist1.colRef("mainbdunit")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("mainbdunit"));
  253. j++;
  254. }
  255. }
  256. // 차수 콤보 세팅
  257. var dg = 1;
  258. for(var i = grd_yyeducprcslist.fixedRows, j = grd_yyeducprcslist1.fixedRows; i < grd_yyeducprcslist.rows; i++ ) {
  259. if( i == grd_yyeducprcslist.fixedRows && j == grd_yyeducprcslist1.fixedRows) { // 맨첫번째 row일때
  260. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/value");
  261. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/label");
  262. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/value","");
  263. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/label","전체");
  264. dg++;
  265. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/value");
  266. model.makeNode("/root/init/itemset/set"+i+"["+dg+"]/label");
  267. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/value",grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educdg")));
  268. model.setValue("/root/init/itemset/set"+i+"["+dg+"]/label",grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educdg")));
  269. }
  270. else if( grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcd")) == grd_yyeducprcslist1.valueMatrix(1,grd_yyeducprcslist1.colRef("educcd"))
  271. && grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("instcd")) == grd_yyeducprcslist1.valueMatrix(1,grd_yyeducprcslist1.colRef("instcd")) ) {
  272. // 첫번째 row의 educcd와 현재진행중인row의 educcd가 같으면서 기관도 같으면 차수만 추가
  273. dg++;
  274. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  275. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  276. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value",grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educdg")));
  277. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label",grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educdg")));
  278. }
  279. else if( grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcd")) == grd_yyeducprcslist1.valueMatrix(j,grd_yyeducprcslist1.colRef("educcd"))
  280. && grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("instcd")) == grd_yyeducprcslist1.valueMatrix(j,grd_yyeducprcslist1.colRef("instcd")) ) {
  281. dg++;
  282. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  283. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  284. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value",grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educdg")));
  285. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label",grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educdg")));
  286. }
  287. else if( grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcd")) != grd_yyeducprcslist1.valueMatrix(j,grd_yyeducprcslist1.colRef("educcd"))
  288. || grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("instcd")) != grd_yyeducprcslist1.valueMatrix(j,grd_yyeducprcslist1.colRef("instcd")) ) {
  289. // educcd가 다른경우
  290. dg = 1;
  291. j++
  292. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  293. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  294. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value","");
  295. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label","전체");
  296. dg++;
  297. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/value");
  298. model.makeNode("/root/init/itemset/set"+j+"["+dg+"]/label");
  299. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/value",grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educdg")));
  300. model.setValue("/root/init/itemset/set"+j+"["+dg+"]/label",grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educdg")));
  301. }
  302. }
  303. // itemset을 row별로 설정..
  304. for(var i = grd_yyeducprcslist1.fixedRows; i < grd_yyeducprcslist1.rows; i++ ) {
  305. grd_yyeducprcslist1.cellComboNodeset(i, grd_yyeducprcslist1.colRef("educdg")) = "/root/init/itemset/set"+i;
  306. }
  307. grd_yyeducprcslist1.row = 1; // grd_yyeducprcslist1그리드의 1번 row를 선택한것과 같음.
  308. model.refresh();
  309. }
  310. function fEducDtListRetrieve() {
  311. model.setValue("/root/send/save/instcd" , grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row, grd_yyeducprcslist1.colRef("instcd")));
  312. model.setValue("/root/send/save/educdg" , grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row, grd_yyeducprcslist1.colRef("educdg")));
  313. model.setValue("/root/send/save/appyy" , grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row, grd_yyeducprcslist1.colRef("appyy")));
  314. model.setValue("/root/send/save/educcd" , grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row, grd_yyeducprcslist1.colRef("educcd")));
  315. model.setValue("/root/send/save/mainbdunit", grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row, grd_yyeducprcslist1.colRef("mainbdunit")));
  316. submit("TRRPS01002");
  317. }
  318. // 엑셀입력
  319. function fLoadExcel() {
  320. messageBox("엑셀파일에 사원번호,이수여부(Y,N)만 입력해 주세요.","I999");
  321. if(grd_yyeducprcslist1.rows == 1) {
  322. messageBox("교육내용을", "C002");
  323. return;
  324. }
  325. if(grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educdg")) == "" ) {
  326. messageBox("차수를", "C002");
  327. return;
  328. }
  329. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  330. grd_loadexcel.loadExcel(fileName);
  331. grd_loadexcel.rebuild();
  332. model.removeNodeset("/root/main/emplist");
  333. model.refresh();
  334. var sEmplno = "";
  335. var iRowIdx = -1;
  336. for(var i=1; i<grd_loadexcel.rows; i++)
  337. {
  338. sEmplno = grd_loadexcel.valueMatrix(i, grd_loadexcel.colRef("emplno"));
  339. if(sEmplno == "") continue;
  340. iRowIdx = grd_emplist.findRow(sEmplno, 0, grd_emplist.colRef("emplno"));
  341. if(iRowIdx != -1)
  342. {
  343. continue;
  344. }
  345. else
  346. {
  347. misfGridIUD(grd_emplist, "A");
  348. model.setValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/instcd", model.getValue(grd_yyeducprcslist1.nodeset + "[" + (grd_yyeducprcslist1.row-1) + "]/instcd"));
  349. model.setValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/educdg", model.getValue(grd_yyeducprcslist1.nodeset + "[" + (grd_yyeducprcslist1.row-1) + "]/educdg"));
  350. model.setValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/educcd", model.getValue(grd_yyeducprcslist1.nodeset + "[" + (grd_yyeducprcslist1.row-1)+ "]/educcd"));
  351. model.setValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/appyy", model.getValue(grd_yyeducprcslist1.nodeset + "[" + (grd_yyeducprcslist1.row-1) + "]/appyy"));
  352. model.setValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/cmt", model.getValue(grd_yyeducprcslist1.nodeset + "[" + (grd_yyeducprcslist1.row-1) + "]/cmt"));
  353. model.setValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/eductmplan", model.getValue(grd_yyeducprcslist1.nodeset + "[" + (grd_yyeducprcslist1.row-1) + "]/eductmplan"));
  354. model.setValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/eductm", model.getValue(grd_yyeducprcslist1.nodeset + "[" + (grd_yyeducprcslist1.row-1) + "]/eductm"));
  355. model.setValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/emplno", model.getValue(grd_loadexcel.nodeset + "[" + i + "]/emplno"));
  356. model.setValue(grd_emplist.nodeset + "[" + grd_emplist.row + "]/cmpltcursstdyyn", model.getValue(grd_loadexcel.nodeset + "[" + i + "]/cmpltcursstdyyn"));
  357. }
  358. }
  359. model.refresh();
  360. }
  361. ]]>
  362. </script>
  363. </xhtml:head>
  364. <xhtml:body style="margin-left:8; margin-right:8; ">
  365. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  366. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">CMC교육이수조회</caption>
  367. </group>
  368. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  369. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:5px; width:1195px; height:80px; background-color:#fffbf2; border-color:#ffd799; "/>
  370. <button id="btn_search" class="btn1_letter2" style="left:1116px; top:35px; width:56px; height:22px; ">
  371. <caption>조회</caption>
  372. <script type="javascript" ev:event="DOMActivate">
  373. <![CDATA[
  374. if(!isRequiredControls("cmb_appyy")) return;
  375. fEducListRetrieve();
  376. ]]>
  377. </script>
  378. </button>
  379. <line id="line13" class="line_4" style="x1:1085px; y1:9px; x2:1085px; y2:81px; "/>
  380. <line id="line8" class="line_1" style="x1:0px; y1:105px; x2:1194px; y2:104px; "/>
  381. <caption id="caption20" class="tit_2" style="left:5px; top:89px; width:175px; height:13px; ">연간 교육과정 차수별 내역</caption>
  382. <select1 id="cmb_educflag" ref="/root/send/req/educflag" class="combo_search" appearance="minimal" style="left:135px; top:36px; width:95px; height:19px; ">
  383. <choices>
  384. <itemset>
  385. <label/>
  386. <value/>
  387. </itemset>
  388. </choices>
  389. </select1>
  390. <caption id="cap_appyy" class="search_name" style="left:49px; top:11px; width:90px; height:17px; ">년 도 :</caption>
  391. <input id="ipt_appyy" ref="/root/send/req/appyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:135px; top:11px; width:95px; height:19px; "/>
  392. <caption id="cap_educflag" class="search_name" style="left:49px; top:36px; width:86px; height:17px; ">교육구분 :</caption>
  393. <caption id="cap_educmdlcd" class="search_name" style="left:361px; top:36px; width:91px; height:17px; ">이수구분 :</caption>
  394. <caption id="cap_instcd" class="search_name" style="left:361px; top:11px; width:90px; height:17px; ">기 관 :</caption>
  395. <line id="line1" class="line_1" style="x1:0px; y1:350px; x2:1194px; y2:350px; "/>
  396. <caption id="caption7" class="tit_2" style="left:0px; top:334px; width:162px; height:13px; ">교육대상자 및 이수 내역</caption>
  397. <input id="input1" ref="/root/send/save/instcd" visibility="hidden" style="left:400px; top:80px; width:45px; height:19px; "/>
  398. <input id="input2" ref="/root/send/save/appyy" visibility="hidden" style="left:450px; top:80px; width:35px; height:19px; "/>
  399. <input id="input3" ref="/root/send/save/educcd" visibility="hidden" style="left:490px; top:80px; width:30px; height:19px; "/>
  400. <input id="input4" ref="/root/send/save/educdg" visibility="hidden" style="left:525px; top:80px; width:35px; height:19px; "/>
  401. <input id="input5" ref="/root/send/save/mainbdunit" visibility="hidden" style="left:570px; top:80px; width:35px; height:19px; "/>
  402. <button id="button1" class="btn2_letter4" visibility="hidden" style="left:270px; top:330px; width:64px; height:19px; ">
  403. <caption>전체선택</caption>
  404. <script type="javascript" ev:event="DOMActivate">
  405. <![CDATA[
  406. var rownum = grd_emplist.rows - grd_emplist.fixedRows;
  407. for(var i= grd_emplist.fixedRows ; i < grd_emplist.rows ; i++) {
  408. if(grd_emplist.valueMatrix(i, grd_emplist.colRef("cmpltcursstdyyn")) == "N"){
  409. grd_emplist.valueMatrix(i, grd_emplist.colRef("chk")) = "Y";
  410. grd_emplist.rowStatus(i) = 2;
  411. }
  412. }
  413. model.refresh();
  414. ]]>
  415. </script>
  416. </button>
  417. <button id="btn_excel" class="btn5_letter4" style="left:1130px; top:330px; width:64px; height:19px; ">
  418. <caption>엑셀저장</caption>
  419. <script type="javascript" ev:event="DOMActivate">
  420. <![CDATA[
  421. var fileName = window.fileDialog ("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  422. if (fileName != "") {
  423. grd_emplist.saveExcel(fileName);
  424. }
  425. ]]>
  426. </script>
  427. </button>
  428. <caption id="cap_educfromdd" class="search_name" style="left:740px; top:36px; width:87px; height:17px; ">교육년월 :</caption>
  429. <input id="ipt_educfromdd" ref="/root/send/req/educfromdd" class="input_search" inputtype="date" format="yyyy-mm" style="left:830px; top:36px; width:80px; height:19px; text-align:center; "/>
  430. <caption id="caption3" style="left:913px; top:36px; width:15px; height:20px; text-align:center; ">~</caption>
  431. <input id="ipt_eductodd" ref="/root/send/req/eductodd" class="input_search" inputtype="date" format="yyyy-mm" style="left:930px; top:36px; width:80px; height:19px; text-align:center; "/>
  432. <select1 id="radio2" ref="/root/send/save/cmpltcursstdyyn" appearance="full" cols="3" overflow="visible" style="left:450px; top:36px; width:171px; height:20px; border-style:none; ">
  433. <choices>
  434. <item>
  435. <label>전체</label>
  436. <value/>
  437. </item>
  438. <item>
  439. <label>이수자</label>
  440. <value>Y</value>
  441. </item>
  442. <item>
  443. <label>미이수자</label>
  444. <value>N</value>
  445. </item>
  446. </choices>
  447. <script type="javascript" ev:event="xforms-value-changed">
  448. <![CDATA[
  449. submit("TRRPS01002");
  450. fSetColor() ;
  451. model.refresh();
  452. ]]>
  453. </script>
  454. </select1>
  455. <datagrid id="grd_emplist" nodeset="/root/main/emplist" autoresize="true" caption="^차수^사원번호^성명^이수구분^시험점수^비고^교육일자^교육일자^교육시간일정^교육총시간^교직구분코드^교직구분^근무기관코드^소속기관^근무부서코드^소속부서^성직구분코드^성직구분^직군코드^직군^신직급코드^신직급^년차^직종코드^직종^직책코드^직책^성별^현근무상태^입사일자^기관^적용년도^교육코드" colsep="^" colwidth="25, 39, 70, 70, 70, 60, 90, 80, 80, 90, 75, 35, 60, 33, 106, 31, 117, 28, 70, 22, 92, 25, 66, 43, 39, 80, 34, 94, 53, 100, 89, 78, 57, 68" dataheight="25" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:355px; width:1195px; height:387px; text-align:center; ">
  456. <col checkvalue="Y,N" ref="chk" type="checkbox" visibility="hidden"/>
  457. <col ref="educdg" style="text-align:center; "/>
  458. <col ref="emplno" style="text-align:center; "/>
  459. <col ref="emplnm" style="text-align:center; "/>
  460. <col disabled="true" ref="cmpltcursstdyyn" type="combo">
  461. <choices>
  462. <itemset nodeset="/root/hidden/item1">
  463. <label ref="label"/>
  464. <value ref="value"/>
  465. </itemset>
  466. </choices>
  467. </col>
  468. <col disabled="true" ref="testscor" type="input" maxlength="5"/>
  469. <col disabled="true" ref="cmt" type="input" maxlength="100"/>
  470. <col ref="educfromdd" format="yyyy-mm-dd"/>
  471. <col ref="eductodd" format="yyyy-mm-dd"/>
  472. <col ref="eductmplan" format="99:99-99:99"/>
  473. <col ref="eductm" maxbyte="3"/>
  474. <col ref="prfshipflag" visibility="hidden"/>
  475. <col ref="prfshipnm"/>
  476. <col ref="dutinstcd" visibility="hidden"/>
  477. <col ref="dutinstnm"/>
  478. <col ref="dutdeptcd" visibility="hidden"/>
  479. <col ref="dutdeptnm"/>
  480. <col ref="holyordflag" visibility="hidden"/>
  481. <col ref="holyordnm"/>
  482. <col ref="grupjoblncd" visibility="hidden"/>
  483. <col ref="grupjoblnnm"/>
  484. <col ref="njobgradcd" visibility="hidden"/>
  485. <col ref="njobgradnm"/>
  486. <col ref="anual" style="text-align:center; "/>
  487. <col ref="jobkindcd" visibility="hidden"/>
  488. <col ref="jobkindnm"/>
  489. <col ref="jobrespcd" visibility="hidden"/>
  490. <col ref="jobrespnm"/>
  491. <col disabled="true" ref="gender" type="combo">
  492. <choices>
  493. <itemset nodeset="/root/hidden/item">
  494. <label ref="label"/>
  495. <value ref="value"/>
  496. </itemset>
  497. </choices>
  498. </col>
  499. <col ref="preststatnm"/>
  500. <col ref="entcodd" format="yyyy-mm-dd" style="text-align:center; "/>
  501. <col ref="instcd" visibility="hidden"/>
  502. <col ref="appyy" visibility="hidden"/>
  503. <col ref="educcd" visibility="hidden"/>
  504. <script type="javascript" ev:event="xforms-value-changed">
  505. <![CDATA[
  506. var col = grd_emplist.col;
  507. ]]>
  508. </script>
  509. </datagrid>
  510. <button id="button2" class="btn2_letter2" visibility="hidden" style="left:338px; top:330px; width:42px; height:19px; ">
  511. <caption>이수</caption>
  512. <script type="javascript" ev:event="DOMActivate">
  513. <![CDATA[
  514. var rownum = grd_emplist.rows - grd_emplist.fixedRows;
  515. for(var i= grd_emplist.fixedRows ; i < grd_emplist.rows ; i++) {
  516. if( grd_emplist.valueMatrix(i, grd_emplist.colRef("chk")) == "Y" ) {
  517. grd_emplist.valueMatrix(i, grd_emplist.colRef("cmpltcursstdyyn")) = "Y";
  518. grd_emplist.addStatus(i,"update");
  519. }
  520. }
  521. model.refresh();
  522. ]]>
  523. </script>
  524. </button>
  525. <button id="button3" class="btn2_letter3" visibility="hidden" style="left:381px; top:330px; width:53px; height:19px; ">
  526. <caption>미이수</caption>
  527. <script type="javascript" ev:event="DOMActivate">
  528. <![CDATA[
  529. var rownum = grd_emplist.rows - grd_emplist.fixedRows;
  530. for(var i= grd_emplist.fixedRows ; i < grd_emplist.rows ; i++) {
  531. if( grd_emplist.valueMatrix(i,grd_emplist.colRef("chk")) == "Y" ){
  532. grd_emplist.valueMatrix(i, grd_emplist.colRef("cmpltcursstdyyn")) ="N";
  533. grd_emplist.addStatus(i,"update");
  534. }
  535. }
  536. model.refresh();
  537. ]]>
  538. </script>
  539. </button>
  540. <datagrid id="grd_yyeducprcslist1" nodeset="/root/main/yyeducprcslist1" caption="코드명칭^교육명^주체단위^차수^교육일자^교육일자^교육신청일^교육신청일^교육 장소^교육 내용^교육&#xA;시간^정원^교육대상^이수인원^이수율^기관^적용년도^교육코드^비고|코드명칭^교육명^주체단위^차수^From^To^From^To^교육 장소^교육 내용^교육&#xA;시간^정원^교육대상^이수인원^이수율^기관^적용년도^교육코드^비고" colsep="^" colwidth="170, 390, 60, 52, 75, 75, 75, 75, 170, 30, 42, 35, 35, 35, 35, 54, 58, 55, 236" dataheight="25" explorerbar="sortshow" extendlastcol="scroll" frozencols="6" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:0px; top:108px; width:1195px; height:217px; ">
  541. <col ref="basecdnm"/>
  542. <col ref="educcdnm"/>
  543. <col disabled="true" ref="mainbdunit" type="combo" style="text-align:center; ">
  544. <choices>
  545. <itemset>
  546. <label/>
  547. <value/>
  548. </itemset>
  549. </choices>
  550. </col>
  551. <col ref="educdg" type="combo" style="text-align:center; ">
  552. <choices>
  553. <itemset nodeset="/root/init/itemset/set1">
  554. <label ref="label"/>
  555. <value ref="value"/>
  556. </itemset>
  557. </choices>
  558. </col>
  559. <col ref="educfromdd" format="yyyy-mm-dd" style="text-align:center; "/>
  560. <col ref="eductodd" format="yyyy-mm-dd" style="text-align:center; "/>
  561. <col ref="educappfromdd" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; "/>
  562. <col ref="educapptodd" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; "/>
  563. <col ref="educplce" style="text-align:left; "/>
  564. <col ref="educcnts" visibility="hidden" style="text-align:center; "/>
  565. <col ref="eductm" style="text-align:center; "/>
  566. <col ref="educcapa" style="text-align:center; "/>
  567. <col ref="apppsnno" style="text-align:center; "/>
  568. <col ref="cmpltyncnt" style="text-align:center; "/>
  569. <col ref="cmpltynpst" style="text-align:center; "/>
  570. <col ref="instcd" visibility="hidden"/>
  571. <col ref="appyy" visibility="hidden" style="text-align:right; "/>
  572. <col ref="educcd" visibility="hidden"/>
  573. <col ref="cmt"/>
  574. <script type="javascript" ev:event="onrowchanged">
  575. <![CDATA[
  576. grd_yyeducprcslist1.dispatch("xforms-value-changed");
  577. grd_yyeducprcslist1.dispatch("onmouseup");
  578. ]]>
  579. </script>
  580. <script type="javascript" ev:event="xforms-value-changed">
  581. <![CDATA[
  582. // 콤보박스의 내용이 변경되었을때...
  583. for(var i = grd_yyeducprcslist.fixedRows; i < grd_yyeducprcslist.rows; i++ ) {
  584. if( grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcd")) == grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educcd"))
  585. && grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("instcd")) == grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("instcd")) ) {
  586. if(grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educdg")) == grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educdg")) ) {
  587. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educfromdd")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educfromdd"));
  588. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("eductodd")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("eductodd"));
  589. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educappfromdd")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educappfromdd"));
  590. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educapptodd")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educapptodd"));
  591. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educplce")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educplce"));
  592. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educcnts")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcnts"));
  593. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("eductm")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("eductm"));
  594. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("apppsnno")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("apppsnno"));
  595. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educcapa")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcapa"));
  596. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("cmpltyncnt")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("cmpltyncnt"));
  597. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("cmpltynpst")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("cmpltynpst"));
  598. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("instcd")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("instcd"));
  599. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("appyy")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("appyy"));
  600. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educcd")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcd"));
  601. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("cmt")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("cmt"));
  602. }
  603. else if( grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educdg")) == "" ) {
  604. // 전체를 선택하면 신청인원/정원을 공백으로 설정한다.
  605. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educfromdd")) = "";
  606. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("eductodd")) = "";
  607. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educappfromdd"))= "";
  608. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educapptodd")) = "";
  609. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educplce")) = "";
  610. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educcnts")) = "";
  611. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("eductm")) = "";
  612. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("apppsnno")) = "";
  613. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educcapa")) = "";
  614. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("cmpltyncnt")) = "";
  615. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("cmpltynpst")) = "";
  616. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("instcd")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("instcd"));
  617. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("appyy")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("appyy"));
  618. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educcd")) = grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcd"));
  619. grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("cmt")) = "";
  620. }
  621. }
  622. else if( grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("educcd")) != grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("educcd"))
  623. || grd_yyeducprcslist.valueMatrix(i,grd_yyeducprcslist.colRef("instcd")) == grd_yyeducprcslist1.valueMatrix(grd_yyeducprcslist1.row,grd_yyeducprcslist1.colRef("instcd")) ) {
  624. // educcd가 다른경우
  625. continue;
  626. }
  627. }
  628. fEducDtListRetrieve() ;
  629. fSetColor() ;
  630. ]]>
  631. </script>
  632. </datagrid>
  633. <datagrid id="grd_yyeducprcslist" nodeset="/root/main/yyeducprcslist" visibility="hidden" autoresize="true" caption="코드명칭^교육명^주체단위^차수^교육일자^교육일자^교육신청일^교육신청일^교육 장소^교육 내용^교육&#xA;시간^정원^신청인원^이수인원^이수율^기관^적용년도^교육코드^비고|코드명칭^교육명^주체단위^차수^From^To^From^To^교육 장소^교육 내용^교육&#xA;시간^정원^신청인원^이수인원^이수율^기관^적용년도^교육코드^비고" colsep="^" colwidth="100, 313, 100, 52, 75, 90, 75, 75, 197, 30, 42, 32, 32, 49, 100, 54, 58, 55, 236" dataheight="25" explorerbar="sortshow" extendlastcol="scroll" frozencols="6" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:385px; top:210px; width:790px; height:112px; ">
  634. <col ref="basecdnm"/>
  635. <col ref="educcdnm"/>
  636. <col ref="mainbdunit"/>
  637. <col ref="educdg" style="text-align:right; "/>
  638. <col ref="educfromdd" format="yyyy-mm-dd" style="text-align:center; "/>
  639. <col ref="eductodd" format="yyyy-mm-dd" style="text-align:center; "/>
  640. <col ref="educappfromdd" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; "/>
  641. <col ref="educapptodd" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; "/>
  642. <col ref="educplce" style="text-align:left; "/>
  643. <col ref="educcnts" visibility="hidden" style="text-align:left; "/>
  644. <col ref="eductm" style="text-align:right; "/>
  645. <col ref="educcapa" style="text-align:center; "/>
  646. <col ref="apppsnno" style="text-align:center; "/>
  647. <col ref="cmpltyncnt" style="text-align:right; "/>
  648. <col ref="cmpltynpst" style="text-align:right; "/>
  649. <col ref="instcd" visibility="hidden"/>
  650. <col ref="appyy" visibility="hidden" style="text-align:right; "/>
  651. <col ref="educcd" visibility="hidden"/>
  652. <col ref="cmt"/>
  653. </datagrid>
  654. <button id="btn_instcd" class="icon_search" visibility="visible" style="left:610px; top:11px; width:16px; height:16px; ">
  655. <caption/>
  656. <script type="javascript" ev:event="DOMActivate">
  657. <![CDATA[
  658. var recv_list = "instcd,instnm";
  659. misfOpenPopUpList("03", ipt_instnm,"Z0007", recv_list, "", "") ;
  660. model.refresh();
  661. ]]>
  662. </script>
  663. </button>
  664. <input id="ipt_instnm" ref="/root/send/req/instnm" class="input_search" disabled="true" appearance="input" style="left:450px; top:11px; width:158px; height:19px; ">
  665. <script type="javascript" ev:event="xforms-value-changed">
  666. <![CDATA[
  667. if( ipt_instnm.value.getByteLength() == '0' ) {
  668. ipt_instcd.value = "" ;
  669. }
  670. model.refresh();
  671. ]]>
  672. </script>
  673. </input>
  674. <input id="ipt_instcd" ref="/root/send/req/instcd" disabled="true" visibility="hidden" style="left:631px; top:11px; width:50px; height:19px; "/>
  675. <button id="btn_save" class="btn4_letter2" visibility="hidden" style="left:206px; top:328px; width:56px; height:22px; ">
  676. <caption>저장</caption>
  677. <script type="javascript" ev:event="DOMActivate">
  678. <![CDATA[
  679. if( misfSave("TXRPS01001") ) {
  680. messageBox("","I001");
  681. grd_emplist.fixedcellischeck(0,1) = false;
  682. }
  683. //submit("TRRPS01002");
  684. grd_yyeducprcslist1.dispatch("onrowchanged");
  685. fSetColor();
  686. ]]>
  687. </script>
  688. </button>
  689. <caption id="cap_mainbdunit" class="search_name" style="left:740px; top:11px; width:86px; height:17px; ">주체단위 :</caption>
  690. <select1 id="cmb_mainbdunit" ref="/root/send/req/mainbdunit" class="combo_search" appearance="minimal" style="left:830px; top:11px; width:180px; height:19px; text-align:center; ">
  691. <choices>
  692. <itemset>
  693. <label/>
  694. <value/>
  695. </itemset>
  696. </choices>
  697. </select1>
  698. <button id="btn_unit" class="icon_search" disabled="true" style="left:994px; top:61px; width:16px; height:16px; ">
  699. <caption/>
  700. <script type="javascript" ev:event="DOMActivate">
  701. <![CDATA[
  702. var unitcd = ipt_unitcd.value;
  703. var unitnm = ipt_unitnm.value;
  704. rpsfEducOpenPopUpList("07", ipt_unitnm, "", "unitcd,unitnm", ipt_instcd.value, "instcd");
  705. if( ipt_unitnm.value != "" ) {
  706. if ( DUTY_EDU_YN == "Y" ){
  707. // unit이 달라지면 상위 부서도 가져온다..
  708. model.setValue("/root/send/save/grdunitcd", ipt_unitcd.value);
  709. model.setValue("/root/send/save/posinstcd", ipt_instcd.value);
  710. model.setValue("/root/send/save/emplno", "" );
  711. submit("TRRPS04000");
  712. model.setValue("/root/send/save/deptnm", model.getValue("/root/init/emplinfo/dutdeptnm"));
  713. model.setValue("/root/send/save/deptcd", model.getValue("/root/init/emplinfo/dutdeptcd"));
  714. model.setValue("/root/send/save/teamnm", model.getValue("/root/init/emplinfo/dutteamnm"));
  715. model.setValue("/root/send/save/teamcd", model.getValue("/root/init/emplinfo/dutteamcd"));
  716. model.refresh();
  717. }
  718. else {
  719. fCheckDisabled(); // 관리자인지 체크한다.
  720. // unit이 달라지면 상위 부서도 가져온다..
  721. model.setValue("/root/send/save/grdunitcd", ipt_chrgunitcd.value);
  722. model.setValue("/root/send/save/posinstcd", ipt_instcd.value);
  723. model.setValue("/root/send/save/emplno", "" );
  724. submit("TRRPS04000");
  725. model.setValue("/root/send/save/deptnm", model.getValue("/root/init/emplinfo/dutdeptnm"));
  726. model.setValue("/root/send/save/deptcd", model.getValue("/root/init/emplinfo/dutdeptcd"));
  727. model.setValue("/root/send/save/teamnm", model.getValue("/root/init/emplinfo/dutteamnm"));
  728. model.setValue("/root/send/save/teamcd", model.getValue("/root/init/emplinfo/dutteamcd"));
  729. }
  730. }
  731. model.refresh();
  732. ]]>
  733. </script>
  734. </button>
  735. <button id="btn_dept" class="icon_search" disabled="true" style="left:272px; top:61px; width:16px; height:16px; ">
  736. <caption/>
  737. <script type="javascript" ev:event="DOMActivate">
  738. <![CDATA[
  739. rpsfEducOpenPopUpList("05", ipt_deptnm, "", "deptcd,deptnm", ipt_instcd.value, "instcd");
  740. // 부(실)을 변경하면 과(팀), 부서는 모두 공백으로 변경한다.
  741. model.setValue("/root/send/save/teamnm", "");
  742. model.setValue("/root/send/save/teamcd", "");
  743. model.setValue("/root/send/save/unitnm", "");
  744. model.setValue("/root/send/save/unitcd", "");
  745. model.refresh();
  746. ]]>
  747. </script>
  748. </button>
  749. <input id="ipt_unitnm" ref="/root/send/save/unitnm" class="input_search" disabled="true" appearance="input" style="left:830px; top:60px; width:160px; height:19px; ">
  750. <script type="javascript" ev:event="xforms-value-changed">
  751. <![CDATA[
  752. if( ipt_unitnm.value.getByteLength() == '0' ) {
  753. ipt_unitcd.value = "" ;
  754. }
  755. model.refresh();
  756. ]]>
  757. </script>
  758. </input>
  759. <input id="ipt_deptnm" ref="/root/send/save/deptnm" class="input_search" disabled="true" visibility="visible" appearance="input" style="left:135px; top:60px; width:135px; height:19px; ">
  760. <script type="javascript" ev:event="xforms-value-changed">
  761. <![CDATA[
  762. if( ipt_deptnm.value.getByteLength() == '0' ) {
  763. ipt_deptcd.value = "" ;
  764. }
  765. model.refresh();
  766. ]]>
  767. </script>
  768. </input>
  769. <input id="ipt_unitcd" ref="/root/send/save/unitcd" disabled="true" visibility="hidden" style="left:915px; top:60px; width:55px; height:19px; text-align:center; "/>
  770. <caption id="caption10" class="search_name" style="left:49px; top:60px; width:87px; height:17px; ">부 (실) :</caption>
  771. <input id="ipt_deptcd" ref="/root/send/save/deptcd" disabled="true" visibility="hidden" style="left:215px; top:60px; width:50px; height:19px; "/>
  772. <caption id="caption4" class="search_name" style="left:361px; top:60px; width:87px; height:17px; ">과 (팀) :</caption>
  773. <button id="btn_team" class="icon_search" disabled="true" style="left:610px; top:61px; width:16px; height:16px; ">
  774. <caption/>
  775. <script type="javascript" ev:event="DOMActivate">
  776. <![CDATA[
  777. rpsfEducOpenPopUpList("06", ipt_teamnm, "", "teamcd,teamnm", ipt_instcd.value, "instcd");
  778. // 과(팀)을 변경하면 부서는 모두 공백으로 변경한다.
  779. model.setValue("/root/send/save/unitnm", "");
  780. model.setValue("/root/send/save/unitcd", "");
  781. model.refresh();
  782. ]]>
  783. </script>
  784. </button>
  785. <caption id="cap_dutunit" class="search_name" style="left:740px; top:60px; width:90px; height:17px; ">부 서 :</caption>
  786. <input id="ipt_teamnm" ref="/root/send/save/teamnm" class="input_search" disabled="true" visibility="visible" appearance="input" style="left:450px; top:60px; width:158px; height:19px; ">
  787. <script type="javascript" ev:event="xforms-value-changed">
  788. <![CDATA[
  789. if( ipt_teamnm.value.getByteLength() == '0' ) {
  790. ipt_teamcd.value = "" ;
  791. }
  792. model.refresh();
  793. ]]>
  794. </script>
  795. </input>
  796. <input id="ipt_teamcd" ref="/root/send/save/teamcd" disabled="true" visibility="hidden" style="left:630px; top:60px; width:50px; height:19px; "/>
  797. <input id="ipt_emplno" ref="/root/send/save/emplno" visibility="hidden" style="left:615px; top:80px; width:35px; height:19px; "/>
  798. </group>
  799. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; "/>
  800. </xhtml:body>
  801. </xhtml:html>