SMRPD03300_근태집계조회(세종병원).xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399
  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. <list>
  11. <dutsumlist/>
  12. </list>
  13. </main>
  14. <send>
  15. <retrparams>
  16. <instcd/>
  17. <frdutym/>
  18. <todutym/>
  19. <dutunitcd/>
  20. <dutunitnm/>
  21. <retrflag>T</retrflag>
  22. <emplno/>
  23. <emplnm/>
  24. <deptgb/>
  25. <gb/>
  26. <appscheexecflag/>
  27. </retrparams>
  28. <save>
  29. <dutsumlist/>
  30. </save>
  31. </send>
  32. <init/>
  33. <temp/>
  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. <submission id="TRRPD03302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/main/list"/>
  39. <submission id="TXRPD03301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  40. </model>
  41. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  42. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  43. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  44. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  45. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  46. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  47. <script type="javascript" src="../../../mis/dligclaznsmngtweb/js/RPD001.js"/>
  48. <script type="javascript" ev:event="xforms-ready">
  49. <![CDATA[
  50. fInitialize();
  51. ]]>
  52. </script>
  53. <script type="javascript">
  54. <![CDATA[
  55. // var DUT_UNIT_CD = "";
  56. // var DUT_UNIT_NM = "";
  57. // var DUTY_RESP_YN = ""; // 복무 책임자
  58. // var DUTY_PART_YN = ""; // 인사 복무 담당자
  59. function fInitialize()
  60. {
  61. model.removenode("/root/main/list/dutsumlist");
  62. // misfComboComCdListMulti("Z0007","cmb_instcd");
  63. model.setValue("/root/send/retrparams/frdutym", getCurrentDate().substr(0, 6));
  64. //model.setValue("/root/send/retrparams/todutym", getCurrentDate().substr(0, 6));
  65. misfComboInstCdListMulti("cmb_instcd", ipt_dutym.value+getCurrentDate().substr(6, 2),"","N");
  66. misfGetAndSetUserInfo();
  67. model.setValue("/root/send/retrparams/instcd", getUserInfo("dutplceinstcd"));
  68. //model.setValue("/root/send/retrparams/dutunitcd", DUT_UNIT_CD);
  69. //model.setValue("/root/send/retrparams/dutunitnm", DUT_UNIT_NM);
  70. cmb_instcd.disabled = true;
  71. model.setValue("/root/send/retrparams/deptgb", "1");
  72. model.setValue("/root/send/retrparams/gb", "N");
  73. model.setValue("/root/send/retrparams/appscheexecflag", "3");
  74. //grd_dutsumlist.rowHeight(0) = 22;
  75. //grd_dutsumlist.rowHeight(1) = 22;
  76. //grd_dutsumlist.rowHeight(2) = 22;
  77. btn_search.dispatch("DOMActivate");
  78. model.refresh();
  79. }
  80. ]]>
  81. </script>
  82. </xhtml:head>
  83. <xhtml:body pagewidth="1211" pageheight="784" style="margin-left:8; margin-right:8; ">
  84. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  85. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">근태집계조회</caption>
  86. </group>
  87. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  88. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  89. <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:38px; "/>
  90. <caption id="caption278" class="tit_2" style="left:5px; top:54px; width:162px; height:14px; ">근태집계목록</caption>
  91. <line id="line207" class="line_1" style="x1:0px; y1:69px; x2:1195px; y2:69px; "/>
  92. <datagrid id="grd_dutsumlist" nodeset="/root/main/list/dutsumlist" caption="부서^직위^사원번호^성명^주민번호^시간외^응급^야간시간^휴일^시간외소급^응급소급^야간소급^휴일소급^생휴^caption3^caption1^caption2" colsep="^" colwidth="180, 86, 101, 73, 108, 71, 65, 68, 66, 77, 67, 65, 65, 59, 100, 100" dataheight="25" explorerbar="sortshow" extendlastcol="scroll" frozencols="4" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:74px; width:1195px; height:670px; border-right-color:#3366ff; ">
  93. <col ref="dutplcedeptnm"/>
  94. <col ref="jobposnm"/>
  95. <col disabled="true" ref="emplno" type="inputbutton" style="text-align:center; "/>
  96. <col ref="emplnm"/>
  97. <col ref="rregno" format="999999-9999999" style="text-align:center; "/>
  98. <col ref="ovtmworkextnbiztm150" type="input" format="(-)##.0" style="text-align:right; padding-right:5; "/>
  99. <col ref="tranalwntm" type="input" format="(-)##.0" style="text-align:right; padding-right:5; "/>
  100. <col ref="nigtlabrtm" type="input" format="(-)###" style="text-align:right; padding-right:5; "/>
  101. <col ref="holiduttm" type="input" format="(-)###.0" style="text-align:right; padding-right:5; "/>
  102. <col ref="extnnigtbfmmstktm150" type="input" format="(-)#,###.0" style="text-align:right; padding-right:5; "/>
  103. <col ref="tranalwnmnt" type="input" format="(-)#,###.0" style="text-align:right; padding-right:5; "/>
  104. <col ref="nigtlabrmnt" type="input" format="(-)#,###.0" style="text-align:right; padding-right:5; "/>
  105. <col ref="holidutmnt" type="input" format="(-)#,###.0" style="text-align:right; padding-right:5; "/>
  106. <col ref="earlyattdnctm150" type="input" format="(-)###" style="text-align:right; padding-right:5; "/>
  107. <col ref="dutym" visibility="hidden"/>
  108. <col ref="appscheexecflag" visibility="hidden"/>
  109. <script type="javascript" ev:event="onaftersort">
  110. <![CDATA[
  111. grd_dutsumlist.gridToInstance();
  112. ]]>
  113. </script>
  114. <script type="javascript" ev:event="onbuttonclick">
  115. <![CDATA[
  116. if (grd_dutsumlist.colAttribute(grd_dutsumlist.col,"ref") == "emplno" ) { //계산기준코드
  117. var recv_list = "emplno,emplnm";
  118. rpbfOpenPopUpList("SPRPB00101", grd_dutsumlist, recv_list,"","N");
  119. model.refresh();
  120. }
  121. ]]>
  122. </script>
  123. <script type="javascript" ev:event="xforms-value-changed">
  124. <![CDATA[
  125. if (grd_dutsumlist.colAttribute(grd_dutsumlist.col,"ref") == "tranalwnmnt" ) {
  126. var cnt = model.getValue("/root/main/list/dutsumlist[" + grd_dutsumlist.row + "]/tranalwnmnt");
  127. var hcnt = parseFloat(cnt) * 10000;
  128. model.setValue("/root/main/list/dutsumlist[" + grd_dutsumlist.row + "]/tranalwnmnt", hcnt);
  129. model.refresh();
  130. }
  131. ]]>
  132. </script>
  133. </datagrid>
  134. <caption id="caption5" class="search_name" style="left:10px; top:19px; width:86px; height:17px; ">소속기관 :</caption>
  135. <caption id="caption1" class="search_name" style="left:250px; top:19px; width:86px; height:17px; ">근무년월 :</caption>
  136. <input id="ipt_dutym" ref="/root/send/retrparams/frdutym" class="input_search" navindex="2" inputtype="date" format="yyyy-mm" style="left:340px; top:18px; width:85px; height:19px; text-align:center; ">
  137. <script type="javascript" ev:event="xforms-value-changed">
  138. <![CDATA[
  139. var instcd = cmb_instcd.value;
  140. if( getStringLength(ipt_dutym.value) == "6" ) {
  141. model.removeNodeset(cmb_instcd.attribute("ref"));
  142. model.makeNode("/root/send/retrparams/instcd");
  143. misfComboInstCdListMulti("cmb_instcd",ipt_dutym.value+"31","","N");
  144. cmb_instcd.value = instcd;
  145. model.refresh();
  146. }
  147. btn_search.dispatch("DOMActivate");
  148. ]]>
  149. </script>
  150. </input>
  151. <select1 id="cmb_instcd" ref="/root/send/retrparams/instcd" class="combo_search" navindex="1" appearance="minimal" style="left:100px; top:18px; width:140px; height:19px; ">
  152. <choices>
  153. <itemset>
  154. <label/>
  155. <value/>
  156. </itemset>
  157. </choices>
  158. <script type="javascript" ev:event="xforms-value-changed">
  159. <![CDATA[
  160. btn_search.dispatch("DOMActivate");
  161. ]]>
  162. </script>
  163. </select1>
  164. <button id="btn_dutdept" class="icon_search" navindex="5" style="left:693px; top:20px; width:16px; height:16px; ">
  165. <caption/>
  166. <script type="javascript" ev:event="DOMActivate">
  167. <![CDATA[
  168. misfOpenPopUpList("02", ipt_dutdeptcd, "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd");
  169. model.refresh();
  170. ]]>
  171. </script>
  172. </button>
  173. <caption id="caption2" class="search_name" style="left:437px; top:19px; width:88px; height:17px; ">근무부서 :</caption>
  174. <input id="ipt_dutdeptnm" ref="/root/send/retrparams/dutunitnm" class="input_search" navindex="6" style="left:711px; top:18px; width:114px; height:19px; ">
  175. <script type="javascript" ev:event="onkeypress">
  176. <![CDATA[
  177. if(event.keyCode == 13)
  178. {
  179. if(ipt_dutdeptnm.value == ipt_dutdeptnm.currentText) return;
  180. ipt_dutdeptnm.value = ipt_dutdeptnm.currentText;
  181. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  182. model.refresh();
  183. }
  184. ]]>
  185. </script>
  186. <script type="javascript" ev:event="xforms-value-changed">
  187. <![CDATA[
  188. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  189. model.refresh();
  190. ]]>
  191. </script>
  192. </input>
  193. <input id="ipt_dutdeptcd" ref="/root/send/retrparams/dutunitcd" class="input_search" navindex="4" maxlength="10" style="left:620px; top:18px; width:70px; height:19px; text-align:center; ">
  194. <script type="javascript" ev:event="onkeypress">
  195. <![CDATA[
  196. if(event.keyCode == 13)
  197. {
  198. if(ipt_dutdeptcd.value == ipt_dutdeptcd.currentText) return;
  199. ipt_dutdeptcd.value = ipt_dutdeptcd.currentText;
  200. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  201. model.refresh();
  202. }
  203. ]]>
  204. </script>
  205. <script type="javascript" ev:event="xforms-value-changed">
  206. <![CDATA[
  207. misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
  208. model.refresh();
  209. ]]>
  210. </script>
  211. </input>
  212. <button id="btn_search" class="btn1_letter2" navindex="10" style="left:1125px; top:17px; width:56px; height:22px; ">
  213. <caption>조회</caption>
  214. <script type="javascript" ev:event="DOMActivate">
  215. <![CDATA[
  216. submit("TRRPD03302");
  217. ]]>
  218. </script>
  219. </button>
  220. <select1 id="rdo_retrflag" ref="/root/send/retrparams/retrflag" visibility="hidden" appearance="full" cellspacing="20" cols="2" overflow="visible" style="left:995px; top:20px; width:100px; height:15px; border-style:none; ">
  221. <choices>
  222. <item>
  223. <label>시간</label>
  224. <value>T</value>
  225. </item>
  226. <item>
  227. <label>횟수</label>
  228. <value>C</value>
  229. </item>
  230. </choices>
  231. </select1>
  232. <button id="btn_excsave" class="btn2_letter4" style="left:1127px; top:49px; width:64px; height:19px; ">
  233. <caption>엑셀저장</caption>
  234. <script type="javascript" ev:event="DOMActivate">
  235. <![CDATA[
  236. misfSaveExcel(grd_dutsumlist);
  237. ]]>
  238. </script>
  239. </button>
  240. <caption id="caption3" class="search_name" style="left:840px; top:19px; width:63px; height:17px; ">사번 :</caption>
  241. <button id="btn_emplno" class="icon_search" navindex="8" style="left:983px; top:18px; width:16px; height:16px; ">
  242. <caption/>
  243. <script type="javascript" ev:event="DOMActivate">
  244. <![CDATA[
  245. var recv_list = "emplno,emplnm" ;
  246. rpbfOpenPopUpList("SPRPB00101", ipt_emplnos, recv_list,"","N");
  247. model.refresh();
  248. if (model.getValue(ipt_emplnos.attribute("ref")).length > 0) {
  249. //btn_search.dispatch("DOMActivate");
  250. ipt_emplnos.dispatch("xforms-value-changed");
  251. }
  252. ]]>
  253. </script>
  254. </button>
  255. <input id="ipt_emplnos" ref="/root/send/retrparams/emplno" class="input_default" navindex="7" style="left:901px; top:18px; width:77px; height:19px; ">
  256. <script type="javascript" ev:event="onkeyup">
  257. <![CDATA[
  258. if (ipt_emplnos.currentText != null && ipt_emplnos.currentText != "" ) {
  259. inputEnterKey("ipt_emplnos", "xforms-value-changed");
  260. }
  261. ]]>
  262. </script>
  263. <script type="javascript" ev:event="xforms-value-changed">
  264. <![CDATA[
  265. var recv_list = "emplno,emplnm" ;
  266. rpbfValidationCheck("EMPLNO", recv_list);
  267. model.refresh();
  268. if (model.getValue(ipt_emplnos.attribute("ref")).length > 0) {
  269. btn_search.dispatch("DOMActivate");
  270. }
  271. ]]>
  272. </script>
  273. </input>
  274. <input id="ipt_emplnms" ref="/root/send/retrparams/emplnm" class="input_default" navindex="9" style="left:1002px; top:18px; width:96px; height:19px; ">
  275. <script type="javascript" ev:event="onkeyup">
  276. <![CDATA[
  277. if (ipt_emplnms.currentText != null && ipt_emplnms.currentText != "" ) {
  278. inputEnterKey("ipt_emplnms", "xforms-value-changed");
  279. }
  280. ]]>
  281. </script>
  282. <script type="javascript" ev:event="xforms-value-changed">
  283. <![CDATA[
  284. var recv_list = "emplno,emplnm" ;
  285. rpbfValidationCheck("EMPLNM", recv_list);
  286. model.refresh();
  287. if (model.getValue(ipt_emplnos.attribute("ref")).length > 0) {
  288. btn_search.dispatch("DOMActivate");
  289. }
  290. ]]>
  291. </script>
  292. </input>
  293. <button id="btn_grddelpaydedulist" class="btn2_letter3" style="left:1071px; top:49px; width:53px; height:19px; ">
  294. <caption>행삭제</caption>
  295. <script type="javascript" ev:event="DOMActivate">
  296. <![CDATA[
  297. //grd_dutsumlist.deleteRow(grd_dutsumlist.row);
  298. deleteSelectedRows(grd_dutsumlist, true);
  299. ]]>
  300. </script>
  301. </button>
  302. <button id="btn_grdaddpaydedulist" class="btn2_letter3" style="left:1015px; top:49px; width:53px; height:19px; ">
  303. <caption>행추가</caption>
  304. <script type="javascript" ev:event="DOMActivate">
  305. <![CDATA[
  306. grd_dutsumlist.addRow();
  307. model.setValue("/root/main/list/dutsumlist[" + grd_dutsumlist.row + "]/dutym", model.getValue("/root/send/retrparams/frdutym"));
  308. model.setValue("/root/main/list/dutsumlist[" + grd_dutsumlist.row + "]/appscheexecflag", "3");
  309. model.refresh();
  310. ]]>
  311. </script>
  312. </button>
  313. <select1 id="combo1" ref="/root/send/retrparams/deptgb" navindex="3" appearance="minimal" style="left:525px; top:18px; width:90px; height:19px; ">
  314. <choices>
  315. <item>
  316. <label>근무지</label>
  317. <value>1</value>
  318. </item>
  319. <item>
  320. <label>근무부서</label>
  321. <value>2</value>
  322. </item>
  323. <item>
  324. <label>근무과(팀)</label>
  325. <value>3</value>
  326. </item>
  327. <item>
  328. <label>근무부(실)</label>
  329. <value>4</value>
  330. </item>
  331. </choices>
  332. </select1>
  333. <bool id="bool1" checkvalue="Y,N" ref="/root/send/retrparams/gb" style="left:740px; top:48px; width:25px; height:20px; "/>
  334. <caption id="caption4" style="left:765px; top:49px; width:106px; height:20px; ">근태미대상 제외</caption>
  335. <button id="btn_inputexcel" class="btn2_letter4" style="left:948px; top:50px; width:64px; height:19px; ">
  336. <caption>엑셀입력</caption>
  337. <script type="javascript" ev:event="DOMActivate">
  338. <![CDATA[
  339. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  340. grd_dutsumlist.loadExcel(fileName, 1, true);
  341. for (var i = 1; i < grd_dutsumlist.rows; i ++){
  342. grd_dutsumlist.rowStatus(i) = 1;
  343. model.setValue("/root/main/list/dutsumlist[" + i + "]/dutym", model.getValue("/root/send/retrparams/frdutym"));
  344. model.setValue("/root/main/list/dutsumlist[" + i + "]/appscheexecflag", "3");
  345. }
  346. grd_dutsumlist.refresh();
  347. ]]>
  348. </script>
  349. </button>
  350. </group>
  351. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  352. <line id="line4" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25; "/>
  353. <button id="button36" class="btn4_letter2" style="left:1139px; top:3; width:56px; height:22px; ">
  354. <caption>저장</caption>
  355. <script type="javascript" ev:event="DOMActivate">
  356. <![CDATA[
  357. for (var i = 1; i < grd_dutsumlist.rows; i ++){
  358. if (model.getValue("/root/main/list/dutsumlist[" + i + "]/emplno") == ""){
  359. messageBox(i + "번째의 사원번호는 필수 입력항목입니다.", "E999", "");
  360. return;
  361. }
  362. }
  363. var update = getGridUpdateData(grd_dutsumlist);
  364. if(update == ""){
  365. messageBox("업데이트 정보가 없습니다.", "E999", "");
  366. return 0;
  367. } else {
  368. model.setValue("/root/send/save/dutsumlist", update);
  369. if (submit("TXRPD03301")){
  370. messageBox("정상적으로 처리되었습니다.", "E999", "");
  371. btn_search.dispatch("DOMActivate");
  372. }
  373. }
  374. ]]>
  375. </script>
  376. </button>
  377. </group>
  378. </xhtml:body>
  379. </xhtml:html>