<%@page contentType="text/html; charset=TIS620" language="java" %>
<%@page import="com.csc.library.entry.HelpEntry,com.csc.library.system.*,com.csc.library.utilities.*,java.util.*"%>
<%@page import="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.formula.FormulaString"  %>
<%@page import="com.csc.library.timeattendance.DayShift,com.csc.library.timeattendance.Shift,com.csc.library.timeattendance.WorkingShift"  %>
<%@page import="java.text.DecimalFormat"  %>
<% request.setCharacterEncoding("TIS620"); %>
<jsp:useBean id="EMV" class="com.csc.library.system.Task" scope="page" />
<jsp:setProperty name="EMV" property="appname" value="empview" />
<%
	EMV.setChannel(request, response);		
	
	CheckNull chk = new CheckNull();
	String groupID =chk.chkNullString(request.getParameter("__subgroupid"));
	
	String empList = "";
	HelpEntry screen = (HelpEntry) EMV.process("HelpEntry", "MG_TIMEHELP"); 
	screen.inq.refresh();	
	//screen.nextRec();
	while (screen.inq.next()) {
		empList += screen.inq.getString("employeeid")+",";
	}
	if (!empList.equals("")) {
		empList =empList.substring(0, empList.length()-1);
	}
	//out.println("====> "+empList);
	CscCalendar c = new CscCalendar();
	FormulaString fs = new FormulaString();
	DecimalFormat df = new DecimalFormat("0.00");
	DecimalFormat df2 = new DecimalFormat("00.00");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="../Templates/template-emv-main.dwt.jsp" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>Employee View</title>
<!-- InstanceEndEditable -->
<meta http-equiv="Content-Type" content="text/html; charset=TIS620" />
<!-- InstanceBeginEditable name="head" -->
<!-- Begin CSS Links -->
<link rel="stylesheet" type="text/css" href="../CSS/DDMENU.css" />
<link rel="stylesheet" type="text/css" href="../CSS/EMV_LAYOUT.css" />
<link rel="stylesheet" type="text/css" href="../CSS/EMV_DEFAULT.css" />
<link rel="stylesheet" type="text/css" href="../CSS/EMV_LAYOUT_TWO.css" />
<link rel="stylesheet" type="text/css" href="../CSS/EMV_TEXT.css" />

<!-- End CSS Links -->
<!-- Begin Scripts -->
<!-- Begin script for Dropdown Menu -->
<!-- DO NOT EDIT -->
<script language="JavaScript" type="text/javascript" src="../JS/EVENTS.js"></script>
<script language="JavaScript" type="text/javascript" src="../JS/DDMENU.js"></script>
<!--[if lt IE 7]><script language="JavaScript" type="text/javascript" src="../JS/IEHOVER-FIX.js"></script><![endif]-->
<!-- DO NOT EDIT -->
<!-- End script for Dropdown Menu -->
<script language="JavaScript" type="text/javascript" src="../JS/UTILITIES.js"></script>
<script language="JavaScript" type="text/javascript" src="../JS/ACTIVE_OBJECT.js"></script>
<script language="JavaScript" type="text/javascript" src="../JS/SCREEN.js"></script>
<script language="JavaScript">setLang('<%=screen.getUProfile().get("lang")%>');</script>
<script language="JavaScript">
function goHelp(helpName,inputName){
	//alert(helpName+" "+inputName);
  	with(document.cscform){
		var helpReturn="";
		var fcon=__fixCon.value;
		var sub_value = "";
		if (inputName=="__subgroupid") {
			__fixCon.value = "employeeid='<%=EMV.getUProfile().get("employeeid")%>'";
			helpReturn = inputName+":groupid,__desc:edesc"
			linkHelp_Return(helpName,helpReturn);
		} 
		__fixCon.value = "";
	}
}

function getMonthName(m){
	with(document.cscform){
		var monthName = "";
		var engMonth = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
		var thaiMonth = new Array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
		if (__language.value=='tha') {
			monthName = thaiMonth[parseInt(m)-1];
		} else monthName = engMonth[parseInt(m)-1];
		//alert(m+" "+engDate);
		document.write(monthName);
	}
}

function GoSearch(){
	with(document.cscform){
		if (__subgroupid.value=="") {
			__desc.value = "";
		} 
		search();
	}
}

