<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@page contentType="text/html; charset=UTF-8"%>
<%@ page import="com.csc.library.entry.*" %>
<%@ page import="com.csc.library.utilities.*" %>
<%@ page import="com.csc.library.session.*" %>
<%@ include file="../CHECKPROFILE.jsp" %>
<jsp:useBean id="ASR001_STD" scope="page" class="com.csc.library.system.Task" />
<html ng-app="myHR">
<%
   ASR001_STD.setChannel(request ,response);
   ReportEntry screen=(ReportEntry)ASR001_STD.process("ReportEntry",request.getParameter("__screen"));
   UProfile uf=screen.getUProfile();
   screen.process();
   ThaiUtilities th=new ThaiUtilities();
   CheckNull chk = new CheckNull();
   String cmd = chk.chkNullString(request.getParameter("__cmd"));
   String screenname = chk.chkNullString(request.getParameter("__screen"));
   String conf = chk.chkNullString(request.getParameter("__confirm"));
   String conditionid = "";
   String conditiondesc ="";
   String condition="";
   String orderby="";
   String groupby="";
   String pagebreak="";
   String language="";
   String template="";
   String defaultreport="";
   String defaultcon="0";
   if(cmd.equals("search") || cmd.equals("saveconstd")){
	   	conditionid=chk.chkNullString(request.getParameter("__conditionid"));
		DbInquiry coninq = new InitialInquiry(screen.getUProfile()).getDbInquiry("lreport_condition");  
		coninq.setColumn("*");
		coninq.setFilter("conditionid = '"+conditionid+"' and screen_name='"+screenname+"' and userreport='"+screen.getUProfile().get("employeeid")+"'");
		coninq.refresh();
		if(coninq.next()){
			condition=coninq.getString("condition_value");
			orderby=coninq.getString("orderby_value");
			groupby=coninq.getString("groupby_value");
			pagebreak=chk.chkNullString(coninq.getString("pagebreak"),"0");
			defaultreport=chk.chkNullString(coninq.getString("defaultreport"),"0");
			language=coninq.getString("report_language");
			template=coninq.getString("template");
		}
		coninq.closeConnection();
   }else{
	   	DbInquiry coninq = new InitialInquiry(screen.getUProfile()).getDbInquiry("lreport_condition");  
		coninq.setColumn("*");
		coninq.setFilter("screen_name='"+screenname+"' and userreport='"+screen.getUProfile().get("employeeid")+"' and  defaultreport='1'");
		coninq.refresh();
		if(coninq.next()){
			conditionid=coninq.getString("conditionid");
			conditiondesc=coninq.getString("condition_desc");
			condition=coninq.getString("condition_value");
			orderby=coninq.getString("orderby_value");
			groupby=coninq.getString("groupby_value");
			pagebreak=chk.chkNullString(coninq.getString("pagebreak"),"0");
			defaultreport=chk.chkNullString(coninq.getString("defaultreport"),"0");
			language=coninq.getString("report_language");
			template=coninq.getString("template");
			defaultcon="1";
		}
		coninq.closeConnection();
   }
   
   //out.print("test :"+conf);
	
%>

<head>
<title>Report Condition</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../JS/QueryBuilder/dist/css/query-builder.default.min.css">
<link rel="stylesheet" href="../JS/QueryBuilder/bootstrap-3.3.5/css/bootstrap.min.css">
<link rel="stylesheet" href="../JS/QueryBuilder/bootstrap-3.3.5/css/bootstrap-theme.min.css">
<link rel="stylesheet" href="../JS/QueryBuilder/dist/css/custom.css">
<script type='text/javascript' src='../JS/SCREEN.js'></script>
<script language='javascript'>setLang('<%=screen.getUProfile().get("lang")%>');</script>															
<script src="../JS/VIEWCALENDAR.js"></script>
<script src="../JS/ANGULAR/angular.js"></script>
<script type='text/JavaScript' SRC='../JS/ANGULAR/SCREEN_ANGULAR.js'></script>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="">
<div id="toolTipLayer" style="position:absolute; visibility: hidden"></div>
<script language="javascript">initToolTips();</script>
<form name="cscform" method="post" action="ASR001_STD.jsp">

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

