123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
- <xhtml:html xmlns:ex="http://www.comsquare.co.kr/xforms/excel" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:my="http://www.comsquare.co.kr/example" xmlns:ms="urn:schemas-microsoft-com:xslt" 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" xmlns:cs="http://www.comsquare.co.kr/xforms">
- <xhtml:head>
- <xhtml:title>급여소급내역조회</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <payspecdata>
- <payamtlist/>
- <paytitlelist/>
- <payitemmap/>
- <payitemchng/>
- </payspecdata>
- <payspecexcel>
- <payamtexcellist/>
- </payspecexcel>
- <origdata>
- <payamtlist/>
- </origdata>
- <changedlist>
- <ukey/>
- <saldfrayflag/>
- <payym/>
- <payitemcd/>
- <emplno/>
- <payitemamt/>
- <cmt/>
- </changedlist>
- <changedcmt>
- <ukey/>
- <saldfrayflag/>
- <payym/>
- <emplno/>
- <cmt/>
- </changedcmt>
- </main>
- <init>
- <temp/>
- </init>
- <send>
- <payspec>
- <emplno/>
- <emplnm/>
- <saldfrayflag>3</saldfrayflag>
- <payddfrom/>
- <payddto/>
- <dutdeptcd/>
- <instcd/>
- <payclsprfshipflag/>
- <chkyn/>
- <teamflag>1</teamflag>
- <paytotexceptyn/>
- <holyordflag/>
- <spageno/>
- <epageno/>
- <sumyn/>
- <offset>0</offset>
- <pagesize>50</pagesize>
- </payspec>
- <prtdata>
- <instnm/>
- <prtuser/>
- <payym/>
- </prtdata>
- <payamtlist/>
- <payitlist/>
- <changedlist>
- </changedlist>
- <changedcmt/>
- </send>
- <hidden/>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
-
- //2011.11.29 박준범 추가
- cpt_cmt.value = "";
- var curdate = getCurrentDate();
-
- model.setValue(ipt_payddfrom.attribute("ref") , curdate);
- model.setValue(ipt_payddto.attribute("ref") , curdate);
- model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
- misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","N");
- //misfComboComCdListMulti("R0112,R0066,R0097","cmb_SalDfrayFlag,cmb_holyordflag,cmb_payclsprfshipflag");
- //addComboItem( "cmb_payclsprfshipflag", "[-- 전체 --]", "%", "above");
- //addComboItem( "cmb_holyordflag", "[-- 전체 --]", "", "above");
- //model.setValue(cmb_payclsprfshipflag.attribute("ref"), "%");
- //model.setValue(cmb_holyordflag.attribute("ref"), "");
- //cmb_payclsprfshipflag.refresh();
-
- misfGetUserAuth();
-
- /* 2011.12.01 박준범 - 아래 comment처리하고 cmb_instcd는 disabled 처리했음
- if (DUTY_PAY_YN == "Y" ) {
- cmb_instcd.disabled = false;
- }
- else {
- cmb_instcd.disabled = true;
- }
- */
-
- model.removeNodeset("/root/main/changedlist"); // 변경된 급여항목 column의 값만 담는 nodeset 2011.11.11 박준범 추가
- model.removeNodeset("/root/main/changedcmt"); // 변경된 cmt column의 값만 담는 nodeset 2011.11.29 박준범 추가
- ]]>
- </script>
- <submission id="TRRWP21701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/payspec" resultref="/root/main/payspecdata"/>
- <submission id="TXRWP21701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/hidden"/>
- </model>
- <script type="javascript">
- <![CDATA[
-
-
- function SetGridColor(slength){
-
- var payitemmapnode = instance1.selectNodes("/root/main/payspecdata/payitemmap[*]/payitemmap");
-
- for (i=parseInt(slength-1); i < grd_payamtlist.rows; i++) {
-
- //소급분 Row는 Row 바탕색상을 달리 표시 ( "#FFF000" )
- if (grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag")) == 'F' ) {
-
- //grd_payamtlist.rowStyle(i, "all", "background-color") = "#FFF000";
- grd_payamtlist.rowStyle(i, "all", "background-color") = "#F4F4F4";
- }
-
- if (grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag")) == '1' || //1:정기급여
- grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag")) == '2' || //2: 하계/명절/상여
- grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag")) == 'F' ) { //F: 소급분 row
-
- for(j=0; j<payitemmapnode.length; j++) {
- //소급분만 입력가능, 나머지는 readonly 처리
- grd_payamtlist.isReadOnly(i, grd_payamtlist.colRef(payitemmapnode.item(j).value)) = true;
-
- //금액이 0보다 적은 경우, Cell 바탕색상을 달리 표시 ( "#FACICI" )
- if (grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef(payitemmapnode.item(j).value)) < 0) {
- grd_payamtlist.cellStyle("background-color", i, grd_payamtlist.colRef(payitemmapnode.item(j).value) ) = "#FACICI";
- }
- }
-
- //2011.11.29 박준범 - 소급분이 아닌 경우에는 비고 컬럼(cmt) 에 입력불가 처리
- grd_payamtlist.isReadOnly(i, grd_payamtlist.colRef("cmt")) = true;
- //2011.11.30 payitemchng 에 담긴 것의 style을 변경
- } else if ( grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag")) == '3' || //1:정기급여 소급분
- grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag")) == '4' ) { //2: 하계/명절/상여 소급분
-
- for(j=0; j<payitemmapnode.length; j++) {
-
- var curitemmap = payitemmapnode.item(j).value; //payitemmap을 담고 있음
-
- //payitemmap 으로 payitemcd 를 찾음
- var curitemcd = ""; // payitemmap 에 mapping되는 payitemcd 값
- for (var n = 1; n <= instance1.selectNodes("/root/main/payspecdata/payitemmap").length; n++) {
- if( model.getValue("/root/main/payspecdata/payitemmap[" + n + "]/payitemmap") == curitemmap ) {
- curitemcd = model.getValue("/root/main/payspecdata/payitemmap[" + n + "]/payitemcd");
- break;
- }
- }
-
- //curkey(=ukey) 를 만들어 /root/main/payspecdata/payitemchng 의 ukey column에서 등록된 것이 있는지 확인한다.
- //ukey는 payitemchng 에 있는 각 node의 uniqeu key이다. 동일한 것이 등록되었는지 확인하기 위해 ukey 컬럼을 생성해서 가져와 두었다.
- var curkey = ""
- + grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("saldfrayflag"))
- + grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("payym"))
- + grd_payamtlist.valueMatrix(i, grd_payamtlist.colRef("emplno"))
- + curitemcd ;
-
- //payitemchng 에 curkey와 같은 값이 존재하면 grd_payamtlist의 해당 cell에 style을 변경한다.
- for (var k = 1; k <= instance1.selectNodes("/root/main/payspecdata/payitemchng").length; k++) {
- if( model.getValue("/root/main/payspecdata/payitemchng[" + k + "]/ukey") == curkey ) {
-
- //Style을 변경한다.
- //grd_payamtlist.cellStyle("background-color", i, grd_payamtlist.colRef(payitemmapnode.item(j).value) ) = "#66FFFF"; //형광 연두색
- grd_payamtlist.cellStyle("color", i, grd_payamtlist.colRef(payitemmapnode.item(j).value) ) = "#FF0000"; //font 색상 red
- break;
- }
- }
- } //for end
-
- } //else if end
- }
- //grd_payamtlist.rebuild();
- }
- ]]>
- </script>
- <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/humtrafactmngtweb/js/RPB001.js"/>
- <script type="javascript" src="../../../mis/paybnusmngtweb/js/RWP001.js"/>
- </xhtml:head>
- <xhtml:body style="margin-left:8; margin-right:8; ">
- <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:40px; width:1195px; height:740px; ">
- <shape id="roundrect1" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:10px; width:1193px; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
- <button id="btn_search" class="btn1_letter2" navindex="6" style="left:860px; top:17px; width:56px; height:22px; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //2011.11.29 박준범 추가
- cpt_cmt.value = "";
-
- if (grd_payamtlist.nodeset.length> 0) {
- //2011.11.03 박준범 comment처리
- //btn_next.disabled = false;
-
- model.removeNodeset("/root/main/payspecdata/payamtlist"); // 조회, Scroll시 Transaction후 가져온 data를 받아두는 nodeset
- model.removeNodeset("/root/main/griddata/payspecdata/payamtlist"); // Grid에 보여지는 data를 담아두는 nodeset
- model.removeNodeset("/root/main/origdata/payamtlist"); // 조회, Scroll시 Transaction후 가져온 data를 누적해둔 nodeset
- // (사용자가 data를 수정했는지 여부를 판단하기 위한 기준 nodeset)
- // 2011.11.11 박준범 추가
- model.removeNodeset("/root/main/changedlist"); // 변경된 급여항목 column의 값만 담는 nodeset 2011.11.11 박준범 추가
- model.removeNodeset("/root/main/changedcmt"); // 변경된 cmt column의 값만 담는 nodeset 2011.11.29 박준범 추가
-
- grd_payamtlist.nodeset = "/root/init/temp";
-
- for (var i = grd_payamtlist.cols - 1; i >= 1 ; i--) {
- grd_payamtlist.removeColumn(false);
- }
- grd_payamtlist.caption = "";
-
- model.refresh(); //---------> 하나 또는 둘다 없애는 게 나을 듯
- //grd_payamtlist.rebuild(); //---------> 하나 또는 둘다 없애는 게 나을 듯
- }
-
- //2011.11.03 박준범 comment처리 후 offset으로 변경
- //페이지수 3의 배수로 입력할것!!
- //model.setValue("/root/send/payspec/spageno",0);
- //model.setValue("/root/send/payspec/epageno",2100);
- model.setValue("/root/send/payspec/offset", 0);
-
- model.setValue("/root/send/payspec/sumyn","N");
-
- if (submit("TRRWP21701")) {
-
- model.makeNode("/root/main/griddata/payspecdata/payamtlist");
-
- //함수설명 : 목적 노드에 소스 하위 노드들을 mode방식에 따라 copy 함
- //function copyNodeType(strDest, strSrc, mode, destModel, srcModel)
- // String [mode] - copy 방식( "replace" | "after" | "before" )
- copyNodesetType("/root/main/griddata/payspecdata/payamtlist","/root/main/payspecdata/payamtlist","after");
- // 2011.11.11 박준범 추가
- copyNodesetType("/root/main/origdata/payamtlist","/root/main/payspecdata/payamtlist","after");
-
- var node = instance1.selectNodes("/root/main/payspecdata/payamtlist[1]/*");
- var payitemmapnode = instance1.selectNodes("/root/main/payspecdata/payitemmap[*]/payitemmap");
-
- var payitemcnt = model.getValue("/root/main/payspecdata/paytitlelist/payitemcnt") ;
- var payitemcnt2 = model.getValue("/root/main/payspecdata/paytitlelist/payitemcnt2") ;
- var teamflag = model.getValue(rdo_teamflag.attribute("ref"));
-
- //2011.11.29 박준범 : 5개 추가해서 8 --> 13
- //var primykeycnt = 8; //필수컬럼수
- //2011.12.01 박준범 : 1개 추가해서 13 --> 14
- var primykeycnt = 14; //필수컬럼수
-
-
- //필수컬럼 생성
- if (node.length > 0 ) {
-
- for(i=0;i<primykeycnt;i++) {
- //2011.11.22 박준범 paydd 는 format적용하고 visible 하게 한다.
- //if (node.item(i).nodeName == 'saldfrayflag' || node.item(i).nodeName == 'payym' || node.item(i).nodeName == 'paydd') {
- if (node.item(i).nodeName == 'saldfrayflag' || node.item(i).nodeName == 'payym' ) {
- grd_payamtlist.addColumn("ref:" + node.item(i).nodeName + "; type:output;" + " style:" + "text-align:center; visibility:hidden; ", false);
- } else if (node.item(i).nodeName == 'paydd') {
- grd_payamtlist.addColumn("ref:" + node.item(i).nodeName + "; type:output;" + "format:yyyy-mm-dd;" + " style:" + "text-align:center; ", false);
- //2011.11.29 박준범 비고 컬럼(cmt)은 수정가능하도록 한다.
- } else if (node.item(i).nodeName == 'cmt') {
- grd_payamtlist.addColumn("ref:" + node.item(i).nodeName + "; type:input;" + "maxbyte:600;" + " style:" + "text-align:left; ", false);
- //2011.12.01 박준범 합계(payitemsum) 컬럼 추가
- } else if (node.item(i).nodeName == 'payitemsum') {
- grd_payamtlist.addColumn("ref:" + node.item(i).nodeName + "; type:output;" + " format:" + "(-)#,###;" + " style:" + "text-align:right; ", false);
- } else {
- grd_payamtlist.addColumn("ref:" + node.item(i).nodeName + "; type:output;" + " style:" + "text-align:center; ", false);
- }
- }
- }
- /*
- grd_payamtlist.colwidth(1) = 55;
- grd_payamtlist.colwidth(2) = 50;
- grd_payamtlist.colwidth(3) = 80;
- grd_payamtlist.colwidth(4) = 80;
- grd_payamtlist.colwidth(5) = 80;
- */
-
- /* 2011.11.29 박준범 - 5개 컬럼을 추가하고 컬럼 순서 변경
- grd_payamtlist.colwidth(1) = 70;
- grd_payamtlist.colwidth(2) = 55;
- grd_payamtlist.colwidth(3) = 50;
- grd_payamtlist.colwidth(4) = 80;
- grd_payamtlist.colwidth(5) = 80;
- grd_payamtlist.colwidth(6) = 80;
- */
- grd_payamtlist.colwidth(1) = 70;
- grd_payamtlist.colwidth(2) = 55;
- grd_payamtlist.colwidth(3) = 50;
- grd_payamtlist.colwidth(4) = 80;
- grd_payamtlist.colwidth(5) = 60;
- grd_payamtlist.colwidth(6) = 60;
- grd_payamtlist.colwidth(7) = 50;
- grd_payamtlist.colwidth(8) = 40;
- grd_payamtlist.colwidth(9) = 80;
- grd_payamtlist.colwidth(10) = 80;
- grd_payamtlist.colwidth(11) = 80;
- //2011.12.01 박준범 - 1개 컬럼 추가
- grd_payamtlist.colwidth(12) = 80;
-
-
-
- //급여출력마스터순서로 컬럼생성
- if (payitemmapnode.length > 0 ) {
- for(i=0;i<payitemmapnode.length;i++) {
- grd_payamtlist.addColumn("ref:" + payitemmapnode.item(i).value + "; type:input;" + " format:" + "(-)#,###;" + "savetype:" + "digit;" + " style:" + "text-align:right; ", false);
- grd_payamtlist.colwidth(i + (primykeycnt + 1)) = 80;
- }
- }
-
- // Title 의 명칭이 길 경우를 대비하여 title을 2개의 row로 구성했음.
- grd_payamtlist.caption = model.getValue("/root/main/payspecdata/paytitlelist/paytitle") + "|" +
- model.getValue("/root/main/payspecdata/paytitlelist/paytitle");
- grd_payamtlist.nodeset = "/root/main/griddata/payspecdata/payamtlist";
-
- //2011.11.29 박준범 - 5개 컬럼 추가 7 --> 12
- //2011.12.01 박준범 - 비고까지만 frozen 처리 12--> 4
- //grd_payamtlist.frozenCols = 7; //6;
- grd_payamtlist.frozenCols = 4;
-
- grd_payamtlist.rebuild();
-
- //2011.11.03 박준범 comment처리 후 offset으로 변경
- //SetGridColor(model.getValue("/root/send/payspec/spageno"));
- SetGridColor(model.getValue("/root/send/payspec/offset"));
-
- grd_payamtlist.removeRow(false);
- model.setFocus("grd_payamtlist");
-
- //2011.11.30 박준범 - 사번을 입력한 경우에는 조회시에 바로 합계도 조회되도록 로직 추가함---------------
- if (grd_payamtlist.rows > grd_payamtlist.fixedRows && ipt_emplnos.value != "") {
- var currrowcnt = instance1.selectNodes("/root/main/payspecdata/payamtlist");
- //2011.11.03 박준범 comment처리 후 offset으로 변경
- //페이지수 3의 배수로 입력할것!!
- //model.setValue("/root/send/payspec/spageno", model.getValue("/root/send/payspec/epageno"));
- //model.setValue("/root/send/payspec/epageno", parseInt(model.getValue("/root/send/payspec/epageno")) + 2100 );
- model.setValue("/root/send/payspec/offset", grd_payamtlist.rows - grd_payamtlist.fixedRows);
-
- /*2011.11.03 박준범 아래와 같이 변경함
- //맨마지막에 합계를 불러온다.
- if (currrowcnt.length >= parseInt(2100)) {
- model.setValue("/root/send/payspec/sumyn","N");
- } else {
- model.setValue("/root/send/payspec/sumyn","Y");
- //btn_next.disabled = true;
- }
- */
-
- model.setValue("/root/send/payspec/sumyn","Y");
-
- model.removeNode("/root/main/payspecdata/payamtlist");
- if (submit("TRRWP21701") ) {
-
- copyNodesetType("/root/main/griddata/payspecdata/payamtlist","/root/main/payspecdata/payamtlist","after");
- //2011.11.11 박준범 추가
- copyNodesetType("/root/main/origdata/payamtlist","/root/main/payspecdata/payamtlist","after");
- grd_payamtlist.rebuild();
- //2011.11.03 박준범 comment처리 후 offset으로 변경
- //SetGridColor(model.getValue("/root/send/payspec/spageno"));
- SetGridColor(model.getValue("/root/send/payspec/offset"));
-
- grd_payamtlist.removeRow(false);
-
- model.setFocus("grd_payamtlist");
-
- }
- }
- // 합계로직의 끝 ---------------------------------
-
- }
-
- ]]>
- </script>
- </button>
- <line id="line13" class="line_4" style="x1:845px; y1:16px; x2:845px; y2:40px; "/>
- <button id="btn_emplno" class="icon_search" navindex="5" style="left:706px; top:18px; width:16px; height:16px; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
-
- var recv_list = "emplno,emplnm" ;
- rpbfOpenPopUpList("SPRPB00101", ipt_emplnos, recv_list,"","N");
-
- model.refresh();
-
- if (model.getValue(ipt_emplnos.attribute("ref")).length > 0) {
- btn_search.dispatch("DOMActivate");
- }
- ]]>
- </script>
- </button>
- <input id="ipt_emplnos" ref="/root/send/payspec/emplno" class="input_default" navindex="4" style="left:629px; top:18px; width:72px; height:19px; ">
- <script type="javascript" ev:event="onkeyup">
- <![CDATA[
- if (ipt_emplnos.currentText != null && ipt_emplnos.currentText != "" ) {
- inputEnterKey("ipt_emplnos", "xforms-value-changed");
- }
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
-
- var recv_list = "emplno,emplnm" ;
- rpbfValidationCheck("EMPLNO", recv_list);
- model.refreshpart("/root/send/payspec");
-
- if (model.getValue(ipt_emplnos.attribute("ref")).length > 0) {
- btn_search.dispatch("DOMActivate");
- }
-
- ]]>
- </script>
- </input>
- <input id="ipt_emplnms" ref="/root/send/payspec/emplnm" class="input_default" style="left:725px; top:18px; width:75px; height:19px; ">
- <script type="javascript" ev:event="onkeyup">
- <![CDATA[
- if (ipt_emplnms.currentText != null && ipt_emplnms.currentText != "" ) {
- inputEnterKey("ipt_emplnms", "xforms-value-changed");
- }
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
-
- var recv_list = "emplno,emplnm" ;
- rpbfValidationCheck("EMPLNM", recv_list);
-
- model.refreshpart("/root/send/payspec");
-
- if (model.getValue(ipt_emplnos.attribute("ref")).length > 0) {
- btn_search.dispatch("DOMActivate");
- }
- ]]>
- </script>
- </input>
- <line id="line9" class="line_1" style="x1:0px; y1:75px; x2:1190px; y2:75px; "/>
- <caption id="caption34" class="tit_2" style="left:3px; top:59px; width:202px; height:14px; ">급여소급내역</caption>
- <caption id="caption22" class="search_name" style="left:265px; top:18px; width:81px; height:17px; ">지급일자</caption>
- <input id="ipt_payddfrom" ref="/root/send/payspec/payddfrom" class="input_default" navindex="2" inputtype="date" format="yyyy-mm-dd" style="left:345px; top:18px; width:90px; height:19px; text-align:center; vertical-align:middle; "/>
- <datagrid id="grd_payamtlist" allowselection="false" backcoloralternate="transparent" colsep="^" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" navindex="7" style="left:0px; top:80px; width:1190px; height:620px; ">
- <script type="javascript" ev:event="onscroll">
- <![CDATA[
- if( ipt_emplnos.currentText == null || ipt_emplnos.currentText == "" ){
- if(grd_payamtlist.vscroll.attribute("max") == grd_payamtlist.vscroll.attribute("pos")) {
-
- var currrowcnt = instance1.selectNodes("/root/main/payspecdata/payamtlist");
- //2011.11.03 박준범 comment처리 후 offset으로 변경
- //페이지수 3의 배수로 입력할것!!
- //model.setValue("/root/send/payspec/spageno", model.getValue("/root/send/payspec/epageno"));
- //model.setValue("/root/send/payspec/epageno", parseInt(model.getValue("/root/send/payspec/epageno")) + 2100 );
- model.setValue("/root/send/payspec/offset", grd_payamtlist.rows - grd_payamtlist.fixedRows);
-
- /*2011.11.03 박준범 아래와 같이 변경함
- //맨마지막에 합계를 불러온다.
- if (currrowcnt.length >= parseInt(2100)) {
- model.setValue("/root/send/payspec/sumyn","N");
- } else {
- model.setValue("/root/send/payspec/sumyn","Y");
- //btn_next.disabled = true;
- }
- */
- if ( model.getValue("/root/send/payspec/sumyn") == "N" &&
- currrowcnt.length < parseInt(model.getValue("/root/send/payspec/pagesize")) ) {
- model.setValue("/root/send/payspec/sumyn","Y");
- } else if (model.getValue("/root/send/payspec/sumyn") == "Y") { //한번 조회 후에는 다시 조회하지 않도록 함
- model.setValue("/root/send/payspec/sumyn","AlreadyRetrieved");
- }
-
- model.removeNode("/root/main/payspecdata/payamtlist");
- if (submit("TRRWP21701")) {
-
- copyNodesetType("/root/main/griddata/payspecdata/payamtlist","/root/main/payspecdata/payamtlist","after");
- //2011.11.11 박준범 추가
- copyNodesetType("/root/main/origdata/payamtlist","/root/main/payspecdata/payamtlist","after");
- grd_payamtlist.rebuild();
-
- //2011.11.03 박준범 comment처리 후 offset으로 변경
- //SetGridColor(model.getValue("/root/send/payspec/spageno"));
- SetGridColor(model.getValue("/root/send/payspec/offset"));
-
- grd_payamtlist.removeRow(false);
-
- grd_payamtlist.dispatch("onmouseup");
-
- model.setFocus("grd_payamtlist");
- }
- }
- }
-
- ]]>
- </script>
- <script type="javascript" ev:event="onkeydown">
- <![CDATA[
- if( ipt_emplnos.currentText == null || ipt_emplnos.currentText == "" ){
-
- if ( grd_payamtlist.row == (grd_payamtlist.rows - grd_payamtlist.fixedRows + 1) ) {
-
- // page down 키를 누를 때 브라우저가 죽는 현상을 방지하기 위해 강제로 keycode를 변경함
- //40: 아래방향 화살표키, 34: page down 키
- if(event.keyCode == 34) event.keyCode = 40;
-
- //alert(event.keyCode + "");
- var iKey = event.keyCode;
-
- if(iKey == 40) {
- var currrowcnt = instance1.selectNodes("/root/main/payspecdata/payamtlist");
-
- //2011.11.03 박준범 comment처리 후 offset으로 변경
- //페이지수 3의 배수로 입력할것!!
- //model.setValue("/root/send/payspec/spageno", model.getValue("/root/send/payspec/epageno"));
- //model.setValue("/root/send/payspec/epageno", parseInt(model.getValue("/root/send/payspec/epageno")) + 2100 );
- model.setValue("/root/send/payspec/offset", grd_payamtlist.rows - grd_payamtlist.fixedRows);
-
- /*2011.11.03 박준범 아래와 같이 변경함
- //맨마지막에 합계를 불러온다.
- if (currrowcnt.length >= parseInt(2100)) {
- model.setValue("/root/send/payspec/sumyn","N");
- } else {
- model.setValue("/root/send/payspec/sumyn","Y");
- //btn_next.disabled = true;
- }
- */
-
- if ( model.getValue("/root/send/payspec/sumyn") == "N" &&
- currrowcnt.length < parseInt(model.getValue("/root/send/payspec/pagesize")) ) {
- model.setValue("/root/send/payspec/sumyn","Y");
- } else if (model.getValue("/root/send/payspec/sumyn") == "Y") { //한번 조회 후에는 다시 조회하지 않도록 함
- model.setValue("/root/send/payspec/sumyn","AlreadyRetrieved");
- }
-
- model.removeNode("/root/main/payspecdata/payamtlist");
-
- if (submit("TRRWP21701") ) {
-
- copyNodesetType("/root/main/griddata/payspecdata/payamtlist","/root/main/payspecdata/payamtlist","after");
- //2011.11.11 박준범 추가
- copyNodesetType("/root/main/origdata/payamtlist","/root/main/payspecdata/payamtlist","after");
- grd_payamtlist.rebuild();
-
- //2011.11.03 박준범 comment처리 후 offset으로 변경
- //SetGridColor(model.getValue("/root/send/payspec/spageno"));
- SetGridColor(model.getValue("/root/send/payspec/offset"));
-
- grd_payamtlist.removeRow(false);
-
- model.setFocus("grd_payamtlist");
-
- }
- }
- }
- }
-
-
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- //----------- 이벤트 전체 박준범 추가 2011.11.11 --------------
- //2011.11.29 박준범 - 그리드에서 비고 수정시 그리드 윗부분에 뿌려주기 위해 event 호출
- grd_payamtlist.dispatch("onrowchanged");
-
- var currow = grd_payamtlist.row; //현재 row
- var curcol = grd_payamtlist.col; //현재 col
-
- // 1. 비고 컬럼을 변경한 경우
- // 주의 : 아래의 급여항목을 변경한 경우와 다른 점!! -> 일단 변경되면 무조건 값을 담아 둘 것. 처음 값과의 변경여부 check말라.
- if ( grd_payamtlist.colAttribute(curcol, "ref") == "cmt" ) {
-
- //---- 1) /root/main/changedcmt 에 등록된 것이 있으면 update ----
- //grid의 값으로 curkey(=ukey) 를 만들어 /root/main/changedcmt 의 ukey column에서 등록된 것이 있는지 확인한다.
- //ukey는 changedcmt 에 있는 각 node의 uniqeu key이다. 동일한 것이 등록되었는지 확인하기 위해 ukey 컬럼을 생성해 둔다.
- var curkey = ""
- + model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/saldfrayflag")
- + model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/payym")
- + model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/emplno");
- var bexist = false; // ukey값을 기준으로 changedcmt에 동일한 값이 이미 등록된 것이 있는지를 나타내는 변수( true, false)
-
- for (var i = 1; i <= instance1.selectNodes("/root/main/changedcmt").length; i++) {
- if( model.getValue("/root/main/changedcmt[" + i + "]/ukey") == curkey ) {
-
- // 변경된 값을 /root/main/changedcmt 에서 수정한다.
- model.setValue("/root/main/changedcmt[" + i + "]/cmt",
- model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/cmt") );
- bexist = true;
- break;
- }
- }
-
- if( ! bexist ) {
- //------------ 2) 변경된 값을 /root/main/changedcmt 에 등록한다. ----------------
-
- var chglistcnt = instance1.selectNodes("/root/main/changedcmt").length + 1;
- model.makeNode("/root/main/changedcmt");
- model.makeNode("/root/main/changedcmt[" + chglistcnt + "]/ukey");
- model.makeNode("/root/main/changedcmt[" + chglistcnt + "]/saldfrayflag");
- model.makeNode("/root/main/changedcmt[" + chglistcnt + "]/payym");
- model.makeNode("/root/main/changedcmt[" + chglistcnt + "]/emplno");
- model.makeNode("/root/main/changedcmt[" + chglistcnt + "]/cmt");
-
- model.setValue("/root/main/changedcmt[" + chglistcnt+ "]/ukey", curkey );
- model.setValue("/root/main/changedcmt[" + chglistcnt+ "]/saldfrayflag", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/saldfrayflag"));
- model.setValue("/root/main/changedcmt[" + chglistcnt+ "]/payym", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/payym"));
- model.setValue("/root/main/changedcmt[" + chglistcnt+ "]/emplno", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/emplno"));
- model.setValue("/root/main/changedcmt[" + chglistcnt+ "]/cmt", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/cmt"));
-
- }
-
- // 2. 급여항목 컬럼의 금액을 변경한 경우
- } else {
-
- var curitemmap = grd_payamtlist.colAttribute(curcol, "ref"); //현재 column의 ref로 payitemmap을 담고 있음
-
- //---- 1) /root/main/changedlist 에 등록된 것이 있으면 우선 해당 node를 삭제한다. ----
-
- //grid의 payitemmap 으로 payitemcd 를 찾음
- var curitemcd = ""; // payitemmap 에 mapping되는 payitemcd 값
- for (var i = 1; i <= instance1.selectNodes("/root/main/payspecdata/payitemmap").length; i++) {
- if( model.getValue("/root/main/payspecdata/payitemmap[" + i + "]/payitemmap") == curitemmap ) {
- curitemcd = model.getValue("/root/main/payspecdata/payitemmap[" + i + "]/payitemcd");
- break;
- }
- }
-
- //grid의 값으로 curkey(=ukey) 를 만들어 /root/main/changedlist 의 ukey column에서 등록된 것이 있는지 확인한다.
- //ukey는 changedlist에 있는 각 node의 uniqeu key이다. 동일한 것이 등록되었는지 확인하기 위해 ukey 컬럼을 생성해 둔다.
- var curkey = ""
- + curitemcd
- + model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/saldfrayflag")
- + model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/payym")
- + model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/emplno");
-
- for (var i = 1; i <= instance1.selectNodes("/root/main/changedlist").length; i++) {
- if( model.getValue("/root/main/changedlist[" + i + "]/ukey") == curkey ) {
- model.removenode("/root/main/changedlist[" + i + "]");
- break;
- }
- }
-
- //Grid에서 변경한 값이 조회한 처음 값과 달라진 경우. /root/main/changedlist node를 생성한다
- if ( model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/" + curitemmap) !=
- model.getValue("/root/main/origdata/payamtlist[" + currow + "]/" + curitemmap) ) {
-
- //------------ 2) 변경된 값을 /root/main/changedlist 에 등록한다. ----------------
-
- var chglistcnt = instance1.selectNodes("/root/main/changedlist").length + 1;
- model.makeNode("/root/main/changedlist");
- model.makeNode("/root/main/changedlist[" + chglistcnt + "]/ukey");
- model.makeNode("/root/main/changedlist[" + chglistcnt + "]/payitemcd");
- model.makeNode("/root/main/changedlist[" + chglistcnt + "]/saldfrayflag");
- model.makeNode("/root/main/changedlist[" + chglistcnt + "]/payym");
- model.makeNode("/root/main/changedlist[" + chglistcnt + "]/emplno");
- model.makeNode("/root/main/changedlist[" + chglistcnt + "]/payitemamt");
- model.makeNode("/root/main/changedlist[" + chglistcnt + "]/cmt");
-
- model.setValue("/root/main/changedlist[" + chglistcnt+ "]/ukey", curkey );
- model.setValue("/root/main/changedlist[" + chglistcnt+ "]/payitemcd", curitemcd);
- model.setValue("/root/main/changedlist[" + chglistcnt+ "]/saldfrayflag", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/saldfrayflag"));
- model.setValue("/root/main/changedlist[" + chglistcnt+ "]/payym", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/payym"));
- model.setValue("/root/main/changedlist[" + chglistcnt+ "]/emplno", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/emplno"));
- model.setValue("/root/main/changedlist[" + chglistcnt+ "]/payitemamt", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/" + curitemmap));
- model.setValue("/root/main/changedlist[" + chglistcnt+ "]/cmt", model.getValue(grd_payamtlist.nodeset + "[" + currow + "]/cmt"));
-
- //2011.12.01 박준범 추가
- // Style을 변경한다.
- //grd_payamtlist.cellStyle("color", currow, curcol ) = "#FF0000"; //색상 red
- grd_payamtlist.cellStyle("font-weight", currow, curcol ) = "bold";
-
- // 처음 조회한 값과 같아진 경우
- } else {
- //2011.12.01 박준범 추가
- // Style을 변경한다.
- //grd_payamtlist.cellStyle("color", currow, curcol ) = ""; //색상 black
- grd_payamtlist.cellStyle("font-weight", currow, curcol ) = "";
- }
-
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onrowchanged">
- <![CDATA[
- //2011.11.29 박준범 - 비고(cmt) 에 값이 있으면 그리드 윗 부분에 뿌려준다.
- if (grd_payamtlist.rows > grd_payamtlist.fixedRows) {
- var sCmt = model.getValue(grd_payamtlist.nodeset + "[" + grd_payamtlist.row + "]/cmt");
- if (sCmt.length > 0) {
- cpt_cmt.value = "▶ 비고 : " + sCmt;
- } else {
- cpt_cmt.value = "";
- }
- }
- ]]>
- </script>
- </datagrid>
- <button id="btn_saveexcel" class="btn2_letter4" navindex="9" style="left:1125px; top:53px; 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_payamtlist.saveExcel(fileName, "SheetName:sheet1");
- }
- ]]>
- </script>
- </button>
- <select1 id="cmb_instcd" ref="/root/send/payspec/instcd" class="combo_s_essential" disabled="true" navindex="1" appearance="minimal" style="left:90px; top:18px; width:140px; height:19px; ">
- <choices>
- <itemset>
- <label/>
- <value/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption3" class="search_name" style="left:36px; top:19px; width:54px; height:17px; ">기관</caption>
- <caption id="caption5" class="search_name" style="left:575px; top:19px; width:50px; height:17px; ">사번</caption>
- <output id="output1" ref="/root/send/payspec/offset" visibility="hidden" style="left:980px; top:15px; width:50px; height:19px; "/>
- <output id="output2" ref="/root/send/payspec/pagesize" visibility="hidden" style="left:1040px; top:15px; width:45px; height:19px; "/>
- <datagrid id="grd_changedlist" nodeset="/root/main/changedlist" visibility="hidden" caption="ukey^saldfrayflag^payym^payitemcd^emplno^payitemamt^cmt" colsep="^" colwidth="85, 82, 46, 75, 54, 75, 80" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:20px; top:380px; width:540px; height:150px; ">
- <col ref="ukey"/>
- <col ref="saldfrayflag"/>
- <col ref="payym"/>
- <col ref="payitemcd"/>
- <col ref="emplno"/>
- <col ref="payitemamt"/>
- <col ref="cmt"/>
- </datagrid>
- <input id="ipt_payddto" ref="/root/send/payspec/payddto" class="input_default" navindex="3" inputtype="date" format="yyyy-mm-dd" style="left:450px; top:18px; width:90px; height:19px; text-align:center; vertical-align:middle; "/>
- <caption id="caption7" style="left:436px; top:18px; width:15px; height:20px; font-weight:bold; ">~</caption>
- <caption id="cpt_cmt" style="left:195px; top:56px; width:920px; height:20px; font-weight:bold; color:#ff0000; ">caption</caption>
- <datagrid id="grd_changedcmt" nodeset="/root/main/changedcmt" visibility="hidden" caption="ukey^saldfrayflag^payym^emplno^cmt" colsep="^" colwidth="85, 82, 46, 54, 75" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:570px; top:380px; width:380px; height:150px; ">
- <col ref="ukey"/>
- <col ref="saldfrayflag"/>
- <col ref="payym"/>
- <col ref="emplno"/>
- <col ref="cmt"/>
- </datagrid>
- </group>
- <group id="grp_btn" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
- <button id="button5" class="btn4_letter2" navindex="8" style="left:1134px; top:3px; width:56px; height:22px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.makeValue("/root/send/payamtlist",grd_payamtlist.getUpdateData());
- //2011.11.14 박준범 추가
- model.makeValue("/root/send/changedlist",grd_changedlist.getUpdateDataAll("i") );
- //2011.11.29 박준범 추가
- model.makeValue("/root/send/changedcmt",grd_changedcmt.getUpdateDataAll("u") );
-
- var updtdata = getGridUpdateData(grd_payamtlist);
- if (updtdata == "" ) {
- messageBox("변경된 데이터가","I004");
- return;
- }
-
-
-
- if (submit("TXRWP21701")){
- messageBox("정상적으로 처리되었습니다.", "E999", "");
- model.resetInstanceNode("/root/send/payamtlist");
- //2011.11.14 박준범 추가
- //model.resetInstanceNode("/root/send/changedlist");
- //2011.11.29 박준범 추가
- //model.resetInstanceNode("/root/send/changedcmt");
- btn_search.dispatch("DOMActivate");
- }
- model.refresh();
- ]]>
- </script>
- </button>
- <button id="btn_next" class="btn4_letter2" visibility="hidden" style="left:1075px; top:3px; width:56px; height:22px; ">
- <caption>다음</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- /**************************************************************************************************************
- 2011.11.03 박준범 - 다음 버튼 click시 처리되던 것을 onScroll 이벤트에서 처리되는 것으로 변경했음
- 1) btn_next 버튼 hidden처리. click event 내용 comment처리
- 2) spageno, epageno 를 기준으로 page처리 하던 것을 offset, pagesize기준으로 처리되도록 변경
-
-
- var currrowcnt = instance1.selectNodes("/root/main/payspecdata/payamtlist");
-
- //페이지수 3의 배수로 입력할것!!
- model.setValue("/root/send/payspec/spageno", model.getValue("/root/send/payspec/epageno"));
- model.setValue("/root/send/payspec/epageno", parseInt(model.getValue("/root/send/payspec/epageno")) + 2100 );
-
- //맨마지막에 합계를 불러온다.
- if (currrowcnt.length >= parseInt(2100)) {
- model.setValue("/root/send/payspec/sumyn","N");
- } else {
- model.setValue("/root/send/payspec/sumyn","Y");
- btn_next.disabled = true;
- }
-
- model.removeNode("/root/main/payspecdata/payamtlist");
- submit("TRRWP21701");
-
- copyNodesetType("/root/main/griddata/payspecdata/payamtlist","/root/main/payspecdata/payamtlist","after");
- grd_payamtlist.rebuild();
- SetGridColor(model.getValue("/root/send/payspec/spageno"));
- grd_payamtlist.removeRow(false);
-
- ********************************************************************************************************************/
- ]]>
- </script>
- </button>
- <line id="line19" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25px; "/>
- </group>
- <select1 id="rdo_teamflag" ref="/root/send/payspec/teamflag" visibility="hidden" appearance="full" cols="2" overflow="visible" style="left:70px; top:750px; width:135px; height:20px; border-style:none; ">
- <choices>
- <item>
- <label>인사팀용</label>
- <value>1</value>
- </item>
- <item>
- <label>재무팀용</label>
- <value>2</value>
- </item>
- </choices>
- </select1>
- <select1 id="cmb_payclsprfshipflag" ref="/root/send/payspec/payclsprfshipflag" class="combo_s_essential" visibility="hidden" appearance="minimal" style="left:485px; top:750px; width:100px; height:19px; ">
- <choices>
- <itemset>
- <label/>
- <value/>
- </itemset>
- </choices>
- </select1>
- <caption id="caption21" class="search_name" visibility="hidden" style="left:589px; top:750px; width:86px; height:17px; ">급여종류:</caption>
- <caption id="caption2" class="search_name" visibility="hidden" style="left:214px; top:750px; width:87px; height:17px; ">직원구분 :</caption>
- <caption id="caption4" class="search_name" visibility="hidden" style="left:403px; top:750px; width:84px; height:17px; ">호봉구분:</caption>
- <select1 id="cmb_holyordflag" ref="/root/send/payspec/holyordflag" class="combo_s_essential" visibility="hidden" appearance="minimal" style="left:301px; top:750px; width:96px; height:19px; ">
- <choices>
- <itemset>
- <label/>
- <value/>
- </itemset>
- </choices>
- </select1>
- <select1 id="cmb_SalDfrayFlag" ref="/root/send/payspec/saldfrayflag" class="combo_s_essential" visibility="hidden" appearance="minimal" style="left:670px; top:750px; width:98px; height:19px; ">
- <choices>
- <itemset>
- <label/>
- <value/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- if (DUTY_PAY_YN == "Y" || cmb_SalDfrayFlag.value == "2") {
- cmb_instcd.disabled = false;
- }
- else {
- cmb_instcd.disabled = true;
- model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
- }
-
- misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","N");
- misfComboComCdListMulti("R0112,R0066,R0097","cmb_SalDfrayFlag,cmb_holyordflag,cmb_payclsprfshipflag");
-
- addComboItem( "cmb_payclsprfshipflag", "[-- 전체 --]", "%", "above");
- addComboItem( "cmb_holyordflag", "[-- 전체 --]", "", "above");
- model.setValue(cmb_payclsprfshipflag.attribute("ref"), "%");
- model.setValue(cmb_holyordflag.attribute("ref"), "");
-
- model.setValue(cmb_instcd.attribute("ref") , getUserInfo("dutplceinstcd"));
- model.refresh();
- ]]>
- </script>
- </select1>
- </xhtml:body>
- </xhtml:html>
|