<%@page contentType="text/html; charset=UTF-8"%>
<%@page import="com.csc.library.entry.HelpEntry,com.csc.library.system.*,com.csc.library.utilities.*,com.csc.library.formula.*"%>
<%@page import="com.csc.library.entry.*,com.csc.library.database.*,com.csc.library.session.*,com.csc.library.timeattendance.*"%>
<%@page import="com.csc.library.timeattendance.GenShift,java.util.TreeMap,java.util.Iterator,java.util.HashMap"%>
<jsp:useBean id="SHOWLEAVE" class="com.csc.library.system.Task" scope="page" />
<%
		SHOWLEAVE.setChannel(request ,response);
		HelpEntry screen = (HelpEntry) SHOWLEAVE.process("HelpEntry","SHOWLEAVEHELP");
        screen.process();
		screen.nextRec();
		CheckNull chkNull=new CheckNull();

		CscCalendar cs = new CscCalendar();
		String sDate = "01-"+cs.getMM()+"-"+cs.getYear();
		String eDate = cs.getDDMMYYYY();
		String empid =chkNull.chkNullString(request.getParameter("__employeeid"),screen.getString("employeeid"));
		try {
				sDate = StaticConfig.getConfigCompany(screen.getUProfile(), "ta1001");
				eDate = StaticConfig.getConfigCompany(screen.getUProfile(), "ta1002");
		} catch (Exception e) {}
		CscCalendar cssDate = new CscCalendar(sDate);
		CscCalendar cseDate = new CscCalendar(eDate);
%>
<html>
<head>
<title></title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<LINK HREF="../CSS/MYNOTE.css" REL="stylesheet" TYPE="text/css">
<script  language="JavaScript" src="../JS/SCREEN.js"></script>
<script language='javascript'>setLang('<%=screen.getUProfile().get("lang")%>');</script>
<script language="JavaScript" type="text/JavaScript">
	function back(unit){
		with(window.opener.document.cscform){
	        locateId.value =unit;
		}
		window.close();
	}	

	function pageDesc(c){	
		with(document.cscform){
			var a = '<%=cssDate.getYYYYMMDD()%>';
			var b = '<%=cseDate.getYYYYMMDD()%>';
	    	action="SHOWLEAVE_WF_DESC.jsp?__cmd=&__gorec="+
		    "&__date_start="+a+"&__date_end="+b;
			__fixCon.value=" employeeid='<%=request.getParameter("__employeeid")%>' and dateid between '"+a+"' and '"+b+"' and lv_type='"+c+"'";
			//alert(__fixCon.value);
			submit();			
		}
	}
</script>
</head>