<%//=screen.InitialVariable()%>

<!----------END CSC INITIAL ZONE -------------------------->
</br>
  <table width="80%" align="center">
  <tr><td>
<div align="center" class="panel panel-primary">
<div class="panel-heading">
              <h3 class="panel-title" align="right">ASR001, 
          <%=screen.getTagReportHeaderValue()%>&nbsp</h3>
</div>
			   <table width="100%" bgcolor="red">
			   		<tr>
					<td colspan="6">&nbsp;</td>
					</tr>
			   		<tr>
					<td colspan="6" class="rowtable1">&nbsp;<span swlang code="SW012392">Condition id</span> *&nbsp;<input type="text" id="__conditionid" name="__conditionid" size="8" maxlength="8" value="<%=chk.chkNullString(request.getParameter("__conditionid"),conditionid)%>">&nbsp;
					<a href="javascript:goHelp('LREPORT_CONDITIONHELP','__conditionid')" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image2','','../IMAGES/BUTTON/SWAP/SEARCH_SWAP20.gif',1)"><img src="../IMAGES/BUTTON/MAIN/SEARCH20.gif" alt="Help" name="Image6" width="20" height="20" border="0" align="absmiddle"></a>
					&nbsp;<input type="text" id="__conditiondesc" name="__conditiondesc" size="20" maxlength="20" value="<%=chk.chkNullString(request.getParameter("__conditiondesc"),conditiondesc)%>">&nbsp;
					<input type="checkbox" id="__default" name="__default" value="1" >&nbsp;<span swlang code="SW012441">default</span>
					&nbsp;<button type="button" class="btn btn-sm btn-primary" onclick="goSavecon();">&nbsp;&nbsp;Save&nbsp;&nbsp;</button>
					&nbsp;<button type="button" class="btn btn-sm btn-danger" onclick="goDelcon();">&nbsp;&nbsp;Delete&nbsp;&nbsp;</button>
					&nbsp;<button type="button" class="btn btn-sm btn-success" onclick="goClearcon();">&nbsp;&nbsp;Clear&nbsp;&nbsp;</button></td>
					</tr>
					<tr>
					<td colspan="6">&nbsp;</td>
					</tr>
					<tr>
					<td class="rowtable1">&nbsp;<span swlang code="SW012401">Order By</span></td>
					<td class="rowtable1">&nbsp;<%=screen.getTagOrderBySTD()%></td>
					<td class="rowtable1">&nbsp;<span swlang code="SW012409">Group By</span></td>
					<td class="rowtable1">&nbsp;<%=screen.getTagGroupBySTD()%></td>
					<td class="rowtable1">&nbsp;<span swlang code="SW012433">Page Break</span></td>
					<td class="rowtable1">&nbsp;<input type="checkbox" id="__pagebreak" name="__pagebreak" value="1"></td>
					</tr>
					<tr>
					<td class="rowtable1">&nbsp;<span swlang code="SW012417">Language</span></td>
					<td class="rowtable1">&nbsp;<%=screen.getTagLanguageSTD()%></td>
					<td class="rowtable1">&nbsp;<span swlang code="SW012425">Template</span></td>
					<td class="rowtable1">&nbsp;<%=screen.getTagTemplate()%></td>
					<td class="rowtable1">&nbsp;</td>
					<td class="rowtable1">&nbsp;</td>
					</tr>
					<tr>
					<td colspan="5">&nbsp;&nbsp;<div id="builder"></div></td>
					<td valign="top">
					<br>&nbsp;&nbsp;		
					<div class="btn-group-vertical" role="group" aria-label="...">
						<button id="option" type="button" class="btn btn-sm btn-success" onclick="goOption();">&nbsp;&nbsp;Option&nbsp;&nbsp;</button>
						<button id="print"type="button" class="btn btn-sm btn-primary" onclick="goPreview();">&nbsp;&nbsp;Print&nbsp;&nbsp;</button>
						<button type="button" class="btn btn-sm btn-info" onclick="goSubmit();">&nbsp;&nbsp;Export&nbsp;&nbsp;</button>
					</div>
					
					</td>
					</tr>	
					<tr>
					<td colspan="5">&nbsp;&nbsp;<textarea class="form-control" id="__condition" name="__condition" rows="10"></textarea></td>
					<td>&nbsp;</td>
					</tr>			
					<tr>
					<td colspan="6">&nbsp;</td>
					</tr>
			   </table>
