diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index c03ff4c6..7063dd03 100644 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -758,6 +758,7 @@ $routes->group('pedidos', ['namespace' => 'App\Controllers\Pedidos'], function ( $routes->get('xml/(:num)', 'Pedido::get_xml_pedido/$1', ['as' => 'getXMLPedido']); $routes->post('produccion/(:num)', 'Pedido::to_produccion/$1', ['as' => 'toProduccion']); $routes->get('pedidosCliente', 'Pedido::tablaClienteForm'); + $routes->get('getSumCliente/(:num)', 'Pedido::obtenerTotalPedidosCliente/$1'); }); $routes->resource('pedidos', ['namespace' => 'App\Controllers\Pedidos', 'controller' => 'Pedido', 'except' => 'show,new,create,update']); diff --git a/ci4/app/Controllers/Pedidos/Pedido.php b/ci4/app/Controllers/Pedidos/Pedido.php index 84c843e1..14c6defe 100755 --- a/ci4/app/Controllers/Pedidos/Pedido.php +++ b/ci4/app/Controllers/Pedidos/Pedido.php @@ -10,6 +10,7 @@ use App\Services\PedidoXMLService; use App\Services\ProductionService; use Hermawan\DataTables\DataTable; use CodeIgniter\I18n\Time; +use Error; class Pedido extends \App\Controllers\BaseResourceController { @@ -441,6 +442,29 @@ class Pedido extends \App\Controllers\BaseResourceController return $result->toJson(returnAsObject: true) ; } + public function obtenerTotalPedidosCliente($cliente_id){ + + $error = false; + $result = [ + 'total_impresion' => 0, + 'total_maquetacion' => 0, + ]; + $data = $this->model + ->where('presupuestos.cliente_id', $cliente_id)->whereNotIn('pedidos.estado', ['cancelado']) + ->select('SUM(pedidos.total_precio) as total') + ->join('pedidos_linea', 'pedidos_linea.pedido_id = pedidos.id') + ->join('presupuestos', 'presupuestos.id = pedidos_linea.presupuesto_id') + ->groupBy('presupuestos.cliente_id')->get()->getResultObject(); + if(count($data) > 0){ + $result['total_impresion'] = round(floatval($data[0]->total), 2); + } + else{ + $error = true; + } + $result['total'] = $result['total_impresion'] + $result['total_maquetacion']; + return $this->respond(['status' => $error?'error':'success', 'totales' => $result]); + } + public function obtenerPedidosForFacturas(){ if ($this->request->isAJAX()) { diff --git a/ci4/app/Views/themes/vuexy/form/clientes/cliente/_pedidosClienteItems.php b/ci4/app/Views/themes/vuexy/form/clientes/cliente/_pedidosClienteItems.php index e94413f6..fa7a839f 100644 --- a/ci4/app/Views/themes/vuexy/form/clientes/cliente/_pedidosClienteItems.php +++ b/ci4/app/Views/themes/vuexy/form/clientes/cliente/_pedidosClienteItems.php @@ -2,17 +2,17 @@
- +
- +
- +
diff --git a/httpdocs/assets/js/safekat/pages/cliente/clientePedidos.js b/httpdocs/assets/js/safekat/pages/cliente/clientePedidos.js index 7b52b834..ffa4c7f2 100644 --- a/httpdocs/assets/js/safekat/pages/cliente/clientePedidos.js +++ b/httpdocs/assets/js/safekat/pages/cliente/clientePedidos.js @@ -67,91 +67,100 @@ class ClientePedidos { ], columns: datatableColumns, }); - } -/* - $(document).on("keyup", ".factura-filter", (event) => { - //console.log(this.datatablePlanningRot.column($(event.currentTarget).attr("name"))) - let columnName = $(event.currentTarget).attr("name"); - let columnIndex = $('#tableOfFacturasCliente').DataTable().columns().eq(0).filter(function (index) { - return $('#tableOfFacturasCliente').DataTable().column(index).dataSrc() === columnName; - })[0]; - $('#tableOfFacturasCliente').DataTable().column(columnIndex).search($(event.currentTarget).val()).draw() - }) - $(document).on("change", ".factura-filter-select", (event) => { - let columnName = $(event.currentTarget).attr("name"); - let columnIndex = $('#tableOfFacturasCliente').DataTable().columns().eq(0).filter(function (index) { - return $('#tableOfFacturasCliente').DataTable().column(index).dataSrc() === columnName; - })[0]; - $('#tableOfFacturasCliente').DataTable().column(columnIndex).search($(event.currentTarget).val()).draw(); - }); - - - this.bsRangePickerRange.daterangepicker({ - ranges: { - [window.language.datePicker.hoy]: [moment(), moment()], - [window.language.datePicker.ayer]: [moment().subtract(1, 'days'), moment().subtract(1, 'days')], - [window.language.datePicker.ultimos7]: [moment().subtract(6, 'days'), moment()], - [window.language.datePicker.ultimos30]: [moment().subtract(29, 'days'), moment()], - [window.language.datePicker.esteMes]: [moment().startOf('month'), moment().endOf('month')], - [window.language.datePicker.ultimoMes]: [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] - }, - opens: 'right', - language: window.language.datePickerLocale, - "locale": { - "customRangeLabel": window.language.datePicker.rangoPersonalizado, - "format": "YYYY-MM-DD", - "separator": " ", - "applyLabel": window.language.datePicker.aplicar, - "cancelLabel": window.language.datePicker.limpiar, - - }, - "alwaysShowCalendars": true, - autoUpdateInput: false, - - }); - - this.bsRangePickerRange.on('apply.daterangepicker', function(ev, picker) { - - $(this).val(picker.startDate.format('DD/MM/YYYY') + ' ' + picker.endDate.format('DD/MM/YYYY')); - let table = $('#tableOfFacturasCliente').DataTable(); - table.column(2).draw(); - }); - - this.bsRangePickerRange.on('cancel.daterangepicker', function(ev, picker) { - $(this).val(''); - $('#tableOfFacturasCliente').DataTable().column(2).search('').draw(); - }); - - new Ajax('/facturas/getdatoscliente/'+ this.clienteId, - {}, + new Ajax('/pedidos/getSumCliente/' + this.clienteId, + {}, {}, function (response) { - AutoNumeric.getAutoNumericElement('#acumuladoFacturacion').set(response.total_facturacion); - AutoNumeric.getAutoNumericElement('#totalPendientePago').set(response.total_pendiente); + if (response.status == 'success') { + AutoNumeric.getAutoNumericElement('#pedidosImpresion').set(response.totales['total_impresion']); + AutoNumeric.getAutoNumericElement('#pedidosMaquetacion').set(response.totales['total_maquetacion']); + AutoNumeric.getAutoNumericElement('#totalPedidos').set(response.totales['total']); + } + else { + console.log("Error data:", response); + } + }, function (error) { console.log("Error data:", error); }).get(); - } - - getDate() { - - let picker = this.bsRangePickerRange.data('daterangepicker'); - - if (!picker || !picker.startDate || !picker.endDate || $('#fechaFactura').val() == '') { - return ''; - } - - let startDate = picker.startDate.format('YYYY-MM-DD'); - let endDate = picker.endDate.format('YYYY-MM-DD'); - - return startDate + "|" + endDate; - - } - */ + /* + $(document).on("keyup", ".factura-filter", (event) => { + //console.log(this.datatablePlanningRot.column($(event.currentTarget).attr("name"))) + let columnName = $(event.currentTarget).attr("name"); + let columnIndex = $('#tableOfFacturasCliente').DataTable().columns().eq(0).filter(function (index) { + return $('#tableOfFacturasCliente').DataTable().column(index).dataSrc() === columnName; + })[0]; + $('#tableOfFacturasCliente').DataTable().column(columnIndex).search($(event.currentTarget).val()).draw() + }) + $(document).on("change", ".factura-filter-select", (event) => { + let columnName = $(event.currentTarget).attr("name"); + let columnIndex = $('#tableOfFacturasCliente').DataTable().columns().eq(0).filter(function (index) { + return $('#tableOfFacturasCliente').DataTable().column(index).dataSrc() === columnName; + })[0]; + $('#tableOfFacturasCliente').DataTable().column(columnIndex).search($(event.currentTarget).val()).draw(); + }); + + + this.bsRangePickerRange.daterangepicker({ + ranges: { + [window.language.datePicker.hoy]: [moment(), moment()], + [window.language.datePicker.ayer]: [moment().subtract(1, 'days'), moment().subtract(1, 'days')], + [window.language.datePicker.ultimos7]: [moment().subtract(6, 'days'), moment()], + [window.language.datePicker.ultimos30]: [moment().subtract(29, 'days'), moment()], + [window.language.datePicker.esteMes]: [moment().startOf('month'), moment().endOf('month')], + [window.language.datePicker.ultimoMes]: [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] + }, + opens: 'right', + language: window.language.datePickerLocale, + "locale": { + "customRangeLabel": window.language.datePicker.rangoPersonalizado, + "format": "YYYY-MM-DD", + "separator": " ", + "applyLabel": window.language.datePicker.aplicar, + "cancelLabel": window.language.datePicker.limpiar, + + }, + "alwaysShowCalendars": true, + autoUpdateInput: false, + + }); + + this.bsRangePickerRange.on('apply.daterangepicker', function(ev, picker) { + + $(this).val(picker.startDate.format('DD/MM/YYYY') + ' ' + picker.endDate.format('DD/MM/YYYY')); + let table = $('#tableOfFacturasCliente').DataTable(); + table.column(2).draw(); + }); + + this.bsRangePickerRange.on('cancel.daterangepicker', function(ev, picker) { + $(this).val(''); + $('#tableOfFacturasCliente').DataTable().column(2).search('').draw(); + }); + + + + } + + getDate() { + + let picker = this.bsRangePickerRange.data('daterangepicker'); + + if (!picker || !picker.startDate || !picker.endDate || $('#fechaFactura').val() == '') { + return ''; + } + + let startDate = picker.startDate.format('YYYY-MM-DD'); + let endDate = picker.endDate.format('YYYY-MM-DD'); + + return startDate + "|" + endDate; + + } + */ + }