<?php
#18/05/2017 | ERICA G. | MODIFICACION EGRESO, AÑADIDO TERCERO
#17/05/2017 | ERICA G. | VALIDACION DE RETENCION POR EGRESO O CUENTA POR PAGAR, ELIMINAR CASE 7
#21/03/2017 |ERICA G. | CASE 2 MODIFICAR DIS, FECHA VEN, EGRESO
#13/03/2017 |ERICA G. | CASE 2, MODIFICAR DIS, CASE 4 ELIMINAR DETALLES.
#08/03/2017 |ERICA G. | MODIFICACION EGRESO
#Modificado 10/02/2017 09:32 Ferney Pérez // Case 1: Modificacda consulta. Se eliminó el group by.
#Modificado 07/02/2017 15:11 Ferney Pérez
#Modificado 26/01/2017 12:52 Ferney Pérez
require_once('Conexion/ConexionPDO.php');
$con = new ConexionPDO();
session_start();

$estruc = $_REQUEST['estruc'];
$conexion = $_SESSION['conexion'];
switch ($estruc) {
        ####BUSCA AFECTACIONES DEL COMPROBANTE#####
    case 1:
        $id_com = $_REQUEST['id_com'];
        $num = 0;

        $rowBA = $con->Listar("SELECT COUNT(cps.id_unico) 
					FROM gf_comprobante_pptal cp
					LEFT JOIN gf_detalle_comprobante_pptal dcp ON dcp.comprobantepptal = cp.id_unico
					LEFT JOIN gf_detalle_comprobante_pptal dcps ON dcps.comprobanteafectado = dcp.id_unico
					LEFT JOIN gf_comprobante_pptal cps ON dcps.comprobantepptal = cps.id_unico
					WHERE cp.id_unico = $id_com");
        $num = (int)$rowBA[0][0];
        echo $num;
        break;
        #####MODIFICAR DISPONIBILIDAD######
    case 2:
        $id_com = $_REQUEST['id_com'];
        $descripcion = $_REQUEST['descripcion'];
        $fecha = $_REQUEST['fecha'];
        if ($conexion == 1) {
            $fecha = trim($fecha, '"');
            $fecha_div = explode("/", $fecha);
            $dia = $fecha_div[0];
            $mes = $fecha_div[1];
            $anio = $fecha_div[2];
            $fecha = $anio . '-' . $mes . '-' . $dia;
        }


        $fechaVen = $_REQUEST['fechaVen'];

        if ($conexion == 1) {
            $fechaVen = trim($fechaVen, '"');
            $fecha_divV = explode("/", $fechaVen);
            $diaV = $fecha_divV[0];
            $mesV = $fecha_divV[1];
            $anioV = $fecha_divV[2];
            $fechaV = $anioV . '-' . $mesV . '-' . $diaV;
        } else {
            $fechaV = $fechaVen;
        }

        $id_com = $_REQUEST['id_com'];
        $num = 0;

        $rowBA = $con->Listar("SELECT COUNT(cps.id_unico) 
					FROM gf_comprobante_pptal cp
					LEFT JOIN gf_detalle_comprobante_pptal dcp ON dcp.comprobantepptal = cp.id_unico
					LEFT JOIN gf_detalle_comprobante_pptal dcps ON dcps.comprobanteafectado = dcp.id_unico
					LEFT JOIN gf_comprobante_pptal cps ON dcps.comprobantepptal = cps.id_unico
					WHERE cp.id_unico = $id_com");
        // $buscarAfectacion = $mysqli->query($sqlBuscarAfec);
        // $rowBA = mysqli_fetch_row($buscarAfectacion);
        $num = (int)$rowBA[0][0];
        if ($num > 0) {
            // $updateComPtal = "UPDATE gf_comprobante_pptal 
            //                 SET descripcion = $descripcion, fecha ='$fecha' , fechavencimiento='$fechaV' 
            //                 WHERE id_unico = " . $id_com;
            $sql_cons = "UPDATE gf_comprobante_pptal 
            SET descripcion=:descripcion,fecha=:fecha,fechavencimiento=:fechaV
            WHERE id_unico=:id_com";
            $sql_dato = array(
                array(":descripcion", $descripcion),
                array(":fecha", $fecha),
                array(":fechaV", $fechaV),
                array(":id_com", $id_com),
            );
        } else {
            if (empty($_REQUEST['tercero'])) {
                // $updateComPtal = "UPDATE gf_comprobante_pptal 
                //             SET descripcion = $descripcion, fecha ='$fecha' , fechavencimiento='$fechaV' 
                //             WHERE id_unico = " . $id_com;
                $sql_cons = "UPDATE gf_comprobante_pptal 
                SET descripcion=:descripcion,fecha=:fecha,fechavencimiento=:fechaV
                WHERE id_unico=:id_com";
                $sql_dato = array(
                    array(":descripcion", $descripcion),
                    array(":fecha", $fecha),
                    array(":fechaV", $fechaV),
                    array(":id_com", $id_com),
                );
            } else {
                // $updateComPtal = "UPDATE gf_comprobante_pptal 
                //             SET descripcion = $descripcion, fecha ='$fecha' , 
                //             tercero =" . $_REQUEST['tercero'] . ", fechavencimiento='$fechaV' 
                //             WHERE id_unico = " . $id_com;
                $sql_cons = "UPDATE gf_comprobante_pptal 
                SET descripcion=:descripcion,fecha=:fecha,tercero=:tercero,fechavencimiento=:fechaV
                WHERE id_unico=:id_com";
                $sql_dato = array(
                    array(":descripcion", $descripcion),
                    array(":fecha", $fecha),
                    array(":tercero", $_REQUEST['tercero']),
                    array(":fechaV", $fechaV),
                    array(":id_com", $id_com),
                );
            }
            if (!empty($_REQUEST['responsable'])) {
                // $updateComPtalR = "UPDATE gf_comprobante_pptal 
                //             SET responsable = " . $_REQUEST['responsable'] . " 
                //             WHERE id_unico = " . $id_com;
                // $resultadoUpComR = $mysqli->query($updateComPtalR);
                $sql_cons1 = "UPDATE gf_comprobante_pptal 
                SET responsable=:responsable
                WHERE id_unico=:id_com";
                $sql_dato1 = array(
                    array(":responsable", $_REQUEST['responsable']),
                    array(":id_com", $id_com),
                );
                $obj_resp1 = $con->InAcEl($sql_cons, $sql_dato);
            }
        }
        //echo $updateComPtal;
        // $resultadoUpCom = $mysqli->query($updateComPtal);
        $obj_resp = $con->InAcEl($sql_cons, $sql_dato);
        if (empty($obj_resp)) {
            // $updateDetComPtal = "UPDATE gf_detalle_comprobante_pptal SET descripcion =$descripcion 
            // 		WHERE comprobantepptal = " . $id_com;
            // $resultadoUpDet = $mysqli->query($updateDetComPtal);
            $sql_cons = "UPDATE gf_detalle_comprobante_pptal 
            SET descripcion=:descripcion
            WHERE comprobantepptal=:comprobantepptal";
            $sql_dato = array(
                array(":descripcion", $descripcion),
                array(":comprobantepptal", $id_com),
            );
            $obj_resp = $con->InAcEl($sql_cons, $sql_dato);
            if (empty($obj_resp)) {
                echo 1;
            } else {
                echo 2;
            }
        } else {
            echo 2;
        }
        break;
        ######MODIFICAR REGISTRO#####
    case 3:
        $id_com = $_REQUEST['id_com'];
        $fecha = $_REQUEST['fecha'];
        $fechaVen = $_REQUEST['fechaVen'];
        $descripcion = $_REQUEST['descripcion'];
        if (empty($_REQUEST['ncontrato']) || $_REQUEST['ncontrato'] == '') {
            $ncontrato = NULL;
        } else {
            $ncontrato = $_REQUEST['ncontrato'];
        }
        if (empty($_REQUEST['clase']) || $_REQUEST['clase'] == '') {
            $clase = NULL;
        } else {
            $clase = $_REQUEST['clase'];
        }

        if ($conexion == 1) {
            #FECHA#
            $fecha_div1 = explode("/", $fecha);
            $anio1 = $fecha_div1[0];
            $mes1 = $fecha_div1[1];
            $dia1 = $fecha_div1[2];
            $fecha = $dia1 . "/" . $mes1 . "/" . $anio1;

            #FECHA VEN#
            $fecha_div = explode("/", $fechaVen);
            $anio = $fecha_div[0];
            $mes = $fecha_div[1];
            $dia = $fecha_div[2];
            $fechaVen = $dia . "/" . $mes . "/" . $anio;
        }


        if (!empty($_REQUEST['tercero'])) {
            $tercero = $_REQUEST['tercero'];
            // $updateComPtal = "UPDATE gf_comprobante_pptal 
            //                 SET descripcion = '$descripcion', tercero = $tercero, fecha = '$fecha', "
            //     . "fechavencimiento = '$fechaVen', numerocontrato ='$ncontrato', clasecontrato='$clase' 
            //                 WHERE id_unico = " . $id_com;
            // $resultadoUpCom = $mysqli->query($updateComPtal);
            $sql_cons = "UPDATE gf_comprobante_pptal 
            SET descripcion=:descripcion,tercero=:tercero,fecha=:fecha,fechavencimiento=:fechaVen,numerocontrato=:ncontrato,clasecontrato=:clase
            WHERE id_unico=:id_unico";
            $sql_dato = array(
                array(":descripcion", $descripcion),
                array(":tercero", $tercero),
                array(":fecha", $fecha),
                array(":fechaVen", $fechaVen),
                array(":ncontrato", $ncontrato),
                array(":clase", $clase),
                array(":id_unico", $id_com),
            );
            $obj_resp = $con->InAcEl($sql_cons, $sql_dato);
            if (empty($obj_resp)) {
                // $updateDetComPtal = "UPDATE gf_detalle_comprobante_pptal SET descripcion ='$descripcion' , "
                //     . "tercero = '$tercero' WHERE comprobantepptal = " . $id_com;
                // $resultadoUpDet = $mysqli->query($updateDetComPtal);
                $sql_cons = "UPDATE gf_detalle_comprobante_pptal 
                SET descripcion=:descripcion,tercero=:tercero
                WHERE comprobantepptal=:id_com";
                $sql_dato = array(
                    array(":descripcion", $descripcion),
                    array(":tercero", $tercero),
                    array(":id_com", $id_com),
                );
                $obj_resp = $con->InAcEl($sql_cons, $sql_dato);
                if (empty($obj_resp)) {
                    echo 1;
                } else {
                    echo 2;
                }
            } else {
                echo 2;
            }
        } else {
            // $updateComPtal = "UPDATE gf_comprobante_pptal 
            //                 SET descripcion = '$descripcion'  
            //                 WHERE id_unico = " . $id_com;
            // $resultadoUpCom = $mysqli->query($updateComPtal);
            $sql_cons = "UPDATE gf_comprobante_pptal 
            SET descripcion=:descripcion
            WHERE id_unico=:id_com";
            $sql_dato = array(
                array(":descripcion", $descripcion),
                array(":id_com", $id_com),
            );
            if (empty($obj_resp)) {
                // $updateDetComPtal = "UPDATE gf_detalle_comprobante_pptal SET descripcion ='$descripcion' "
                //     . "WHERE comprobantepptal = " . $id_com;
                // $resultadoUpDet = $mysqli->query($updateDetComPtal);
                $sql_cons = "UPDATE gf_detalle_comprobante_pptal 
                SET descripcion=:descripcion
                WHERE comprobantepptal=:id_com";
                $sql_dato = array(
                    array(":descripcion", $descripcion),
                    array(":id_com", $id_com),
                );
                $obj_resp = $con->InAcEl($sql_cons, $sql_dato);
                if (empty($obj_resp)) {
                    echo 1;
                } else {
                    echo 2;
                }
                echo 1;
            } else {
                echo 2;
            }
        }
        break;
    case 4:
        #######ELIMINAR DETALLES PPTALES DISPONIBILIDAD Y REGISTRO#######
        $id_com = $_REQUEST['id_com'];
        $sesion = $_REQUEST['sesion'];
        $numDet = $_REQUEST['numDet'];

        $sesion_array = explode("|", $sesion);

        if ($numDet != 0) {
            $compMov = $con->Listar("SELECT id_unico FROM gf_detalle_comprobante_pptal  WHERE comprobantepptal = $id_com");
            if (count($compMov) > 0) {
                for ($row = 0; $row < count($compMov); $row++) {
                    ###ELIMINAR DETALLES MOV###
                    $idMov = $compMov;
                    // $deleteMov = "DELETE
                    // FROM gf_detalle_comprobante_mov 
                    // WHERE comprobantepptal = " . $row[0];
                    // $deleteMov = $mysqli->query($deleteMov);
                    $sql_cons = "DELETE FROM gf_detalle_comprobante_mov WHERE comprobantepptal=:comprobantepptal";
                    $sql_dato = array(
                        array(":comprobantepptal", $compMov[$row][0])
                    );
                    $resp = $con->InAcEl($sql_cons, $sql_dato);
                    ###########################
                }
            }
            ####ELIMINAR DETALLES######

            // $deleteDetallPtal = 'DELETE
            // FROM gf_detalle_comprobante_pptal 
            // WHERE comprobantepptal = ' . $id_com;
            // $resultadoDelDet = $mysqli->query($deleteDetallPtal);
            $sql_cons = "DELETE FROM gf_detalle_comprobante_pptal WHERE comprobantepptal=:comprobantepptal";
            $sql_dato = array(
                array(":comprobantepptal", $id_com)
            );
            $resp = $con->InAcEl($sql_cons, $sql_dato);
            ###########################
        }

        if (empty($resp)) {
            echo 1;
        } else {
            echo 0;
        }
        break;
        #########MODIFICAR EGRESO############
    case 5:
        $id_com = $_REQUEST['id_com'];
        $fecha = $_REQUEST['fecha'];
        $fecha_div = explode("/", $fecha);
        $dia = $fecha_div[0];
        $mes = $fecha_div[1];
        $anio = $fecha_div[2];
        $tercero = $_REQUEST['tercero'];
        $formaP = $_REQUEST['formaP'];
        if (empty($_REQUEST['descripcion'])) {
            $descripcion = "NULL";
        } else {
            $descripcion = $_REQUEST['descripcion'] . "'";
        }
        $fecha = $anio . "-" . $mes . "-" . $dia;
        $cnt = $_REQUEST['cnt'];
        $updateComPtal = "UPDATE gf_comprobante_pptal 
          SET fecha = '$fecha' , descripcion =$descripcion, tercero =$tercero "
            . "WHERE id_unico = " . $id_com;
        $resultadoUpCom = $mysqli->query($updateComPtal);
        if ($resultadoUpCom == TRUE) {
            $updateComPtal = "UPDATE gf_detalle_comprobante_pptal 
          SET  descripcion =$descripcion, tercero =$tercero WHERE comprobantepptal = " . $id_com;
            $resultadoUpCom = $mysqli->query($updateComPtal);

            if (!empty($_REQUEST['cnt'])) {
                $updateComc = "UPDATE gf_comprobante_cnt
                SET fecha = '$fecha', descripcion =$descripcion,tercero =$tercero,formapago = $formaP WHERE id_unico = " . $cnt;
                $resultadoUpCnt = $mysqli->query($updateComc);
                $updateDetCnt = "UPDATE gf_detalle_comprobante SET fecha = '$fecha' 
            WHERE comprobante = " . $cnt;
                $resultadoUpDetcnt = $mysqli->query($updateDetCnt);
            }
            echo 1;
        } else {
            echo 2;
        }
        break;
        #########ELIMINAR DETALLES EGRESO########## 
    case 6:

        if (!empty($_REQUEST['idcnt'])) {

            $idcnt = $_REQUEST['idcnt'];
            $buscarcnt = "SELECT id_unico FROM gf_detalle_comprobante WHERE comprobante =$idcnt";
            $buscarcnt = $mysqli->query($buscarcnt);
            if (mysqli_num_rows($buscarcnt)) {
                while ($row1C = mysqli_fetch_row($buscarcnt)) {
                    $delDeMovC = "DELETE FROM gf_detalle_comprobante_mov WHERE comprobantecnt = '$row1C[0]'";
                    $delDeMovC = $mysqli->query($delDeMovC);
                    $delDetcnt = "DELETE FROM gf_detalle_comprobante WHERE id_unico = '$row1C[0]'";
                    $delDetcnt = $mysqli->query($delDetcnt);
                }
            }
            ##ELIMINAR RETENCIONES
            $delret = "DELETE FROM gf_retencion WHERE comprobante = '$idcnt'";
            $delret = $mysqli->query($delret);
            ##ELIMINAR COMPROBANTE
            $delcnt1 = "DELETE FROM gf_comprobante_cnt WHERE id_unico = '$idcnt'";
            $delcnt = $mysqli->query($delcnt1);
        }
        if (!empty($_REQUEST['idpptal'])) {
            $idcnt = $_REQUEST['idpptal'];
            $buscarcnt = "SELECT id_unico FROM gf_detalle_comprobante_pptal WHERE comprobantepptal =$idcnt";
            $buscarcnt = $mysqli->query($buscarcnt);
            if (mysqli_num_rows($buscarcnt)) {
                while ($row1C = mysqli_fetch_row($buscarcnt)) {
                    $delDetcnt = "DELETE FROM gf_detalle_comprobante_pptal WHERE id_unico = '$row1C[0]'";
                    $delDetcnt = $mysqli->query($delDetcnt);
                }
            }
        }

        echo $delcnt;
        break;
    case 7:
        $egp = $_REQUEST['idpptalE'];
        $te = "SELECT id_unico, numero, tipocomprobante, fecha, descripcion,numerocontrato, "
            . "parametrizacionanno,clasecontrato, tercero,estado,responsable "
            . "FROM gf_comprobante_pptal "
            . "WHERE id_unico =$egp";
        $te = $mysqli->query($te);
        $te = mysqli_fetch_row($te);
        $id = $te[0];
        $numero = $te[1];
        $tipo = $te[2];
        $fecha = $te[3];
        if (empty($te[4])) {
            $descripcion = NULL;
        } else {
            $descripcion = '"' . $te[4] . '"';
        }
        if (empty($te[5])) {
            $numerocontrato = NULL;
        } else {
            $numerocontrato = '"' . $te[5] . '"';
        }

        if (empty($te[7])) {
            $clasecontrato = NULL;
        } else {
            $clasecontrato = '"' . $te[7] . '"';
        }

        $parametrizacion = $te[6];
        $tercero = $te[8];
        $estado = $te[9];
        $compania = $_SESSION['compania'];

        ###INSERTAR COMPROBANTE CNT#####
        ###BUSCAR TIPÓ CNT ###
        $tipoc = "SELECT id_unico FROM gf_tipo_comprobante WHERE comprobante_pptal = $tipo";
        $tipoc = $mysqli->query($tipoc);
        $tipoc = mysqli_fetch_row($tipoc);
        $tipoc = $tipoc[0];

        $insertc = "INSERT INTO gf_comprobante_cnt (numero, fecha, "
            . "descripcion, valorbase, valorbaseiva, valorneto, numerocontrato,"
            . "tipocomprobante, compania, parametrizacionanno, tercero, estado, "
            . "clasecontrato, formapago) "
            . "VALUES ('$numero', '$fecha', "
            . "$descripcion, 0,0,0, $numerocontrato, "
            . "$tipoc, $compania, $parametrizacion, $tercero, 1, "
            . "$clasecontrato, NULL)";
        $insertc = $mysqli->query($insertc);
        if ($insertc == true) {
            $sqlUltComC      = "SELECT MAX(id_unico) FROM gf_comprobante_cnt "
                . "WHERE tipocomprobante = $tipoc AND numero =$numero ";
            $ultComC         = $mysqli->query($sqlUltComC);
            $rowUC           = mysqli_fetch_row($ultComC);
            $ultimoComproCnt = $rowUC[0];
            ####CONSULTAR LA CUENTA POR PAGAR#####
            $cxp = "SELECT DISTINCT
                        dccxp.comprobante
                      FROM
                        gf_detalle_comprobante_pptal dcp
                      LEFT JOIN
                        gf_detalle_comprobante_pptal dcxp ON dcp.comprobanteafectado = dcxp.id_unico
                      LEFT JOIN
                        gf_detalle_comprobante dccxp ON dccxp.detallecomprobantepptal = dcxp.id_unico
                      WHERE
                        dcp.comprobantepptal =$egp";
            $cxp = $mysqli->query($cxp);
            if (mysqli_num_rows($cxp) > 0) {
                while ($row1 = mysqli_fetch_row($cxp)) {
                    $id_comp_cnt = $row1[0];
                    // Selección de los datos  del comprobante cnt de cuenta por pagar para REQUESTerior inserción en gf_comprobante_cnt como egreso.
                    $sqlDetCom       = "SELECT detCom.id_unico, detCom.valor, detCom.proyecto, 
                               detCom.cuenta, detCom.naturaleza, detCom.centrocosto, detCom.detallecomprobantepptal, 
                               detCom.tercero 
                                FROM gf_detalle_comprobante detCom 
                                LEFT JOIN gf_comprobante_cnt com ON com.id_unico = detCom.comprobante 
                                LEFT JOIN gf_cuenta CT ON detCom.cuenta = CT.id_unico 
                                LEFT JOIN gf_clase_cuenta clacu ON clacu.id_unico = CT.clasecuenta 
                                WHERE ( com.id_unico = $id_comp_cnt and clacu.id_unico = 4) 
                                OR ( com.id_unico = $id_comp_cnt and clacu.id_unico = 8)";
                    $detComp         = $mysqli->query($sqlDetCom);
                    while ($rowDC = mysqli_fetch_row($detComp)) {
                        $terdeta                 = $rowDC[7];
                        $valor                   = $rowDC[1];
                        $valor                   = $valor * -1;
                        $proyecto                = $rowDC[2];
                        $cuenta                  = $rowDC[3];
                        $naturaleza              = $rowDC[4];
                        $centrocosto             = $rowDC[5];
                        $detallecomprobantepptal = $rowDC[6];
                        //var_dump(empty($rowDC[6]));
                        if (empty($rowDC[6])) {
                            $detallecomprobantepptal = NULL;
                        } //empty($rowDC[6])
                        ##DETALLE CNT AFECTADO##
                        $afec = "SELECT id_unico FROM gf_detalle_comprobante " . "WHERE comprobante ='$id_comp_cnt' AND cuenta = '$cuenta' AND valor = $rowDC[1]";
                        $afec = $mysqli->query($afec);
                        if (mysqli_num_rows($afec) > 0) {
                            $afec = mysqli_fetch_row($afec);
                            $afec = $afec[0];
                        } //mysqli_num_rows($afec) > 0
                        else {
                            $afec = NULL;
                        }
                        if (empty($descripcion)) {
                            $descripcion = NULL;
                        } //empty($descripcion)
                        $sqlDetComCntSal    = "INSERT INTO gf_detalle_comprobante (descripcion, fecha, valor, valorejecucion, comprobante, 
                                    cuenta, naturaleza, tercero, proyecto, centrocosto,  detalleafectado, detallecomprobantepptal )  
                                                        VALUES($descripcion, '$fecha', $valor, $valor, $ultimoComproCnt, $cuenta, $naturaleza, " . "$terdeta, $proyecto, $centrocosto,$afec, $detallecomprobantepptal )";
                        $resultadoDetComCnt = $mysqli->query($sqlDetComCntSal);
                    } //$rowDC = mysqli_fetch_row($detComp)
                }
                $_SESSION['idCompCnt']           = $ultimoComproCnt;
                $res                             = $ultimoComproCnt;
                //AGREGADO ERICA
                $_SESSION['idCompCnt']           = $ultimoComproCnt;
                $_SESSION['cntEgreso']           = $ultimoComproCnt;
                $_SESSION['id_comp_pptal_GE']    = $egp;
                $_SESSION['nuevo_GE']            = 1;
                $_SESSION['terceroGuardado']     = $tercero;
                $_SESSION['comprobanteGenerado'] = $ultimoComproCnt;
                $_SESSION['idCompCntV']          = $ultimoComproCnt;
                $resultado = 1;
            } else {
                $resultado = 1;
            }
        } else {
            $resultado = 2;
        }
        echo $resultado;

        break;
    case 8:
        $usuario = $_SESSION['usuario'];
        if ($conexion == 1) {
            $fechaElab = date('Y-m-d');
        } else {
            $fechaElab = date('d/m/Y');
        }

        if (empty($_SESSION['agregar_ER']) || $_SESSION['agregar_ER'] != 3) {

            //Captura de datos e instrucción SQL para su inserción en la tabla gf_comprobante_pptal
            $idAnteriorComprobante  = $_REQUEST['idComPtal'];

            if (empty($_REQUEST['noDisponibilidad']) || $_REQUEST['noDisponibilidad'] == ' ') {
                $numero = NULL;
            } else {
                $numero   = $_REQUEST['noDisponibilidad'];
            }
            $fecha  = $_REQUEST['fecha'];
            $fechaVen  = $_REQUEST['fechaVen'];
            $descripcion = $_REQUEST['descripcion'];
            $estado = $_REQUEST['estado'];
            $tipocomprobante = $_REQUEST['tipoComPtal'];

            $claseContrato = $_REQUEST['claseCont'];
            $tercero = $_REQUEST['terceroB'];
            $numeroContrato = $_REQUEST['noContrato'];

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

                $fecha = $anio . $mes . $dia;
            }


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

                $fechaVen = $anio . $mes . $dia;
            }

            $compania = $_SESSION['compania'];
            $row = $con->Listar("SELECT id_unico FROM gf_tercero WHERE numeroidentificacion = '9999999999' AND compania = $compania");
            $responsable = $row[0][0];

            $parametroAnno = $_SESSION['anno'];

            if ($descripcion == '""') {
                $sql_cons  = "INSERT INTO gf_comprobante_pptal (numero, fecha, fechavencimiento, 
                              parametrizacionanno, tipocomprobante, tercero, estado, responsable, clasecontrato, 
                              numerocontrato,usuario, fecha_elaboracion) 
                VALUES (:numero,:fecha,:fechaVen,:parametroAnno,:tipocomprobante,:tercero,:estado,:responsable,:claseContrato,:numeroContrato
                ,:usuario,:fechaElab)";
                $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),
                    array(":claseContrato", $claseContrato),
                    array(":numeroContrato", $numeroContrato),
                    array(":usuario", $usuario),
                    array(":fechaElab", $fechaElab),
                );
            } else {
                $sql_cons  = "INSERT INTO gf_comprobante_pptal (numero, fecha, fechavencimiento, descripcion,
                              parametrizacionanno, tipocomprobante, tercero, estado, responsable,clasecontrato, 
                              numerocontrato,usuario,fecha_elaboracion) 
                VALUES (:numero,:fecha,:fechaVen,:descripcion,:parametroAnno,:tipocomprobante,:tercero,:estado,:responsable,:claseContrato,:numeroContrato
                ,:usuario,:fechaElab)";
                $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),
                    array(":claseContrato", $claseContrato),
                    array(":numeroContrato", $numeroContrato),
                    array(":usuario", $usuario),
                    array(":fechaElab", $fechaElab),
                );
            }
            $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");
                $idNuevoComprobante = $rowUC[0][0];
                $comprobante = $idNuevoComprobante;
                $disponibilidad = $idAnteriorComprobante;
                $resultado1 = $con->Listar("SELECT descripcion, valor, 
                rubrofuente,
                tercero, 
                proyecto, 
                id_unico, 
                conceptorubro, centro_costo  
                FROM gf_detalle_comprobante_pptal 
                where comprobantepptal =$disponibilidad");

                for ($row = 0; $row < count($resultado1); $row++) {
                    $valorRep = 0;
                    ################VALOR DISPONIBLE##########
                    $totalSaldDispo = 0;

                    if ($conexion == 1) {
                        $valorRep += $resultado1[$row][1];
                    } else {
                        $va = str_replace(',', '.', $resultado1[$row][1]);
                        $valorRep += $va;
                    }
                    $saldo = 0;
                    ########AFECTACIONES A DISPONBILIDAD#########
                    $afec = $con->Listar("SELECT tc.tipooperacion, dc.valor, dc.id_unico FROM gf_detalle_comprobante_pptal dc 
                      LEFT JOIN gf_comprobante_pptal cp On dc.comprobantepptal = cp.id_unico 
                      LEFT JOIN gf_tipo_comprobante_pptal tc ON cp.tipocomprobante = tc.id_unico 
                      WHERE dc.comprobanteafectado = " . $resultado1[$row][5] . "");
                    for ($row2 = 0; $row2 < count($afec); $row2++) {
                        $val = $afec[$row2][1];
                        if ($conexion == 2) {
                            $val = str_replace(',', '.',  $afec[$row2][1]);
                        }
                        if ($afec[$row2][0] == 2) {
                            $valorRep += $val;
                        } elseif ($afec[$row2][0] == 1) {
                            $valorRep -= $val;
                            ########AFECTACIONES A REGISTRO#########
                            $afecR = $con->Listar("SELECT tc.tipooperacion, dc.valor FROM gf_detalle_comprobante_pptal dc 
                                  LEFT JOIN gf_comprobante_pptal cp On dc.comprobantepptal = cp.id_unico 
                                  LEFT JOIN gf_tipo_comprobante_pptal tc ON cp.tipocomprobante = tc.id_unico 
                                  WHERE tc.tipooperacion !=1 AND dc.comprobanteafectado = " . $afec[$row2][2] . "");

                            if (count($afecR) > 0) {
                                for ($row2R = 0; $row2R < count($afecR); $row2R++) {
                                    $valor = $afecR[$row2R][1];
                                    if ($conexion == 2) {
                                        $valor = str_replace(',', '.', $afecR[$row2R][1]);
                                    }
                                    if ($afecR[$row2R][0] == 2) {
                                        $valorRep -= $valor;
                                    } elseif ($afecR[$row2R][0] == 3) {
                                        $valorRep += $valor;
                                    }
                                }
                            }
                        } elseif ($afec[$row2][0] == 3) {
                            $valorRep -= $val;
                        }
                    }
                    $totalSaldDispo += $valorRep;
                    $valor = $valorRep;
                    if ($conexion == 2) {
                        $v1 = str_replace('.', ',', $valorRep);
                        $valor = $v1;
                        $totalSaldDispo = $v1;
                    }
                    ####################################################
                    if ($valor > 0) {
                        $datos = $con->Listar("SELECT descripcion, tercero FROM gf_comprobante_pptal WHERE id_unico =$comprobante");

                        if ($resultado1[$row][1] > 0) {
                            if (count($datos) > 0) {
                                if (empty($datos[0][1])) {
                                    $tercero = $resultado1[$row][3];
                                } else {
                                    $tercero = $datos[0][1];
                                }
                                if (empty($datos[0][0])) {
                                    $descripcion = $resultado1[$row][0];
                                } else {
                                    $descripcion = $datos[0][0];
                                }
                            } else {
                                $descripcion = $resultado1[$row][0];
                                $tercero = $resultado1[$row][3];
                            }

                            $rubro = $resultado1[$row][2];
                            $proyecto = $resultado1[$row][4];
                            $idAfectado = $resultado1[$row][5];
                            $conceptorubro = $resultado1[$row][6];
                            $var = 0;
                            $centro_costo = $resultado1[$row][7];
                            $sql_cons  = "INSERT INTO gf_detalle_comprobante_pptal (valor,descripcion,
                                        comprobantepptal, rubrofuente, tercero, proyecto, comprobanteafectado, conceptorubro, centro_costo) 
                            VALUES (:valor,:descripcion,:comprobante,:rubro,:tercero,:proyecto,:idAfectado,:conceptorubro
                            ,:centro_costo)";
                            $sql_dato = array(
                                array(":valor", $valor),
                                array(":descripcion", $descripcion),
                                array(":comprobante", $comprobante),
                                array(":rubro", $rubro),
                                array(":tercero", $tercero),
                                array(":proyecto", $proyecto),
                                array(":idAfectado", $idAfectado),
                                array(":conceptorubro", $conceptorubro),
                                array(":centro_costo", $centro_costo),
                            );
                            $obj_resp = $con->InAcEl($sql_cons, $sql_dato);
                        } else {
                            $resultado = false;
                        }
                    }
                }

                $_SESSION['id_comp_pptal_ER'] = $idNuevoComprobante;
                $_SESSION['nuevo_ER'] = 1;
                if (empty($obj_resp)) {
                    echo 1;
                } else {
                    echo 2;
                }
            }
        } elseif ($_SESSION['agregar_ER'] == 3) //En caso de tener un comprobante vacía y se vaya a insertar el detalle de un comprobante seleccionado.
        {
            $tercero = $_REQUEST['terceroB'];
            $comprobantepptal = $_SESSION['id_comp_pptal_ER'];
            $detalleComprobante = $_SESSION['id_comp_pptal_ER_Detalle'];

            $sql_cons = "UPDATE gf_comprobante_pptal 
            SET tercero=:tercero
            WHERE id_unico=:id_unico";
            $sql_dato = array(
                array(":tercero", $tercero),
                array(":id_unico", $comprobantepptal),
            );
            $obj_resp = $con->InAcEl($sql_cons, $sql_dato);

            $resultado = $con->Listar("SELECT detComP.descripcion, detComP.valor, detComP.rubrofuente, detComP.tercero, detComP.proyecto, detComP.id_unico, detComP.conceptorubro  
            FROM gf_detalle_comprobante_pptal detComP
            where detComP.comprobantepptal = $detalleComprobante");

            for ($row = 0; $row < count($resultado); $row++) {
                $saldDisp = 0;
                $totalAfec = 0;
                $detAfec = $con->Listar("SELECT valor   
                FROM gf_detalle_comprobante_pptal   
                WHERE comprobanteafectado = " . $resultado[$row][5] . "");
                $totalAfe = 0;
                for ($rowDtAf = 0; $rowDtAf < count($detAfec); $rowDtAf++) {
                    $totalAfec += $detAfec[$rowDtAf][0];
                    if ($compania == 2) {
                        $v  = str_replace(',', '.', $detAfec[$rowDtAf][0]);
                        $totalAfec += $v;
                    }
                }

                $saldDisp = $resultado[$row][1] - $totalAfec;
                $valorPpTl = $saldDisp;

                if ($valorPpTl > 0) {

                    $descripcion = $row[0];

                    $valor = $valorPpTl;
                    $rubro = $resultado[$row][2];
                    $proyecto = $resultado[$row][4];
                    $idAfectado = $resultado[$row][5];
                    $conceptorubro = $resultado[$row][6];

                    $campo = "";
                    $variable = "";
                    if (($descripcion != '""') && ($descripcion != NULL)) {
                        $campo = "descripcion,";
                        $variable = "$descripcion";
                    } else {
                        $campo = "descripcion";
                        $variable = NULL;
                    }
                    $sql_cons  = "INSERT INTO gf_detalle_comprobante_pptal ($campo valor, comprobantepptal, rubrofuente, tercero, 
                    proyecto, comprobanteafectado, conceptorubro) 
                    VALUES (:variable,:valor,:comprobantepptal,:rubro,:tercero,:proyecto,:idAfectado,:conceptorubro)";
                    $sql_dato = array(
                        array(":nombre", $nombre),
                        array(":tipoC", $tipoC),
                        array(":banco", $banco),
                        array(":compania", $compania),
                        array(":retencion", $retencion),
                    );
                    $obj_resp = $con->InAcEl($sql_cons, $sql_dato);
                }
            }

            $_SESSION['id_comp_pptal_ER'] = $comprobantepptal;
            $_SESSION['id_comp_pptal_ER_Detalle'] = '';
            $_SESSION['nuevo_ER'] = 1;
            $_SESSION['agregar_ER'] = "";
            if (empty($obj_resp)) {
                echo 1;
            } else {
                echo 2;
            }
        }
        break;
}
