<?php
require_once('json/gs_auditoria_sistema.php');
require_once('jsonPptal/gs_auditoria_acciones_presupuesto.php');
require_once('Conexion/ConexionPDO.php');
$con = new ConexionPDO();
session_start();

$estruc = $_REQUEST['estruc'];

switch ($estruc) {
	case 1:
		//$_SESSION['id_comp_pptal_ED'] = "";
		//$_SESSION['nuevo_ED'] = "";
		$numero  = $_REQUEST['numero'];
		$fecha  = $_REQUEST['fecha'];
		$fechaVen  = $_REQUEST['fechaVen'];
		$descripcion = $_REQUEST['descripcion'];
		$estado = $_REQUEST['estado'];
		$tipocomprobante = $_REQUEST['tipocomprobante'];
		$sesion = $_REQUEST['sesion'];

		//Converción de fecha del formato dd/mm/aaaa al formato aaaa-mm-dd.
		$fecha = trim($fecha, '"');
		$fecha_div = explode("/", $fecha);
		$dia = $fecha_div[0];
		$mes = $fecha_div[1];
		$anio = $fecha_div[2];

		$fecha = $anio . '-' . $mes . '-' . $dia;
		##BUSCAR SI EXISTE CIERRE PARA ESTA FECHA
		$ci = $con->Listar("SELECT
                        cp.id_unico
                        FROM
                        gs_cierre_periodo cp
                        LEFT JOIN
                        gf_parametrizacion_anno pa ON pa.id_unico = cp.anno
                        LEFT JOIN
                        gf_mes m ON cp.mes = m.id_unico
                        WHERE
                        pa.anno = '$anio' AND m.numero = '$mes' AND cp.estado =2");
		if (count($ci) > 0) {
			echo 2;
		} else {
			//Converción de fecha del formato dd/mm/aaaa al formato aaaa-mm-dd.
			$fechaVen = trim($fechaVen, '"');
			$fecha_div = explode("/", $fechaVen);
			$dia = $fecha_div[0];
			$mes = $fecha_div[1];
			$anio = $fecha_div[2];

			$fechaVen = $anio . '-' . $mes . '-' . $dia;

			//Consulta del ID de la tabla gf_tercero .
			$row = $con->Listar("SELECT id_unico FROM gf_tercero WHERE numeroidentificacion = '9999999999'");
			$tercero = $row[0][0];
			$responsable = $row[0][0];

			$parametroAnno = $_SESSION['anno'];

			if ($descripcion == '""') {
				// 	$insertSQL = "INSERT INTO gf_comprobante_pptal (numero, fecha, fechavencimiento, parametrizacionanno, tipocomprobante, tercero, estado, responsable) 
				//   VALUES($numero, '$fecha', '$fechaVen', $parametroAnno, $tipocomprobante, $tercero, $estado, $responsable)";
				$sql_cons  = "INSERT INTO gf_comprobante_pptal (numero, fecha, fechavencimiento, parametrizacionanno, tipocomprobante, tercero, estado, responsable) 
            	VALUES (:numero,:fecha,:fechaVen,:parametroAnno,:tipocomprobante,:tercero,:estado,:responsable)";
				$sql_dato = array(
					array(":numero", $numero),
					array(":fecha", $fecha),
					array(":fechaVen", $fechaVen),
					array(":parametroAnno", $parametroAnno),
					array(":tipocomprobante", $tipocomprobante),
					array(":tercero", $tercero),
					array(":estado", $estado),
					array(":responsable", $responsable),
				);
			} else {
				// 	$insertSQL = "INSERT INTO gf_comprobante_pptal (numero, fecha, fechavencimiento, descripcion, parametrizacionanno, tipocomprobante, tercero, estado, responsable) 
				//   VALUES($numero, '$fecha', '$fechaVen', $descripcion, $parametroAnno, $tipocomprobante, $tercero, $estado, $responsable)";
				$sql_cons  = "INSERT INTO gf_comprobante_pptal (numero, fecha, fechavencimiento, descripcion, parametrizacionanno, tipocomprobante, tercero, estado, responsable) 
            	VALUES (:numero,:fecha,:fechaVen,:descripcion,:parametroAnno,:tipocomprobante,:tercero,:estado,:responsable)";
				$sql_dato = array(
					array(":numero", $numero),
					array(":fecha", $fecha),
					array(":fechaVen", $fechaVen),
					array(":descripcion", $descripcion),
					array(":parametroAnno", $parametroAnno),
					array(":tipocomprobante", $tipocomprobante),
					array(":tercero", $tercero),
					array(":estado", $estado),
					array(":responsable", $responsable),
				);
			}
			$obj_resp = $con->InAcEl($sql_cons, $sql_dato);

			if (empty($obj_resp)) {
				$rowUC = $con->Listar("SELECT MAX(id_unico) FROM gf_comprobante_pptal WHERE numero=$numero AND tipocomprobante=$tipocomprobante AND parametrizacionanno=$parametroAnno");
				$_SESSION[$sesion] = $rowUC[0][0];
				$agregarAuditoria = agregarAuditoriaSistema($rowUC[0][0], 1, 'GF_COMPROBANTE_PPTAL');
				echo 1;
			} else {
				echo 0;
			}
		}
		break;
	case 2:
		$sesion = $_REQUEST['sesion'];
		unset($_SESSION[$sesion]);
		break;
	case 3:
		$fuente = $_REQUEST['id_fuente'];
		$rubro = $_REQUEST['id_rubro'];

		$row = $con->Listar("SELECT id_unico 
    			FROM gf_rubro_fuente 
    			WHERE rubro = $rubro   
    			AND fuente = $fuente");
		$id_rubro_fuente = $row[0][0];
		echo $id_rubro_fuente;
		break;
		#######MODIFICAR COMPROBANTE ADICION APROPIACION###########                
	case 4:
		$id =  $_REQUEST['comprobante'];

		##FECHA
		$fecha  = $_REQUEST['fecha'];
		$fecha = trim($fecha, '"');
		$fecha_div = explode("/", $fecha);
		$dia = $fecha_div[0];
		$mes = $fecha_div[1];
		$anio = $fecha_div[2];
		$fecha = $anio . '-' . $mes . '-' . $dia;

		##BUSCAR SI EXISTE CIERRE PARA ESTA FECHA
		$ci = $con->Listar("SELECT
        cp.id_unico
        FROM
        gs_cierre_periodo cp
        LEFT JOIN
        gf_parametrizacion_anno pa ON pa.id_unico = cp.anno
        LEFT JOIN
        gf_mes m ON cp.mes = m.id_unico
        WHERE
        pa.anno = '$anio' AND m.numero = '$mes' AND cp.estado =2");

		if (count($ci) > 0) {
			echo 2;
		} else {
			$fechaVen  = $_REQUEST['fechaVen'];
			$descripcion = $_REQUEST['descripcion'];
			if (empty($descripcion)) {
				$descripcion = NULL;
			}
			##FECHA VENCIMIENTO
			$fechaVen = trim($fechaVen, '"');
			$fecha_div = explode("/", $fechaVen);
			$dia = $fecha_div[0];
			$mes = $fecha_div[1];
			$anio = $fecha_div[2];
			$fechaVen = $anio . '-' . $mes . '-' . $dia;
			//Consulta los datos anteriores para hacer auditoria
			$queryA = $con->Listar("SELECT fecha, fechavencimiento, descripcion FROM gf_comprobante_pptal WHERE id_unico=$id");
			$fechaA = $queryA[0][0];
			$FechaVenA = $queryA[0][1];
			$descripcionA = $queryA[0][2];
			$sql_cons = "UPDATE gf_comprobante_pptal 
            SET fecha=:fecha, fechavencimiento=:fechaVen, descripcion=:descripcion
            WHERE id_unico=:id_unico";
			$sql_dato = array(
				array(":fecha", $fecha),
				array(":fechaVen", $fechaVen),
				array(":descripcion", $descripcion),
				array(":id_unico", $id),
			);
			$obj_resp = $con->InAcEl($sql_cons, $sql_dato);
			if (empty($obj_resp)) {
				$agregarAuditoriaActualizar = modificarReduccionAprobacion($id, $fechaA, $FechaVenA, $descripcionA);
			}
			//ACTUALIZAR DETALLES
			//Consulta los datos anteriores para hacer auditoria
			$queryA1 = $con->Listar("SELECT descripcion FROM gf_detalle_comprobante_pptal WHERE comprobantepptal=$id");
			$descripcionA1 = $queryA1[0][0];
			$sql_cons = "UPDATE gf_detalle_comprobante_pptal 
            SET descripcion=:descripcion
            WHERE id_unico=:comprobantepptal";
			$sql_dato = array(
				array(":descripcion", $descripcion),
				array(":comprobantepptal", $id),
			);
			$obj_resp = $con->InAcEl($sql_cons, $sql_dato);
			if (empty($obj_resp)) {
				$agregarAuditoriaActualizar = modificarReduccionAprobacion1($id, $descripcion);
				echo 1;
			} else {
				echo 0;
			}
		}
		break;
}