</div>
</td></tr></table>
<%
String table=screen.getMainTable();
//out.print(screen.getFieldTable(table));
%>
		<input type="hidden" name="__resultSet" value="">
		<input type="hidden"name="mem" value=""> 
		<INPUT TYPE="hidden" name="__reportname" VALUE="<%=screen.getEngHeaderValue()%>"> 
		<INPUT TYPE="hidden" name="__screen" id="__screen" VALUE="<%=request.getParameter("__screen")%>"> 
		<input type="hidden" name="__cmd" ID="__cmd" value="<%=chk.chkNullString(cmd)%>"> 
		<input type="hidden" name="__filtercon"  value=""> 
		<input type="hidden" name="helpParam" value=""> 
		<input type="hidden" name="__fixCon" value="">
		<input type="hidden" name="helpName" value="<%=screen.getMainHelp()%>"> 
		<input type="hidden" name="mainHelp" value="<%=screen.getMainHelp()%>"> 
		<input type="hidden" name="__thaiHeader" value="<%=screen.getThaiHeaderValue()%>"> 
		<input type="hidden" name="__engHeader" value="<%=screen.getEngHeaderValue()%>"> 
		<input type="hidden" name="__startPage" value="1">  
		<input type="hidden" name="__classname" value="ReportExport"> 
		<input type="hidden" name="__reportstd" value="true">
		<input type="hidden" name="__confirm" id="__confirm" value="">
		<input type="hidden" name="__lang" id="__lang" value="<%=screen.getUProfile().get("lang")%>"> 
		 
		<%=screen.getTagComponentHidden()%> 
		<%=screen.getTagFixFilterHidden()%> 
		<%=screen.getTagChildChkHidden()%> 

		<input type="hidden" name="com_tname" value="<%=screen.getUProfile().get("com_tname")%>"> 
		<input type="hidden" name="com_ename" value="<%=screen.getUProfile().get("com_ename")%>"> 
		<INPUT TYPE="hidden" NAME="company" VALUE="<%=screen.getUProfile().get("companyname")%>"> 
		<INPUT TYPE="hidden" NAME="__mmxml" VALUE="<%=request.getParameter("__mmxml")%>"> 
		<INPUT TYPE="hidden" NAME="__expxml" VALUE="<%=request.getParameter("__expxml")%>"> 
		<input type="hidden" name="__export_type" value="EXPORT_PDF"> 
		<input type="hidden" name="__file_type" value="pdf">
		<input type="hidden" name="__pageprinting" value="PAGEPRINTING.jsp">
		<input type="hidden" name="__reportHeader" id="__reportHeader" value="<%=screen.getTagReportHeaderValue()%>">
		<input type="hidden" name="fieldtable" id="fieldtable" value="<%=screen.getFieldTableSTD(table)%>">
		
		<input type="hidden" name="condition" id="condition" value="<%=chk.chkNullString(condition)%>"> 
		<input type="hidden" name="orderby2" id="orderby2" value="<%=chk.chkNullString(orderby)%>"> 
		<input type="hidden" name="groupby2" id="groupby2" value="<%=chk.chkNullString(groupby)%>">
		<input type="hidden" name="pagebreak2" id="pagebreak2" value="<%=pagebreak%>">
		<input type="hidden" name="language2" id="language2" value="<%=chk.chkNullString(language)%>">
		<input type="hidden" name="template2" id="template2" value="<%=chk.chkNullString(template)%>">
		<input type="hidden" name="defaultreport" id="defaultreport" value="<%=defaultreport%>">
		
		<input type="hidden" name="searchstatus" id="searchstatus" value="0"> 
		<input type="hidden" name="inputname" id="inputname" value="0"> 
		<input type="hidden" name="defaultcon" id="defaultcon" value="<%=defaultcon%>"> 
		<input type="hidden" name="user" id="user" value="<%=chk.chkNullString(screen.getUProfile().get("employeeid"))%>"> 
		<input type="hidden" name="__actorid" value="<%=uf.get("actorid")%>">
		<input type="hidden" name="__actorname" value="<%=uf.get("fullname")%>">
		
		
		
		<%=screen.getConditionHidden(10)%> 
