<!DOCTYPE html> <%@page contentType="text/html; charset=UTF-8" language="java" %> <%@page import="com.csc.library.entry.HelpEntry,com.csc.library.system.*,com.csc.library.utilities.*,java.util.*"%> <%@page import="com.csc.library.entry.*,com.csc.library.database.*,com.csc.library.session.*" %> <%@page import="com.csc.library.formula.FormulaString,java.text.DecimalFormat" %> <%@ include file="../CHECKPROFILE.jsp" %> <% request.setCharacterEncoding("UTF-8"); %> <jsp:useBean id="EMV" class="com.csc.library.system.Task" scope="page" /> <jsp:setProperty name="EMV" property="appname" value="empview" /> <% EMV.setChannel(request, response); ThaiUtilities thaicode = new ThaiUtilities(); CheckNull chk = new CheckNull(); String groupID = thaicode.ASCII2Unicode(chk.chkNullString(request.getParameter("__subgroupid"))); String startDate = thaicode.ASCII2Unicode(chk.chkNullString(request.getParameter("date_start"))); String endDate = thaicode.ASCII2Unicode(chk.chkNullString(request.getParameter("date_end"))); DbInquiry inqChild = null; EmvHelpEntry screen = (EmvHelpEntry) EMV.process("EmvHelpEntry", "MG_LEAVEHELP"); if (!startDate.equals("") && !endDate.equals("")) { CscCalendar c1 = new CscCalendar(startDate); CscCalendar c2 = new CscCalendar(endDate); inqChild = (DbInquiry) screen.inq.getChild("Tleave_summary"); String filter = "(dateid between '"+c1.getYYYYMMDD()+"' and '"+c2.getYYYYMMDD()+"')"; filter += " and (doctype='A' or doctype='S')"; if (request.getParameter("__select_lvtype")!=null) { String type = request.getParameter("__select_lvtype"); if (!type.equals("ALL")) { filter += " and lv_type='"+type+"'"; } } if (request.getParameter("__select_orderby")!=null) { inqChild.setOrderBy(request.getParameter("__select_orderby")); } inqChild.setFilter(filter); //out.println("CHILD > "+inqChild.getChildTable()+"<br>"); } else { //Default CscCalendar tmp = new CscCalendar(); CscCalendar c1 = new CscCalendar("01-"+tmp.getMM()+"-"+tmp.getYear()); CscCalendar c2 = new CscCalendar(tmp.getDDMMYYYY()); inqChild = (DbInquiry) screen.inq.getChild("Tleave_summary"); String filter = "(dateid between '"+c1.getYYYYMMDD()+"' and '"+c2.getYYYYMMDD()+"') and (doctype='A' or doctype='S')"; inqChild.setFilter(filter); } screen.inq.refresh(); screen.nextRec(); CscCalendar cs = new CscCalendar(); FormulaString fs = new FormulaString(); DecimalFormat df = new DecimalFormat("0.00"); DecimalFormat df2 = new DecimalFormat("00.00"); CscCalendar c1 = new CscCalendar(); CscCalendar c2 = new CscCalendar(); try { String d1 = (String) StaticConfig.getConfigCompany(screen.getUProfile(), "ta1001"); String d2 = (String) StaticConfig.getConfigCompany(screen.getUProfile(), "ta1002"); if (d1!=null && d2!=null && !d1.equals("") && !d2.equals("")) { c1 = new CscCalendar(d1); c2 = new CscCalendar(d2); } } catch (Exception e) {} %> <html xmlns="http://www.w3.org/1999/xhtml" ng-app="myHR"> <head> <title>Employee View</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div class="bg-com"></div> <jsp:include page="EMV_HEADMENU.jsp" flush="true" /> <script> setLang("<%=screen.getUProfile().get("lang")%>"); var swap = new swaplang(); var titlename = swap.swap2String("SW008825"); setPageTitle(titlename); $(document).ready(function(){ //datepicker function var myLang='<%=screen.getUProfile().get("lang")%>'; if (myLang=="tha"){ $.datepicker.setDefaults($.datepicker.regional['tha']); } $("input[name=date_start]").hover(function(){ $("input[name=date_start]").datepicker({ dateFormat:"dd-mm-yy", maxDate:-1, defaultDate:-1, changeMonth: true, changeYear: true }); $("input[name=date_end]").datepicker("destroy"); }); $("input[name=date_end]").change(function(){ if ($("input[name=date_start]").val()>$("input[name=date_end]").val()){ $("input[name=date_start]").val($("input[name=date_end]").val()); } else if ($("input[name=date_start]").val()==""){ $("input[name=date_start]").val($("input[name=date_end]").val()); } }); $("input[name=date_end]").hover(function(){ $("input[name=date_end]").datepicker({ minDate: new Date(ConvertDate($("input[name=date_start]").val())), dateFormat:"dd-mm-yy", changeMonth: true, changeYear: true }); }); }); function goHelp(helpName,inputName){ //alert(helpName+" "+inputName); with(document.cscform){ var helpReturn=""; var fcon=__fixCon.value; var sub_value = ""; __fixCon.value = "employeeid='<%=EMV.getUProfile().get("employeeid")%>'"; if (inputName=="__subgroupid") { helpReturn = inputName+":groupid,__desc:edesc" linkHelp_Return(helpName,helpReturn); } __fixCon.value = ""; } } function GoSearch(){ with(document.cscform){ if (__subgroupid.value=="") { __desc.value = ""; } search(); } } function getOrderByDesc(m){ with(document.cscform){ var orderName = ""; var engOrder = new Array("Date","EmployeeID","Date [Max->Min]","EmployeeID [Max->Min]"); var thaiOrder = new Array("วันที่","รหัสพนักงาน","วันที่ [มาก->น้อย]","รหัสพนักงาน [มาก->น้อย]"); if (m=='dateid') { m = 1; } else if (m=='employeeid') { m = 2; } else if (m=='dateid desc') { m = 3; } else if (m=='employeeid desc') { m = 4; } if (__language.value=='tha') { orderName = thaiOrder[parseInt(m)-1]; } else orderName = engOrder[parseInt(m)-1]; //alert(m+" "+orderName); document.write(orderName); } } function pageLeaveStatistic(empID){ with(document.cscform){ __fixCon.value=" employeeid='"+empID+"'"; //alert(__fixCon.value); window.open("EMP_LEAVE.jsp?__cmd="+ "&__empID="+empID+ "&__fixCon="+__fixCon.value, "Memployee","left=100,top=20,width=900,height=600,toolbar=no,status=yes,scrollbars=yes,resizable=yes" ); //submit(); } } function pageLeaveDesc(empID, empName, lv, desc, date1, date2){ with(document.cscform){ //var a=chkDateTime1(date1.value); //var b=chkDateTime1(date2.value); //alert(date1.value+"==="+date2.value); var lv_filter="lv_type='"+lv+"'"; __fixCon.value=" employeeid='"+empID+"' and (dateid between '"+date1+"' and '"+date2+"') and "+lv_filter; //alert(__fixCon.value); window.open("EMP_LEAVEDESC.jsp?__cmd="+ "&__date1="+date1+ "&__date2="+date2+ "&__empID="+empID+ "&__empName="+empName+ "&__lv_desc="+desc+ "&__fixCon="+__fixCon.value, "Tleave_summary","left=150,top=100,width=810,height=400,toolbar=no,status=yes,scrollbars=yes,resizable=yes" ); //submit(); } } </script> <section> <div class="container csc-content"> <form name="cscform" class="form-horizontal" method="post" action="MG_LEAVE.jsp"> <%=screen.InitialVariable()%> <input type="hidden" name="__cmd" value=""> <input type="hidden" name="__screen" value="MG_LEAVE"> <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="__goPage" value=""> <input type="hidden" name="__referPage" value=""> <input type="hidden" name="__calendar"> <script language="javascript">getInputFormatDate();</script> <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" > <div id="toolTipLayer" style="position:absolute; visibility: hidden"></div> <script language="javascript">initToolTips();</script> <div class="csc-block"> <div class="center"> <h2 class="csc-block-head" swlang code='SW008825'>Leave Details</h2> </div> <div class="form-horizontal"> <div class="row"> <div class="form-group"> <div class="col-md-2 col-sm-2 col-xs-2"></div> <div class="col-md-2 col-sm-2 col-xs-2"> <label class="control-label label-right" swlang code='SW002085'>Subordinate Group </label> </div> <div class="col-md-2 col-sm-2 col-xs-2"> <% if (request.getParameter("__subgroupid")!=null && !request.getParameter("__subgroupid").equals("")) { %> <div class="input-group"> <input class="form-control" name="__subgroupid" type="text" class="text" size="15" value="<%=request.getParameter("__subgroupid")%>"/> <a class="input-group-addon" href="javascript:goHelp('MSUBORDINATE_GRPHELP','__subgroupid')"> <i class="fa fa-search"></i> </a> </div> <% } else { %> <div class="input-group"> <input class="form-control" name="__subgroupid" type="text" class="text" size="15" /> <a class="input-group-addon" href="javascript:goHelp('MSUBORDINATE_GRPHELP','__subgroupid')"> <i class="fa fa-search"></i> </a> </div> <% } %> </div> <div class="col-md-3 col-sm-3 col-xs-3"> <% if (request.getParameter("__desc")!=null && !request.getParameter("__desc").equals("")) { %> <input class="form-control" type="text" name="__desc" type="text" class="text" size="60" value="<%=request.getParameter("__desc")%>"/> <% } else { %> <input class="form-control" type="text" name="__desc" type="text" class="text" size="60" value="" /> <% } %> </div> </div> </div> <div class="row"> <div class="form-group"> <div class="col-md-2 col-sm-2 col-xs-2"></div> <div class="col-md-2 col-sm-2 col-xs-2"> <label class="control-label label-right" swlang code='SW000275'>Begin Date</label> </div> <div class="col-md-2 col-sm-2 col-xs-2"> <% if (request.getParameter("date_start")==null) { %> <input class="form-control" name="date_start" type="text" value="<%="01-"+cs.getMM()+"-"+cs.getYear()%>" size="9" maxlength="10" onKeyup = "formatDate(this)" onBlur = "chkInputDate2(this,date_end)" onKeypress = "chkIntegerOfDate(this.value)"> <% } else {%> <input class="form-control" name="date_start" type="text" value="<%=request.getParameter("date_start")%>" size="9" maxlength="10" onKeyup = "formatDate(this)" onBlur = "chkInputDate2(this,date_end)" onKeypress = "chkIntegerOfDate(this.value)"> <% }%> </div> <div class="col-md-1 col-sm-1 col-xs-1"> <label class="control-label label-right" swlang code='SW002379'>To Date</label> </div> <div class="col-md-2 col-sm-2 col-xs-2"> <% if (request.getParameter("date_end")==null) { %> <input class="form-control" name="date_end" type="text" value="<%=cs.getDDMMYYYY()%>" size="9" maxlength="10" onKeyup = "formatDate(this)" onBlur = "chkInputDate2(date_start,this)" onKeypress = "chkIntegerOfDate(this.value)"> <% } else {%> <input class="form-control" name="date_end" type="text" value="<%=request.getParameter("date_end")%>" size="9" maxlength="10" onKeyup = "formatDate(this)" onBlur = "chkInputDate2(date_start,this)" onKeypress = "chkIntegerOfDate(this.value)"> <% }%> </div> </div> </div> <div class="row"> <div class="form-group"> <div class="col-md-2 col-sm-2 col-xs-2"></div> <% HashMap hm = new HashMap(); try { DbInquiry inq = new InitialInquiry(screen.getUProfile()).getDbInquiry(); inq.setSchemaName(screen.getUProfile().getSchemaName()); inq.initMyTable("Meventgrp", "((DAYTYPE != '1') AND (DAYTYPE != '5') AND (DAYTYPE != '6') AND (DAYTYPE != '9'))", ""); inq.setColumn("*"); inq.refresh(); while (inq.next()) { DbRecord rec = inq.getCurrentDbRecord(); hm.put(rec.getString("eventgrpid"), rec.getString("tdesc")); } } catch (Exception e) {} %> <div class="col-md-2 col-sm-2 col-xs-2"> <label class="control-label label-right" swlang code='SW000005'>Search By</label> </div> <div class="col-md-2 col-sm-2 col-xs-2"> <select class="form-control" name="__select_lvtype"> <% String s_lvtype = ""; if (request.getParameter("__select_lvtype")!=null && !request.getParameter("__select_lvtype").equals("ALL")) { s_lvtype = request.getParameter("__select_lvtype"); } out.println("<option value='ALL'><script language='javascript'>swapLang('All')</script></option>"); for (Iterator IT = hm.keySet().iterator(); IT.hasNext(); ) { String key = (String) IT.next(); String desc = (String) hm.get(key); if (key.equals(s_lvtype)) { out.println("<option value="+key+" selected>"+desc+"</option>"); } else out.println("<option value="+key+">"+desc+"</option>"); } %> </select> </div> <div class="col-md-1 col-sm-1 col-xs-1"> <label class="control-label label-right" swlang code='SW002014'>Order by</label> </div> <div class="col-md-2 col-sm-2 col-xs-2"> <select class="form-control" name="__select_orderby"> <% String s_order = ""; if (request.getParameter("__select_orderby")!=null) { s_order = request.getParameter("__select_orderby"); } %> <option value="dateid" <% if (s_order.equals("dateshift")) { %> selected <%}%>><script>getOrderByDesc('dateid')</script></option> <option value="employeeid" <% if (s_order.equals("employeeid")) { %> selected <%}%>><script>getOrderByDesc('employeeid')</script></option> <option value="dateid desc" <% if (s_order.equals("dateshift desc")) { %> selected <%}%>><script>getOrderByDesc('dateid desc')</script></option> <option value="employeeid desc" <% if (s_order.equals("employeeid desc")) { %> selected <%}%>><script>getOrderByDesc('employeeid desc')</script></option> </select> </div> </div> </div> <div class="center"> <a class="btn btn-primary" swlang code="SW003537" href="javascript:GoSearch();">Search</a> </div> </div> </div> <div class="table-responsive"> <table class="table table-head table-hover table-bordered table-title-left"> <thead> <tr> <th swlang code="SW000002">Date</th> <th swlang code="SW000262">Day</th> <th swlang code="SW007745">Name Surname</th> <th swlang code="SW000057">Position</th> <th swlang code="SW001835">Leave Time</th> <th><label swlang code="SW000024">Total</label> (<label swlang code="SW011233">HH MM</label>)</th> <th swlang code="SW000300">Leave Type</th> </tr> </thead> <tbody> <% //if (!groupID.equals("")) { int i=1; DbInquiry child = (DbInquiry) screen.inq.getChild("tleave_summary"); child.referLangOn(); if (child.recCount()>0) { do { CscCalendar cDate = new CscCalendar(child.getString("dateid")); String day = ""; if (((String) screen.getUProfile().get("lang")).equalsIgnoreCase("THA")) { //แสดงวันจันทร์ , อังคาร, พุธ เป็นต้น day = cDate.getDOWTHI(); } else day = cDate.getDOWENG(); CscCalendar lv_bg = new CscCalendar(child.getString("lv_bg_date")); CscCalendar lv_en = new CscCalendar(child.getString("lv_en_date")); //String lv_time = lv_bg.getDDMMYYYY()+" - "+df2.format(child.getCurrentDbRecord().getDouble("lv_bg_time"))+" : "+ // lv_en.getDDMMYYYY()+" - "+df2.format(child.getCurrentDbRecord().getDouble("lv_en_time")); String lv_time = df2.format(child.getCurrentDbRecord().getDouble("lv_bg_time"))+" - "+df2.format(child.getCurrentDbRecord().getDouble("lv_en_time")); %> <%//=child.getCurrentDbRecord().getFieldList()%> <tr> <td><center><%=cDate.getDDMMYYYY()%></center></td> <td><%=day%></td> <td> <a href="javascript:pageLeaveStatistic('<%=child.getString("employeeid")%>')"> <%=child.getString("employeeid")%> <%=child.getString("memployee", "fullname")%> </a> </td> <td><%=child.getString("mposition", "tdesc")%></td> <td><center><%=lv_time%></center></td> <td><center><%=df.format(child.getCurrentDbRecord().getDouble("m_lv"))%></center></td> <td> <center> <a href="javascript:pageLeaveDesc('<%=child.getString("employeeid")%>','<%=child.getString("memployee", "fullname")%>','<%=child.getString("lv_type")%>','<%=child.getString("meventgrp", "tdesc")%>','<%=c1.getYYYYMMDD()%>','<%=c2.getYYYYMMDD()%>')"> <%=child.getString("meventgrp", "tdesc")%><%//=child.getString("lv_type")%> </a> </center> </td> </tr> <% i++; } while (child.next()); } //End if (child.recCount()>0) //} //End if (!groupID.equals("")) %> </tbody> </table> </div> </form> </div> <a href="#top" id="top-button"> <i class="fa fa-angle-up"></i> <div class="top-word">Back to top</div> </a> </section> <jsp:include page="FOOTER.jsp" flush="true" /> </body> </html>