<?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 = "cnt4010";
$bitMod = "cnt";
$empCod = $_SESSION['empCod'];
$usuCod = utf8_decode($_SESSION['usuCod']);
$usuNom = utf8_decode($_SESSION['usuNom']);

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

	case 'consultarACta':
		echo consultarACta();
		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();

	$txtCod=$_POST['txtCod'];

	# QUERYS
	$sCuentas = "SELECT cta.*, 
				TRIM(cta.cta_nom) AS cta_nom, 
				TRIM(cta.cta_acta) AS cta_acta, 
				TRIM(acta.cta_nom) AS cta_actanom
				FROM cuentas AS cta 
				LEFT JOIN cuentas acta ON cta.cta_emp = acta.cta_emp AND cta.cta_acta=acta.cta
				WHERE cta.cta_emp='$empCod' AND cta.cta='$txtCod'";
	
	# EJECUCION DE QUERYS
	$db = new dbExec();
	$resp = $db->sEx($sCuentas, "cuentas");
	$db->close();

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

function consultarACta() {
	global $empCod;
	$txtACta=$_POST['txtACta'];

	# QUERYS
	$sCuentas = "SELECT *, TRIM(cta) AS cta, TRIM(cta_nom) AS cta_nom
				FROM cuentas WHERE cta='$txtACta' AND cta_emp='$empCod'";
	
	# EJECUCION DE QUERYS
	$db = new dbExec();
	$resp = $db->sEx($sCuentas, "cuentas");
	$db->close();

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

function guardar() {
	global $empCod, $usuNom, $bitMod, $bitForm;

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

	$func = new functions();

	$txtCod=$_POST['txtCod'];
	$txtNom=utf8_decode($_POST['txtNom']);
	$selNivCod=$_POST['selNivCod'];
	$txtACta=$_POST['txtACta'];
	$cbCon=($func->stringToBool($_POST['cbCon'])) ? "S" : "N";
	$cbPresu=($func->stringToBool($_POST['cbPresu'])) ? "S" : "N";

	# QUERYS PARA UN REGISTRO
	$iCuentas = "INSERT INTO cuentas(cta_emp, cta, cta_nom, cta_con, cta_niv, cta_acta, cta_ulcam,cta_presu) VALUES ('$empCod','$txtCod','$txtNom','$cbCon','$selNivCod','$txtACta','$usuNom','$cbPresu')";

	$uCuentas = "UPDATE cuentas SET cta_nom='$txtNom',cta_con='$cbCon',cta_niv='$selNivCod',cta_acta='$txtACta',cta_ulcam='$usuNom',cta_presu='$cbPresu' WHERE cta_emp='$empCod' AND cta='$txtCod'";

	# EJECUCION DE QUERYS 
	$db = new dbExec();
	if ($func->stringToBool($_POST['nuevo'])) {
		$resp = $db->iEx($iCuentas);
		$db->iEx($func->iBitacora(utf8_decode("Se creó cuenta, Cuenta: $txtCod Usuario: ").$usuNom, $bitMod, $bitForm));
	} else {
		$resp = $db->uEx($uCuentas);
		$db->iEx($func->iBitacora(utf8_decode("Se modificó cuenta, Cuenta: $txtCod Usuario: ").$usuNom, $bitMod, $bitForm));
	}
	
	$db->close();

	return json_encode($resp);
}

function borrar() {
	global $empCod, $usuNom, $bitMod, $bitForm;

	$func = new functions();

	$txtCod=$_POST['txtCod'];

	# QUERYS
	$dCuentas = "DELETE FROM cuentas WHERE cta_emp='$empCod' AND cta='$txtCod'";

	# EJECUCION DE QUERYS 
	$db = new dbExec();
	$resp = $db->dEx($dCuentas);
	$db->iEx($func->iBitacora(utf8_decode("Se borró cuenta, Cuenta: $txtCod Usuario: ").$usuNom, $bitMod, $bitForm));
	$db->close();

	return json_encode($resp);
}
?>