SMRAT00400_근로소득관리.xrw 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853
  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>Untitle</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <list>
  11. <orchlist/>
  12. </list>
  13. <sumlist>
  14. <orchsumlist/>
  15. </sumlist>
  16. <printlist>
  17. <fstpage/>
  18. <secpage/>
  19. </printlist>
  20. </main>
  21. <send>
  22. <retrparams>
  23. <instcd/>
  24. <payinst/>
  25. <frdd/>
  26. <todd/>
  27. <rrgstno/>
  28. <name/>
  29. <emplno/>
  30. <emplnm/>
  31. <profflag>7</profflag>
  32. </retrparams>
  33. <printparams>
  34. <payTotAmt/>
  35. <incmTax/>
  36. <resdnTax/>
  37. </printparams>
  38. <emplcheck>
  39. <instcd/>
  40. <emplno/>
  41. </emplcheck>
  42. <payappparams>
  43. <instcd/>
  44. <payym/>
  45. <payfromdd/>
  46. <paytodd/>
  47. <payitemcd>70260</payitemcd>
  48. <cancelyn/>
  49. </payappparams>
  50. </send>
  51. <init/>
  52. <temp/>
  53. <hidden>
  54. <prntlist>
  55. <dayworkerprntlist/>
  56. </prntlist>
  57. <checkedcnt/>
  58. <exceluploadlist>
  59. <excelupload/>
  60. </exceluploadlist>
  61. <emplcntcheck>
  62. <emplcnt/>
  63. </emplcntcheck>
  64. </hidden>
  65. </root>
  66. </instance>
  67. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  68. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  69. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  70. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  71. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  72. <script type="javascript" src="../../../mis/miscommonweb/js/RAC001.js"/>
  73. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  74. <script type="javascript" src="../../../mis/acntcommonweb/js/RAD001.js"/>
  75. <bind id="bindPayTotAmt" ref="/root/send/printparams/payTotAmt" calculate="sum(/root/main/list/orchlist/paytotamt)"/>
  76. <bind id="bindIncmTax" ref="/root/send/printparams/incmTax" calculate="sum(/root/main/list/orchlist/incmtax)"/>
  77. <bind id="bindResdnTax" ref="/root/send/printparams/resdnTax" calculate="sum(/root/main/list/orchlist/resdntax)"/>
  78. <submission id="TXRAT00601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/list/orchlist" resultref="/root/temp"/>
  79. <submission id="TRRAT00601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/main/list"/>
  80. <script type="javascript" ev:event="xforms-ready">
  81. <![CDATA[
  82. fInitialize();
  83. ]]>
  84. </script>
  85. <script type="javascript">
  86. <![CDATA[
  87. function fInitialize()
  88. {
  89. model.removenode("/root/main/list/orchlist");
  90. misfMsterDetailSet(grd_orchlist, null, "TRRAT00601", "Y");
  91. misfComboComCdList("Z0007", cmb_instcd);
  92. misfGridComboComCdList("Z0007", grd_orchlist, "payinst");
  93. misfComboComCdListMulti("Z0007", "cmb_payinst", null, "Y");
  94. model.setValue("/root/send/retrparams/instcd", getUserInfo("dutplceinstcd"));
  95. model.setValue("/root/send/retrparams/frdd", getCurrentDate().substr(0, 8));
  96. model.setValue("/root/send/retrparams/todd", getCurrentDate().substr(0, 8));
  97. model.setValue("/root/send/payappparams/instcd", getUserInfo("dutplceinstcd"));
  98. model.setValue("/root/send/payappparams/payym", getCurrentDate().substr(0, 6));
  99. model.refresh();
  100. //fRetrieve();
  101. }
  102. function fRetrieve()
  103. {
  104. model.removeNodeset("/root/main/list/orchlist");
  105. grd_orchlist.refresh();
  106. submit("TRRAT00601");
  107. submit("TRRAT00602");
  108. for(var i=1; i<grd_orchlist.rows; i++)
  109. {
  110. if(model.getValue(grd_orchlist.nodeset + "[" + i + "]/slipyn") == "Y")
  111. {
  112. grd_orchlist.rowStyle(i, "all", "background-color") = "#EAEAEA";
  113. misfSetReadOnlyCol(grd_orchlist, "posyear,payinst,emplno,emplnm,paytotamt,cmt", true, i);
  114. }
  115. else if(model.getValue(grd_orchlist.nodeset + "[" + i + "]/payapplyn") == "Y")
  116. {
  117. grd_orchlist.rowStyle(i, "all", "background-color") = "#cc99ff";
  118. misfSetReadOnlyCol(grd_orchlist, "posyear,payinst,emplno,emplnm,paytotamt,cmt", true, i);
  119. }
  120. else
  121. {
  122. grd_orchlist.rowStyle(i, "all", "background-color") = "#ffffff";
  123. misfSetReadOnlyCol(grd_orchlist, "posyear,payinst,emplno,emplnm", true, i);
  124. }
  125. }
  126. fSetPrintNodeList();
  127. model.recalculate();
  128. }
  129. function fSave()
  130. {
  131. for(var i=1; i<grd_orchlist.rows; i++)
  132. {
  133. // var sPosyear = grd_orchlist.valueMatrix(i, grd_orchlist.colRef("posyear"));
  134. var sEmplno = grd_orchlist.valueMatrix(i, grd_orchlist.colRef("emplno"));
  135. var sPayTotAmt = grd_orchlist.valueMatrix(i, grd_orchlist.colRef("paytotamt"));
  136. var sCmt = grd_orchlist.valueMatrix(i, grd_orchlist.colRef("cmt"));
  137. // if(!isValidDateTime(sPosyear, "YYYYMMDD"))
  138. // { messageBox("귀속 일자가 유효하지 않습니다.", "I000"); return; }
  139. if(sPayTotAmt == "") { messageBox("사원번호를", "C001"); return; }
  140. if(sPayTotAmt == "") { messagBox("지급액을", "C001"); return; }
  141. if(sCmt == "") { messageBox("적요를", "C001"); return; }
  142. }
  143. misfSave("TXRAT00601");
  144. fRetrieve();
  145. }
  146. function fPrint()
  147. {
  148. var iCheckedCnt = parseInt(model.getValue("/root/hidden/checkedcnt"), 10);
  149. var dlgRslt = 0;
  150. if(iCheckedCnt > 0)
  151. {
  152. dlgRslt = messageBox("선택된 소득만 출력하시겠습니까\n\nYes(선택자료) / No(전체)", "Q000");
  153. }
  154. if(dlgRslt == 6)
  155. {
  156. var iCnt = 0;
  157. var sYn = "";
  158. model.removenode("/root/hidden/prntlist");
  159. model.makeNode("/root/hidden/prntlist");
  160. for(var i=1; i<grd_orchlist.rows; i++)
  161. {
  162. sYn = model.getValue(grd_orchlist.nodeset + "[" + i + "]/chk");
  163. if(sYn == "Y")
  164. {
  165. iCnt = instance1.selectNodes("/root/hidden/prntlist/dayworkerprntlist").length;
  166. model.makeNode("/root/hidden/prntlist/dayworkerprntlist[" + (iCnt + 1) + "]");
  167. model.copyNode("/root/hidden/prntlist/dayworkerprntlist[" + (iCnt + 1) + "]", "/root/main/list/orchlist[" + i + "]");
  168. }
  169. }
  170. }
  171. else
  172. {
  173. var iLength = instance1.selectNodes("/root/main/list/orchlist").length;
  174. model.removenode("/root/hidden/prntlist");
  175. model.makeNode("/root/hidden/prntlist");
  176. for(var i=1; i<=iLength; i++)
  177. {
  178. model.makeNode("/root/hidden/prntlist/dayworkerprntlist[" + i + "]");
  179. model.copyNode("/root/hidden/prntlist/dayworkerprntlist[" + i + "]", "/root/main/list/orchlist[" + i + "]");
  180. }
  181. }
  182. exeReportPreview("RPRAD00205", "XMLSTR");
  183. }
  184. function fSetPrintNodeList()
  185. {
  186. var iLength = instance1.selectNodes("/root/main/list/orchlist").length;
  187. model.removenode("/root/hidden/prntlist");
  188. model.makeNode("/root/hidden/prntlist");
  189. for(var i=1; i<=iLength; i++)
  190. {
  191. model.makeNode("/root/hidden/prntlist/dayworkerprntlist[" + i + "]");
  192. model.copyNode("/root/hidden/prntlist/dayworkerprntlist[" + i + "]", "/root/main/list/orchlist[" + i + "]");
  193. }
  194. }
  195. //========================================================================================
  196. //엑셀입력(excel file을 그리드에 입력)
  197. //========================================================================================
  198. function fInputExcel(pGrid) {
  199. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  200. if(fileName != "") {
  201. pGrid.loadExcel(fileName, 1, true);
  202. pGrid.deleteRow(1);
  203. //
  204. // for(i = 1; i < pGrid.rows; i++) {
  205. // pGrid.rowStatus(i) = 1;
  206. // }
  207. pGrid.rebuild();
  208. return true;
  209. }
  210. return false;
  211. }
  212. //========================================================================================
  213. //엑셀입력 후 값 유효성 검사
  214. //========================================================================================
  215. function fValidCheck()
  216. {
  217. var vRows = instance1.selectNodes(excel_upload.nodeset).length;
  218. var vFirstRows = 1;
  219. for(var i = vFirstRows ; i <= vRows ; i++)
  220. {
  221. var vPosYear = model.getValue(excel_upload.nodeset + "[" + i + "]/posyear");
  222. if(vPosYear == "")
  223. {
  224. messageBox("귀속일자는", "I003");
  225. return false;
  226. }
  227. var vSanctSlipDD = model.getValue(excel_upload.nodeset + "[" + i + "]/sanctslipdd");
  228. if(vSanctSlipDD == "")
  229. {
  230. messageBox("지급일자는", "I003");
  231. return false;
  232. }
  233. var vEmplNo = (model.getValue(excel_upload.nodeset + "[" + i + "]/emplno"));
  234. if(vEmplNo == "")
  235. {
  236. messageBox("사원번호는", "I003");
  237. return false;
  238. }
  239. var vName = (model.getValue(excel_upload.nodeset + "[" + i + "]/name"));
  240. if(vName == "")
  241. {
  242. messageBox("이름은", "I003");
  243. return false;
  244. }
  245. model.setValue("/root/send/emplcheck/instcd", cmb_instcd.value);
  246. model.setValue("/root/send/emplcheck/emplno", vEmplNo);
  247. submit("TRRAZ00002");
  248. if(model.getValue("/root/hidden/emplcntcheck/emplcnt") == "0")
  249. {
  250. messageBox("사원번호 [ " + vEmplNo + " ] 는 잘못된 데이터 입니다.", "");
  251. return false;
  252. }
  253. var vPayTotAmt = (model.getValue(excel_upload.nodeset + "[" + i + "]/paytotamt"));
  254. if(parseInt(vPayTotAmt) <= 0)
  255. {
  256. messageBox("지급액은", "I003");
  257. return false;
  258. }
  259. var vCmt = (model.getValue(excel_upload.nodeset + "[" + i + "]/cmt"));
  260. if(vCmt == "")
  261. {
  262. messageBox("적요는", "I003");
  263. return false;
  264. }
  265. }
  266. return true;
  267. }
  268. //========================================================================================
  269. //엑실 업로드 자료 그리드에 복사
  270. //========================================================================================
  271. function fCopyExcelGrid()
  272. {
  273. var vIntanceRows = instance1.selectNodes(excel_upload.nodeset).length;
  274. var vIntanceFirstRows = 1;
  275. var vDayWorkerRows = instance1.selectNodes(grd_orchlist.nodeset).length;
  276. var vDayWorkerStartRows = vDayWorkerRows + grd_orchlist.fixedRows;
  277. var vDayWorkerEndRows = vDayWorkerStartRows + vIntanceRows;
  278. for(var i = vIntanceFirstRows ; i <= vIntanceRows ; i++)
  279. {
  280. vDayWorkerRows++;
  281. //alert(vDayWorkerRows);
  282. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/instcd", cmb_instcd.value);
  283. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/chrgflag", "7");
  284. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/posyear", model.getValue(excel_upload.nodeset + "[" + i + "]/posyear"));
  285. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/sanctslipdd", model.getValue(excel_upload.nodeset + "[" + i + "]/sanctslipdd"));
  286. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/emplno", model.getValue(excel_upload.nodeset + "[" + i + "]/emplno"));
  287. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/emplnm", model.getValue(excel_upload.nodeset + "[" + i + "]/name"));
  288. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/name", model.getValue(excel_upload.nodeset + "[" + i + "]/name"));
  289. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/paytotamt", model.getValue(excel_upload.nodeset + "[" + i + "]/paytotamt"));
  290. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/cmt", model.getValue(excel_upload.nodeset + "[" + i + "]/cmt"));
  291. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/dayno", "0");
  292. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/dypay", "0");
  293. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/taxrate", "0");
  294. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/incmtax", "0");
  295. model.makeValue(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/resdntax", "0");
  296. model.makeNode(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/seqno");
  297. model.makeNode(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/detlseqno");
  298. model.makeNode(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/unsldd");
  299. model.makeNode(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/unslno");
  300. model.makeNode(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/unslseqno");
  301. model.makeNode(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/sanctslipno");
  302. model.makeNode(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/sanctslipseqno");
  303. model.makeNode(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/payinst");
  304. model.makeNode(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/dutunitcd");
  305. model.makeNode(grd_orchlist.nodeset + "[" + vDayWorkerRows + "]/dutunitnm");
  306. }
  307. grd_orchlist.refresh();
  308. for(var i = vDayWorkerStartRows ; i <= vDayWorkerEndRows ; i++)
  309. {
  310. grd_orchlist.rowStatus(i) = 3;
  311. }
  312. }
  313. function fGridStatusCheck()
  314. {
  315. var grd_rows = grd_orchlist.rows;
  316. var grd_fixedRows = grd_orchlist.fixedRows;
  317. for(var i = grd_fixedRows ; i <= grd_rows ; i++)
  318. {
  319. if(grd_orchlist.rowStatus(i) != 0)
  320. {
  321. messageBox("작업중인 데이터가 있습니다. \n 작업완료 후 작업하세요", "");
  322. return false;
  323. }
  324. }
  325. return true;
  326. }
  327. ]]>
  328. </script>
  329. <bind id="bindChkCnt" ref="/root/hidden/checkedcnt" calculate="count(/root/main/list/orchlist[chk = 'Y']/chk)"/>
  330. <submission id="TRRAZ00002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/emplcheck" resultref="/root/hidden/emplcntcheck"/>
  331. <submission id="TRRAT00602" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/main/sumlist"/>
  332. <submission id="TXRWZ00303" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/payappparams" resultref="/root/temp"/>
  333. </model>
  334. </xhtml:head>
  335. <xhtml:body pagewidth="1211" pageheight="784" guideline="1,1193;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  336. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  337. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:293px; height:14px; ">근로소득 조회/수정</caption>
  338. <caption id="caption4" class="patient_text_black" style="left:922px; top:0px; width:272px; "/>
  339. </group>
  340. <group id="group3" scroll="auto" style="left:0px; top:13px; width:1195px; height:762px; ">
  341. <group id="grp_sea" style="left:0px; top:35px; width:1195px; height:60px; vertical-align:top; ">
  342. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1195px; height:60px; background-color:#fffbf2; border-color:#ffd799; "/>
  343. <line id="line5" class="line_4" style="x1:1107px; y1:6px; x2:1107px; y2:54px; border-color:#ffe4bb; border-left-style:solid; "/>
  344. <caption id="caption1" class="search_name" style="left:575px; top:9px; width:90px; height:17px; ">지 급 일 :</caption>
  345. <input id="ipt_frdd" ref="/root/send/retrparams/frdd" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" style="left:680px; top:8px; width:95px; height:19px; text-align:center; ">
  346. <script type="javascript" ev:event="xforms-value-changed">
  347. <![CDATA[
  348. //fRetrieve();
  349. ]]>
  350. </script>
  351. </input>
  352. <caption id="caption2" style="left:777px; top:11px; width:15px; height:20px; ">~</caption>
  353. <select1 id="cmb_instcd" ref="/root/send/retrparams/instcd" class="combo_s_essential" disabled="true" navindex="-1" appearance="minimal" style="left:99px; top:8px; width:146px; height:19px; ">
  354. <choices>
  355. <itemset>
  356. <label/>
  357. <value/>
  358. </itemset>
  359. </choices>
  360. </select1>
  361. <caption id="caption3" class="search_name" style="left:9px; top:9px; width:91px; height:17px; ">기관구분 :</caption>
  362. <button id="btn_search" class="btn1_letter2" navindex="4" style="left:1123px; top:19px; width:56px; height:22px; text-align:left; ">
  363. <caption>조회</caption>
  364. <script type="javascript" ev:event="DOMActivate">
  365. <![CDATA[
  366. fRetrieve();
  367. ]]>
  368. </script>
  369. </button>
  370. <input id="ipt_todd" ref="/root/send/retrparams/todd" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" style="left:790px; top:8px; width:95px; height:19px; text-align:center; ">
  371. <script type="javascript" ev:event="xforms-value-changed">
  372. <![CDATA[
  373. //fRetrieve();
  374. ]]>
  375. </script>
  376. </input>
  377. <caption id="caption8" class="search_name" style="left:260px; top:35px; width:90px; height:17px; ">소 득 자 :</caption>
  378. <input id="ipt_emplno" ref="/root/send/retrparams/emplno" class="input_search" navindex="5" style="left:346px; top:34px; width:70px; height:19px; text-align:center; ">
  379. <script type="javascript" ev:event="onkeypress">
  380. <![CDATA[
  381. if(event.keyCode == 13)
  382. {
  383. model.setFocus("ipt_name");
  384. }
  385. ]]>
  386. </script>
  387. <script type="javascript" ev:event="xforms-value-changed">
  388. <![CDATA[
  389. rpbfValidationCheck("EMPLNO", "emplno,emplnm,payinst");
  390. model.refresh();
  391. fRetrieve();
  392. ]]>
  393. </script>
  394. </input>
  395. <input id="ipt_emplnm" ref="/root/send/retrparams/emplnm" class="input_search" navindex="6" imemode="hangul" style="left:440px; top:34px; width:91px; height:19px; ">
  396. <script type="javascript" ev:event="onkeypress">
  397. <![CDATA[
  398. if(event.keyCode == 13)
  399. {
  400. model.setFocus("btn_search");
  401. }
  402. ]]>
  403. </script>
  404. <script type="javascript" ev:event="xforms-value-changed">
  405. <![CDATA[
  406. rpbfValidationCheck("EMPLNM", "emplno,emplnm,payinst");
  407. model.refresh();
  408. fRetrieve();
  409. ]]>
  410. </script>
  411. </input>
  412. <button id="btn_emplhelp" class="icon_search" style="left:420px; top:35px; width:16px; height:16px; ">
  413. <caption/>
  414. <script type="javascript" ev:event="DOMActivate">
  415. <![CDATA[
  416. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm,payinst", "", "N");
  417. model.refresh();
  418. ]]>
  419. </script>
  420. </button>
  421. <select1 id="cmb_payinst" ref="/root/send/retrparams/payinst" class="combo_s_essential" navindex="-1" appearance="minimal" style="left:345px; top:8px; width:146px; height:19px; ">
  422. <choices>
  423. <itemset>
  424. <label/>
  425. <value/>
  426. </itemset>
  427. </choices>
  428. </select1>
  429. <caption id="caption3999" class="search_name" style="left:260px; top:9px; width:112px; height:17px; ">급여기관 :</caption>
  430. <caption id="caption5" class="search_name" style="left:575px; top:34px; width:110px; height:17px; ">급여반영 월 :</caption>
  431. <input id="ipt_payym" ref="/root/send/payappparams/payym" class="input_s_essential" inputtype="date" format="yyyy-mm" style="left:680px; top:33px; width:95px; height:19px; text-align:center; ">
  432. <script type="javascript" ev:event="xforms-value-changed">
  433. <![CDATA[
  434. var toYY = model.getValue(ipt_payym.attribute("ref")).substr(0,4);
  435. var toMM = model.getValue(ipt_payym.attribute("ref")).substr(4,2);
  436. var fromYY = "";
  437. var fromMM = "";
  438. if(toMM == "01")
  439. {
  440. fromYY = parseInt(toYY) - 1;
  441. fromMM = "12";
  442. }
  443. else
  444. {
  445. fromYY = toYY;
  446. fromMM = (parseInt(toMM, 10) - 1) + "";
  447. fromMM = fromMM.getLeftPad(2,"0");
  448. }
  449. model.setValue(ipt_frdd.attribute("ref"), fromYY + fromMM + "21");
  450. model.setValue(ipt_todd.attribute("ref"), toYY + toMM + "20");
  451. ipt_frdd.refresh();
  452. ipt_todd.refresh();
  453. btn_search.dispatch("DOMActivate");
  454. ]]>
  455. </script>
  456. </input>
  457. <button id="button4" class="btn4_letter6" disabled="false" visibility="visible" style="left:875px; top:33px; width:104px; height:22px; ">
  458. <caption>급여반영취소</caption>
  459. <script type="javascript" ev:event="DOMActivate">
  460. <![CDATA[
  461. ipt_payym.dispatch("xforms-value-changed");
  462. if (messageBox(model.getValue(ipt_frdd.attribute("ref")).substr(0,4) + "년 " + model.getValue(ipt_frdd.attribute("ref")).substr(4,2) + "월 " + model.getValue(ipt_frdd.attribute("ref")).substr(6,2) + "일 ~ " +
  463. model.getValue(ipt_todd.attribute("ref")).substr(0,4) + "년 " + model.getValue(ipt_todd.attribute("ref")).substr(4,2) + "월 " + model.getValue(ipt_todd.attribute("ref")).substr(6,2) + "일까지 [급여반영]을 [취소] 하시겠습니까?", "Q000") == "6")
  464. {
  465. model.setValue("/root/send/payappparams/cancelyn", "Y");
  466. model.setValue("/root/send/payappparams/payfromdd", model.getValue(ipt_frdd.attribute("ref")));
  467. model.setValue("/root/send/payappparams/paytodd", model.getValue(ipt_todd.attribute("ref")));
  468. submit("TXRWZ00303");
  469. }
  470. btn_search.dispatch("DOMActivate");
  471. ]]>
  472. </script>
  473. </button>
  474. <button id="btn_print1" class="btn4_letter4" disabled="false" visibility="visible" style="left:790px; top:33px; width:80px; height:22px; ">
  475. <caption>급여반영</caption>
  476. <script type="javascript" ev:event="DOMActivate">
  477. <![CDATA[
  478. ipt_payym.dispatch("xforms-value-changed");
  479. if (messageBox(model.getValue(ipt_frdd.attribute("ref")).substr(0,4) + "년 " + model.getValue(ipt_frdd.attribute("ref")).substr(4,2) + "월 " + model.getValue(ipt_frdd.attribute("ref")).substr(6,2) + "일 ~ " +
  480. model.getValue(ipt_todd.attribute("ref")).substr(0,4) + "년 " + model.getValue(ipt_todd.attribute("ref")).substr(4,2) + "월 " + model.getValue(ipt_todd.attribute("ref")).substr(6,2) + "일까지 [급여반영]하시겠습니까?", "Q000") == "6")
  481. {
  482. model.setValue("/root/send/payappparams/cancelyn", "N");
  483. model.setValue("/root/send/payappparams/payfromdd", model.getValue(ipt_frdd.attribute("ref")));
  484. model.setValue("/root/send/payappparams/paytodd", model.getValue(ipt_todd.attribute("ref")));
  485. submit("TXRWZ00303");
  486. }
  487. btn_search.dispatch("DOMActivate");
  488. ]]>
  489. </script>
  490. </button>
  491. </group>
  492. <line id="line3" class="line_1" style="x1:0px; y1:118px; x2:1195px; y2:118px; "/>
  493. <caption id="caption21" class="tit_2" style="left:5px; top:103px; width:139px; height:13px; ">근로소득자 목록</caption>
  494. <group id="group2" scroll="auto" style="left:0px; top:0px; width:1195px; height:27px; ">
  495. <line id="line1" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  496. <button id="btn_save" class="btn4_letter2" style="left:1137px; top:3px; width:56px; height:22px; ">
  497. <caption>저장</caption>
  498. <script type="javascript" ev:event="DOMActivate">
  499. <![CDATA[
  500. fSave();
  501. ]]>
  502. </script>
  503. </button>
  504. <button id="btn_print" class="btn4_letter2" visibility="hidden" style="left:1078px; top:3px; width:56px; height:22px; ">
  505. <caption>출력</caption>
  506. <script type="javascript" ev:event="DOMActivate">
  507. <![CDATA[
  508. fPrint();
  509. ]]>
  510. </script>
  511. </button>
  512. </group>
  513. <button id="btn_addrow" class="btn2_letter3" style="left:807px; top:98px; width:53px; height:19px; text-align:left; ">
  514. <caption>행추가</caption>
  515. <script type="javascript" ev:event="DOMActivate">
  516. <![CDATA[
  517. misfGridIUD(grd_orchlist, "A", "N");
  518. grd_orchlist.valueMatrix(grd_orchlist.row, grd_orchlist.colRef("instcd")) = getUserInfo("dutplceinstcd");
  519. grd_orchlist.valueMatrix(grd_orchlist.row, grd_orchlist.colRef("chrgflag")) = "7";
  520. grd_orchlist.valueMatrix(grd_orchlist.row, grd_orchlist.colRef("posyear")) = getCurrentDate();
  521. grd_orchlist.valueMatrix(grd_orchlist.row, grd_orchlist.colRef("sanctslipdd")) = getCurrentDate();
  522. grd_orchlist.valueMatrix(grd_orchlist.row, grd_orchlist.colRef("dayno")) = 0;
  523. grd_orchlist.valueMatrix(grd_orchlist.row, grd_orchlist.colRef("dypay")) = 0;
  524. grd_orchlist.valueMatrix(grd_orchlist.row, grd_orchlist.colRef("taxrate")) = 0;
  525. grd_orchlist.valueMatrix(grd_orchlist.row, grd_orchlist.colRef("incmtax")) = 0;
  526. grd_orchlist.valueMatrix(grd_orchlist.row, grd_orchlist.colRef("resdntax")) = 0;
  527. if(grd_orchlist.row > grd_orchlist.fixedRows)
  528. {
  529. grd_orchlist.valueMatrix(grd_orchlist.row, grd_orchlist.colRef("cmt")) = grd_orchlist.valueMatrix(grd_orchlist.row - 1, grd_orchlist.colRef("cmt"));
  530. }
  531. misfSetReadOnlyCol(grd_orchlist, "payinst", true, grd_orchlist.row);
  532. ]]>
  533. </script>
  534. </button>
  535. <button id="btn_delrow" class="btn2_letter3" style="left:864px; top:98px; width:53px; height:19px; text-align:left; ">
  536. <caption>행삭제</caption>
  537. <script type="javascript" ev:event="DOMActivate">
  538. <![CDATA[
  539. var iLength = grd_orchlist.selectedCells.length;
  540. for(var i=0; i<iLength; i++)
  541. {
  542. var iRowIdx = grd_orchlist.selectedCells.item(i).row;
  543. if(model.getValue(grd_orchlist.nodeset + "[" + iRowIdx + "]/slipyn") != "Y")
  544. {
  545. if(grd_orchlist.rowStatus(iRowIdx) == 4 || grd_orchlist.valueMatrix(grd_orchlist.row, grd_orchlist.colRef("payapplyn")) == "Y")
  546. {
  547. grd_orchlist.rowStatus(iRowIdx) = 0;
  548. }
  549. else if(grd_orchlist.rowStatus(iRowIdx) == 1 && grd_orchlist.rowStatus(iRowIdx) == 3)
  550. {
  551. grd_orchlist.deleteRow(iRowIdx, false);
  552. }
  553. else
  554. {
  555. grd_orchlist.addStatus(iRowIdx, "delete");
  556. }
  557. }
  558. }
  559. ]]>
  560. </script>
  561. </button>
  562. <output id="opt_temp" ref="/root/hidden/incmpsn/name" visibility="hidden" style="left:784px; top:98px; width:20px; height:19px; "/>
  563. <caption id="caption10" style="left:180px; top:102px; width:15px; height:15px; background-color:#c0c0c0; "/>
  564. <caption id="caption11" style="left:198px; top:103px; width:202px; height:14px; ">일용근로소득 삭제 및 수정 불가</caption>
  565. <button id="btn_excel" class="btn2_letter4" style="left:1057px; top:98px; width:64px; height:19px; text-align:left; ">
  566. <caption>엑셀출력</caption>
  567. <script type="javascript" ev:event="DOMActivate">
  568. <![CDATA[
  569. if(fGridStatusCheck())
  570. {
  571. var sTitle = "근로소득 " + model.getValue("/root/send/retrparams/frdd").substr(2, 2) + "-" + model.getValue("/root/send/retrparams/frdd").substr(4, 2) + "-" + model.getValue("/root/send/retrparams/frdd").substr(6, 2) + " ~ " + model.getValue("/root/send/retrparams/todd").substr(2, 2) + "-" + model.getValue("/root/send/retrparams/todd").substr(4, 2) + "-" + model.getValue("/root/send/retrparams/todd").substr(6, 2);
  572. // misfSaveExcel(grd_orchlist, sTitle);
  573. radfSaveExcel(grd_orchlist, sTitle);
  574. }
  575. ]]>
  576. </script>
  577. </button>
  578. <datagrid id="grd_orchlist" nodeset="/root/main/list/orchlist" backcoloralternate="#ffffff" caption="v^기관코드^일련번호^세부일련번호^징수구분^급여반영여부^급여반영일자^귀속년도^지급일자^전표번호^일련번호^전표일자^전표번호^일련번호^급여기관^unit코드^소속unit^사원번호^성명^성명^직종/직급^일수^일급^지급액^세율^주민세^소득세^적 요" colwidth="25, 0, 0, 0, 0, 0, 100, 80, 80, 0, 0, 100, 80, 80, 120, 0, 100, 100, 0, 90, 90, 30, 30, 110, 0, 35, 36, 420" dataheight="25" ellipsis="true" frozencols="9" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:170px; width:1193px; height:589px; ">
  579. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  580. <col ref="instcd" visibility="hidden"/>
  581. <col ref="seqno" visibility="hidden"/>
  582. <col ref="detlseqno" visibility="hidden"/>
  583. <col ref="chrgflag" visibility="hidden"/>
  584. <col ref="payapplyn" visibility="hidden"/>
  585. <col ref="payappldd" type="inputdate" format="yyyy-mm-dd" style="text-align:center; "/>
  586. <col ref="posyear" type="inputdate" format="yyyy" style="text-align:center; "/>
  587. <col ref="sanctslipdd" format="yyyy-mm-dd" style="text-align:center; "/>
  588. <col ref="sanctslipno" visibility="hidden" style="text-align:center; "/>
  589. <col ref="sanctslipseqno" visibility="hidden" style="text-align:center; "/>
  590. <col ref="unsldd" format="yyyy-mm-dd" style="text-align:center; "/>
  591. <col ref="unslno" style="text-align:center; "/>
  592. <col ref="unslseqno" style="text-align:center; "/>
  593. <col disabled="true" ref="payinst" type="combo">
  594. <choices>
  595. <itemset>
  596. <label/>
  597. <value/>
  598. </itemset>
  599. </choices>
  600. </col>
  601. <col ref="dutunitcd" visibility="hidden" style="text-align:center; "/>
  602. <col ref="dutunitnm" style="text-align:center; "/>
  603. <col ref="emplno" type="inputbutton" style="text-align:center; "/>
  604. <col ref="name" type="input"/>
  605. <col imemode="hangul" ref="emplnm" type="input" style="text-align:left; padding-left:2; "/>
  606. <col ref="jobnm" style="text-align:center; "/>
  607. <col ref="dayno" visibility="hidden"/>
  608. <col ref="dypay" visibility="hidden"/>
  609. <col ref="paytotamt" type="input" format="(-)#,###" style="text-align:right; padding-right:2; "/>
  610. <col ref="taxrate" visibility="hidden"/>
  611. <col ref="incmtax" visibility="hidden"/>
  612. <col ref="resdntax" visibility="hidden"/>
  613. <col ref="cmt" type="input" style="text-align:left; padding-left:2; "/>
  614. <script type="javascript" ev:event="onbuttonclick">
  615. <![CDATA[
  616. if(grd_orchlist.col == grd_orchlist.colRef("emplno"))
  617. {
  618. rpbfOpenPopUpList("SPRPB00101", grd_orchlist, "emplno,emplnm,payinst", "", "N");
  619. model.setValue(grd_orchlist.nodeset + "[" + grd_orchlist.row + "]/name", model.getValue(grd_orchlist.nodeset + "[" + grd_orchlist.row + "]/emplnm"));
  620. }
  621. model.refresh();
  622. ]]>
  623. </script>
  624. <script type="javascript" ev:event="xforms-value-changed">
  625. <![CDATA[
  626. if(grd_orchlist.col == grd_orchlist.colRef("emplno"))
  627. {
  628. rpbfValidationCheck("EMPLNO", "emplno,emplnm,payinst");
  629. model.setValue(grd_orchlist.nodeset + "[" + grd_orchlist.row + "]/name", model.getValue(grd_orchlist.nodeset + "[" + grd_orchlist.row + "]/emplnm"));
  630. }
  631. else if(grd_orchlist.col == grd_orchlist.colRef("emplnm"))
  632. {
  633. rpbfValidationCheck("EMPLNM", "emplno,emplnm,payinst");
  634. model.setValue(grd_orchlist.nodeset + "[" + grd_orchlist.row + "]/name", model.getValue(grd_orchlist.nodeset + "[" + grd_orchlist.row + "]/emplnm"));
  635. }
  636. model.refresh();
  637. ]]>
  638. </script>
  639. <script type="javascript" ev:event="ondblclick">
  640. <![CDATA[
  641. if (grd_orchlist.isCell(event.target) && grd_orchlist.row > 0 && grd_orchlist.valueMatrix(grd_orchlist.row, grd_orchlist.colRef("unsldd")) != "" && grd_orchlist.valueMatrix(grd_orchlist.row, grd_orchlist.colRef("unslno")) != "") {
  642. model.makeValue("/root/source/slipinfo/instcd", model.getValue("/root/main/list/orchlist["+grd_orchlist.row+"]/instcd"));
  643. model.makeValue("/root/source/slipinfo/slipdt", model.getValue("/root/main/list/orchlist["+grd_orchlist.row+"]/unsldd"));
  644. model.makeValue("/root/source/slipinfo/slipno", model.getValue("/root/main/list/orchlist["+grd_orchlist.row+"]/unslno"));
  645. // alert(model.getValue("/root/source/slipinfo/instcd"));
  646. // alert(model.getValue("/root/source/slipinfo/slipdt"));
  647. // alert(model.getValue("/root/source/slipinfo/slipno"));
  648. model.refresh();
  649. modal("SMRAD00100","","","","","/root/source", "/root/target" );
  650. }
  651. ]]>
  652. </script>
  653. </datagrid>
  654. <output id="output8" ref="/root/send/printparams/payTotAmt" format="(-)#,###" style="left:1037px; top:147px; width:127px; height:19px; text-align:right; margin-right:1; "/>
  655. <line id="line11" class="line_3" style="x1:1035px; y1:123px; x2:1035px; y2:167px; "/>
  656. <line id="line13" class="line_3" style="x1:1165px; y1:123px; x2:1165px; y2:167px; "/>
  657. <caption id="caption18" class="cell_1" style="left:1037px; top:123px; width:127px; height:23px; text-align:center; vertical-align:middle; ">총지급액</caption>
  658. <caption id="caption19" class="cell_1" style="left:947px; top:145px; width:87px; height:21px; text-align:center; vertical-align:middle; ">계</caption>
  659. <output id="opt_zipcd" ref="/root/hidden/zipcd/zipcd1" navindex="-1" visibility="hidden" style="left:765px; top:98px; width:20px; height:19px; text-align:left; "/>
  660. <output id="output2" ref="/root/hidden/checkedcnt" visibility="hidden" style="left:105px; top:130px; width:25px; height:19px; "/>
  661. <button id="btn_excadd" class="btn2_letter4" visibility="visible" style="left:989px; top:98px; width:64px; height:19px; text-align:left; ">
  662. <caption>엑셀입력</caption>
  663. <script type="javascript" ev:event="onclick">
  664. <![CDATA[
  665. if(fGridStatusCheck() && fInputExcel(excel_upload))
  666. {
  667. if(fValidCheck())
  668. {
  669. fCopyExcelGrid();
  670. }
  671. else
  672. {
  673. model.removenode("/root/main/list/orchlist");
  674. }
  675. }
  676. ]]>
  677. </script>
  678. </button>
  679. <datagrid id="grd_orchsumlist" nodeset="/root/main/sumlist/orchsumlist" visibility="hidden" backcoloralternate="#ffffff" caption="급여기관명^unit코드^소속unit^사원번호^성명^지급액" colwidth="100, 100, 100, 100, 100, 100" dataheight="25" ellipsis="true" frozencols="9" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:330px; top:240px; width:528px; height:489px; ">
  680. <col ref="payinstnm" style="text-align:center; "/>
  681. <col ref="dutunitcd" style="text-align:center; "/>
  682. <col ref="dutunitnm" style="text-align:center; "/>
  683. <col ref="emplno" style="text-align:center; "/>
  684. <col ref="name"/>
  685. <col ref="paytotamt" format="(-)#,###" style="text-align:right; padding-right:2; "/>
  686. </datagrid>
  687. <button id="button1" class="btn2_letter4" style="left:1125px; top:98px; width:64px; height:19px; text-align:left; ">
  688. <caption>합산출력</caption>
  689. <script type="javascript" ev:event="DOMActivate">
  690. <![CDATA[
  691. if(fGridStatusCheck())
  692. {
  693. var sTitle = "근로소득(개인별 합산) " + model.getValue("/root/send/retrparams/frdd").substr(2, 2) + "-" + model.getValue("/root/send/retrparams/frdd").substr(4, 2) + "-" + model.getValue("/root/send/retrparams/frdd").substr(6, 2) + " ~ " + model.getValue("/root/send/retrparams/todd").substr(2, 2) + "-" + model.getValue("/root/send/retrparams/todd").substr(4, 2) + "-" + model.getValue("/root/send/retrparams/todd").substr(6, 2);
  694. misfSaveExcel(grd_orchsumlist, sTitle);
  695. }
  696. ]]>
  697. </script>
  698. </button>
  699. <datagrid id="excel_upload" nodeset="/root/hidden/exceluploadlist/excelupload" visibility="hidden" backcoloralternate="#ffffff" caption="귀속일자^지급일자^사원번호^이름^지급액^적요" colwidth="100, 100, 100, 100, 100, 100" dataheight="25" ellipsis="true" frozencols="9" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:275px; top:340px; width:660px; height:312px; ">
  700. <col ref="posyear" format="yyyy-mm-dd" style="text-align:left; padding-left:2; "/>
  701. <col ref="sanctslipdd" format="yyyy-mm-dd" style="text-align:left; padding-left:2; "/>
  702. <col ref="emplno" style="text-align:left; "/>
  703. <col ref="name" style="text-align:left; "/>
  704. <col ref="paytotamt" format="(-)#,###" style="text-align:right; padding-right:2; "/>
  705. <col ref="cmt" style="text-align:left; padding-left:2; "/>
  706. </datagrid>
  707. <button id="button2" class="btn2_letter4" visibility="visible" style="left:921px; top:98px; width:64px; height:19px; text-align:left; ">
  708. <caption>엑셀양식</caption>
  709. <script type="javascript" ev:event="onclick">
  710. <![CDATA[
  711. misfSaveExcel(excel_upload);
  712. ]]>
  713. </script>
  714. </button>
  715. </group>
  716. </xhtml:body>
  717. </xhtml:html>