SMRWY00300_연말정산전근무지자료등록.xrw 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727
  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. <bfdutplceempl>
  11. <emplinfolist>
  12. <emplno/>
  13. <emplnm/>
  14. <rregno/>
  15. <instnm/>
  16. <deptnm/>
  17. <grupjoblnnm/>
  18. <jobposnm/>
  19. <ojobgradnm/>
  20. <payclsnm/>
  21. <entcodd/>
  22. <retiredd/>
  23. <calcyy/>
  24. </emplinfolist>
  25. <bfdutplcelist/>
  26. </bfdutplceempl>
  27. <bfdutplceform>
  28. <bfdutplceformlist>
  29. <emplno/>
  30. <emplnm/>
  31. <entrregno/>
  32. <trdnm/>
  33. <entcodd/>
  34. <retiredd/>
  35. <calcseq/>
  36. <calcyy/>
  37. <retireyn/>
  38. <selectcheck/>
  39. </bfdutplceformlist>
  40. </bfdutplceform>
  41. <bfdutplcedetail>
  42. <bfdutplcedetaillist>
  43. <calcflagnm/>
  44. <calcamt/>
  45. <emplno/>
  46. <entrregno/>
  47. <calcyy/>
  48. <calcflagcd/>
  49. <calcseq/>
  50. </bfdutplcedetaillist>
  51. </bfdutplcedetail>
  52. <entrregnotrdnm>
  53. <entrregnotrdnmlist/>
  54. </entrregnotrdnm>
  55. </main>
  56. <send>
  57. <save>
  58. <bfdutplceformlist/>
  59. <bfdutplcedetaillist/>
  60. </save>
  61. <searchfrorm>
  62. <emplno/>
  63. <emplnm/>
  64. <estbddstart/>
  65. <estbddend/>
  66. <calcyy/>
  67. <retireyn>N</retireyn>
  68. <calcinst/>
  69. </searchfrorm>
  70. <bfdutplceempl>
  71. <emplno/>
  72. <calcyy/>
  73. <emplnm/>
  74. <retireyn/>
  75. </bfdutplceempl>
  76. <bfdutplceform>
  77. <emplno/>
  78. <entrregno/>
  79. <calcyy/>
  80. <calcseq/>
  81. <seqno/>
  82. </bfdutplceform>
  83. <calcflagsend>
  84. <calcyy/>
  85. <emplno/>
  86. <entrregno/>
  87. <calcseq/>
  88. </calcflagsend>
  89. <entrregnotrdnm>
  90. <entrregno/>
  91. </entrregnotrdnm>
  92. </send>
  93. <init>
  94. </init>
  95. <temp/>
  96. </root>
  97. </instance>
  98. <script type="javascript" ev:event="xforms-ready">
  99. <![CDATA[
  100. fInitialize();
  101. fEnableInsertButton();
  102. misfGridInit(grd_emplinfolist);
  103. misfGridInit(grd_bfdutplceformlist);
  104. misfGridInit(grd_bfdutplcedetaillist);
  105. misfMsterDetailSet(grd_emplinfolist,null,"TRRWY00101","N");
  106. misfMsterDetailSet(grd_bfdutplceformlist,grd_emplinfolist, "TRRWY00102","Y" );
  107. misfMsterDetailSet(grd_bfdutplcedetaillist,grd_emplinfolist, "TRRWY00103","Y" );
  108. //btn_search.dispatch("DOMActivate");
  109. misfGetUserAuth();
  110. if (DUTY_PAY_YN == "Y" ) {
  111. cmb_calcinst.disabled = false;
  112. }
  113. else {
  114. cmb_calcinst.disabled = true;
  115. }
  116. model.refresh();
  117. btn_save.disabled = !(checkAuth("X"));
  118. model.setFocus("ipt_emplno");
  119. //misfComboComCdListMulti("Z0007,R0099,R0112,R0130","cmb_instcd,cmb_paydeduflag,cmb_SalDfrayFlag,grd_paydedulist.timsamtflag");
  120. ]]>
  121. </script>
  122. <submission id="TRRWY00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/searchfrorm" resultref="/root/main/bfdutplceempl"/>
  123. <submission id="TXRWY00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/temp"/>
  124. <submission id="TRRWY00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/bfdutplceempl" resultref="/root/main/bfdutplceform"/>
  125. <submission id="TRRWY00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/bfdutplceform" resultref="/root/main/bfdutplcedetail"/>
  126. <submission id="TRRWY00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/calcflagsend" resultref="/root/main/bfdutplcedetail"/>
  127. <submission id="TRRWY02304" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/entrregnotrdnm" resultref="/root/main/entrregnotrdnm"/>
  128. </model>
  129. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  130. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  131. <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
  132. <script type="javascript" src="../../../mis/paybaseinfomngtweb/js/RWC001.js"/>
  133. <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
  134. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  135. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  136. <script type="javascript" src="../../../mis/acntcommonweb/js/RAD001.js"/>
  137. <script type="javascript">
  138. <![CDATA[
  139. function fInitialize() {
  140. model.removeNodeset("/root/main/bfdutplceempl");
  141. model.removeNodeset("/root/main/bfdutplceform");
  142. model.removeNodeset("/root/main/bfdutplcedetail");
  143. //model.resetInstanceNode("/root/send");
  144. model.setValue(cmb_calcinst.attribute("ref"), getUserInfo("dutplceinstcd"));
  145. //misfComboComCdListMulti("Z0007","cmb_calcinst");
  146. misfComboInstCdListMulti("cmb_calcinst",getCurrentDate(),"","N");
  147. model.refresh();
  148. var nowdate = getCurrentDate();
  149. var yy = nowdate.substring(0,4);
  150. var mm = nowdate.substring(4,6);
  151. if (mm == "01" || mm == "02") {
  152. yy = parseInt(yy) - 1;
  153. yyyymm = yy + "12";
  154. }
  155. ipt_calcyy.value =yy;
  156. model.refresh();
  157. }
  158. function fEnableInsertButton() {
  159. btn_insert.disabled = true;
  160. btn_delete.disabled = true;
  161. }
  162. function fSaveCheck(){
  163. var cur_row=grd_bfdutplceformlist.row ;
  164. var calcyy= grd_bfdutplceformlist.valueMatrix(cur_row, grd_bfdutplceformlist.colRef("calcyy"));
  165. var emplno=grd_bfdutplceformlist.valueMatrix(cur_row, grd_bfdutplceformlist.colRef("emplno"));
  166. var entrregno=grd_bfdutplceformlist.valueMatrix(cur_row, grd_bfdutplceformlist.colRef("entrregno"));
  167. var calcseq=grd_bfdutplceformlist.valueMatrix(cur_row, grd_bfdutplceformlist.colRef("calcseq"));
  168. var seqno = grd_bfdutplceformlist.valueMatrix(cur_row, grd_bfdutplceformlist.colRef("seqno"));
  169. var oldentrregno=grd_bfdutplceformlist.valueMatrix(cur_row, grd_bfdutplceformlist.colRef("oldentrregno"));
  170. for(i= grd_bfdutplcedetaillist.fixedRows; i < grd_bfdutplcedetaillist.rows;i++){
  171. grd_bfdutplcedetaillist.valueMatrix(i, grd_bfdutplcedetaillist.colRef("calcyy")) = calcyy;
  172. grd_bfdutplcedetaillist.valueMatrix(i, grd_bfdutplcedetaillist.colRef("emplno")) = emplno;
  173. grd_bfdutplcedetaillist.valueMatrix(i, grd_bfdutplcedetaillist.colRef("entrregno")) = entrregno;
  174. grd_bfdutplcedetaillist.valueMatrix(i, grd_bfdutplcedetaillist.colRef("calcseq")) = calcseq;
  175. grd_bfdutplcedetaillist.valueMatrix(i, grd_bfdutplcedetaillist.colRef("seqno")) = seqno;
  176. //alert(grd_bfdutplcedetaillist.rowStatus(i) );
  177. if (grd_bfdutplcedetaillist.rowStatus(i) != 1 && grd_bfdutplcedetaillist.rowStatus(i) != 3 && entrregno != oldentrregno) {
  178. grd_bfdutplcedetaillist.rowStatus(i) = 2;
  179. }
  180. }
  181. //사업자등록번호 유효 check
  182. for (var k = grd_bfdutplceformlist.fixedRows; k < grd_bfdutplceformlist.rows; k++) {
  183. entrregno=grd_bfdutplceformlist.valueMatrix(k, grd_bfdutplceformlist.colRef("entrregno"));
  184. if (entrregno == null || entrregno == "") {
  185. messageBox((k - grd_bfdutplceformlist.fixedRows + 1) + "번째줄의 사업자 등록 번호를 입력 하세요!!!","");
  186. return false;
  187. }
  188. if (!radfBizCheck(entrregno.replace(/-/g, ""))) {
  189. messageBox((k - grd_bfdutplceformlist.fixedRows + 1) + "번째줄의 사업자 등록 번호를 확인 하세요!!!","");
  190. return false;
  191. }
  192. }
  193. return true;
  194. }
  195. function fSettringPreDetailRetr(cur_row)
  196. {
  197. if(grd_bfdutplceformlist.rows - grd_bfdutplceformlist.fixedRows < 0) return;
  198. var calcyy= grd_bfdutplceformlist.valueMatrix(cur_row, grd_bfdutplceformlist.colRef("calcyy"));
  199. var emplno=grd_bfdutplceformlist.valueMatrix(cur_row, grd_bfdutplceformlist.colRef("emplno"));
  200. var entrregno=grd_bfdutplceformlist.valueMatrix(cur_row, grd_bfdutplceformlist.colRef("entrregno"));
  201. var calcseq=grd_bfdutplceformlist.valueMatrix(cur_row, grd_bfdutplceformlist.colRef("calcseq"));
  202. var seqno=grd_bfdutplceformlist.valueMatrix(cur_row, grd_bfdutplceformlist.colRef("seqno"));
  203. model.setValue("/root/send/bfdutplceform/calcyy",calcyy);
  204. model.setValue("/root/send/bfdutplceform/emplno",emplno);
  205. model.setValue("/root/send/bfdutplceform/entrregno",entrregno);
  206. model.setValue("/root/send/bfdutplceform/calcseq",calcseq);
  207. model.setValue("/root/send/bfdutplceform/seqno",seqno);
  208. submit("TRRWY00103");
  209. model.setFocus("grd_bfdutplceformlist");
  210. grd_bfdutplceformlist.row = cur_row;
  211. }
  212. ]]>
  213. </script>
  214. </xhtml:head>
  215. <xhtml:body>
  216. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  217. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">전근무지자료등록</caption>
  218. </group>
  219. <group id="group2" scroll="auto" style="left:0px; top:33px; width:1195px; height:744px; ">
  220. <datagrid id="grd_bfdutplceformlist" nodeset="/root/main/bfdutplceform/bfdutplceformlist" caption="사원번호^성명^정산년도^정산차수^사업자등록번호^상호명^입사일^퇴사일^중도퇴직여부^순번|사원번호^성명^정산년도^정산차수^사업자등록번호^상호명^입사일^퇴사일^중도퇴직여부^순번" colsep="^" colwidth="77, 70, 65, 62, 117, 174, 114, 116, 85, 26" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:425px; width:835px; height:309px; ">
  221. <col ref="emplno" _key="true" style="text-align:center; "/>
  222. <col ref="emplnm" style="text-align:center; "/>
  223. <col disabled="true" ref="calcyy" type="output" format="yyyy" _key="true" style="text-align:center; "/>
  224. <col ref="calcseq" type="output" maxlength="1" style="text-align:center; "/>
  225. <col ref="entrregno" type="input" maxlength="20" style="text-align:center; "/>
  226. <col ref="trdnm" type="input" maxlength="30"/>
  227. <col ref="entcodd" type="inputdate"/>
  228. <col autonext="false" ref="retiredd" type="inputdate"/>
  229. <col checkvalue="Y,N" ref="retireyn" type="checkbox" visibility="hidden"/>
  230. <col ref="seqno" visibility="hidden"/>
  231. <col ref="oldentrregno" visibility="hidden"/>
  232. <script type="javascript" ev:event="onrowchanged">
  233. <![CDATA[
  234. var cur_row=grd_bfdutplceformlist.row;
  235. var status=grd_bfdutplceformlist.rowStatus(cur_row);
  236. if(status =="0") fSettringPreDetailRetr(grd_bfdutplceformlist.row);
  237. grd_bfdutplceformlist.dispatch("onmouseup");
  238. for (var k = grd_bfdutplcedetaillist.fixedRows; k < grd_bfdutplcedetaillist.rows; k++) {
  239. if ("10060" == grd_bfdutplcedetaillist.valueMatrix(k, grd_bfdutplcedetaillist.colRef("calcflagcd")) ) {
  240. grd_bfdutplcedetaillist.cellAttribute("disabled",k, grd_bfdutplcedetaillist.colRef("calcamt")) = "true";
  241. }
  242. }
  243. ]]>
  244. </script>
  245. <script type="javascript" ev:event="xforms-value-changed">
  246. <![CDATA[
  247. if (grd_bfdutplceformlist.colAttribute(grd_bfdutplceformlist.col,"ref") == "entrregno") {
  248. var entrregno = grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("entrregno"));
  249. model.setValue("/root/send/entrregnotrdnm/entrregno",entrregno);
  250. submit("TRRWY02304");
  251. if(instance1.selectNodes("/root/main/entrregnotrdnm/entrregnotrdnmlist/trdnm").length > 0) {
  252. grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("trdnm")) = model.getValue("/root/main/entrregnotrdnm/entrregnotrdnmlist/trdnm");
  253. }
  254. else {
  255. grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("trdnm")) = "";
  256. }
  257. }
  258. else if(grd_bfdutplceformlist.colAttribute(grd_bfdutplceformlist.col,"ref") == "retiredd") {
  259. // event.preventDefault();
  260. model.setFocus("grd_bfdutplcedetaillist");
  261. grd_bfdutplcedetaillist.row = grd_bfdutplcedetaillist.fixedRows;
  262. grd_bfdutplcedetaillist.col = grd_bfdutplcedetaillist.colRef("calcamt");
  263. // event.stopPropagation();
  264. }
  265. ]]>
  266. </script>
  267. <script type="javascript" ev:event="onkeyup">
  268. <![CDATA[
  269. if (grd_bfdutplceformlist.colAttribute(grd_bfdutplceformlist.col,"ref") == "retiredd" && event.keyCode == "13") {
  270. model.setFocus("grd_bfdutplcedetaillist");
  271. grd_bfdutplcedetaillist.row = grd_bfdutplcedetaillist.fixedRows;
  272. grd_bfdutplcedetaillist.col = grd_bfdutplcedetaillist.colRef("calcamt");
  273. }
  274. ]]>
  275. </script>
  276. </datagrid>
  277. <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
  278. <button id="btn_search" class="btn1_letter2" style="left:1125px; top:16px; width:56px; height:22px; ">
  279. <caption>조회</caption>
  280. <script type="javascript" ev:event="DOMActivate">
  281. <![CDATA[
  282. if(ipt_calcyy.value==""){
  283. messageBox("정산년도는","I003");
  284. return;
  285. }
  286. if (ipt_emplno.value == "" && ipt_estbddstart.value == "") {
  287. messageBox("입사 일자는","I003");
  288. return;
  289. }
  290. if (ipt_emplno.value == "" && ipt_estbddend.value == "") {
  291. messageBox("입사 일자는","I003");
  292. return;
  293. }
  294. misfMsterDetailRetrieve();
  295. fSettringPreDetailRetr(grd_bfdutplceformlist.fixedRows);
  296. grd_bfdutplceformlist.colDisabled (4) = true;
  297. for (var k = grd_bfdutplcedetaillist.fixedRows; k < grd_bfdutplcedetaillist.rows; k++) {
  298. if ("10060" == grd_bfdutplcedetaillist.valueMatrix(k, grd_bfdutplcedetaillist.colRef("calcflagcd")) ) {
  299. grd_bfdutplcedetaillist.cellAttribute("disabled",k, grd_bfdutplcedetaillist.colRef("calcamt")) = "true";
  300. }
  301. }
  302. model.setFocus("grd_emplinfolist");
  303. //grd_bfdutplceformlist.colDisabled (5) = true;
  304. ]]>
  305. </script>
  306. </button>
  307. <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:38px; "/>
  308. <line id="line1" class="line_1" style="x1:0px; y1:420px; x2:835px; y2:420px; "/>
  309. <caption id="caption1" class="tit_2" style="left:5px; top:405px; width:198px; height:13px; ">전근무지자료내역</caption>
  310. <caption id="cap_deduym" class="search_name" style="left:15px; top:19; width:94px; height:17px; ">기준년도 :</caption>
  311. <input id="ipt_calcyy" ref="/root/send/searchfrorm/calcyy" class="input_s_essential" inputtype="date" format="yyyy" style="left:100px; top:18px; width:100px; height:19px; "/>
  312. <caption id="cap_emplno" class="search_name" style="left:450px; top:19px; width:86px; height:17px; ">사원번호 :</caption>
  313. <input id="ipt_emplnm" ref="/root/send/searchfrorm/emplnm" class="input_default" style="left:629px; top:18px; width:150px; height:19px; ">
  314. <script type="javascript" ev:event="onkeyup">
  315. <![CDATA[
  316. if (ipt_emplnm.currentText != null && ipt_emplnm.currentText != "" ) {
  317. inputEnterKey("ipt_emplnm", "xforms-value-changed");
  318. inputEnterKey("btn_search", "DOMActivate");
  319. }
  320. ]]>
  321. </script>
  322. <script type="javascript" ev:event="xforms-value-changed">
  323. <![CDATA[
  324. var recv_list = "emplno,emplnm";
  325. rpbfValidationCheck("EMPLNM", recv_list);
  326. model.refresh();
  327. ]]>
  328. </script>
  329. </input>
  330. <input id="ipt_emplno" ref="/root/send/searchfrorm/emplno" class="input_default" style="left:536px; top:18px; width:69px; height:19px; ">
  331. <script type="javascript" ev:event="onkeyup">
  332. <![CDATA[
  333. if (ipt_emplno.currentText != null && ipt_emplno.currentText != "" ) {
  334. inputEnterKey("ipt_emplno", "xforms-value-changed");
  335. inputEnterKey("btn_search", "DOMActivate");
  336. }
  337. ]]>
  338. </script>
  339. <script type="javascript" ev:event="xforms-value-changed">
  340. <![CDATA[
  341. var recv_list = "emplno,emplnm";
  342. rpbfValidationCheck("EMPLNO", recv_list);
  343. model.refresh();
  344. ]]>
  345. </script>
  346. </input>
  347. <button id="btn_emplsearch" class="icon_search" style="left:609px; top:18px; width:16px; height:16px; ">
  348. <caption/>
  349. <script type="javascript" ev:event="DOMActivate">
  350. <![CDATA[
  351. var recv_list = "emplno,emplnm";
  352. rpbfOpenPopUpList("SPRPB00101", ipt_emplno, recv_list,"","N");
  353. model.refresh();
  354. if (model.getValue(ipt_emplno.attribute("ref")).length > 0) {
  355. btn_search.dispatch("DOMActivate");
  356. }
  357. ]]>
  358. </script>
  359. </button>
  360. <datagrid id="grd_bfdutplcedetaillist" nodeset="/root/main/bfdutplcedetail/bfdutplcedetaillist" caption="정산구분^금액^사원번호^정산년도^사업자등록번호^정산구분코드^caption1|정산구분^금액^사원번호^정산년도^사업자등록번호^정산구분코드^caption1" colsep="^" colwidth="200, 125, 80, 100, 100, 100, 100, 100" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:840px; top:425px; width:355px; height:309px; padding-right:5; ">
  361. <col disabled="true" ref="calcflagnm"/>
  362. <col ref="calcamt" type="input" format="#,###" maxlength="10" style="text-align:right; "/>
  363. <col ref="emplno" visibility="hidden" _key="true"/>
  364. <col ref="entrregno" visibility="hidden" _key="true"/>
  365. <col ref="calcyy" visibility="hidden" _key="true"/>
  366. <col ref="calcflagcd" visibility="hidden" _key="true"/>
  367. <col ref="calcseq" visibility="hidden" _key="true"/>
  368. <col ref="seqno" visibility="hidden"/>
  369. <col ref="oldentrregno" visibility="hidden"/>
  370. <script type="javascript" ev:event="onkeyup">
  371. <![CDATA[
  372. if (grd_bfdutplcedetaillist.colAttribute(grd_bfdutplcedetaillist.col,"ref") == "calcamt" && event.keyCode == "13") {
  373. model.setFocus("grd_bfdutplcedetaillist");
  374. if (grd_bfdutplcedetaillist.row == grd_bfdutplcedetaillist.rows - grd_bfdutplcedetaillist.fixedRows + 1) {
  375. grd_bfdutplcedetaillist.row = grd_bfdutplcedetaillist.fixedRows;
  376. grd_bfdutplcedetaillist.col = grd_bfdutplcedetaillist.colRef("calcamt");
  377. }
  378. else {
  379. grd_bfdutplcedetaillist.row = grd_bfdutplcedetaillist.row + 1;
  380. grd_bfdutplcedetaillist.col = grd_bfdutplcedetaillist.colRef("calcamt");
  381. }
  382. }
  383. ]]>
  384. </script>
  385. </datagrid>
  386. <caption id="caption2" class="tit_2" style="left:845; top:405px; width:198px; height:13px; ">전근무지자료세부내역</caption>
  387. <line id="line2" class="line_1" style="x1:840px; y1:420px; x2:1195px; y2:420px; "/>
  388. <button id="btn_delete" class="btn2_letter3" style="left:715px; top:399px; width:53px; height:19px; ">
  389. <caption>행삭제</caption>
  390. <script type="javascript" ev:event="DOMActivate">
  391. <![CDATA[
  392. var rowcnt = grd_bfdutplcedetaillist.rows;
  393. if(rowcnt ==1){
  394. messageBox("세부내역이 존재 하므로 삭제 ", "E001");
  395. return;
  396. }
  397. misfGridIUD(grd_bfdutplceformlist, "D");
  398. // for( var i = 1 ; i< rowcnt ; i++)
  399. // {
  400. // grd_bfdutplcedetaillist.addStatus(i,"delete");
  401. // }
  402. grd_bfdutplcedetaillist.colDisabled (2) = true;
  403. ]]>
  404. </script>
  405. </button>
  406. <button id="btn_insert" class="btn2_letter3" style="left:659px; top:399px; width:53px; height:19px; ">
  407. <caption>행추가</caption>
  408. <script type="javascript" ev:event="DOMActivate">
  409. <![CDATA[
  410. if(!isRequiredControls("ipt_calcyy"))return;
  411. var updtdata = getGridUpdateData(grd_bfdutplcedetaillist);
  412. if (updtdata != "") {
  413. messageBox("작업 중인 내용이 있습니다. 저장후","C001");
  414. return;
  415. }
  416. if (switch1.selectedIndex == 0 ) {
  417. misfGridIUD(grd_bfdutplceformlist, "A");
  418. }
  419. else {
  420. grd_bfdutplceformlist.addRow(false);
  421. grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("emplno")) =
  422. grd_bfdutplcelist.valueMatrix(grd_bfdutplcelist.row, grd_bfdutplcelist.colRef("emplno"));
  423. grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("emplnm")) =
  424. grd_bfdutplcelist.valueMatrix(grd_bfdutplcelist.row, grd_bfdutplcelist.colRef("emplnm"));
  425. grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("calcyy")) =
  426. grd_bfdutplcelist.valueMatrix(grd_bfdutplcelist.row, grd_bfdutplcelist.colRef("calcyy"));
  427. grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("retireyn")) = "N";
  428. }
  429. //var crow=grd_bfdutplceformlist.row ;
  430. //grd_bfdutplceformlist.colDisabled (4) = false;
  431. //grd_bfdutplceformlist.colDisabled (5) = false;
  432. //var cur_row=grd_bfdutplceformlist.row;
  433. var calcyy=grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("calcyy"));
  434. model.setValue("/root/send/calcflagsend/calcyy",calcyy);
  435. submit("TRRWY00104");
  436. var rowcnt = grd_bfdutplcedetaillist.rows;
  437. for( var i = 1 ; i< rowcnt ; i++)
  438. {
  439. grd_bfdutplcedetaillist.addStatus(i,"insert");
  440. if ("10060" == grd_bfdutplcedetaillist.valueMatrix(i, grd_bfdutplcedetaillist.colRef("calcflagcd")) ) {
  441. grd_bfdutplcedetaillist.cellAttribute("disabled",i, grd_bfdutplcedetaillist.colRef("calcamt")) = "true";
  442. }
  443. }
  444. grd_bfdutplcedetaillist.colDisabled (2) = false;
  445. ]]>
  446. </script>
  447. </button>
  448. <button id="btn_excelsave" class="btn2_letter4" style="left:1124px; top:54px; width:64px; height:19px; ">
  449. <caption>엑셀저장</caption>
  450. <script type="javascript" ev:event="DOMActivate">
  451. <![CDATA[
  452. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  453. if (fileName != "")
  454. {
  455. if (switch1.selectedIndex == 0) {
  456. grd_emplinfolist.saveExcel(fileName, "SheetName", true, true, "", "");
  457. }
  458. else if (switch1.selectedIndex == 1) {
  459. grd_bfdutplcelist.saveExcel(fileName, "SheetName", true, true, "", "");
  460. }
  461. window.exec(fileName);
  462. }
  463. ]]>
  464. </script>
  465. </button>
  466. <caption id="caption3" class="search_name" style="left:800px; top:19px; width:86px; height:17px; ">입사일자:</caption>
  467. <input id="ipt_estbddstart" ref="/root/send/searchfrorm/estbddstart" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" style="left:885px; top:18px; width:100px; height:19px; "/>
  468. <caption id="caption59" class="search_n_b" style="left:989px; top:20px; width:12px; height:17px; font-weight:bolder; ">~</caption>
  469. <input id="ipt_estbddend" ref="/root/send/searchfrorm/estbddend" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" style="left:1005px; top:18px; width:100px; height:19px; "/>
  470. <switch id="switch1" style="left:0px; top:75px; width:1190px; height:315px; ">
  471. <case id="case1" selected="true">
  472. <caption id="caption278" class="tit_2" style="left:3px; top:2px; width:157px; height:13px; ">사원리스트</caption>
  473. <line id="line207" class="line_1" style="x1:0px; y1:15px; x2:1185px; y2:15px; "/>
  474. <datagrid id="grd_emplinfolist" nodeset="/root/main/bfdutplceempl/emplinfolist" caption="사원번호^성명^주민번호^소속기관^부서^직원분류^직위^직급^호봉^임용일자^퇴직일자^정산년도|사원번호^성명^주민번호^소속기관^부서^직원분류^직위^직급^호봉^임용일자^퇴직일자^정산년도" colsep="^" colwidth="100, 100, 113, 100, 130, 100, 100, 100, 80, 100, 100, 100" dataheight="25" ellipsis="true" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" tooltip="true" style="left:0px; top:20px; width:1185px; height:285px; ">
  475. <col ref="emplno" type="output" maxlength="20" style="text-align:center; "/>
  476. <col imemode="hangul" ref="emplnm" type="output" style="text-align:center; "/>
  477. <col ref="rregno" type="output" style="text-align:center; "/>
  478. <col ref="instnm" type="output"/>
  479. <col ref="deptnm" type="output" style="text-align:left; vertical-align:middle; "/>
  480. <col ref="grupjoblnnm" type="output"/>
  481. <col ref="jobposnm" type="output" style="text-align:left; "/>
  482. <col ref="ojobgradnm" type="output" maxlength="100"/>
  483. <col ref="payclsnm" type="output"/>
  484. <col ref="entcodd" type="output" format="yyyy-mm-dd"/>
  485. <col ref="retiredd" type="output" format="yyyy-mm-dd"/>
  486. <col ref="calcyy" visibility="hidden"/>
  487. <col ref="retireyn" visibility="hidden"/>
  488. <script type="javascript" ev:event="onrowchanged">
  489. <![CDATA[
  490. misfMsterDetailRetrieve();
  491. if(grd_emplinfolist.rows>0){
  492. btn_insert.disabled = false;
  493. btn_delete.disabled = false;
  494. }
  495. ]]>
  496. </script>
  497. </datagrid>
  498. </case>
  499. <case id="case2">
  500. <caption id="caption4" class="tit_2" style="left:3px; top:2px; width:157px; height:14px; ">전근무지 리스트</caption>
  501. <line id="line3" class="line_1" style="x1:0px; y1:15px; x2:1185px; y2:15px; "/>
  502. <datagrid id="grd_bfdutplcelist" nodeset="/root/main/bfdutplceempl/bfdutplcelist" caption="사원번호^성명^주민번호^소속기관^부서^직원분류^직위^직급^호봉^사업자등록번호^상호명^입사일^퇴사일^급여^상여^인정상여^합계^비과세^건강보험^건강보험정산^고용보험^연금보험료^국민연금^소득세^주민세^농어촌특별세^정산년도|사원번호^성명^주민번호^소속기관^부서^직원분류^직위^직급^호봉^사업자등록번호^상호명^입사일^퇴사일^급여^상여^인정상여^합계^비과세^건강보험^건강보험정산^고용보험^연금보험료^국민연금^소득세^주민세^농어촌특별세^정산년도" colsep="^" colwidth="100, 100, 113, 100, 130, 100, 100, 100, 80, 100, 146, 100, 100, 100, 100, 100, 109, 100, 100, 100, 100, 100, 100, 100, 100, 100, 23, 22" dataheight="25" explorerbar="sortshow" frozencols="3" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" tooltip="true" style="left:0px; top:20px; width:1185px; height:285px; ">
  503. <col ref="emplno" type="output" maxlength="20" style="text-align:center; "/>
  504. <col imemode="hangul" ref="emplnm" type="output" style="text-align:center; "/>
  505. <col ref="rregno" type="output" style="text-align:center; "/>
  506. <col ref="instnm" type="output"/>
  507. <col ref="deptnm" type="output" style="text-align:left; vertical-align:middle; "/>
  508. <col ref="grupjoblnnm" type="output"/>
  509. <col ref="jobposnm" type="output" style="text-align:left; "/>
  510. <col ref="ojobgradnm" type="output" maxlength="100"/>
  511. <col ref="payclsnm" type="output"/>
  512. <col ref="entrregno" format="999-99-99999"/>
  513. <col ref="trdnm"/>
  514. <col ref="preentcodd" format="yyyy-mm-dd"/>
  515. <col ref="preretiredd" format="yyyy-mm-dd"/>
  516. <col ref="payamt" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  517. <col ref="bnusamt" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  518. <col ref="bnusamt2" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  519. <col ref="paytotamt" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  520. <col ref="notaxamt" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  521. <col ref="healamt" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  522. <col ref="healamt2" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  523. <col ref="entinsuamt" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  524. <col ref="pensionamt1" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  525. <col ref="pensionamt2" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  526. <col ref="taxamt1" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  527. <col ref="taxamt2" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  528. <col ref="taxamt3" format="(-)#,###" style="text-align:right; vertical-align:middle; "/>
  529. <col ref="calcyy" visibility="hidden"/>
  530. <col ref="retireyn" visibility="hidden"/>
  531. <script type="javascript" ev:event="onrowchanged">
  532. <![CDATA[
  533. model.setValue("/root/send/bfdutplceempl/emplno",grd_bfdutplcelist.valueMatrix(grd_bfdutplcelist.row, grd_bfdutplcelist.colRef("emplno")));
  534. model.setValue("/root/send/bfdutplceempl/calcyy",grd_bfdutplcelist.valueMatrix(grd_bfdutplcelist.row, grd_bfdutplcelist.colRef("calcyy")));
  535. model.setValue("/root/send/bfdutplceempl/retireyn",grd_bfdutplcelist.valueMatrix(grd_bfdutplcelist.row, grd_bfdutplcelist.colRef("retireyn")));
  536. model.removeNodeset(grd_bfdutplceformlist.nodeset);
  537. model.removeNodeset(grd_bfdutplcedetaillist.nodeset);
  538. submit("TRRWY00102");
  539. if(grd_emplinfolist.rows>0){
  540. btn_insert.disabled = false;
  541. btn_delete.disabled = false;
  542. }
  543. if (grd_bfdutplceformlist.rows - grd_bfdutplceformlist.fixedRows > 0) {
  544. grd_bfdutplceformlist.row = grd_bfdutplceformlist.fixedRows;
  545. grd_bfdutplceformlist.dispatch("onrowchanged");
  546. }
  547. grd_bfdutplcelist.dispatch("onmouseup");
  548. ]]>
  549. </script>
  550. </datagrid>
  551. </case>
  552. </switch>
  553. <button id="btn_sw1" class="btn_sw" group="tab" selected="true" style="left:0px; top:52px; width:85px; height:22px; ">
  554. <caption>사원리스트</caption>
  555. <toggle case="case1" ev:event="onclick"/>
  556. </button>
  557. <button id="btn_sw2" class="btn_sw" group="tab" style="left:87px; top:52px; width:100px; height:22px; ">
  558. <caption>전근무지리스트</caption>
  559. <toggle case="case2" ev:event="onclick"/>
  560. </button>
  561. <select1 id="cmb_calcinst" ref="/root/send/searchfrorm/calcinst" class="combo_s_essential" appearance="minimal" style="left:304px; top:18px; width:125px; height:19px; ">
  562. <choices>
  563. <itemset>
  564. <label/>
  565. <value/>
  566. </itemset>
  567. </choices>
  568. </select1>
  569. <caption id="caption8" class="search_name" style="left:245px; top:19px; width:61px; height:17px; ">기관:</caption>
  570. <button id="btn_notax" class="btn2_letter8" style="left:1080px; top:399px; width:108px; height:19px; ">
  571. <caption>전근무지세부내역</caption>
  572. <script type="javascript" ev:event="DOMActivate">
  573. <![CDATA[
  574. if(!isRequiredControls("ipt_calcyy"))return;
  575. var updtdata = getGridUpdateData(grd_bfdutplcedetaillist);
  576. if (updtdata != "") {
  577. messageBox("작업 중인 내용이 있습니다. 저장후","C001");
  578. return;
  579. }
  580. model.removenode("/root/temp/source");
  581. model.makeNode("/root/temp/source");
  582. model.makeValue("/root/temp/source/calcyy", ipt_calcyy.value);
  583. model.makeValue("/root/temp/source/emplno", grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("emplno")) );
  584. model.makeValue("/root/temp/source/emplnm", grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("emplnm")) );
  585. model.makeValue("/root/temp/source/entrregno", grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("entrregno")) );
  586. model.makeValue("/root/temp/source/trdnm", grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("trdnm")) );
  587. model.makeValue("/root/temp/source/seqno", grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("seqno")) );
  588. model.makeValue("/root/temp/source/calcseq", grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("calcseq")) );
  589. model.makeValue("/root/temp/source/retireyn", grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("retireyn")) );
  590. modal("SPRWY00301","","","","","/root/temp/source", "/root/target" );
  591. grd_bfdutplceformlist.dispatch("onrowchanged");
  592. // var entrregno = grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("entrregno")) ;
  593. // var entcodd = grd_bfdutplceformlist.valueMatrix(grd_bfdutplceformlist.row, grd_bfdutplceformlist.colRef("entcodd")) ;
  594. //
  595. // btn_save.dispatch("DOMActivate");
  596. //
  597. // model.setFocus("grd_bfdutplceformlist");
  598. // for (var i = grd_bfdutplceformlist.fixedRows; i < grd_bfdutplceformlist.rows; i++) {
  599. // if (grd_bfdutplceformlist.valueMatrix(i, grd_bfdutplceformlist.colRef("entrregno")) == entrregno &&
  600. // grd_bfdutplceformlist.valueMatrix(i, grd_bfdutplceformlist.colRef("entcodd")) == entcodd ) {
  601. // grd_bfdutplceformlist.row = i;
  602. // grd_bfdutplceformlist.dispatch("onrowchanged");
  603. // }
  604. // }
  605. ]]>
  606. </script>
  607. </button>
  608. </group>
  609. <group id="grp_btn" scroll="auto" style="left:0px; top:12; width:1195px; height:27px; ">
  610. <button id="btn_save" class="btn4_letter2" style="left:1139px; top:3; width:56px; height:22px; ">
  611. <caption>저장</caption>
  612. <script type="javascript" ev:event="DOMActivate">
  613. <![CDATA[
  614. if(!checkKeyColumn("grd_bfdutplceformlist"))return;
  615. if(!fSaveCheck())return;
  616. var updtdata = getGridUpdateData(grd_bfdutplceformlist);
  617. var updtdatadetail = getGridUpdateData(grd_bfdutplcedetaillist);
  618. if (updtdata == "" && updtdatadetail =="") {
  619. messageBox("변경된 데이터가","I004");
  620. return;
  621. }
  622. var status=grd_bfdutplcedetaillist.rowStatus(1);
  623. misfSave("TXRWY00101");
  624. if(status =="4"){
  625. misfGridInit(grd_bfdutplcedetaillist);
  626. }
  627. grd_bfdutplceformlist.colDisabled (4) = true;
  628. //grd_bfdutplceformlist.colDisabled (5) = true;
  629. misfMsterDetailRetrieve();
  630. ]]>
  631. </script>
  632. </button>
  633. <button id="btn_init" class="btn4_letter3" style="left:1069px; top:3; width:68px; height:22px; ">
  634. <caption>초기화</caption>
  635. <script type="javascript" ev:event="DOMActivate">
  636. <![CDATA[
  637. var updtdata = getGridUpdateData(grd_bfdutplceformlist);
  638. var updtdata2 = getGridUpdateData(grd_bfdutplcedetaillist);
  639. if (updtdata != "" ||updtdata2 =="") {
  640. var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 초기화 작업을","Q003");
  641. if (ret != 6) { // not OK
  642. return;
  643. }
  644. }
  645. fInitialize();
  646. fEnableInsertButton();
  647. ]]>
  648. </script>
  649. </button>
  650. <line id="line9" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
  651. </group>
  652. </xhtml:body>
  653. </xhtml:html>