</form>

<script type='text/javascript' src='../JS/jquery-1.11.3.min.js'></script>
<script type='text/javascript' src='../JS/QueryBuilder/bootstrap-3.3.5/js/bootstrap.min.js'></script>
<script type='text/javascript' src='../JS/QueryBuilder/dist/js/query-builder.standalone-mod.js'></script>
<script type='text/javascript' src='../JS/QueryBuilder/dist/js/sql-parser.js'></script>
<script language="JavaScript" type="text/JavaScript">
function goHelp(helpName,inputName,linkhelp) {
	var helpReturn;
	var fixcon;
	var screen=document.getElementById("__screen").value;
	var user=document.getElementById("user").value;
	if (inputName=="__conditionid" ) {
	 	helpReturn="__conditionid:conditionid,__conditiondesc:condition_desc";
	 	fixcon="screen_name='"+screen+"' and userreport='"+user+"'";
	 	document.getElementById("searchstatus").value="0";
	}else if( inputName.indexOf("builder_rule_") > -1 ){
		helpReturn=inputName+":"+linkhelp;
		document.getElementById("searchstatus").value="1";
	 	document.getElementById("inputname").value=inputName;
	} 
	linkHelp_Return(helpName,helpReturn,fixcon);
}


function sysHelp(input,data) {
	with(document.cscform){
		var param="SYSHELP_STD.jsp?__input="+input+"&__helpName="+data;
		window.open(param,"Help","left=150,top=150,width=600,height=400,toolbar=no,status=yes,scrollbars=yes,resizable=yes");
	}
}



function postReturn(){
	with(document.cscform){ 
		if(searchstatus.value=="0"){
	 	__cmd.value="search";
	   	submit();
		}else{
		$.setcondition('1');
		}
	} 
}

function goSubmit(){
		with(document.cscform){ 
			  action = "ASR003_STD.jsp"; 
			   window.open("","save","left=150,top=150,width=700,height=200,toolbar=no,status=yes,scrollbars=yes"); 
			   target="save"; 
			   //__cmd.value="save";
			   submit(); 
		} 
}

function goSavecon(){
	with(document.cscform){ 
		var conditionid=__conditionid.value;
		if(!conditionid=="" || !conditionid==null){
		  var bCon=confirm(MyCode[1]);
		  if (bCon==true){
			   __cmd.value="saveconstd";
			   submit(); 
		  }
		}else{
			alert(MyCode[0]);
		}
	} 
}

function goDelcon(){
	with(document.cscform){ 
		var bCon=confirm(MyCode[4]);
		  if (bCon==true){
		   __cmd.value="delconstd";
		   submit(); 
		  }
	} 
}

function goClearcon(){
	with(document.cscform){
		var lang = __lang.value;
		__conditionid.value="";
		__conditiondesc.value="";
		__default.checked=false;
		__pagebreak.checked=false;
		orderby.selectedIndex=0;
		groupby.selectedIndex=0;
		__template.selectedIndex=0;
		__language.value=lang.toUpperCase();
		$.reset();
	}
}

