<?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');
include_once('../../../php/maxExecTime.php');

$bitForm = "ban1010i";
$bitMod = "ban";
$empCod = $_SESSION['empCod'];
$empConso = $_SESSION['empConso'];
$usuCod = utf8_decode($_SESSION['usuCod']);
$usuNom = utf8_decode($_SESSION['usuNom']);

switch ($_POST['actioniva']) {
	case 'consultari':
		echo consultari();
		break;

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

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

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

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

}

function consultari() {
	global $empCod, $usuNom;

	$tipoPol='006';

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

	$func = new functions();

	$txtSerieI=$_POST['txtSerieI'];
	$numNumI=$_POST['numNumI'];
	$txtNitI=$_POST['txtNitI'];

	# QUERYS
	$sIva_comp = "SELECT i.*, c.ciem_stat, 
					 TRIM(cta1g.cta_nom) AS iva_cta1gnom,
					 TRIM(cta2g.cta_nom) AS iva_cta2gnom,
					 TRIM(cta3g.cta_nom) AS iva_cta3gnom,
					 TRIM(cta4g.cta_nom) AS iva_cta4gnom
				  FROM iva_comp i				 
				  LEFT JOIN ciemes c ON c.ciem_mes=MONTH(i.iva_rfec) AND c.ciem_ano=YEAR(i.iva_rfec) AND c.ciem_emp='$empCod'
				  LEFT JOIN cuentas cta1g ON i.iva_emp=cta1g.cta_emp AND i.iva_cta1=cta1g.cta
				  LEFT JOIN cuentas cta2g ON i.iva_emp=cta2g.cta_emp AND i.iva_cta2=cta2g.cta
				  LEFT JOIN cuentas cta3g ON i.iva_emp=cta3g.cta_emp AND i.iva_cta3=cta3g.cta
				  LEFT JOIN cuentas cta4g ON i.iva_emp=cta4g.cta_emp AND i.iva_cta4=cta4g.cta
				  WHERE iva_emp='$empCod' AND iva_serie='$txtSerieI' AND iva_num='$numNumI' AND iva_nit='$txtNitI'";

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

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

function consultarCta() {
	global $empCod;
	$txtCod=utf8_decode($_POST['txtCod']);

	# QUERYS
	$sCuentas = "SELECT c.*, TRIM(cta) AS cta, TRIM(cta_nom) AS cta_nom
				FROM cuentas c WHERE cta='$txtCod' 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 consultarProvee() {
	global $empCod;
	$txtNitI=utf8_decode($_POST['txtNitI']);

	# QUERYS
	$sProvee = "SELECT TRIM(pro_nom) AS pro_nom FROM provee WHERE pro_nit='$txtNitI'";
	
	# EJECUCION DE QUERYS
	$db = new dbExec();
	$resp = $db->sEx($sProvee, "provee");
	$db->close();

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

function consultarCiemes() {
	global $empCod;

	$func = new functions();
	$numAno=$_POST["numAno"];
	$selMesCod=$_POST["selMesCod"];

	# QUERYS
	$sCiemes = "SELECT ciem_stat FROM ciemes WHERE ciem_emp='$empCod' AND ciem_ano=$numAno AND ciem_mes=$selMesCod";

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

	return json_encode($resp);
}


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

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

	$func = new functions();

	$txtSerieI=utf8_decode($_POST['txtSerieI']);
	$numNumI=$_POST['numNumI'];
	$txtNitI=utf8_decode($_POST['txtNitI']);
	$selTipoCodI=$_POST['selTipoCodI'];
	$txtProvI=utf8_decode($_POST['txtProvI']);
	$dtFecI=$_POST['dtFecI'];

	$numDiaI=date("d", strtotime($dtFecI));
	$selMesCodI=$_POST['selMesCodI'];
	$numAnoI=$_POST['numAnoI'];
	$mesact=date("m", strtotime($dtFecI));
	if ($selMesCodI==$mesact) {
	    $rfecI=$numAnoI."-".$selMesCodI."-".$numDiaI;
	} else {
	    $rfecI=$numAnoI."-".$selMesCodI."-01";
	}

	$rfecAntI=$_POST['rfecAntI'];
	$numAnoAntI=date("Y", strtotime($rfecAntI));
	$numMesAntI=date("n", strtotime($rfecAntI));

	$selBanCod=$_POST['selBanCod'];
	$numChequeI=$_POST['numChequeI'];
	$crRetI=$_POST['crRetI'];
	$crRetiI=$_POST['crRetiI'];
	$crCajaI=$_POST['crCajaI'];
	$crAfeI=$_POST['crAfeI'];
	$numBienI=(empty($_POST['numBienI'])) ? 0 : $_POST['numBienI'];
	$numServI=(empty($_POST['numServI'])) ? 0 : $_POST['numServI'];
	$numPequeI=(empty($_POST['numPequeI'])) ? 0 : $_POST['numPequeI'];
	$numPeque2I=(empty($_POST['numPeque2I'])) ? 0 : $_POST['numPeque2I'];
	$numImpI=(empty($_POST['numImpI'])) ? 0 : $_POST['numImpI'];
	$numImpreI=(empty($_POST['numImpreI'])) ? 0 : $_POST['numImpreI'];
	$numTasamI=(empty($_POST['numTasamI'])) ? 0 : $_POST['numTasamI'];
	$numMediI=(empty($_POST['numMediI'])) ? 0 : $_POST['numMediI'];
	$numNoafeI=(empty($_POST['numNoafeI'])) ? 0 : $_POST['numNoafeI'];
	$numVehiI=(empty($_POST['numVehiI'])) ? 0 : $_POST['numVehiI'];
	$numVehiaI=(empty($_POST['numVehiaI'])) ? 0 : $_POST['numVehiaI'];
	$crTvehiI=(empty($_POST['crTvehiI'])) ? "0" : $_POST['crTvehiI'];
	$numTfacomI=(empty($_POST['numTfacomI'])) ? 0 : $_POST['numTfacomI'];
	$deduTot=$_POST['deduTot'];
	$numGalosI=(empty($_POST['numGalosI'])) ? 0 : $_POST['numGalosI'];
	$numGalorI=(empty($_POST['numGalorI'])) ? 0 : $_POST['numGalorI'];
	$numGalodI=(empty($_POST['numGalodI'])) ? 0 : $_POST['numGalodI'];
	$numCombI=(empty($_POST['numCombI'])) ? 0 : $_POST['numCombI'];
	$txtConI=utf8_decode($_POST['txtConI']);
	$txtCta1g=utf8_decode($_POST['txtCta1g']);
	$txtCta2g=utf8_decode($_POST['txtCta2g']);
	$txtCta3g=utf8_decode($_POST['txtCta3g']);
	$txtCta4g=utf8_decode($_POST['txtCta4g']);
	$numCta1gV=(empty($_POST['numCta1gV'])) ? 0 : $_POST['numCta1gV'];
	$numCta2gV=(empty($_POST['numCta2gV'])) ? 0 : $_POST['numCta2gV'];
	$numCta3gV=(empty($_POST['numCta3gV'])) ? 0 : $_POST['numCta3gV'];
	$numCta4gV=(empty($_POST['numCta4gV'])) ? 0 : $_POST['numCta4gV'];

	$subb=$_POST['subb'];
	$subs=$_POST['subs'];
	$subpe=$_POST['subpe'];
	$subco=$_POST['subco'];
	$subve=$_POST['subve'];
	$subi=$_POST['subi'];
	$subir=$_POST['subir'];
	$subna=$_POST['subna'];
	$subme=$_POST['subme'];

	$numRetI=$_POST['numRetI'];
	$numRetiI=$_POST['numRetiI'];
	$numSubI=$_POST['numSubI'];
	$numIvaI=$_POST['numIvaI'];
	$numTotI=$_POST['numTotI'];
	$numFalCta=$_POST['numFalCta'];

	$dtGrabado=date("Y-m-d H:i:s", STRTOTIME(date('h:i:sa')));

	# QUERYS PARA UN REGISTRO
	$iIva_comp = "INSERT INTO iva_comp (iva_emp, iva_serie, iva_num, iva_nit, iva_tipo, iva_prov, iva_fec, iva_rfec, iva_ban, iva_tipoc, iva_cheque, iva_retsn, iva_retisn, iva_caja, iva_afe, iva_bien, iva_serv, iva_peque, iva_peque2, iva_imp, iva_impre, iva_medi, iva_noafe, iva_vehi, iva_vehia, iva_tvehi, iva_tfacom, iva_galos, iva_galor, iva_galod, iva_comb, iva_con, iva_subb, iva_subs, iva_subpe, iva_subco, iva_subve, iva_subi, iva_subir, iva_subna, iva_subme, iva_ret, iva_reti, iva_sub, iva_iva, iva_tot, iva_dedu, iva_ulcam, iva_conso, iva_cajach, iva_tasam, iva_cta1, iva_cta2, iva_cta3, iva_cta4, iva_ctav1, iva_ctav2, iva_ctav3, iva_ctav4) VALUES ('$empCod', '$txtSerieI', '$numNumI', '$txtNitI', '$selTipoCodI', '$txtProvI', '$dtFecI', '$rfecI', '$selBanCod', '004', '$numChequeI', '$crRetI', '$crRetiI', '$crCajaI', '$crAfeI', '$numBienI', '$numServI', '$numPequeI', '$numPeque2I', '$numImpI', '$numImpreI', '$numMediI', '$numNoafeI', '$numVehiI', '$numVehiaI', '$crTvehiI', '$numTfacomI', '$numGalosI', '$numGalorI', '$numGalodI', '$numCombI', '$txtConI', '$subb', '$subs', '$subpe', '$subco', '$subve', '$subi', '$subir', '$subna', '$subme', '$numRetI', '$numRetiI', '$numSubI', '$numIvaI', '$numTotI', '$deduTot', '$usuNom', '$empConso', 'N', '$numTasamI', '$txtCta1g', '$txtCta2g', '$txtCta3g', '$txtCta4g', '$numCta1gV', '$numCta2gV', '$numCta3gV', '$numCta4gV')";

	$uIva_comp = "UPDATE iva_comp SET iva_tipo='$selTipoCodI', iva_prov='$txtProvI', iva_fec='$dtFecI', iva_rfec='$rfecI', iva_ban='$selBanCod', iva_tipoc='004', iva_cheque='$numChequeI', iva_retsn='$crRetI', iva_retisn='$crRetiI', iva_caja='$crCajaI', iva_afe='$crAfeI', iva_bien='$numBienI', iva_serv='$numServI', iva_peque='$numPequeI', iva_peque2='$numPeque2I', iva_imp='$numImpI', iva_impre='$numImpreI', iva_medi='$numMediI', iva_noafe='$numNoafeI', iva_vehi='$numVehiI', iva_vehia='$numVehiaI', iva_tvehi='$crTvehiI', iva_tfacom='$numTfacomI', iva_galos='$numGalosI', iva_galor='$numGalorI', iva_galod='$numGalodI', iva_comb='$numCombI', iva_con='$txtConI', iva_subb='$subb', iva_subs='$subs', iva_subpe='$subpe', iva_subco='$subco', iva_subve='$subve', iva_subi='$subi', iva_subir='$subir', iva_subna='$subna', iva_subme='$subme', iva_ret='$numRetI', iva_reti='$numRetiI', iva_sub='$numSubI', iva_iva='$numIvaI', iva_tot='$numTotI', iva_dedu='$deduTot', iva_ulcam='$usuNom', iva_conso='$empConso', iva_tasam='$numTasamI', iva_cta1='$txtCta1g', iva_cta2='$txtCta2g', iva_cta3='$txtCta3g', iva_cta4='$txtCta4g', iva_ctav1='$numCta1gV', iva_ctav2='$numCta2gV', iva_ctav3='$numCta3gV', iva_ctav4='$numCta4gV' WHERE iva_emp='$empCod' AND iva_serie='$txtSerieI' AND iva_num='$numNumI' AND iva_nit='$txtNitI'";

	$iProvee = "INSERT INTO provee(pro_nit, pro_nom, pro_retsn) VALUES ('$txtNitI','$txtProvI','$crRetI')";

	$uProvee = "UPDATE provee SET pro_nom='$txtProvI', pro_ret='$crRetI' WHERE pro_nit='$txtNitI'";

	function sCuentas($cta) { 
		global $empCod;
		return "SELECT * FROM cuentas WHERE cta_emp='$empCod' AND cta='$cta'";
	}

	# EJECUCION DE QUERYS 
	$db = new dbExec();
	$txtflag = 0;
	if ($numFalCta != 0.00) {
		$txtflag=1;
	}
	if (empty($txtCta1g) && empty($txtCta2g) && empty($txtCta3g) && empty($txtCta4g) ) {
		$txtflag=2;
	}
	if ($txtflag == 0) {
		if ($func->stringToBool($_POST['nuevoiva'])) {
			$resp = $db->iEx($iIva_comp);
			$db->query($func->iBitacora(utf8_decode("Se creó compra No.: $numNumI Serie: $txtSerieI NIT: $txtNitI Usuario: ").$usuNom, $bitMod, $bitForm));
		} else {
			$resp = $db->uEx($uIva_comp);
			$db->query($func->iBitacora(utf8_decode("Se modificó compra No.: $numNumI Serie: $txtSerieI NIT: $txtNitI Usuario: ").$usuNom, $bitMod, $bitForm));

		}
		($func->stringToBool($_POST['nuevoProvee'])) ? $db->query($iProvee) : $db->query($uProvee);
	}

	$db->close();

	$resp["txtflag"]=$txtflag;

	return json_encode($resp);
}

?>