<?php include_once("../lib/control.seguridad.php"); ?>
<?php

	$boton = "<button type='button' class='btn btn-info btn-sm' id='btnEnviar' name='btnEnviar'>INGRESAR</button>";
	
	$id = 0;
	$fecha = date('d-m-Y');
	$cantidad = "00:00";
	$hora_inicio = "00:00";
	$hora_termino = "00:00";	
	$id_persona = "";	
	$id_autoriza = $_SESSION['LOGIN']['CODIGO'];
	$observacion = "";	
	$nombrePersona = "";
	$nombreAutoriza = $_SESSION['LOGIN']['NOMBRE'];

	$rut = "";
	$cargopersona = "";

	$hide = "d-none";	
    if($_POST && $_POST["txtId"]){
        include_once("../inc/api_cred.php");

		$hide = "";
		$url = $apiUrl . '/public/obtenerhoraextra';
		$ch = curl_init($url); //create a new cURL resource
		$payload = json_encode(array('id' => $_POST["txtId"], 'api_token'=> 'lEkujNtWXOCCsOhRBIRON8I8wWZVhHGm5JylqMZC'));
		curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);//attach encoded JSON string to the POST fields
		curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); //set the content type to application/json
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //return response instead of outputting
		$result = curl_exec($ch); //execute the POST request
        $array = json_decode($result);


		$id = $array[0]->id;
		$fecha = date('d-m-Y', strtotime($array[0]->fecha));
		$cantidad = $array[0]->cantidad;
		$hora_inicio = $array[0]->hora_inicio;
		$hora_termino = $array[0]->hora_termino;		
		$id_persona = $array[0]->id_persona;	
		$id_autoriza = $array[0]->id_autoriza;
		$observacion = $array[0]->observacion;	

			/* $url2 = 'http://200.24.13.60/~program1/power-time-api/public/obtenerpersona';
			$ch2 = curl_init($url2); //create a new cURL resource
			$payload2 = json_encode(array('id' => $id_persona));
			curl_setopt($ch2, CURLOPT_POSTFIELDS, $payload2);//attach encoded JSON string to the POST fields
			curl_setopt($ch2, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); //set the content type to application/json
			curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); //return response instead of outputting
			$result2 = curl_exec($ch2); //execute the POST request
			$array2 = json_decode($result2); */
		
			$idpersonacargo = $array[0]->id_cargo_persona;
			$rut = $array[0]->rut_persona;
			$nombrePersona = $array[0]->nombre_persona ." ". $array[0]->apellido_persona;
			//curl_close($ch2); 

			if($id_persona > 0){
				$ch22 = curl_init($apiUrl . '/public/mostrarpersonacargo'); //create a new cURL resource
				$payload22 = json_encode(array('id_persona' => $idpersonacargo));
				curl_setopt($ch22, CURLOPT_POSTFIELDS, $payload22);//attach encoded JSON string to the POST fields
				curl_setopt($ch22, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); //set the content type to application/json
				curl_setopt($ch22, CURLOPT_RETURNTRANSFER, true); //return response instead of outputting
				$result22 = curl_exec($ch22); //execute the POST request
				$array22 = json_decode($result22);
		
				$cargopersona = $array22[0][0]->cargo;
				
				if(empty($cargopersona)) { $cargopersona ="No Asignado"; }			
			}
			/* $url2 = 'http://200.24.13.60/~program1/power-time-api/public/obtenerpersona';
			$ch2 = curl_init($url2); //create a new cURL resource
			$payload2 = json_encode(array('id' => $id_autoriza));
			curl_setopt($ch2, CURLOPT_POSTFIELDS, $payload2);//attach encoded JSON string to the POST fields
			curl_setopt($ch2, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); //set the content type to application/json
			curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); //return response instead of outputting
			$result2 = curl_exec($ch2); //execute the POST request
			$array2 = json_decode($result2); */
		
			$nombreAutoriza = $array[0]->nombre_autoriza ." ". $array[0]->apellido_autoriza;
			//curl_close($ch2); 			
		
		curl_close($ch); 


		$boton = "<button type='button' class='btn btn-info btn-sm' id='btnEditar' name='btnEditar'>EDITAR</button>";
	}

 
