SMRPH01600_근속승급처리.xrw 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850
  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>근속승급처리</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <promotnflaglist>
  11. <gradupym/>
  12. <instcd/>
  13. <payclsprfshipflag/>
  14. <deptnm/>
  15. <emplno/>
  16. <emplnm/>
  17. <jobrespnm/>
  18. <jobposnm/>
  19. <jobkindnm/>
  20. <ojobgradnm/>
  21. <njobgradnm/>
  22. <payclscd/>
  23. <graduppaycls/>
  24. <gradupmm/>
  25. <anual/>
  26. <limyn/>
  27. <limcd/>
  28. <limresn/>
  29. <cmt/>
  30. <entcodd/>
  31. <grupjoblncd/>
  32. <joblncd/>
  33. <preststatcd/>
  34. <brthdd/>
  35. <gndr/>
  36. <gvnoffcordtretyn/>
  37. <promotngradupflag/>
  38. <deptcd/>
  39. <teamcd/>
  40. <unitcd/>
  41. <jobkindcd/>
  42. <jobposcd/>
  43. <jobrespcd/>
  44. <ojobgradcd/>
  45. <njobgradcd/>
  46. <oldlimyn/>
  47. <oldgvnoffcordtretyn/>
  48. </promotnflaglist>
  49. <listdetail>
  50. <gradupym/>
  51. <instcd/>
  52. <payclsprfshipflag/>
  53. <deptnm/>
  54. <emplno/>
  55. <emplnm/>
  56. <jobrespnm/>
  57. <jobposnm/>
  58. <jobkindnm/>
  59. <ojobgradnm/>
  60. <njobgradnm/>
  61. <payclscd/>
  62. <graduppaycls/>
  63. <gradupmm/>
  64. <anual/>
  65. <limyn/>
  66. <limcd/>
  67. <limresn/>
  68. <cmt/>
  69. <entcodd/>
  70. <grupjoblncd/>
  71. <joblncd/>
  72. <preststatcd/>
  73. <brthdd/>
  74. <gndr/>
  75. <gvnoffcordtretyn/>
  76. <promotngradupflag/>
  77. <deptcd/>
  78. <teamcd/>
  79. <unitcd/>
  80. <jobkindcd/>
  81. <jobposcd/>
  82. <jobrespcd/>
  83. <ojobgradcd/>
  84. <njobgradcd/>
  85. <oldlimyn/>
  86. <oldgvnoffcordtretyn/>
  87. <prfshipflag/>
  88. <adjtyearno/>
  89. <dutunitcd/>
  90. <dutunitnm/>
  91. <dutplceinst/>
  92. </listdetail>
  93. </main>
  94. <send>
  95. <searchcond>
  96. <gradupym/>
  97. <instcd/>
  98. <deptcd/>
  99. <deptnm/>
  100. <emplno/>
  101. <emplnm/>
  102. <limyn/>
  103. <limcd/>
  104. <workgbn/>
  105. <payclsprfshipflag/>
  106. <promotngradupflag/>
  107. <iudflag/>
  108. </searchcond>
  109. <promotnflaglist/>
  110. </send>
  111. <init>
  112. <promconf>
  113. <label>예</label>
  114. <value>Y</value>
  115. <label>아니오</label>
  116. <value>N</value>
  117. </promconf>
  118. <cnfmyn>
  119. <label>전체</label>
  120. <value/>
  121. <label>예</label>
  122. <value>Y</value>
  123. <label>아니오</label>
  124. <value>N</value>
  125. </cnfmyn>
  126. <spref/>
  127. <totcount/>
  128. </init>
  129. <hidden/>
  130. <spreflist>
  131. <spref>
  132. <errormsg/>
  133. <errflag/>
  134. </spref>
  135. </spreflist>
  136. </root>
  137. </instance>
  138. <script type="javascript" ev:event="xforms-ready">
  139. <![CDATA[
  140. misfGridInit(grd_promotnflaglist);
  141. misfMsterDetailSet(grd_promotnflaglist,null,"TRRPH00600","Y");
  142. var curdate = getCurrentDate();
  143. var cvtdate = curdate.toDate("YYYYMM");
  144. model.setValue(ipt_gradupym.attribute("ref") , cvtdate.getAddDate(0,"M").getDateFormat("YYYYMM"));
  145. misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","Y");
  146. misfComboComCdListMulti("R0058,R0058,R0098,R0098", "cmb_payclsprfshipflag,cmb_payclsprfshipflag_d,cmb_graduppaycls,cmb_payclscd");
  147. addComboItem( "cmb_payclsprfshipflag", "[-- 전체 --]", "", "above");
  148. addComboItem( "cmb_instcd", "[-- 전체 --]", "", "above");
  149. misfComboCopyItemSet(cmb_instcd, "", cmb_instcd_d, "");
  150. // misfComboCopyItemSet(cmb_limcd_rsn, "", grd_promotnflaglist, "limcd");
  151. misfComboCopyItemSet(cmb_payclsprfshipflag_d, "", grd_promotnflaglist, "payclsprfshipflag");
  152. misfComboCopyItemSet(cmb_instcd, "", grd_promotnflaglist, "instcd");
  153. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  154. btn_save.disabled = !(checkAuth("X"));
  155. misfGetUserAuth();
  156. if(DUTY_RANK_YN =='Y'){
  157. btn_gnvoffcanbnt.disabled = false;
  158. btn_gnvoffentbnt.disabled = false;
  159. btn_traget.disabled = false;
  160. btn_save.disabled =false;
  161. if(getUserInfo("dutplceinstcd") =='001'){
  162. cmb_instcd.disabled = false;
  163. }else{
  164. cmb_instcd.disabled = true;
  165. }
  166. //misfSetReadOnlyCol(grd_grd01, "trgtpsncnfmyn", false);
  167. }else{
  168. btn_gnvoffcanbnt.disabled = true;
  169. btn_gnvoffentbnt.disabled = true;
  170. btn_traget.disabled = true;
  171. cmb_instcd.disabled = true;
  172. btn_save.disabled =true;
  173. //misfSetReadOnlyCol(grd_grd01, "trgtpsncnfmyn", true);
  174. }
  175. model.refresh();
  176. ]]>
  177. </script>
  178. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  179. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  180. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  181. <script type="javascript" src="../../../mis/promotnmngtweb/js/RPH001.js"/>
  182. <script type="javascript" src="../../../mis/purccommonweb/js/PURC.js"/>
  183. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  184. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  185. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  186. <script type="javascript" src="../../../mis/valuationmngtweb/js/RPV001.js"/>
  187. <script type="javascript">
  188. <![CDATA[
  189. function fEnableUpdateButton() {
  190. btn_insert.disabled = true;
  191. btn_update.disabled = false;
  192. }
  193. function fEnableInsertButton(){
  194. btn_insert.disabled = false;
  195. btn_update.disabled = true;
  196. ipt_emplno_d.disabled=false;
  197. ipt_emplnm_d.disabled=false;
  198. btn_emplno.disabled=false;
  199. ipt_gradupym_d.disabled = false;
  200. }
  201. ]]>
  202. </script>
  203. <submission id="TRRPH00600" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchcond" resultref="/root/main/promotnflaglist"/>
  204. <submission id="TXRPH00601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchcond" resultref="/root/spreflist"/>
  205. <submission id="TXRPH00600" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/promotnflaglist"/>
  206. </model>
  207. </xhtml:head>
  208. <xhtml:body guideline="2,474;2,589;2,591;1,1434;" style="margin-left:8; margin-right:8; ">
  209. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  210. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">근속승급처리</caption>
  211. </group>
  212. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:732px; ">
  213. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:60px; background-color:#fffbf2; border-color:#ffd799; "/>
  214. <caption id="cap_gradupym" class="search_name" style="left:15px; top:19px; width:86px; height:17px; ">승급년월 :</caption>
  215. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:27px; width:56px; height:22px; ">
  216. <caption>조회</caption>
  217. <script type="javascript" ev:event="DOMActivate">
  218. <![CDATA[
  219. if ( !isRequiredControls("ipt_gradupym") ) return;
  220. model.setValue("/root/send/searchcond/promotngradupflag","3");
  221. misfMsterDetailRetrieve();
  222. var totcount=0;
  223. for(var i = grd_promotnflaglist.fixedRows ; i < grd_promotnflaglist.rows ; i++ ){
  224. totcount=totcount+1;
  225. }
  226. totcount= totcount;
  227. model.setValue("/root/init/totcount",totcount);
  228. model.refresh();
  229. ]]>
  230. </script>
  231. </button>
  232. <line id="line13" class="line_4" style="x1:1110px; y1:17px; x2:1110px; y2:61px; "/>
  233. <caption id="caption278" class="tit_2" style="left:5px; top:79px; width:87px; height:13px; ">후보자 목록</caption>
  234. <line id="line207" class="line_1" style="x1:0px; y1:98px; x2:1195px; y2:98px; "/>
  235. <!--datagrid id="promotnflaglist" nodeset="/root/main/promotnflaglist" caption="기관^부서" colwidth="60, 65" dataheight="25" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" colsep="^" style="left:0px; top:74px; width:1195px; height:433px; ">
  236. <col ref="instcd"/>
  237. <col ref="deptcd"/>
  238. </datagrid-->
  239. <line id="line205" class="line_2" style="x1:0px; y1:638px; x2:1193px; y2:638px; "/>
  240. <line id="line206" class="line_2" style="x1:0px; y1:663px; x2:1193px; y2:663px; "/>
  241. <line id="line204" class="line_2" style="x1:0px; y1:613px; x2:1193px; y2:613px; "/>
  242. <caption id="caption283" class="tit_2" style="left:5px; top:567px; width:118px; height:13px; ">등록 및 수정사항</caption>
  243. <line id="line203" class="line_1" style="x1:0px; y1:585px; x2:1193px; y2:585px; "/>
  244. <caption id="cap_instnm" class="search_name" style="left:250px; top:19px; width:86px; height:17px; ">기 관 :</caption>
  245. <input id="ipt_gradupym" ref="/root/send/searchcond/gradupym" class="input_s_essential" inputtype="date" format="yyyy-mm" style="left:105px; top:18px; width:125px; height:19px; ">
  246. <script type="javascript" ev:event="xforms-value-changed">
  247. <![CDATA[
  248. var instcd = cmb_instcd.value;
  249. if( getStringLength(ipt_gradupym.value) == "6" ) {
  250. // model.removeNodeset(cmb_instcd.attribute("ref"));
  251. // model.makeNode("/root/send/retrparams/instcd");
  252. misfComboInstCdListMulti("cmb_instcd",ipt_gradupym.value+"31","","Y");
  253. cmb_instcd.value = instcd;
  254. model.refresh();
  255. }
  256. ]]>
  257. </script>
  258. </input>
  259. <button id="btn_emplnohelp" class="icon_search" style="left:419px; top:44px; width:16px; height:16px; ">
  260. <caption>
  261. <script type="javascript" ev:event="DOMActivate">
  262. <![CDATA[
  263. var precv_list = "emplno" + "," + "emplnm";
  264. //alert(precv_list);
  265. rpbfOpenPopUpList("SPRPB00101", ipt_emplno,precv_list,"ipt_systemflag",'Y');
  266. model.refresh();
  267. ]]>
  268. </script>
  269. </caption>
  270. </button>
  271. <caption id="caption16" class="search_name" style="left:250px; top:45px; width:86px; height:17px; ">사원번호 :</caption>
  272. <input id="ipt_emplno" ref="/root/send/searchcond/emplno" class="input_default" style="left:336px; top:43px; width:80px; height:19px; "/>
  273. <input id="ipt_emplnm" ref="/root/send/searchcond/emplnm" class="input_default" imemode="hangul" style="left:440px; top:43px; width:87px; height:19px; "/>
  274. <button id="btn_emplno" class="icon_search" style="left:154px; top:617px; width:16px; height:16px; ">
  275. <caption/>
  276. <script type="javascript" ev:event="DOMActivate">
  277. <![CDATA[
  278. var recv_list = "emplno,emplnm,dutplceinst,anual,dutunitcd,dutunitnm,teamcd,unitcd,jobkindcd,jobkindnm,jobposcd,jobposnm,jobrespcd,jobrespnm";
  279. recv_list = recv_list+",payclscd,entcodd,grupjoblncd,joblncd,preststatcd,brthdd,gndr,njobgradcd,njobgradnm,prfshipflag,gradupmm,ojobgradcd,ojobgradnm";
  280. payclsprfshipflag
  281. rpbfOpenPopUpList("SPRPB00101", ipt_emplno_d, recv_list,"","N");
  282. cmb_payclsprfshipflag_d.value=ipt_prfshipflag.value;
  283. var dutplceinst = model.getValue("/root/main/listdetail/dutplceinst");
  284. var dutnuitcd = model.getValue("/root/main/listdetail/dutunitcd");
  285. var dutnuitnm = model.getValue("/root/main/listdetail/dutunitnm");
  286. model.makeValue("/root/main/listdetail/instcd",dutplceinst);
  287. model.makeValue("/root/main/listdetail/deptcd",dutnuitcd);
  288. model.makeValue("/root/main/listdetail/deptnm",dutnuitnm);
  289. model.refresh();
  290. //misfOpenPopUpList("01", ipt_emplno,"", recv_list) ;
  291. ]]>
  292. </script>
  293. </button>
  294. <caption id="caption10" style="left:772px; top:616px; width:26px; height:20px; text-align:center; vertical-align:bottom; ">년차</caption>
  295. <select1 id="cmb_instcd" ref="/root/send/searchcond/instcd" class="combo_default" appearance="minimal" itemcount="10" style="left:336px; top:18px; width:191px; height:19px; ">
  296. <choices>
  297. <itemset>
  298. <label/>
  299. <value/>
  300. </itemset>
  301. </choices>
  302. </select1>
  303. <line id="line6" class="line_3" style="x1:0px; y1:718px; x2:1193px; y2:718px; "/>
  304. <button id="button19" class="btn2_letter4" style="left:1120px; top:75px; width:64px; height:19px; ">
  305. <caption>엑셀저장</caption>
  306. <script type="javascript" ev:event="DOMActivate">
  307. <![CDATA[
  308. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  309. if (fileName != "")
  310. {
  311. grd_promotnflaglist.saveExcel(fileName, "SheetName", true, true, "", "");
  312. }
  313. ]]>
  314. </script>
  315. </button>
  316. <!--button id="button3" class="btn2_letter3" style="left:955px; top:48px; width:53px; height:19px; ">
  317. <caption>행추가</caption>
  318. <script type="javascript" ev:event="DOMActivate">
  319. <![CDATA[
  320. ]]>
  321. </script>
  322. </button>
  323. <button id="button4" class="btn2_letter3" style="left:1010px; top:48px; width:53px; height:19px; ">
  324. <caption>행삭제</caption>
  325. <script type="javascript" ev:event="DOMActivate">
  326. <![CDATA[
  327. ]]>
  328. </script>
  329. </button-->
  330. <input id="input7" ref="/root/main/listdetail/ojobgradnm" class="input_default" editable="false" style="left:658px; top:616px; width:104px; height:19px; "/>
  331. <input id="input8" ref="/root/main/listdetail/anual" class="input_default" editable="false" style="left:806px; top:616px; width:47px; height:19px; "/>
  332. <input id="input20" ref="/root/main/listdetail/limresn" class="input_default" style="left:658px; top:667px; width:481px; height:19px; "/>
  333. <caption id="caption11" class="cell_1" style="left:0px; top:665px; width:82px; height:23px; vertical-align:middle; ">부서</caption>
  334. <input id="ipt_emplno_d" ref="/root/main/listdetail/emplno" class="input_default" disabled="false" editable="false" style="left:85px; top:616px; width:65px; height:19px; "/>
  335. <caption id="cap_promotnflag_d" class="cell_1" style="left:857px; top:590px; width:82px; height:23px; vertical-align:middle; ">직위</caption>
  336. <caption id="caption4" class="cell_1" style="left:572px; top:615px; width:82px; height:23px; vertical-align:middle; ">직급</caption>
  337. <caption id="cap_ojobgradcd_d" class="cell_1" style="left:285px; top:615px; width:82px; height:23px; vertical-align:middle; ">신직급</caption>
  338. <select1 id="cmb_limcd_rsn" ref="/root/main/listdetail/limcd" class="combo_default" visibility="hidden" appearance="minimal" style="left:1155px; top:695px; width:35px; height:15px; ">
  339. <choices>
  340. <itemset>
  341. <label/>
  342. <value/>
  343. </itemset>
  344. </choices>
  345. </select1>
  346. <input id="input2" ref="/root/main/listdetail/jobkindnm" class="input_default" editable="false" style="left:658px; top:591px; width:195px; height:19px; "/>
  347. <input id="input3" ref="/root/main/listdetail/deptnm" class="input_default" editable="false" style="left:85px; top:667px; width:195px; height:19px; "/>
  348. <input id="ipt_emplnm_d" ref="/root/main/listdetail/emplnm" class="input_default" editable="false" style="left:175px; top:616px; width:105px; height:19px; "/>
  349. <caption id="cap_emplno_d" class="cell_1" style="left:0px; top:615px; width:82px; height:23px; vertical-align:middle; ">사번</caption>
  350. <caption id="caption9" class="cell_1" style="left:0px; top:640px; width:82px; height:23px; vertical-align:middle; ">기관</caption>
  351. <input id="input4" ref="/root/main/listdetail/jobposnm" class="input_default" editable="false" style="left:944px; top:591px; width:195px; height:19px; "/>
  352. <input id="input5" ref="/root/main/listdetail/jobrespnm" class="input_default" editable="false" style="left:944px; top:615px; width:195px; height:19px; "/>
  353. <caption id="caption20" class="cell_1" style="left:285px; top:590px; width:82px; height:23px; vertical-align:middle; ">교직구분</caption>
  354. <caption id="caption21" class="cell_1" style="left:572px; top:590px; width:82px; height:23px; vertical-align:middle; ">직종</caption>
  355. <caption id="cap_limyn" class="cell_1" style="left:857px; top:640px; width:82px; height:23px; vertical-align:middle; ">처리여부</caption>
  356. <select1 id="cmb_instcd_d" ref="/root/main/listdetail/instcd" class="combo_default" appearance="minimal" itemcount="10" style="left:85px; top:642px; width:195px; height:19px; ">
  357. <choices>
  358. <itemset>
  359. <label/>
  360. <value/>
  361. </itemset>
  362. </choices>
  363. </select1>
  364. <select1 id="rdo_limyn" ref="/root/main/listdetail/limyn" class="radio_search" appearance="full" cols="2" overflow="visible" style="left:944px; top:643px; width:180px; height:16px; text-align:center; border-style:none; ">
  365. <choices>
  366. <itemset nodeset="/root/init/promconf">
  367. <label ref="label"/>
  368. <value ref="value"/>
  369. </itemset>
  370. </choices>
  371. </select1>
  372. <button id="btn_update" class="btn2_letter2" navindex="13" style="left:1090px; top:563px; width:42px; height:19px; ">
  373. <caption>수정</caption>
  374. <script type="javascript" ev:event="DOMActivate">
  375. <![CDATA[
  376. if(!isRequiredControls("ipt_gradupym_d","ipt_emplno_d" ,"ipt_graduppaycls", "rdo_limyn"))return;
  377. if(rdo_limyn.value=='N' && cmb_limcd_rsn.value==""){
  378. messageBox("승급불가 사유는 ","I003");
  379. return;
  380. }
  381. var cur_row = grd_promotnflaglist.row; // 행 번호 가져오기
  382. if (cur_row > 0) {
  383. // 그리드에 추가
  384. model.copyNode("/root/main/promotnflaglist["+cur_row+"]","/root/main/listdetail");
  385. grd_promotnflaglist.valueMatrix(cur_row,grd_promotnflaglist.colRef("graduppayclsnm"))=cmb_graduppaycls.label;
  386. grd_promotnflaglist.valueMatrix(cur_row,grd_promotnflaglist.colRef("payclsnm"))=cmb_payclscd.label;
  387. grd_promotnflaglist.addStatus(cur_row,"update"); // 행을 업데이트 상태로 변경
  388. model.refresh();
  389. }
  390. ]]>
  391. </script>
  392. </button>
  393. <button id="button4" class="btn2_letter3" navindex="14" style="left:1135px; top:563px; width:53px; height:19px; ">
  394. <caption>지우기</caption>
  395. <script type="javascript" ev:event="DOMActivate">
  396. <![CDATA[
  397. fEnableInsertButton();
  398. model.resetInstanceNode("/root/main/listdetail");
  399. model.refresh();
  400. ]]>
  401. </script>
  402. </button>
  403. <button id="btn_insert" class="btn2_letter2" navindex="12" style="left:1045px; top:563px; width:42px; height:19px; ">
  404. <caption>추가</caption>
  405. <script type="javascript" ev:event="DOMActivate">
  406. <![CDATA[
  407. if(!isRequiredControls("ipt_gradupym_d","ipt_emplno_d" ,"ipt_graduppaycls","rdo_limyn"))return;
  408. if(rdo_limyn.value=='N' && cmb_limcd_rsn.value==""){
  409. messageBox("승급불가 사유는 ","I003");
  410. return;
  411. }
  412. ipt_promotngradupflag.value = "3";
  413. //if (!fnullCheck()) return;
  414. grd_promotnflaglist.addrow(); // 입력할 행 추가.
  415. var cur_row = grd_promotnflaglist.row; // 추가된 행 번호 가져오기
  416. // 그리드에 추가
  417. model.copyNode("/root/main/promotnflaglist["+(cur_row-1)+"]","/root/main/listdetail");
  418. grd_promotnflaglist.valueMatrix(cur_row,grd_promotnflaglist.colRef("graduppayclsnm"))=cmb_graduppaycls.label;
  419. grd_promotnflaglist.valueMatrix(cur_row,grd_promotnflaglist.colRef("payclsnm"))=cmb_payclscd.label;
  420. fEnableUpdateButton();
  421. model.refresh();
  422. ]]>
  423. </script>
  424. </button>
  425. <datagrid id="grd_promotnflaglist" nodeset="/root/main/promotnflaglist" caption="승진년월^기관^교직구분^근무부서^사원번호^성명^직책^직위^직종^직급^신직급^현재&#xA;호봉^승급&#xA;호봉^승급월^년차^처리&#xA;여부^발령&#xA;여부^불가&#xA;사유^불가사유기타사항^비고^입사일^직군^직렬^현근무상태^생일^성별^승급구분코드^부서코드^팀코드^유닛코드^직종코드^직위코드^직책코드^현직급코드^신직급코드^조정년차^이전처리구분|승진년월^기관^교직구분^근무부서^사원번호^성명^직책^직위^직종^직급^신직급^현재&#xA;호봉^승급&#xA;호봉^승급월^년차^처리&#xA;여부^발령&#xA;여부^불가&#xA;사유^불가사유기타사항^비고^입사일^직군^직렬^현근무상태^생일^성별^승급구분코드^부서코드^팀코드^유닛코드^직종코드^직위코드^직책코드^현직급코드^신직급코드^조정년차^이전처리구분" colsep="^" colwidth="21, 100, 81, 100, 81, 73, 67, 58, 73, 65, 53, 42, 42, 45, 41, 41, 46, 87, 107, 92, 67, 47, 35, 72, 50, 40, 39, 100, 65, 57, 57, 100, 100, 100, 100, 57, 100, 100, 100, 100" explorerbar="sortshow" frozencols="6" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:103px; width:1190px; height:440px; ">
  426. <col ref="gradupym" visibility="hidden" format="yyyy-mm"/>
  427. <col id="instcd" ref="instcd" type="combo">
  428. <choices>
  429. <itemset>
  430. <label/>
  431. <value/>
  432. </itemset>
  433. </choices>
  434. </col>
  435. <col id="payclsprfshipflag" ref="payclsprfshipflag" type="combo">
  436. <choices>
  437. <itemset>
  438. <label/>
  439. <value/>
  440. </itemset>
  441. </choices>
  442. </col>
  443. <col ref="deptnm"/>
  444. <col ref="emplno"/>
  445. <col ref="emplnm"/>
  446. <col ref="jobrespnm"/>
  447. <col ref="jobposnm"/>
  448. <col ref="jobkindnm"/>
  449. <col ref="ojobgradnm"/>
  450. <col ref="njobgradnm"/>
  451. <col ref="payclsnm" style="text-align:center; "/>
  452. <col ref="graduppayclsnm" style="text-align:center; "/>
  453. <col ref="gradupmm" style="text-align:center; "/>
  454. <col ref="anual"/>
  455. <col checkvalue="Y,N" ref="limyn" type="checkbox" style="text-align:center; "/>
  456. <col ref="gvnoffcordtretyn" style="text-align:center; "/>
  457. <col id="limcd" ref="limcd" type="combo" visibility="hidden">
  458. <choices>
  459. <itemset>
  460. <label/>
  461. <value/>
  462. </itemset>
  463. </choices>
  464. </col>
  465. <col ref="limresn" type="input"/>
  466. <col ref="cmt" type="input"/>
  467. <col ref="entcodd" format="yyyy-mm-dd" style="text-align:center; "/>
  468. <col ref="grupjoblncd" visibility="hidden"/>
  469. <col ref="joblncd" visibility="hidden"/>
  470. <col ref="preststatcd" visibility="hidden"/>
  471. <col ref="brthdd" visibility="hidden"/>
  472. <col ref="gndr" visibility="hidden"/>
  473. <col ref="promotngradupflag" visibility="hidden"/>
  474. <col ref="deptcd" visibility="hidden"/>
  475. <col ref="teamcd" visibility="hidden"/>
  476. <col ref="unitcd" visibility="hidden"/>
  477. <col ref="jobkindcd" visibility="hidden"/>
  478. <col ref="jobposcd" visibility="hidden"/>
  479. <col ref="jobrespcd" visibility="hidden"/>
  480. <col ref="ojobgradcd" visibility="hidden"/>
  481. <col ref="njobgradcd" visibility="hidden"/>
  482. <col ref="adjtyearno" visibility="hidden"/>
  483. <col ref="oldlimyn" visibility="hidden"/>
  484. <col ref="oldgvnoffcordtretyn" visibility="hidden"/>
  485. <col ref="payclscd" visibility="hidden"/>
  486. <col ref="graduppaycls" visibility="hidden"/>
  487. <script type="javascript" ev:event="onclick">
  488. <![CDATA[
  489. var cur_row = grd_promotnflaglist.row;
  490. if ( cur_row > 0 ) {
  491. fEnableUpdateButton();
  492. model.copyNode("/root/main/listdetail","/root/main/promotnflaglist["+(cur_row-1)+"]");
  493. ipt_emplno_d.disabled=true;
  494. ipt_emplnm_d.disabled=true;
  495. btn_emplno.disabled=true;
  496. ipt_gradupym_d.disabled = true;
  497. model.refresh();
  498. }
  499. ]]>
  500. </script>
  501. <script type="javascript" ev:event="onaftersort">
  502. <![CDATA[
  503. grd_promotnflaglist.gridToInstance();
  504. ]]>
  505. </script>
  506. </datagrid>
  507. <caption id="cap_prom_rsn" class="cell_1" style="left:572px; top:665px; width:82px; height:23px; vertical-align:middle; ">승급불가사유</caption>
  508. <input id="ipt_gradupym_d" ref="/root/main/listdetail/gradupym" inputtype="date" format="yyyy-mm" style="left:85px; top:591px; width:195px; height:19px; "/>
  509. <input id="input9" ref="/root/main/listdetail/deptcd" visibility="hidden" style="left:415px; top:560px; width:20; height:19px; "/>
  510. <input id="input12" ref="/root/main/listdetail/teamcd" visibility="hidden" style="left:445px; top:560px; width:20; height:19px; "/>
  511. <input id="input13" ref="/root/main/listdetail/unitcd" visibility="hidden" style="left:475px; top:560px; width:20; height:19px; "/>
  512. <input id="input14" ref="/root/main/listdetail/jobkindcd" visibility="hidden" style="left:505px; top:560px; width:20; height:19px; "/>
  513. <input id="input15" ref="/root/main/listdetail/jobposcd" visibility="hidden" style="left:535px; top:560px; width:20; height:19px; "/>
  514. <input id="input16" ref="/root/main/listdetail/jobrespcd" visibility="hidden" style="left:560px; top:560px; width:20; height:19px; "/>
  515. <input id="input17" ref="/root/main/listdetail/ojobgradcd" visibility="hidden" style="left:585px; top:560px; width:20; height:19px; "/>
  516. <input id="input18" ref="/root/main/listdetail/njobgradnm" style="left:372px; top:616px; width:193px; height:19px; "/>
  517. <input id="input21" ref="/root/main/listdetail/njobgradcd" visibility="hidden" style="left:670px; top:560px; width:20; height:19px; "/>
  518. <input id="input24" ref="/root/main/listdetail/gndr" visibility="hidden" style="left:850px; top:558px; width:20; height:19px; "/>
  519. <input id="input26" ref="/root/main/listdetail/entcodd" visibility="hidden" style="left:695px; top:558px; width:20; height:19px; "/>
  520. <input id="input27" ref="/root/main/listdetail/grupjoblncd" visibility="hidden" style="left:725px; top:558px; width:20; height:19px; "/>
  521. <input id="input28" ref="/root/main/listdetail/joblncd" visibility="hidden" style="left:755px; top:558px; width:20; height:19px; "/>
  522. <input id="input31" ref="/root/main/listdetail/preststatcd" visibility="hidden" style="left:780px; top:558px; width:20; height:19px; "/>
  523. <input id="input32" ref="/root/main/listdetail/brthdd" visibility="hidden" style="left:820px; top:558px; width:20; height:19px; "/>
  524. <line id="line1" class="line_2" style="x1:0px; y1:688px; x2:1193px; y2:688px; "/>
  525. <caption id="cap_gradupym_d" class="cell_1" style="left:0px; top:590px; width:82px; height:23px; vertical-align:middle; ">승급년월</caption>
  526. <input id="input33" ref="/root/main/listdetail/cmt" class="input_default" style="left:85px; top:693px; width:1054px; height:19px; "/>
  527. <caption id="caption7" class="cell_1" style="left:0px; top:690px; width:82px; height:23px; vertical-align:middle; ">비고</caption>
  528. <caption id="caption8" class="search_name" style="left:875px; top:20px; width:86px; height:17px; ">확정여부 :</caption>
  529. <select1 id="rdo_limyn_s" ref="/root/send/searchcond/limyn" class="radio_search" appearance="full" cellspacing="5" cols="3" overflow="visible" style="left:960px; top:20px; width:145px; height:16px; text-align:center; border-style:none; ">
  530. <choices>
  531. <itemset nodeset="/root/init/cnfmyn">
  532. <label ref="label"/>
  533. <value ref="value"/>
  534. </itemset>
  535. </choices>
  536. </select1>
  537. <button id="button5" class="btn5_letter3" style="left:1065px; top:75px; width:53px; height:19px; ">
  538. <caption>행삭제</caption>
  539. <script type="javascript" ev:event="DOMActivate">
  540. <![CDATA[
  541. misfGridIUD(grd_promotnflaglist,"D");
  542. model.refresh();
  543. ]]>
  544. </script>
  545. </button>
  546. <caption id="caption1" class="search_name" style="left:545px; top:20px; width:85px; height:17px; ">부 서 :</caption>
  547. <input id="ipt_deptnm" ref="/root/send/searchcond/deptnm" class="input_default" style="left:735px; top:20px; width:125px; height:19px; ">
  548. <script type="javascript" ev:event="xforms-value-changed">
  549. <![CDATA[
  550. var pre_deptcd = model.getValue(ipt_deptcd.attribute("ref"))
  551. misfValidationCheck("02", "", "deptcd,deptnm" );
  552. model.refresh();
  553. ]]>
  554. </script>
  555. </input>
  556. <input id="ipt_deptcd" ref="/root/send/searchcond/deptcd" class="input_default" style="left:630px; top:20px; width:80px; height:19px; ">
  557. <script type="javascript" ev:event="xforms-value-changed">
  558. <![CDATA[
  559. var recv_list = "deptcd,deptnm";
  560. var instcd = cmb_instcd.value;
  561. var pre_deptcd = model.getValue(ipt_deptcd.attribute("ref"))
  562. misfValidationCheck("02", "", "deptcd,deptnm" );
  563. ]]>
  564. </script>
  565. </input>
  566. <button id="btn_deptcd" class="icon_search" style="left:714px; top:21px; width:16px; height:16px; ">
  567. <caption/>
  568. <script type="javascript" ev:event="DOMActivate">
  569. <![CDATA[
  570. var recv_list = "deptcd,deptnm";
  571. var instcd = cmb_instcd.value;
  572. var pre_deptcd = model.getValue(ipt_deptcd.attribute("ref"))
  573. rpvfOpenDeptCdHelp(ipt_deptnm,recv_list, instcd, "instcd");
  574. var cur_deptcd = model.getValue(ipt_deptcd.attribute("ref"));
  575. model.refresh();
  576. ]]>
  577. </script>
  578. </button>
  579. <select1 id="cmb_payclsprfshipflag" ref="/root/send/searchcond/payclsprfshipflag" class="combo_default" appearance="minimal" itemcount="10" style="left:105px; top:41px; width:125px; height:19px; ">
  580. <choices>
  581. <itemset>
  582. <label/>
  583. <value/>
  584. </itemset>
  585. </choices>
  586. </select1>
  587. <caption id="caption2" class="search_name" style="left:15px; top:40px; width:86px; height:17px; ">교직구분 :</caption>
  588. <caption id="cap_graduppaycls" class="cell_1" style="left:285px; top:640px; width:82px; height:23px; vertical-align:middle; ">승급호봉</caption>
  589. <caption id="caption5" class="cell_1" style="left:572px; top:640px; width:82px; height:23px; vertical-align:middle; ">현호봉</caption>
  590. <select1 id="cmb_payclsprfshipflag_d" ref="/root/main/listdetail/payclsprfshipflag" class="combo_default" appearance="minimal" itemcount="10" style="left:372px; top:591px; width:193px; height:19px; ">
  591. <choices>
  592. <itemset>
  593. <label/>
  594. <value/>
  595. </itemset>
  596. </choices>
  597. </select1>
  598. <caption id="caption13" class="cell_1" style="left:857px; top:615px; width:82px; height:23px; vertical-align:middle; ">직책</caption>
  599. <caption id="caption14" class="cell_1" style="left:285px; top:665px; width:82px; height:23px; vertical-align:middle; ">승급월</caption>
  600. <input id="input10" ref="/root/main/listdetail/gradupmm" inputtype="date" format="mm" style="left:372px; top:667px; width:193px; height:19px; "/>
  601. <input id="input6" ref="/root/main/listdetail/gvnoffcordtretyn" visibility="hidden" style="left:880px; top:565px; width:20px; height:19px; "/>
  602. <input id="ipt_promotngradupflag" ref="/root/main/listdetail/promotngradupflag" visibility="hidden" style="left:910px; top:565px; width:20px; height:19px; "/>
  603. <input id="input19" ref="/root/main/listdetail/oldgvnoffcordtretyn" visibility="hidden" style="left:965px; top:565px; width:20px; height:19px; "/>
  604. <input id="input22" ref="/root/main/listdetail/oldlimyn" visibility="hidden" style="left:935px; top:565px; width:20px; height:19px; "/>
  605. <button id="button6" class="btn2_letter4" style="left:999px; top:75px; width:64px; height:19px; ">
  606. <caption>전체취소</caption>
  607. <script type="javascript" ev:event="DOMActivate">
  608. <![CDATA[
  609. var updtdata = getGridUpdateData(grd_promotnflaglist);
  610. if (updtdata != "") {
  611. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 저장후","C002");
  612. return;
  613. }
  614. for (var i = grd_promotnflaglist.fixedRows; i < grd_promotnflaglist.rows; i++ ) {
  615. grd_promotnflaglist.valueMatrix(i, grd_promotnflaglist.colRef("limyn")) = 'N';
  616. var limyn = grd_promotnflaglist.valueMatrix(i, grd_promotnflaglist.colRef("limyn")) ;
  617. var oldlimyn = grd_promotnflaglist.valueMatrix(i, grd_promotnflaglist.colRef("oldlimyn"));
  618. if(oldlimyn!=limyn){
  619. grd_promotnflaglist.addStatus(i,"update");
  620. }else{
  621. grd_promotnflaglist.rowStatus(i) =0;
  622. }
  623. }
  624. ]]>
  625. </script>
  626. </button>
  627. <button id="button12" class="btn2_letter4" style="left:932px; top:75px; width:64px; height:19px; ">
  628. <caption>전체선택</caption>
  629. <script type="javascript" ev:event="DOMActivate">
  630. <![CDATA[
  631. var updtdata = getGridUpdateData(grd_promotnflaglist);
  632. if (updtdata != "") {
  633. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 저장후","C002");
  634. return;
  635. }
  636. for (var i = grd_promotnflaglist.fixedRows; i < grd_promotnflaglist.rows; i++ ) {
  637. grd_promotnflaglist.valueMatrix(i, grd_promotnflaglist.colRef("limyn")) = 'Y';
  638. var limyn = grd_promotnflaglist.valueMatrix(i, grd_promotnflaglist.colRef("limyn")) ;
  639. var oldlimyn = grd_promotnflaglist.valueMatrix(i, grd_promotnflaglist.colRef("oldlimyn"));
  640. if(oldlimyn!=limyn){
  641. grd_promotnflaglist.addStatus(i,"update");
  642. }else{
  643. grd_promotnflaglist.rowStatus(i) =0;
  644. // alert(limyn+"==="+oldlimyn);
  645. //grd_promotnflaglist.clearStatus(i);
  646. }
  647. }
  648. ]]>
  649. </script>
  650. </button>
  651. <caption id="caption3" style="left:125px; top:75px; width:95px; height:20px; font-weight:bold; color:#0000ff; ">* 조회인원수:</caption>
  652. <output id="output1" ref="/root/init/totcount" style="left:210px; top:75px; width:110px; height:19px; font-weight:bold; color:#0000ff; "/>
  653. <input id="ipt_prfshipflag" ref="/root/main/listdetail/prfshipflag" visibility="hidden" style="left:390px; top:565px; width:20px; height:19px; "/>
  654. <input id="input1" ref="/root/main/listdetail/adjtyearno" visibility="hidden" style="left:360px; top:565px; width:20px; height:19px; "/>
  655. <input id="input11" ref="/root/main/listdetail/dutunitcd" visibility="hidden" style="left:255px; top:565px; width:20px; height:15px; "/>
  656. <input id="input25" ref="/root/main/listdetail/dutunitnm" visibility="hidden" style="left:285px; top:565px; width:20px; height:15px; "/>
  657. <input id="input29" ref="/root/main/listdetail/dutplceinst" visibility="hidden" style="left:230px; top:565px; width:20px; height:19px; "/>
  658. <select1 id="cmb_payclscd" ref="/root/main/listdetail/payclscd" class="combo_default" appearance="minimal" style="left:658px; top:642px; width:195px; height:19px; ">
  659. <choices>
  660. <itemset>
  661. <label/>
  662. <value/>
  663. </itemset>
  664. </choices>
  665. </select1>
  666. <select1 id="cmb_graduppaycls" ref="/root/main/listdetail/graduppaycls" class="combo_default" appearance="minimal" style="left:371px; top:642px; width:195px; height:19px; ">
  667. <choices>
  668. <itemset>
  669. <label/>
  670. <value/>
  671. </itemset>
  672. </choices>
  673. </select1>
  674. </group>
  675. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:28px; ">
  676. <button id="button16" class="btn3_letter2" style="left:0px; top:3px; width:56px; height:22px; ">
  677. <caption>출력</caption>
  678. </button>
  679. <line id="line4" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25; "/>
  680. <button id="btn_traget" class="btn4_letter5" selected="dksemffudy?" style="left:1037px; top:3px; width:92px; height:22px; ">
  681. <caption>대상자산출</caption>
  682. <script type="javascript" ev:event="DOMActivate">
  683. <![CDATA[
  684. if ( !isRequiredControls("ipt_gradupym") ) return;
  685. var ret = messageBox("대상자산출 작업을 ","Q004");
  686. if (ret != 6) { // not OK
  687. return;
  688. } else {
  689. model.setValue("/root/send/searchcond/promotngradupflag","3");
  690. model.setValue("/root/send/searchcond/workgbn","D");
  691. submit("TXRPH00601");
  692. }
  693. var errormsg=model.getValue("/root/spreflist/spref/errormsg");
  694. var errflag=model.getValue("/root/spreflist/spref/errflag");
  695. if(errflag =='Y'){
  696. messageBox(errormsg,"E001");
  697. return;
  698. }
  699. if (model.getValue(gvErrorMsgPath + "/type") != "error"){
  700. messageBox("대상자산출 작업이 ","I002");
  701. btn_search.dispatch("DOMActivate");
  702. }
  703. ]]>
  704. </script>
  705. </button>
  706. <button id="btn_save" class="btn4_letter2" style="left:1130px; top:3px; width:56px; height:22px; ">
  707. <caption>저장</caption>
  708. <script type="javascript" ev:event="DOMActivate">
  709. <![CDATA[
  710. var updtdata = getGridUpdateData(grd_promotnflaglist);
  711. if (updtdata == "" ) {
  712. messageBox("변경된 데이터가","I004");
  713. return;
  714. }
  715. //alert(model.getValue("/root/send/uptprom/emplno"));
  716. var ret = messageBox("저장합니다.","Q003");
  717. if (ret != 6) { // not OK
  718. return;
  719. } else {
  720. misfSave("TXRPH00600");
  721. }
  722. model.setValue("/root/send/searchcond/promotngradupflag","3");
  723. misfMsterDetailRetrieve();
  724. fEnableInsertButton();
  725. model.refresh();
  726. ]]>
  727. </script>
  728. </button>
  729. <button id="btn_gnvoffentbnt" class="btn4_letter6" style="left:932px; top:3px; width:104px; height:22px; ">
  730. <caption>일괄승급발령</caption>
  731. <script type="javascript" ev:event="DOMActivate">
  732. <![CDATA[
  733. var updtdata = getGridUpdateData(grd_promotnflaglist);
  734. if (updtdata != "") {
  735. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 저장후","C002");
  736. return;
  737. }
  738. if ( !isRequiredControls("ipt_gradupym") ) return;
  739. var ret = messageBox("승급발령 작업을 ","Q004");
  740. if (ret != 6) { // not OK
  741. return;
  742. } else {
  743. model.setValue("/root/send/searchcond/promotngradupflag","3");
  744. model.setValue("/root/send/searchcond/iudflag",'U');
  745. model.setValue("/root/send/searchcond/workgbn","G");
  746. submit("TXRPH00601");
  747. }
  748. var errormsg=model.getValue("/root/spreflist/spref/errormsg");
  749. var errflag=model.getValue("/root/spreflist/spref/errflag");
  750. if(errflag =='0'){
  751. messageBox(errormsg,"I004");
  752. return;
  753. }
  754. if (model.getValue(gvErrorMsgPath + "/type") != "error"){
  755. messageBox("승급발령 작업이 ","I002");
  756. btn_search.dispatch("DOMActivate");
  757. }
  758. ]]>
  759. </script>
  760. </button>
  761. <button id="btn_gnvoffcanbnt" class="btn4_letter6" style="left:827px; top:3px; width:104px; height:22px; ">
  762. <caption>일괄발령취소</caption>
  763. <script type="javascript" ev:event="DOMActivate">
  764. <![CDATA[
  765. var updtdata = getGridUpdateData(grd_promotnflaglist);
  766. if (updtdata != "") {
  767. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 저장후","C002");
  768. return;
  769. }
  770. if ( !isRequiredControls("ipt_gradupym") ) return;
  771. var ret = messageBox("승급발령 작업을 ","Q004");
  772. if (ret != 6) { // not OK
  773. return;
  774. } else {
  775. model.setValue("/root/send/searchcond/promotngradupflag","3");
  776. model.setValue("/root/send/searchcond/iudflag",'C');
  777. model.setValue("/root/send/searchcond/workgbn","G");
  778. submit("TXRPH00601");
  779. }
  780. var errormsg=model.getValue("/root/spreflist/spref/errormsg");
  781. var errflag=model.getValue("/root/spreflist/spref/errflag");
  782. if(errflag =='0'){
  783. messageBox(errormsg,"I004");
  784. return;
  785. }
  786. messageBox("승급발령취소 작업이 ","I002");
  787. btn_search.dispatch("DOMActivate");
  788. ]]>
  789. </script>
  790. </button>
  791. </group>
  792. </xhtml:body>
  793. </xhtml:html>