SMRWD00300_공제항목별금액등록.xrw 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804
  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. <deduitem>
  11. <deduitemlist/>
  12. <instpaydedulist/>
  13. <appinstpaydedulist/>
  14. </deduitem>
  15. <deduitemamt>
  16. <deduitemamtlist/>
  17. </deduitemamt>
  18. <fixdeduitemamt>
  19. <fixdeduitemamtlist/>
  20. </fixdeduitemamt>
  21. <titlelist>
  22. <deduitemnm/>
  23. <dedumm/>
  24. </titlelist>
  25. </main>
  26. <send>
  27. <deduitem>
  28. <instcd/>
  29. <dedumm/>
  30. <payitemcd/>
  31. <payitemnm/>
  32. <endyn/>
  33. <saldfrayflag>1</saldfrayflag>
  34. </deduitem>
  35. <deduitemamt>
  36. <instcd/>
  37. <deduitemcd/>
  38. <dedumm/>
  39. <payitemcd/>
  40. </deduitemamt>
  41. <save>
  42. <deduitemamtlist/>
  43. <deduitemlist/>
  44. <fixdeduitemamtlist/>
  45. <instpaydedulist/>
  46. </save>
  47. <fixdeduitemamt>
  48. <instcd/>
  49. <deduitemcd/>
  50. <payitemcd/>
  51. </fixdeduitemamt>
  52. </send>
  53. </root>
  54. </instance>
  55. <script type="javascript" ev:event="xforms-ready">
  56. <![CDATA[
  57. misfGridInit(grd_deduitemlist);
  58. misfGridInit(grd_deduitemamtlist);
  59. misfGridInit(grd_fixdeduitemamtlist);
  60. misfGridInit(grd_instpaydedulist);
  61. misfGridInit(grd_appinstpaydedulist);
  62. misfMsterDetailSet(grd_deduitemlist,null, "TRRWD00301" ,"Y");
  63. misfMsterDetailSet(grd_instpaydedulist,null, "TRRWD00301" ,"Y");
  64. misfMsterDetailSet(grd_appinstpaydedulist,null, "TRRWD00301" ,"N");
  65. misfMsterDetailSet(grd_deduitemamtlist,grd_deduitemlist, "TRRWD00302" ,"Y");
  66. misfMsterDetailSet(grd_fixdeduitemamtlist,grd_deduitemlist, "TRRWD00303" ,"Y");
  67. var curdate = getCurrentDate();
  68. model.setValue(ipt_dedumm.attribute("ref") , curdate.substr(0,6));
  69. model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
  70. //misfComboComCdList("Z0007", cmb_instcd);
  71. misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","N");
  72. model.refresh();
  73. ]]>
  74. </script>
  75. <script type="javascript">
  76. <![CDATA[
  77. //개인별 공제 금액 출력물 기본 Data 설정.
  78. function fPrintDataSet()
  79. {
  80. //공제항목 title set
  81. model.setValue("/root/main/titlelist/deduitemnm", grd_deduitemlist.valueMatrix(grd_deduitemlist.row, grd_deduitemlist.colRef("deduitemnm")));
  82. //공제월 set
  83. model.setValue("/root/main/titlelist/dedumm", ipt_dedumm.value);
  84. model.refresh();
  85. }
  86. ]]>
  87. </script>
  88. <submission id="TRRWD00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/deduitem" resultref="/root/main/deduitem"/>
  89. <submission id="TRRWD00302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/deduitemamt" resultref="/root/main/deduitemamt"/>
  90. <submission id="TXRWD00301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
  91. <submission id="TRRWD00303" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/fixdeduitemamt" resultref="/root/main/fixdeduitemamt"/>
  92. <submission id="TXRWD00302" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/deduitem" resultref="/root/hidden/temp"/>
  93. </model>
  94. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  95. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  96. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  97. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  98. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  99. <script type="javascript" src="../../../mis/paybaseinfomngtweb/js/RWC001.js"/>
  100. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  101. </xhtml:head>
  102. <xhtml:body guideline="1,580;">
  103. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  104. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">월별공제항목별공제사항등록</caption>
  105. </group>
  106. <group id="group2" scroll="auto" style="left:0px; top:38; width:1195px; height:744px; ">
  107. <switch id="switch1" style="left:385px; top:395px; width:805px; height:345px; ">
  108. <case id="case1" selected="true">
  109. <button id="btn_monthcopy" class="btn5_letter4" style="left:470px; top:5px; width:64px; height:19px; ">
  110. <caption>월별복사</caption>
  111. <script type="javascript" ev:event="DOMActivate">
  112. <![CDATA[
  113. var monthemplno = "";
  114. var emplno = "";
  115. var emplname = "";
  116. var frommm = "";
  117. var tomm = "";
  118. var dedumm = ipt_dedumm.value;
  119. var inputcheck = "N";
  120. for (var i = grd_fixdeduitemamtlist.fixedRows ; i < grd_fixdeduitemamtlist.rows; i++) {
  121. emplno = grd_fixdeduitemamtlist.valueMatrix(i, grd_fixdeduitemamtlist.colRef("emplno"));
  122. frommm = grd_fixdeduitemamtlist.valueMatrix(i, grd_fixdeduitemamtlist.colRef("dedufrommm"));
  123. tomm = grd_fixdeduitemamtlist.valueMatrix(i, grd_fixdeduitemamtlist.colRef("dedutomm"));
  124. for (var j = grd_deduitemamtlist.fixedRows; j < grd_deduitemamtlist.rows; j++) {
  125. monthemplno = grd_deduitemamtlist.valueMatrix(j, grd_deduitemamtlist.colRef("emplno"));
  126. if (emplno != null && monthemplno != null && monthemplno == emplno) {
  127. emplname = grd_deduitemamtlist.valueMatrix(j, grd_deduitemamtlist.colRef("emplnm"));
  128. messageBox(emplname + "는 이미 입력 되어있어서 복사 ", "E001");
  129. inputcheck = "Y";
  130. }
  131. }
  132. if (dedumm >= frommm && dedumm <= tomm && inputcheck != "Y" ) {
  133. grd_deduitemamtlist.subtotal("clear", 0, 0);
  134. grd_deduitemamtlist.refresh();
  135. misfGridIUD(grd_deduitemamtlist, "A");
  136. var emplnm = grd_fixdeduitemamtlist.valueMatrix(i, grd_fixdeduitemamtlist.colRef("emplnm"));
  137. var deduamt = grd_fixdeduitemamtlist.valueMatrix(i, grd_fixdeduitemamtlist.colRef("deduamt"));
  138. grd_deduitemamtlist.valueMatrix(grd_deduitemamtlist.row, grd_deduitemamtlist.colRef("emplno")) = emplno;
  139. grd_deduitemamtlist.valueMatrix(grd_deduitemamtlist.row, grd_deduitemamtlist.colRef("emplnm")) = emplnm;
  140. grd_deduitemamtlist.valueMatrix(grd_deduitemamtlist.row, grd_deduitemamtlist.colRef("deduamt")) = deduamt;
  141. }
  142. inputcheck = "N";
  143. }
  144. ]]>
  145. </script>
  146. </button>
  147. <button id="button1" class="btn2_letter4" style="left:735px; top:5px; width:64px; height:19px; ">
  148. <caption>엑셀저장</caption>
  149. <script type="javascript" ev:event="DOMActivate">
  150. <![CDATA[
  151. var fileName = window.fileDialog ("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  152. if (fileName != "")
  153. {
  154. grd_fixdeduitemamtlist.saveExcel(fileName);
  155. }
  156. ]]>
  157. </script>
  158. </button>
  159. <button id="btn_grdaddfixdeduitemamtlist" class="btn2_letter3" style="left:557px; top:5px; width:53px; height:19px; ">
  160. <caption>행추가</caption>
  161. <script type="javascript" ev:event="DOMActivate">
  162. <![CDATA[
  163. misfGridIUD(grd_fixdeduitemamtlist, "A");
  164. ]]>
  165. </script>
  166. </button>
  167. <caption id="caption5" class="tit_2" style="left:10px; top:10px; width:198px; height:13px; ">개인별 고정 공제 금액 List</caption>
  168. <button id="btn_saveexcel2" class="btn2_letter4" style="left:669px; top:5px; width:64px; height:19px; ">
  169. <caption>엑셀입력</caption>
  170. <script type="javascript" ev:event="DOMActivate">
  171. <![CDATA[
  172. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  173. grd_fixdeduitemamtlist.loadExcel(fileName, 1, true);
  174. //grd_paydedulist.deleteRow(grd_paydedulist.fixedRows);
  175. grd_fixdeduitemamtlist.refresh();
  176. var dedumm = grd_deduitemlist.valueMatrix(grd_deduitemlist.row, grd_deduitemlist.colRef("dedumm"));
  177. var instcd = grd_deduitemlist.valueMatrix(grd_deduitemlist.row, grd_deduitemlist.colRef("instcd"));
  178. var deduitemcd = grd_deduitemlist.valueMatrix(grd_deduitemlist.row, grd_deduitemlist.colRef("deduitemcd"));
  179. var payitemcd = grd_deduitemlist.valueMatrix(grd_deduitemlist.row, grd_deduitemlist.colRef("payitemcd"));
  180. for (var i = grd_fixdeduitemamtlist.fixedRows; i < grd_fixdeduitemamtlist.rows; i++) {
  181. grd_fixdeduitemamtlist.valueMatrix(i, grd_fixdeduitemamtlist.colRef("dedumm")) = dedumm;
  182. grd_fixdeduitemamtlist.valueMatrix(i, grd_fixdeduitemamtlist.colRef("instcd")) = instcd;
  183. grd_fixdeduitemamtlist.valueMatrix(i, grd_fixdeduitemamtlist.colRef("deduitemcd")) = deduitemcd;
  184. grd_fixdeduitemamtlist.valueMatrix(i, grd_fixdeduitemamtlist.colRef("payitemcd")) = payitemcd;
  185. grd_fixdeduitemamtlist.rowStatus(i) = 1;
  186. }
  187. model.refresh();
  188. ]]>
  189. </script>
  190. </button>
  191. <line id="line2" class="line_1" style="x1:3px; y1:25px; x2:801px; y2:25px; "/>
  192. <datagrid id="grd_fixdeduitemamtlist" nodeset="/root/main/fixdeduitemamt/fixdeduitemamtlist" caption="사원번호^성명^공제금액^공제기간^공제기간^비고^기관코드^공제항목코드^최초등록자ID^최초등록일시^최종수정자ID^최종수정일시|사원번호^성명^공제금액^시작월^종료월^비고^기관코드^공제항목코드^최초등록자ID^최초등록일시^최종수정자ID^최종수정일시" colsep="^" colwidth="85, 104, 112, 97, 96, 275, 25, 32, 34, 35, 26, 28" dataheight="25" explorerbar="sort" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:3px; top:30px; width:800px; height:305px; ">
  193. <col ref="emplno" type="inputbutton"/>
  194. <col ref="emplnm"/>
  195. <col ref="deduamt" type="input" format="#,###" style="text-align:right; vertical-align:middle; "/>
  196. <col ref="dedufrommm" type="inputdate" format="yyyy-mm"/>
  197. <col ref="dedutomm" type="inputdate" format="yyyy-mm"/>
  198. <col ref="cmt" type="input"/>
  199. <col ref="instcd" visibility="hidden"/>
  200. <col ref="deduitemcd" visibility="hidden"/>
  201. <col ref="fstrgstrid" visibility="hidden"/>
  202. <col ref="fstrgstdt" visibility="hidden"/>
  203. <col ref="lastupdtrid" visibility="hidden"/>
  204. <col ref="lastupdtdt" visibility="hidden"/>
  205. <col ref="payitemcd" type="output" visibility="hidden"/>
  206. <script type="javascript" ev:event="onbuttonclick">
  207. <![CDATA[
  208. if (grd_fixdeduitemamtlist.colAttribute(grd_fixdeduitemamtlist.col,"ref") == "emplno" ) { //계산기준코드
  209. var recv_list = "emplno,emplnm";
  210. rpbfOpenPopUpList("SPRPB00101", grd_fixdeduitemamtlist, recv_list,"","N");
  211. model.refresh();
  212. }
  213. ]]>
  214. </script>
  215. <script type="javascript" ev:event="xforms-value-changed">
  216. <![CDATA[
  217. if (grd_fixdeduitemamtlist.colAttribute(grd_fixdeduitemamtlist.col,"ref") == "emplno" ) { //계산기준코드
  218. var recv_list = "emplno,emplnm";
  219. misfValidationCheck("01-1", "", recv_list);
  220. model.refresh();
  221. }
  222. if (grd_fixdeduitemamtlist.colAttribute(grd_fixdeduitemamtlist.col,"ref") == "dedufrommm" ) { //계산기준코드
  223. var dedufrommm = grd_fixdeduitemamtlist.valueMatrix(grd_fixdeduitemamtlist.row, grd_fixdeduitemamtlist.colRef("dedufrommm"));
  224. if (dedufrommm.length > 6 ) {
  225. grd_fixdeduitemamtlist.valueMatrix(grd_fixdeduitemamtlist.row, grd_fixdeduitemamtlist.colRef("dedufrommm")) = dedufrommm.substr(0,6);
  226. }
  227. model.refresh();
  228. }
  229. if (grd_fixdeduitemamtlist.colAttribute(grd_fixdeduitemamtlist.col,"ref") == "dedutomm" ) { //계산기준코드
  230. var dedutomm = grd_fixdeduitemamtlist.valueMatrix(grd_fixdeduitemamtlist.row, grd_fixdeduitemamtlist.colRef("dedutomm"));
  231. if (dedutomm.length > 6 ) {
  232. grd_fixdeduitemamtlist.valueMatrix(grd_fixdeduitemamtlist.row, grd_fixdeduitemamtlist.colRef("dedutomm")) = dedutomm.substr(0,6);
  233. }
  234. model.refresh();
  235. }
  236. ]]>
  237. </script>
  238. <script type="javascript" ev:event="onaftersort">
  239. <![CDATA[
  240. grd_fixdeduitemamtlist.gridToInstance();
  241. ]]>
  242. </script>
  243. </datagrid>
  244. <button id="btn_grddelfixdeduitemamtlist" class="btn2_letter3" style="left:613px; top:5px; width:53px; height:19px; ">
  245. <caption>행삭제</caption>
  246. <script type="javascript" ev:event="DOMActivate">
  247. <![CDATA[
  248. misfGridIUD(grd_fixdeduitemamtlist, "D");
  249. ]]>
  250. </script>
  251. </button>
  252. </case>
  253. <case id="case2">
  254. <button id="button4" class="btn2_letter4" style="left:735px; top:5px; width:64px; height:19px; ">
  255. <caption>엑셀저장</caption>
  256. <script type="javascript" ev:event="DOMActivate">
  257. <![CDATA[
  258. var fileName = window.fileDialog ("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  259. if (fileName != "")
  260. {
  261. grd_instpaydedulist.saveExcel(fileName);
  262. }
  263. ]]>
  264. </script>
  265. </button>
  266. <button id="btn_addinstpaydedulist" class="btn2_letter3" style="left:623px; top:5px; width:53px; height:19px; ">
  267. <caption>행추가</caption>
  268. <script type="javascript" ev:event="DOMActivate">
  269. <![CDATA[
  270. misfGridIUD(grd_instpaydedulist, "A");
  271. ]]>
  272. </script>
  273. </button>
  274. <caption id="caption2" class="tit_2" style="left:10px; top:10px; width:198px; height:14px; ">타기관 신청 List</caption>
  275. <line id="line3" class="line_1" style="x1:3px; y1:25px; x2:801px; y2:25px; "/>
  276. <datagrid id="grd_instpaydedulist" nodeset="/root/main/deduitem/instpaydedulist" caption="신청기관^공제항목^공제항목^사원번호^성명^공제금액^비고^기관코드^공제월^확정여부^신청기관^공제항목old^사원번호old|신청기관^공제항목^공제항목^사원번호^성명^공제금액^비고^기관코드^공제월^확정여부^신청기관^공제항목old^사원번호old" colsep="^" colwidth="120, 100, 20, 89, 80, 100, 247, 25, 35, 28, 30, 33, 38" dataheight="25" explorerbar="sort" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:3px; top:30px; width:800px; height:305px; ">
  277. <col ref="appinstnm" type="output"/>
  278. <col ref="deduitemnm"/>
  279. <col ref="deduitemcd" type="inputbutton"/>
  280. <col ref="emplno" type="inputbutton" style="text-align:right; vertical-align:middle; "/>
  281. <col ref="emplnm" type="output"/>
  282. <col ref="deduamt" type="input" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  283. <col ref="cmt" type="input"/>
  284. <col ref="instcd" visibility="hidden"/>
  285. <col ref="dedumm" visibility="hidden"/>
  286. <col ref="endyn" visibility="hidden"/>
  287. <col ref="appinstcd" visibility="hidden"/>
  288. <col ref="olddeduitemcd" visibility="hidden"/>
  289. <col ref="oldemplno" visibility="hidden"/>
  290. <script type="javascript" ev:event="onbuttonclick">
  291. <![CDATA[
  292. if (grd_instpaydedulist.colAttribute(grd_instpaydedulist.col,"ref") == "emplno" ) { //계산기준코드
  293. var recv_list = "emplno,emplnm";
  294. rpbfOpenPopUpList("SPRPB00101", grd_instpaydedulist, recv_list,"","N");
  295. model.refresh();
  296. }
  297. if (grd_instpaydedulist.col == grd_instpaydedulist.colRef("deduitemcd")) {
  298. misfOpenPopUpList("13", grd_instpaydedulist,"", "deduitemcd,deduitemnm","ipt_saldfrayflag") ;
  299. model.refresh();
  300. }
  301. ]]>
  302. </script>
  303. <script type="javascript" ev:event="xforms-value-changed">
  304. <![CDATA[
  305. if (grd_instpaydedulist.colAttribute(grd_instpaydedulist.col,"ref") == "emplno" ) { //계산기준코드
  306. var recv_list = "emplno,emplnm";
  307. misfValidationCheck("01-1", "", recv_list);
  308. model.refresh();
  309. }
  310. ]]>
  311. </script>
  312. <script type="javascript" ev:event="onaftersort">
  313. <![CDATA[
  314. grd_instpaydedulist.gridToInstance();
  315. ]]>
  316. </script>
  317. </datagrid>
  318. <button id="btn_delinstpaydedulist" class="btn2_letter3" style="left:679px; top:5px; width:53px; height:19px; ">
  319. <caption>행삭제</caption>
  320. <script type="javascript" ev:event="DOMActivate">
  321. <![CDATA[
  322. misfGridIUD(grd_instpaydedulist, "D");
  323. ]]>
  324. </script>
  325. </button>
  326. </case>
  327. <case id="case3">
  328. <button id="button7" class="btn2_letter4" style="left:735px; top:5px; width:64px; height:19px; ">
  329. <caption>엑셀저장</caption>
  330. <script type="javascript" ev:event="DOMActivate">
  331. <![CDATA[
  332. var fileName = window.fileDialog ("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  333. if (fileName != "")
  334. {
  335. grd_appinstpaydedulist.saveExcel(fileName);
  336. }
  337. ]]>
  338. </script>
  339. </button>
  340. <caption id="caption3" class="tit_2" style="left:10px; top:10px; width:198px; height:14px; ">타기관 신청 List</caption>
  341. <line id="line4" class="line_1" style="x1:3px; y1:25px; x2:801px; y2:25px; "/>
  342. <datagrid id="grd_appinstpaydedulist" nodeset="/root/main/deduitem/appinstpaydedulist" caption="요청기관^공제항목^사원번호^성명^공제금액^비고^기관코드^공제월^확정여부^신청기관^공제항목old^사원번호old|요청기관^공제항목^사원번호^성명^공제금액^비고^기관코드^공제월^확정여부^신청기관^공제항목old^사원번호old" colsep="^" colwidth="120, 100, 89, 80, 100, 247, 25, 35, 28, 30, 33, 38" dataheight="25" explorerbar="sort" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:3px; top:30px; width:800px; height:305px; ">
  343. <col ref="instnm" type="output"/>
  344. <col ref="deduitemnm"/>
  345. <col ref="emplno" type="output" style="text-align:right; vertical-align:middle; "/>
  346. <col ref="emplnm" type="output"/>
  347. <col ref="deduamt" type="output" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  348. <col ref="cmt" type="output"/>
  349. <col ref="instcd" visibility="hidden"/>
  350. <col ref="dedumm" visibility="hidden"/>
  351. <col ref="endyn" visibility="hidden"/>
  352. <col ref="appinstcd" visibility="hidden"/>
  353. <col ref="olddeduitemcd" visibility="hidden"/>
  354. <col ref="oldemplno" visibility="hidden"/>
  355. <script type="javascript" ev:event="onbuttonclick">
  356. <![CDATA[
  357. if (grd_fixdeduitemamtlist.colAttribute(grd_fixdeduitemamtlist.col,"ref") == "emplno" ) { //계산기준코드
  358. var recv_list = "emplno,emplnm";
  359. rpbfOpenPopUpList("SPRPB00101", grd_fixdeduitemamtlist, recv_list,"","N");
  360. model.refresh();
  361. }
  362. ]]>
  363. </script>
  364. <script type="javascript" ev:event="xforms-value-changed">
  365. <![CDATA[
  366. if (grd_fixdeduitemamtlist.colAttribute(grd_fixdeduitemamtlist.col,"ref") == "emplno" ) { //계산기준코드
  367. var recv_list = "emplno,emplnm";
  368. misfValidationCheck("01-1", "", recv_list);
  369. model.refresh();
  370. }
  371. if (grd_fixdeduitemamtlist.colAttribute(grd_fixdeduitemamtlist.col,"ref") == "dedufrommm" ) { //계산기준코드
  372. var dedufrommm = grd_fixdeduitemamtlist.valueMatrix(grd_fixdeduitemamtlist.row, grd_fixdeduitemamtlist.colRef("dedufrommm"));
  373. if (dedufrommm.length > 6 ) {
  374. grd_fixdeduitemamtlist.valueMatrix(grd_fixdeduitemamtlist.row, grd_fixdeduitemamtlist.colRef("dedufrommm")) = dedufrommm.substr(0,6);
  375. }
  376. model.refresh();
  377. }
  378. if (grd_fixdeduitemamtlist.colAttribute(grd_fixdeduitemamtlist.col,"ref") == "dedutomm" ) { //계산기준코드
  379. var dedutomm = grd_fixdeduitemamtlist.valueMatrix(grd_fixdeduitemamtlist.row, grd_fixdeduitemamtlist.colRef("dedutomm"));
  380. if (dedutomm.length > 6 ) {
  381. grd_fixdeduitemamtlist.valueMatrix(grd_fixdeduitemamtlist.row, grd_fixdeduitemamtlist.colRef("dedutomm")) = dedutomm.substr(0,6);
  382. }
  383. model.refresh();
  384. }
  385. ]]>
  386. </script>
  387. <script type="javascript" ev:event="onaftersort">
  388. <![CDATA[
  389. grd_fixdeduitemamtlist.gridToInstance();
  390. ]]>
  391. </script>
  392. </datagrid>
  393. </case>
  394. </switch>
  395. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  396. <button id="btn_search" class="btn1_letter2" style="left:1130px; top:16px; width:56px; height:22px; ">
  397. <caption>조회</caption>
  398. <script type="javascript" ev:event="DOMActivate">
  399. <![CDATA[
  400. if ( !isRequiredControls("cmb_instcd" , "ipt_dedumm", "ipt_payitemcd") ) {
  401. return false;
  402. }
  403. misfMsterDetailRetrieve();
  404. if (grd_deduitemlist.rows - grd_deduitemlist.fixedRows > 0 && grd_deduitemlist.valueMatrix(grd_deduitemlist.fixedRows, grd_deduitemlist.colRef("endyn")) == "Y") {
  405. btn_confirm.disabled = true;
  406. btn_cancle.disabled = false;
  407. btn_grdadddeduitemamtlist.disabled = true;
  408. btn_grddeldeduitemamtlist.disabled = true;
  409. btn_inputexcel.disabled = true;
  410. btn_save.disabled = true;
  411. }
  412. if (grd_deduitemlist.rows - grd_deduitemlist.fixedRows > 0 && grd_deduitemlist.valueMatrix(grd_deduitemlist.fixedRows,grd_deduitemlist.colRef("endyn")) != "Y" ) {
  413. btn_confirm.disabled = false;
  414. btn_cancle.disabled = true;
  415. btn_grdadddeduitemamtlist.disabled = false;
  416. btn_grddeldeduitemamtlist.disabled = false;
  417. btn_inputexcel.disabled = false;
  418. btn_save.disabled = false;
  419. }
  420. ]]>
  421. </script>
  422. </button>
  423. <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:38px; "/>
  424. <caption id="caption278" class="tit_2" style="left:5px; top:55px; width:157px; height:14px; ">공제항목List</caption>
  425. <line id="line207" class="line_1" style="x1:0px; y1:70px; x2:380px; y2:70px; "/>
  426. <line id="line1" class="line_1" style="x1:385px; y1:70px; x2:1195px; y2:70px; "/>
  427. <caption id="caption1" class="tit_2" style="left:385px; top:55px; width:198px; height:13px; ">개인별 공제 금액 List</caption>
  428. <button id="btn_grdadddeduitemamtlist" class="btn2_letter3" style="left:951px; top:50px; width:53px; height:19px; ">
  429. <caption>행추가</caption>
  430. <script type="javascript" ev:event="DOMActivate">
  431. <![CDATA[
  432. if ( !isRequiredControls("cmb_instcd" , "ipt_dedumm", "ipt_payitemcd") ) {
  433. return false;
  434. }
  435. grd_deduitemamtlist.subtotal("clear", 0, 0);
  436. grd_deduitemamtlist.refresh();
  437. misfGridIUD(grd_deduitemamtlist, "A");
  438. ]]>
  439. </script>
  440. </button>
  441. <button id="btn_inputexcel" class="btn2_letter4" style="left:1063px; top:50px; width:64px; height:19px; ">
  442. <caption>엑셀입력</caption>
  443. <script type="javascript" ev:event="DOMActivate">
  444. <![CDATA[
  445. if ( !isRequiredControls("cmb_instcd" , "ipt_dedumm", "ipt_payitemcd") ) {
  446. return false;
  447. }
  448. grd_deduitemamtlist.subtotal("clear", 0, 0);
  449. grd_deduitemamtlist.refresh();
  450. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  451. grd_deduitemamtlist.loadExcel(fileName, 1, true);
  452. //grd_paydedulist.deleteRow(grd_paydedulist.fixedRows);
  453. grd_deduitemamtlist.refresh();
  454. var dedumm = grd_deduitemlist.valueMatrix(grd_deduitemlist.row, grd_deduitemlist.colRef("dedumm"));
  455. var instcd = grd_deduitemlist.valueMatrix(grd_deduitemlist.row, grd_deduitemlist.colRef("instcd"));
  456. var deduitemcd = grd_deduitemlist.valueMatrix(grd_deduitemlist.row, grd_deduitemlist.colRef("deduitemcd"));
  457. var payitemcd = grd_deduitemlist.valueMatrix(grd_deduitemlist.row, grd_deduitemlist.colRef("payitemcd"));
  458. for (var i = grd_deduitemamtlist.fixedRows; i < grd_deduitemamtlist.rows; i++) {
  459. grd_deduitemamtlist.valueMatrix(i, grd_deduitemamtlist.colRef("dedumm")) = dedumm;
  460. grd_deduitemamtlist.valueMatrix(i, grd_deduitemamtlist.colRef("instcd")) = instcd;
  461. grd_deduitemamtlist.valueMatrix(i, grd_deduitemamtlist.colRef("deduitemcd")) = deduitemcd;
  462. grd_deduitemamtlist.valueMatrix(i, grd_deduitemamtlist.colRef("payitemcd")) = payitemcd;
  463. grd_deduitemamtlist.rowStatus(i) = 1;
  464. }
  465. model.refresh();
  466. ]]>
  467. </script>
  468. </button>
  469. <button id="btn_grddeldeduitemamtlist" class="btn2_letter3" style="left:1007px; top:50px; width:53px; height:19px; ">
  470. <caption>행삭제</caption>
  471. <script type="javascript" ev:event="DOMActivate">
  472. <![CDATA[
  473. if (grd_deduitemamtlist.valueMatrix(grd_deduitemamtlist.row, grd_deduitemamtlist.colRef("endyn")) == "Y") {
  474. messageBox("마감이 되어서 삭제 ", "E001");
  475. return;
  476. }
  477. // grd_deduitemamtlist.subtotal("clear", 0, 0);
  478. // grd_deduitemamtlist.refresh();
  479. misfGridIUD(grd_deduitemamtlist, "D");
  480. ]]>
  481. </script>
  482. </button>
  483. <select1 id="cmb_instcd" ref="/root/send/deduitem/instcd" class="combo_s_essential" appearance="minimal" style="left:64px; top:17px; width:125px; height:19px; ">
  484. <choices>
  485. <itemset>
  486. <label/>
  487. <value/>
  488. </itemset>
  489. </choices>
  490. </select1>
  491. <caption id="cap_instcd" class="search_name" style="left:5px; top:18px; width:61px; height:17px; ">기관:</caption>
  492. <datagrid id="grd_deduitemlist" nodeset="/root/main/deduitem/deduitemlist" caption="공제항목코드^공제항목명^급여항목코드^기관코드^최초등록자ID^최초등록일시^최종수정자ID^최종수정일시^공제월^확정여부|공제항목코드^공제항목명^급여항목코드^기관코드^최초등록자ID^최초등록일시^최종수정자ID^최종수정일시^공제월^확정여부" colsep="^" colwidth="104, 228, 41, 35, 39, 49, 43, 47, 36, 35" dataheight="25" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:75px; width:380px; height:665px; ">
  493. <col ref="deduitemcd" type="input"/>
  494. <col ref="deduitemnm" type="input"/>
  495. <col ref="payitemcd" type="output" visibility="hidden"/>
  496. <col ref="instcd" visibility="hidden"/>
  497. <col ref="fstrgstrid" visibility="hidden"/>
  498. <col ref="fstrgstdt" visibility="hidden"/>
  499. <col ref="lastupdtrid" visibility="hidden"/>
  500. <col ref="lastupdtdt" visibility="hidden"/>
  501. <col ref="dedumm" visibility="hidden"/>
  502. <col ref="endyn" visibility="hidden"/>
  503. <script type="javascript" ev:event="onrowchanged">
  504. <![CDATA[
  505. misfMsterDetailRetrieve();
  506. grd_deduitemamtlist.subtotal("clear", 0, 0);
  507. grd_deduitemamtlist.subtotal("count",-1 , grd_deduitemamtlist.colRef("emplno"), "format:#,###; ", "background-color:#ffff99; font-weight:bold; ", 1, "합계");
  508. grd_deduitemamtlist.subtotal("sum",-1 , grd_deduitemamtlist.colRef("deduamt"), "format:#,###; ", "background-color:#ffff99; font-weight:bold; ", 1, "합계");
  509. ]]>
  510. </script>
  511. </datagrid>
  512. <datagrid id="grd_deduitemamtlist" nodeset="/root/main/deduitemamt/deduitemamtlist" caption="사원번호^성명^공제금액^비고^퇴사일^급여기관^부서^공제일자^기관코드^공제항목코드^최초등록자ID^최초등록일시^최종수정자ID^최종수정일시^입력금액^차이액^마감|사원번호^성명^공제금액^비고^퇴사일^급여기관^부서^공제일자^기관코드^공제항목코드^최초등록자ID^최초등록일시^최종수정자ID^최종수정일시^입력금액^차이액^마감" colsep="^" colwidth="85, 85, 100, 146, 96, 131, 124, 32, 31, 31, 26, 27, 41, 35, 37, 40, 43, 100" dataheight="25" explorerbar="sort" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:385px; top:75px; width:810px; height:295px; ">
  513. <col ref="emplno" type="inputbutton"/>
  514. <col ref="emplnm"/>
  515. <col ref="deduamt" type="input" format="#,###" style="text-align:right; vertical-align:middle; "/>
  516. <col ref="cmt" type="input"/>
  517. <col disabled="true" ref="retiredd" type="inputdate"/>
  518. <col ref="payinstnm"/>
  519. <col ref="deptnm"/>
  520. <col ref="dedumm" visibility="hidden"/>
  521. <col ref="instcd" visibility="hidden"/>
  522. <col ref="deduitemcd" visibility="hidden"/>
  523. <col ref="fstrgstrid" visibility="hidden"/>
  524. <col ref="fstrgstdt" visibility="hidden"/>
  525. <col ref="lastupdtrid" visibility="hidden"/>
  526. <col ref="lastupdtdt" visibility="hidden"/>
  527. <col ref="inputamt" visibility="hidden"/>
  528. <col ref="termamt" visibility="hidden"/>
  529. <col ref="payitemcd" type="output" visibility="hidden"/>
  530. <col ref="endyn" visibility="hidden"/>
  531. <script type="javascript" ev:event="onbuttonclick">
  532. <![CDATA[
  533. if (grd_deduitemamtlist.colAttribute(grd_deduitemamtlist.col,"ref") == "emplno" ) { //계산기준코드
  534. var recv_list = "emplno,emplnm";
  535. rpbfOpenPopUpList("SPRPB00101", grd_deduitemamtlist, recv_list,"","N");
  536. model.refresh();
  537. }
  538. ]]>
  539. </script>
  540. <script type="javascript" ev:event="xforms-value-changed">
  541. <![CDATA[
  542. if (grd_deduitemamtlist.colAttribute(grd_deduitemamtlist.col,"ref") == "emplno" ) { //계산기준코드
  543. var recv_list = "emplno,emplnm";
  544. misfValidationCheck("01-1", "", recv_list);
  545. model.refresh();
  546. }
  547. // else if (grd_deduitemamtlist.colAttribute(grd_deduitemamtlist.col,"ref") == "inputamt" ) { //계산기준코드
  548. // var inputamt = grd_deduitemamtlist.valueMatrix(grd_deduitemamtlist.row, grd_deduitemamtlist.colRef("inputamt"));
  549. // var deduamt = grd_deduitemamtlist.valueMatrix(grd_deduitemamtlist.row, grd_deduitemamtlist.colRef("deduamt"));
  550. //
  551. // if (deduamt == null) {
  552. // deduamt = 0;
  553. // }
  554. //
  555. // if (inputamt == null) {
  556. // inputamt = 0;
  557. // }
  558. //
  559. //
  560. // grd_deduitemamtlist.valueMatrix(grd_deduitemamtlist.row, grd_deduitemamtlist.colRef("termamt")) = parseInt(inputamt) - parseInt(deduamt);
  561. //
  562. // }
  563. // else if (grd_deduitemamtlist.colAttribute(grd_deduitemamtlist.col,"ref") == "deduamt" ) { //계산기준코드
  564. // var inputamt = grd_deduitemamtlist.valueMatrix(grd_deduitemamtlist.row, grd_deduitemamtlist.colRef("inputamt"));
  565. // var deduamt = grd_deduitemamtlist.valueMatrix(grd_deduitemamtlist.row, grd_deduitemamtlist.colRef("deduamt"));
  566. //
  567. // if (deduamt == null) {
  568. // deduamt = 0;
  569. // }
  570. //
  571. //
  572. // if (inputamt == null) {
  573. // inputamt = 0;
  574. // }
  575. //
  576. // grd_deduitemamtlist.valueMatrix(grd_deduitemamtlist.row, grd_deduitemamtlist.colRef("termamt")) = parseInt(inputamt) - parseInt(deduamt);
  577. // }
  578. ]]>
  579. </script>
  580. <script type="javascript" ev:event="onaftersort">
  581. <![CDATA[
  582. grd_deduitemamtlist.gridToInstance();
  583. ]]>
  584. </script>
  585. </datagrid>
  586. <caption id="cap_dedumm" class="search_name" style="left:215px; top:18px; width:75px; height:17px; ">공제월 :</caption>
  587. <input id="ipt_dedumm" ref="/root/send/deduitem/dedumm" class="input_s_essential" inputtype="date" format="yyyy-mm" style="left:290px; top:18px; width:95px; height:19px; "/>
  588. <button id="btn_grddeldeduitemlist" class="btn2_letter3" style="left:324px; top:49px; width:53px; height:19px; ">
  589. <caption>행삭제</caption>
  590. <script type="javascript" ev:event="DOMActivate">
  591. <![CDATA[
  592. misfGridIUD(grd_deduitemlist, "D");
  593. ]]>
  594. </script>
  595. </button>
  596. <button id="btn_grdadddeduitemlist" class="btn2_letter3" style="left:268px; top:49px; width:53px; height:19px; ">
  597. <caption>행추가</caption>
  598. <script type="javascript" ev:event="DOMActivate">
  599. <![CDATA[
  600. if ( !isRequiredControls("cmb_instcd" , "ipt_dedumm", "ipt_payitemcd") ) {
  601. return false;
  602. }
  603. misfGridIUD(grd_deduitemlist, "A");
  604. ]]>
  605. </script>
  606. </button>
  607. <button id="btn_payitemcd" class="icon_search" style="left:603px; top:18px; width:16px; height:16px; ">
  608. <caption/>
  609. <script type="javascript" ev:event="DOMActivate">
  610. <![CDATA[
  611. var recv_list = "payitemcd,payitemnm";
  612. misfOpenPopUpList("13", ipt_payitemcd, "", recv_list, "ipt_saldfrayflag");
  613. model.refresh();
  614. if (model.getValue(ipt_payitemcd.attribute("ref")).length > 0) {
  615. btn_search.dispatch("DOMActivate");
  616. }
  617. ]]>
  618. </script>
  619. </button>
  620. <input id="ipt_payitemcd" ref="/root/send/deduitem/payitemcd" class="input_default" style="left:511px; top:18px; width:87px; height:19px; ">
  621. <script type="javascript" ev:event="xforms-value-changed">
  622. <![CDATA[
  623. var recv_list = "payitemcd,payitemnm";
  624. var saldfrayflag = "1";
  625. var paydeduflag = "2";
  626. rwcfValidationCheck("PAYITEM",saldfrayflag, paydeduflag, recv_list);
  627. model.refresh();
  628. if (model.getValue(ipt_payitemcd.attribute("ref")).length > 0) {
  629. btn_search.dispatch("DOMActivate");
  630. }
  631. ]]>
  632. </script>
  633. </input>
  634. <input id="ipt_payitemnm" ref="/root/send/deduitem/payitemnm" class="input_default" style="left:622px; top:18px; width:141px; height:19px; ">
  635. <script type="javascript" ev:event="xforms-value-changed">
  636. <![CDATA[
  637. var recv_list = "payitemcd,payitemnm";
  638. var saldfrayflag = "1";
  639. var paydeduflag = "2";
  640. rwcfValidationCheck("PAYITEM",saldfrayflag, paydeduflag, recv_list);
  641. model.refresh();
  642. if (model.getValue(ipt_payitemcd.attribute("ref")).length > 0) {
  643. btn_search.dispatch("DOMActivate");
  644. }
  645. ]]>
  646. </script>
  647. </input>
  648. <caption id="cap_payitemcd" class="search_name" style="left:425px; top:18px; width:86px; height:17px; ">급여항목 :</caption>
  649. <button id="btn_saveexcel" class="btn2_letter4" style="left:1129px; top:50px; width:64px; height:19px; ">
  650. <caption>엑셀저장</caption>
  651. <script type="javascript" ev:event="DOMActivate">
  652. <![CDATA[
  653. var fileName = window.fileDialog ("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  654. if (fileName != "")
  655. {
  656. grd_deduitemamtlist.saveExcel(fileName);
  657. }
  658. ]]>
  659. </script>
  660. </button>
  661. <button id="btn_print" class="btn5_letter2" style="left:221px; top:49px; width:42px; height:19px; ">
  662. <caption>출력</caption>
  663. <script type="javascript" ev:event="DOMActivate">
  664. <![CDATA[
  665. fPrintDataSet();
  666. exeReportPreview("RPRWD00301", "XMLSTR");
  667. ]]>
  668. </script>
  669. </button>
  670. <button id="button2" class="btn_sw" group="tab" style="left:487px; top:375px; width:100px; height:22px; ">
  671. <caption>타기관신청</caption>
  672. <script type="javascript" ev:event="DOMActivate">
  673. <![CDATA[
  674. model.toggle("case2");
  675. ]]>
  676. </script>
  677. </button>
  678. <button id="button3" class="btn_sw" group="tab" style="left:589px; top:375px; width:100px; height:22px; ">
  679. <caption>요청자료</caption>
  680. <script type="javascript" ev:event="DOMActivate">
  681. <![CDATA[
  682. model.toggle("case3");
  683. ]]>
  684. </script>
  685. </button>
  686. <button id="btn_eatsel" class="btn_sw" group="tab" selected="true" style="left:385px; top:375px; width:100px; height:22px; ">
  687. <caption>고정공제</caption>
  688. <script type="javascript" ev:event="DOMActivate">
  689. <![CDATA[
  690. model.toggle("case1");
  691. ]]>
  692. </script>
  693. </button>
  694. <input id="ipt_saldfrayflag" ref="/root/send/deduitem/saldfrayflag" visibility="hidden" style="left:810px; top:15px; width:100px; height:19px; "/>
  695. </group>
  696. <group id="grp_btn" scroll="auto" style="left:0px; top:12; width:1195px; height:27px; ">
  697. <button id="btn_save" class="btn4_letter2" style="left:1134px; top:2px; width:56px; height:22px; ">
  698. <caption>저장</caption>
  699. <script type="javascript" ev:event="DOMActivate">
  700. <![CDATA[
  701. misfSave("TXRWD00301");
  702. ]]>
  703. </script>
  704. </button>
  705. <button id="button35" class="btn4_letter3" style="left:1064px; top:2px; width:68px; height:22px; ">
  706. <caption>초기화</caption>
  707. </button>
  708. <line id="line9" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  709. <button id="btn_confirm" class="btn4_letter4" style="left:858px; top:2px; width:80px; height:22px; ">
  710. <caption>최종확정</caption>
  711. <script type="javascript" ev:event="DOMActivate">
  712. <![CDATA[
  713. model.setValue("/root/send/deduitem/endyn","Y");
  714. submit("TXRWD00302");
  715. btn_search.dispatch("DOMActivate");
  716. ]]>
  717. </script>
  718. </button>
  719. <button id="btn_cancle" class="btn4_letter6" disabled="true" style="left:941px; top:2px; width:80px; height:22px; ">
  720. <caption>최종확정취소</caption>
  721. <script type="javascript" ev:event="DOMActivate">
  722. <![CDATA[
  723. model.setValue("/root/send/deduitem/endyn","N");
  724. submit("TXRWD00302");
  725. btn_search.dispatch("DOMActivate");
  726. ]]>
  727. </script>
  728. </button>
  729. </group>
  730. </xhtml:body>
  731. </xhtml:html>