<body  leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<form name="cscform" method="post" >
<!----------BEGIN CSC INITIAL ZONE ------------------------>
<%=screen.InitialVariable()%>
<!----------END CSC INITIAL ZONE -------------------------->
<input type="hidden" name="__screen" value="SHOWLEAVE">
<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="__helpName" value="<%=request.getParameter("__helpName")%>">
<input type="hidden" name="__pageCall" value="<%=request.getParameter("__screen")%>">
<input type="hidden" name="__fixCon" value="employeeid='<%=chkNull.chkNullString(request.getParameter("__employeeid"),screen.getString("employeeid"))%>'">  
<input type="hidden" name="__empID" value="<%=empid%>"> 
<input type="hidden" name="__empName" value="<%=screen.getString("fullname")%>">

	<table cellspacing='0' cellpadding='0' width='100%' align='center' border='0' >
	<tr >
		<td  colspan="2"> <div align="center">
			<table width="98%" border="0" align="center" cellpadding="1" cellspacing="1">
           
			<td colspan="6"  class="row-title"><div align="center"><script language="javascript">swapLang("Leave Statistic");</script>&nbsp;&nbsp;&nbsp;&nbsp;
			<script language="javascript">swapLang("From Date");</script>&nbsp;&nbsp; <%=cssDate.getDDMMYYYY()%>
			&nbsp;&nbsp;&nbsp;&nbsp;
			<script language="javascript">swapLang("To Date");</script>&nbsp;&nbsp; <%=cseDate.getDDMMYYYY()%>
			</div>
			</td>
			</tr>
            <tr >
                <td width="250" class="row-header" rowspan="2"><div align="CENTER"><b><script language="javascript">swapLang("Leave Type");</script></b></div></td>
				<td width="100" height="17" class="row-header"><div align="CENTER"><b><script language="javascript">swapLang("Limit Last Year");</script></div></td>
				<td width="100" height="17" class="row-header"><div align="CENTER"><b><script language="javascript">swapLang("Limit Next Year");</script></div></td>
				<td width="100" height="17" class="row-header"> <div align="CENTER"><b><script language="javascript">swapLang("Limit");</script></b></div></td>
                <td width="100" height="17" class="row-header"> <div align="CENTER"><b><script language="javascript">swapLang("Used");</script></b></div></td>
                <td width="100" height="17" class="row-header"> <div align="CENTER"><b><script language="javascript">swapLang("Remain");</script></b></div></td>
              </tr>
              <tr>
                <td width="100" height="10" class="row-header"><div align="CENTER"><script language="javascript">swapLang("DD HH MM");</script></div></td>
                <td width="100" height="10" class="row-header"><div align="CENTER"><script language="javascript">swapLang("DD HH MM");</script></div></td>
                <td width="100" height="10" class="row-header"><div align="CENTER"><script language="javascript">swapLang("DD HH MM");</script></div></td>
                <td width="100" height="10" class="row-header"><div align="CENTER"><script language="javascript">swapLang("DD HH MM");</script></div></td>
                <td width="100" height="10" class="row-header"><div align="CENTER"><script language="javascript">swapLang("DD HH MM");</script></div></td>
              </tr>

		  <%
				String vacation0_get = "00:00:00";
				String vacation0 = "00:00:00";
				String vacation1 = "00:00:00";
		  		FormulaString fs = new FormulaString();	

				DbInquiry inqEmp = new InitialInquiry(screen.getUProfile()).getDbInquiry("Memployee");	
				inqEmp.setSchemaName(screen.getUProfile().getSchemaName());
				inqEmp.setFilter("employeeid='"+empid+"'");
					inqEmp.setColumn("employeeid, companyid, emp_level, vacation0, vacation1, vacation0_get");
				inqEmp.refresh();
				if (inqEmp.next()){	
					vacation0 = inqEmp.getString("vacation0");
					vacation1 = inqEmp.getString("vacation1");
					vacation0_get = inqEmp.getString("vacation0_get");
				}
				 			   
				String cFont = "";
				String v0_limit = "";
				String v1_limit = "";
				String fld = getMConfigValue(screen.getUProfile(), "TALVFD");
				DbInquiry inq = new InitialInquiry(screen.getUProfile()).getDbInquiry("Meventgrp1");
				inq.setSchemaName(screen.getUProfile().getSchemaName());
				//inq.setFilter("(daytype!='1' and daytype !='5' and daytype !='6' and daytype !='9') and display=1 and branchid = (select BRANCH from MEMPLOYEE where EMPLOYEEID = '" + empid + "')");
				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+ "')");
				//out.print(inq.getFilter());
				//inq.setFilter("(daytype!='1' and daytype !='5' and daytype !='6' and daytype !='9') ");
				inq.setOrderBy("display_order,edesc");
				inq.setColumn("*");
				inq.refresh();

				StringBuffer sb = new StringBuffer();

				while(inq.next()){
					String a="simmemployee_tadjtime0$"+ inq.getString("eventgrpid");
					String b= inq.getString("eventgrpid");
					String type = inq.getString("daytype");
					boolean display = inq.getString("display_limit").equals("1");
					String event_desc = inq.getString("event_desc");
					String psoveravi = inq.getString("ps_over_avi");
					boolean isPrvAvailable = (psoveravi.equals("1"))?true:false;

					if (screen.inq.getString(a+"_remain").indexOf('-')>-1) {
						cFont = "error";
					} else {
						cFont = "";
					}

						String result = "";
						String c_limit = screen.inq.getString(a+"_limit");
						String c_used = screen.inq.getString(a+"_used");
						String c_remain = screen.inq.getString(a+"_remain");

						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 list[] = {vacation0,vacation1,c_used,c_remain};
						String list_value[] = {"","","",""};
						String leaveadvance = chkNull.chkNullString(screen.inq.getString(a+"_leaveadvance"));

						if (type.equals("7") || isCompensateLV(b) || isPublicLV(b) || isPrvAvailable) {
							if (vacation0.equals("")) {
								vacation0 = "00:00:00";
							}

							if (vacation1.equals("")) {
								vacation1= "00:00:00";
							}
							list[0] = vacation0;
							list[1] = c_limit;
						} else {
							lastyear_v1 = "";
							nextyear_v1 = "";
							list[0] = "";
							list[1] = c_limit;
						}

						for(int i = 0; i<list.length; i++){
							String splitTime[] = list[i].split(":");
							int day = chkNull.chkNullStringToInt(splitTime[0]);
							if(splitTime.length > 2){
								if (Float.parseFloat(splitTime[1]) == 0) {
									result = day + ".0";
								} else if (Float.parseFloat(splitTime[1]) <= 4.5) {
									result = day + ".5";	
								} else {
									result = day + ".0";
								}
								list_value[i] = result;
							}
						}

						/* send all to main page (TAU120_NSTDA) */
						if(sb.length() > 0) sb.append(",");
						sb.append(b).append("#");
						sb.append(type).append("#");
						sb.append(curyear_id).append("#");
						sb.append(lastyear_id).append("#");
						sb.append((type.equals("7") || isCompensateLV(b) || isPublicLV(b) || isPrvAvailable)?lastyear_v1:"00:00:00").append("#");
						sb.append(nextyear_id).append("#");
						sb.append((type.equals("7"))?nextyear_v1:"00:00:00").append("#");
						sb.append(list[1]).append("#");
						sb.append(list[2]).append("#");
						sb.append(list[3]);

				%>
			  <tr > 
                <td  class="row-data">
					<div align="left">&nbsp;<a href="javascript:pageDesc('<%=b%>')"><%=screen.getUProfile().get("lang").equalsIgnoreCase("tha")?inq.getString("tdesc"):inq.getString("edesc")%></a>
					
					</div>
				</td>
				<input type="hidden" name="<%="L"+b+"_USED"%>" value="<%=fs.DhmToM(screen.inq.getString(a+"_used"), 8)%>">
				<td class="row-data"> <div align="center"><font class='<%=cFont%>'><%=lastyear_v1%></font>&nbsp&nbsp&nbsp</div></td>
				<td class="row-data"> <div align="center"><font class='<%=cFont%>'><%=nextyear_v1%></font>&nbsp&nbsp&nbsp</div></td>
				<td class="row-data"> <div align="center"><font class='<%=cFont%>'><%=(display)?list[1]:"00:00:00"%></font>&nbsp&nbsp&nbsp</div></td>
				<td class="row-data"> <div align="center"><font class='<%=cFont%>'><%=list[2]%></font>&nbsp&nbsp&nbsp</div></td>
				<td  class="row-data"> <div align="center"><font class='<%=cFont%>'><%=(display)?list[3]:"00:00:00"%></font>&nbsp&nbsp&nbsp</div></td>
				<%//}%>
              </tr>   
			 <% }%>
			 </table>
			</div>
			</td>
		</tr>          	
	</td>
	</tr>
	</table>
	<input type="hidden" id="_allleave" name="_allleave" value="<%=sb.toString()%>">
</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 Double convertHHMMtoMinute(String HHMM){
	return (double) new CscTime().getTime_to_min(HHMM);
}

public boolean isCompensateLV(String evt){
	try {
		if(evt.equals("COT") || evt.equals("COF")){
			return true ;
		}
	}catch(Exception e){
		e.printStackTrace();
	}
	return false ;
}

public boolean isPublicLV(String evt){
	try {
		if(evt.equals("PH")){
			return true ;
		}
	}catch(Exception e){
		e.printStackTrace();
	}
	return false ;
}
%>