jimmiroblescasanova / contpaqi-laravel
Paquete para conectar las bases de datos SQL de CONTPAQi a Laravel
Fund package maintenance!
Jimmi Robles
Requires
- php: ^8.2
- illuminate/contracts: ^10.0||^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
This package is auto-updated.
Last update: 2025-05-14 19:36:21 UTC
README
Sencillo paquete (aun en desarrollo) para conectar de forma más rapida las bases de datos de una empresa contpaqi comercial a laravel.
La principal caracteristica es facilitar el uso de las tablas del sistema con los metodos de laravel, para (por el momento) leer la información.
Instalación
Para instalar el paquete via composer:
composer require jimmiroblescasanova/contpaqi-laravel
Despues es necesario publicar el archivo de configuración:
php artisan vendor:publish --tag="contpaqi-config"
Una vez exportado el archivo de configuración se requiere definir la conexión a la empresa contpaqi.
Se debe agregar la siguiente información al archivo .env
CONTPAQI_HOST=localhost CONTPAQI_DATABASE=adMI_EMPRESA_COMERCIAL CONTPAQI_USER=sa CONTPAQI_PSW="password"
Usage
Las tablas de comercial estan declaradas como modelos de laravel, con el mismo nombre (ej. admClientes), a la cual existen algunos metodos para obtener la informacion.
Ejemplo de scope para el modelo admClientes:
$clientes = admClientes::all();
admClientes
Los scope para clientes son los siguientes:
Scope | Descripcion |
---|---|
buscarPorCodigo(string $codigo) | Acepta un string con el codigo del cliente |
clientes() | Hace un filtrado de solamente los clientes y cliente-proveedor |
proveedores() | Hace un filtrado de solamente los proveedores y clientes-proveedores |
selectOptions() | Aplica el metodo pluck de laravel para devolver el ID y la Razon social |
Ejemplo de uso:
$select = admClientes::clientes()->selectOptions();
admConceptos
Para obtener la informacion de los conceptos del sistema se tienen las siguientes scope:
Scope | Descripcion |
---|---|
selectOptions() | Aplica el metodo pluck de laravel para devolver el ID y el nombre del concepto |
Y tambien con un par de funciones estaticas que devuelven datos concisos:
Funcion | Devuelve | Descripcion |
---|---|---|
ultimoFolio(int $concepto) | int | Devuelve el ultimo folio usado en el concepto |
findById(int $concepto) | array | Devuelve un array con la informacion del concepto |
admDocumentos
Para el modelo de los documentos, se cuentan con los siguientes scopes y funciones:
Scope | Descripcion |
---|---|
codigoConcepto(string $codigoConcepto) | Devuelve los documentos que pertenezcan al id del concepto indicado |
buscarPorFolio(string|int $folio, string $serie = null) | Realiza la busqueda de un documento en especifico, se requiere un folio y la serie es opcional |
facturas() | Hace un filtrado por todos los documentos con tipo de documento sea Factura |
Funciones:
Funcion | Devuelve | Descripcion |
---|---|---|
getLastId() | int | Devuelve el valor del ultimo id en la base de datos |
Relaciones
Ejemplos de los modelos con algunas relaciones existentes:
$documento = admDocumentos::with('domicilios')->buscarPorFolio('1', 'A')->get();
Nos va a regresar una coleccion de laravel con los datos del documento y sus domicilios asociados.
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.