Beispiel #1
0
<?php

$PAGELEVEL = FACTURA;
$AUTH_redirectTo = $NOAU;
pageClearence($PAGELEVEL, $AUTH_redirectTo);
$path = "../";
$data = "";
$facturaController = new FacturaController($path);
$folioController = new FolioController($path);
$sucursalController = new SucursalController($path);
$empresaController = new EmpresaController($path);
$row_empr = $empresaController->execute('all', null);
require_once 'pagn.php';
$nm = "facturas";
$colname_idempresa = base64_decode($_SESSION['idempresa']);
$data = $_GET;
$data['idempresa'] = $colname_idempresa;
$folio = $folioController->execute('soloSerie', $data);
$maxRows_facturas = 20;
$pageNum_facturas = 0;
if (isset($_GET['pageNum_facturas'])) {
    $pageNum_facturas = $_GET['pageNum_facturas'];
}
$startRow_facturas = $pageNum_facturas * $maxRows_facturas;
$data['maxLimit'] = $maxRows_facturas;
$data['minLimit'] = $startRow_facturas;
$factura = $facturaController->execute('presentarFactura', $data);
if ($factura['cantidad'] === 1) {
    $tmp = $factura['respuesta'];
    $factura['respuesta'] = "";
    $factura['respuesta'][0] = $tmp;
<?php

$PAGELEVEL = FOLIOS_ADD;
$AUTH_redirectTo = $NOAU;
pageClearence($PAGELEVEL, $AUTH_redirectTo);
$path = '../';
$folioController = new FolioController($path);
$colname_idempresa = base64_decode($_SESSION['idempresa']);
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
    $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if (isset($_POST["MM_insert"]) && $_POST["MM_insert"] == "form1") {
    $data = $_POST;
    $folioController->execute('newFolio', $data);
    $insertGoTo = "contenido.php?pr=flio";
    header(sprintf("Location: %s", $insertGoTo));
}
?>
<script>
  $(document).ready(function(){
    $("#form1").validate();
  });
</script>
<div id="barr">
  <div class="bari"><a href="contenido.php">Men&uacute; principal</a> :: <a href="contenido.php?pr=flio">Folios</a> :: Agregar folios</div>
</div>

<div id="cont">
<span class="titt">Folios</span>
<!-- Inicia columna izquierda -->
 function getFolio($idempresa, $serie)
 {
     $ROUTETOINCLUDE = '../../../../';
     $folioController = new FolioController($ROUTETOINCLUDE);
     $folioRow = $folioController->execute("maxFolio", array("idempresa" => $idempresa, "serie" => $serie));
     if ($folioRow < 1) {
         return 1;
     } else {
         return $folioRow['respuesta']['maxFolio'] + 1;
     }
 }
<?php

$PAGELEVEL = FOLIOS_EDIT;
$AUTH_redirectTo = $NOAU;
pageClearence($PAGELEVEL, $AUTH_redirectTo);
$colname_idempresa = base64_decode($_SESSION['idempresa']);
$path = '../';
$folioController = new FolioController($path, $path);
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
    $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if (isset($_POST["MM_update"]) && $_POST["MM_update"] == "form1") {
    $data = $_POST;
    $folioController->execute('updateFolio', $data);
    $updateGoTo = "contenido.php?pr=flio";
    header(sprintf("Location: %s", $updateGoTo));
}
$colname_folio = "0";
if (isset($_GET['fl'])) {
    $colname_folio = $_GET['fl'];
}
$data['idfolio'] = $colname_folio;
$folio = $folioController->execute('idFolio', $data);
$row_folio = $folio['respuesta'];
?>
<script>
<!--
  $(document).ready(function(){
	$("#form1").validate();
	
Beispiel #5
0
<?php

$PAGELEVEL = FOLIOS;
$AUTH_redirectTo = $NOAU;
pageClearence($PAGELEVEL, $AUTH_redirectTo);
require_once 'pagn.php';
$path = '../';
$CRITERIO = "";
$folioController = new FolioController($path);
$colname_idempresa = base64_decode($_SESSION['idempresa']);
$data = $_GET;
$data['idempresa'] = $colname_idempresa;
$maxRows_folios = 20;
$pageNum_folios = 0;
if (isset($_GET['pageNum_folios'])) {
    $pageNum_folios = $_GET['pageNum_folios'];
}
$data['maxRows_folios'] = $maxRows_folios;
$data['pageNum_folios'] = $pageNum_folios;
$startRow_folios = $data['pageNum_folios'] * $data['maxRows_folios'];
$data['startRow_folios'] = $startRow_folios;
$row_folio = $folioController->execute('allIdEmpr', $data);
if (isset($_GET['totalRows_folios'])) {
    $totalRows_folios = $_GET['totalRows_folios'];
} else {
    $folioPorEmpresa = $folioController->execute('soloSerie', $data);
    $totalRows_folios = $folioPorEmpresa['cantidad'];
}
$totalPages_folios = ceil($totalRows_folios / $maxRows_folios) - 1;
//$queryString_folios = "as";
if (!empty($_SERVER['QUERY_STRING'])) {
function procesaObjeto($objFact)
{
    require_once dirname(dirname(__FILE__)) . '/Controller/FacturaController.php';
    require_once dirname(dirname(__FILE__)) . '/Controller/FolioController.php';
    try {
        //crea el objeto factura.
        $path = '../';
        $data = "";
        $data['serie'] = $objFact->encabezado->serie;
        $data['folio'] = $objFact->encabezado->folio;
        $data['idempresa'] = $objFact->emisor['idempresa'];
        $data['sucursal'] = $objFact->sucursal['sucursal'];
        //POSIBLEMNTE CORECCION A SEMILLA 20131202
        $facturaController = new FacturaController($path);
        $emiteDocumento = sprintf("<br>emite documento %s%d", $data['serie'], $data['folio']);
        echo $emiteDocumento;
        log_action($emiteDocumento);
        //1.- VALIDA DATOS STANDAR DEL CFD  (función de class.face.php)
        $resultado = validaObjetoCFD($objFact);
        if ($resultado == "OK") {
            $res = null;
            $cfd = null;
            $VERSIONCFD = $objFact->emisor['versioncfd'];
            if ($VERSIONCFD == "3.2") {
                //CHS - 20131112  Calcula el folio y establece una conexion viva, para generar transaccionalidad entre folio, facturas y sus tablas relacionales
                if ($objFact->encabezado->folio === 0) {
                    $folioController = new FolioController($path);
                    $folio = $folioController->execute('idempresaSerie', $data);
                    $data['folio'] = $folio['respuesta']['actual'];
                    $objFact->encabezado->folio = $data['folio'];
                }
                $res = procesaXmlV32($objFact, $cfd);
                //coref5
                if ($res === "-1") {
                    throw new Exception($res);
                }
            } else {
                $msg = "La version del Certificado es incorrecta";
                log_action("procesaObjeto.php: {$msg}");
                throw new Exception($msg);
            }
            $errorMsg = "";
            if (isset($cfd['error'])) {
                $errorMsg = trim($cfd['error']);
            }
            if ($res != 0 || $errorMsg != "") {
                log_action($errorMsg);
                throw new Exception($errorMsg);
            } else {
                log_action("XML Creado.");
                $objFact->cfdi = $cfd;
                if ($objFact->emisor['versioncfd'] == "3.2") {
                    //CFDI: ENVIA PARA TIMBRADO AL PAC.
                    log_action("peticion de timbrado");
                    log_action("serie" . $objFact->encabezado->serie . " " . "folio" . $objFact->encabezado->folio);
                    log_action(print_r($cfd['xmlutf8'], TRUE));
                    $respuesta_PAC = SOAP_client($objFact->emisor['rfc'], base64_encode($cfd['xmlutf8']));
                    log_action(print_r($respuesta_PAC, TRUE));
                    //Checar si respuesta es el certificado timbrado o es un error.
                    if (stristr($respuesta_PAC, 'UUID')) {
                        log_action("timbrado exitoso");
                        $objFact->cfdi['respuestaPac'] = $respuesta_PAC;
                        $factura = $facturaController->execute('facturaTimbrada', $objFact);
                        $msgcfdi = 'CFDI Salvado con exito!';
                        if (!empty($objFact->encabezado->mailEntrega) && $objFact->encabezado->mailEntrega != "") {
                            $objFact->mail = TRUE;
                        } else {
                            $objFact->mail = FALSE;
                        }
                        log_action($msgcfdi);
                        return $factura['respuesta'];
                    } else {
                        if (stristr($respuesta_PAC, 'xml')) {
                            //Viene del PAC.
                            $xmlerror_array = xml2array($respuesta_PAC);
                            $err_codigo = $xmlerror_array['Error_attr']['codigo'];
                            $err_msg = $xmlerror_array['Error_attr']['mensaje'];
                            $msgcfdi = 'en el timbrado: ' . 'Codigo de error: ' . $err_codigo . '  Mensaje: ' . $err_msg;
                            log_action($msgcfdi);
                            throw new Exception($msgcfdi);
                        } else {
                            //Excepci�n generada aqu�, no se pudo conectar al PAC.
                            $msgcfdi = 'Al tratar de enviar comprobante, no se pudo contactar al PAC.';
                            log_action($msgcfdi);
                            throw new Exception($msgcfdi);
                        }
                    }
                }
                //fin valida version
            }
            //fin del else que valida xml
        } else {
            throw new Exception("Estructura Invalida {$resultado}");
        }
        //fin if($resultado=="OK")
        throw new Exception("validacion del Objeto factura " . $resultado);
    } catch (Exception $e) {
        log_action("procesaObjeto :" . $e->getMessage());
        return "Error: " . $e->getMessage();
    }
}