SMRPD12100_미사용연차휴가사용계획서.xrw 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>SMRPD12100_미사용연차휴가사용시기지정통보서</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <list>
  11. <useholidayapp/>
  12. </list>
  13. </main>
  14. <send>
  15. <retrparams>
  16. <instcd/>
  17. <useym/>
  18. <dutunitcd/>
  19. <dutunitnm/>
  20. <teamcd/>
  21. <teamnm/>
  22. <emplno/>
  23. <emplnm/>
  24. <yy/>
  25. <mm>10</mm>
  26. <dutunitcd1/>
  27. </retrparams>
  28. <save/>
  29. </send>
  30. <init/>
  31. <temp/>
  32. <print>
  33. </print>
  34. </root>
  35. </instance>
  36. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  37. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  38. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  39. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  40. <script type="javascript" src="../../../mis/miscommonweb/js/RAC001.js"/>
  41. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  42. <script type="javascript" src="../../../mis/dligclaznsmngtweb/js/RPD001.js"/>
  43. <submission id="TRRPD12101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/main/list"/>
  44. <submission id="TRRPD12102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/print/"/>
  45. <submission id="TXRPD12101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/temp"/>
  46. </model>
  47. <script type="javascript" ev:event="xforms-ready">
  48. <![CDATA[
  49. fInit();
  50. ]]>
  51. </script>
  52. <script type="javascript">
  53. <![CDATA[
  54. function fInit()
  55. {
  56. model.removenode("/root/main/list/useholidayapp");
  57. misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","N");
  58. misfGetAndSetUserInfo();
  59. misfGetUserAuth();
  60. rpdfDeptComboCdList(cmb_dutplce,'Y'); // 근무부서 조회
  61. rpdfSetDutUnitCombo(); // 조회된 근무부서를 콤보에 세팅해줌
  62. model.setValue("/root/send/retrparams/instcd", getUserInfo("dutplceinstcd"));
  63. model.setValue("/root/send/retrparams/dutunitcd", DUT_UNIT_CD);
  64. model.setValue("/root/send/retrparams/dutunitnm", DUT_UNIT_NM);
  65. model.setValue("/root/send/retrparams/dutunitcd1", DUT_UNIT_CD);
  66. model.setValue("/root/send/retrparams/yy", getCurrentDate().substr(0, 4));
  67. model.setValue("/root/send/retrparams/useym",ipt_yy.value+cmb_mm.value);
  68. if(getUserInfo("dutplceinstcd") == "001" && DUTY_PART_YN == "Y") { // 의료원 복무담당자
  69. cmb_instcd.disabled = false;
  70. }
  71. else {
  72. cmb_instcd.disabled = true;
  73. }
  74. if ( DUTY_PART_YN == "Y" ) { // 복무담당자는 모든부서 조회가 가능해야 한다.
  75. ipt_unitcd.disabled = false;
  76. btn_unitcdhelp.disabled = false;
  77. ipt_unitnm.disabled = false;
  78. grd_useholidayapp.colHidden(grd_useholidayapp.colRef("deprtmangraprvyn")) = false;
  79. }
  80. else if(JOB_RESP_CD == "1070" || JOB_RESP_CD == "1080" || JOB_RESP_CD == "2010" || JOB_RESP_CD == "1901"
  81. || JOB_RESP_CD == "1907" || DUTY_RESP_YN == "Y" )
  82. {
  83. // 팀장 / 부장 / 간호부장 / UM / JM / 복무위임 일때 자기 부서만 조회가 가능해야 한다.
  84. grd_useholidayapp.colHidden(grd_useholidayapp.colRef("deprtmangraprvyn")) = false;
  85. cmb_dutplce.visible = true ;
  86. ipt_unitcd.visible = false ;
  87. btn_unitcdhelp.visible = false ;
  88. ipt_unitnm.visible = false ;
  89. }
  90. else { // 일반 개인은 자기정보만 조회 수정 삭제 저장 가능해야 한다.
  91. grd_useholidayapp.colHidden(grd_useholidayapp.colRef("deprtmangraprvyn")) = true;
  92. ipt_unitcd.disabled = true;
  93. btn_unitcdhelp.disabled = true;
  94. ipt_unitnm.disabled = true;
  95. ipt_emplno.disabled = true;
  96. btn_emplhelp.disabled = true;
  97. ipt_emplnm.disabled = true;
  98. model.setValue("/root/send/retrparams/emplno", getUserInfo("userid"));
  99. model.setValue("/root/send/retrparams/emplnm", getUserInfo("usernm"));
  100. }
  101. model.refresh();
  102. }
  103. function fAddRow()
  104. {
  105. if(ipt_emplno.value == "" || ipt_emplnm.value == "")
  106. {
  107. messageBox("사원번호를", "C001");
  108. return;
  109. }
  110. misfGridIUD(grd_useholidayapp, "A");
  111. grd_useholidayapp.valueMatrix(grd_useholidayapp.row, grd_useholidayapp.colRef("instnm")) = cmb_instcd.label;
  112. grd_useholidayapp.valueMatrix(grd_useholidayapp.row, grd_useholidayapp.colRef("instcd")) = cmb_instcd.value;
  113. grd_useholidayapp.valueMatrix(grd_useholidayapp.row, grd_useholidayapp.colRef("deptnm")) = ipt_unitnm.value;
  114. grd_useholidayapp.valueMatrix(grd_useholidayapp.row, grd_useholidayapp.colRef("deptcd")) = ipt_unitcd.value;
  115. grd_useholidayapp.valueMatrix(grd_useholidayapp.row, grd_useholidayapp.colRef("emplno")) = ipt_emplno.value;
  116. grd_useholidayapp.valueMatrix(grd_useholidayapp.row, grd_useholidayapp.colRef("emplnm")) = ipt_emplnm.value;
  117. // grd_useholidayapp.valueMatrix(grd_useholidayapp.row, grd_useholidayapp.colRef("dutcd")) = "V";
  118. grd_useholidayapp.valueMatrix(grd_useholidayapp.row, grd_useholidayapp.colRef("deprtmangraprvyn")) = "N";
  119. grd_useholidayapp.valueMatrix(grd_useholidayapp.row, grd_useholidayapp.colRef("dutplcedeptcd")) = model.getValue("/root/send/dutscheapp/dutunitcd");
  120. }
  121. ]]>
  122. </script>
  123. </xhtml:head>
  124. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  125. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  126. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:238px; height:14px; ">미사용 연차휴가 사용시기 지정통보서</caption>
  127. <caption id="caption4" class="patient_text_black" style="left:922px; top:0px; width:272px; "/>
  128. </group>
  129. <group id="group3" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  130. <line id="line1" class="line_1" style="x1:0px; y1:61px; x2:1195px; y2:61px; "/>
  131. <caption id="caption9" class="tit_2" style="left:5px; top:46px; width:139px; height:14px; ">사용시기 지정</caption>
  132. <datagrid id="grd_useholidayapp" nodeset="/root/main/list/useholidayapp" caption="기관^기관코드^부서^부서코드^사번^성명^근무코드^신청일^부서장승인여부^olddd^복무비용^비용지급일자^부서장&#xA;입력여부^부서장승인^인사팀승인^지출결의확인^기관코드^사번^근무지부서^밤근무월제한일수" colsep="^" colwidth="160, 100, 150, 100, 90, 100, 80, 120, 125, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:0px; top:66px; width:1195px; height:644px; ">
  133. <col class="input_search" ref="instnm" style="text-align:center; "/>
  134. <col class="input_search" ref="instcd" visibility="hidden" style="text-align:center; "/>
  135. <col class="input_search" ref="deptnm" style="text-align:center; "/>
  136. <col class="input_search" ref="deptcd" visibility="hidden" style="text-align:center; "/>
  137. <col class="input_search" ref="emplno" style="text-align:center; "/>
  138. <col class="input_search" ref="emplnm" style="text-align:center; "/>
  139. <col class="combo_s_essential" ref="dutcd" type="combo" _key="true" style="text-align:center; vertical-align:middle; ">
  140. <choices>
  141. <item>
  142. <label>V</label>
  143. <value>V</value>
  144. </item>
  145. <item>
  146. <label>DVH</label>
  147. <value>DVH</value>
  148. </item>
  149. <item>
  150. <label>VDH</label>
  151. <value>VDH</value>
  152. </item>
  153. </choices>
  154. </col>
  155. <col class="input_s_essential" ref="srvarmappdd" type="inputdate" style="text-align:center; "/>
  156. <col class="input_search" checkvalue="Y,N" ref="deprtmangraprvyn" type="checkbox" style="text-align:center; "/>
  157. <col class="input_search" ref="olddd" visibility="hidden"/>
  158. <script type="javascript" ev:event="xforms-value-changed">
  159. <![CDATA[
  160. var fromdd = ipt_yy.value + "1001" ;
  161. var todd = ipt_yy.value + "1231" ;
  162. var srvarmappdd = grd_useholidayapp.valueMatrix(grd_useholidayapp.row,grd_useholidayapp.colRef("srvarmappdd"));
  163. if ( grd_useholidayapp.colRef("srvarmappdd") == grd_useholidayapp.col ) {
  164. if ( fromdd <= srvarmappdd && srvarmappdd <= todd ) {
  165. ;
  166. }
  167. else {
  168. messageBox(fromdd+" ~ "+todd+" 사이의 날짜를 입력하세요.","C999");
  169. grd_useholidayapp.valueMatrix(grd_useholidayapp.row,grd_useholidayapp.colRef("srvarmappdd")) = "" ;
  170. grd_useholidayapp.col = grd_useholidayapp.colRef("srvarmappdd");
  171. }
  172. }
  173. ]]>
  174. </script>
  175. </datagrid>
  176. <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1195px; height:36px; background-color:#fffbf2; border-color:#ffd799; "/>
  177. <button id="btn_grdadddutscheapplist" class="btn2_letter3" style="left:1086px; top:41px; width:53px; height:19px; ">
  178. <caption>행추가</caption>
  179. <script type="javascript" ev:event="DOMActivate">
  180. <![CDATA[
  181. fAddRow();
  182. ]]>
  183. </script>
  184. </button>
  185. <button id="btn_grddeldutscheapplist" class="btn2_letter3" style="left:1141px; top:41px; width:53px; height:19px; ">
  186. <caption>행삭제</caption>
  187. <script type="javascript" ev:event="DOMActivate">
  188. <![CDATA[
  189. misfGridIUD(grd_useholidayapp, "D");
  190. ]]>
  191. </script>
  192. </button>
  193. <select1 id="cmb_instcd" ref="/root/send/retrparams/instcd" class="combo_search" navindex="1" appearance="minimal" style="left:105px; top:8px; width:185px; height:19px; ">
  194. <choices>
  195. <itemset>
  196. <label/>
  197. <value/>
  198. </itemset>
  199. </choices>
  200. </select1>
  201. <caption id="caption1" class="search_name" style="left:322px; top:8px; width:86px; height:17px; ">소속부서 :</caption>
  202. <button id="btn_emplhelp" class="icon_search" style="left:1007px; top:8px; width:16px; height:16px; ">
  203. <caption/>
  204. <script type="javascript" ev:event="DOMActivate">
  205. <![CDATA[
  206. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm", "", "N","Y");
  207. model.refresh();
  208. ]]>
  209. </script>
  210. </button>
  211. <caption id="caption2" class="search_name" style="left:851px; top:8px; width:86px; height:17px; ">사원번호 :</caption>
  212. <input id="ipt_unitnm" ref="/root/send/retrparams/dutunitnm" class="input_search" navindex="3" style="left:514px; top:8px; width:115px; height:19px; ">
  213. <script type="javascript" ev:event="onkeypress">
  214. <![CDATA[
  215. if(event.keyCode == 13)
  216. {
  217. racfDeptValidCheck("dutunitcd,dutunitnm");
  218. model.refresh();
  219. }
  220. ]]>
  221. </script>
  222. <script type="javascript" ev:event="xforms-value-changed">
  223. <![CDATA[
  224. racfDeptValidCheck("dutunitcd,dutunitnm");
  225. model.refresh();
  226. ]]>
  227. </script>
  228. </input>
  229. <input id="ipt_emplnm" ref="/root/send/retrparams/emplnm" class="input_search" navindex="7" style="left:1026px; top:8px; width:65px; height:19px; ">
  230. <script type="javascript" ev:event="onkeypress">
  231. <![CDATA[
  232. if(event.keyCode == 13)
  233. {
  234. if(ipt_emplnm.value == ipt_emplnm.currentText) return;
  235. ipt_emplnm.value = ipt_emplnm.currentText;
  236. rpbfValidationCheck("EMPLNM", "emplno,emplnm");
  237. model.refresh();
  238. }
  239. ]]>
  240. </script>
  241. <script type="javascript" ev:event="xforms-value-changed">
  242. <![CDATA[
  243. rpbfValidationCheck("EMPLNM", "emplno,emplnm");
  244. model.refresh();
  245. ]]>
  246. </script>
  247. </input>
  248. <caption id="caption5" class="search_name" style="left:650px; top:8px; width:86px; height:17px; ">조회년월 :</caption>
  249. <button id="btn_unitcdhelp" class="icon_search" style="left:494px; top:8px; width:16px; height:16px; ">
  250. <caption/>
  251. <script type="javascript" ev:event="DOMActivate">
  252. <![CDATA[
  253. rpbfOpenDeptCdHelp(ipt_unitcd, "dutunitcd,dutunitnm");
  254. model.refresh();
  255. ]]>
  256. </script>
  257. </button>
  258. <input id="ipt_unitcd" ref="/root/send/retrparams/dutunitcd" class="input_search" navindex="2" maxlength="10" style="left:410px; top:8px; width:80px; height:19px; ">
  259. <script type="javascript" ev:event="onkeypress">
  260. <![CDATA[
  261. if(event.keyCode == 13)
  262. {
  263. racfDeptValidCheck("dutunitcd,dutunitnm");
  264. model.refresh();
  265. }
  266. ]]>
  267. </script>
  268. <script type="javascript" ev:event="xforms-value-changed">
  269. <![CDATA[
  270. racfDeptValidCheck("dutunitcd,dutunitnm");
  271. model.refresh();
  272. ]]>
  273. </script>
  274. </input>
  275. <input id="ipt_emplno" ref="/root/send/retrparams/emplno" class="input_search" navindex="6" style="left:939px; top:8px; width:65px; height:19px; ">
  276. <script type="javascript" ev:event="onkeypress">
  277. <![CDATA[
  278. if(event.keyCode == 13)
  279. {
  280. if(ipt_emplno.value == ipt_emplno.currentText) return;
  281. ipt_emplno.value = ipt_emplno.currentText;
  282. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  283. model.refresh();
  284. }
  285. ]]>
  286. </script>
  287. <script type="javascript" ev:event="xforms-value-changed">
  288. <![CDATA[
  289. rpbfValidationCheck("EMPLNO", "emplno,emplnm");
  290. model.refresh();
  291. ]]>
  292. </script>
  293. </input>
  294. <caption id="caption7" class="search_name" style="left:16px; top:8px; width:91px; height:17px; ">근무기관 :</caption>
  295. <line id="line5" class="line_4" style="x1:1110px; y1:7px; x2:1110px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  296. <button id="btn_search" class="btn1_letter2" navindex="8" selected="true" style="left:1125px; top:7px; width:56px; height:22px; text-align:left; ">
  297. <caption>조회</caption>
  298. <script type="javascript" ev:event="DOMActivate">
  299. <![CDATA[
  300. submit("TRRPD12101");
  301. model.refresh();
  302. ]]>
  303. </script>
  304. </button>
  305. <select1 id="cmb_mm" ref="/root/send/retrparams/mm" class="combo_search" appearance="minimal" style="left:793px; top:10px; width:50px; height:19px; ">
  306. <choices>
  307. <item>
  308. <label>전체</label>
  309. <value/>
  310. </item>
  311. <item>
  312. <label>10월</label>
  313. <value>10</value>
  314. </item>
  315. <item>
  316. <label>11월</label>
  317. <value>11</value>
  318. </item>
  319. <item>
  320. <label>12월</label>
  321. <value>12</value>
  322. </item>
  323. </choices>
  324. <script type="javascript" ev:event="xforms-value-changed">
  325. <![CDATA[
  326. model.setValue("/root/send/retrparams/useym",ipt_yy.value+cmb_mm.value);
  327. model.refresh();
  328. ]]>
  329. </script>
  330. </select1>
  331. <input id="ipt_yy" ref="/root/send/retrparams/yy" class="output_search" disabled="true" style="left:735px; top:10px; width:40px; height:19px; text-align:center; "/>
  332. <input id="ipt_yymm" ref="/root/send/retrparams/useym" visibility="hidden" style="left:765px; top:35px; width:80px; height:19px; "/>
  333. <caption id="caption3" style="left:775px; top:10px; width:30px; height:20px; ">년</caption>
  334. <button id="btn_aprv" class="btn5_letter4" style="left:950px; top:41px; width:64px; height:19px; ">
  335. <caption>전체승인</caption>
  336. <script type="javascript" ev:event="DOMActivate">
  337. <![CDATA[
  338. var colidx = grd_useholidayapp.colRef("deprtmangraprvyn");
  339. for( var idx = grd_useholidayapp.fixedRows; idx <= grd_useholidayapp.rows; idx++ ) {
  340. if ( grd_useholidayapp.valueMatrix (idx, colidx) == "N" ) {
  341. grd_useholidayapp.valueMatrix (idx, colidx) = "Y" ;
  342. if ( grd_useholidayapp.rowStatus (idx) == "0" ) {
  343. grd_useholidayapp.addStatus (idx, "update") ;
  344. }
  345. }
  346. }
  347. ]]>
  348. </script>
  349. </button>
  350. <button id="btn_aprvcencle" class="btn5_letter4" style="left:1015px; top:41px; width:64px; height:19px; ">
  351. <caption>승인취소</caption>
  352. <script type="javascript" ev:event="DOMActivate">
  353. <![CDATA[
  354. var colidx = grd_useholidayapp.colRef("deprtmangraprvyn");
  355. for( var idx = grd_useholidayapp.fixedRows; idx <= grd_useholidayapp.rows; idx++ ) {
  356. if ( grd_useholidayapp.valueMatrix (idx, colidx) == "Y" ) {
  357. grd_useholidayapp.valueMatrix (idx, colidx) = "N" ;
  358. if ( grd_useholidayapp.rowStatus (idx) != "1" || grd_useholidayapp.rowStatus (idx) != "4" || grd_useholidayapp.rowStatus (idx) != "5" ) {
  359. grd_useholidayapp.addStatus (idx, "update") ;
  360. }
  361. }
  362. }
  363. ]]>
  364. </script>
  365. </button>
  366. <select1 id="cmb_dutplce" ref="/root/send/retrparams/dutunitcd1" class="combo_s_essential" visibility="hidden" appearance="minimal" style="left:410px; top:8px; width:219px; height:19px; ">
  367. <choices>
  368. <itemset>
  369. <label/>
  370. <value/>
  371. </itemset>
  372. </choices>
  373. <script type="javascript" ev:event="xforms-value-changed">
  374. <![CDATA[
  375. model.setValue(ipt_unitcd.attribute("ref"), cmb_dutplce.value );
  376. model.setValue(ipt_unitnm.attribute("ref"), cmb_dutplce.label );
  377. model.refresh();
  378. ]]>
  379. </script>
  380. </select1>
  381. </group>
  382. <group id="group5" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  383. <button id="button89" class="btn6_letter2" style="left:0px; top:3px; width:56px; height:22px; ">
  384. <caption>출력</caption>
  385. <script type="javascript" ev:event="DOMActivate">
  386. <![CDATA[
  387. model.removenode("/root/print");
  388. model.makeNode("/root/print");
  389. submit("TRRPD12102");
  390. exeReportPreview("RPRPD12101", "XMLSTR");
  391. ]]>
  392. </script>
  393. </button>
  394. <line id="line7" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25; "/>
  395. <button id="button1" class="btn4_letter2" navindex="8" selected="true" style="left:1135px; top:2px; width:56px; height:22px; text-align:left; ">
  396. <caption>저장</caption>
  397. <script type="javascript" ev:event="DOMActivate">
  398. <![CDATA[
  399. if( checkKeyColumn("grd_useholidayapp") == false) return;
  400. model.setValue("/root/send/save",grd_useholidayapp.getUpdateData());
  401. if(submit("TXRPD12101")) {
  402. submit("TRRPD12101");
  403. model.refresh();
  404. }
  405. ]]>
  406. </script>
  407. </button>
  408. </group>
  409. </xhtml:body>
  410. </xhtml:html>