function goPreview(){
	with(document.cscform){
	var a="/hr/servlet/reportservletstd/?";
	for(var  z=0;z<elements.length;z++){
			if(elements[z].name!="fieldtable" ){
				a+="&"+elements[z].name+"="+elements[z].value;
	}
	}
	 bCon=confirm(MyCode[10]);
	 if (bCon==true)	{
					action = a;
					target = "_blank";
					method="post";
					submit();
	  }
	}
}

function goOption(){
	with(document.cscform){
	  window.open("<%=screen.getComponentPage("ASR002")%>.jsp?__screen="+__screen.value);
	}
}

function setcon(input,e){
	with(document.cscform){
	if (e.keyCode == 13) {
		inputname.value=input.name;
		$.setcondition(1);
	}
	}
}

</script>

<script>
var options = {
		filters: []
}

$.reset = function(){
	$('#builder').queryBuilder('reset');
	$('#__condition').val('');
}

$.setOption = function(){
	var field=$("#fieldtable").val();
	var data = field.split(",");
	for(var i=0;i<data.length;i++){
		var field = data[i].split("@");
		var fieldid = field[0].split(":");
		options.filters.push({id: fieldid[0],label: fieldid[0]+" : "+fieldid[1],type: 'string' , operators: ['equal', 'not_equal','less','less_or_equal','greater','greater_or_equal','contains','is_null', 'is_not_null'],help:field[1],linkhelp:field[2],validcode:field[3]})
	}
		var lang = $("#__lang").val();
		if(lang=="tha"){
		options.lang_code='th';
		}else{
		options.lang_code='en';
	}
}

$.setSearch = function(){
	var cmd = $('#__cmd').val();
	var defaultcon = $('#defaultcon').val();
	if((cmd=='search') || (cmd=='saveconstd') || (defaultcon=='1') || (cmd=='delconstd')){
		if(cmd=='delconstd'){
			   __conditionid.value="";
			   __conditiondesc.value="";
		}

		$('#__condition').val($('#condition').val());
	
	    $("#orderby option[value='" + $('#orderby2').val() + "']").prop("selected",true);
	    $("#groupby option[value='" + $('#groupby2').val() + "']").prop("selected",true);
		if($('#pagebreak2').val()=="1"){
			$('#__pagebreak').prop('checked', true)
		}

		if($('#defaultreport').val()=="1"){
			$('#__default').prop('checked', true)
		}
		
	    $("#__language option[value='" + $('#language2').val() + "']").prop("selected",true);
	    $("#__template option[value='" + $('#template2').val() + "']").prop("selected",true);

	    $('#builder').queryBuilder('setRulesFromSQL', $('#condition').val());
	}
}

$.setcondition = function(data){
	if(data=='1'){
	var input = $('#inputname').val();
	$('input[name="'+input+'"]').change();
	}
	var sql=$('#builder').queryBuilder('getSQL',false, false).sql;
	$('#__condition').val(sql);
}


$.checkstatus=function(){
	var cmd = $('#__cmd').val();
	if(cmd=='saveconstd'){
		alert(MyCode[18]);
	}else if(cmd=='delconstd'){
		alert(MyCode[19]);
	}
}

$(function(){
	$.setOption();
    $('#builder').queryBuilder(options);
    $.checkstatus(); 
    $.setSearch();  
    $('#builder').on('afterDeleteRule.queryBuilder', function(e, rule, error, value) {
    	$.setcondition('0');
    });

	$('#builder').on('afterDeleteGroup.queryBuilder', function(e, rule, error, value) {
    	$.setcondition('0');
    });

    $('input[type=radio]').click(function(){
    	$('input[type=radio]').change();
    	$.setcondition('0');
    }); 
  })
</script>

</body>
</html>