?>
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>POWERTIME</title>
  <!-- Tell the browser to be responsive to screen width -->
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- Font Awesome -->
  <link rel="stylesheet" href="../plugins/fontawesome-free/css/all.min.css">
  <!-- Ionicons -->
  <link rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
  <!-- Theme style -->
  <link rel="stylesheet" href="../dist/css/adminlte.min.css">
  <!-- DataTables -->
  <link rel="stylesheet" href="../plugins/datatables-bs4/css/dataTables.bootstrap4.css">
  
  <link href="../plugins/toastr/build/toastr.css" rel="stylesheet" type="text/css" />
  <style>
  #example{
	  font-size:10px;
  }
  #example3{
	  font-size:10px;
  }    
   .dataTables_wrapper { font-size: 10px }	   
  </style>  
</head>
<body class="hold-transition sidebar-mini">
<div class="wrapper">
 
  <?php include_once("../inc/header.php"); ?>

  <?php include_once("../inc/menu.php"); ?>

  <!-- Content Wrapper. Contains page content -->
  <div class="content-wrapper">
    <!-- Content Header (Page header) -->
    <section class="content-header">
      <div class="container-fluid">
        <div class="row mb-2">
          <div class="col-sm-8">
            <h4>Pacto de Horas Extraordinarias</h4>
			<input type="hidden" class="form-control control-text" id="txtId_autoriza" value="<?php echo $id_autoriza ?>">
          </div>		  
        </div>
      </div><!-- /.container-fluid -->
    </section>

    <!-- Main content -->
    <section class="content" id="app">
      <div class="container-fluid">
        <div class="row">
          <!-- left column -->
          <div class="col-md-6">
            <!-- Horizontal Form -->
            <div class="card">
				<div class="card-body">
				  <div class="form-group">
					<label>Trabajador:</label>
					<div class="row">
						<div class="col-md-9 input-group-sm">
							<input type="text" class="form-control control-text" id="txtNombre" value="<?php echo $nombrePersona ?>" readonly>
							<input type="hidden" class="form-control control-text" id="txtId_persona" value="<?php echo $id_persona ?>" readonly>						
						</div>
						<div class="col-md-3">
							<button type="button" class="btn btn-info btn-block btn-sm" id="btnBuscar">Buscar</button>						
						</div>
					</div>
 
				  </div>
				  <div class="form-group input-group-sm">
					<label>Rut :</label>
					<input type="text" class="form-control" id="txtRut" value="<?php echo $rut ?>" readonly>
				  </div>
				  <div class="form-group input-group-sm">
					<label>Cargo :</label>
					<input type="text" class="form-control" id="txtCargo" value="<?php echo $cargopersona ?>" readonly>
				  </div>				  				  				
				  <div class="form-group input-group-sm">
					<label>Fecha Ejecución Hora Extraordinaria :</label>
					<input type="text" class="form-control" id="txtFecha" value="<?php echo $fecha ?>" readonly>
				  </div>				
				  <div class="form-group input-group-sm">
					<label>Cantidad Horas a Autorizar (Max. 2hrs al día):</label>
					<input type="time" max="02:00:00" class="form-control" id="txtCantidad"  value="<?php echo $cantidad ?>" >
					<small class="form-text text-muted">Cantidad de horas aprobar.</small>
				  </div>
				  <div class="form-group input-group-sm">
					<label>Hora Inicio:</label>
					<input type="time" class="form-control" id="txtHora_inicio" value="<?php echo $hora_inicio ?>" >
					<small class="form-text text-muted">Hora de Inicio.</small>
				  </div>
				  <div class="form-group input-group-sm">
					<label>Hora T&eacute;rmino:</label>
					<input type="time" class="form-control" id="txtHora_termino" value="<?php echo $hora_termino ?>" >
					<small class="form-text text-muted">Hora de T&eacute;rmino.</small>
				  </div>				  
				  <div class="form-group">
					<label>Observaci&oacute;n:</label>
					<textarea class="form-control control-text" id="txtObservacion" rows="5"><?php echo $observacion ?></textarea>
					<small class="form-text text-muted">Observaciones de asignaci&oacute;n de hora extraordinaria.</small>
				  </div>					  
				</div>
				<!-- /.card-body -->
				<div class="card-footer">
					<?php echo $boton ?>
					<input type="hidden" class="form-control control-text" id="txtId" value="<?php echo $id ?>" readonly>						
					<button type="button" class="btn btn-default float-right" id="btnLimpiar">Limpiar</button>
				</div>
            </div>
          </div>
		  
          <div class="col-md-6 d-none" id="div-trabajador">
            <!-- Horizontal Form -->
            <div class="card">
				<div class="card-body">
        			 <div class="row">
        			    <div class="col-md-12">
        				  <div class="input-group mb-2 input-group-sm">
        					<div class="input-group-prepend">
        					  <div class="input-group-text">Departamento</div>
        					</div>
        					<select class="form-control" id="txtDepartamento"> </select>
        				  </div>							
        				</div>			
        			 </div>		  
        			 <div class="row">
        				<div class="col-md-12">
        				  <table id="example3" class="table table-bordered table-striped">
        					<thead>
        					<tr>	
        					  <th>RUT</th>					
        					  <th>NOMBRE</th>
        					  <th>TURNO</th>	
        					  <th>CARGO</th>						  
        					  <th></th>				  
        					</tr>
        					</thead>			
        				  </table>					
        				</div>
        			 </div>
				</div>
				<!-- /.card-body -->
				<div class="card-footer">

				</div>
            </div>
          </div>  		  

        </div>
        <!-- /.row -->
      </div><!-- /.container-fluid -->
    </section>
    <!-- /.content -->
  </div>
  
  <?php include_once("../inc/footer.php"); ?>
	
	<div class="modal" tabindex="-1" role="dialog"  id="modal-default">
	  <div class="modal-dialog modal-xl" role="document">
		<div class="modal-content">
		  <div class="modal-header">
			<h5 class="modal-title">Visor de Documentos</h5>
			<button type="button" class="close" data-dismiss="modal" aria-label="Close">
			  <span aria-hidden="true">&times;</span>
			</button>
		  </div>
		  <div class="modal-body modal-body-documento">
			<iframe name="iframe3" width="100%" height="100%"></iframe>
		  </div>
		  <div class="modal-footer">
			<button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">Close</button>
		  </div>
		</div>
	  </div>
	</div>		
	
	<div class="div-response"></div>	
