<%@page contentType="text/html; charset=UTF-8"%> <%@page import="com.csc.library.entry.HelpEntry,com.csc.library.system.*,com.csc.library.utilities.*"%> <%@page import="com.csc.library.entry.*,com.csc.library.database.*,com.csc.library.session.*,com.csc.library.formula.FormulaString" %> <%@page import="com.csc.library.session.DbInquiry,java.util.HashMap,java.util.Vector" %> <jsp:useBean id="TAU143" class="com.csc.library.system.Task" scope="page"/> <% CscCalendar today = new CscCalendar(); CscCalendar cs = new CscCalendar(); FormulaString fs = new FormulaString(); CheckNull chkNull = new CheckNull(); String selectCss = "style='color:#4A66CC; background:#CCCCCC';" ; String COT = "COT"; String COF = "COF"; String PH = "PH" ; String w_status = chkNull.chkNullString(request.getParameter("__writeoff_status"),"true"); int yearid = Integer.parseInt(chkNull.chkNullString(request.getParameter("__yearid"), Integer.toString(today.getYear()))); TAU143.setChannel(request,response); HelpEntry screen = (HelpEntry) TAU143.process("HelpEntry","TAU143HELP"); String empid = chkNull.chkNullString(request.getParameter("__employeeid"),screen.getString("employeeid")); /* update write-off */ String writeoff = chkNull.chkNullString(request.getParameter("__writeoff_leave")); updateWriteOffLeave(empid, screen.getUProfile(), yearid, writeoff); /* end update write-off */ /* update privilege */ String priv_l = chkNull.chkNullString(request.getParameter("__prive_leave")); updatePrivLeave(empid, screen.getUProfile(), priv_l); /* end update privilege leave */ screen.process(); screen.nextRec(); screen.referLangOff(); String ANNUAL = getAnnualID(screen.getUProfile()); /* find balance */ DbInquiry inqTleave = new InitialInquiry(screen.getUProfile()).getDbInquiry("mempl_vacation"); inqTleave.setColumn("yearid,employeeid,companyid,eventgrp"); inqTleave.setFilter("employeeid = '" + empid + "' and eventgrp = '" + ANNUAL + "' and yearid >= " + String.valueOf(yearid - 3)) ; inqTleave.refresh(); HashMap hmUsedLeaveYearKey = new HashMap(); while(inqTleave.next()){ hmUsedLeaveYearKey.put(inqTleave.getString("yearid"),""); } /* end find used leave */ /* find privilege leave */ DbInquiry inqMpriv = new InitialInquiry(screen.getUProfile()).getDbInquiry("Mprivilege_leave"); inqMpriv.setColumn("*"); inqMpriv.setFilter("employeeid = '" + empid + "'") ; inqMpriv.refresh(); HashMap hmPriv = new HashMap(); while(inqMpriv.next()){ hmPriv.put(inqMpriv.getString("eventgrpid"), clonePriv(inqMpriv.getCurrentDbRecord())); } %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html ng-app="myHR"> <head> <style type=text/css> FONT.error { FONT-FAMILY: "MS Sans Serif", sans-serif, "Microsoft Sans Serif"; font-size: 14px; color: #FF0000; } .write_off{ width: 60px ; } .write_off_caption{ display: none; } .Table { display: table; } .Title { display: table-caption; text-align: center; font-weight: bold; font-size: larger; } .Heading { display: table-row; font-weight: bold; text-align: center; } .Row { display: table-row; } .fonttaho { font-size: 14px; font-family : Tahoma, "MS Sans Serif"; height : 28px; } .Cell { color: #75A8CC; display: table-cell; height: 20px; border: 1px solid #CCCCCC; border-width: thin; padding-left: 10px; padding-right: 10px; cursor: pointer; line-height: 20px; } .Cell_1 { color: #75A8CC; display: table-cell; height: 20px; padding-left: 10px; padding-right: 10px; cursor: pointer; line-height: 20px; } </style> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link href="../CSS/TISCO.css" rel="stylesheet" type="text/css"> <link href="../CSS/bootstrap.css" rel="stylesheet" type="text/css"> <link href="../CSS/bootstrap_csc_backend.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="../JS/jquery-2.1.3.min.js"></script> <script type='text/javascript' src="../JS/bootstrap.js"></script> <script type='text/javascript' src='../JS/SCREEN.js'></script> <script src="../JS/angular-1.3.15/angular.js" type="text/javascript"></script> <script src="../JS/ANGULAR/SCREEN_ANGULAR.js" type="text/javascript"></script> <script language='javascript'>setLang('<%=screen.getUProfile().get("lang")%>');</script> <script language="javascript">getTitleName();</script> <script src="../JS/angular-1.3.15/angular.js"></script> <script type='text/JavaScript' SRC='../JS/ANGULAR/SCREEN_ANGULAR.js'></script> <script src="../JS/VIEWCALENDAR.js"></script> <script language="javascript"> <!-- function chkDateTime1(valueSearch){ // 23/03/2004 var tmpval=""; with(document.cscform){ var valueSearch1=valueSearch.split("-"); if(valueSearch1.length==3){ if(valueSearch1[1].length==1){ valueSearch1[1]="0"+valueSearch1[1]; } if(valueSearch1[0].length==1){ valueSearch1[0]="0"+valueSearch1[0]; } valueSearch1[2]=parseInt(valueSearch1[2]); return valueSearch=valueSearch1[2]+"-"+valueSearch1[1]+"-"+valueSearch1[0]; } } } function chkDateStart(valueSearch,date){ var tmpval=""; var data1=""; with(document.cscform){ //alert("date_start.value -> "+valueSearch); var valueSearch1=valueSearch.split("-"); //alert("0 - >"+valueSearch1[0]+" #1 - >"+valueSearch1[1]+" #2 - >"+valueSearch1[2]); if(valueSearch1.length==3){ if(valueSearch1[0].length==4){ //alert("length -> "+valueSearch1[0].length); data1=valueSearch1[0]; valueSearch1[0]=valueSearch1[2]; valueSearch1[2]=data1; } if(valueSearch1[1].length==1){ valueSearch1[1]="0"+valueSearch1[1]; } if(valueSearch1[0].length==1){ valueSearch1[0]="0"+valueSearch1[0]; } valueSearch1[2]=parseInt(valueSearch1[2]); if(date=="date_start"){ date_start.value=valueSearch1[0]+"-"+valueSearch1[1]+"-"+valueSearch1[2]; }else{ date_end.value=valueSearch1[0]+"-"+valueSearch1[1]+"-"+valueSearch1[2]; } } //alert("par.value -> "+date_start.value); } } function bdSave() { with(document.cscform){ var tb = document.getElementById("tblShowDetail"); var ulist = ""; var hidWriteFlag = document.getElementById("__writeoff_status"); if(confirm(MyCode[1])) { for(i=3; i < tb.rows.length - 1; i++){ if(ulist.length > 0){ ulist += "," ;} var tdname = tb.rows[i].cells[4].id.split(":"); var txobj = document.getElementsByName("write_off:" + tdname[1]); ulist += tb.rows[i].id + "#" + txobj[0].value ; } __fixCon.value="employeeid= '"+__employeeid.value+"'"; __savemode.value="save"; __writeoff_leave.value = ulist ; submit(); } } } function bdOnload() { with(document.cscform){ __fixCon.value="employeeid= '"+__employeeid.value+"'"; submit(); } } function pageDesc(c,desc){ var fullname = document.getElementsByName("MEMPLOYEE@FULLNAME"); var emp = document.getElementsByName("__employeeid"); var yearid = document.getElementById("__yearid"); var fixcon = "lv_type = '" + c + "' and employeeid='<%=empid%>' and yearid = '"+ yearid.value +"'"; var param="TAU144.jsp?__empName="+fullname[0].value+"&__empID="+emp[0].value+"&__ldesc="+desc+"&__cmd=&__gorec=&__fixCon="+fixcon+"&__yearid=" + yearid.value+"&__eventgrp="+c; window.open(param,"Help","left=150,top=150,width=680,height=400,resizable=yes,scrollbars=yes,toolbar=no,status=yes"); } function pageAllowDesc(c,desc){ var fullname = document.getElementsByName("MEMPLOYEE@FULLNAME"); var emp = document.getElementsByName("__employeeid"); var yearid = document.getElementById("__yearid"); var fixcon = ""; var param = ""; var page = ""; if(c == "COT"){ fixcon = "type = '1' and employeeid='<%=empid%>' " ; page = "TAU_LVALLOWANCE"; }else if(c == "COF"){ fixcon = "type = '2' and employeeid='<%=empid%>' " ; page = "TAU_LVALLOWANCE"; }else if(c == "PH"){ page = "TAU_PHALLOWANCE"; } param=page+".jsp?__empName="+fullname[0].value+"&__empID="+emp[0].value+"&__ldesc="+desc+"&__cmd=&__gorec=&__fixCon="+fixcon+"&__yearid=" + yearid.value; window.open(param,"Help","left=150,top=150,width=680,height=400,resizable=yes,scrollbars=yes,toolbar=no,status=yes"); } function gotoDetail(page){ with(document.cscform){ var a=chkDateTime1(date_start.value); var b=chkDateTime1(date_end.value); __cmd.value = ""; __date_start.value = a; __date_end.value = b; __fixCon.value = " employeeid='<%=request.getParameter("__employeeid")%>' and lv_type = 'LT' and dateid >= '"+a+"' and dateid <= '"+b+"'"; action = "TARS001.jsp"; submit(); } } function chkEmpid(){ window.document.forms[0].__employeeid.value=window.parent.document.forms[0].__employeeid.value; } function checkCF() {checkConfirm();} function goHelp(helpName,inputName){ with(document.cscform){ var helpReturn=""; var fcon=__fixCon.value; if(inputName=="__employeeid" ){ helpReturn="__employeeid:employeeid,MEMPLOYEE@FULLNAME"; } if(fcon=="") linkHelp_Return(helpName,helpReturn); else helpPageCon(helpName,helpReturn,fcon); } } function linkHelp(help,input){ var fixcon=""; with(document.cscform){ fixcon=" ((employeeid in ("+__emp1.value+") ) or (employee in ("+__emp2.value+"))) " var param="PRU084.jsp?__helpName="+help+"&__fieldSearch="+input+"&__pageCall="+__screen.value+"&__fixCon="+fixcon; window.open(param,"Help","left=150,top=150,width=600,height=400,resizable=yes,scrollbars=yes,toolbar=no,status=yes"); } } function showByYear(yearid){ with(document.cscform){ __fixCon.value="employeeid= '"+__employeeid.value+"'"; __yearid.value = yearid ; submit(); } } function showWriteOff(){ var tdWriteOff1 = document.getElementById("tdWriteOff1"); var tdWriteOff2 = document.getElementById("tdWriteOff2"); var tdWriteOff3 = document.getElementById("tdWriteOff3"); var tdWriteOff5 = document.getElementById("tdWriteOff5"); var divShow = document.getElementById("divShowWriteOff"); var divHide = document.getElementById("divHideWriteOff"); var hidWriteFlag = document.getElementById("__writeoff_status"); var tb = document.getElementById("tblShowDetail"); var c = tdWriteOff1.style.display ; if(c == "none"){ tdWriteOff1.setAttribute('style', 'display:'); tdWriteOff2.setAttribute('style', 'display:'); tdWriteOff3.setAttribute('style', 'display:'); tdWriteOff5.setAttribute('style', 'display:'); divShow.setAttribute('style', 'display:none'); divHide.setAttribute('style', 'display:'); hidWriteFlag.setAttribute('value', 'false'); for(k=3; k < tb.rows.length - 1; k++){ var trl = tb.rows[k] ; trl.cells[4].setAttribute('style', 'display:'); } }else{ tdWriteOff1.setAttribute('style', 'display:none'); tdWriteOff2.setAttribute('style', 'display:none'); tdWriteOff3.setAttribute('style', 'display:none'); tdWriteOff5.setAttribute('style', 'display:none'); divShow.setAttribute('style', 'display:'); divHide.setAttribute('style', 'display:none'); hidWriteFlag.setAttribute('value', 'true'); for(k=3; k < tb.rows.length - 1; k++){ var trl = tb.rows[k] ; trl.cells[4].setAttribute('style', 'display:none'); } } } function setChangePriv(leave){ var chkObj = document.getElementById("chk_" + leave) ; chkObj.checked = true ; } function bdSavePriv(){ if(confirm(MyCode[1])) { var upd = ""; var priv_leave = document.getElementById("__prive_leave"); var tb = document.getElementById("tbPrivilegePart"); for(k=3; k < tb.rows.length - 1; k++){ var trl = tb.rows[k].id.split("_")[1] ; var chk_chg = document.getElementById("chk_" + trl); if(chk_chg.checked){ var con1 = document.getElementById(trl + "_01"); var con2 = document.getElementById(trl + "_02"); var con3 = document.getElementById(trl + "_03"); var con4 = document.getElementById(trl + "_04"); var con5 = document.getElementById(trl + "_05"); var con6 = document.getElementById(trl + "_06"); if(upd.length > 0) upd += "," ; upd += trl + ":"; upd += (con1.checked)?"1:":"0:"; upd += (con2.checked)?"1:":"0:"; upd += (con3.checked)?"1:":"0:"; upd += (con4.checked)?"1:":"0:"; upd += (con5.checked)?"1:":"0:"; upd += (con6.checked)?"1":"0"; } } priv_leave.value = upd ; document.cscform.submit(); } } function swappage(){ var tb_priv = document.getElementById("tbPrivilegePart"); var c = tb_priv.style.display ; if(c == ""){ tb_priv.setAttribute('style', 'display:none;width:100%'); }else{ tb_priv.setAttribute('style', 'display:;width:100%'); } } function showPrivLeave(){ var td_showpriv = document.getElementById("divShowPriv"); var td_hidepriv = document.getElementById("divHidePriv"); var c = td_showpriv.style.display ; if(c == ""){ td_showpriv.setAttribute('style', 'display:none;width:100%'); td_hidepriv.setAttribute('style', 'display:;width:100%'); }else{ td_showpriv.setAttribute('style', 'display:;width:100%'); td_hidepriv.setAttribute('style', 'display:none;width:100%'); pageScroll(); } } function pageScroll() { window.scrollBy(0,50); // horizontal and vertical scroll increments //scrolldelay = setTimeout('pageScroll()',100); // scrolls every 100 milliseconds } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script> </head> <body leftmargin="0" topmargin="0"> </br> <div id="toolTipLayer" style="position:absolute; visibility: hidden"></div> <script language="javascript">initToolTips();</script> <form name="cscform" method="post" action="?"> <!----------BEGIN CSC INITIAL ZONE ------------------------> <%=screen.InitialVariable()%> <!----------END CSC INITIAL ZONE --------------------------> <script language="javascript">//chkEmpid();</script> <input type="hidden" name="__cmd" value=""> <input type="hidden" name="__screen" value="TAU143"> <input type="hidden" name="__help" value=""> <input type="hidden" name="__helpReturn" value=""> <input type="hidden" name="__helpName" value=""> <input type="hidden" name="__pageCall" > <input type="hidden" name="__referPage" value=""> <input type="hidden" name="__calendar"> <script language="javascript">getInputFormatDate();</script> <!--input type="hidden" name="__subordinate" value="<%//=screen.getUProfile().get("subordinateid")%>" --> <input type="hidden" name="__companyid" value="<%=screen.getUProfile().get("companyid")%>"> <input type="hidden" name="__fixCon" > <input type="hidden" name="__language" value="<%=screen.getUProfile().get("lang")%>"> <input type="hidden" name="__childFilter" > <input type="hidden" name="__savemode" id="__savemode" value=""> <input type="hidden" name="__writeoff_leave" id="__writeoff_leave" value=""> <input type="hidden" name="__writeoff_status" id="__writeoff_status" value=""> <input type="hidden" name="__prive_leave" id="__prive_leave" value=""> <% String sDate = "01-"+cs.getMM()+"-"+cs.getYear(); String eDate = cs.getDDMMYYYY(); try { sDate = StaticConfig.getConfigCompany(screen.getUProfile(), "ta1001"); eDate = StaticConfig.getConfigCompany(screen.getUProfile(), "ta1002"); } catch (Exception e) {} %> <input type="hidden" name="__date_start" value="<%=sDate%>"> <input type="hidden" name="__date_end" value="<%=eDate%>"> <input type="hidden" name="__dateFilter" value=""> <input type="hidden" name="__empID" value="<%=screen.getString("employeeid")%>"> <input type="hidden" name="__empName" value="<%=screen.getString("fullname")%>"> <input type="hidden" name="__yearid" id="__yearid" value="<%=yearid%>"> <div align="center"> <table class="large"> <tr> <td class="header" colspan="2" >TAU143, <span swlang code="SW000348">History of Leave for Employee</span> </td> </tr> <tr> <td colspan="2"> <div align="center"> <center> <table cellspacing="0" cellpadding="0" style="width:90%"> <tr> <td colspan="2" class="blankspace"></td> </tr> <tr> <td class="columnlabel"><swaplang code='SW000350'></swaplang> </td> <td> <input type="text" name="__employeeid" size="15" value="<%=screen.getString("employeeid")%>"> <a href="javascript:goHelp('MEMPLOYEEHELP','__employeeid','')" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image2','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="Help" name="Image2" width="20" height="20" border="0" align="absmiddle"></a> </td> </tr> <tr> <td class="columnlabel"><span swlang code="SW007745">Name Surname</span> </td> <td><input type="text" id="fullname" name="MEMPLOYEE@FULLNAME" value="<%=screen.getString("FULLNAME")%>" disabled size="34"> <button type="button" class="btn btn-primary width100" swlang code="SW013170" onClick="bdOnload();">VIEW</button> </td> </tr> <tr style="display:none"> <td class="columnlabel"><script language="javascript">swapLang('Date Period');</script> </td> <td class="columnobject1"> <input name="date_start" type="text" value="<%=chkNull.chkNullString(request.getParameter("__date_start"))%>" size="10" onKeyup = "formatDate(this)" onBlur = "chkInputDate2(this,date_end)" onKeypress = "chkIntegerOfDate(this.value)" onMouseOver="toolTip('DDMMYYYY')" onMouseOut="toolTip()"> <script language="javascript">chkDateStart(document.cscform.date_start.value,"date_start");</script> <a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('calendar1','','../IMAGES/BUTTON/SWAP/CALENDAR_SWAP20.gif',1)"> <img src="../IMAGES/BUTTON/MAIN/CALENDAR20.gif" name="calendar1" width="20" height="20" border="0" align="absmiddle" onClick="viewCal('date_start')" alt="Calendar"></a> - <input name="date_end" type="text" value="<%=chkNull.chkNullString(request.getParameter("__date_end"))%>" size="10" onKeyup = "formatDate(this)" onBlur = "chkInputDate2(date_start,this)" onKeypress = "chkIntegerOfDate(this.value)" onMouseOver="toolTip('DDMMYYYY')" onMouseOut="toolTip()"> <script language="javascript">chkDateStart(document.cscform.date_end.value,"date_end");</script> <a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('calendar2','','../IMAGES/BUTTON/SWAP/CALENDAR_SWAP20.gif',1)"> <img src="../IMAGES/BUTTON/MAIN/CALENDAR20.gif" name="calendar2" width="20" height="20" border="0" align="absmiddle" onClick="viewCal('date_end')" alt="Calendar"></a> </td> </tr> <tr> <td class="blankspace" colspan="2"></td> </tr> <tr> <td class="blankspace" colspan="2"></td> </tr> <!-- show balance part --> <tr> <td colspan="2" align="center"> <div class="Table"> <div class="Heading"> <%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-9))){%> <div class="Cell" onclick="showByYear('<%=today.getYear()-9%>')" <%=(yearid==(today.getYear()-9))?selectCss:""%>> <p><%=today.getYear()-9%></p> </div> <%}%> <%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-8))){%> <div class="Cell" onclick="showByYear('<%=today.getYear()-8%>')" <%=(yearid==(today.getYear()-8))?selectCss:""%>> <p><%=today.getYear()-8%></p> </div> <%}%> <%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-7))){%> <div class="Cell" onclick="showByYear('<%=today.getYear()-7%>')" <%=(yearid==(today.getYear()-7))?selectCss:""%>> <p><%=today.getYear()-7%></p> </div> <%}%> <%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-6))){%> <div class="Cell" onclick="showByYear('<%=today.getYear()-6%>')" <%=(yearid==(today.getYear()-6))?selectCss:""%>> <p><%=today.getYear()-6%></p> </div> <%}%> <%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-5))){%> <div class="Cell" onclick="showByYear('<%=today.getYear()-5%>')" <%=(yearid==(today.getYear()-5))?selectCss:""%>> <p><%=today.getYear()-5%></p> </div> <%}%> <%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-4))){%> <div class="Cell" onclick="showByYear('<%=today.getYear()-4%>')" <%=(yearid==(today.getYear()-4))?selectCss:""%>> <p><%=today.getYear()-4%></p> </div> <%}%> <%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-3))){%> <div class="Cell" onclick="showByYear('<%=today.getYear()-3%>')" <%=(yearid==(today.getYear()-3))?selectCss:""%>> <p><%=today.getYear()-3%></p> </div> <%}%> <%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-2))){%> <div class="Cell" onclick="showByYear('<%=today.getYear()-2%>')" <%=(yearid==(today.getYear()-2))?selectCss:""%>> <p><%=today.getYear()-2%></p> </div> <%}%> <%if(hmUsedLeaveYearKey.containsKey(String.valueOf(today.getYear()-1))){%> <div class="Cell" onclick="showByYear('<%=today.getYear()-1%>')" <%=(yearid==(today.getYear()-1))?selectCss:""%>> <p><%=today.getYear()-1%></p> </div> <%}%> <div class="Cell" onclick="showByYear('<%=today.getYear()%>')" <%=(yearid==(today.getYear()))?selectCss:""%>> <p><%=today.getYear()%></p> </div> <div class="Cell" onclick="showByYear('<%=today.getYear()+1%>')" <%=(yearid==(today.getYear()+1))?selectCss:""%>> <p><%=today.getYear()+1%></p> </div> <!-- <div class="Cell" onclick="showByYear('<%=today.getYear()+2%>')" <%=(yearid==(today.getYear()+2))?selectCss:""%>> <p><%=today.getYear()+2%></p> </div> --> </div> </div> </td> </tr> <tr align="right"> <td colspan="2"> <div class="Table"> <div class="Heading"> <div class="Cell_1" id="divShowWriteOff" style="display:"> <a href="javascript:showWriteOff();" style="text-decoration: none"><b swlang code="SW012696">Show Write-Off</b></a> </div> <div class="Cell_1" id="divHideWriteOff" style="display:none"> <a href="javascript:showWriteOff();" style="text-decoration: none"><b>Hide Write-Off</></a> </div> <div class="Cell_1" id="divShowPriv" style="display:"> <a href="javascript:showPrivLeave();swappage();" style="text-decoration: none"><b swlang code="SW012697">Show Privilege Leave</b></a> </div> <div class="Cell_1" id="divHidePriv" style="display:none"> <a href="javascript:showPrivLeave();swappage();" style="text-decoration: none"><b>Hide Privilege Leave</></a> </div> </div> </div> <td> </tr> <tr> <td colspan="2"> <table id="tblShowDetail" style="width:100%" class="tablewithborder" > <tr> <td rowspan="2" height="35" width="300" class="row3"> <div align="CENTER"><b><span swlang code="SW000300">Leave Type</span></b></div></td> <td width="" height="17" class="row3"><div align="CENTER"><b><%=yearid - 1%></b></div></td> <td width="" height="17" class="row3"><div align="CENTER"><b><span swlang code="SW012698">Inventory</span></b></div></td> <td width="" height="17" class="row3"><div align="CENTER"><b><span swlang code="SW000376">Used</span></b></div></td> <td id="tdWriteOff1" width="" height="17" style="display:none"><div align="CENTER"><b><script language="javascript">swapLang("Write Off");</script></b></div></td> <td width="" height="17" class="row3"><div align="CENTER"><b><span swlang code="SW011906">Balance</span></b></div></td> <td width="" height="17" class="row3"><div align="CENTER"><b><%=yearid + 1%></b></div></td> </tr> <tr bordercolor="#3399FF"> <td width="" height="10" class="row3"><div align="CENTER">[<span swlang code="SW001832">DD HH MM</span>]</div></td> <td width="" height="10" class="row3"><div align="CENTER">[<span swlang code="SW001832">DD HH MM</span>]</div></td> <td width="" height="10" class="row3"><div align="CENTER">[<span swlang code="SW001832">DD HH MM</span>]</div></td> <td id="tdWriteOff2" width="" height="10" style="display:none"> <div align="CENTER">[<script language="javascript">swapLang("DD HH MM");</script>]</div></td> <td width="" height="10" class="row3"><div align="CENTER">[<span swlang code="SW001832">DD HH MM</span>]</div></td> <td width="" height="10" class="row3"><div align="CENTER">[<span swlang code="SW001832">DD HH MM</span>]</div></td> </tr> <% String vacation0 = "00:00:00"; String vacation1 = "00:00:00"; Vector vcLeaveDesc = new Vector(); Vector vcAllEvent = new Vector(); String cFont = "";String c_limit = "";String c_used = "";String c_remain=""; String fld = getMConfigValue(screen.getUProfile(), "TALVFD"); /* default event */ DbInquiry inq = new InitialInquiry(screen.getUProfile()).getDbInquiry("Meventgrp1"); inq.setSchemaName(screen.getUProfile().getSchemaName()); inq.setFilter("display = '1' and (daytype!='1' and daytype !='5' and daytype !='6' and daytype !='9') and BRANCHID = (select " + fld + " from MEMPLOYEE where EMPLOYEEID = '" +empid+ "')"); inq.setOrderBy("display_order,edesc"); inq.setColumn("*"); inq.refresh(); while(inq.next()){ vcAllEvent.add(inq.getCurrentDbRecord().cloneRecord(false)); } //System.out.print("Meventgrp 2 -----> "); /* admin define event */ DbInquiry inqDefine = new InitialInquiry(screen.getUProfile()).getDbInquiry("Meventgrp2"); inqDefine.setSchemaName(screen.getUProfile().getSchemaName()); inqDefine.setFilter("EMPLOYEEID = '" +empid+ "'"); inqDefine.setOrderBy("display_order,edesc"); inqDefine.setColumn("*"); inqDefine.refresh(); while(inqDefine.next()){ vcAllEvent.add(inqDefine.getCurrentDbRecord().cloneRecord(false)); } /**** end load all event from default and admin define ****/ int run = 0; for(int i=0; i < vcAllEvent.size(); i++){ DbRecord dbEvent = (DbRecord) vcAllEvent.get(i); System.out.print("--- db " + dbEvent.getString("eventgrpid")); String a = "simmemployee_tadjtime0$"+ dbEvent.getString("eventgrpid"); String a_desc = screen.inq.getString(a+"_desc"); String b = dbEvent.getString("eventgrpid"); String type = dbEvent.getString("daytype"); String lastyear_v1 = chkNull.chkNullString(screen.inq.getString(a+"_previous_rem"),"00:00:00"); String nextyear_v1 = chkNull.chkNullString(screen.inq.getString(a+"_next_rem"),"00:00:00"); String curyear_id = chkNull.chkNullString(screen.inq.getString(a+"_cur_year")); String lastyear_id = chkNull.chkNullString(screen.inq.getString(a+"_previous_year")); String nextyear_id = chkNull.chkNullString(screen.inq.getString(a+"_next_year")); String pri_emp = chkNull.chkNullString(screen.inq.getString(a+"_privilege_emp")); /* keep desc */ String datalist[] = {a_desc, b}; vcLeaveDesc.add(datalist); if(run==0){ if ( screen.inq.getString("simmemployee_tadjtime0$lt_times").equals("0") ) { cFont = ""; }else{ cFont = "error"; } String lt_0 = screen.inq.getString("simmemployee_tadjtime0$lt_hour_fs") ; String lt_1 = screen.inq.getString("simmemployee_tadjtime0$lt_times") ; %> <tr> <td class="fonttaho" height="19"> <div align="left"> <!-- <a href="javascript:gotoDetail('late');"> --><script language="javascript">swapLang("Late");</script><!-- </a> --> </div> </td> <td height="19"> <div align="center"> </div></td> <td height="19"> <div align="center"> <font class='<%=cFont%> fonttaho'> <span swlang code="SW000997">Total</span> <%=(lt_1).length()>0?screen.inq.getString("simmemployee_tadjtime0$lt_times"):"0"%> </font> </div> </td> <td height="19"> <div align="center"><font class='<%=cFont%>'></font></div></td> <td id="tdWriteOff3" height="19" style="display:none"> <div align="center"> </div></td> <td height="19"> <div align="center"><font class='<%=cFont%>'><%=(lt_0.equals("00:00:00"))?"":lt_0%></font></div></td> <td height="19"> <div align="center"><font class='<%=cFont%>'><%=lt_1.equals("0")?"":"-"%> <%=(lt_0.equals("00:00:00"))?"":lt_0%></font></div></td> </tr> <% } run++; if (screen.inq.getString(a+"_remain").indexOf('-')>-1) { cFont = "error"; } else { cFont = ""; } c_limit = screen.inq.getString(a+"_limit"); c_used = screen.inq.getString(a+"_used"); c_remain = screen.inq.getString(a+"_remain"); String leaveadvance = chkNull.chkNullString(screen.inq.getString(a+"_leaveadvance")); String list[] = {vacation0,vacation1,c_used,c_remain}; if (type.equals("7") || b.equalsIgnoreCase(COT) || b.equalsIgnoreCase(COF) || b.equalsIgnoreCase(PH)) { if (vacation0.equals("")) { vacation0 = "00:00:00"; } if (vacation1.equals("")) { vacation1 = "00:00:00"; } if (c_limit.equals("")) { c_limit = "00:00:00"; } list[0] = vacation0; list[1] = c_limit; } else { lastyear_v1 = ""; nextyear_v1 = ""; if (c_limit.equals("")) { c_limit = "00:00:00"; } list[0] = ""; list[1] = c_limit; } %> <tr id="<%=b%>" name="trLeave"> <td class="fonttaho" height="19"> <div align="left"> <%=a_desc%> <%if(leaveadvance.length() > 0 && !leaveadvance.equals("00:00:00")) {%> <font style="color: #FF0000;font-size=14px;">(<script language="javascript">swapLang("Leave Advance");</script> <%=leaveadvance%>)</font> <%}%> </div> </td> <td class="fonttaho" height="19"> <div align="center"><font class='<%=cFont%>'><%=lastyear_v1%></font></div></td> <td class="fonttaho" height="19"> <div align="center"> <font class='<%=cFont%>'> <%if(!list[1].equals("00:00:00") && (b.equalsIgnoreCase(COT) || b.equalsIgnoreCase(COF) || b.equalsIgnoreCase(PH))){%> <a class="fonttaho" href="javascript:pageAllowDesc('<%=b%>','<%=screen.inq.getString(a+"_desc")%>')"><%=list[1]%></a> <%}else{%> <%=list[1]%> <%}%> </font></div> </td> <td class="fonttaho" height="19"> <div align="center"> <font class='<%=cFont%>'> <%if(!list[2].equals("00:00:00")){%> <a class="fonttaho" href="javascript:pageDesc('<%=b%>','<%=screen.inq.getString(a+"_desc")%>')"><%=list[2]%></a> <%}else{%> <%=list[2]%> <%}%> </font></div> </td> <td id="td:<%=b%>" style="display:none" height="19"> <div align="center"> <input name="write_off:<%=b%>" type="text" value="<%=pri_emp%>" class="write_off" onblur="chkRest(this);" onfocus="delRest(this);"> </div> </td> <td name="td_v3" class="fonttaho" height="19"> <div align="center"><font class='<%=cFont%>'><%=list[3]%></font></div></td> <td name="td_next" class="fonttaho" height="19"> <div align="center"><font class='<%=cFont%>'><%=nextyear_v1%></font></div></td> </tr> <% } %> <tr> <td colspan="4" height="10" class=""><div align="CENTER"> </div></td> <td id="tdWriteOff5" width="" height="10" style="display:none"> <div align="CENTER"><a href="javascript:bdSave();"><img src="../IMAGES/BUTTON/SAVE.gif" alt="Submit" border="0" align="absmiddle"></a></div> </td> <td colspan="2" width="" height="10" class=""><div align="CENTER"> </div></td> </tr> </table> </td> </tr> <!-- end show balance --> <!-- <tr><td colspan="2"> </td></tr> <tr><td colspan="2"> </td></tr> --> <!-- leave privilege part --> <tr> <td colspan="2"> <table id="tbPrivilegePart" style="display:none;width:100%"> <tr> <td rowspan="2" height="35" width="300" class="row3"> <div align="CENTER"><b><script language="javascript">swapLang('Leave Type');</script></b></div> </td> <td colspan="6" class="row3"><div align="CENTER"><b><script language="javascript">swapLang('Condition Required');</script></b></div></td> </tr> <tr bordercolor="#3399FF"> <td width="" height="10" class="row3"><div align="CENTER"><script language="javascript">swapLang("Past");</script></div></td> <td width="" height="10" class="row3"><div align="CENTER"><script language="javascript">swapLang("Advance");</script></div></td> <td width="" height="10" class="row3"><div align="CENTER"><script language="javascript">swapLang("Beyond");</script></div></td> <td width="" height="10" class="row3"><div align="CENTER"><script language="javascript">swapLang("YOS");</script></div></td> <td width="" height="10" class="row3"><div align="CENTER"><script language="javascript">swapLang("Event Req");</script></div></td> <td width="" height="10" class="row3"><div align="CENTER"><script language="javascript">swapLang("Count limit");</script></div></td> </tr> <% run = 0; for(int j=0; j < vcLeaveDesc.size(); j++) { String vc[] = {"1","1","1","1","1","1","1","1","1","1"}; /* default privilege */ String data[] = (String[]) vcLeaveDesc.get(j); System.out.print("select -> " + data); if(hmPriv.containsKey(data[1])){ vc = (String[]) hmPriv.get(data[1]); } if(run==0){ %> <tr > <td class="fonttaho" height="19"> <div align="left"> <script language="javascript">swapLang("Late");</script></div> </td> <td height="19" colspan="6"> </td> </tr> <% } run++; %> <tr id="td_<%=data[1]%>"> <td class="fonttaho tablewithborder" height="19"> <div align="left"> <%=data[0]%> <input type="checkbox" id="chk_<%=data[1]%>" style="display:none"> </div> </td> <td class="fonttaho" height="19"><div align="center"><input type="checkbox" id="<%=data[1]%>_01" name="<%=data[1]%>_01" <%=(vc[0].equals("1"))?"checked":""%> onclick="setChangePriv('<%=data[1]%>')"></div></td> <td class="fonttaho" height="19"><div align="center"><input type="checkbox" id="<%=data[1]%>_02" name="<%=data[1]%>_02" <%=(vc[1].equals("1"))?"checked":""%> onclick="setChangePriv('<%=data[1]%>')"></div></td> <td class="fonttaho" height="19"><div align="center"><input type="checkbox" id="<%=data[1]%>_03" name="<%=data[1]%>_03" <%=(vc[2].equals("1"))?"checked":""%> onclick="setChangePriv('<%=data[1]%>')"></div></td> <td class="fonttaho" height="19"><div align="center"><input type="checkbox" id="<%=data[1]%>_04" name="<%=data[1]%>_04" <%=(vc[3].equals("1"))?"checked":""%> onclick="setChangePriv('<%=data[1]%>')"></div></td> <td class="fonttaho" height="19"><div align="center"><input type="checkbox" id="<%=data[1]%>_05" name="<%=data[1]%>_05" <%=(vc[4].equals("1"))?"checked":""%> onclick="setChangePriv('<%=data[1]%>')"></div></td> <td class="fonttaho" height="19"><div align="center"><input type="checkbox" id="<%=data[1]%>_06" name="<%=data[1]%>_06" <%=(vc[5].equals("1"))?"checked":""%> onclick="setChangePriv('<%=data[1]%>')"></div></td> </tr> <% } %> <tr> <td colspan="7" height="10"> <div align="CENTER"><a href="javascript:bdSavePriv();"><img src="../IMAGES/BUTTON/SAVE.gif" alt="Submit" border="0" align="absmiddle"></a></div> </td> </tr> </table> </td> </tr> <!-- end privilege part --> </table> </center> </div> </td> </tr> <tr> <td class="bottom" > </td> </tr> </table> </div> </form> </body> </html> <%! public String getMConfigValue(UProfile upf, String filed){ String srt = ""; try { srt = (String) StaticConfig.getConfigCompany(upf, filed) ; }catch(Exception e){ e.printStackTrace(); } return srt ; } public String getAnnualID(UProfile upf){ String rtn = ""; try { DbInquiry inq = new InitialInquiry(upf).getDbInquiry("Meventgrp"); inq.setColumn("eventgrpid,companyid,daytype"); inq.setFilter("daytype = '7'"); inq.refresh(); while(inq.next()){ rtn = inq.getString("eventgrpid"); } }catch(Exception e){ e.printStackTrace(); } return rtn ; } public void updateWriteOffLeave(String empid, UProfile upf, int yearid, String leave){ try { HashMap hm = new HashMap(); String fld = getMConfigValue(upf, "TALVFD"); if(fld.equals("")) fld = "branchid" ; DbInquiry inq = new InitialInquiry(upf).getDbInquiry("mempl_vacation"); inq.setSchemaName(upf.getSchemaName()); inq.setFilter("employeeid = '" +empid+ "' and yearid = " + String.valueOf(yearid)); inq.setColumn("*"); inq.refresh(); while(inq.next()){ hm.put(inq.getString("eventgrp"), inq.getCurrentDbRecord().cloneRecord(true)); System.out.print("keep " + inq.getString("eventgrp")); } String items[] = leave.split(",") ; for(int i=0; i < items.length; i++){ String woff[] = items[i].split("#"); if(hm.containsKey(woff[0])){ DbRecord db = (DbRecord) hm.get(woff[0]); db.set("privilege_emp", woff[1]); db.save(); System.out.print("!! update user write off leave " + empid + ":" + woff[0] + ":" + woff[1] ); } } }catch(Exception e){ e.printStackTrace(); } } public String[] clonePriv(DbRecord db){ String vc[] = {"1","1","1","1","1","1","1","1","1","1"}; try { vc[0] = db.getString("condition_1"); vc[1] = db.getString("condition_2"); vc[2] = db.getString("condition_3"); vc[3] = db.getString("condition_4"); vc[4] = db.getString("condition_5"); vc[5] = db.getString("condition_6"); vc[6] = db.getString("condition_7"); vc[7] = db.getString("condition_8"); vc[8] = db.getString("condition_9"); vc[9] = db.getString("condition_10"); System.out.print("d[0] : " + db.getString("condition_1")); System.out.print("!! read date --> " + db.getString("eventgrpid") + ":" + vc); }catch(Exception e){ e.printStackTrace(); } return vc ; } public void updatePrivLeave(String emp, UProfile upf, String upd){ try { /* item : 0 : eventgrp 1 : past limit 2 : in advance 3 : beyond date 4 : year of work 5 : event 6 : count */ String raw[] = upd.split(","); int result = 0 ; for(int i=0; i < raw.length; i++){ String items[] = raw[i].split(":"); DbRecord db = new InitialRecord(upf).getDbRecord("Mprivilege_leave"); db.setColumn("*"); db.set("employeeid", emp); db.set("companyid", upf.getCompanyid()); db.set("eventgrpid", items[0]); db.set("condition_1", items[1]); db.set("condition_2", items[2]); db.set("condition_3", items[3]); db.set("condition_4", items[4]); db.set("condition_5", items[5]); db.set("condition_6", items[6]); result = db.save(); System.out.print("!! update privilege leave : " + emp + " >> " + upd); } }catch(Exception e){ e.printStackTrace(); } } %>