<?php
include_once('../../../php/sessionStart.php');
include_once('../../../php/db/dbExec.php');
include_once('../../../php/functions.php');
include_once('../../../php/timezone.php');
include_once('../../../php/privileges.php');

$bitForm = "nom4200";
$bitMod = "nom";
$empCod = $_SESSION['empCod'];
$usuCod = utf8_decode($_SESSION['usuCod']);
$usuNom = utf8_decode($_SESSION['usuNom']);

switch ($_POST['action']) {
	case 'consultar':
		echo consultar();
		break;
	case 'consultarCiclo':
		echo consultarCiclo();
		break;

	case 'consultarVaca':
		echo consultarVaca();
		break;

	case 'guardar':
		echo guardar();
		break;

	case 'borrar':
		echo borrar();
		break;

}

function consultar() {
	global $empCod;

	$priv = new privileges();
	if (!$priv->consult($_SESSION['usuPriv'])) {
		return json_encode($priv->rErrorConsult());
	}

	$func = new functions();

	$numCod=utf8_decode($_POST['numCod']);

	# QUERYS
	$sMaestro = "SELECT m.*, 
				TRIM(m.mae_nom) AS mae_nom, 
				TRIM(m.mae_ape) AS mae_ape
				FROM maestro m
				WHERE mae_emp='$empCod' AND mae_cod='$numCod'";

	
	# EJECUCION DE QUERYS
	$db = new dbExec();
	$codigo=$numCod;
    $_SESSION['numCodvaca'] = $numCod;
	$resp = $db->sEx($sMaestro, "maestro");
	$db->close();

	$func = new functions();
	return $func->jsonEncodeArray($resp, "maestro");
}

function consultarCiclo() {
	global $empCod;

	$func = new functions();

	$numCiclo=$_POST['numCiclo'];

    $_SESSION['numCiclovaca'] = $numCiclo;
	$resp = $numCiclo;

	return json_encode($resp);
}

function consultarVaca() {
	global $empCod;

	$priv = new privileges();
	if (!$priv->consult($_SESSION['usuPriv'])) {
		return json_encode($priv->rErrorConsult());
	}

	$func = new functions();

	$numCod=$_POST['numCod'];
	$numCiclo=$_POST['numCiclo'];
	$dtDel=$_POST['dtDel'];

	# QUERYS
	$sVaca = "SELECT *, 
				TRIM(rvd_obs) AS rvd_obs,
				TRIM(rvd_soli) AS rvd_soli 
				FROM regvacd 
				WHERE rvd_emp='$empCod' AND rvd_cod='$numCod' AND rvd_periodo='$numCiclo' AND rvd_fdesi='$dtDel'";

	
	# EJECUCION DE QUERYS
	$db = new dbExec();
	$resp = $db->sEx($sVaca, "regvacd");
	$db->close();

	$func = new functions();
	return $func->jsonEncodeArray($resp, "regvacd");
}