</div>
<!-- ./wrapper -->


<!-- jQuery -->
<script src="../plugins/jquery/jquery.min.js"></script>
<!-- Bootstrap 4 -->
<script src="../plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- AdminLTE App -->
<script src="../dist/js/adminlte.min.js"></script>
<!-- DataTables -->
<script src="../plugins/datatables/jquery.dataTables.js"></script>
<script src="../plugins/datatables-bs4/js/dataTables.bootstrap4.js"></script>
 

<script src="../plugins/toastr/toastr.js"></script>

<link rel="stylesheet" href="../plugins/jQueryUI/jquery-ui.css" />
<script src="../plugins/jQueryUI/jquery-ui.js"></script>


<script>

  $(function () {

 
	
    $(".modal-body-documento").height(parseInt(screen.height) -400);	
	
    $(document).bind("contextmenu",function(e){
      return false;
    });	  

 
 	  
	 $.datepicker.regional['es'] = {
	 closeText: 'Cerrar',
	 prevText: '< Ant',
	 nextText: 'Sig >',
	 currentText: 'Hoy',
	 monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
	 monthNamesShort: ['Ene','Feb','Mar','Abr', 'May','Jun','Jul','Ago','Sep', 'Oct','Nov','Dic'],
	 dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
	 dayNamesShort: ['Dom','Lun','Mar','Mié','Juv','Vie','Sáb'],
	 dayNamesMin: ['Do','Lu','Ma','Mi','Ju','Vi','Sá'],
	 weekHeader: 'Sm',
	 dateFormat: 'dd/mm/yy',
	 firstDay: 1,
	 isRTL: false,
	 showMonthAfterYear: false,
	 yearSuffix: ''
	 };
	 $.datepicker.setDefaults($.datepicker.regional['es']);
	 $("#txtFecha").datepicker({
		dateFormat: "dd-mm-yy",
		changeMonth: true,
		changeYear: true,
		yearRange: "1900:2100"
	 });	 
	
    $('#example3').DataTable({
      "paging": true,
      "lengthChange": false,
      "searching": false,
      "ordering": true,
      "info": false,
      "autoWidth": false,
	  "pageLength": 7,
	  "language": {
		"url": "//cdn.datatables.net/plug-ins/1.10.15/i18n/Spanish.json"
      }	 		  
    });	 

/*
	$('#txtCantidad').blur(function() {

		let numeroDia = new Date(convertDateFormat($("#txtFecha").val())).getDay();
		
		if(numeroDia == 5){
			if($(this).val() < "00:30"){
				$(this).val("00:30");
			}
			if($(this).val() > "02:00"){
				$(this).val("02:00");
			} 
		}else{
			if($(this).val() < "00:30"){
				$(this).val("00:30");
			}
			if($(this).val() > "07:30"){
				$(this).val("07:30");
			} 
		}

	});	
	*/  
	$("#btnEnviar").click(function(){
        
		let numeroDia = new Date(convertDateFormat($("#txtFecha").val())).getDay();	

 	
		
		if(parseInt($("#txtId_persona").val()) == 0){
			toastr.warning("Debe Seleccionar Persona", "POWERTIME");
			return false;
		}
		else if( $("#txtCantidad").val() == null || $("#txtCantidad").val().length == 0 || /^\s+$/.test($("#txtCantidad").val()) ){
			toastr.warning("Debe ingresar Cantidad de Horas Extras", "POWERTIME");
            return false;
		}
		/*
        else if($("#txtCantidad").val() == "00:00"){
			toastr.warning("Debe ingresar Cantidad de Horas Extras", "POWERTIME");
			return false;
		}
		else if($("#txtCantidad").val() < "00:30"){
			toastr.warning("Cantidad de Hora Extra debe ser mayor a 00:30", "POWERTIME");
			return false;
		}	
		else if($("#txtCantidad").val() > "02:00" && numeroDia != 5){
			toastr.warning("Cantidad de Hora Extra No debe ser mayor a 02:00", "POWERTIME");
			return false;
		}	
		else if($("#txtCantidad").val() > "07:30" && numeroDia == 5){
			toastr.warning("Cantidad de Hora Extra No debe ser mayor a 07:30 Días Sabados", "POWERTIME");
			return false;
		}
*/		
		else if( $("#txtObservacion").val() == null || $("#txtObservacion").val().length == 0 || /^\s+$/.test($("#txtObservacion").val()) ){
			toastr.warning("Debe ingresar Observaci&oacute;n Autorizaci&oacute;n Hora Extra", "POWERTIME");
            return false;
		}			
        else{
            console.log("test");
			$.ajax({
				type:'POST',
				contentType: 'application/json',
				dataType: "json",
				crossDomain: true,
				headers: {
					'Content-Type': 'application/json'
				},
				url: "<?php include_once('../inc/api_cred.php'); echo $apiUrl; ?>/public/ingresarhoraextra",
				data : JSON.stringify({
					fecha:convertDateFormat($("#txtFecha").val()),
					cantidad:$("#txtCantidad").val(),	
					hora_inicio:$("#txtHora_inicio").val(),	
					hora_termino:$("#txtHora_termino").val(),						
					id_persona:$("#txtId_persona").val(),	
					id_autoriza:$("#txtId_autoriza").val(),	
					observacion:$("#txtObservacion").val()				
				}),
				success: function(data) {				
					if(data[0] || parseInt(data[0]) > 0){
						toastr.success("Registro Ingresado Exitosamente", "POWERTIME");
						enviarCorreo();
						limpiarFormulario();
					}
				}					
			})			
		}

		
	});

	
	function enviarCorreo(){
		$.ajax({
			type:'POST',
			dataType: "json",
			url: "enviarcorreo.php",
			data : {
				txtNombre: $('#txtNombre').val(),																	
			},					
			success: function(dados){
					toastr.success(dados[0].descripcion, "POWERTIME");							
			},
    error: function (request, status, error) {
        alert(request.responseText);
    }			
		})			
	}	

	$("#btnEditar").click(function(){
        if(parseInt($("#txtId_persona").val()) == 0){
			toastr.warning("Debe Seleccionar Persona", "POWERTIME");
			return false;
		}
		else if( $("#txtCantidad").val() == null || $("#txtCantidad").val().length == 0 || /^\s+$/.test($("#txtCantidad").val()) ){
			toastr.warning("Debe ingresar Cantidad de Horas Extras", "POWERTIME");
            return false;
		}	
        else if($("#txtCantidad").val() == "00:00"){
			toastr.warning("Debe ingresar Cantidad de Horas Extras", "POWERTIME");
			return false;
		}			
		else if( $("#txtObservacion").val() == null || $("#txtObservacion").val().length == 0 || /^\s+$/.test($("#txtObservacion").val()) ){
			toastr.warning("Debe ingresar Observaci&oacute;n Autorizaci&oacute;n Hora Extra", "POWERTIME");
            return false;
		}		
        else{

			$.ajax({
				type:'POST',
				contentType: 'application/json',
				dataType: "json",
				crossDomain: true,
				headers: {
					'Content-Type': 'application/json'
				},
				url: "<?php include_once('../inc/api_cred.php'); echo $apiUrl; ?>/public/actualizarhoraextra",
				data : JSON.stringify({
					id:$("#txtId").val(),
					fecha:convertDateFormat($("#txtFecha").val()),
					cantidad:$("#txtCantidad").val(),		
					hora_inicio:$("#txtHora_inicio").val(),	
					hora_termino:$("#txtHora_termino").val(),						
					id_persona:$("#txtId_persona").val(),	
					id_autoriza:$("#txtId_autoriza").val(),	
					observacion:$("#txtObservacion").val()					
				}),
				beforeSend : function()
				{
					//$("#mensajeUsuario").html("<div class='alert alert-info'>Enviando datos</div>");
				},
				success: function(data) {
					if(parseInt(data[0]) > 0){
						toastr.success("Registro Editado Exitosamente", "POWERTIME");
					}
				}
			})			
		}		
	});

	
	$("#btnmprimir").click(function(){
		$("#modal-hora-extra").modal("toggle");
		$('.div-response').html('<form action="informe.pdf.inc.php"  target="iframe3" name="form" method="POST" style="display:none;"> '+
		'<input type="text" class="form-control" id="txtId_persona" name="txtId_persona" value="'+$("#txtId_persona").val()+'" >'+
		'<input type="text" class="form-control" id="txtFecha_inicio_permiso" name="txtFecha_inicio_permiso" value="'+$("#txtFecha_inicio_permiso").val()+'" >'+
		'<input type="text" class="form-control" id="txtFecha_termino_permiso" name="txtFecha_termino_permiso" value="'+$("#txtFecha_termino_permiso").val()+'" >'+		
		'</form>');			
		document.forms['form'].submit();
		$('#modal-default').modal('show');			
	});		

 	$("#btnLimpiar").click(function(){
		limpiarFormulario();
	});
	
	function limpiarFormulario(){
		$("#txtFecha").val(fechaActual());
		$("#txtCantidad").val("00:00");		
		$("#txtId_persona").val(0);	
		$("#txtNombre").val("");
		$("#txtObservacion").val("");
        $("#btn-ver-hora-extra").addClass("d-none");	
		$("#div-trabajador").addClass("d-none");		
	}
	
	function fechaActual(){
		var fecha = new Date();
		var dia = fecha.getDate();
		var mes = fecha.getMonth();
		var anio = fecha.getFullYear();		
		if(dia < 10) { dia = "0"+dia; } 
		if(mes < 10) { mes = "0"+mes; }
        return anio+"-"+mes+"-"+dia;  		
	}	
	
	$("#btnBuscar").click(function(){
		$("#txtNombre").val(""); 
		$("#txtId_persona").val(0);
		$("#div-permisos").addClass("d-none");
		$("#div-trabajador").removeClass("d-none");		
	});	
	
	listarRegistroDep();
	function listarRegistroDep(){

		$.ajax({
			type:'POST',
			contentType: 'application/json',
			dataType: "json",
            crossDomain: true,
			headers: {
				'Content-Type': 'application/json'
			},
			url: "<?php include_once('../inc/api_cred.php'); echo $apiUrl; ?>/public/departamentopersona",
			data : JSON.stringify({
				id_persona:$("#txtId_autoriza").val()					
			}),			
			success: function(dados)
			{
				 for (i=0;i<dados.length;i++){
					for (j=0;j<dados[i].length;j++){						

						$('#txtDepartamento').append($('<option>', {
							value: dados[i][j].id_departamento,
							text : dados[i][j].sucursal + " (" +dados[i][j].departamento +" )"
						}));
					}
				}
				
			}
		});

	}
	
	$("#txtDepartamento").change(function () {
		listarRegistro();
    });	
	function listarRegistro(){

		$('#example3').dataTable().fnClearTable();

		$.ajax({
			type:'POST',
			contentType: 'application/json',
			dataType: "json",
            crossDomain: true,
			headers: {
				'Content-Type': 'application/json'
			},
			url: "<?php include_once('../inc/api_cred.php'); echo $apiUrl; ?>/public/obtenerpersonadepartamento",
			data : JSON.stringify({
				id_departamento: $('#txtDepartamento').val(),								
			}),		
			success: function(dados)
			{
				$('#example3').dataTable().fnClearTable();
				 for (i=0;i<dados.length;i++){
					for (j=0;j<dados[i].length;j++){
					  var boton = "<button type='button' class='btn btn-info btn-xs btn-editar'>Asignar</button>";
					  $('#example3').dataTable().fnAddData( [
						dados[i][j].rut,						  
						dados[i][j].nombre+" "+dados[i][j].apellido,	
						dados[i][j].turno,		
						dados[i][j].cargo,								
						boton +"<input type='hidden' value ='"+dados[i][j].id+"' />"
					  ]);
					}
				}
			}
		});

	}

	$("#example3").on('click','.btn-editar', function() {
		var id = $(this).parents("tr").find("td:eq(4)").find("input").val();	
		$.ajax({
			type:'POST',
			contentType: 'application/json',
			dataType: "json",
            crossDomain: true,
			headers: {
				'Content-Type': 'application/json'
			},
			url: "<?php include_once('../inc/api_cred.php'); echo $apiUrl; ?>/public/obtenerpersona",
			data : JSON.stringify({
				id: id			
			}),			
			success: function(dados)
			{
				 for (i=0;i<dados.length;i++){	
					$("#txtRut").val(dados[i].rut); 				
					$("#txtNombre").val(dados[i].nombre+" "+dados[i].apellido); 
					$("#txtId_persona").val(id);
					$("#div-trabajador").addClass("d-none");	
				}
			}
		});	
		
		$.ajax({
			type:'POST',
			contentType: 'application/json',
			dataType: "json",
            crossDomain: true,
			headers: {
				'Content-Type': 'application/json'
			},
			url: "<?php include_once('../inc/api_cred.php'); echo $apiUrl; ?>/public/mostrarpersonacargo",
			data : JSON.stringify({
				id_persona: id			
			}),			
			success: function(dados)
			{
				 for (i=0;i<dados.length;i++){					
					$("#txtCargo").val(dados[i][0].cargo); 
				}
			}
		});			
		listarRegistro();
	});	

	function convertDateFormat(numeros) {
        return numeros.split('-').reverse().join('-');
    }			
	
});	 	
  
</script>

</body>
</html>
