SPRAD00104_근로소득자료관리.xrw 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788
  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. <list>
  11. <orchlist>
  12. <instcd/>
  13. <seqno/>
  14. <detlseqno/>
  15. <chrgflag/>
  16. <emplno/>
  17. <name/>
  18. <entrregno/>
  19. <rrgstno/>
  20. <custnm/>
  21. <zipcd/>
  22. <zipcd1/>
  23. <zipcd2/>
  24. <zipcdseqno/>
  25. <supaddr/>
  26. <infaddr/>
  27. <induflag/>
  28. <incmflag/>
  29. <dayno/>
  30. <dypay/>
  31. <paytotamt/>
  32. <taxrate/>
  33. <incmtax/>
  34. <resdntax/>
  35. <cmt/>
  36. </orchlist>
  37. <orch>
  38. <instcd/>
  39. <seqno/>
  40. <chrgflag/>
  41. <unsldd/>
  42. <unslno/>
  43. <undeciseqno/>
  44. <paydd/>
  45. <status/>
  46. </orch>
  47. </list>
  48. <orch_one>
  49. <instcd/>
  50. <seqno/>
  51. <detlseqno/>
  52. <chrgflag/>
  53. <emplno/>
  54. <name/>
  55. <entrregno/>
  56. <rrgstno/>
  57. <custnm/>
  58. <zipcd/>
  59. <zipcd1/>
  60. <zipcd2/>
  61. <zipcdseqno/>
  62. <supaddr/>
  63. <infaddr/>
  64. <induflag/>
  65. <incmflag/>
  66. <dayno/>
  67. <dypay/>
  68. <paytotamt/>
  69. <taxrate/>
  70. <incmtax/>
  71. <resdntax/>
  72. <cmt/>
  73. </orch_one>
  74. </main>
  75. <send>
  76. <retrparams>
  77. <instcd/>
  78. <seqno/>
  79. <chrgflag/>
  80. <detlseqno/>
  81. </retrparams>
  82. <list>
  83. <orchlist/>
  84. <orch/>
  85. </list>
  86. </send>
  87. <hidden>
  88. <incmpsn/>
  89. <totamt/>
  90. <maxdetlseqno>0000</maxdetlseqno>
  91. <orch_one>
  92. <instcd/>
  93. <seqno/>
  94. <detlseqno/>
  95. <chrgflag/>
  96. <emplno/>
  97. <name/>
  98. <entrregno/>
  99. <rrgstno/>
  100. <custnm/>
  101. <zipcd/>
  102. <zipcd1/>
  103. <zipcd2/>
  104. <zipcdseqno/>
  105. <supaddr/>
  106. <infaddr/>
  107. <induflag/>
  108. <incmflag/>
  109. <dayno/>
  110. <dypay/>
  111. <paytotamt/>
  112. <taxrate/>
  113. <incmtax/>
  114. <resdntax/>
  115. <cmt/>
  116. </orch_one>
  117. <orchreturn>
  118. <amt/>
  119. <etcnotefact/>
  120. <incmtax/>
  121. <resdntax/>
  122. </orchreturn>
  123. </hidden>
  124. <init>
  125. </init>
  126. <temp>
  127. <seqno>
  128. <seqno/>
  129. </seqno>
  130. <orchlist/>
  131. </temp>
  132. <target/>
  133. </root>
  134. </instance>
  135. <submission id="TRRAD00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/main/list"/>
  136. <script type="javascript" ev:event="xforms-ready">
  137. <![CDATA[
  138. fInitialize();
  139. ]]>
  140. </script>
  141. <submission id="TXRAD00105" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/list" resultref="/root/temp"/>
  142. <bind id="bind_amt" ref="/root/hidden/orchreturn/amt" calculate="sum(/root/main/list/orchlist/paytotamt)"/>
  143. </model>
  144. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  145. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  146. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  147. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  148. <script type="javascript" src="../../../mis/miscommonweb/js/RAC001.js"/>
  149. <script type="javascript">
  150. <![CDATA[
  151. function fInitialize() {
  152. model.removenode("/root/main/list/orchlist");
  153. var instcd = getUserInfo("dutplceinstcd");
  154. if (model.getValue("/root/target/slipinfo/profflag") == "8") {
  155. document.title = "비과세 근로소득자료관리";
  156. cpt_title.text = "비과세 근로소득자료관리";
  157. }
  158. if (model.getValue("/root/target/slipinfo/seqno") != "") {
  159. model.setValue("/root/send/retrparams/instcd", model.getValue("/root/target/slipinfo/instcd"));
  160. model.setValue("/root/send/retrparams/seqno", model.getValue("/root/target/slipinfo/seqno"));
  161. model.setValue("/root/send/retrparams/chrgflag", model.getValue("/root/target/slipinfo/profflag"));
  162. model.refresh();
  163. fSearch();
  164. } else {
  165. model.setValue("/root/main/list/orch/instcd", model.getValue("/root/target/slipinfo/instcd"));
  166. model.setValue("/root/main/list/orch/unsldd", model.getValue("/root/target/slipinfo/unsldd"));
  167. model.setValue("/root/main/list/orch/unslno", model.getValue("/root/target/slipinfo/unslno"));
  168. model.setValue("/root/main/list/orch/undeciseqno", model.getValue("/root/target/slipinfo/unslseqno"));
  169. model.setValue("/root/main/list/orch/chrgflag", model.getValue("/root/target/slipinfo/profflag"));
  170. model.setValue("/root/main/orch_one/instcd", model.getValue("/root/target/slipinfo/instcd"));
  171. model.setValue("/root/main/orch_one/chrgflag", model.getValue("/root/target/slipinfo/profflag"));
  172. model.setValue("/root/main/orch_one/detlseqno", "0001");
  173. model.setValue("/root/hidden/maxdetlseqno", "0000");
  174. model.setValue("/root/main/list/orch/status", "i");
  175. model.setValue("/root/main/orch_one/emplno", model.getValue("/root/target/slipinfo/emplno"));
  176. ipt_emplno.refresh();
  177. ipt_emplno.dispatch("xforms-value-changed");
  178. model.makeValue("/root/main/orch_one/cmt", model.getValue("/root/target/slipinfo/cmt"));
  179. }
  180. model.refresh();
  181. if (model.getValue("/root/target/slipinfo/readonly") == "Y") {
  182. btn_grdadd.disabled = true;
  183. btn_save.disabled = true;
  184. btn_delete.disabled = true;
  185. }
  186. model.setFocus("ipt_name");
  187. }
  188. function fSearch() {
  189. submit("TRRAD00105");
  190. if(instance1.selectNodes("/root/main/list/orchlist").length == 0)
  191. {
  192. model.makeValue("/root/main/list/orch/instcd", model.getValue("/root/target/slipinfo/instcd"));
  193. model.makeValue("/root/main/list/orch/unsldd", model.getValue("/root/target/slipinfo/unsldd"));
  194. model.makeValue("/root/main/list/orch/unslno", model.getValue("/root/target/slipinfo/unslno"));
  195. model.makeValue("/root/main/list/orch/undeciseqno", model.getValue("/root/target/slipinfo/unslseqno"));
  196. model.makeValue("/root/main/list/orch/chrgflag", model.getValue("/root/target/slipinfo/profflag"));
  197. model.makeValue("/root/main/list/orch/status", "i");
  198. model.setValue("/root/main/orch_one/instcd", model.getValue("/root/target/slipinfo/instcd"));
  199. model.setValue("/root/main/orch_one/chrgflag", model.getValue("/root/target/slipinfo/profflag"));
  200. model.setValue("/root/main/orch_one/detlseqno", "0001");
  201. model.setValue("/root/hidden/maxdetlseqno", "0000");
  202. }
  203. else
  204. {
  205. var rowCnt = grd_orchlist.rows - 1;
  206. model.setValue("/root/hidden/maxdetlseqno",model.getValue("/root/main/list/orchlist["+ rowCnt +"]/detlseqno"));
  207. model.setValue("/root/main/list/orch/status", "u");
  208. fIncreSeqno("/root/main/orch_one/detlseqno");
  209. model.setValue("/root/main/orch_one/instcd", model.getValue("/root/main/list/orch/instcd"));
  210. model.setValue("/root/main/orch_one/seqno", model.getValue("/root/main/list/orch/seqno"));
  211. model.setValue("/root/main/orch_one/chrgflag", model.getValue("/root/main/list/orch/chrgflag"));
  212. }
  213. model.refresh();
  214. }
  215. function fSave() {
  216. var updtdata = getGridUpdateData(grd_orchlist);
  217. if (updtdata == "") {
  218. messageBox("변경된 데이터가","I004");
  219. return;
  220. }
  221. model.setValue("/root/send/list/orchlist", grd_orchlist.getUpdateData());
  222. model.copyNode("/root/send/list/orch", "/root/main/list/orch");
  223. if (submit("TXRAD00105")) {
  224. model.setValue("/root/send/list/orchlist","");
  225. if (model.getValue("/root/temp/seqno/seqno") != "") {
  226. model.setValue("/root/send/retrparams/instcd", model.getValue("/root/main/list/orch/instcd"));
  227. model.setValue("/root/send/retrparams/seqno", model.getValue("/root/temp/seqno/seqno"));
  228. model.setValue("/root/send/retrparams/chrgflag", model.getValue("/root/main/list/orch/chrgflag"));
  229. model.refresh();
  230. fSearch();
  231. } else {
  232. model.removeNodeset("/root/main/list/orchlist");
  233. model.setValue("/root/main/list/orch/instcd", model.getValue("/root/target/slipinfo/instcd"));
  234. model.setValue("/root/main/list/orch/seqno", "");
  235. model.setValue("/root/main/list/orch/unsldd", model.getValue("/root/target/slipinfo/unsldd"));
  236. model.setValue("/root/main/list/orch/unslno", model.getValue("/root/target/slipinfo/unslno"));
  237. model.setValue("/root/main/list/orch/undeciseqno", model.getValue("/root/target/slipinfo/unslseqno"));
  238. model.setValue("/root/main/list/orch/chrgflag", model.getValue("/root/target/slipinfo/profflag"));
  239. model.setValue("/root/main/list/orch/status", "i");
  240. model.setValue("/root/hidden/maxdetlseqno", "0000");
  241. fRowClearClick();
  242. }
  243. var rowcnt = grd_orchlist.rows - 1;
  244. if (rowcnt > 0) {
  245. if (rowcnt > 1) {
  246. var cmt = model.getValue("/root/main/list/orchlist[1]/cmt") + " (" + model.getValue("/root/main/list/orchlist[1]/name") + " 외 " + (rowcnt - 1) + "명)";
  247. model.setValue("/root/hidden/orchreturn/etcnotefact", cmt);
  248. } else {
  249. model.setValue("/root/hidden/orchreturn/etcnotefact", model.getValue("/root/main/list/orchlist[1]/cmt"));
  250. }
  251. } else {
  252. model.setValue("/root/hidden/orchreturn/etcnotefact", "");
  253. }
  254. model.refresh();
  255. var receiveref = model.getValue("/root/target/receiveref");
  256. if (checkOpener())
  257. {
  258. opener.model.setValue(receiveref + "/seqno", model.getValue("/root/temp/seqno/seqno"));
  259. opener.model.setValue(receiveref + "/amt", model.getValue("/root/hidden/orchreturn/amt"));
  260. opener.model.setValue(receiveref + "/etcnotefact", model.getValue("/root/hidden/orchreturn/etcnotefact"));
  261. opener.model.setValue(receiveref + "/incmtax", model.getValue("/root/hidden/orchreturn/incmtax"));
  262. opener.model.setValue(receiveref + "/resdntax", model.getValue("/root/hidden/orchreturn/resdntax"));
  263. messageBox("저장이 " ,"I002");
  264. }
  265. else
  266. {
  267. messagebox("상위화면이 변경되어 데이터를 전달할 수 ", "I004");
  268. }
  269. }
  270. model.setFocus("ipt_name");
  271. }
  272. function fDelete() {
  273. if (messageBox("전체 내역을","Q001") == "6") {
  274. var rowCnt = grd_orchlist.rows;
  275. for (i=1; i<rowCnt; i++) {
  276. grd_orchlist.addStatus(i,"delete");
  277. }
  278. model.setValue("/root/main/list/orch/status","d");
  279. model.refresh();
  280. fSave();
  281. }
  282. }
  283. //========================================================================================
  284. //not null check
  285. //========================================================================================
  286. function fNotNullCheck() {
  287. if(model.getValue("/root/main/orch_one/emplno").length== 0)
  288. {
  289. messageBox("사원번호는" ,"I003");
  290. model.setFocus("ipt_emplno");
  291. return false;
  292. }
  293. if(model.getValue("/root/main/orch_one/name").length== 0 )
  294. {
  295. messageBox("성명은" ,"I003");
  296. model.setFocus("ipt_name");
  297. return false;
  298. }
  299. if(model.getValue("/root/main/orch_one/paytotamt").length== 0 )
  300. {
  301. messageBox("지급액은" ,"I003");
  302. model.setFocus("ipt_paytotamt");
  303. return false;
  304. }
  305. }
  306. function fGridRowAddClick() {
  307. var detlseq = model.getValue("/root/main/orch_one/detlseqno");
  308. var detlseqno = model.getValue("/root/main/list/orchlist[detlseqno='"+ detlseq +"']/detlseqno");
  309. var cur_row = grd_orchlist.row;
  310. if(fNotNullCheck() == false) {
  311. return;
  312. }
  313. if (detlseqno == "") {
  314. grd_orchlist.addRow(false);
  315. } else {
  316. grd_orchlist.addStatus(cur_row,"update");
  317. }
  318. model.copyNode("/root/main/list/orchlist["+grd_orchlist.row+"]","/root/main/orch_one");
  319. var maxdetlseqno = model.getValue("/root/hidden/maxdetlseqno");
  320. if (parseInt(maxdetlseqno,10) < parseInt(detlseq,10)) {
  321. model.setValue("/root/hidden/maxdetlseqno", detlseq);
  322. }
  323. fRowClearClick(); //행정리
  324. }
  325. function fGridRowDelClick() {
  326. var rowstat;
  327. var i, j=0;
  328. //grd_orchlist.addStatus(grd_orchlist.row,"delete");
  329. misfGridIUD(grd_orchlist, "D");
  330. for (i=1; i<grd_orchlist.rows; i++) {
  331. rowstat = parseInt(grd_orchlist.rowStatus(i),10);
  332. if (rowstat >= 4) {
  333. j++;
  334. }
  335. }
  336. if (j == grd_orchlist.rows - 1) {
  337. model.setValue("/root/main/list/orch/status","d");
  338. } else {
  339. model.setValue("/root/main/list/orch/status","u");
  340. }
  341. model.refresh();
  342. fRowClearClick();
  343. }
  344. function fGridRowClick() {
  345. var cur_row = grd_orchlist.row;
  346. model.removenode("/root/main/orch_one");
  347. model.makeNode("/root/main/orch_one");
  348. model.copyNode("/root/main/orch_one","/root/main/list/orchlist["+cur_row+"]");
  349. model.recalculate();
  350. model.refresh();
  351. btn_grddel.disabled = false;
  352. model.setFocus("ipt_paytotamt");
  353. }
  354. function fRowClearClick() {
  355. var cmt = model.getValue("/root/main/orch_one/cmt");
  356. model.removenode("/root/main/orch_one");
  357. model.makeNode("/root/main/orch_one");
  358. model.copyNode("/root/main/orch_one","/root/hidden/orch_one");
  359. fIncreSeqno("/root/main/orch_one/detlseqno");
  360. model.setValue("/root/main/orch_one/instcd", model.getValue("/root/main/list/orch/instcd"));
  361. model.setValue("/root/main/orch_one/seqno", model.getValue("/root/main/list/orch/seqno"));
  362. model.setValue("/root/main/orch_one/chrgflag", model.getValue("/root/main/list/orch/chrgflag"));
  363. model.setValue("/root/main/orch_one/cmt", cmt);
  364. model.recalculate();
  365. model.refresh();
  366. btn_grddel.disabled = true;
  367. model.setFocus("ipt_name");
  368. }
  369. //========================================================================================
  370. //행번 증가
  371. //========================================================================================
  372. function fIncreSeqno(pRef) {
  373. var detlseqno = model.getValue("/root/hidden/maxdetlseqno");
  374. var seqno = parseInt(detlseqno, 10);
  375. seqno++;
  376. model.setValue(pRef, seqno.toString().getLeftPad(4,"0"));
  377. }
  378. //========================================================================================
  379. //엑셀입력(excel file을 그리드에 입력)
  380. //========================================================================================
  381. function fInputExcel(pGrid) {
  382. var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  383. if(fileName != "") {
  384. pGrid.loadExcel(fileName, 1, true);
  385. pGrid.deleteRow(1);
  386. for(i = 1; i < pGrid.rows; i++) {
  387. pGrid.rowStatus(i) = 1;
  388. }
  389. pGrid.refresh();
  390. }
  391. }
  392. function fExcelGetfSeqno()
  393. {
  394. var detlseqno = model.getValue("/root/hidden/maxdetlseqno");
  395. var seqno = parseInt(detlseqno, 10);
  396. seqno++;
  397. model.setValue("/root/hidden/maxdetlseqno", seqno.toString().getLeftPad(4,"0"));
  398. }
  399. ]]>
  400. </script>
  401. </xhtml:head>
  402. <xhtml:body pagewidth="800" pageheight="600" style="margin-left:8; margin-top:8; margin-right:8; margin-bottom:8; ">
  403. <group id="group1" style="left:0px; top:0px; width:765px; height:13px; ">
  404. <caption id="cpt_title" class="tit_1" style="left:0px; top:0px; width:190px; height:14px; ">근로소득자료관리</caption>
  405. </group>
  406. <group id="group2" scroll="auto" style="left:0px; top:12px; width:765px; height:548px; ">
  407. <line id="line4" class="line_2" style="x1:0px; y1:61px; x2:543px; y2:61px; "/>
  408. <line id="line3" class="line_2" style="x1:0px; y1:36px; x2:765px; y2:36px; "/>
  409. <line id="line9" class="line_3" style="x1:0px; y1:85px; x2:765px; y2:85px; "/>
  410. <caption id="caption47" class="cell_1" style="left:0px; top:14px; width:100px; height:23px; vertical-align:middle; ">사원번호</caption>
  411. <line id="line2" class="line_1" style="x1:0px; y1:9px; x2:765px; y2:9px; "/>
  412. <caption id="caption7" class="cell_1" style="left:0px; top:63px; width:100px; height:23px; vertical-align:middle; ">적요</caption>
  413. <caption id="caption10" class="cell_1" style="left:0px; top:38px; width:100px; height:23px; vertical-align:middle; ">지급액</caption>
  414. <caption id="caption13" class="cell_1" visibility="hidden" style="left:491px; top:14px; width:100px; height:23px; vertical-align:middle; ">지급일자</caption>
  415. <input id="ipt_paytotamt" ref="/root/main/orch_one/paytotamt" class="input_s_essential" navindex="2" format="(-)#,###" style="left:103px; top:39px; width:150px; height:19px; text-align:right; ">
  416. <script type="javascript" ev:event="onkeypress">
  417. <![CDATA[
  418. if (event.keyCode == "13") {
  419. model.setFocus("ipt_cmt");
  420. }
  421. ]]>
  422. </script>
  423. </input>
  424. <input id="ipt_cmt" ref="/root/main/orch_one/cmt" class="input_default" navindex="3" style="left:103px; top:64px; width:662px; height:19px; ">
  425. <script type="javascript" ev:event="onkeypress">
  426. <![CDATA[
  427. if (event.keyCode == "13") {
  428. model.setFocus("btn_grdadd");
  429. }
  430. ]]>
  431. </script>
  432. </input>
  433. <line id="line10" class="line_2" style="x1:0px; y1:61px; x2:765px; y2:61px; "/>
  434. <input id="ipt_paydd" ref="/root/main/list/orch/paydd" class="input_default" disabled="true" navindex="-1" visibility="hidden" style="left:594px; top:15px; width:171px; height:19px; text-align:center; "/>
  435. <datagrid id="grd_orchlist" nodeset="/root/main/list/orchlist" caption="기관코드^일련번호^세부일련번호^징수구분^사원번호^주민등록번호^성명^사업자등록번호^상호^일용근로일수^일용근로일급^지급액^세율^소득세^주민세^비고^우편번호^우편번호1^우편번호2^우편번호일련번호^주소^상세주소^업종구분^소득구분" colwidth="0, 0, 0, 0, 97, 0, 91, 0, 0, 0, 0, 106, 0, 0, 0, 449, 0, 0, 0, 0, 0, 0, 0, 0" dataheight="25" ellipsis="true" extendlastcol="scroll" frozencols="9" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:0px; top:114px; width:765px; height:409px; ">
  436. <col ref="instcd" visibility="hidden"/>
  437. <col ref="seqno" visibility="hidden"/>
  438. <col ref="detlseqno" visibility="hidden"/>
  439. <col ref="chrgflag" visibility="hidden"/>
  440. <col ref="emplno"/>
  441. <col ref="rrgstno" visibility="hidden" format="999999-9999999"/>
  442. <col ref="name"/>
  443. <col ref="entrregno" visibility="hidden" format="999-99-99999"/>
  444. <col ref="custnm" visibility="hidden"/>
  445. <col ref="dayno" visibility="hidden"/>
  446. <col ref="dypay" visibility="hidden"/>
  447. <col ref="paytotamt" format="(-)#,###" style="text-align:right; "/>
  448. <col ref="taxrate" visibility="hidden"/>
  449. <col ref="incmtax" visibility="hidden" format="(-)#,###" style="text-align:right; "/>
  450. <col ref="resdntax" visibility="hidden" format="(-)#,###" style="text-align:right; "/>
  451. <col ref="cmt"/>
  452. <col ref="zipcd" visibility="hidden"/>
  453. <col ref="zipcd1" visibility="hidden"/>
  454. <col ref="zipcd2" visibility="hidden"/>
  455. <col ref="zipcdseqno" visibility="hidden"/>
  456. <col ref="supaddr" visibility="hidden"/>
  457. <col ref="infaddr" visibility="hidden"/>
  458. <col disabled="true" ref="induflag" type="combo" visibility="hidden">
  459. <choices>
  460. <itemset nodeset="/root/init/R0278list/R0278">
  461. <label ref="cdnm"/>
  462. <value ref="cdid"/>
  463. </itemset>
  464. </choices>
  465. </col>
  466. <col ref="incmflag" type="combo" visibility="hidden">
  467. <choices>
  468. <itemset nodeset="/root/init/R0279list/R0279">
  469. <label ref="cdnm"/>
  470. <value ref="cdid"/>
  471. </itemset>
  472. </choices>
  473. </col>
  474. <script type="javascript" ev:event="onclick">
  475. <![CDATA[
  476. if(grd_orchlist.isCell(event.target) && grd_orchlist.row >= grd_orchlist.fixedRows) {
  477. fGridRowClick();
  478. }
  479. ]]>
  480. </script>
  481. </datagrid>
  482. <input id="input1" ref="/root/main/list/orch/instcd" class="input_s_essential" visibility="hidden" style="left:185px; top:90px; width:30px; height:19px; "/>
  483. <input id="input2" ref="/root/main/list/orch/seqno" class="input_s_essential" visibility="hidden" style="left:220px; top:90px; width:30px; height:19px; "/>
  484. <input id="input3" ref="/root/main/list/orch/chrgflag" class="input_s_essential" visibility="hidden" style="left:255px; top:90px; width:30px; height:19px; "/>
  485. <input id="input4" ref="/root/main/list/orch/unsldd" class="input_s_essential" visibility="hidden" style="left:290px; top:90px; width:30px; height:19px; "/>
  486. <input id="input5" ref="/root/main/list/orch/unslno" class="input_s_essential" visibility="hidden" style="left:325px; top:90px; width:30px; height:19px; "/>
  487. <input id="input6" ref="/root/main/list/orch/undeciseqno" class="input_s_essential" visibility="hidden" style="left:360px; top:90px; width:30px; height:19px; "/>
  488. <input id="ipt_taxrate" ref="/root/main/orch_one/taxrate" class="input_default" navindex="-1" visibility="hidden" maxlength="10" format="(-)#,###%" style="left:396px; top:91px; width:54px; height:19px; text-align:right; "/>
  489. <button id="btn_grddel" class="btn2_letter3" disabled="true" navindex="-1" style="left:712px; top:91px; width:53px; height:19px; ">
  490. <caption>행삭제</caption>
  491. <script type="javascript" ev:event="DOMActivate">
  492. <![CDATA[
  493. fGridRowDelClick();
  494. ]]>
  495. </script>
  496. </button>
  497. <button id="btn_grdadd" class="btn2_letter3" navindex="4" style="left:657px; top:91px; width:53px; height:19px; ">
  498. <caption>행추가</caption>
  499. <script type="javascript" ev:event="DOMActivate">
  500. <![CDATA[
  501. fGridRowAddClick();
  502. ]]>
  503. </script>
  504. <script type="javascript" ev:event="onkeypress">
  505. <![CDATA[
  506. if (event.keyCode == "13") {
  507. model.setFocus("btn_save");
  508. }
  509. ]]>
  510. </script>
  511. </button>
  512. <output id="output1" ref="/root/hidden/orchreturn/amt" navindex="-1" format="(-)#,###" style="left:654px; top:526px; width:110px; height:19px; text-align:right; "/>
  513. <caption id="caption15" style="left:593px; top:526px; width:60px; height:20px; ">지급합액 :</caption>
  514. <input id="ipt_name" ref="/root/main/orch_one/name" class="input_essential" navindex="1" style="left:225px; top:15px; width:225px; height:19px; ">
  515. <script type="javascript" ev:event="onkeypress">
  516. <![CDATA[
  517. if(event.keyCode == 13)
  518. {
  519. model.setFocus("ipt_paytotamt");
  520. }
  521. ]]>
  522. </script>
  523. <script type="javascript" ev:event="xforms-value-changed">
  524. <![CDATA[
  525. misfValidationCheck("49", "", "emplno,name","","","name","");
  526. model.refresh();
  527. ]]>
  528. </script>
  529. </input>
  530. <button id="btn_userhelp" class="icon_search" navindex="-1" style="left:205px; top:16px; width:16px; height:16px; ">
  531. <caption/>
  532. <script type="javascript" ev:event="DOMActivate">
  533. <![CDATA[
  534. misfOpenPopUpList("49", ipt_paytotamt, "", "emplno,name");
  535. model.refresh();
  536. if(event.keyCode == 13)
  537. {
  538. model.setFocus("ipt_paytotamt");
  539. }
  540. ]]>
  541. </script>
  542. </button>
  543. <input id="ipt_emplno" ref="/root/main/orch_one/emplno" class="input_essential" style="left:103px; top:15px; width:97px; height:19px; ">
  544. <script type="javascript" ev:event="onkeypress">
  545. <![CDATA[
  546. if(event.keyCode == 13)
  547. {
  548. model.setFocus("ipt_paytotamt");
  549. }
  550. ]]>
  551. </script>
  552. <script type="javascript" ev:event="xforms-value-changed">
  553. <![CDATA[
  554. misfValidationCheck("49", "", "emplno,name", "", "", "code","");
  555. model.refresh();
  556. ]]>
  557. </script>
  558. </input>
  559. <button id="btn_excadd" class="btn2_letter4" style="left:585px; top:91px; width:64px; height:19px; text-align:left; ">
  560. <caption>엑셀입력</caption>
  561. <script type="javascript" ev:event="onclick">
  562. <![CDATA[
  563. // model.removenode(grd_orchlist.nodeset);
  564. // grd_orchlist.clearStatus();
  565. var grd_orchlist_rows = grd_orchlist.rows
  566. for(var i = grd_orchlist.fixedRows ; i < grd_orchlist_rows; i++)
  567. {
  568. grd_orchlist.deleteRow(grd_orchlist.fixedRows, false);
  569. }
  570. //alert("01");
  571. var bfrows = grd_excelload.rows;
  572. fInputExcel(grd_excelload);
  573. if(grd_excelload.rows == bfrows)
  574. {
  575. return;
  576. }
  577. //alert("02");
  578. var rowlevel = 1;
  579. var grd_excelload_fixedRows = grd_excelload.fixedRows;
  580. var grd_excelload_rows = grd_excelload.rows;
  581. //유효한 값을 가지고 있지 않으면 입력되지 않는다.
  582. //어느 위치든 공백컬럼을 포함하는 row는 입력이 무시되고 다음 라인을 입력하게 된다.(공백값을 포함하는 row는 삭제된다.)
  583. //alert("0");
  584. for( i = grd_excelload_fixedRows ; i < grd_excelload_rows ; i++)
  585. {
  586. var valflag = true;
  587. if(grd_excelload.valueMatrix( rowlevel, grd_excelload.colRef("emplno")) == '' || grd_excelload.valueMatrix( rowlevel, grd_excelload.colRef("emplno")) == null)
  588. {
  589. //messageBox("사번이" ,"I004");
  590. //return;
  591. //alert("0");
  592. valflag = false;
  593. }
  594. if(grd_excelload.valueMatrix( rowlevel, grd_excelload.colRef("name")) == '' || grd_excelload.valueMatrix( rowlevel, grd_excelload.colRef("name")) == null)
  595. {
  596. //messageBox("이름이" ,"I004");
  597. //return;
  598. //alert("0");
  599. valflag = false;
  600. }
  601. if(grd_excelload.valueMatrix( rowlevel, grd_excelload.colRef("paytotamt")) == '' || grd_excelload.valueMatrix( rowlevel, grd_excelload.colRef("paytotamt")) == null)
  602. {
  603. //messageBox("지급액이" ,"I004");
  604. //return;
  605. //alert("0");
  606. valflag = false;
  607. }
  608. if(grd_excelload.valueMatrix( rowlevel, grd_excelload.colRef("cmt")) == '' || grd_excelload.valueMatrix( rowlevel, grd_excelload.colRef("cmt")) == null)
  609. {
  610. //messageBox("비고가" ,"I004");
  611. //return;
  612. // alert("0");
  613. // valflag = false;
  614. }
  615. if(valflag == false)
  616. {
  617. grd_excelload.deleteRow(rowlevel, false);
  618. }
  619. else
  620. {
  621. rowlevel += 1;
  622. }
  623. }
  624. model.setValue("/root/hidden/maxdetlseqno", "0001");
  625. for(var i=1 ; i < grd_excelload.rows; i++)
  626. {
  627. misfGridIUD(grd_orchlist, "A", "N")
  628. model.setValue(grd_orchlist.nodeset + "[" + i + "]/instcd", model.getValue("/root/main/orch_one/instcd"))
  629. model.setValue(grd_orchlist.nodeset + "[" + i + "]/detlseqno", model.getValue("/root/hidden/maxdetlseqno"))
  630. model.setValue(grd_orchlist.nodeset + "[" + i + "]/chrgflag", model.getValue("/root/main/orch_one/chrgflag"))
  631. model.setValue(grd_orchlist.nodeset + "[" + i + "]/emplno", model.getValue(grd_excelload.nodeset + "[" + i + "]/emplno"))
  632. model.setValue(grd_orchlist.nodeset + "[" + i + "]/name", model.getValue(grd_excelload.nodeset + "[" + i + "]/name"))
  633. model.setValue(grd_orchlist.nodeset + "[" + i + "]/paytotamt", model.getValue(grd_excelload.nodeset + "[" + i + "]/paytotamt"))
  634. model.setValue(grd_orchlist.nodeset + "[" + i + "]/cmt", model.getValue(grd_excelload.nodeset + "[" + i + "]/cmt"))
  635. fExcelGetfSeqno();
  636. }
  637. model.setValue("/root/main/orch_one/detlseqno", model.getValue("/root/hidden/maxdetlseqno"));
  638. var grd_excelload_rows = grd_excelload.rows
  639. for(var i = grd_excelload.fixedRows ; i < grd_excelload_rows; i++)
  640. {
  641. grd_excelload.deleteRow(grd_excelload.fixedRows, false);
  642. }
  643. //grd_orchlist.row = grd_orchlist.rows-1;
  644. //btn_grdadd.dispatch("DOMActivate");
  645. ]]>
  646. </script>
  647. </button>
  648. <datagrid id="grd_excelload" nodeset="/root/temp/orchlist" visibility="hidden" caption="사원번호^성명^지급액^비고" colwidth="150, 150, 150, 100" dataheight="25" ellipsis="true" extendlastcol="scroll" frozencols="9" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:200px; top:275px; width:560px; height:138px; ">
  649. <col ref="emplno"/>
  650. <col ref="name"/>
  651. <col ref="paytotamt" format="(-)#,###" style="text-align:right; "/>
  652. <col ref="cmt"/>
  653. </datagrid>
  654. <button id="button2" class="btn2_letter4" visibility="visible" style="left:516px; top:91px; width:64px; height:19px; text-align:left; ">
  655. <caption>엑셀양식</caption>
  656. <script type="javascript" ev:event="onclick">
  657. <![CDATA[
  658. misfSaveExcel(grd_excelload);
  659. ]]>
  660. </script>
  661. </button>
  662. </group>
  663. <group id="grp_btn" scroll="auto" style="left:0px; top:562px; width:765px; height:27px; ">
  664. <line id="line1" class="line_6" style="x1:0px; y1:0px; x2:765px; y2:0px; "/>
  665. <button id="btn_save" class="btn4_letter2" navindex="5" style="left:592px; top:3px; width:56px; height:22px; ">
  666. <caption>저장</caption>
  667. <script type="javascript" ev:event="onkeypress">
  668. <![CDATA[
  669. if (event.keyCode == "13")
  670. {
  671. fSave();
  672. model.setFocus("btn_close");
  673. }
  674. ]]>
  675. </script>
  676. <script type="javascript" ev:event="onclick">
  677. <![CDATA[
  678. fSave();
  679. ]]>
  680. </script>
  681. </button>
  682. <button id="btn_delete" class="btn4_letter2" navindex="7" style="left:650px; top:3px; width:56px; height:22px; ">
  683. <caption>삭제</caption>
  684. <script type="javascript" ev:event="DOMActivate">
  685. <![CDATA[
  686. fDelete();
  687. ]]>
  688. </script>
  689. </button>
  690. <button id="btn_close" class="btn4_letter2" navindex="6" style="left:708px; top:3px; width:56px; height:22px; ">
  691. <caption>닫기</caption>
  692. <script type="javascript" ev:event="DOMActivate">
  693. <![CDATA[
  694. // var receiveref = model.getValue("/root/target/receiveref");
  695. // if (checkOpener())
  696. // {
  697. // opener.model.setValue(receiveref + "/seqno", model.getValue("/root/main/list/orch/seqno"));
  698. // opener.model.setValue(receiveref + "/amt", model.getValue("/root/hidden/orchreturn/amt"));
  699. // }
  700. // else
  701. // {
  702. // messagebox("상위화면이 변경되어 데이터를 전달할 수 ", "I004");
  703. // }
  704. window.close();
  705. ]]>
  706. </script>
  707. </button>
  708. </group>
  709. </xhtml:body>
  710. </xhtml:html>