function guardar() {
	global $empCod, $usuNom, $bitMod, $bitForm, $numCod, $numCiclo, $numDiasv, $diasvant, $dtDel, $dtAl, $txtObs, $txtSoli;

	$priv = new privileges();
	if (!$priv->modify($_SESSION['usuPriv'])) {
		return json_encode($priv->rErrorModify());
	}

	$func = new functions();

	$numCod = utf8_decode($_POST["numCod"]);
	$numCiclo = utf8_decode($_POST["numCiclo"]);
	$dtDel = utf8_decode($_POST["dtDel"]);
	$dtAl = utf8_decode($_POST["dtAl"]);
	$crTrabaja = utf8_decode($_POST["crTrabaja"]);
	$txtObs = utf8_decode($_POST["txtObs"]);
	$txtSoli = utf8_decode($_POST["txtSoli"]);
	$numDiasv = utf8_decode($_POST["numDiasv"]);
	$diasvant = utf8_decode($_POST["diasvant"]);

	# QUERYS PARA UN REGISTRO
	$iVacad = "INSERT INTO regvacd(rvd_emp,rvd_cod, rvd_periodo, rvd_fdesi, rvd_fdesf, rvd_diasv, rvd_obs, rvd_soli, rvd_trabaja, rvd_usuario) VALUES ('$empCod','$numCod','$numCiclo','$dtDel','$dtAl','$numDiasv','$txtObs','$txtSoli','$crTrabaja','$usuNom')";

	$uVacad = "UPDATE regvacd SET rvd_fdesf='$dtAl', rvd_diasv='$numDiasv',rvd_trabaja='$crTrabaja',rvd_obs='$txtObs',rvd_soli='$txtSoli',rvd_usuario='$usuNom' WHERE rvd_emp='$empCod' AND rvd_cod='$numCod' AND rvd_periodo='$numCiclo' AND rvd_fdesi='$dtDel'";

	$sVaca = "SELECT * FROM regvac WHERE rv_emp='$empCod' AND rv_cod='$numCod' AND rv_periodo='$numCiclo'";

	$iVaca = "INSERT INTO regvac(rv_emp,rv_cod, rv_periodo, rv_dias) VALUES ('$empCod','$numCod','$numCiclo','$numDiasv')";

	function uVaca( $ndias) { 
		global $empCod, $usuNom, $numCod, $numCiclo;
		return "UPDATE regvac SET rv_dias='$ndias'
				 WHERE rv_emp='$empCod' AND rv_cod='$numCod' AND rv_periodo='$numCiclo'";
	}

	# EJECUCION DE QUERYS 
	$db = new dbExec();
	if ($func->stringToBool($_POST['nuevo'])) {
		$resp = $db->iEx($iVacad);
		$db->iEx($func->iBitacora(utf8_decode("Se creó Vacaciones empleado, Código: $numCod  del $dtDel  al $dtAl  Usuario: ").$usuNom, $bitMod, $bitForm));
	} else {
		$resp = $db->uEx($uVacad);
		$db->iEx($func->iBitacora(utf8_decode("Se modificaron Vacaciones empleado, Código: $numCod  del $dtDel  al $dtAl Usuario: ").$usuNom, $bitMod, $bitForm));
	}

	$select["regvac"] = $db->query($sVaca);
	$fetchAssoc["regvac"] = $db->fetchAssoc($select["regvac"]);
	if ($db->numRows($select["regvac"]) == 0) {
		$ndias=$numDiasv;
		$db->iEx($iVaca);		
    } else {
      $dias=$fetchAssoc["regvac"]["rv_dias"];
      $ndias=($dias-$diasvant)+$numDiasv;
	  $db->uEx(uVaca($ndias));		
    }

	$db->close();

	return json_encode($resp);
}

function borrar() {
	global $empCod, $usuNom, $bitMod, $bitForm, $numCod, $numCiclo, $numDiasv, $diasvant, $dtDel;

	$priv = new privileges();
	if (!$priv->modify($_SESSION['usuPriv'])) {
		return json_encode($priv->rErrorModify());
	}

	$func = new functions();

	$numCod = utf8_decode($_POST["numCod"]);
	$numCiclo = utf8_decode($_POST["numCiclo"]);
	$dtDel = utf8_decode($_POST["dtDel"]);
	$diasvant = utf8_decode($_POST["diasvant"]);

	# QUERYS PARA UN REGISTRO
	$dVacad = "DELETE FROM regvacd WHERE rvd_emp='$empCod' AND rvd_cod='$numCod' AND rvd_periodo='$numCiclo' AND rvd_fdesi='$dtDel'";

	$sVaca = "SELECT * FROM regvac WHERE rv_emp='$empCod' AND rv_cod='$numCod' AND rv_periodo='$numCiclo'";

	$iVaca = "INSERT INTO regvac(rv_emp,rv_cod, rv_periodo, rv_dias) VALUES ('$empCod','$numCod','$numCiclo','$numDiasv')";

	function uVaca( $ndias) { 
		global $empCod, $usuNom, $numCod, $numCiclo;
		return "UPDATE regvac SET rv_dias='$ndias'
				 WHERE rv_emp='$empCod' AND rv_cod='$numCod' AND rv_periodo='$numCiclo'";
	}

	# EJECUCION DE QUERYS 
	$db = new dbExec();
	$resp = $db->dEx($dVacad);
	$db->iEx($func->iBitacora(utf8_decode("Se Borro Vacaciones empleado, Código: $numCod  del $dtDel Usuario: ").$usuNom, $bitMod, $bitForm));

	$select["regvac"] = $db->query($sVaca);
	$fetchAssoc["regvac"] = $db->fetchAssoc($select["regvac"]);
	$dias=$fetchAssoc["regvac"]["rv_dias"];
    $ndias=($dias-$diasvant);
	$db->uEx(uVaca($ndias));		

	$db->close();

	return json_encode($resp);
}

?>