<!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")%>&nbsp;<%=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>