<?php
/**
 * controllerGFMovimiento.php
 *
 * Archivo de direcciónamiento para invocar la clase y realizar una acción dependiendo de la variable actión recibida
 *
 * @author Alexander Numpaque
 * @package Movimiento
 * @param String $action Variable para indicar que proceso se va a realizar
 * @version $Id: controllerGFMovimiento.php 001 2017-05-30 Alexander Numpaque$
 **/
require ('../Conexion/ConexionPDO.php');
require ('../json/registrarMovimientoAlmacenJson.php');
require_once('../json/gs_auditoria_sistema.php');
@session_start();
require('../jsonPptal/gs_auditoria_acciones_almacen.php');

$conexion = $_SESSION['conexion'];
$con = new conexionPDO();
$action =  $_REQUEST['action'];
if($action == 'insert'){
	$estadoM       = '"2"';
	$lugarE        = $_REQUEST['sltLE'];
	$unidadPE      = $_REQUEST['sltUPE'];
	$plazoE        = $_REQUEST['txtPlazoE'];
	#Validación de campos no obligatorios
	if(!empty($_REQUEST['txtObservacion'])){
	    $observaciones = $_REQUEST['txtObservacion'];
	}else{
	    $observaciones = NULL;
	}
	if(!empty($_REQUEST['txtDescripcion'])){
	    $descripcion   = $_REQUEST['txtDescripcion'];
	}else{
	    $descripcion = NULL;
	}
	if(!empty($_REQUEST['fuente'])){
	    $fuente   = $_REQUEST['fuente'];
	}else{
	    $fuente = NULL;
	}

	$proyecto      = $_REQUEST['sltProyecto'];
	$centrocosto   = $_REQUEST['sltCentroCosto'];
	$rubroP        = $_REQUEST['sltRubroP'];
	$tercero       = $_REQUEST['sltTercero'];
	$dependencia   = $_REQUEST['sltDependencia'];
	$responsable   = $_REQUEST['sltResponsable'];
	#Conversión de fecha
	$fechaT = ''.$_REQUEST['txtFecha'].'';
	$valorF = explode("/",$fechaT);
	$fechaC =  $valorF[2].'-'.$valorF[1].'-'.$valorF[0];
	$paramA = $_SESSION['anno'];
	$compania = $_SESSION['compania'];
	$numeroC = ''.$_REQUEST['txtNumero'].'';
	$tipoM  = ''.$_REQUEST['sltTipoMov'].'';
	$iva = $_REQUEST['txtIva'];
	$id_asoc = $_REQUEST['sltNumeroA'];
	$tipo_doc_sopt = $_REQUEST['sltDocSoporte'];
	$num_doc = $_REQUEST['txtNumDocS'];
	$result = movimiento::save_data($numeroC, $fechaC, $descripcion, $plazoE, $observaciones, $tipoM, $paramA, $responsable, $tercero, $dependencia, $centrocosto, $rubroP, $proyecto, $lugarE, $unidadPE, $estadoM, $iva, $compania, $tipo_doc_sopt, $num_doc, $fuente);
	if($result == true){
        $movimiento = movimiento::get_last_id($tipoM, $numeroC);
        $save_auditoria = movimiento::agregarMovimiento($movimiento);
    }
	echo "<html>\n";
	echo "<head>\n";
	echo "\t<meta charset=\"utf-8\">\n";
	echo "\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n";
	echo "\t<link rel=\"stylesheet\" href=\"../css/bootstrap.min.css\">\n";
	echo "\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n";
	echo "\t<script src=\"../js/md5.pack.js\"></script>\n";
	echo "\t<script src=\"../js/jquery.min.js\"></script>\n";
	echo "\t<link rel=\"stylesheet\" href=\"../css/jquery-ui.css\" type=\"text/css\" media=\"screen\" title=\"default\" />\n";
	echo "\t<script type=\"text/javascript\" language=\"javascript\" src=\"../js/jquery-1.10.2.js\"></script>\n";
	echo "</head>\n";
	echo "<body>\n";
	echo "</body>\n";
	echo "</html>\n";
	echo "<div class=\"modal fade\" id=\"myModal1\" role=\"dialog\" align=\"center\" >\n";
	echo "\t<div class=\"modal-dialog\">\n";
	echo "\t\t<div class=\"modal-content\">\n";
	echo "\t\t\t<div id=\"forma-modal\" class=\"modal-header\">\n";
	echo "\t\t\t\t<h4 class=\"modal-title\" style=\"font-size: 24px; padding: 3px;\">Información</h4>\n";
	echo "\t\t\t</div>\n";
	echo "\t\t\t<div class=\"modal-body\" style=\"margin-top: 8px\">\n";
	echo "\t\t\t\t<p>Información guardada correctamente.</p>\n";
	echo "\t\t\t</div>\n";
	echo "\t\t\t<div id=\"forma-modal\" class=\"modal-footer\">\n";
	echo "\t\t\t\t<button type=\"button\" id=\"ver1\" class=\"btn\" style=\"color: #000; margin-top: 2px\" data-dismiss=\"modal\" >Aceptar</button>\n";
	echo "\t\t\t</div>\n";
	echo "\t\t</div>\n";
	echo "\t</div>\n";
	echo "</div>\n";
	echo "<div class=\"modal fade\" id=\"myModal2\" role=\"dialog\" align=\"center\" >\n";
	echo "\t<div class=\"modal-dialog\">\n";
	echo "\t\t<div class=\"modal-content\">\n";
	echo "\t\t\t<div id=\"forma-modal\" class=\"modal-header\">\n";
	echo "\t\t\t\t<h4 class=\"modal-title\" style=\"font-size: 24px; padding: 3px;\">Información</h4>\n";
	echo "\t\t\t</div>\n";
	echo "\t\t\t<div class=\"modal-body\" style=\"margin-top: 8px\">\n";
	echo "\t\t\t\t<p>No se ha podido guardar la información.</p>\n";
	echo "\t\t\t\n</div>";
	echo "\t\t\t<div id=\"forma-modal\" class=\"modal-footer\">\n";
	echo "\t\t\t\t<button type=\"button\" id=\"ver2\" class=\"btn\" style=\"color: #000; margin-top: 2px\" data-dismiss=\"modal\">Aceptar</button>\n";
	echo "\t\t\t</div>\n";
	echo "\t\t</div>\n";
	echo "\t</div>\n";
	echo "</div>\n";
	echo "<link rel=\"stylesheet\" href=\"../css/bootstrap-theme.min.css\">";
	echo "<script src=\"../js/bootstrap.js\"></script>";
	if($result == true){
        $details = movimiento::get_detail_mov($id_asoc);
        $movimiento = movimiento::get_last_id($tipoM, $numeroC);
        for ($a = 0;$a < count($details); $a++) {
            $values = movimiento::get_values_detail($details[$a]);
            $xc = 0;
            foreach ($dataAso as $rc) {
                $xc += $rc[0];
            }
            $xxx = $values[1] - $xc;
            if($xxx > 0){
				$asociadoM= movimiento::save_detail_mov($values[0], $values[1], $values[2], $values[3], $movimiento, $details[$a]);
				if ($asociadoM==true) {
					$filaId = $con->Listar("SELECT MAX(id_unico) FROM gf_detalle_movimiento");
					$id_mov = $filaId[0][0];
					$detalle_auditoria = agregarAuditoriaSistema($id_mov,1,"GF_DETALLE_MOVIMIENTO");
				}    
			}
        }
	  	echo "\n<script type=\"text/javascript\">";
	  	echo "\t$(\"#myModal1\").modal('show');\n";
  		echo "\t$(\"#ver1\").click(function(){\n";
	  	echo "\t\t$(\"#myModal1\").modal('hide');\n";
		echo "\t\twindow.location='../registrar_RF_MOVIMIENTO_ALMACEN.php?movimiento=".base64_encode($movimiento)."';\n";
		echo "\t});";
		echo "</script>";
	}else{
		echo "<script type=\"text/javascript\">";
		echo "\t$(\"#myModal2\").modal('show');\n";
		echo "\t$(\"#ver2\").click(function(){\n";
		echo "\t\t$(\"#myModal2\").modal('hide');\n";
		echo "\t\twindow.history.go(-1)";
		echo "\t});";
		echo "</script>";
	}
}else if($action == 'modify'){
    $id_unico 		= $_REQUEST['id'];
	$fecha =  $_REQUEST['txtFecha'];
    // $fecha 			= explode("/",$_REQUEST['txtFecha']);
	if (!empty($fecha)) {
		$fecha_div = explode("/", $fecha);
		$anioi = $fecha_div[2];
		$mesi  = $fecha_div[1];
		$diai  = $fecha_div[0];
		$fecha = $anioi . '-' . $mesi . '-' . $diai;
	  } else {
		$fecha = date('Y-m-d');
	  }
    // $fecha 			= "'$fecha[2]-$fecha[1]-$fecha[0]'";
	// $fecha1 			= explode("'",$fecha);
    // $fechaM 		= "$fecha1[1]";
    $lugarE        = $_REQUEST['sltLE'];
	$unidadPE      = $_REQUEST['sltUPE'];
	$plazoE        = $_REQUEST['txtPlazoE'];
	#Validación de campos no obligatorios
	$observaciones = $_REQUEST['txtObservacion'];
	if(empty($observaciones)){
	    $observaciones = NULL;
	}
	$descripcion   = $_REQUEST['txtDescripcion'];
	if(empty($descripcion)){
	    $descripcion = NULL;
	}
	$fuente   = $_REQUEST['fuente'];
	if(empty($fuente)){
	    $fuente = NULL;
	}
	$rubroP = $_REQUEST['sltRubroP'];
	if(empty($rubroP)){
	    $rubroP = NULL;
	}
	$txtNumero = $_REQUEST['txtNumero'];
	$proyecto      = $_REQUEST['sltProyecto'];
	$centrocosto   = $_REQUEST['sltCentroCosto'];
	
	$tercero       = $_REQUEST['sltTercero'];
	$dependencia   = $_REQUEST['sltDependencia'];
	$responsable   = $_REQUEST['sltResponsable'];
	$iva 		   = $_REQUEST['txtIva'];
	$tipo_doc_sopt = $_REQUEST['sltDocSoporte'];
	$num_doc 	   = $_REQUEST['txtNumDocS'];
	$sltTipoMov = $_REQUEST['sltTipoMov'];
	#AUDITORIA
		$mod=modificarMovimiento($id_unico, $fecha, $observaciones, $descripcion, $iva, $responsable,$tercero, $fuente, $proyecto, $lugarE, 
			$unidadPE,$plazoE,$centrocosto,$rubroP,$dependencia,$tipo_doc_sopt,$num_doc,$txtNumero,$sltTipoMov);
	#FIN AUDITORIA
    $result = movimiento::modify_dataEntrada($id_unico, $sltTipoMov, $txtNumero, $fecha, $observaciones, $descripcion, $iva, 
            $responsable, $tercero, $fuente, $proyecto, $lugarE, $unidadPE, $plazoE, $centrocosto,$rubroP,$dependencia,$tipo_doc_sopt , $num_doc);
	if ($result == false && $mod == true) {
		$elmAudi=eliminarRegistrosAuditoria();
	}
	echo json_encode($result);
}else if($action == 'delete') {
    $id_unico = $_REQUEST['id'];
    $result = $movimiento::delete($id);
    echo json_encode($result);
}else if($action == 'insert_detail') {
    $planInv = $_REQUEST['sltPlanInv'];
    $cantidad = $_REQUEST['txtCantidad'];
    $valor = $_REQUEST['txtValor'];
    $valorIva = $_REQUEST['txtValorIva'];
    $valorTotal = $_REQUEST['txtValorTotal'];
    $movimiento = $_REQUEST['txtIdMov'];
	$valorImpo = $_REQUEST['txtValorImpo'];
    if(!empty($valorImpo)) {
    	$result = movimiento::save_detail_mov_N($planInv, $cantidad, $valor, $valorIva, $movimiento, $valorImpo);	
		if ($result==true) {
		$filaId = $con->Listar("SELECT MAX(id_unico) FROM gf_detalle_movimiento");
        $id_mov=$filaId[0][0];
        $agr= agregarAuditoriaSistema($id_mov,1,"GF_DETALLE_MOVIMIENTO");
		}
    } else {
    	$result = movimiento::save_detail_mov($planInv, $cantidad, $valor, $valorIva, $movimiento);
		if ($result==true) {
			$filaId = $con->Listar("SELECT MAX(id_unico) FROM gf_detalle_movimiento");
			$id_mov=$filaId[0][0];
			$agr= agregarAuditoriaSistema($id_mov,1,"GF_DETALLE_MOVIMIENTO");
			}
    }

    // $result = movimiento::save_detail_mov($planInv, $cantidad, $valor, $valorIva, $movimiento); #Esta registrando dos veces por eso queda comentada esta linea
    echo "<html>\n";
    echo "<head>\n";
    echo "\t<meta charset=\"utf-8\">\n";
    echo "\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n";
    echo "\t<link rel=\"stylesheet\" href=\"../css/bootstrap.min.css\">\n";
    echo "\t<link rel=\"stylesheet\" href=\"../css/style.css\">\n";
    echo "\t<script src=\"../js/md5.pack.js\"></script>\n";
    echo "\t<script src=\"../js/jquery.min.js\"></script>\n";
    echo "\t<link rel=\"stylesheet\" href=\"../css/jquery-ui.css\" type=\"text/css\" media=\"screen\" title=\"default\" />\n";
    echo "\t<script type=\"text/javascript\" language=\"javascript\" src=\"../js/jquery-1.10.2.js\"></script>\n";
    echo "</head>\n";
    echo "<body>\n";
    echo "</body>\n";
    echo "</html>\n";
    echo "<div class=\"modal fade\" id=\"myModal1\" role=\"dialog\" align=\"center\" >\n";
    echo "\t<div class=\"modal-dialog\">\n";
    echo "\t\t<div class=\"modal-content\">\n";
    echo "\t\t\t<div id=\"forma-modal\" class=\"modal-header\">\n";
    echo "\t\t\t\t<h4 class=\"modal-title\" style=\"font-size: 24px; padding: 3px;\">Información</h4>\n";
    echo "\t\t\t</div>\n";
    echo "\t\t\t<div class=\"modal-body\" style=\"margin-top: 8px\">\n";
    echo "\t\t\t\t<p>Información guardada correctamente.</p>\n";
    echo "\t\t\t</div>\n";
    echo "\t\t\t<div id=\"forma-modal\" class=\"modal-footer\">\n";
    echo "\t\t\t\t<button type=\"button\" id=\"ver1\" class=\"btn\" style=\"color: #000; margin-top: 2px\" data-dismiss=\"modal\" >Aceptar</button>\n";
    echo "\t\t\t</div>\n";
    echo "\t\t</div>\n";
    echo "\t</div>\n";
    echo "</div>\n";
    echo "<div class=\"modal fade\" id=\"myModal2\" role=\"dialog\" align=\"center\" >\n";
    echo "\t<div class=\"modal-dialog\">\n";
    echo "\t\t<div class=\"modal-content\">\n";
    echo "\t\t\t<div id=\"forma-modal\" class=\"modal-header\">\n";
    echo "\t\t\t\t<h4 class=\"modal-title\" style=\"font-size: 24px; padding: 3px;\">Información</h4>\n";
    echo "\t\t\t</div>\n";
    echo "\t\t\t<div class=\"modal-body\" style=\"margin-top: 8px\">\n";
    echo "\t\t\t\t<p>No se ha podido guardar la información.</p>\n";
    echo "\t\t\t\n</div>";
    echo "\t\t\t<div id=\"forma-modal\" class=\"modal-footer\">\n";
    echo "\t\t\t\t<button type=\"button\" id=\"ver2\" class=\"btn\" style=\"color: #000; margin-top: 2px\" data-dismiss=\"modal\">Aceptar</button>\n";
    echo "\t\t\t</div>\n";
    echo "\t\t</div>\n";
    echo "\t</div>\n";
    echo "</div>\n";
    echo "<link rel=\"stylesheet\" href=\"../css/bootstrap-theme.min.css\">";
    echo "<script src=\"../js/bootstrap.js\"></script>";
    if($result == true){
        echo "\n<script type=\"text/javascript\">";
        echo "\t$(\"#myModal1\").modal('show');\n";
        echo "\t$(\"#ver1\").click(function(){\n";
        echo "\t\t$(\"#myModal1\").modal('hide');\n";
        echo "\t\twindow.history.go(-1)";
        echo "\t});";
        echo "</script>";
    }else{
        echo "<script type=\"text/javascript\">";
        echo "\t$(\"#myModal2\").modal('show');\n";
        echo "\t$(\"#ver2\").click(function(){\n";
        echo "\t\t$(\"#myModal2\").modal('hide');\n";
        echo "\t\twindow.history.go(-1)";
        echo "\t});";
        echo "</script>";
    }
}else if($action == 'modify_detail') {
    $cantidad = $_REQUEST['txtCantidad'];
    $valor = $_REQUEST['txtValor'];
    $valorIva = $_REQUEST['txtValorIva'];
    $id_unico = $_REQUEST['id_unico'];
	$mod=modificarDetalleMov($_REQUEST['txtValor'],$_REQUEST['txtCantidad'], $_REQUEST['txtValorIva'],$id_unico); #AUDITORIA DETALLE
    $result = movimiento::modify_detail($valor, $cantidad, $valorIva, $id_unico);
    echo json_encode($result);
}else if($action == 'delete_detail') {
    $id_unico = $_REQUEST['id'];
	$agr=agregarAuditoriaSistema($id_unico,2,"GF_DETALLE_MOVIMIENTO");
    $result = movimiento::delete_detail($id_unico);
    echo json_encode($result);
}
function eliminarRegistrosAuditoria(){
	global $con;
	$rowId = $con->Listar("SELECT MAX(id_unico) FROM gs_auditoria");
	$Id_max = $rowId[0][0];
	$sql_cons = "DELETE FROM gs_auditoria WHERE id_unico = :id_unico";
    $sql_dato = array(
      array(":id_unico", $Id_max)
    );
    $resp = $con->InAcEl($sql_cons, $sql_dato);
	return $resp;
}