SMRPA02100_학자금지급현황.xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  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>학자금지급현황</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <gvnoffcorddetl>
  11. <gvnoffcorddetllist/>
  12. </gvnoffcorddetl>
  13. <gvnoffcorddetldata>
  14. <gvnoffcorddetllist/>
  15. </gvnoffcorddetldata>
  16. <masterscholexp>
  17. <scholexplist>
  18. <emplno/>
  19. <emplnm/>
  20. <dutdeptnm/>
  21. <chldrnnm/>
  22. <payappmm/>
  23. <qurtyy/>
  24. <scholflagnm/>
  25. <schoolnm/>
  26. <schoolyy/>
  27. <scholexppayamt/>
  28. </scholexplist>
  29. </masterscholexp>
  30. <send>
  31. <payappmm/>
  32. <chldrnnm/>
  33. <emplno/>
  34. <dutplceinst/>
  35. <selectinstnm/>
  36. <reqgbn/>
  37. <paymmto/>
  38. <emplnm/>
  39. </send>
  40. <temp/>
  41. </main>
  42. <init>
  43. <combo1>
  44. <label>신청</label>
  45. <value>01</value>
  46. <label>승인</label>
  47. <value>02</value>
  48. <label>지급</label>
  49. <value>03</value>
  50. </combo1>
  51. </init>
  52. <target/>
  53. </root>
  54. </instance>
  55. <script type="javascript">
  56. <![CDATA[
  57. var GVN_TARGET_NODE = "/root/main/gvnoffcorddetldata";
  58. var GVN_SOURCE_NODE = "/root/main/gvnoffcorddetl";
  59. ]]>
  60. </script>
  61. <script type="javascript" ev:event="xforms-ready">
  62. <![CDATA[
  63. fInitialize();
  64. misfGridInit(grd_scholexplist);
  65. misfComboComCdList('Z0007', cmb_instcd_s,"Y");
  66. if(instance1.selectNodes("/root/target/*").length > 0)
  67. {
  68. cmb_instcd_s.value="";
  69. ipt_emplno.disabled = true;
  70. btn_emplsearch.disabled = true;
  71. ipt_emplnm.disabled = true;
  72. button2.visible = false;
  73. ipt_payappmm.value = model.getValue("/root/target/deduyy") + "01";
  74. ipt_paymmto.value = model.getValue("/root/target/deduyy") + "12";
  75. ipt_emplno.value = model.getValue("/root/target/emplno") ;
  76. ipt_emplnm.value = model.getValue("/root/target/emplnm") ;
  77. ipt_chldrnnm.value = model.getValue("/root/target/chldrnnm") ;
  78. cmb_reqgbn.value = "03";
  79. btn_search.dispatch("DOMActivate");
  80. grd_scholexplist.colHidden(grd_scholexplist.colRef("yyendappamt")) = false;
  81. }
  82. else {
  83. var dutplceinstcd = getUserInfo("dutplceinstcd");
  84. cmb_instcd_s.value=dutplceinstcd;
  85. if( dutplceinstcd != "001" ) {
  86. cmb_instcd_s.disabled = true;
  87. }
  88. cmb_reqgbn.value='03';
  89. grd_scholexplist.colHidden(grd_scholexplist.colRef("yyendappamt")) = true;
  90. }
  91. ]]>
  92. </script>
  93. <submission id="TRRPA02101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/send" resultref="/root/main/masterscholexp"/>
  94. </model>
  95. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  96. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  97. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  98. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  99. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  100. <script type="javascript" src="../../../mis/pubwelfmngtweb/js/RPS001.js"/>
  101. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  102. <script type="javascript">
  103. <![CDATA[
  104. // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
  105. function fInitialize() {
  106. model.removeNodeset("/root/main/masterscholexp/scholexplist");
  107. model.removeNodeset("/root/main/gvnoffcorddetl/gvnoffcorddetllist");
  108. model.resetInstanceNode("/root/main/send");
  109. model.resetInstanceNode("/root/main/gvnoffcorddetldata/gvnoffcorddetllist");
  110. model.refresh();
  111. }
  112. function fDeleteSelectedRows(grd,markonly) {
  113. var rowIdx;
  114. if (grd.selectedRows > 0) {
  115. var selectedRows = Array(grd.selectedRows);
  116. for( i=0; i<grd.selectedRows; i++ ) {
  117. selectedRows[i] = grd.selectedRow(i);
  118. }
  119. if (markonly != null && markonly == true) { // mark delete
  120. for(i=selectedRows.length-1; i>=0; i--) {
  121. rowIdx = selectedRows[i];
  122. if(grd.rowstatus(rowIdx) == 1 ) { // just inserted row
  123. grd.deleterow(rowIdx,false);
  124. } else {
  125. grd.addStatus(rowIdx,"delete");
  126. }
  127. }
  128. } else {
  129. for(i=selectedRows.length-1; i>=0; i--) {
  130. rowIdx = selectedRows[i];
  131. grd.deleterow(rowIdx,false);
  132. }
  133. }
  134. }
  135. }
  136. function fPrint() {
  137. model.makeNode("/root/main/send/selectinstnm");
  138. var selectInstnm="";
  139. if(cmb_instcd_s.value==""){
  140. selectInstnm="전체";
  141. }else{
  142. selectInstnm=cmb_instcd_s.label;
  143. }
  144. model.setValue("/root/main/send/selectinstnm", selectInstnm);
  145. exeReportPreview("RPRPA02100", "XMLSTR", "/root/main/send");
  146. }
  147. ]]>
  148. </script>
  149. </xhtml:head>
  150. <xhtml:body guideline="1,1350;1,1349;" style="margin-left:8; margin-right:8; ">
  151. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  152. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">학자금지급현황</caption>
  153. </group>
  154. <group id="group2" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
  155. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  156. <line id="line13" class="line_4" style="x1:1109px; y1:16px; x2:1109px; y2:38px; "/>
  157. <button id="button19" class="btn2_letter4" style="left:1130px; top:48px; width:64px; height:19px; ">
  158. <caption>엑셀저장</caption>
  159. <script type="javascript" ev:event="DOMActivate">
  160. <![CDATA[
  161. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  162. if (fileName != "") {
  163. grd_scholexplist.saveExcel(fileName, "SheetName", true, true, "", "");
  164. }
  165. ]]>
  166. </script>
  167. </button>
  168. <caption id="caption16" class="search_name" style="left:491px; top:19px; width:86px; height:17px; ">사원번호 :</caption>
  169. <caption id="caption3" class="search_name" style="left:772px; top:19px; width:83px; height:17px; ">자 녀 명 :</caption>
  170. <input id="ipt_chldrnnm" ref="/root/main/send/chldrnnm" class="input_default" style="left:856px; top:18px; width:80px; height:19px; ">
  171. <script type="javascript" ev:event="onkeydown">
  172. <![CDATA[
  173. if(event.keyCode == 13) {
  174. ipt_chldrnnm.value = ipt_chldrnnm.currentText;
  175. btn_search.dispatch("DOMActivate");
  176. }
  177. ]]>
  178. </script>
  179. </input>
  180. <caption id="caption14" class="tit_2" style="left:5px; top:54px; width:191px; height:13px; ">학자금지급현황</caption>
  181. <line id="line4" class="line_1" style="x1:0px; y1:69px; x2:1195px; y2:69px; "/>
  182. <datagrid id="grd_scholexplist" nodeset="/root/main/masterscholexp/scholexplist" caption="지급년월^부서^근무유닛^사원번호^사원명^자녀명^학력구분^학년^분기^학교명^입학금^수업료^기성회비^학생회비^지급금액^연말정산적용금액" colsep="^" colwidth="82, 100, 100, 70, 76, 66, 69, 41, 38, 130, 70, 80, 80, 70, 92, 105" dataheight="25" ellipsis="true" rowheader="update" rowheight="25" rowsep="|" tooltip="true" style="left:0px; top:74px; width:1195px; height:660px; text-align:center; ">
  183. <col ref="payappmm" type="output" visibility="hidden" format="yyyy-mm" style="text-align:center; "/>
  184. <col ref="deptnm" style="text-align:center; "/>
  185. <col ref="dutdeptnm" style="text-align:center; "/>
  186. <col ref="emplno" style="text-align:center; "/>
  187. <col ref="emplnm" style="text-align:center; "/>
  188. <col ref="chldrnnm" style="text-align:center; "/>
  189. <col ref="scholflagnm"/>
  190. <col ref="schoolyy" style="text-align:center; "/>
  191. <col ref="qurtyy"/>
  192. <col ref="schoolnm"/>
  193. <col ref="payadmischoolamt" format="#,###" style="text-align:right; "/>
  194. <col ref="payscho" format="#,###" style="text-align:right; "/>
  195. <col ref="payasctfeereliztpln" format="#,###" style="text-align:right; "/>
  196. <col ref="paystdasctfee" format="#,###" style="text-align:right; "/>
  197. <col ref="payamt" format="#,###" style="text-align:right; "/>
  198. <col ref="yyendappamt" visibility="hidden" format="#,###" style="text-align:right; "/>
  199. </datagrid>
  200. <button id="btn_search" class="btn1_letter2" navindex="8" style="left:1124px; top:17px; width:56px; height:22px; text-align:left; ">
  201. <caption>조회</caption>
  202. <script type="javascript" ev:event="DOMActivate">
  203. <![CDATA[
  204. var payappmm=ipt_payappmm.value;
  205. if(payappmm ==""){
  206. messageBox("지급년월은","I003");
  207. return;
  208. }
  209. submit("TRRPA02101");
  210. var cur_row=grd_scholexplist.rows;
  211. if(cur_row >1){
  212. grd_scholexplist.subtotalPosition = "below";//하단에 추가 above->상단에추가
  213. grd_scholexplist.subtotal("sum", 1, 11, "format:#,###; roundmode:round; roundpostion:2", "background-color:#ccffff; font-weight:bold;", 2, "총계", true);
  214. grd_scholexplist.subtotal("sum", 1, 12, "format:#,###; roundmode:round; roundpostion:2", "background-color:#ccffff; font-weight:bold;", 2, "총계", true);
  215. grd_scholexplist.subtotal("sum", 1, 13, "format:#,###; roundmode:round; roundpostion:2", "background-color:#ccffff; font-weight:bold;", 2, "총계", true);
  216. grd_scholexplist.subtotal("sum", 1, 14, "format:#,###; roundmode:round; roundpostion:2", "background-color:#ccffff; font-weight:bold;", 2, "총계", true);
  217. grd_scholexplist.subtotal("sum", 1, 15, "format:#,###; roundmode:round; roundpostion:2", "background-color:#ccffff; font-weight:bold;", 2, "총계", true);
  218. grd_scholexplist.subtotal("sum", 1, 16, "format:#,###; roundmode:round; roundpostion:2", "background-color:#ccffff; font-weight:bold;", 2, "총계", true);
  219. }
  220. grd_scholexplist.mergeCells = "bycol";
  221. grd_scholexplist.mergeCol(1) = false;
  222. grd_scholexplist.mergeCol(2) = true;
  223. grd_scholexplist.mergeCol(3) = true;
  224. grd_scholexplist.mergeCol(4) = true;
  225. grd_scholexplist.mergeCol(5) = true;
  226. grd_scholexplist.mergeCol(6) = false;
  227. grd_scholexplist.mergeCol(7) = false;
  228. grd_scholexplist.mergeCol(8) = false;
  229. grd_scholexplist.mergeCol(9) = false;
  230. grd_scholexplist.mergeCol(10) = false;
  231. grd_scholexplist.mergeCol(11) = false;
  232. grd_scholexplist.mergeCol(12) = false;
  233. grd_scholexplist.mergeCol(13) = false;
  234. grd_scholexplist.mergeCol(14) = false;
  235. grd_scholexplist.mergeCol(15) = false;
  236. grd_scholexplist.mergeCol(16) = false;
  237. grd_scholexplist.merge();
  238. ]]>
  239. </script>
  240. </button>
  241. <datagrid id="grd_gvnoffcorddetllist" nodeset="/root/main/gvnoffcorddetl/gvnoffcorddetllist" visibility="hidden" caption="사번^성명^기관^부서^직책명^입사일^교직구분" colsep="^" colwidth="68, 89, 88, 68, 68,90,90" dataheight="25" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:25px; top:140px; width:185px; height:81px; ">
  242. <col ref="emplno" type="output"/>
  243. <col ref="emplnm" type="output"/>
  244. </datagrid>
  245. <input id="ipt_emplnm" ref="/root/main/send/emplnm" class="input_essential" disabled="true" navindex="21" style="left:671px; top:18px; width:90px; height:19px; ">
  246. <script type="javascript" ev:event="xforms-value-changed">
  247. <![CDATA[
  248. var emplnm = ipt_emplnm.value;
  249. if (grd_gvnoffcorddetllist.rowStatus(grd_gvnoffcorddetllist.row) != "1") {
  250. misfGridIUD(grd_gvnoffcorddetllist, "A");
  251. model.copyNode(GVN_TARGET_NODE + "/gvnoffcorddetllist" ,GVN_SOURCE_NODE + "/gvnoffcorddetllist[" + (grd_gvnoffcorddetllist.row - grd_gvnoffcorddetllist.fixedRows + 1) + "]" );
  252. //rpbfGvnoffcordEditYNSet(grd_gvnoffcordcdlist.nodeset, GVN_TARGET_NODE + "/gvnoffcorddetllist");
  253. }
  254. model.setValue(GVN_TARGET_NODE + "/gvnoffcorddetllist/emplnm", emplnm);
  255. /* 인사정보 Validation Check
  256. misfValidationCheck(Validation 종류(부서코드, 공통코드, 우편번호...), 공통코드군, 자료를 받을 Instance Node(콤마로 분류해서 넘기면됨)) */
  257. var recv_list = "emplno,emplnm";
  258. rpbfValidationCheck("EMPLNM", recv_list);
  259. model.refresh();
  260. ]]>
  261. </script>
  262. </input>
  263. <input id="ipt_emplno" ref="/root/main/send/emplno" class="input_essential" navindex="20" style="left:576px; top:18px; width:69px; height:19px; ">
  264. <script type="javascript" ev:event="xforms-value-changed">
  265. <![CDATA[
  266. /* 인사정보 Validation Check
  267. misfValidationCheck(Validation 종류(부서코드, 공통코드, 우편번호...), 공통코드군, 자료를 받을 Instance Node(콤마로 분류해서 넘기면됨)) */
  268. var emplno = ipt_emplno.value;
  269. if (grd_gvnoffcorddetllist.rowStatus(grd_gvnoffcorddetllist.row) != "1") {
  270. misfGridIUD(grd_gvnoffcorddetllist, "A");
  271. model.copyNode(GVN_TARGET_NODE + "/gvnoffcorddetllist" ,GVN_SOURCE_NODE + "/gvnoffcorddetllist[" + (grd_gvnoffcorddetllist.row - grd_gvnoffcorddetllist.fixedRows + 1) + "]" );
  272. // rpbfGvnoffcordEditYNSet(grd_gvnoffcordcdlist.nodeset, GVN_TARGET_NODE + "/gvnoffcorddetllist");
  273. }
  274. model.setValue(GVN_TARGET_NODE + "/gvnoffcorddetllist/emplno", emplno);
  275. var recv_list = "emplno,emplnm";
  276. rpbfValidationCheck("EMPLNO", recv_list);
  277. model.refresh();
  278. //fInitialize()
  279. ipt_emplno_s.value=ipt_emplno.value;
  280. btn_search.dispatch("DOMActivate");
  281. ]]>
  282. </script>
  283. </input>
  284. <button id="btn_emplsearch" class="icon_search" style="left:651px; top:20px; width:16px; height:16px; ">
  285. <caption/>
  286. <script type="javascript" ev:event="DOMActivate">
  287. <![CDATA[
  288. /* 사원번호 Help 화면 Open
  289. misfOpenPopUpList(화면종류Code, OPEN하는 Control, 공통코드, 리턴받을 Instance명) */
  290. if (grd_gvnoffcorddetllist.rowStatus(grd_gvnoffcorddetllist.row) != "1") {
  291. misfGridIUD(grd_gvnoffcorddetllist, "A");
  292. model.copyNode(GVN_TARGET_NODE + "/gvnoffcorddetllist" ,GVN_SOURCE_NODE + "/gvnoffcorddetllist[" + (grd_gvnoffcorddetllist.row - grd_gvnoffcorddetllist.fixedRows + 1) + "]" );
  293. // rpbfGvnoffcordEditYNSet(grd_gvnoffcordcdlist.nodeset, GVN_TARGET_NODE + "/gvnoffcorddetllist");
  294. }
  295. var recv_list = "emplno,emplnm";
  296. rpbfOpenPopUpList("SPRPA03000", ipt_emplno, recv_list,"","N");
  297. model.refresh();
  298. // fInitialize()
  299. ipt_emplno_s.value=ipt_emplno.value;
  300. ]]>
  301. </script>
  302. </button>
  303. <input id="ipt_emplno_s" ref="/root/main/send/emplno" class="input_default" navindex="20" visibility="hidden" style="left:775px; top:40px; width:69px; height:19px; "/>
  304. <input id="ipt_payappmm" ref="/root/main/send/payappmm" class="input_s_essential" inputtype="date" format="yyyy-mm" style="left:305px; top:18px; width:75px; height:19px; ">
  305. <script type="javascript" ev:event="xforms-value-changed">
  306. <![CDATA[
  307. var instcd = cmb_instcd_s.value;
  308. if( getStringLength(ipt_payappmm.value) == "6" ) {
  309. misfComboInstCdListMulti("cmb_instcd_s",ipt_payappmm.value,"","Y");
  310. cmb_instcd_s.value = instcd;
  311. model.refresh();
  312. model.setFocus("ipt_paymmto");
  313. }
  314. ]]>
  315. </script>
  316. </input>
  317. <caption id="caption1" class="search_name" style="left:220px; top:19px; width:86px; height:17px; ">지급기간 :</caption>
  318. <select1 id="cmb_instcd_s" ref="/root/main/send/dutplceinst" class="combo_default" appearance="minimal" style="left:64px; top:18px; width:146px; height:19px; ">
  319. <choices>
  320. <itemset nodeset="/root/main/init">
  321. <label ref="cnstnm"/>
  322. <value ref="cnstcd"/>
  323. </itemset>
  324. </choices>
  325. </select1>
  326. <caption id="caption2" class="search_name" style="left:5px; top:19px; width:65px; height:17px; ">기관 :</caption>
  327. <caption id="caption4" class="search_name" style="left:945px; top:18px; width:86px; height:17px; ">조회기준 :</caption>
  328. <select1 id="cmb_reqgbn" ref="/root/main/send/reqgbn" class="combo_default" appearance="minimal" style="left:1035px; top:18px; width:70px; height:19px; ">
  329. <choices>
  330. <itemset nodeset="/root/init/combo1">
  331. <label ref="label"/>
  332. <value ref="value"/>
  333. </itemset>
  334. </choices>
  335. </select1>
  336. <input id="ipt_paymmto" ref="/root/main/send/paymmto" class="input_s_essential" inputtype="date" format="yyyy-mm" style="left:400px; top:18px; width:75px; height:19px; "/>
  337. <caption id="caption5" style="left:385px; top:20px; width:10px; height:20px; ">-</caption>
  338. </group>
  339. <group id="grp_btn" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
  340. <button id="button9" class="btn3_letter4" visibility="hidden" style="left:0px; top:3px; width:80px; height:22px; ">
  341. <caption>화면이동</caption>
  342. </button>
  343. <line id="line11" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  344. <button id="button10" class="btn4_letter3" style="left:1127px; top:3px; width:68px; height:22px; ">
  345. <caption>초기화</caption>
  346. <script type="javascript" ev:event="DOMActivate">
  347. <![CDATA[
  348. var updtdata = getGridUpdateData(grd_scholexplist);
  349. if (updtdata != "" ) {
  350. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 초기화 작업을","Q003");
  351. if (ret != 6) { // not OK
  352. return;
  353. }
  354. }
  355. fInitialize();
  356. ]]>
  357. </script>
  358. </button>
  359. <button id="button2" class="btn4_letter5" style="left:1033px; top:3px; width:92px; height:22px; ">
  360. <caption>내역서출력</caption>
  361. <script type="javascript" ev:event="DOMActivate">
  362. <![CDATA[
  363. fPrint();
  364. ]]>
  365. </script>
  366. </button>
  367. </group>
  368. </xhtml:body>
  369. </xhtml:html>