<%@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.*"  %>
<%@page import="com.csc.library.timeattendance.MyBudgetYear,com.csc.library.utility.DHMConvert" %>

<jsp:useBean id="TAU144" class="com.csc.library.system.Task" scope="page"/>
<%
try {
	ThaiUtilities thaicode = new ThaiUtilities();
	java.text.DecimalFormat df = new java.text.DecimalFormat("#0.00");

	CheckNull chk = new CheckNull();
	FormulaString fs = new FormulaString();
	DHMConvert dhm = new DHMConvert();

	String empName = thaicode.ASCII2Unicode(chk.chkNullString(request.getParameter("__empName")));
	String empID = thaicode.ASCII2Unicode(chk.chkNullString(request.getParameter("__empID")));
	String yearid = chk.chkNullString(request.getParameter("__yearid"),"0");
	String ldesc = thaicode.ASCII2Unicode(chk.chkNullString(request.getParameter("__ldesc")));
	String eventgrp = chk.chkNullString(request.getParameter("__eventgrp"));

	TAU144.setChannel(request,response);
	HelpEntry screen = (HelpEntry) TAU144.process("HelpEntry","TAU144HELP");
	screen.inq.setFilter("employeeid = '" + empID + "' and yearid = '" + yearid + "' and lv_type = '" + eventgrp + "' or (employeeid = '"+empID+"' and usedlv != '')");

	screen.inq.refresh();
	//screen.process();
	screen.referLangOff();

	MyBudgetYear mby = new MyBudgetYear(screen.getUProfile());
	CscCalendar cs[] = mby.getBudgetYearPeriod(Integer.parseInt(yearid));

%>
<!DOCTYPE HTML>
<html ng-app="myHR">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Employee View</title>
		
		<link rel="stylesheet" href="<%=request.getContextPath()%>/CSS/font-awesome.css">
		<link rel="stylesheet" type="text/css" href="../CSS/Bootstrap/css/bootstrap.css" />
		<link rel="stylesheet" type="text/css" href="../CSS/EMPVIEW_LAYOUT.min.css" />
		
		<script type="text/javascript" src="../JS/SCREEN.js"></script>
		<script type="text/javascript" src="../JS/angular-1.3.15/angular.js"></script>
		<script type="text/javascript" src="../JS/ANGULAR/SCREEN_ANGULAR.js"></script>
		<script type="text/javascript" src="../JS/VIEWCALENDAR.js"></script>
		
			<script>
			setLang("<%=screen.getUProfile().get("lang")%>");
			function chkDateTime1(valueSearch){ 
				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 linkpageBack(jsppage){
				with(document.cscform){
					__fixCon.value=" employeeid ='"+__employeeid.value+"' ";
					action = jsppage;
					if(__pageCall.value=="SHOWNLEAVE"){
						action = "SHOWNLEAVE.jsp?__employeeid="+__employeeid.value;
					}
					submit();
				}
			}

			function checkCF() {checkConfirm();}
			
			<!--meta http-equiv="refresh" content="1" url=PRU002.html-->
			
			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>
		<div class="bg-com"></div>
		
		<div class="container csc-content">
			<form name="cscform" method="post" >
	 

				<!----------BEGIN CSC INITIAL ZONE ------------------------>

				<%=screen.InitialVariable()%>

				<!----------END CSC INITIAL ZONE -------------------------->

				<input type="hidden"name="__screen"  value="TAU144">
				<input type="hidden" name="__fixCon" value="<%=request.getParameter("__fixCon")%>">
				<input type="hidden" name="__cmd"  value="">
				<input type="hidden" name="__language" value="<%=screen.getUProfile().get("lang")%>">
				<input name="__companyid" type="hidden" value='<%=screen.getUProfile().get("companyid")%>'>
				<input type="hidden" name="__employeeid" value="<%=empID%>">
				<input type="hidden" name="__referPage" value="">
				<input type="hidden" name="__childFilter">
				<input type="hidden" name="__date_start" value="<%=cs[0].getYYYYMMDD()%>">
				<input type="hidden" name="__date_end" value="<%=cs[1].getYYYYMMDD()%>">
				<input type="hidden" name="date_start" value="<%=cs[0].getYYYYMMDD()%>">
				<input type="hidden" name="date_end" value="<%=cs[0].getYYYYMMDD()%>">
				<input type="hidden" name="__pageCall" value="<%=request.getParameter("__screen")%>">
				<input type="hidden" name="__gorec">
			
			
				<div class="csc-block">
					<div class="center">
						<h3 swlang code='SW000383' class="csc-block-head">Statistic of leave</h3>
					</div></br>
					
					<div class="row">
						<div class="form-group">
							<div class="col-md-3 col-sm-3 col-xs-3">
								<label class="control-label label-right" swlang code='SW000274'>Employee ID</label>
							</div>
							<div class="col-md-2 col-sm-2 col-xs-2">
								<label class="control-label"><%=empID%></label>
							</div>
							<div class="col-md-3 col-sm-3 col-xs-3">
								<label class="control-label label-right" swlang code='SW000195'>Name</label>
							</div>
							<div class="col-md-3 col-sm-3 col-xs-3">
								<label class="control-label"><%=empName%></label>
							</div>
						</div>
					</div>
					<div class="row">
						<div class="form-group">
							<div class="col-md-3 col-sm-3 col-xs-3">
								<label class="control-label label-right" swlang code='SW005161'>Leave Description</label>
							</div>
							<div class="col-md-2 col-sm-2 col-xs-2">
								<label class="control-label"><%=ldesc%></label>
							</div>
							<div class="col-md-3 col-sm-3 col-xs-3">
								<label class="control-label label-right" swlang code='SW000702'>Date Between</label>
							</div>
							<div class="col-md-3 col-sm-3 col-xs-3">
								<label class="control-label"><%=cs[0].getDDMMYYYY()%>&nbsp;-&nbsp;<%=cs[1].getDDMMYYYY()%></label>
							</div>
						</div>
					</div></br>
				</div>
				
				<table class="table table-head table-hover table-bordered table-title-left table-content-center">
					<thead>
						<tr>
							<th swlang code='SW000193'>Seq</th>
							<th swlang code='SW001834'>Date Leave</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='SW001836'>Documnet No</th>
						</tr>
					</thead>
					<tbody>
						<% 
							screen.inq.first(); 
							int i=0;	
							while (screen.inq.next()) {	
								if(isValidYear(screen.inq.getCurrentDbRecord(), yearid)){
								i++;		 
								
								String lvused = dhm.MinToDHM(dhm.timeToMin(Double.parseDouble(screen.getString("m_lv"))), Double.parseDouble(screen.getString("hour_s"))) ;
								
								if(isMatchSharingBalance(screen.inq.getCurrentDbRecord(), yearid)){
									lvused = dhm.MinToDHM(dhm.timeToMin(Double.parseDouble(getSharingBalance(screen.getString("usedlv"), yearid))), Double.parseDouble(screen.getString("hour_s"))) ;
								}
						%>
						<tr>
							<td><%=i%></td>
							<td><%=screen.getString("dateid")%></td>
							<td><%=screen.getString("lv_bg_date")%>:<%=screen.getString("lv_bg_time")%>&nbsp;-&nbsp;<%=screen.getString("lv_en_date")%>:<%=screen.getString("lv_en_time")%></td>
							<td><%=lvused%></td>
							<td><%=screen.getString("docid")%></td>
						</tr>
						<%
								}
							}
						%>
					</tbody>
				</table>
				
				<div class="center">
					<a href="javascript:close();" class="btn btn-primary" swlang code='SW012104'>Close</a>
				</div>
			</form>
		</div>	
		<%
			screen.referLangOff();
			}catch(Exception e){
				e.printStackTrace();
			}
		%>
	</body>
</html>
<%!
	private boolean isValidYear(DbRecord db, String yearid){
		if(isValidYearId(db, yearid) || isMatchSharingBalance(db, yearid)){
			return true ;
		}else{
			return false ;
		}
	}

	private boolean isMatchSharingBalance(DbRecord db, String yearid){
		try {
			String[] lvused = db.getString("usedlv").split(",");
			for(String s : lvused){
				String tt[] = s.split(":");
				System.out.println("!!!! >> " + tt);
				if(tt[0].equals(yearid)){
					return true ;
				}
			}

		}catch(Exception e){
			e.printStackTrace();
		}
		return false ;
	}

	private boolean isValidYearId(DbRecord db, String yearid){
		try {
			if(db.getString("yearid").equals(yearid)){
				return true ;
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return false ;
	}

	private String getSharingBalance(String usedlv, String yearid){
		try {
			String[] lvused = usedlv.split(",");
			for(String s : lvused){
				String tt[] = s.split(":");
				if(tt[0].equals(yearid)){
					return tt[2] ;
				}
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return "0";
	}
%>