123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
- <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">
- <xhtml:head>
- <xhtml:title>고정지급공제사항등록</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <payitem>
- <payitemlist/>
- </payitem>
- <paydedu>
- <paydedulist/>
- </paydedu>
- <paydeducopy>
- <paydeducopylist/>
- </paydeducopy>
- <excel>
- <excellist/>
- </excel>
- </main>
- <send>
- <payitem>
- <appdd/>
- <instcd/>
- <paydeduflag/>
- <saldfrayflag/>
- <calcmthd/>
- </payitem>
- <paydedu>
- <paydedudd/>
- <instcd/>
- <paydeduflag/>
- <payitemcd/>
- <saldfrayflag/>
- </paydedu>
- <save>
- <paydedulist/>
- </save>
- <attach>
- <file/>
- <paydedudd/>
- <saldfrayflag/>
- <paydeduflag/>
- <payitemcd/>
- </attach>
- <vindedu>
- <instcd/>
- <payym/>
- <saldfrayflag/>
- </vindedu>
- </send>
- <init>
- <searchtext/>
- </init>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- misfGridInit(grd_payitemtitle);
- misfGridInit(grd_paydedulist);
- misfMsterDetailSet(grd_payitemtitle,null, "TRRWD01702" ,"N");
- misfMsterDetailSet(grd_paydedulist,grd_payitemtitle, "TRRWD01701" ,"Y");
-
- var curdate = getCurrentDate();
-
- model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
- model.setValue(cmb_SalDfrayFlag.attribute("ref") , "1");
-
- misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","N");
- misfComboComCdListMulti("R0099,R0112","cmb_paydeduflag,cmb_SalDfrayFlag");
-
- ]]>
- </script>
- <submission id="TRRWD01701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/paydedu" resultref="/root/main/paydedu"/>
- <submission id="TRRWD01702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/payitem" resultref="/root/main/payitem"/>
- <submission id="TXRWD01701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/save" resultref="/root/hidden/temp"/>
- <submission id="TXRWD00202" mediatype="multipart/form-data" method="form-data-post" ref="/root/send/attach" resultref="/root/main/excel"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
- <script type="javascript" src="../../../mis/paybaseinfomngtweb/js/RWC001.js"/>
- <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
- <script type="javascript">
- <![CDATA[
- function fseqnoset()
- {
- for (var i = grd_paydedulist.fixedRows; i < grd_paydedulist.rows; i++ ) {
- grd_paydedulist.valueMatrix(i, grd_paydedulist.colRef("seqno")) = i - grd_paydedulist.fixedRows + 1;
- }
- }
-
- var fso=new ActiveXObject("Scripting.FileSystemObject");
- function fExcelUpload() {
-
- var maxsize = upload1.attribute("filesize");
- var filename = window.fileDialog("open", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
- var filelist = filename.split("|");
- model.removeNodeset("/root/main/list/filelist");
- model.removeNodeset("/root/send/attach");
- //타이틀을 획득한다.
- var s = new String(filelist[filelist.length-1]);
- var ss = s.split("\\");
- if(filename !=""){
- //작업 전 row를 추가 >파일명 유/무에 따른 분기>
- for(var i = 0 ; i < filelist.length ; i++ ){
- grd_attach.addRow(false);
-
- if(filelist[i] == ""){
- //alert(grd_attach.rows - 1);
- grd_attach.removeRow(false);
- grd_attach.refresh();
- }else{
- grd_attach.valueMatrix(grd_attach.rows - 1, 0) = filelist[i];
- //파일크기('tfHelper.checkFileSize' 참조)
- var fileCnt = upload1.getFileCount();
- var lastIndex = fileCnt - 1;
- var fileSize = upload1.getFileSize(lastIndex);
- grd_attach.textmatrix(grd_attach.rows - 1,1) = fileSize;
-
- if (!checkFileSize(upload1)){
- grd_attach.removeItem();
- messageBox("파일 크기가 최대치("+maxsize+"Byte)를", "E003");
- return;
- }
- }
- }
- model.makeValue("/root/send/attach/saldfrayflag",cmb_SalDfrayFlag.value);
- model.makeValue("/root/send/attach/paydeduflag",cmb_paydeduflag.value);
- model.makeValue("/root/send/attach/payitemcd",grd_payitemtitle.valueMatrix(grd_payitemtitle.row, grd_payitemtitle.colRef("payitemcd")) );
-
- openLoadingBar("파일업로드 작업중입니다... ") ;
- submit("TXRWD00202");
- closeLoadingBar();
- //btn_search.dispatch("DOMActivate");
- }
-
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body>
- <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
- <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:800px; height:14px; ">고정지급공제사항등록</caption>
- </group>
- <group id="group2" scroll="auto" style="left:0px; top:38; width:1195px; height:744px; ">
- <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1195px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
- <button id="btn_search" class="btn1_letter2" style="left:1125px; top:16px; width:56px; height:22px; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- misfMsterDetailRetrieve();
-
- var saldfrayflag = cmb_SalDfrayFlag.value;
- var paydeduflag = cmb_paydeduflag.value;
-
- ]]>
- </script>
- </button>
- <line id="line13" class="line_4" style="x1:1110px; y1:16px; x2:1110px; y2:38px; "/>
- <caption id="caption278" class="tit_2" style="left:5px; top:55px; width:157px; height:13px; ">지급/공제코드</caption>
- <line id="line207" class="line_1" style="x1:0px; y1:70px; x2:355px; y2:70px; "/>
- <line id="line1" class="line_1" style="x1:360px; y1:70px; x2:1190px; y2:70px; "/>
- <caption id="caption1" class="tit_2" style="left:360px; top:55px; width:198px; height:13px; ">개인별 지급/공제사항등록</caption>
- <button id="btn_grdaddpaydedulist" class="btn2_letter3" style="left:888px; top:50px; width:53px; height:19px; ">
- <caption>행추가</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //grd_paydedulist.subtotal("clear", 0, 0);
- //grd_paydedulist.refresh();
-
- misfGridIUD(grd_paydedulist, "A");
- ]]>
- </script>
- </button>
- <button id="btn_inputexcel" class="btn2_letter4" style="left:1130px; top:50px; width:64px; height:19px; ">
- <caption>엑셀입력</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //grd_paydedulist.subtotal("clear", 0, 0);
- //grd_paydedulist.refresh();
-
- var fileName = window.fileDialog("open", ",", false, "", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
- grd_paydedulist.loadExcel(fileName, 1, true);
- //grd_paydedulist.deleteRow(grd_paydedulist.fixedRows);
- grd_paydedulist.refresh();
-
- var instcd = grd_payitemtitle.valueMatrix(grd_payitemtitle.row, grd_payitemtitle.colRef("instcd"));
- var paydeduflag = grd_payitemtitle.valueMatrix(grd_payitemtitle.row, grd_payitemtitle.colRef("paydeduflag"));
- var payitemcd = grd_payitemtitle.valueMatrix(grd_payitemtitle.row, grd_payitemtitle.colRef("payitemcd"));
- var saldfrayflag = grd_payitemtitle.valueMatrix(grd_payitemtitle.row, grd_payitemtitle.colRef("saldfrayflag"));
-
- for (var i = grd_paydedulist.fixedRows; i < grd_paydedulist.rows; i++) {
- grd_paydedulist.valueMatrix(i, grd_paydedulist.colRef("instcd")) = instcd;
- grd_paydedulist.valueMatrix(i, grd_paydedulist.colRef("payitemcd")) = payitemcd;
- grd_paydedulist.valueMatrix(i, grd_paydedulist.colRef("saldfrayflag")) = saldfrayflag;
- grd_paydedulist.rowStatus(i) = 1;
-
- }
-
- model.refresh();
- ]]>
- </script>
- </button>
- <button id="btn_grddelpaydedulist" class="btn2_letter3" style="left:1009px; top:50px; width:53px; height:19px; ">
- <caption>행삭제</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- // grd_paydedulist.subtotal("clear", 0, 0);
- // grd_paydedulist.refresh();
-
- // grd_paydedulist.row= grd_paydedulist.row - 1;
- misfGridIUD(grd_paydedulist, "D");
- ]]>
- </script>
- </button>
- <select1 id="cmb_instcd" ref="/root/send/payitem/instcd" class="combo_s_essential" navindex="1" appearance="minimal" style="left:84px; top:17px; width:125px; height:19px; ">
- <choices>
- <itemset>
- <label/>
- <value/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption2" class="search_name" style="left:25px; top:18px; width:61px; height:17px; ">기관:</caption>
- <datagrid id="grd_payitemtitle" nodeset="/root/main/payitem/payitemlist" caption="급여항목^급여항목코드명^^계산기준^적용일자^지급구분^지급공제구분^기관" colsep="^" colwidth="107, 169, 33, 36, 40, 42, 34, 34" dataheight="25" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:0px; top:75px; width:355px; height:660px; ">
- <col ref="payitemcd" type="output" style="text-align:center; vertical-align:middle; "/>
- <col ref="prntnm" type="output"/>
- <col ref="chkyn"/>
- <col ref="calcbase" visibility="hidden"/>
- <col ref="paydedudd" visibility="hidden"/>
- <col ref="saldfrayflag" visibility="hidden"/>
- <col ref="paydeduflag" visibility="hidden"/>
- <col ref="instcd" visibility="hidden"/>
- <script type="javascript" ev:event="onrowchanged">
- <![CDATA[
- misfMsterDetailRetrieve();
- //grd_paydedulist.subtotal("clear", 0, 0);
-
- fseqnoset();
- //grd_paydedulist.subtotal("count",-1 , grd_paydedulist.colRef("emplno"), "format:#,###; ", "background-color:#ffff99; font-weight:bold; ", 1, "합계");
- //grd_paydedulist.subtotal("sum",-1 , grd_paydedulist.colRef("paydeduamt"), "format:#,###; ", "background-color:#ffff99; font-weight:bold; ", 1, "합계");
- ]]>
- </script>
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- grd_payitemtitle.gridToInstance();
- ]]>
- </script>
- </datagrid>
- <datagrid id="grd_paydedulist" nodeset="/root/main/paydedu/paydedulist" caption="인원^사원번호^성명^지급공제금액/횟수^적용시작일자^적용종료일자^주민번호^비고^급여기관^기관코드^급여종류^지급공제코드^최초등록자ID^최초등록일시^최종수정자ID^최종수정일시" colsep="^" colwidth="41, 102, 68, 120, 94, 94, 99, 169, 113, 463, 34, 31, 34, 30, 38, 39" dataheight="25" explorerbar="sort" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="25" rowsep="|" style="left:360px; top:75px; width:830px; height:660px; ">
- <col ref="seqno" style="text-align:center; vertical-align:middle; "/>
- <col disabled="true" ref="emplno" type="inputbutton" style="text-align:right; vertical-align:middle; "/>
- <col ref="emplnm"/>
- <col ref="paydeduamt" type="input" format="(-)#,###" savetype="digit" style="text-align:right; vertical-align:middle; "/>
- <col ref="valifromdd" type="inputdate" format="yyyy-mm-dd" style="text-align:center; "/>
- <col ref="valitodd" type="inputdate" format="yyyy-mm-dd" style="text-align:center; "/>
- <col ref="rregno" format="999999-9999999" style="text-align:center; "/>
- <col ref="cmt" type="input"/>
- <col ref="instnm"/>
- <col ref="instcd" visibility="hidden"/>
- <col ref="saldfrayflag" visibility="hidden"/>
- <col ref="payitemcd" visibility="hidden"/>
- <col ref="fstrgstrid" visibility="hidden"/>
- <col ref="fstrgstdt" visibility="hidden"/>
- <col ref="lastupdtrid" visibility="hidden"/>
- <col ref="lastupdtdt" visibility="hidden"/>
- <script type="javascript" ev:event="onbuttonclick">
- <![CDATA[
- if (grd_paydedulist.colAttribute(grd_paydedulist.col,"ref") == "emplno" ) { //계산기준코드
- var recv_list = "emplno,emplnm";
-
- rpbfOpenPopUpList("SPRPB00101", grd_paydedulist, recv_list,"","N");
- model.refresh();
- }
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- if (grd_paydedulist.colAttribute(grd_paydedulist.col,"ref") == "emplno" ) { //계산기준코드
- var recv_list = "emplno,emplnm";
- misfValidationCheck("01-1", "", recv_list);
- model.refresh();
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- grd_paydedulist.gridToInstance();
-
-
-
- fseqnoset();
-
- //grd_paydedulist.subtotal("count",-1 , grd_paydedulist.colRef("emplno"), "format:#,###; ", "background-color:#ffff99; font-weight:bold; ", 1, "합계");
- //grd_paydedulist.subtotal("sum",-1 , grd_paydedulist.colRef("paydeduamt"), "format:#,###; ", "background-color:#ffff99; font-weight:bold; ", 1, "합계");
-
-
- ]]>
- </script>
- <script type="javascript" ev:event="onbeforesort">
- <![CDATA[
- //grd_paydedulist.subtotal("clear", 0, 0);
- ]]>
- </script>
- </datagrid>
- <select1 id="cmb_paydeduflag" ref="/root/send/payitem/paydeduflag" class="combo_s_essential" navindex="3" appearance="minimal" style="left:594px; top:17px; width:125px; height:19px; ">
- <choices>
- <itemset>
- <label/>
- <value/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- btn_search.dispatch("DOMActivate");
- ]]>
- </script>
- </select1>
- <caption id="caption4" class="search_name" style="left:485px; top:18px; width:107px; height:17px; ">지급공제구분:</caption>
- <caption id="caption5" class="search_name" style="left:245px; top:18px; width:86px; height:17px; ">급여종류:</caption>
- <select1 id="cmb_SalDfrayFlag" ref="/root/send/payitem/saldfrayflag" class="combo_s_essential" navindex="2" appearance="minimal" style="left:326px; top:17px; width:125px; height:19px; ">
- <choices>
- <itemset>
- <label/>
- <value/>
- </itemset>
- </choices>
- </select1>
- <button id="btn_saveexcel" class="btn2_letter4" style="left:1064px; top:50px; width:64px; height:19px; ">
- <caption>엑셀저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var fileName = window.fileDialog ("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
- if (fileName != "")
- {
- grd_paydedulist.saveExcel(fileName, "sheetname:savetype", true, true, "", "");
- }
- ]]>
- </script>
- </button>
- <button id="btn_grddelpaydedulistall" class="btn2_letter4" style="left:943px; top:50px; width:53px; height:19px; ">
- <caption>전체삭제</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- // grd_paydedulist.subtotal("clear", 0, 0);
- // grd_paydedulist.refresh();
-
-
- model.setFocus("grd_paydedulist");
- //grd_paydedulist.row= grd_paydedulist.row - 1;
-
- grd_paydedulist.select(grd_paydedulist.fixedRows, grd_paydedulist.colRef("emplno"), grd_paydedulist.rows - 1, grd_paydedulist.colRef("emplno")) = true;
-
- misfGridIUD(grd_paydedulist, "D");
- ]]>
- </script>
- </button>
- <datagrid id="grd_attach" nodeset="/root/send/attach" class="datagrid1" visibility="hidden" caption="File Name^File Size" colsep="^" colwidth="403, 93" dataheight="23" ellipsis="true" focuscolor="#b9e5fb" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" style="left:135px; top:430px; width:505px; height:69px; ">
- <col ref="file" style="text-align:center; "/>
- <col ref="filesize" format="#,###" style="text-align:right; "/>
- </datagrid>
- </group>
- <group id="grp_btn" scroll="auto" style="left:0px; top:12; width:1195px; height:27px; ">
- <button id="btn_save" class="btn4_letter2" style="left:1139px; top:3; width:56px; height:22px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- for (var i = 1; i < grd_paydedulist.rows; i ++){
- /*
- if (model.getValue("/root/main/paydedu/paydedulist[" + i + "]/emplno") != ""){
- if (model.getValue("/root/main/paydedu/paydedulist[" + i + "]/valifromdd") == ""){
- messageBox(i + "번째의 적용시작일자는 필수 입력항목입니다.", "E999", "");
- return;
- }
- if (model.getValue("/root/main/paydedu/paydedulist[" + i + "]/valitodd") == ""){
- messageBox(i + "번째의 적용종료일자는 필수 입력항목입니다.", "E999", "");
- return;
- }
- if (isValidDateTime(model.getValue("/root/main/paydedu/paydedulist[" + i + "]/valifromdd")) == false){
- messageBox(i + "번째의 적용시작일자 형식이 잘못 되었습니다.", "E999", "");
- return;
- }
- if (isValidDateTime(model.getValue("/root/main/paydedu/paydedulist[" + i + "]/valitodd")) == false){
- messageBox(i + "번째의 적용시작일자 형식이 잘못 되었습니다.", "E999", "");
- return;
- }
- if (model.getValue("/root/main/paydedu/paydedulist[" + i + "]/valifromdd") > model.getValue("/root/main/paydedu/paydedulist[" + i + "]/valitodd")){
- messageBox(i + "번째의 적용시작일자가 적용종료일자 보다 큽니다.", "E999", "");
- return;
- }
- }
- */
- var emplno = model.getValue("/root/main/paydedu/paydedulist[" + i + "]/emplno");
- var rregno = model.getValue("/root/main/paydedu/paydedulist[" + i + "]/rregno");
- if (emplno == ""){
- messageBox(i + "번째의 사원번호는 필수 항목입니다.", "E999", "");
- return;
- }
- var irow = 0;
- if (emplno != ""){
- irow = grd_paydedulist.findRow(emplno, i + 1, grd_paydedulist.colRef("emplno"), false, false);
- if (irow > 0){
- messageBox(irow + "번째 중복된 사원번호 자료가 존재합니다", "E999", "");
- return false;
- }
- }
- /*
- if (rregno != ""){
- irow = grd_paydedulist.findRow(rregno, i + 1, grd_paydedulist.colRef("rregno"), false, false);
- if (irow > 0){
- messageBox(irow + "번째 중복된 주민번호 자료가 존재합니다", "E999", "");
- return false;
- }
- }
- */
- /*
- for (var j = 1; j < grd_paydedulist.rows; j++){
- var emplno1 = model.getValue("/root/main/paydedu/paydedulist[" + j + "]/emplno");
- var rregno1 = model.getValue("/root/main/paydedu/paydedulist[" + j + "]/rregno");
- if (i != j){
- if (emplno != "" && emplno == emplno1){
- var emplnm = model.getValue("/root/main/paydedu/paydedulist[" + j + "]/emplnm");
- messageBox(j + "번째 " + emplnm + "의 중복된 사원번호 자료가 존재합니다", "E999", "");
- return false;
- }
- if (rregno != "" && rregno == rregno1){
- var emplnm = model.getValue("/root/main/paydedu/paydedulist[" + j + "]/emplnm");
- messageBox(j + "번째 " + emplnm + "의 중복된 주민번호 자료가 존재합니다", "E999", "");
- return false;
- }
- }
- }
- */
- }
- misfSave("TXRWD01701");
- ]]>
- </script>
- </button>
- <button id="button35" class="btn4_letter3" style="left:1069px; top:3; width:68px; height:22px; ">
- <caption>초기화</caption>
- </button>
- <line id="line9" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
- </group>
- </xhtml:body>
- </xhtml:html>
|