function alertData(emp, msg) {
	var message = msg.replace(/<br>/g,"\n");
	alert(emp+"\n"+message);
}
</script>
<style type="text/css">
#header {
 	background: #FFFFFF ;
}
</style>
<!-- End Scripts -->
<!-- Begin Head -->

<!-- End Head -->
<!-- InstanceEndEditable -->


</head>
<body>
<div id="wrapper">
  <div id="header"><!-- InstanceBeginEditable name="header" -->
    <jsp:include page="EMV_HEADER.jsp" flush="true" />
   <!-- InstanceEndEditable -->  </div>
  <div id="topnav"><!-- InstanceBeginEditable name="top_navigation" -->
  	<jsp:include page="EMV_TOPMENU.jsp" flush="true" />
    <!-- InstanceEndEditable -->  </div>
  <div id="container">
    
    <div id="content"><!-- InstanceBeginEditable name="main_content" -->
    <jsp:include page="EMV_HELPBAR.jsp" flush="true" />
    <!-- Begin Main Content -->
      <div class="content">
      <!-- BEGIN CSC INITIAL ZONE -->
	  <%=screen.InitialVariable()%>
	  <!-- END CSC INITIAL ZONE -->
      <form name="cscform" method="post" action="MG_TIME.jsp">
        <input type="hidden" name="__cmd" value="">
        <input type="hidden" name="__screen"  value="MG_TIME"> 
        <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">
        <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 name="toolTipLayer"  id="toolTipLayer" style="position:absolute; visibility:hidden"></div>
		<script language="javascript">initToolTips();</script> 

          <div class="box-search-condition">
            <div class="content-title"><script language="javascript">swapLang("Please Input Condition to Search");</script></div>
              <table width="100%" border="0" cellpadding="0" cellspacing="0" class="table-search-condition">
                <tr>
                  <td colspan="2" class="column-label">&nbsp;</td>
                </tr>
                <tr>
                  <td width="150" class="column-label"><script language="javascript">swapLang("Subordinate Group");</script></td>
                  <td class="column-input">
                  		<% if (request.getParameter("__subgroupid")!=null) { %>
                        	<input name="__subgroupid" type="text" class="text" size="15" value="<%=request.getParameter("__subgroupid")%>"/>
                        <% } else { %>
                  			<input name="__subgroupid" type="text" class="text" size="15" />
                        <% } %>
                       	<a href="javascript:goHelp('MSUBORDINATE_GRPHELP','__subgroupid')" 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"  border="0" align="absmiddle"></a>
                       	<% if (request.getParameter("__desc")!=null) { %>
	                  		<input name="__desc" type="text" class="text" size="60" value="<%=request.getParameter("__desc")%>"/>
                      	<% } else { %>
                  			<input name="__desc" type="text" class="text" size="60" />
                      	<% } %>
                  </td>
                </tr>
                <tr>
                  <td width="150" class="column-label"><script language="javascript">swapLang("Month");</script></td>                
                  <td class="column-input">
                  	<select name="__monthid">	                    
                    	<% 
							String m = "";
							if (request.getParameter("__monthid")!=null) { 
								m = request.getParameter("__monthid");
							} else {
								m =c.getMM();
							}
						%>
                    	<option value="01" <% if (m.equals("01")) { %> selected <%}%>><script language="javascript">swapLang("January");</script></option>
                        <option value="02" <% if (m.equals("02")) { %> selected <%}%>><script language="javascript">swapLang("February");</script></option>
                        <option value="03" <% if (m.equals("03")) { %> selected <%}%>><script language="javascript">swapLang("March");</script></option>
                        <option value="04" <% if (m.equals("04")) { %> selected <%}%>><script language="javascript">swapLang("April");</script></option>
                        <option value="05" <% if (m.equals("05")) { %> selected <%}%>><script language="javascript">swapLang("May");</script></option>
                        <option value="06" <% if (m.equals("06")) { %> selected <%}%>><script language="javascript">swapLang("June");</script></option>
                        <option value="07" <% if (m.equals("07")) { %> selected <%}%>><script language="javascript">swapLang("July");</script></option>
                        <option value="08" <% if (m.equals("08")) { %> selected <%}%>><script language="javascript">swapLang("August");</script></option>
                        <option value="09" <% if (m.equals("09")) { %> selected <%}%>><script language="javascript">swapLang("September");</script></option>
                        <option value="10" <% if (m.equals("10")) { %> selected <%}%>><script language="javascript">swapLang("October");</script></option>
                        <option value="11" <% if (m.equals("11")) { %> selected <%}%>><script language="javascript">swapLang("November");</script></option>
                        <option value="12" <% if (m.equals("12")) { %> selected <%}%>><script language="javascript">swapLang("December");</script></option>
                    </select>
                    &nbsp;&nbsp;
                    <script language="javascript">swapLang("Year");</script>
                    <% if (request.getParameter("__yearid")!=null) { %>
                    	<input type="text" name="__yearid" value="<%=request.getParameter("__yearid")%>" size="5" maxlength="4" onkeypress="chkInteger()" onkeyup="formatYear(this)" onblur="chkTrueYear(this)">
                    <% } else { %>                   
                    	<input type="text" name="__yearid" value="<%=c.getYear()%>" size="5" maxlength="4" onkeypress="chkInteger()" onkeyup="formatYear(this)" onblur="chkTrueYear(this)">
                    <% }%>
                    &nbsp;&nbsp;
                    <a href="javascript:GoSearch();"><img src="../IMAGES/EMPVIEW/BUTTON/SEARCH.gif" alt="Search" width="60" height="23" border="0" align="absmiddle" /></a>           
                   	</td>
                </tr>
                <tr>
                	<td class="column-label">&nbsp;</td>
                    <td colspan="2" class="column-input">&nbsp;</td>
                </tr>
              </table>
        </div>
       
          <div class="content-box2">
            <div class="content-header"><h2><script language="javascript">swapLang('Employee Working and OverTime')</script></h2></div>
            <table width="100%" border="0" cellpadding="0" cellspacing="1" class="table-content-list">
           		<% if (!empList.equals("")) { %>
               	<% 					
                    String month = request.getParameter("__monthid");
                    String year = request.getParameter("__yearid");
					if (month==null || year==null || month.equals("") && year.equals("")) {
						CscCalendar cDate = new CscCalendar();
						month = cDate.getMM();
						year = String.valueOf(cDate.getYear());
					}
					
					//out.println(">>year="+year+" >>month="+month);
					if (month!=null && year!=null && !month.equals("") && !year.equals("")) {
                        
						CscCalendar c1 = new CscCalendar("01"+"-"+month+"-"+year);
                        int dayCount = c1.getEndDateOfMonth();
                        double col_width = 64/dayCount;
						CscCalendar c2 = new CscCalendar(dayCount+"-"+month+"-"+year);
				%>
                <tr>
               	  <td width="30%" class="center" bgcolor="#CADCE6"><script language="javascript">swapLang('Name Surname')</script></td>
                    <% 
						for (int i=1;i<=dayCount;i++ ) {
					%>
                    		<td width="<%=col_width%>%" class="center" bgcolor="#CADCE6"><%=i%></td>
                    <%
						}
					%>
                    <td width="3%" class="center" bgcolor="#CADCE6"><script language="javascript">swapLang('OT')</script></td>
                    <td width="3%" class="center" bgcolor="#CADCE6"><script language="javascript">swapLang('LE')</script></td>
                </tr>
                <%
						HashMap param = new HashMap();
						param.put("date_start", c1.getDDMMYYYY());
						param.put("date_end", c2.getDDMMYYYY());
						String emp = "";
                        DbInquiry inqEmp = new InitialInquiry(screen.getUProfile()).getDbInquiry();
						inqEmp.setParam(param);
                        inqEmp.setSchemaName(screen.getUProfile().getSchemaName());
                       	inqEmp.initMyTable("Memployee_worktime1", "employeeid in ("+empList+")", "employeeid");
					    //inqEmp.initMyTable("Memployee_worktime1", "employeeid='M01'", "employeeid");
                        inqEmp.setColumn("employeeid, emp_prefix, fname, lname, efname, elname, time0, runno, bossid, bu1, bu2, bu3, bu4, bu5, companyid, status, startdate, resigndate, emp_group, emp_level");
                        inqEmp.refresh();
						while (inqEmp.next()) {    
							emp = inqEmp.getString("employeeid")+" : "+inqEmp.getString("fullname");
				%>
                <tr>
                	<td class="left" bgcolor="#F4F4F4"><%=inqEmp.getString("employeeid")%> : <%=inqEmp.getString("fullname")%></td>
                  <%
						//out.println(inqEmp.getCurrentDbRecord().getParam().get("ws"));
						WorkingShift pws = (WorkingShift) inqEmp.getCurrentDbRecord().getParam().get("ws");
						if (pws!=null && !pws.isEmpty()) {		
							int i = 0;					
							CscTime ctOT = new CscTime(0);
							CscTime ctLeave = new CscTime(0);	
							for (Iterator IT = pws.keySet().iterator(); IT.hasNext(); ) {
								String key = (String) IT.next();
								DayShift dShift = (DayShift) pws.get(key);	
								String desc = "";
								boolean ot = false;
								boolean leave = false;
								String holiday = "#F4F4F4";
								String result = "";							
								for (Iterator IT1 = dShift.keySet().iterator(); IT1.hasNext(); ) {
									String key1 = (String) IT1.next();
									Shift sh = (Shift) dShift.get(key1);
									if (sh.getDocType().equals("A")) {
										leave = true;
										ctLeave.add(sh.getLv());
									} else if (sh.getDocType().equals("B") || sh.getDocType().equals("O")) {
										ot = true;
										ctOT.add(sh.getLv());
									} else if (sh.getEventGroup().equals("H")) {
										holiday = "#FF0000";
									} else if (sh.getEventGroup().equals("I")) {
										holiday = "#FF00FF";
									}					
									desc += sh.getResult_c_dt_in().getDDMMYYYY()+" - "+df2.format(sh.getResult_c_dt_in().getCSCTime())+ " : "+
										sh.getResult_c_dt_out().getDDMMYYYY()+" - "+df2.format(sh.getResult_c_dt_out().getCSCTime())+"   "+
										sh.getEventGroup()+"<br>";							
								}
								if (leave == true) {
									result += "L";
								}
								if (ot == true) {
									result += "O";
								}								
								i++;
					%>
                    	<td class="center" bgcolor="<%=holiday%>" onmouseover="toolTip('<%=desc%>')" onmouseout="toolTip()" onclick="alertData('<%=emp%>','<%=desc%>')"><%=result%></td>
                    <% if (i>=dayCount) { %>
                    	<td class="center" bgcolor="#F4F4F4"><%=ctOT.getFloat()%></td>
                    	<td class="center" bgcolor="#F4F4F4"><%=ctLeave.getFloat()%></td>
                    <% } %>
					<%		
								}	
							} //End if (pws!=null && !pws.isEmpty()) 
							else {
					%>
                	<% 
						for (int i=1;i<=dayCount;i++ ) {
					%>
                    		<td class="center" bgcolor="#F4F4F4">*</td>
                    <%
						}
					%>
                    <td class="center" bgcolor="#F4F4F4">*</td>
                    <td class="center" bgcolor="#F4F4F4">*</td>
                </tr>	
                <%
							}
						} //End while (inqEmp.next())
					} //End check null parameter
					else {
						CscCalendar c1 = new CscCalendar("01"+"-"+month+"-"+year);
                        int dayCount = c1.getEndDateOfMonth();
                        double col_width = 80/dayCount;
						CscCalendar c2 = new CscCalendar(dayCount+"-"+month+"-"+year);
				%>
                <tr>
                	<td width="14%" class="center" bgcolor="#CADCE6"><script language="javascript">swapLang('Name Surname')</script></td>
                    <% 
						for (int i=1;i<=dayCount;i++ ) {
					%>
                    		<td width="<%=col_width%>%" class="center" bgcolor="#CADCE6"><%=i%></td>
                    <%
						}
					%>
                    <td width="3%" class="center" bgcolor="#CADCE6"><script language="javascript">swapLang('OT')</script></td>
                    <td width="3%" class="center" bgcolor="#CADCE6"><script language="javascript">swapLang('LE')</script></td>
                </tr>
                <%
					}
               	%>
            	<% } %>
            </table>
            <div class="content-footer"><img src="../IMAGES/SPACER.gif" width="3" height="3" /></div>
          </div>   
         
      </form></div>
      <!-- End Main Content -->
      <!-- InstanceEndEditable -->    </div>
  </div>
  <div id="footer"><!-- InstanceBeginEditable name="footer" -->
  <jsp:include page="EMV_FOOTER.jsp" flush="true" />
  <!-- InstanceEndEditable -->  </div>
</div>
</body>
<!-- InstanceEnd --></html>