<%@page contentType="text/html; charset=UTF-8"%> <%@page import="java.text.*,com.csc.library.utilities.CscCalendar,com.csc.library.entry.HelpEntry,com.csc.library.system.*"%> <%@ page import="com.csc.library.entry.*,com.csc.library.database.*,com.csc.library.session.*,com.csc.library.utilities.CscTime" %> <%@ page import="com.csc.library.formula.*,com.csc.library.utilities.CheckNull" %> <jsp:useBean id="PRU134" class="com.csc.library.system.Task" scope="page" /> <jsp:useBean id="memployee" class="com.csc.library.system.Task" scope="page"/> <% CheckNull chk = new CheckNull(); memployee.setChannel(request,response); UIManager screen = (UIManager) memployee.process("SingleEntry","PRU134"); PRU134.setChannel(request, response); HelpEntry helpScreen = (HelpEntry) PRU134.process("HelpEntry", "PRU134HELP"); helpScreen.setMaxLine(20); String employeeid = screen.getDataLabel("employeeid"); if( ("").equals(employeeid) ) { // set employeeid = null เพราะ ถ้าเป็น "" มันจะ search มาทั้งหมด employeeid = "null"; } helpScreen.getInquiry().setFilter("employeeid", employeeid, "", "="); helpScreen.process(); %> <html ng-app="myHR"> <head> <title></title> <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 type='text/javascript' src='../JS/DATEINPUT.js'></script> <script type='text/javascript' src='../JS/VIEWCALENDAR.js'></script> <script language='javascript' src='../JS/HOTKEY.js'></script> <script language="javascript">getTitleName();</script> <script language="JavaScript" type="text/JavaScript"> <!-- function linkDetail(empid, dateid, time0id){ with (document.cscform){ location = "PRU122HELP.jsp?__employeeid="+empid+"&__dateid="+dateid+",&__time0id="+time0id; } } // for default function \\ function GoSave(){} function GoUpdate(){} function GoDelete(){} function GoSearch(){ with(document.cscform){ setFixCon(); //alert(__fixCon.value) search(); } } function DoSearch(){ with(document.cscform){ __help.value = "__employeeid#"+__employeeid.value; if((__date1.value!="" && __date2.value=="") || (__date1.value=="" && __date2.value!="")){ alert(MyCode[100]); }else{ GoSearch(); } } } function setFixCon(){ with(document.cscform){ if(__date1.value != "" && __date2.value !=""){ //__fixCon.value = "employeeid = '"+__employeeid.value+"' and dateid between '" +dmy2ymd(__date1.value) +"' and '" +dmy2ymd(__date2.value) +"'"; __fixCon.value = "dateid between '" +dmy2ymd(__date1.value) +"' and '" +dmy2ymd(__date2.value) +"'"; } } } function dmy2ymd(dmy){ var ymd = ""; var tmp; var format =/^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // dmy if(format.test(dmy)){ if(dmy.indexOf("/")!=-1){ tmp = dmy.split("/"); }else{ tmp = dmy.split("-"); } ymd = tmp.reverse().join("-"); } return ymd; } // call onBlur function chkDate(obj){ if(obj.value!="" && !isDate(obj.value)){ alert(MyCode[100]) obj.value = ""; } } function isDate(dmy){ tmp = dmy.split("-") var date = new Date(tmp[2], --tmp[1], tmp[0]) with(date){ return (getMonth() == tmp[1] && getDate() == tmp[0]); } } function goPage(page){ with(document.cscform){ __goPage.value=page; setFixCon(); __help.value = "__employeeid#"+__employeeid.value; submit(); } } //--> </script> </head> <body leftmargin="0" topmargin="0" onLoad="MM_preloadImages('../IMAGES/BUTTON/SEARCH.gif')"> <div id="toolTipLayer" style="position:absolute; visibility: hidden"></div> <form name="cscform" method="post" action="?"> <input type="hidden" name="__screen" value="PRU134"> <input type="hidden" name="__cmd" value=""> <input type="hidden" name="__help" value=""> <input type="hidden" name="__goPage" value=""> <input type="hidden" name="__orderBy" value=""> <input type="hidden" name="__helpReturn" value=""> <input type="hidden" name="__helpName" value=""> <input type="hidden" name="__pageCall" value=""> <input type="hidden" name="__fixCon" value=""> <input type="hidden" name="__fixFilter" value=""> <input type="hidden" name="__calendar"> <input type="hidden" name="__language" value="<%=screen.getUProfile().get("lang")%>"> <input type="hidden" name="__dateid" value=""> <input type="hidden" name="__time0id" value=""> <input type="hidden" name="__companyid" value="<%=screen.getUProfile().get("companyid")%>"> <input type="hidden" name="__emp_level" value="<%=screen.getDataLabel("emp_level")%>"> <script language="javascript">getInputFormatDate();</script> <script language="javascript">initToolTips();</script> <br> <table height="" border="1" align="center" cellpadding="0" cellspacing="0" class="largest"> <tr> <td height="20" class="header" colspan="4">PRU134, <!-- <script language="javascript">swapLang("Time Current");</script> --> <span swlang code="SW000328">Time Current</span> </td> </tr> <tr> <td class="blankspace" colspan="4"></td> </tr> <tr> <td> <table align="center" cellpadding="0" cellspacing="0" > <tr> <td class="blankspace" colspan="2"></td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("employeeid")%> </td> <td width="482" ><%=screen.getInput("employeeid")%> <%=screen.getLabel("status")%> <%=screen.getInput("status")%> </td> </tr> <tr> <td height="22" class="columnlabel"><%=screen.getLabel("fname")%> </td> <td><input type="hidden" name="__emp_prefix" value="<%=screen.getDataLabel("MPREFIX","PREFIXID")%>"> <input name="MPREFIX@TDESC" type="text" readonly size="10" value="<%=screen.getDataLabel("MPREFIX","TDESC")%>"> <input name="__fname" type="text" readonly size="20" value="<%=screen.getDataLabel("fname")%>"> <input name="__lname" type="text" readonly size="20" value="<%=screen.getDataLabel("lname")%>"> </td> </tr> <tr> <td class="columnlabel"><%=screen.getLabel("efname")%> </td> <td><input name="MPREFIX@EDESC" type="text" readonly size="10" value="<%=screen.getDataLabel("MPREFIX","EDESC")%>"> <input name="__efname" type="text" readonly size="20" value="<%=screen.getDataLabel("efname")%>"> <input name="__elname" type="text" readonly size="20" value="<%=screen.getDataLabel("elname")%>"></td> </tr> <% screen.referLangOn(); %> <tr> <td colspan="2" class="blankspace"> </td> </tr> </table> </td> </tr> <tr> <td class="blankspace" colspan="4"></td> </tr> <tr> <td colspan="4"> <div align="center"> <!-- <script language="javascript">swapLang('Period Date');</script> --> <span swlang code="SW000277">Period Date</span> <input name="__date1" type="text" onFocus="this.select();" title="DDMMYYYY" onKeyPress="chkIntegerOfDate(this.value)" onBlur="chkDate(this);" onKeyUp="formatDate(this)" value="<%=chk.chkNullString(request.getParameter("__date1")) %>" size="10"> <a href="javascript:viewCal('__date1')" onmouseout="MM_swapImgRestore()" onMouseOver="MM_swapImage('calendar1','','../IMAGES/BUTTON/SWAP/CALENDAR_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/CALENDAR20.gif" name="calendar1" border="0" align="absmiddle" alt="Calendar"></a> - <input name="__date2" type="text" onFocus="this.select();" onMouseOver="toolTip('DDMMYYYY')" onMouseOut="toolTip()" onKeyPress="chkIntegerOfDate(this.value)" onblur="chkDate(this);" onKeyUp="formatDate(this)" value="<%=chk.chkNullString(request.getParameter("__date2")) %>" size="10"> <a href="javascript:viewCal('__date2')" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('calendar2','','../IMAGES/BUTTON/SWAP/CALENDAR_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/CALENDAR20.gif" name="calendar2" border="0" align="absmiddle" alt="Calendar"></a> <button type="button" class="btn btn-primary width100" swlang code="SW003537" onClick="DoSearch();">Search</button> </div></td> </tr> <tr> <td align="right" >< <%=helpScreen.getPageTag()%> > </td> </tr> <tr> <td class="blankspace" colspan="4"></td> </tr> <tr> <td colspan="4"> <table cellpadding="0" cellspacing="1" bgcolor="#666666" class="maxsize tablewithborder" > <tr> <td width="100" align="center" class="row3" ><strong><!-- <script language="javascript">swapLang("Date");</script> --> <span swlang code="SW000022">Date</span></strong></td> <td width="100" align="center" class="row3"><strong><!-- <script language="JavaScript">swapLang("Day");</script> --> <span swlang code="SW000262">Day</span></strong></td> <td width="120" align="center" class="row3"><strong><!-- <script language="JavaScript">swapLang("Shift");</script> --> <span swlang code="SW008607">Shift</span></strong></td> <td width="90" align="center" class="row3"><strong><!-- <script language="JavaScript">swapLang("Std.Work Hours");</script> --> <span swlang code="SW011864">Std.Work Hours</span></strong></td> <td width="120" align="center" class="row3"><strong><!-- <script language="JavaScript">swapLang("Remark");</script> --> <span swlang code="SW000302">Remark</span></strong></td> <td width="50" align="center" class="row3"><!-- <strong><script language="JavaScript">swapLang("In");</script> --> <span swlang code="SW011865">In</span></strong></td> <td width="50" align="center" class="row3"><!-- <strong><script language="JavaScript">swapLang("Out");</script> --> <span swlang code="SW005116">Out</span></strong></td> <td width="50" align="center" class="row3"><!-- <strong><script language="JavaScript">swapLang("Late");</script> --> <span swlang code="SW000055">Late</span></strong></td> <td width="50" align="center" class="row3"><!-- <strong><script language="javascript">swapLang("Late Hours");</script> --> <span swlang code="SW000330">Late Hours</span></strong></td> <td width="50" align="center" class="row3"><!-- <strong><script language="javascript">swapLang("Leave Hours");</script> --> <span swlang code="SW000331">Leave Hours</span></strong></td> <td width="50" align="center" class="row3"><!-- <strong><script language="javascript">swapLang("Absent Hours");</script> --> <span swlang code="SW000764">Absent Hours</span></strong></td> <td width="50" align="center" class="row3"><!-- <strong><script language="JavaScript">swapLang("Work Hours");</script> --> <span swlang code="SW005118">Work Hours</span></strong></td> <td width="50" align="center" class="row3"><!-- <strong><script language="JavaScript">swapLang("OT Hours");</script> --> <span swlang code="SW000333">OT Hours</span></strong></td> </tr> <% CscTime late = new CscTime(); CscTime leave = new CscTime(); CscTime ot = new CscTime(); CscTime absent = new CscTime(); CscTime total = new CscTime(); CscTime sum_leave = new CscTime(); CscTime hour_d = new CscTime(); int lt_total = 0; int work_total = 0; while(helpScreen.nextRec()) { if(helpScreen.checkLinePage()) { helpScreen.referLangOn(); work_total++; CscCalendar cs = new CscCalendar(helpScreen.getString("dateid")); //String holiday = ""; //String cFont = ""; //String cBgTD="forborder"; String m_lv="0.00"; String m_absent="0.00"; //เช็คประเภทวันที่ลา ถ้าเป็น j ถือว่าขาดงาน if(helpScreen.getString("lv_ty").equalsIgnoreCase("j")){ m_absent = helpScreen.getString("m_lv"); //holiday=helpScreen.getString("meventgrp","edesc"); }else{ m_lv = helpScreen.getString("m_lv"); //holiday=helpScreen.getString("meventgrp","edesc"); } //เช็คจำนวนครั้งที่สาย String lt_times="0"; if(Double.valueOf(helpScreen.getString("lt")).doubleValue() > 0){ lt_times="1"; lt_total++; } String tm_in=helpScreen.getString("m_tm_bg"); String tm_out=helpScreen.getString("m_tm_en"); if(helpScreen.getString("forget_in").equals("1")){ tm_in = "0.00"; } if(helpScreen.getString("forget_out").equals("1")){ tm_out = "0.00"; } %> <tr> <td align="center" nowrap class="forborder2"><a href="javascript:linkDetail('<%=helpScreen.getString("employeeid")%>','<%=cs.getYYYYMMDD()%>','<%=helpScreen.getString("time0id")%>')"><%=helpScreen.getString("dateid")%></a></td> <td align="center" nowrap class="forborder2"><script language="javascript">swapLang('<%=cs.getShortEngDOW()%>')</script></td> <td nowrap class="forborder2"><%=helpScreen.getString("mtime0","edesc")%></td> <td align="center" nowrap class="forborder2"><%=helpScreen.getString("hour_s")%></td> <td nowrap class="forborder2"><%=helpScreen.getString("meventgrp","edesc")%></td> <td align="center" class="forborder2"><%=tm_in%></td> <td align="center" class="forborder2"><%=tm_out%></td> <td align="center" class="forborder2"><%=lt_times%></td> <td align="center" class="forborder2"><%=helpScreen.getString("lt")%></td> <td align="center" class="forborder2"><%=m_lv%></td> <td align="center" class="forborder2"><%=m_absent%></td> <td align="center" class="forborder2"><%=helpScreen.getString("hour_d")%></td> <td align="center" class="forborder2"><%=helpScreen.getString("ac_ot")%></td> <% total.add(Float.valueOf(helpScreen.getString("hour_s")).floatValue()); late.add(Float.valueOf(helpScreen.getString("lt")).floatValue()); leave.add(Float.valueOf(m_lv).floatValue()); absent.add(Float.valueOf(m_absent).floatValue()); hour_d.add(Float.valueOf(helpScreen.getString("hour_d")).floatValue()); ot.add(Float.valueOf(helpScreen.getString("ac_ot")).floatValue()); %> </tr> <% helpScreen.referLangOff(); } if(helpScreen.outLinePage()) { break; } } sum_leave.add(leave.getFloat()); sum_leave.add(absent.getFloat()); sum_leave.add(late.getFloat()); FormulaString fs = new FormulaString(); DecimalFormat df = new DecimalFormat("#0.00"); double total2dec=0; double time2dec=0; double hour_d2dec=0; double ot2dec=0; double per_leave=0; double per_work=0; double per_ot=0; double per_late=0; time2dec = fs.Tm_To_Dec(Double.valueOf(""+sum_leave.getFloat()).doubleValue()); total2dec = fs.Tm_To_Dec(Double.valueOf(""+total.getFloat()).doubleValue()); hour_d2dec = fs.Tm_To_Dec(Double.valueOf(""+hour_d.getFloat()).doubleValue()); ot2dec = fs.Tm_To_Dec(Double.valueOf(""+ot.getFloat()).doubleValue()); per_ot = ( ot2dec > 0 && total2dec > 0 )? ot2dec*100.0/total2dec : 0.00; per_leave = ( time2dec > 0 && total2dec > 0 )? time2dec*100.0/total2dec : 0.00; per_work = ( hour_d2dec > 0 && total2dec > 0 )? hour_d2dec*100.0/total2dec : 0.00; per_late = ( lt_total > 0 && work_total > 0 )? lt_total*100.0/work_total : 0.00; %> <tr> <td colspan="3" align="center" class="row3"><!-- <script language="JavaScript">swapLang("Total");</script> --> <span swlang code="SW000024">Total</span></td> <td class="row3" align="center"><%=df.format(Double.valueOf(""+total.getFloat()).doubleValue())%></td> <td colspan="3" align="center" class="row3"> </td> <td align="center" class="row3"><%=lt_total%></td> <td class="row3" align="center"><%=df.format(late.getFloat())%></td> <td class="row3" align="center"><%=df.format(leave.getFloat())%></td> <td class="row3" align="center"><%=df.format(absent.getFloat())%></td> <td class="row3" align="center"><%=df.format(hour_d.getFloat())%></td> <td class="row3" align="center"><%=df.format(ot.getFloat())%></td> </tr> <tr> <td colspan="3" align="center" class="row3">%</td> <td align="center" class="row3"> </td> <td colspan="3" align="center" class="row3"> </td> <td align="center" class="row3"><%=df.format(per_late)%> %</td> <td class="row3" align="center" colspan="3"><%=df.format(per_leave)%> %</td> <td class="row3" align="center"><%=df.format(per_work)%> %</td> <td class="row3" align="center"><%=df.format(per_ot)%> %</td> </tr> </table> </td> </tr> <tr> <td class="blankspace" colspan="4"></td> </tr> <tr> <td class="bottom"></td> </tr> </table> <script language="javascript">setEmpIdformenu(document.cscform.__employeeid.value);</script> </form> </body> </html>